Compare commits
85 Commits
v1.4.0-rc1
...
v1.4.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
14a25f9d3f | ||
|
|
4e777aae33 | ||
|
|
5a84452102 | ||
|
|
8aa75ba4a4 | ||
|
|
2f24172bac | ||
|
|
10fba886dc | ||
|
|
046d955f5c | ||
|
|
d0d362664b | ||
|
|
f841450dae | ||
|
|
1fccb23442 | ||
|
|
bfd50ffcd0 | ||
|
|
4f2a171913 | ||
|
|
005d70a73c | ||
|
|
592291cbcb | ||
|
|
7236bd7dd4 | ||
|
|
c02d5f41a5 | ||
|
|
5a7cd815ab | ||
|
|
c2c01bccfc | ||
|
|
fb4728c7ee | ||
|
|
f34621578e | ||
|
|
5e50b1f1fd | ||
|
|
9b62104f30 | ||
|
|
86e42a9cf0 | ||
|
|
3e31d86596 | ||
|
|
ab007e2bb2 | ||
|
|
c45d55b94b | ||
|
|
7048bd8cc9 | ||
|
|
cae6ca987f | ||
|
|
65171cfb3a | ||
|
|
7ec636aeb6 | ||
|
|
c96980a57d | ||
|
|
0959ceeff2 | ||
|
|
1988c9d8c4 | ||
|
|
1eaa1e47fe | ||
|
|
31923b314e | ||
|
|
ee840b62e5 | ||
|
|
363efaa408 | ||
|
|
b0beeea95f | ||
|
|
d0a4650d69 | ||
|
|
ec5a84cf01 | ||
|
|
a057eb8590 | ||
|
|
6a8753b119 | ||
|
|
23fab90a31 | ||
|
|
8fdf9cac6b | ||
|
|
525d12f5a2 | ||
|
|
15d247a708 | ||
|
|
a1d0b85277 | ||
|
|
5e5a77b040 | ||
|
|
e420ae6942 | ||
|
|
0be7c0273e | ||
|
|
864b7cd41e | ||
|
|
78c8f13645 | ||
|
|
c87c456ae0 | ||
|
|
94d9b8fb39 | ||
|
|
2dad027001 | ||
|
|
f97bb240d7 | ||
|
|
80332fb6ab | ||
|
|
287ec2f3df | ||
|
|
eb5824f713 | ||
|
|
eded901f69 | ||
|
|
fd30df82cb | ||
|
|
d8888432c3 | ||
|
|
51712fea53 | ||
|
|
f597f99198 | ||
|
|
74ec37f3c7 | ||
|
|
05178f0fbf | ||
|
|
9ce09713b6 | ||
|
|
4fa6faf608 | ||
|
|
a24ae13d9c | ||
|
|
64dd0d1b45 | ||
|
|
da63b1223c | ||
|
|
36f32c2aef | ||
|
|
063acadc3b | ||
|
|
81c720c05b | ||
|
|
edcdcb945a | ||
|
|
5df6430bb2 | ||
|
|
9a0096d07c | ||
|
|
25d33d6057 | ||
|
|
ab4c6247c7 | ||
|
|
1b69dbb38b | ||
|
|
bfdd488b00 | ||
|
|
54c8809bf4 | ||
|
|
0873665bec | ||
|
|
02b3033ca3 | ||
|
|
a27c8ad90c |
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
|
.gitmodules
|
||||||
*build*/
|
*build*/
|
||||||
*flymake*
|
*flymake*
|
||||||
CMakeLists.txt.user*
|
CMakeLists.txt.user*
|
||||||
|
|||||||
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[submodule "doc/ocdoc"]
|
||||||
|
path = doc/ocdoc
|
||||||
|
url = https://github.com/owncloud/documentation
|
||||||
43
ChangeLog
@@ -1,6 +1,44 @@
|
|||||||
ChangeLog
|
ChangeLog
|
||||||
=========
|
=========
|
||||||
version 1.4.0beta1 (release 2013-08-08 ), csync 0.81.0 required
|
|
||||||
|
version 1.4.2 (release 2013-10-18 ), csync 0.90.4 required
|
||||||
|
|
||||||
|
* Do not show the warning icon in the tray (#944)
|
||||||
|
* Fix manual proxy support when switching (#1016)
|
||||||
|
* Add folder column to detailed sync protocol (#1037)
|
||||||
|
* Fix possible endless loop in inotify (#1041)
|
||||||
|
* Do not elide the progress text (#1049)
|
||||||
|
* Fix high CPU load (#1073)
|
||||||
|
* Reconnect if network is unavailable after startup (#1080)
|
||||||
|
* Ensure paused folder stays paused when syncing with more than one folder (#1083)
|
||||||
|
* Don't show desktop notification when the user doesn't want to (#1093)
|
||||||
|
* System tray: Avoid quick flickering up of the ok-icon for the sync prepare state
|
||||||
|
* Progress: Do not show progress if nothing is transmitted
|
||||||
|
* Progress: Show number of deletes.
|
||||||
|
|
||||||
|
version 1.4.1 (release 2013-09-24 ), csync 0.90.1 required
|
||||||
|
|
||||||
|
* Translation and documentation fixes.
|
||||||
|
* Fixed error display in settings/status dialog, displays multi
|
||||||
|
line error messages now correctly.
|
||||||
|
* Wait up to 30 secs before complaining about missing systray
|
||||||
|
Fixes bug #949
|
||||||
|
* Fixed utf8 issues with basic auth authentication, fixes bug #941
|
||||||
|
* Fixed remote folder selector, avoid recursive syncing, fixes bug #962
|
||||||
|
* Handle and display network problems at startup correctly.
|
||||||
|
* Enable and disable the folder watcher during syncs correctly.
|
||||||
|
* Fix setting of thread priority.
|
||||||
|
* Fixed file size display.
|
||||||
|
* Fixed various folder wizard issues, bug #992
|
||||||
|
* Made "Sync started" message optional, fixes bug #934
|
||||||
|
* Fixed shutdown, avoid crashed config on win32, fixes bug #945
|
||||||
|
* Pop up config wizard if no server url is configured, fixes bug #1018
|
||||||
|
* Settings: calculate sidebar width dynamically, fixes bug #1020
|
||||||
|
* Fixed a crash if sync folders were removed, fixes bug #713
|
||||||
|
* Do proper resync after network disconnect, fixes bug #1007
|
||||||
|
* Various minor code fixes
|
||||||
|
|
||||||
|
version 1.4.0 (release 2013-09-04 ), csync 0.90.0 required
|
||||||
|
|
||||||
* New Scheduler: Only sync when there are actual changes in the server
|
* New Scheduler: Only sync when there are actual changes in the server
|
||||||
* Add a Settings Dialog, move Proxy Settings there
|
* Add a Settings Dialog, move Proxy Settings there
|
||||||
@@ -19,6 +57,9 @@ version 1.4.0beta1 (release 2013-08-08 ), csync 0.81.0 required
|
|||||||
* Add an editor for ingore patterns
|
* Add an editor for ingore patterns
|
||||||
* ALlow to flag certain ignore patterns as discardable
|
* ALlow to flag certain ignore patterns as discardable
|
||||||
* Ensure to ship with all valid translations
|
* Ensure to ship with all valid translations
|
||||||
|
* Progress Dialog now preserves the last syncned items across sync runs
|
||||||
|
* Split Setup Wizard into multiple pages again
|
||||||
|
* Implement "--logfile -" to log to stdout
|
||||||
* Add preliminary support for Shibboleth authentication
|
* Add preliminary support for Shibboleth authentication
|
||||||
* Linux: Provide more icon sizes
|
* Linux: Provide more icon sizes
|
||||||
* Linux: Do not trigger notifier on ignored files
|
* Linux: Do not trigger notifier on ignored files
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
set( VERSION_MAJOR 1 )
|
set( VERSION_MAJOR 1 )
|
||||||
set( VERSION_MINOR 4 )
|
set( VERSION_MINOR 4 )
|
||||||
set( VERSION_PATCH 0 )
|
set( VERSION_PATCH 2 )
|
||||||
set( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}${VERSION_SUFFIX}rc1")
|
set( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}${VERSION_SUFFIX}")
|
||||||
set( SOVERSION 0 )
|
set( SOVERSION 0 )
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
#cmakedefine APPLICATION_NAME "@APPLICATION_NAME@"
|
#cmakedefine APPLICATION_NAME "@APPLICATION_NAME@"
|
||||||
#cmakedefine APPLICATION_SHORTNAME "@APPLICATION_SHORTNAME@"
|
#cmakedefine APPLICATION_SHORTNAME "@APPLICATION_SHORTNAME@"
|
||||||
|
#cmakedefine APPLICATION_EXECUTABLE "@APPLICATION_EXECUTABLE@"
|
||||||
|
|
||||||
#cmakedefine SYSCONFDIR "@SYSCONFDIR@"
|
#cmakedefine SYSCONFDIR "@SYSCONFDIR@"
|
||||||
#cmakedefine DATADIR "@DATADIR@"
|
#cmakedefine DATADIR "@DATADIR@"
|
||||||
|
|||||||
@@ -22,6 +22,11 @@ if(SPHINX_FOUND)
|
|||||||
add_custom_target(doc DEPENDS doc-html doc-man COMMENT "Building documentation...")
|
add_custom_target(doc DEPENDS doc-html doc-man COMMENT "Building documentation...")
|
||||||
endif(WITH_DOC)
|
endif(WITH_DOC)
|
||||||
|
|
||||||
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/ocdoc/_shared_assets")
|
||||||
|
add_dependencies(doc doc-html-org)
|
||||||
|
add_dependencies(doc doc-html-com)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(PDFLATEX_FOUND)
|
if(PDFLATEX_FOUND)
|
||||||
# if this still fails on Debian/Ubuntu, run
|
# if this still fails on Debian/Ubuntu, run
|
||||||
# apt-get install texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
|
# apt-get install texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
|
||||||
@@ -56,7 +61,19 @@ if(SPHINX_FOUND)
|
|||||||
-q -c . -b html
|
-q -c . -b html
|
||||||
-d ${SPHINX_CACHE_DIR}/html
|
-d ${SPHINX_CACHE_DIR}/html
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
${SPHINX_HTML_DIR} )
|
${SPHINX_HTML_DIR}/unthemed )
|
||||||
|
add_custom_target( doc-html-org ${SPHINX_EXECUTABLE}
|
||||||
|
-q -c . -b html
|
||||||
|
-d ${SPHINX_CACHE_DIR}/html
|
||||||
|
-D html_theme=owncloud_org
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
${SPHINX_HTML_DIR}/org )
|
||||||
|
add_custom_target( doc-html-com ${SPHINX_EXECUTABLE}
|
||||||
|
-q -c . -b html
|
||||||
|
-d ${SPHINX_CACHE_DIR}/html
|
||||||
|
-D html_theme=owncloud_com
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
${SPHINX_HTML_DIR}/com )
|
||||||
add_custom_target( doc-man ${SPHINX_EXECUTABLE}
|
add_custom_target( doc-man ${SPHINX_EXECUTABLE}
|
||||||
-q -c . -b man
|
-q -c . -b man
|
||||||
-d ${SPHINX_CACHE_DIR}/man
|
-d ${SPHINX_CACHE_DIR}/man
|
||||||
|
|||||||
37
doc/accountsetup.rst
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
Setting up an Account
|
||||||
|
=====================
|
||||||
|
|
||||||
|
If no account has been configured, ownCloud Client will automatically assist
|
||||||
|
you in connecting to your ownCloud Server after the application has been
|
||||||
|
started.
|
||||||
|
|
||||||
|
As a first step, specify the URL to your Server, just
|
||||||
|
like you would when you open your ownCloud instance inside a browser.
|
||||||
|
|
||||||
|
.. image:: images/wizard_url.png
|
||||||
|
:scale: 50 %
|
||||||
|
|
||||||
|
.. note:: Make sure to use ``https://`` if the server supports it. Otherwise,
|
||||||
|
your password and all data will be transferred to the server unencrypted.
|
||||||
|
This makes it easy for third parties to intercept your communication, and
|
||||||
|
getting hold of your password!
|
||||||
|
|
||||||
|
Next, you are prompted for your username and password. Again, use the same
|
||||||
|
credentials that you would use to log on via the web interface.
|
||||||
|
|
||||||
|
.. image:: images/wizard_user.png
|
||||||
|
:scale: 50 %
|
||||||
|
|
||||||
|
Finally, choose the folder that ownCloud Client is supposed to sync the
|
||||||
|
contents of your ownCloud account with. By default, this is a folder
|
||||||
|
called `ownCloud`, which will reside in your home directory.
|
||||||
|
|
||||||
|
.. image:: images/wizard_targetfolder.png
|
||||||
|
:scale: 50 %
|
||||||
|
|
||||||
|
After pressing `Connect`, ownCloud Client will commence with the syncing
|
||||||
|
process. The next screen will give you the opportunity to review your
|
||||||
|
settings:
|
||||||
|
|
||||||
|
.. image:: images/wizard_overview.png
|
||||||
|
:scale: 50 %
|
||||||
14
doc/advancedusage.rst
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
Advanced Usage
|
||||||
|
==============
|
||||||
|
|
||||||
|
.. index:: Advanced Usage
|
||||||
|
|
||||||
|
Options
|
||||||
|
-------
|
||||||
|
.. index:: command line switches, command line, options, parameters
|
||||||
|
.. include:: options.rst
|
||||||
|
|
||||||
|
Config File
|
||||||
|
-----------
|
||||||
|
.. index:: config file
|
||||||
|
.. include:: conffile.rst
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
Architecture
|
Appendix B: Architecture
|
||||||
============
|
========================
|
||||||
|
|
||||||
.. index:: architecture
|
.. index:: architecture
|
||||||
|
|
||||||
The ownCloud project provides desktop sync clients to synchronize the
|
The ownCloud project provides desktop sync clients to synchronize the
|
||||||
@@ -11,11 +12,10 @@ csync was written to synchronize with ownCloud’s built-in WebDAV server.
|
|||||||
|
|
||||||
The ownCloud sync client is based on a tool called mirall initially written by
|
The ownCloud sync client is based on a tool called mirall initially written by
|
||||||
Duncan Mac Vicar. Later Klaas Freitag joined the project and enhanced it to work
|
Duncan Mac Vicar. Later Klaas Freitag joined the project and enhanced it to work
|
||||||
with ownCloud server. Both mirall and ownCloud Client (oCC) build from the same
|
with ownCloud server.
|
||||||
source, currently hosted in the ownCloud source repo on gitorious.
|
|
||||||
|
|
||||||
oCC is written in C++ using the `Qt Framework`_. As a result oCC runs on the
|
ownCloud Client is written in C++ using the `Qt Framework`_. As a result, the
|
||||||
three important platforms Linux, Windows and MacOS.
|
ownCloud Client runs on the three important platforms Linux, Windows and MacOS.
|
||||||
|
|
||||||
.. _csync: http://www.csync.org
|
.. _csync: http://www.csync.org
|
||||||
.. _`Qt Framework`: http://www.qt-project.org
|
.. _`Qt Framework`: http://www.qt-project.org
|
||||||
@@ -23,8 +23,8 @@ three important platforms Linux, Windows and MacOS.
|
|||||||
The Sync Process
|
The Sync Process
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
First it is important to recall what syncing is. Syncing tries to keep the files
|
First it is important to recall what syncing is: It tries to keep the files
|
||||||
on both repositories the same. That means if a file is added to one repository
|
on two repositories the same. That means if a file is added to one repository
|
||||||
it is going to be copied to the other repository. If a file is changed on one
|
it is going to be copied to the other repository. If a file is changed on one
|
||||||
repository, the change is propagated to the other repository. Also, if a file
|
repository, the change is propagated to the other repository. Also, if a file
|
||||||
is deleted on one side, it is deleted on the other. As a matter of fact, in
|
is deleted on one side, it is deleted on the other. As a matter of fact, in
|
||||||
@@ -34,10 +34,10 @@ server is always master.
|
|||||||
This is the major difference to other systems like a file backup where just
|
This is the major difference to other systems like a file backup where just
|
||||||
changes and new files are propagated but files never get deleted.
|
changes and new files are propagated but files never get deleted.
|
||||||
|
|
||||||
The oCC checks both repositories for changes frequently after a certain time
|
The ownCloud Client checks both repositories for changes frequently after a
|
||||||
span. That is refered to as a sync run. In between the local repository is
|
certain time span. That is refered to as a sync run. In between the local
|
||||||
monitored by a file system monitor system that starts a sync run immediately
|
repository is monitored by a file system monitor system that starts a sync run
|
||||||
if something was edited, added or removed.
|
immediately if something was edited, added or removed.
|
||||||
|
|
||||||
Sync by Time versus ETag
|
Sync by Time versus ETag
|
||||||
------------------------
|
------------------------
|
||||||
@@ -62,16 +62,18 @@ machines.
|
|||||||
Since this strategy is rather fragile without NTP, ownCloud 4.5 introduced a
|
Since this strategy is rather fragile without NTP, ownCloud 4.5 introduced a
|
||||||
unique number, which changes whenever the file changes. Although it is a unique
|
unique number, which changes whenever the file changes. Although it is a unique
|
||||||
value, it is not a hash of the file, but a randomly chosen number, which it will
|
value, it is not a hash of the file, but a randomly chosen number, which it will
|
||||||
transmit in the Etag_ field. Since the file number is guaranteed to change if the
|
transmit in the Etag_ field. Since the file number is guaranteed to change if
|
||||||
file changes, it can now be used to determine if one of the files has changed.
|
the file changes, it can now be used to determine if one of the files has
|
||||||
|
changed.
|
||||||
|
|
||||||
.. note:: oCC 1.1 and newer require file ID capabilities on the ownCloud server,
|
.. note:: ownCloud Client 1.1 and newer require file ID capabilities on the
|
||||||
hence using them with a server earlier than 4.5.0 is not supported.
|
ownCloud server, hence using them with a server earlier than 4.5.0 is
|
||||||
|
not supported.
|
||||||
|
|
||||||
Before the 1.3.0 release of the client the sync process might create faux conflict
|
Before the 1.3.0 release of the client the sync process might create faux
|
||||||
files if time deviates. The original and the conflict files only differed in the
|
conflict files if time deviates. The original and the conflict files only
|
||||||
timestamp, but not in content. This behaviour was changed towards a binary check
|
differed in the timestamp, but not in content. This behaviour was changed
|
||||||
if the files are different.
|
towards a binary check if the files are different.
|
||||||
|
|
||||||
Just like files, directories also hold a unique id, which changes whenever
|
Just like files, directories also hold a unique id, which changes whenever
|
||||||
one of the contained files or directories gets modified. Since this is a
|
one of the contained files or directories gets modified. Since this is a
|
||||||
@@ -105,7 +107,8 @@ are involved and one of them is not in sync with NTP time.
|
|||||||
.. _Etag: http://en.wikipedia.org/wiki/HTTP_ETag
|
.. _Etag: http://en.wikipedia.org/wiki/HTTP_ETag
|
||||||
|
|
||||||
Comparison and Conflict Cases
|
Comparison and Conflict Cases
|
||||||
----------------------------
|
-----------------------------
|
||||||
|
|
||||||
In a sync run the client first has to detect if one of the two repositories have
|
In a sync run the client first has to detect if one of the two repositories have
|
||||||
changed files. On the local repository, the client traverses the file
|
changed files. On the local repository, the client traverses the file
|
||||||
tree and compares the modification time of each file with the value it was
|
tree and compares the modification time of each file with the value it was
|
||||||
@@ -118,25 +121,41 @@ For the remote (ie. ownCloud) repository, the client compares the ETag of each
|
|||||||
file with it's previous value. Again the previous value is queried from the
|
file with it's previous value. Again the previous value is queried from the
|
||||||
database. If the ETag is still the same, the file has not changed.
|
database. If the ETag is still the same, the file has not changed.
|
||||||
|
|
||||||
So what happens if a file has changed on both, the local and the remote repository
|
In case a file has changed on both, the local and the remote repository since
|
||||||
since the last sync run? That means it can not easily be decided which version
|
the last sync run, it can not easily be decided which version of the file is
|
||||||
of the file is the one that should be used. Moreover, changes to any side must
|
the one that should be used. However, changes to any side must not be lost.
|
||||||
not be lost. That is called the conflict case and the client solves it by creating
|
|
||||||
a conflict file of the older of the two files and save the newer one under the
|
That is called a **conflict case**. The client solves it by creating a conflict
|
||||||
original file name. Conflict files are always created on the client and never on
|
file of the older of the two files and save the newer one under the original
|
||||||
the server. The conflict file has the same name as the original file appended
|
file name. Conflict files are always created on the client and never on the
|
||||||
with the timestamp of the conflict detection.
|
server. The conflict file has the same name as the original file appended with
|
||||||
|
the timestamp of the conflict detection.
|
||||||
|
|
||||||
|
|
||||||
|
.. _ignored-files-label:
|
||||||
|
|
||||||
|
Ignored Files
|
||||||
|
-------------
|
||||||
|
|
||||||
|
ownCloud Client will refuse to sync the following files:
|
||||||
|
|
||||||
|
* Files matched by one of the pattern in :ref:`ignoredFilesEditor-label`
|
||||||
|
* Files containing characters that do not work on certain file systems.
|
||||||
|
Currently, these characters are: `\, :, ?, *, ", >, <, |`
|
||||||
|
* Files starting in ``.csync_journal.db`` (reserved for journalling)
|
||||||
|
|
||||||
The Sync Journal
|
The Sync Journal
|
||||||
----------------
|
----------------
|
||||||
The client stores the ETag number in a per-directory database, called the journal.
|
|
||||||
It is located in the application directory (until version 1.1) or as a hidden file
|
|
||||||
right in the directory to be synced (later versions).
|
|
||||||
|
|
||||||
If the journal database gets removed, oCC's CSync backend will rebuild the database
|
The client stores the ETag number in a per-directory database,
|
||||||
by comparing the files and their modification times. Thus it should be made sure
|
called the journal. It is a hidden file right in the directory
|
||||||
that both server and client synchronized to NTP time before restarting the client
|
to be synced.
|
||||||
after a database removal.
|
|
||||||
|
|
||||||
The oCC also provides a button in the Settings Dialog that allows to "reset" the
|
If the journal database gets removed, ownCloud Client's CSync backend will
|
||||||
journal. That can be used to recreate the journal database.
|
rebuild the database by comparing the files and their modification times. Thus
|
||||||
|
it should be made sure that both server and client synchronized with NTP time
|
||||||
|
before restarting the client after a database removal.
|
||||||
|
|
||||||
|
Pressing ``F5`` in the Account Settings Dialog that allows to "reset" the
|
||||||
|
journal. That can be used to recreate the journal database. Use this only
|
||||||
|
if advised to do so by the developer or support staff.
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
Building the Client
|
.. _building-label:
|
||||||
===================
|
|
||||||
|
Appendix A: Building the Client
|
||||||
|
===============================
|
||||||
|
|
||||||
This section explains how to build the ownCloud Client from source
|
This section explains how to build the ownCloud Client from source
|
||||||
for all major platforms. You should read this section if you want
|
for all major platforms. You should read this section if you want
|
||||||
@@ -34,9 +36,14 @@ its own repository which contains non-standard recipes. Add it with::
|
|||||||
|
|
||||||
Next, install the missing dependencies::
|
Next, install the missing dependencies::
|
||||||
|
|
||||||
brew install $(brew deps ocsync)
|
brew install $(brew deps ocsync)
|
||||||
brew install $(brew deps mirall)
|
brew install $(brew deps mirall)
|
||||||
|
|
||||||
|
bug:
|
||||||
|
iniparser is not provideed by $(brew deps ocsync)
|
||||||
|
fix with brew install iniparser
|
||||||
|
|
||||||
|
|
||||||
To build mirall and csync, follow the `generic build instructions`_.
|
To build mirall and csync, follow the `generic build instructions`_.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ import sys, os
|
|||||||
extensions = ['sphinx.ext.todo']
|
extensions = ['sphinx.ext.todo']
|
||||||
|
|
||||||
# Add any paths that contain templates here, relative to this directory.
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
#templates_path = ['templates']
|
templates_path = ['@CMAKE_CURRENT_SOURCE_DIR@/ocdoc/_shared_assets/templates']
|
||||||
|
|
||||||
# The suffix of source filenames.
|
# The suffix of source filenames.
|
||||||
source_suffix = '.rst'
|
source_suffix = '.rst'
|
||||||
@@ -64,7 +64,7 @@ release = '@VERSION@'
|
|||||||
|
|
||||||
# List of patterns, relative to source directory, that match files and
|
# List of patterns, relative to source directory, that match files and
|
||||||
# directories to ignore when looking for source files.
|
# directories to ignore when looking for source files.
|
||||||
exclude_patterns = ['_build']
|
exclude_patterns = ['_build','scripts/*']
|
||||||
|
|
||||||
# The reST default role (used for this markup: `text`) to use for all documents.
|
# The reST default role (used for this markup: `text`) to use for all documents.
|
||||||
#default_role = None
|
#default_role = None
|
||||||
@@ -95,7 +95,7 @@ pygments_style = 'sphinx'
|
|||||||
#html_theme_options = {}
|
#html_theme_options = {}
|
||||||
|
|
||||||
# Add any paths that contain custom themes here, relative to this directory.
|
# Add any paths that contain custom themes here, relative to this directory.
|
||||||
#html_theme_path = ['themes']
|
html_theme_path = ['@CMAKE_CURRENT_SOURCE_DIR@/ocdoc/_shared_assets/themes']
|
||||||
|
|
||||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||||
# a list of builtin themes.
|
# a list of builtin themes.
|
||||||
@@ -120,7 +120,7 @@ html_short_title = "Client Manual"
|
|||||||
# Add any paths that contain custom static files (such as style sheets) here,
|
# Add any paths that contain custom static files (such as style sheets) here,
|
||||||
# relative to this directory. They are copied after the builtin static files,
|
# relative to this directory. They are copied after the builtin static files,
|
||||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||||
#html_static_path = ['static']
|
html_static_path = ['@CMAKE_CURRENT_SOURCE_DIR@/ocdoc/_shared_assets/static']
|
||||||
|
|
||||||
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||||
# using the given strftime format.
|
# using the given strftime format.
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ Glossary
|
|||||||
.. glossary::
|
.. glossary::
|
||||||
:sorted:
|
:sorted:
|
||||||
|
|
||||||
|
ownCloud Sync Client
|
||||||
ownCloud Client
|
ownCloud Client
|
||||||
oCC
|
|
||||||
Name of the official ownCloud syncing client for desktop, which runs on
|
Name of the official ownCloud syncing client for desktop, which runs on
|
||||||
Windows, Mac OS X and Linux. It is based Mirall, and uses the CSync
|
Windows, Mac OS X and Linux. It is based Mirall, and uses the CSync
|
||||||
sync engine for synchronization with the ownCloud server.
|
sync engine for synchronization with the ownCloud server.
|
||||||
@@ -23,6 +23,7 @@ Glossary
|
|||||||
exist in the client directory.
|
exist in the client directory.
|
||||||
|
|
||||||
unique id
|
unique id
|
||||||
|
ETag
|
||||||
ID assigned to every file starting with ownCloud server 4.5 and submitted
|
ID assigned to every file starting with ownCloud server 4.5 and submitted
|
||||||
via the HTTP ``Etag``. Used to check if files on client and server have
|
via the HTTP ``Etag``. Used to check if files on client and server have
|
||||||
changed.
|
changed.
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 45 KiB |
BIN
doc/images/icon.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
doc/images/ignored_files_editor.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
doc/images/menu.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
doc/images/settings_account.png
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
doc/images/settings_general.png
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
doc/images/settings_network.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
doc/images/sync_protocol.png
Normal file
|
After Width: | Height: | Size: 168 KiB |
BIN
doc/images/wizard_overview.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
doc/images/wizard_targetfolder.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
doc/images/wizard_url.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
doc/images/wizard_user.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
@@ -6,8 +6,11 @@ Contents
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
install
|
introduction
|
||||||
usage
|
accountsetup
|
||||||
|
visualtour
|
||||||
|
advancedusage
|
||||||
|
|
||||||
building
|
building
|
||||||
architecture
|
architecture
|
||||||
troubleshooting
|
troubleshooting
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
Installation
|
|
||||||
============
|
|
||||||
|
|
||||||
General
|
|
||||||
-------
|
|
||||||
|
|
||||||
The latest version of ownCloud client can be obtained at
|
|
||||||
http://owncloud.org/sync-clients/.
|
|
||||||
|
|
||||||
Windows
|
|
||||||
-------
|
|
||||||
|
|
||||||
ownCloud client for Windows is provided as a NSIS-based setup file for
|
|
||||||
machine-wide install.
|
|
||||||
|
|
||||||
Mac OS X
|
|
||||||
--------
|
|
||||||
|
|
||||||
Installing the ownCloud client on your Mac follows the normal app installation
|
|
||||||
pattern:
|
|
||||||
|
|
||||||
1. Download the installation file Click ownCloud-x.y.z.dmg, a window with the
|
|
||||||
2. ownCloud icon opens In that window, drag the ownCloud application into the
|
|
||||||
3. ‘Applications’ folder on the right hand side From ‘Applications’, choose
|
|
||||||
ownCloud
|
|
||||||
|
|
||||||
Linux
|
|
||||||
------
|
|
||||||
|
|
||||||
The ownCloud client is provided as in a convenient repository for a wide range
|
|
||||||
of popular Linux distributions. If you want to build the sources instead.
|
|
||||||
|
|
||||||
Supported distributions are CentOS/RHEL, Fedora, SLES, openSUSE, Ubuntu and
|
|
||||||
Debian.
|
|
||||||
|
|
||||||
To support other distributions, a source build is required.
|
|
||||||
37
doc/introduction.rst
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
Introduction
|
||||||
|
============
|
||||||
|
|
||||||
|
This is the documentation for the ownCloud Sync Client, also referred to as
|
||||||
|
the ownCloud Client.
|
||||||
|
|
||||||
|
The ownCloud Sync Client is a desktop program you install on your computer.
|
||||||
|
Specify one ore more directories on the local machine to sync your ownCloud
|
||||||
|
server, and always have your latest files wherever you are. Make a change to the
|
||||||
|
files on one computer, it will flow across the others using these desktop sync
|
||||||
|
clients.
|
||||||
|
|
||||||
|
ownCloud Client is available for Windows, Mac OS X and various Linux
|
||||||
|
distributions. See below for details on how to obtain the Client.
|
||||||
|
|
||||||
|
Obtaining the Client
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
The latest version of the ownCloud Client can be obtained at
|
||||||
|
http://owncloud.org/sync-clients/.
|
||||||
|
|
||||||
|
ownCloud client for **Windows** is provided as a NSIS-based setup file for
|
||||||
|
machine-wide install. Installing the ownCloud client on **Mac OS** follows
|
||||||
|
the normal app bundle installation pattern:
|
||||||
|
|
||||||
|
1. Download the installation file: Click ``ownCloud-x.y.z.dmg``, a window with
|
||||||
|
the ownCloud icon opens.
|
||||||
|
2. In that window, drag the ownCloud application into the ``Applications``
|
||||||
|
folder.
|
||||||
|
3. On the right hand side From ``Applications``, choose ``ownCloud``.
|
||||||
|
|
||||||
|
The ownCloud Client is also provided as in a convenient repository for a wide
|
||||||
|
range of popular **Linux distributions**. If you want to build the sources
|
||||||
|
instead.
|
||||||
|
|
||||||
|
Supported distributions are Fedora, openSUSE, Ubuntu and Debian.
|
||||||
|
To support other distributions, a is required, see :ref:`building-label`
|
||||||
1
doc/ocdoc
Submodule
@@ -15,9 +15,6 @@ ownCloud Client supports the following command line switches:
|
|||||||
``--logflush``
|
``--logflush``
|
||||||
flush the log file after every write.
|
flush the log file after every write.
|
||||||
|
|
||||||
``--monoicons``
|
|
||||||
Use black/white pictograms for systray.
|
|
||||||
|
|
||||||
``--confdir`` `<dirname>`
|
``--confdir`` `<dirname>`
|
||||||
Use the given configuration directory.
|
Use the given configuration directory.
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
Troubleshooting
|
Appendix C: Troubleshooting
|
||||||
===============
|
===========================
|
||||||
|
|
||||||
If the client fails to start syncing it basically can have two
|
If the client fails to start syncing it basically can have two
|
||||||
basic reasons: Either the server setup has a problem or the client
|
basic reasons: Either the server setup has a problem or the client
|
||||||
@@ -55,6 +55,12 @@ ownCloud is not shared with other syncing apps.
|
|||||||
not be attempted. In the worst case, doing so can result in data
|
not be attempted. In the worst case, doing so can result in data
|
||||||
loss.
|
loss.
|
||||||
|
|
||||||
|
If some files do not get take a look at the sync protocol. Some files are
|
||||||
|
automatically automatically being ignored because they are system files,
|
||||||
|
others get ignored because their file name contains characters that cannot
|
||||||
|
be represented on certain file systems. See :ref:`_ignored-files-label` for
|
||||||
|
details.
|
||||||
|
|
||||||
If you are operating your own server and use the local storage backend (the
|
If you are operating your own server and use the local storage backend (the
|
||||||
default), make sure that ownCloud has exclusive access to the directory.
|
default), make sure that ownCloud has exclusive access to the directory.
|
||||||
|
|
||||||
@@ -65,13 +71,15 @@ If you are using a different backend, you can try to exclude a bug in the
|
|||||||
backend by reverting to the local backend.
|
backend by reverting to the local backend.
|
||||||
|
|
||||||
Logfiles
|
Logfiles
|
||||||
========
|
--------
|
||||||
|
|
||||||
Doing effective debugging requires to provide as much as relevant logs as
|
Doing effective debugging requires to provide as much as relevant logs as
|
||||||
possible. The log output can help you with tracking down problem, and if you
|
possible. The log output can help you with tracking down problem, and if you
|
||||||
report a bug, you're advised to include the output.
|
report a bug, you're advised to include the output.
|
||||||
|
|
||||||
:Client Logfile:
|
Client Logfile
|
||||||
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Start the client with ``--logwindow``. That opens a window providing a view
|
Start the client with ``--logwindow``. That opens a window providing a view
|
||||||
on the current log. It provides a Save button to let you save the log to a
|
on the current log. It provides a Save button to let you save the log to a
|
||||||
file.
|
file.
|
||||||
@@ -97,11 +105,14 @@ given expiry period.
|
|||||||
|
|
||||||
For example, for a long running test where you intend to keep the log data of the
|
For example, for a long running test where you intend to keep the log data of the
|
||||||
last two days, this would be the command line:
|
last two days, this would be the command line:
|
||||||
|
|
||||||
```
|
```
|
||||||
owncloud --logdir /tmp/owncloud_logs --logexpire 48
|
owncloud --logdir /tmp/owncloud_logs --logexpire 48
|
||||||
```
|
```
|
||||||
|
|
||||||
:ownCloud server Logfile:
|
ownCloud server Logfile
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
The ownCloud server maintains an ownCloud specific logfile as well. It can and
|
The ownCloud server maintains an ownCloud specific logfile as well. It can and
|
||||||
must be enabled through the ownCloud Administration page. There you can adjust
|
must be enabled through the ownCloud Administration page. There you can adjust
|
||||||
the loglevel. It is advisable to set it to a verbose level like ``Debug`` or
|
the loglevel. It is advisable to set it to a verbose level like ``Debug`` or
|
||||||
@@ -110,7 +121,9 @@ the loglevel. It is advisable to set it to a verbose level like ``Debug`` or
|
|||||||
The logfile can be viewed either in the web interface or can be found in the
|
The logfile can be viewed either in the web interface or can be found in the
|
||||||
filesystem in the ownCloud server data dir.
|
filesystem in the ownCloud server data dir.
|
||||||
|
|
||||||
:Webserver Logfiles:
|
Webserver Logfiles
|
||||||
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Also, please take a look at your webservers error log file to check if there
|
Also, please take a look at your webservers error log file to check if there
|
||||||
are problems. For Apache on Linux, the error logs usually can be found at
|
are problems. For Apache on Linux, the error logs usually can be found at
|
||||||
``/var/log/apache2``. A file called ``error_log`` shows errors like PHP code
|
``/var/log/apache2``. A file called ``error_log`` shows errors like PHP code
|
||||||
|
|||||||
@@ -1,95 +0,0 @@
|
|||||||
Usage
|
|
||||||
=====
|
|
||||||
.. index:: usage, client sync usage
|
|
||||||
|
|
||||||
To start ownCloud Client, click on the desktop icon or start it from the
|
|
||||||
application menu. In the system tray, an ownCloud icon appears.
|
|
||||||
|
|
||||||
.. index:: start application
|
|
||||||
|
|
||||||
Overview
|
|
||||||
--------
|
|
||||||
|
|
||||||
ownCloud is represented by an icon in the Desktop's system tray, also known
|
|
||||||
as notification area.
|
|
||||||
|
|
||||||
The clients menu is accessed with a right click (Windows, Linux) or left click
|
|
||||||
(Mac OS).
|
|
||||||
|
|
||||||
The status of the current sync can be observed in the Status dialog, available
|
|
||||||
trough the ``Open status...`` option. On Windows, a left click on the tray icon
|
|
||||||
also opens the status dialog.
|
|
||||||
|
|
||||||
.. note:: Until the intial setup has finished, the Connection Wizard will be
|
|
||||||
shown instead when left-clicking on Windows.
|
|
||||||
|
|
||||||
The dialog provides an overview on the configured sync folders and allows to add
|
|
||||||
and remove more sync folder connections as well as pausing a sync connection.
|
|
||||||
|
|
||||||
Changing Your Password and Account Settings
|
|
||||||
-------------------------------------------
|
|
||||||
|
|
||||||
In the ``Settings`` Dialog, choose ``Account`` -> ``Modify Account``. It will open
|
|
||||||
Setup Wizard, which next to reconfiguring your connection to use a different
|
|
||||||
user or server also will allow to change the password for the local account,
|
|
||||||
or to switch from HTTP to HTTPS.
|
|
||||||
|
|
||||||
Setting up a Proxy
|
|
||||||
------------------
|
|
||||||
|
|
||||||
By default, the configured system proxy will be picked up. This may not be
|
|
||||||
working reliably on some Linux distributions, as only the ``http_proxy``
|
|
||||||
variable gets picked up. You can configure a proxy different from your
|
|
||||||
system default in the ``Network`` section of the ``Settings`` dialog.
|
|
||||||
|
|
||||||
The default settings assume an HTTP proxy, which is the typical use case.
|
|
||||||
If you require SOCKS 5 proxy, pick ``SOCKS5 proxy`` instead of ``HTTP(S) proxy``
|
|
||||||
from the drop down menu. SOCKS 5 proxies are typically provided by some
|
|
||||||
SSH implementations, for instance OpenSSH's ``-D`` parameter. This is
|
|
||||||
useful for scenarios where SSH is employed to securely tunnel a client
|
|
||||||
to the network running the ownCloud server.
|
|
||||||
|
|
||||||
Limiting Bandwidth
|
|
||||||
------------------
|
|
||||||
|
|
||||||
Starting with Version 1.4, the Client provides bandwidth limiter.
|
|
||||||
This option can be found in the ``Network`` section of the
|
|
||||||
``Settings Dialog``.
|
|
||||||
|
|
||||||
You will find two settings for ``Download Bandwidth`` and
|
|
||||||
``Upload Bandwidth``.
|
|
||||||
|
|
||||||
Upload Bandwidth
|
|
||||||
~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
The default is to automatically limit the upload. The rationale
|
|
||||||
for this default is that typically, Computers and laptops are
|
|
||||||
not directly connected to the server, but via a Cable Modems
|
|
||||||
or DSL lines, which provide significantly more downstream than
|
|
||||||
upstream bandwith. Sataurating the upstream bandwidth would
|
|
||||||
interfere with other applications, especially Voice-Over-IP or
|
|
||||||
Games.
|
|
||||||
|
|
||||||
The automatic limiter will throttle the speed to about 75%
|
|
||||||
of the available upstream bandwidth. If you are communicating
|
|
||||||
with the server via a fast, symetric connection, you can set the
|
|
||||||
Limiter to ``No Limit`` instead. If want a stronger limitation,
|
|
||||||
choose ``Limit to`` and specify a limit manually.
|
|
||||||
|
|
||||||
|
|
||||||
Download Bandwidth
|
|
||||||
~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Because the download bandwidth is usually no concern, it is not
|
|
||||||
automatically limited. Should you find that the Client is taking
|
|
||||||
up too much bandwidth, you can manually specify a limit (in KB).
|
|
||||||
|
|
||||||
Options
|
|
||||||
-------
|
|
||||||
.. index:: command line switches, command line, options, parameters
|
|
||||||
.. include:: options.rst
|
|
||||||
|
|
||||||
Config File
|
|
||||||
-----------
|
|
||||||
.. index:: config file
|
|
||||||
.. include:: conffile.rst
|
|
||||||
178
doc/visualtour.rst
Normal file
@@ -0,0 +1,178 @@
|
|||||||
|
Visual Tour
|
||||||
|
===========
|
||||||
|
|
||||||
|
.. index:: visual tour, usage
|
||||||
|
|
||||||
|
ownCloud Client stays in the background, and is visible as an
|
||||||
|
icon in your system tray (Windows, KDE), status bar (Mac OS X)
|
||||||
|
or notification area (Ubuntu), like so:
|
||||||
|
|
||||||
|
.. image:: images/icon.png
|
||||||
|
|
||||||
|
If a setup is still required, it will open the setup. Otherwise, the
|
||||||
|
main menu is opened, which provides several options and displays
|
||||||
|
progress information:
|
||||||
|
|
||||||
|
.. image:: images/menu.png
|
||||||
|
|
||||||
|
Here is an explanation of the individual items in the menu:
|
||||||
|
|
||||||
|
* ``Open ownCloud in browser``: Opens the ownCloud web interface
|
||||||
|
* ``Open folder 'ownCloud'``: Opens the local folder. If you have
|
||||||
|
defined multiple sync targets, you should see multiple entries
|
||||||
|
here.
|
||||||
|
* **Disk space indicator**: Shows how much space is used up on the server.
|
||||||
|
* Operation indicator: Shows the status of the current sync process, or
|
||||||
|
``Up to date`` if server and client are in sync.
|
||||||
|
* **Recent Changes**: shows the last six files modified by sync operations,
|
||||||
|
and provides access to the Sync Protocol, which lists all changes
|
||||||
|
since the last restart of ownCloud Client.
|
||||||
|
* ``Settings...``: provides access to the settings menu.
|
||||||
|
* ``Help``: Opens a browser to display this help.
|
||||||
|
* ``Quit ownCloud``: Quits ownCloud, ending a currently running sync run.
|
||||||
|
|
||||||
|
The settings dialog is split up in three categories: ``Account Settings``,
|
||||||
|
``General Settings`` and ``Network Settings``:
|
||||||
|
|
||||||
|
Account Settings
|
||||||
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. index:: account settings, user, password, Server URL
|
||||||
|
|
||||||
|
The ``Account Settings`` tab provides an executive summary about the synced
|
||||||
|
folders in your account and allows to modify them. It also provides a more
|
||||||
|
detailed report about the storage usage. Finally, it allows to change
|
||||||
|
the files that ownCloud Client should ignore (for details, see the
|
||||||
|
``Ignored Files Editor`` section below), and to modify various aspects
|
||||||
|
of the current account settings, such as user name, password and server URL.
|
||||||
|
|
||||||
|
.. image:: images/settings_account.png
|
||||||
|
:scale: 50 %
|
||||||
|
|
||||||
|
General Settings
|
||||||
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. index:: general settings, auto start, startup, desktop notifications
|
||||||
|
|
||||||
|
The tab provides several useful options:
|
||||||
|
|
||||||
|
.. image:: images/settings_general.png
|
||||||
|
:scale: 50 %
|
||||||
|
|
||||||
|
* **Launch on System Startup**: This option is automatically activated
|
||||||
|
once a user has conimaged his account. Unchecking the box will cause
|
||||||
|
ownCloud client to not launch on startup for a particular user.
|
||||||
|
* **Show Desktop Nofications**: Do not show bubble notifications whenever
|
||||||
|
a set of sync operations has been performed.
|
||||||
|
* **Use Monochrome Icons**: Use less obstrusive icons. Especially useful
|
||||||
|
on Mac OS.
|
||||||
|
|
||||||
|
The acout menu provides information about authors as well as detailed
|
||||||
|
information about the build conditions. Those are particularly valuable
|
||||||
|
when filing a bug report.
|
||||||
|
|
||||||
|
Network Settings
|
||||||
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. index:: proxy settings, SOCKS, bandwith, throttling, limiting
|
||||||
|
|
||||||
|
This tab consollidates ``Proxy Settings`` and ``Bandwith Limiting``:
|
||||||
|
|
||||||
|
.. image:: images/settings_network.png
|
||||||
|
:scale: 50 %
|
||||||
|
|
||||||
|
Proxy Settings
|
||||||
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
* ``No Proxy``: Check this if ownCloud Client should circumvent the default
|
||||||
|
proxy conimaged on the system.
|
||||||
|
* ``Use system proxy``: Default, will follow the systems proxy settings.
|
||||||
|
On Linux, this will only pick up the value of the variable ``http_proxy``.
|
||||||
|
* ``Specify proxy manually as``: Allows to specify custom proxy settings.
|
||||||
|
If you require to go through a HTTP(S) proxy server such as Squid or Microsoft
|
||||||
|
Forefront TMG, pick ``HTTP(S)``. ``SOCKSv5`` on the other hand is particulary
|
||||||
|
useful in special company LAN setups, or in combination with the OpenSSH
|
||||||
|
dynamic application level forwarding feature (see ``ssh -D``).
|
||||||
|
* ``Host``: Enter the host name or IP address of your proxy server, followed
|
||||||
|
by the port number. HTTP proxies usually listen on Ports 8080 (default) or
|
||||||
|
3128. SOCKS server usually listen on port 1080.
|
||||||
|
* ``Proxy Server requires authentication``: Should be checked if the proxy
|
||||||
|
server does not allow anonymous usage. If you check this option, you must
|
||||||
|
provide username and password in the fields below, or ownless Cloud will no
|
||||||
|
longer be able to connect successfully.
|
||||||
|
|
||||||
|
Bandwidth Limiting
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The ``Download Bandwidth`` (i.e. the bandwidth available for data flowing
|
||||||
|
from the ownCloud Server to the client) can be either ``Unlimited``
|
||||||
|
(the default), or limited to a custom value, specified in bytes
|
||||||
|
|
||||||
|
The ``Upload Bandwith`` (i.e. the bandwith available for data flowing
|
||||||
|
from the ownCloud Client to the server) additionally has the option
|
||||||
|
to ``Limit automatically``: When this option is checked, the ownCloud
|
||||||
|
Client will surrender available upstream bandwith to other applications.
|
||||||
|
Use this option if you expirience problems with real time communication,
|
||||||
|
such as Skype or other VoIP software, in conjunction with ownCloud Client.
|
||||||
|
This is commonly the case with asymmetric internet connection, such as
|
||||||
|
certain DSL lines with very limited upstream capacity.
|
||||||
|
|
||||||
|
ownCloud Client will pick up changes immediately, but ongoing operations
|
||||||
|
will finish using the old settings.
|
||||||
|
|
||||||
|
The Sync Protocol
|
||||||
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. index:: sync protocol
|
||||||
|
|
||||||
|
The ``Sync Protocol`` window, which can be invoked from either from the main
|
||||||
|
menu (``Recent Changes`` -> ``Details...``) or the ``Account Settings``
|
||||||
|
(``Info`` button), will provide you with an in-depth summary of the recent
|
||||||
|
sync activity. It will also show files that have not been synched (ignored
|
||||||
|
files). Those are ignored either because they are listed in the ignored
|
||||||
|
files list (see ``Ignored Files Editor`` section below), or because they
|
||||||
|
cannot be synced in a cross-platform manner because they contain special
|
||||||
|
characters that cannot be stored on certain file systems.
|
||||||
|
|
||||||
|
.. image:: images/sync_protocol.png
|
||||||
|
:scale: 50 %
|
||||||
|
|
||||||
|
.. _ignoredFilesEditor-label:
|
||||||
|
|
||||||
|
The Ignored Files Editor
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. index:: ignored files, exclude files, pattern
|
||||||
|
|
||||||
|
The ignored files editor allows adding patterns for files or directories
|
||||||
|
that should be excluded from the sync process. Next to normal characters,
|
||||||
|
wildcards can be used to match an arbitrary number of characters, designated
|
||||||
|
by an asterisk (``*``) or a single character, designated by a question mark
|
||||||
|
(``?``).
|
||||||
|
|
||||||
|
Global defaults cannot be directly modified within the editor. Hovering
|
||||||
|
with the mouse will reveal the location of the global exclude definition
|
||||||
|
file.
|
||||||
|
|
||||||
|
In addition to this list, ownCloud Client always excludes files with
|
||||||
|
characters that cannot be synched down to other file systems,
|
||||||
|
see :ref:`ignored-files-label`.
|
||||||
|
|
||||||
|
.. note:: Modifying the global exclude definition file might render the
|
||||||
|
client unusable or cause undesired behavior.
|
||||||
|
|
||||||
|
.. note:: Custom entries are currently not validated for syntactical
|
||||||
|
correctness by the editor, but might fail to load correctly.
|
||||||
|
|
||||||
|
.. image:: images/ignored_files_editor.png
|
||||||
|
:scale: 50%
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
^^^^^^^^^
|
||||||
|
+-----------+------------------------------+
|
||||||
|
| Pattern | Matches |
|
||||||
|
+===========+==============================+
|
||||||
|
| ``~$*`` | ``~$foo``, ``~$example.doc`` |
|
||||||
|
+-----------+------------------------------+
|
||||||
|
| ``fl?p`` | ``flip``, ``flap`` |
|
||||||
|
+-----------+------------------------------+
|
||||||
@@ -5,4 +5,4 @@ Exec=@APPLICATION_EXECUTABLE@
|
|||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ desktop sync client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_EXECUTABLE@
|
Icon=@APPLICATION_EXECUTABLE@
|
||||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing
|
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||||
|
|||||||
@@ -254,7 +254,15 @@ set( final_src
|
|||||||
include( AddAppIconMacro )
|
include( AddAppIconMacro )
|
||||||
set(ownCloud_old ${ownCloud})
|
set(ownCloud_old ${ownCloud})
|
||||||
|
|
||||||
kde4_add_app_icon( ownCloud "${theme_dir}/colored/${APPLICATION_EXECUTABLE}-icon*.png")
|
# set an icon_app_name. For historical reasons we can not use the
|
||||||
|
# application_shortname for ownCloud but must rather set it manually.
|
||||||
|
if ( EXISTS ${OEM_THEME_DIR}/OEM.cmake )
|
||||||
|
set(ICON_APP_NAME ${APPLICATION_SHORTNAME})
|
||||||
|
else()
|
||||||
|
set(ICON_APP_NAME "owncloud")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
kde4_add_app_icon( ownCloud "${theme_dir}/colored/${ICON_APP_NAME}-icon*.png")
|
||||||
list(APPEND final_src ${ownCloud})
|
list(APPEND final_src ${ownCloud})
|
||||||
set(ownCloud ${ownCloud_old})
|
set(ownCloud ${ownCloud_old})
|
||||||
|
|
||||||
@@ -262,11 +270,11 @@ if(NOT BUILD_OWNCLOUD_OSX_BUNDLE)
|
|||||||
set(BIN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
|
set(BIN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
|
||||||
|
|
||||||
if(NOT WIN32)
|
if(NOT WIN32)
|
||||||
file( GLOB _icons "${theme_dir}/colored/${APPLICATION_EXECUTABLE}-icon-*.png" )
|
file( GLOB _icons "${theme_dir}/colored/${ICON_APP_NAME}-icon-*.png" )
|
||||||
foreach( _file ${_icons} )
|
foreach( _file ${_icons} )
|
||||||
string( REPLACE "${theme_dir}/colored/${APPLICATION_EXECUTABLE}-icon-" "" _res ${_file} )
|
string( REPLACE "${theme_dir}/colored/${ICON_APP_NAME}-icon-" "" _res ${_file} )
|
||||||
string( REPLACE ".png" "" _res ${_res} )
|
string( REPLACE ".png" "" _res ${_res} )
|
||||||
install( FILES ${_file} RENAME ${APPLICATION_EXECUTABLE}.png DESTINATION ${DATADIR}/icons/hicolor/${_res}x${_res}/apps )
|
install( FILES ${_file} RENAME ${ICON_APP_NAME}.png DESTINATION ${DATADIR}/icons/hicolor/${_res}x${_res}/apps )
|
||||||
endforeach( _file )
|
endforeach( _file )
|
||||||
endif(NOT WIN32)
|
endif(NOT WIN32)
|
||||||
|
|
||||||
|
|||||||
@@ -67,11 +67,25 @@ int getauth(const char *prompt,
|
|||||||
|
|
||||||
} // ns
|
} // ns
|
||||||
|
|
||||||
|
class HttpCredentialsAccessManager : public MirallAccessManager {
|
||||||
|
public:
|
||||||
|
HttpCredentialsAccessManager(const HttpCredentials *cred, QObject* parent = 0)
|
||||||
|
: MirallAccessManager(parent), _cred(cred) {}
|
||||||
|
protected:
|
||||||
|
QNetworkReply *createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData) {
|
||||||
|
QByteArray credHash = QByteArray(_cred->user().toUtf8()+":"+_cred->password().toUtf8()).toBase64();
|
||||||
|
QNetworkRequest req(request);
|
||||||
|
req.setRawHeader(QByteArray("Authorization"), QByteArray("Basic ") + credHash);
|
||||||
|
return MirallAccessManager::createRequest(op, req, outgoingData);\
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
const HttpCredentials *_cred;
|
||||||
|
};
|
||||||
|
|
||||||
HttpCredentials::HttpCredentials()
|
HttpCredentials::HttpCredentials()
|
||||||
: _user(),
|
: _user(),
|
||||||
_password(),
|
_password(),
|
||||||
_ready(false),
|
_ready(false)
|
||||||
_attempts()
|
|
||||||
{}
|
{}
|
||||||
|
|
||||||
HttpCredentials::HttpCredentials(const QString& user, const QString& password)
|
HttpCredentials::HttpCredentials(const QString& user, const QString& password)
|
||||||
@@ -134,7 +148,7 @@ QString HttpCredentials::password() const
|
|||||||
|
|
||||||
QNetworkAccessManager* HttpCredentials::getQNAM() const
|
QNetworkAccessManager* HttpCredentials::getQNAM() const
|
||||||
{
|
{
|
||||||
MirallAccessManager* qnam = new MirallAccessManager;
|
MirallAccessManager* qnam = new HttpCredentialsAccessManager(this);
|
||||||
|
|
||||||
connect( qnam, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)),
|
connect( qnam, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)),
|
||||||
this, SLOT(slotAuthentication(QNetworkReply*,QAuthenticator*)));
|
this, SLOT(slotAuthentication(QNetworkReply*,QAuthenticator*)));
|
||||||
@@ -180,30 +194,12 @@ void HttpCredentials::slotCredentialsFetched(bool ok)
|
|||||||
|
|
||||||
void HttpCredentials::slotAuthentication(QNetworkReply* reply, QAuthenticator* authenticator)
|
void HttpCredentials::slotAuthentication(QNetworkReply* reply, QAuthenticator* authenticator)
|
||||||
{
|
{
|
||||||
if( !(authenticator && reply) ) return;
|
Q_UNUSED(authenticator)
|
||||||
|
// we cannot use QAuthenticator, because it sends username and passwords with latin1
|
||||||
qDebug() << "Authenticating request for " << reply->url();
|
// instead of utf8 encoding. Instead, we send it manually. Thus, if we reach this signal,
|
||||||
|
// those credentials were invalid and we terminate.
|
||||||
if (_attempts.contains(reply)) {
|
qDebug() << "Stop request: Authentication failed for " << reply->url().toString();
|
||||||
++_attempts[reply];
|
reply->close();
|
||||||
} else {
|
|
||||||
connect(reply, SIGNAL(finished()),
|
|
||||||
this, SLOT(slotReplyFinished()));
|
|
||||||
_attempts[reply] = 1;
|
|
||||||
}
|
|
||||||
// TODO: Replace it with something meaningful...
|
|
||||||
//if( reply->url().toString().startsWith( webdavUrl( _connection ) ) ) {
|
|
||||||
if (_attempts[reply] > 1) {
|
|
||||||
qDebug() << "Too many attempts to authenticate. Stop request.";
|
|
||||||
reply->close();
|
|
||||||
} else {
|
|
||||||
authenticator->setUser( _user );
|
|
||||||
authenticator->setPassword( _password );
|
|
||||||
}
|
|
||||||
//} else {
|
|
||||||
// qDebug() << "WRN: attempt to authenticate to different url - closing.";
|
|
||||||
// reply->close();
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HttpCredentials::slotReplyFinished()
|
void HttpCredentials::slotReplyFinished()
|
||||||
@@ -212,7 +208,6 @@ void HttpCredentials::slotReplyFinished()
|
|||||||
|
|
||||||
disconnect(reply, SIGNAL(finished()),
|
disconnect(reply, SIGNAL(finished()),
|
||||||
this, SLOT(slotReplyFinished()));
|
this, SLOT(slotReplyFinished()));
|
||||||
_attempts.remove (reply);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // ns Mirall
|
} // ns Mirall
|
||||||
|
|||||||
@@ -56,7 +56,6 @@ private:
|
|||||||
QString _user;
|
QString _user;
|
||||||
QString _password;
|
QString _password;
|
||||||
bool _ready;
|
bool _ready;
|
||||||
QMap<QNetworkReply*, int> _attempts;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // ns Mirall
|
} // ns Mirall
|
||||||
|
|||||||
30
src/main.cpp
@@ -14,8 +14,20 @@
|
|||||||
|
|
||||||
#include "mirall/application.h"
|
#include "mirall/application.h"
|
||||||
#include "mirall/theme.h"
|
#include "mirall/theme.h"
|
||||||
|
#include "mirall/utility.h"
|
||||||
|
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
#include <QTimer>
|
||||||
|
|
||||||
|
void warnSystray()
|
||||||
|
{
|
||||||
|
QMessageBox::critical(0, qApp->translate("main.cpp", "System Tray not available"),
|
||||||
|
qApp->translate("main.cpp", "%1 requires on a working system tray. "
|
||||||
|
"If you are running XFCE, please follow "
|
||||||
|
"<a href=\"http://docs.xfce.org/xfce/xfce4-panel/systray\">these instructions</a>. "
|
||||||
|
"Otherwise, please install a system tray application such as 'trayer' and try again.")
|
||||||
|
.arg(Mirall::Theme::instance()->appNameGUI()));
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
@@ -39,13 +51,17 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
if (!QSystemTrayIcon::isSystemTrayAvailable() && qgetenv("DESKTOP_SESSION") != "ubuntu") {
|
int attempts = 0;
|
||||||
QMessageBox::critical(0, qApp->translate("main.cpp", "System Tray not available"),
|
forever {
|
||||||
qApp->translate("main.cpp", "%1 requires on a working system tray. "
|
if (!QSystemTrayIcon::isSystemTrayAvailable() && qgetenv("DESKTOP_SESSION") != "ubuntu") {
|
||||||
"If you are running XFCE, please follow "
|
Mirall::Utility::sleep(1);
|
||||||
"<a href=\"http://docs.xfce.org/xfce/xfce4-panel/systray\">these instructions</a>. "
|
attempts++;
|
||||||
"Otherwise, please install a system tray application such as 'trayer' and try again.")
|
if (attempts < 30) continue;
|
||||||
.arg(Mirall::Theme::instance()->appNameGUI()));
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
warnSystray();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return app.exec();
|
return app.exec();
|
||||||
|
|||||||
@@ -35,6 +35,8 @@
|
|||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
#include <QKeySequence>
|
#include <QKeySequence>
|
||||||
|
#include <QIcon>
|
||||||
|
#include <QVariant>
|
||||||
|
|
||||||
namespace Mirall {
|
namespace Mirall {
|
||||||
|
|
||||||
@@ -51,7 +53,7 @@ static const char progressBarStyleC[] =
|
|||||||
AccountSettings::AccountSettings(QWidget *parent) :
|
AccountSettings::AccountSettings(QWidget *parent) :
|
||||||
QWidget(parent),
|
QWidget(parent),
|
||||||
ui(new Ui::AccountSettings),
|
ui(new Ui::AccountSettings),
|
||||||
_item(0)
|
_wasDisabledBefore(false)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
@@ -205,9 +207,9 @@ void AccountSettings::buttonsSetEnabled()
|
|||||||
ui->_ButtonInfo->setEnabled(isSelected);
|
ui->_ButtonInfo->setEnabled(isSelected);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AccountSettings::setListWidgetItem( QListWidgetItem *item )
|
void AccountSettings::setGeneralErrors( const QStringList& errors )
|
||||||
{
|
{
|
||||||
_item = item;
|
_generalErrors = errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AccountSettings::folderToModelItem( QStandardItem *item, Folder *f )
|
void AccountSettings::folderToModelItem( QStandardItem *item, Folder *f )
|
||||||
@@ -217,33 +219,41 @@ void AccountSettings::folderToModelItem( QStandardItem *item, Folder *f )
|
|||||||
item->setData( f->nativePath(), FolderStatusDelegate::FolderPathRole );
|
item->setData( f->nativePath(), FolderStatusDelegate::FolderPathRole );
|
||||||
item->setData( f->secondPath(), FolderStatusDelegate::FolderSecondPathRole );
|
item->setData( f->secondPath(), FolderStatusDelegate::FolderSecondPathRole );
|
||||||
item->setData( f->alias(), FolderStatusDelegate::FolderAliasRole );
|
item->setData( f->alias(), FolderStatusDelegate::FolderAliasRole );
|
||||||
item->setData( f->syncEnabled(), FolderStatusDelegate::FolderSyncEnabled );
|
item->setData( f->userSyncEnabled() && f->syncEnabled(), FolderStatusDelegate::FolderSyncEnabled );
|
||||||
|
|
||||||
SyncResult res = f->syncResult();
|
SyncResult res = f->syncResult();
|
||||||
SyncResult::Status status = res.status();
|
SyncResult::Status status = res.status();
|
||||||
|
|
||||||
QStringList errorList = res.errorStrings();
|
QStringList errorList = res.errorStrings();
|
||||||
QString errors;
|
|
||||||
if( ! errorList.isEmpty() ) {
|
|
||||||
errors = res.errorStrings().join(QLatin1String("<br/>"));
|
|
||||||
}
|
|
||||||
|
|
||||||
Theme *theme = Theme::instance();
|
Theme *theme = Theme::instance();
|
||||||
item->setData( theme->statusHeaderText( status ), Qt::ToolTipRole );
|
item->setData( theme->statusHeaderText( status ), Qt::ToolTipRole );
|
||||||
if( f->syncEnabled() ) {
|
if( f->syncEnabled() && f->userSyncEnabled() ) {
|
||||||
item->setData( theme->syncStateIcon( status ), FolderStatusDelegate::FolderStatusIconRole );
|
if( status == SyncResult::SyncPrepare ) {
|
||||||
|
if( _wasDisabledBefore ) {
|
||||||
|
// if the folder was disabled before, set the sync icon
|
||||||
|
item->setData( theme->syncStateIcon( SyncResult::SyncRunning), FolderStatusDelegate::FolderStatusIconRole );
|
||||||
|
} // we keep the previous icon for the SyncPrepare state.
|
||||||
|
} else {
|
||||||
|
// kepp the previous icon for the prepare phase.
|
||||||
|
item->setData( theme->syncStateIcon( status ), FolderStatusDelegate::FolderStatusIconRole );
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
item->setData( theme->folderDisabledIcon( ), FolderStatusDelegate::FolderStatusIconRole ); // size 48 before
|
item->setData( theme->folderDisabledIcon( ), FolderStatusDelegate::FolderStatusIconRole ); // size 48 before
|
||||||
|
_wasDisabledBefore = false;
|
||||||
}
|
}
|
||||||
item->setData( theme->statusHeaderText( status ), FolderStatusDelegate::FolderStatus );
|
item->setData( theme->statusHeaderText( status ), FolderStatusDelegate::FolderStatus );
|
||||||
item->setData( errors, FolderStatusDelegate::FolderErrorMsg );
|
|
||||||
|
|
||||||
if( errors.isEmpty() && (status == SyncResult::Error ||
|
if( errorList.isEmpty() ) {
|
||||||
status == SyncResult::SetupError ||
|
if( (status == SyncResult::Error ||
|
||||||
status == SyncResult::Unavailable )) {
|
status == SyncResult::SetupError ||
|
||||||
item->setData( theme->statusHeaderText(status), FolderStatusDelegate::FolderErrorMsg);
|
status == SyncResult::Unavailable )) {
|
||||||
|
errorList << theme->statusHeaderText(status);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
item->setData( errorList, FolderStatusDelegate::FolderErrorMsg);
|
||||||
|
|
||||||
bool ongoing = false;
|
bool ongoing = false;
|
||||||
item->setData( QVariant(res.warnCount()), FolderStatusDelegate::WarningCount );
|
item->setData( QVariant(res.warnCount()), FolderStatusDelegate::WarningCount );
|
||||||
if( status == SyncResult::SyncRunning ) {
|
if( status == SyncResult::SyncRunning ) {
|
||||||
@@ -257,6 +267,8 @@ void AccountSettings::slotRemoveCurrentFolder()
|
|||||||
{
|
{
|
||||||
QModelIndex selected = ui->_folderList->selectionModel()->currentIndex();
|
QModelIndex selected = ui->_folderList->selectionModel()->currentIndex();
|
||||||
if( selected.isValid() ) {
|
if( selected.isValid() ) {
|
||||||
|
int row = selected.row();
|
||||||
|
|
||||||
QString alias = _model->data( selected, FolderStatusDelegate::FolderAliasRole ).toString();
|
QString alias = _model->data( selected, FolderStatusDelegate::FolderAliasRole ).toString();
|
||||||
qDebug() << "Remove Folder alias " << alias;
|
qDebug() << "Remove Folder alias " << alias;
|
||||||
if( !alias.isEmpty() ) {
|
if( !alias.isEmpty() ) {
|
||||||
@@ -270,9 +282,22 @@ void AccountSettings::slotRemoveCurrentFolder()
|
|||||||
if( ret == QMessageBox::No ) {
|
if( ret == QMessageBox::No ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
/* Remove the selected item from the timer hash. */
|
||||||
|
QStandardItem *item = NULL;
|
||||||
|
if( selected.isValid() )
|
||||||
|
item = _model->itemFromIndex(selected);
|
||||||
|
|
||||||
|
if( selected.isValid() && item && _hideProgressTimers.contains(item) ) {
|
||||||
|
QTimer *t = _hideProgressTimers[item];
|
||||||
|
t->stop();
|
||||||
|
_hideProgressTimers.remove(item);
|
||||||
|
delete(t);
|
||||||
|
}
|
||||||
|
|
||||||
FolderMan *folderMan = FolderMan::instance();
|
FolderMan *folderMan = FolderMan::instance();
|
||||||
folderMan->slotRemoveFolder( alias );
|
folderMan->slotRemoveFolder( alias );
|
||||||
setFolderList(folderMan->map());
|
_model->removeRow(row);
|
||||||
|
|
||||||
emit folderChanged();
|
emit folderChanged();
|
||||||
slotCheckConnection();
|
slotCheckConnection();
|
||||||
}
|
}
|
||||||
@@ -308,6 +333,22 @@ void AccountSettings::slotDoubleClicked( const QModelIndex& indx )
|
|||||||
emit openFolderAlias( alias );
|
emit openFolderAlias( alias );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AccountSettings::showConnectionLabel( const QString& message, const QString& tooltip )
|
||||||
|
{
|
||||||
|
const QString errStyle = QLatin1String("color:#ffffff; background-color:#bb4d4d;padding:5px;"
|
||||||
|
"border-width: 1px; border-style: solid; border-color: #aaaaaa;"
|
||||||
|
"border-radius:5px;");
|
||||||
|
if( _generalErrors.isEmpty() ) {
|
||||||
|
ui->connectLabel->setText( message );
|
||||||
|
ui->connectLabel->setToolTip(tooltip);
|
||||||
|
} else {
|
||||||
|
const QString msg = _generalErrors.join(QLatin1String("\n"));
|
||||||
|
ui->connectLabel->setText( msg );
|
||||||
|
ui->connectLabel->setToolTip(QString());
|
||||||
|
ui->connectLabel->setStyleSheet(errStyle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void AccountSettings::slotCheckConnection()
|
void AccountSettings::slotCheckConnection()
|
||||||
{
|
{
|
||||||
if( ownCloudInfo::instance()->isConfigured() ) {
|
if( ownCloudInfo::instance()->isConfigured() ) {
|
||||||
@@ -316,12 +357,12 @@ void AccountSettings::slotCheckConnection()
|
|||||||
connect(ownCloudInfo::instance(), SIGNAL(noOwncloudFound(QNetworkReply*)),
|
connect(ownCloudInfo::instance(), SIGNAL(noOwncloudFound(QNetworkReply*)),
|
||||||
this, SLOT(slotOCInfoFail(QNetworkReply*)));
|
this, SLOT(slotOCInfoFail(QNetworkReply*)));
|
||||||
|
|
||||||
ui->connectLabel->setText( tr("Checking %1 connection...").arg(Theme::instance()->appNameGUI()));
|
showConnectionLabel( tr("Checking %1 connection...").arg(Theme::instance()->appNameGUI()));
|
||||||
qDebug() << "Check status.php from statusdialog.";
|
qDebug() << "Check status.php from statusdialog.";
|
||||||
ownCloudInfo::instance()->checkInstallation();
|
ownCloudInfo::instance()->checkInstallation();
|
||||||
} else {
|
} else {
|
||||||
// ownCloud is not yet configured.
|
// ownCloud is not yet configured.
|
||||||
ui->connectLabel->setText( tr("No %1 connection configured.").arg(Theme::instance()->appNameGUI()));
|
showConnectionLabel( tr("No %1 connection configured.").arg(Theme::instance()->appNameGUI()) );
|
||||||
ui->_ButtonAdd->setEnabled( false);
|
ui->_ButtonAdd->setEnabled( false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -329,8 +370,14 @@ void AccountSettings::slotCheckConnection()
|
|||||||
void AccountSettings::setFolderList( const Folder::Map &folders )
|
void AccountSettings::setFolderList( const Folder::Map &folders )
|
||||||
{
|
{
|
||||||
_model->clear();
|
_model->clear();
|
||||||
|
|
||||||
|
foreach(QTimer *t, _hideProgressTimers) {
|
||||||
|
t->stop();
|
||||||
|
delete t;
|
||||||
|
}
|
||||||
|
_hideProgressTimers.clear();
|
||||||
|
|
||||||
foreach( Folder *f, folders ) {
|
foreach( Folder *f, folders ) {
|
||||||
qDebug() << "Folder: " << f;
|
|
||||||
slotAddFolder( f );
|
slotAddFolder( f );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -398,7 +445,11 @@ void AccountSettings::slotEnableCurrentFolder()
|
|||||||
if ( f->isBusy() && terminate )
|
if ( f->isBusy() && terminate )
|
||||||
folderMan->terminateSyncProcess( alias );
|
folderMan->terminateSyncProcess( alias );
|
||||||
|
|
||||||
folderMan->slotEnableFolder( alias, !folderEnabled );
|
folderMan->slotGuiPauseFolder( alias, !folderEnabled );
|
||||||
|
|
||||||
|
// keep state for the icon setting.
|
||||||
|
if( !folderEnabled ) _wasDisabledBefore = true;
|
||||||
|
|
||||||
slotUpdateFolderState (f);
|
slotUpdateFolderState (f);
|
||||||
// set the button text accordingly.
|
// set the button text accordingly.
|
||||||
slotFolderActivated( selected );
|
slotFolderActivated( selected );
|
||||||
@@ -450,8 +501,8 @@ void AccountSettings::slotOCInfo( const QString& url, const QString& versionStr,
|
|||||||
ui->connectLabel->setOpenExternalLinks(true);
|
ui->connectLabel->setOpenExternalLinks(true);
|
||||||
QUrl safeUrl(url);
|
QUrl safeUrl(url);
|
||||||
safeUrl.setPassword(QString()); // Remove the password from the URL to avoid showing it in the UI
|
safeUrl.setPassword(QString()); // Remove the password from the URL to avoid showing it in the UI
|
||||||
ui->connectLabel->setText( tr("Connected to <a href=\"%1\">%2</a>.").arg(url, safeUrl.toString()) );
|
showConnectionLabel( tr("Connected to <a href=\"%1\">%2</a>.").arg(url, safeUrl.toString()),
|
||||||
ui->connectLabel->setToolTip( tr("Version: %1 (%2)").arg(versionStr).arg(version));
|
tr("Version: %1 (%2)").arg(versionStr).arg(version) );
|
||||||
ui->_ButtonAdd->setEnabled(true);
|
ui->_ButtonAdd->setEnabled(true);
|
||||||
|
|
||||||
disconnect(ownCloudInfo::instance(), SIGNAL(ownCloudInfoFound(const QString&, const QString&, const QString&, const QString&)),
|
disconnect(ownCloudInfo::instance(), SIGNAL(ownCloudInfoFound(const QString&, const QString&, const QString&, const QString&)),
|
||||||
@@ -465,7 +516,7 @@ void AccountSettings::slotOCInfoFail( QNetworkReply *reply)
|
|||||||
QString errStr = tr("unknown problem.");
|
QString errStr = tr("unknown problem.");
|
||||||
if( reply ) errStr = reply->errorString();
|
if( reply ) errStr = reply->errorString();
|
||||||
|
|
||||||
ui->connectLabel->setText( tr("<p>Failed to connect to %1: <tt>%2</tt></p>").arg(Theme::instance()->appNameGUI()).arg(errStr) );
|
showConnectionLabel( tr("<p>Failed to connect to %1: <tt>%2</tt></p>").arg(Theme::instance()->appNameGUI()).arg(errStr) );
|
||||||
ui->_ButtonAdd->setEnabled( false);
|
ui->_ButtonAdd->setEnabled( false);
|
||||||
|
|
||||||
disconnect(ownCloudInfo::instance(), SIGNAL(ownCloudInfoFound(const QString&, const QString&, const QString&, const QString&)),
|
disconnect(ownCloudInfo::instance(), SIGNAL(ownCloudInfoFound(const QString&, const QString&, const QString&, const QString&)),
|
||||||
@@ -538,7 +589,7 @@ void AccountSettings::slotProgressProblem(const QString& folder, const Progress:
|
|||||||
|
|
||||||
void AccountSettings::slotSetProgress(const QString& folder, const Progress::Info &progress )
|
void AccountSettings::slotSetProgress(const QString& folder, const Progress::Info &progress )
|
||||||
{
|
{
|
||||||
// qDebug() << "================================> Progress for folder " << folder << " file " << file << ": "<< p1;
|
// qDebug() << "================================> Progress for folder " << folder << " progress " << Progress::asResultString(progress.kind);
|
||||||
QStandardItem *item = itemForFolder( folder );
|
QStandardItem *item = itemForFolder( folder );
|
||||||
qint64 prog1 = progress.current_file_bytes;
|
qint64 prog1 = progress.current_file_bytes;
|
||||||
qint64 prog2 = progress.file_size;
|
qint64 prog2 = progress.file_size;
|
||||||
@@ -552,6 +603,11 @@ void AccountSettings::slotSetProgress(const QString& folder, const Progress::Inf
|
|||||||
qDebug() << "================================> INVALID Progress for folder " << folder;
|
qDebug() << "================================> INVALID Progress for folder " << folder;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if( (progress.kind == Progress::StartSync || progress.kind == Progress::EndSync)
|
||||||
|
&& progress.overall_file_count == 0 ) {
|
||||||
|
// do not show progress if nothing is transmitted.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
QString itemFileName = shortenFilename(folder, progress.current_file);
|
QString itemFileName = shortenFilename(folder, progress.current_file);
|
||||||
QString syncFileProgressString;
|
QString syncFileProgressString;
|
||||||
@@ -654,12 +710,21 @@ void AccountSettings::slotHideProgress()
|
|||||||
while (i != _hideProgressTimers.constEnd()) {
|
while (i != _hideProgressTimers.constEnd()) {
|
||||||
if( i.value() == send_timer ) {
|
if( i.value() == send_timer ) {
|
||||||
QStandardItem *item = i.key();
|
QStandardItem *item = i.key();
|
||||||
item->setData( QVariant(false), FolderStatusDelegate::AddProgressSpace );
|
|
||||||
item->setData( QVariant(QString::null), FolderStatusDelegate::SyncProgressOverallString );
|
|
||||||
item->setData( QVariant(QString::null), FolderStatusDelegate::SyncProgressItemString );
|
|
||||||
item->setData( 0, FolderStatusDelegate::SyncProgressOverallPercent );
|
|
||||||
|
|
||||||
ui->_folderList->repaint();
|
/* Check if this item is still existing */
|
||||||
|
bool ok = false;
|
||||||
|
for( int r = 0; !ok && r < _model->rowCount(); r++) {
|
||||||
|
if( item == _model->item(r,0) ) {
|
||||||
|
ok = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if( ok ) {
|
||||||
|
item->setData( QVariant(false), FolderStatusDelegate::AddProgressSpace );
|
||||||
|
item->setData( QVariant(QString::null), FolderStatusDelegate::SyncProgressOverallString );
|
||||||
|
item->setData( QVariant(QString::null), FolderStatusDelegate::SyncProgressItemString );
|
||||||
|
item->setData( 0, FolderStatusDelegate::SyncProgressOverallPercent );
|
||||||
|
}
|
||||||
_hideProgressTimers.remove(item);
|
_hideProgressTimers.remove(item);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -671,15 +736,23 @@ void AccountSettings::slotHideProgress()
|
|||||||
|
|
||||||
void AccountSettings::slotUpdateQuota(qint64 total, qint64 used)
|
void AccountSettings::slotUpdateQuota(qint64 total, qint64 used)
|
||||||
{
|
{
|
||||||
ui->quotaProgressBar->setEnabled(true);
|
if( total > 0 ) {
|
||||||
// workaround the label only accepting ints (which may be only 32 bit wide)
|
ui->quotaProgressBar->setVisible(true);
|
||||||
ui->quotaProgressBar->setMaximum(100);
|
ui->quotaInfoLabel->setVisible(true);
|
||||||
int qVal = qRound(used/(double)total * 100);
|
ui->quotaProgressBar->setEnabled(true);
|
||||||
if( qVal > 100 ) qVal = 100;
|
// workaround the label only accepting ints (which may be only 32 bit wide)
|
||||||
ui->quotaProgressBar->setValue(qVal);
|
ui->quotaProgressBar->setMaximum(100);
|
||||||
QString usedStr = Utility::octetsToString(used);
|
int qVal = qRound(used/(double)total * 100);
|
||||||
QString totalStr = Utility::octetsToString(total);
|
if( qVal > 100 ) qVal = 100;
|
||||||
ui->quotaLabel->setText(tr("%1 of %2 in use.").arg(usedStr, totalStr));
|
ui->quotaProgressBar->setValue(qVal);
|
||||||
|
QString usedStr = Utility::octetsToString(used);
|
||||||
|
QString totalStr = Utility::octetsToString(total);
|
||||||
|
ui->quotaLabel->setText(tr("%1 of %2 in use.").arg(usedStr, totalStr));
|
||||||
|
} else {
|
||||||
|
ui->quotaProgressBar->setVisible(false);
|
||||||
|
ui->quotaInfoLabel->setVisible(false);
|
||||||
|
ui->quotaLabel->setText(tr("Currently there is no storage usage information available."));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AccountSettings::slotIgnoreFilesEditor()
|
void AccountSettings::slotIgnoreFilesEditor()
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ public:
|
|||||||
|
|
||||||
void setFolderList( const Folder::Map& );
|
void setFolderList( const Folder::Map& );
|
||||||
void buttonsSetEnabled();
|
void buttonsSetEnabled();
|
||||||
void setListWidgetItem(QListWidgetItem* item);
|
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void folderChanged();
|
void folderChanged();
|
||||||
@@ -74,6 +73,8 @@ public slots:
|
|||||||
void slotUpdateQuota( qint64,qint64 );
|
void slotUpdateQuota( qint64,qint64 );
|
||||||
void slotIgnoreFilesEditor();
|
void slotIgnoreFilesEditor();
|
||||||
|
|
||||||
|
void setGeneralErrors( const QStringList& errors );
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void slotAddFolder();
|
void slotAddFolder();
|
||||||
void slotAddFolder( Folder* );
|
void slotAddFolder( Folder* );
|
||||||
@@ -90,16 +91,17 @@ private:
|
|||||||
QString shortenFilename( const QString& folder, const QString& file ) const;
|
QString shortenFilename( const QString& folder, const QString& file ) const;
|
||||||
void folderToModelItem( QStandardItem *, Folder * );
|
void folderToModelItem( QStandardItem *, Folder * );
|
||||||
QStandardItem* itemForFolder(const QString& );
|
QStandardItem* itemForFolder(const QString& );
|
||||||
|
void showConnectionLabel( const QString& message, const QString& tooltip = QString() );
|
||||||
|
|
||||||
Ui::AccountSettings *ui;
|
Ui::AccountSettings *ui;
|
||||||
QPointer<ItemProgressDialog> _fileItemDialog;
|
QPointer<ItemProgressDialog> _fileItemDialog;
|
||||||
QPointer<IgnoreListEditor> _ignoreEditor;
|
QPointer<IgnoreListEditor> _ignoreEditor;
|
||||||
QStandardItemModel *_model;
|
QStandardItemModel *_model;
|
||||||
QListWidgetItem *_item;
|
|
||||||
QUrl _OCUrl;
|
QUrl _OCUrl;
|
||||||
QHash<QStandardItem*, QTimer*> _hideProgressTimers;
|
QHash<QStandardItem*, QTimer*> _hideProgressTimers;
|
||||||
QString _kindContext;
|
QString _kindContext;
|
||||||
|
QStringList _generalErrors;
|
||||||
|
bool _wasDisabledBefore;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Mirall
|
} // namespace Mirall
|
||||||
|
|||||||
@@ -131,7 +131,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_2">
|
<widget class="QLabel" name="quotaInfoLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string><b>Note:</b> Some folders, including network mounted or shared folders, might have different limits.</string>
|
<string><b>Note:</b> Some folders, including network mounted or shared folders, might have different limits.</string>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
#include "mirall/folder.h"
|
#include "mirall/folder.h"
|
||||||
#include "mirall/folderman.h"
|
#include "mirall/folderman.h"
|
||||||
#include "mirall/folderwatcher.h"
|
#include "mirall/folderwatcher.h"
|
||||||
#include "mirall/folderwizard.h"
|
|
||||||
#include "mirall/networklocation.h"
|
#include "mirall/networklocation.h"
|
||||||
#include "mirall/folder.h"
|
#include "mirall/folder.h"
|
||||||
#include "mirall/owncloudsetupwizard.h"
|
#include "mirall/owncloudsetupwizard.h"
|
||||||
@@ -83,7 +82,7 @@ static const char optionsC[] =
|
|||||||
QString applicationTrPath()
|
QString applicationTrPath()
|
||||||
{
|
{
|
||||||
#ifdef Q_OS_LINUX
|
#ifdef Q_OS_LINUX
|
||||||
return QString::fromLatin1(DATADIR"/i18n/");
|
return QString::fromLatin1(DATADIR"/"APPLICATION_EXECUTABLE"/i18n/");
|
||||||
#endif
|
#endif
|
||||||
#ifdef Q_OS_MAC
|
#ifdef Q_OS_MAC
|
||||||
return QApplication::applicationDirPath()+QLatin1String("/../Resources/Translations"); // path defaults to app dir.
|
return QApplication::applicationDirPath()+QLatin1String("/../Resources/Translations"); // path defaults to app dir.
|
||||||
@@ -105,6 +104,7 @@ Application::Application(int &argc, char **argv) :
|
|||||||
_recentActionsMenu(0),
|
_recentActionsMenu(0),
|
||||||
_theme(Theme::instance()),
|
_theme(Theme::instance()),
|
||||||
_logBrowser(0),
|
_logBrowser(0),
|
||||||
|
_startupNetworkError(false),
|
||||||
_logExpire(0),
|
_logExpire(0),
|
||||||
_showLogWindow(false),
|
_showLogWindow(false),
|
||||||
_logFlush(false),
|
_logFlush(false),
|
||||||
@@ -156,15 +156,17 @@ Application::Application(int &argc, char **argv) :
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// connect(_networkMgr, SIGNAL(onlineStateChanged(bool)), SLOT(slotCheckConnection()));
|
||||||
|
|
||||||
MirallConfigFile cfg;
|
MirallConfigFile cfg;
|
||||||
_theme->setSystrayUseMonoIcons(cfg.monoIcons());
|
_theme->setSystrayUseMonoIcons(cfg.monoIcons());
|
||||||
connect (_theme, SIGNAL(systrayUseMonoIconsChanged(bool)), SLOT(slotUseMonoIconsChanged(bool)));
|
connect (_theme, SIGNAL(systrayUseMonoIconsChanged(bool)), SLOT(slotUseMonoIconsChanged(bool)));
|
||||||
|
|
||||||
setupActions();
|
setupActions();
|
||||||
setupSystemTray();
|
setupSystemTray();
|
||||||
slotSetupProxy();
|
|
||||||
|
|
||||||
folderMan->setupFolders();
|
folderMan->setupFolders();
|
||||||
|
slotSetupProxy(); // folders have to be defined first.
|
||||||
|
|
||||||
// startup procedure.
|
// startup procedure.
|
||||||
QTimer::singleShot( 0, this, SLOT( slotCheckConnection() ));
|
QTimer::singleShot( 0, this, SLOT( slotCheckConnection() ));
|
||||||
@@ -179,18 +181,13 @@ Application::Application(int &argc, char **argv) :
|
|||||||
connect( ownCloudInfo::instance(), SIGNAL(quotaUpdated(qint64,qint64)),
|
connect( ownCloudInfo::instance(), SIGNAL(quotaUpdated(qint64,qint64)),
|
||||||
SLOT(slotRefreshQuotaDisplay(qint64, qint64)));
|
SLOT(slotRefreshQuotaDisplay(qint64, qint64)));
|
||||||
|
|
||||||
|
connect (this, SIGNAL(aboutToQuit()), SLOT(slotCleanup()));
|
||||||
|
|
||||||
qDebug() << "Network Location: " << NetworkLocation::currentLocation().encoded();
|
qDebug() << "Network Location: " << NetworkLocation::currentLocation().encoded();
|
||||||
}
|
}
|
||||||
|
|
||||||
Application::~Application()
|
Application::~Application()
|
||||||
{
|
{
|
||||||
if (_settingsDialog) {
|
|
||||||
delete _settingsDialog.data();
|
|
||||||
}
|
|
||||||
|
|
||||||
delete _logBrowser;
|
|
||||||
delete _tray; // needed, see ctor
|
|
||||||
|
|
||||||
qDebug() << "* Mirall shutdown";
|
qDebug() << "* Mirall shutdown";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -229,8 +226,24 @@ void Application::slotCredentialsFetched()
|
|||||||
runValidator();
|
runValidator();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Application::slotCleanup()
|
||||||
|
{
|
||||||
|
// explicitly close windows. This is somewhat of a hack to ensure
|
||||||
|
// that saving the geometries happens ASAP during a OS shutdown
|
||||||
|
|
||||||
|
// those do delete on close
|
||||||
|
if (!_settingsDialog.isNull()) _settingsDialog->close();
|
||||||
|
if (!_progressDialog.isNull()) _progressDialog->close();
|
||||||
|
|
||||||
|
// those need an extra invitation
|
||||||
|
if (!_tray.isNull()) _tray->deleteLater();
|
||||||
|
if (!_logBrowser.isNull()) _logBrowser->deleteLater();
|
||||||
|
}
|
||||||
|
|
||||||
void Application::runValidator()
|
void Application::runValidator()
|
||||||
{
|
{
|
||||||
|
_startupFail.clear();
|
||||||
|
|
||||||
_conValidator = new ConnectionValidator();
|
_conValidator = new ConnectionValidator();
|
||||||
connect( _conValidator, SIGNAL(connectionResult(ConnectionValidator::Status)),
|
connect( _conValidator, SIGNAL(connectionResult(ConnectionValidator::Status)),
|
||||||
this, SLOT(slotConnectionValidatorResult(ConnectionValidator::Status)) );
|
this, SLOT(slotConnectionValidatorResult(ConnectionValidator::Status)) );
|
||||||
@@ -245,24 +258,25 @@ void Application::slotConnectionValidatorResult(ConnectionValidator::Status stat
|
|||||||
FolderMan *folderMan = FolderMan::instance();
|
FolderMan *folderMan = FolderMan::instance();
|
||||||
qDebug() << "######## Connection and Credentials are ok!";
|
qDebug() << "######## Connection and Credentials are ok!";
|
||||||
folderMan->setSyncEnabled(true);
|
folderMan->setSyncEnabled(true);
|
||||||
_tray->setIcon( _theme->syncStateIcon( SyncResult::NotYetStarted, true ) );
|
|
||||||
_tray->show();
|
|
||||||
|
|
||||||
int cnt = folderMan->map().size();
|
int cnt = folderMan->map().size();
|
||||||
slotShowTrayMessage(tr("%1 Sync Started").arg(_theme->appNameGUI()),
|
slotShowOptionalTrayMessage(tr("%1 Sync Started").arg(_theme->appNameGUI()),
|
||||||
tr("Sync started for %n configured sync folder(s).","", cnt));
|
tr("Sync started for %n configured sync folder(s).","", cnt));
|
||||||
|
|
||||||
// queue up the sync for all folders.
|
// queue up the sync for all folders.
|
||||||
folderMan->slotScheduleAllFolders();
|
folderMan->slotScheduleAllFolders();
|
||||||
|
|
||||||
computeOverallSyncStatus();
|
|
||||||
|
|
||||||
setupContextMenu();
|
|
||||||
} else if( status == ConnectionValidator::NotConfigured ) {
|
|
||||||
// this can not happen, it should be caught in first step of startup.
|
|
||||||
} else {
|
} else {
|
||||||
// What else?
|
// if we have problems here, it's unlikely that syncing will work.
|
||||||
|
FolderMan::instance()->setSyncEnabled(false);
|
||||||
|
|
||||||
|
_startupFail = _conValidator->errors();
|
||||||
|
_startupNetworkError = _conValidator->networkError();
|
||||||
|
QTimer::singleShot(30*1000, this, SLOT(slotCheckConnection()));
|
||||||
}
|
}
|
||||||
|
computeOverallSyncStatus();
|
||||||
|
setupContextMenu();
|
||||||
|
|
||||||
_conValidator->deleteLater();
|
_conValidator->deleteLater();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -347,7 +361,7 @@ void Application::setupSystemTray()
|
|||||||
_tray = new Systray();
|
_tray = new Systray();
|
||||||
_tray->setIcon( _theme->syncStateIcon( SyncResult::NotYetStarted, true ) );
|
_tray->setIcon( _theme->syncStateIcon( SyncResult::NotYetStarted, true ) );
|
||||||
|
|
||||||
connect(_tray,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
|
connect(_tray.data(), SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
|
||||||
SLOT(slotTrayClicked(QSystemTrayIcon::ActivationReason)));
|
SLOT(slotTrayClicked(QSystemTrayIcon::ActivationReason)));
|
||||||
|
|
||||||
setupContextMenu();
|
setupContextMenu();
|
||||||
@@ -425,7 +439,7 @@ void Application::setupContextMenu()
|
|||||||
void Application::setupLogBrowser()
|
void Application::setupLogBrowser()
|
||||||
{
|
{
|
||||||
// might be called from second instance
|
// might be called from second instance
|
||||||
if (!_logBrowser) {
|
if (_logBrowser.isNull()) {
|
||||||
// init the log browser.
|
// init the log browser.
|
||||||
qInstallMsgHandler( mirallLogCatcher );
|
qInstallMsgHandler( mirallLogCatcher );
|
||||||
_logBrowser = new LogBrowser;
|
_logBrowser = new LogBrowser;
|
||||||
@@ -503,6 +517,7 @@ void Application::slotSetupProxy()
|
|||||||
|
|
||||||
switch(proxyType) {
|
switch(proxyType) {
|
||||||
case QNetworkProxy::NoProxy:
|
case QNetworkProxy::NoProxy:
|
||||||
|
QNetworkProxyFactory::setUseSystemConfiguration(false);
|
||||||
QNetworkProxy::setApplicationProxy(QNetworkProxy::NoProxy);
|
QNetworkProxy::setApplicationProxy(QNetworkProxy::NoProxy);
|
||||||
break;
|
break;
|
||||||
case QNetworkProxy::DefaultProxy:
|
case QNetworkProxy::DefaultProxy:
|
||||||
@@ -510,10 +525,12 @@ void Application::slotSetupProxy()
|
|||||||
break;
|
break;
|
||||||
case QNetworkProxy::Socks5Proxy:
|
case QNetworkProxy::Socks5Proxy:
|
||||||
proxy.setType(QNetworkProxy::Socks5Proxy);
|
proxy.setType(QNetworkProxy::Socks5Proxy);
|
||||||
|
QNetworkProxyFactory::setUseSystemConfiguration(false);
|
||||||
QNetworkProxy::setApplicationProxy(proxy);
|
QNetworkProxy::setApplicationProxy(proxy);
|
||||||
break;
|
break;
|
||||||
case QNetworkProxy::HttpProxy:
|
case QNetworkProxy::HttpProxy:
|
||||||
proxy.setType(QNetworkProxy::HttpProxy);
|
proxy.setType(QNetworkProxy::HttpProxy);
|
||||||
|
QNetworkProxyFactory::setUseSystemConfiguration(false);
|
||||||
QNetworkProxy::setApplicationProxy(proxy);
|
QNetworkProxy::setApplicationProxy(proxy);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -662,7 +679,7 @@ bool Application::checkConfigExists(bool openSettings)
|
|||||||
// if no config file is there, start the configuration wizard.
|
// if no config file is there, start the configuration wizard.
|
||||||
MirallConfigFile cfgFile;
|
MirallConfigFile cfgFile;
|
||||||
|
|
||||||
if( cfgFile.exists() ) {
|
if( cfgFile.exists() && !cfgFile.ownCloudUrl().isEmpty() ) {
|
||||||
if( openSettings ) {
|
if( openSettings ) {
|
||||||
slotSettings();
|
slotSettings();
|
||||||
}
|
}
|
||||||
@@ -694,7 +711,9 @@ void Application::slotSettings()
|
|||||||
_settingsDialog->setAttribute( Qt::WA_DeleteOnClose, true );
|
_settingsDialog->setAttribute( Qt::WA_DeleteOnClose, true );
|
||||||
_settingsDialog->show();
|
_settingsDialog->show();
|
||||||
}
|
}
|
||||||
Utility::raiseDialog(_settingsDialog);
|
|
||||||
|
_settingsDialog->setGeneralErrors( _startupFail );
|
||||||
|
Utility::raiseDialog(_settingsDialog.data());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Application::slotItemProgressDialog()
|
void Application::slotItemProgressDialog()
|
||||||
@@ -705,7 +724,7 @@ void Application::slotItemProgressDialog()
|
|||||||
_progressDialog->setupList();
|
_progressDialog->setupList();
|
||||||
_progressDialog->show();
|
_progressDialog->show();
|
||||||
}
|
}
|
||||||
Utility::raiseDialog(_progressDialog);
|
Utility::raiseDialog(_progressDialog.data());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Application::slotParseOptions(const QString &opts)
|
void Application::slotParseOptions(const QString &opts)
|
||||||
@@ -816,23 +835,36 @@ void Application::computeOverallSyncStatus()
|
|||||||
Folder::Map map = folderMan->map();
|
Folder::Map map = folderMan->map();
|
||||||
SyncResult overallResult = FolderMan::accountStatus(map.values());
|
SyncResult overallResult = FolderMan::accountStatus(map.values());
|
||||||
|
|
||||||
// create the tray blob message, check if we have an defined state
|
// if there have been startup problems, show an error message.
|
||||||
if( overallResult.status() != SyncResult::Undefined ) {
|
if( !_startupFail.isEmpty() ) {
|
||||||
QStringList allStatusStrings;
|
trayMessage = _startupFail.join(QLatin1String("\n"));
|
||||||
foreach(Folder* folder, map.values()) {
|
QIcon statusIcon;
|
||||||
qDebug() << "Folder in overallStatus Message: " << folder << " with name " << folder->alias();
|
if (_startupNetworkError) {
|
||||||
QString folderMessage = folderMan->statusToString(folder->syncResult().status(), folder->syncEnabled());
|
statusIcon = _theme->syncStateIcon( SyncResult::NotYetStarted, true );
|
||||||
allStatusStrings += tr("Folder %1: %2").arg(folder->alias(), folderMessage);
|
} else {
|
||||||
|
statusIcon = _theme->syncStateIcon( SyncResult::Error, true );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( ! allStatusStrings.isEmpty() )
|
|
||||||
trayMessage = allStatusStrings.join(QLatin1String("\n"));
|
|
||||||
else
|
|
||||||
trayMessage = tr("No sync folders configured.");
|
|
||||||
|
|
||||||
QIcon statusIcon = _theme->syncStateIcon( overallResult.status(), true);
|
|
||||||
_tray->setIcon( statusIcon );
|
_tray->setIcon( statusIcon );
|
||||||
_tray->setToolTip(trayMessage);
|
_tray->setToolTip(trayMessage);
|
||||||
|
} else {
|
||||||
|
// create the tray blob message, check if we have an defined state
|
||||||
|
if( overallResult.status() != SyncResult::Undefined ) {
|
||||||
|
QStringList allStatusStrings;
|
||||||
|
foreach(Folder* folder, map.values()) {
|
||||||
|
qDebug() << "Folder in overallStatus Message: " << folder << " with name " << folder->alias();
|
||||||
|
QString folderMessage = folderMan->statusToString(folder->syncResult().status(), folder->syncEnabled());
|
||||||
|
allStatusStrings += tr("Folder %1: %2").arg(folder->alias(), folderMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
if( ! allStatusStrings.isEmpty() )
|
||||||
|
trayMessage = allStatusStrings.join(QLatin1String("\n"));
|
||||||
|
else
|
||||||
|
trayMessage = tr("No sync folders configured.");
|
||||||
|
|
||||||
|
QIcon statusIcon = _theme->syncStateIcon( overallResult.status(), true);
|
||||||
|
_tray->setIcon( statusIcon );
|
||||||
|
_tray->setToolTip(trayMessage);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,6 @@ namespace Mirall {
|
|||||||
class Theme;
|
class Theme;
|
||||||
class Folder;
|
class Folder;
|
||||||
class FolderWatcher;
|
class FolderWatcher;
|
||||||
class FolderWizard;
|
|
||||||
class ownCloudInfo;
|
class ownCloudInfo;
|
||||||
class SslErrorDialog;
|
class SslErrorDialog;
|
||||||
class SettingsDialog;
|
class SettingsDialog;
|
||||||
@@ -107,13 +106,14 @@ protected slots:
|
|||||||
void slotDisplayIdle();
|
void slotDisplayIdle();
|
||||||
void slotHelp();
|
void slotHelp();
|
||||||
void slotCredentialsFetched();
|
void slotCredentialsFetched();
|
||||||
|
void slotCleanup();
|
||||||
private:
|
private:
|
||||||
void setHelp();
|
void setHelp();
|
||||||
void raiseDialog( QWidget* );
|
void raiseDialog( QWidget* );
|
||||||
void rebuildRecentMenus();
|
void rebuildRecentMenus();
|
||||||
void runValidator();
|
void runValidator();
|
||||||
|
|
||||||
Systray *_tray;
|
QPointer<Systray> _tray;
|
||||||
QAction *_actionOpenoC;
|
QAction *_actionOpenoC;
|
||||||
QAction *_actionSettings;
|
QAction *_actionSettings;
|
||||||
QAction *_actionQuota;
|
QAction *_actionQuota;
|
||||||
@@ -124,7 +124,6 @@ private:
|
|||||||
|
|
||||||
QNetworkConfigurationManager *_networkMgr;
|
QNetworkConfigurationManager *_networkMgr;
|
||||||
|
|
||||||
QPointer<FolderWizard> _folderWizard;
|
|
||||||
SslErrorDialog *_sslErrorDialog;
|
SslErrorDialog *_sslErrorDialog;
|
||||||
ConnectionValidator *_conValidator;
|
ConnectionValidator *_conValidator;
|
||||||
|
|
||||||
@@ -134,12 +133,14 @@ private:
|
|||||||
|
|
||||||
Theme *_theme;
|
Theme *_theme;
|
||||||
QSignalMapper *_folderOpenActionMapper;
|
QSignalMapper *_folderOpenActionMapper;
|
||||||
LogBrowser *_logBrowser;
|
QPointer<LogBrowser>_logBrowser;
|
||||||
QPointer<SettingsDialog> _settingsDialog;
|
QPointer<SettingsDialog> _settingsDialog;
|
||||||
QPointer<ItemProgressDialog> _progressDialog;
|
QPointer<ItemProgressDialog> _progressDialog;
|
||||||
|
|
||||||
QString _logFile;
|
QString _logFile;
|
||||||
QString _logDirectory;
|
QString _logDirectory;
|
||||||
|
QStringList _startupFail;
|
||||||
|
bool _startupNetworkError;
|
||||||
|
|
||||||
int _logExpire;
|
int _logExpire;
|
||||||
bool _showLogWindow;
|
bool _showLogWindow;
|
||||||
|
|||||||
@@ -28,7 +28,8 @@ ConnectionValidator::ConnectionValidator(QObject *parent) :
|
|||||||
|
|
||||||
ConnectionValidator::ConnectionValidator(const QString& connection, QObject *parent)
|
ConnectionValidator::ConnectionValidator(const QString& connection, QObject *parent)
|
||||||
: QObject(parent),
|
: QObject(parent),
|
||||||
_connection(connection)
|
_connection(connection),
|
||||||
|
_networkError(QNetworkReply::NoError)
|
||||||
{
|
{
|
||||||
ownCloudInfo::instance()->setCustomConfigHandle(_connection);
|
ownCloudInfo::instance()->setCustomConfigHandle(_connection);
|
||||||
}
|
}
|
||||||
@@ -38,6 +39,11 @@ QStringList ConnectionValidator::errors() const
|
|||||||
return _errors;
|
return _errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ConnectionValidator::networkError() const
|
||||||
|
{
|
||||||
|
return _networkError;
|
||||||
|
}
|
||||||
|
|
||||||
QString ConnectionValidator::statusString( Status stat ) const
|
QString ConnectionValidator::statusString( Status stat ) const
|
||||||
{
|
{
|
||||||
QString re;
|
QString re;
|
||||||
@@ -89,6 +95,7 @@ void ConnectionValidator::checkConnection()
|
|||||||
// checks for status.php
|
// checks for status.php
|
||||||
ownCloudInfo::instance()->checkInstallation();
|
ownCloudInfo::instance()->checkInstallation();
|
||||||
} else {
|
} else {
|
||||||
|
_errors << tr("No ownCloud connection configured");
|
||||||
emit connectionResult( NotConfigured );
|
emit connectionResult( NotConfigured );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -109,8 +116,8 @@ void ConnectionValidator::slotStatusFound( const QString& url, const QString& ve
|
|||||||
this, SLOT(slotNoStatusFound(QNetworkReply*)));
|
this, SLOT(slotNoStatusFound(QNetworkReply*)));
|
||||||
|
|
||||||
if( version.startsWith("4.0") ) {
|
if( version.startsWith("4.0") ) {
|
||||||
_errors.append( tr("<p>The configured server for this client is too old.</p>"
|
_errors.append( tr("The configured server for this client is too old") );
|
||||||
"<p>Please update to the latest server and restart the client.</p>"));
|
_errors.append( tr("Please update to the latest server and restart the client.") );
|
||||||
emit connectionResult( ServerVersionMismatch );
|
emit connectionResult( ServerVersionMismatch );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -129,6 +136,7 @@ void ConnectionValidator::slotNoStatusFound(QNetworkReply *reply)
|
|||||||
this, SLOT(slotNoStatusFound(QNetworkReply*)));
|
this, SLOT(slotNoStatusFound(QNetworkReply*)));
|
||||||
|
|
||||||
_errors.append( reply->errorString() );
|
_errors.append( reply->errorString() );
|
||||||
|
_networkError = (reply->error() != QNetworkReply::NoError);
|
||||||
emit connectionResult( StatusNotFound );
|
emit connectionResult( StatusNotFound );
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -144,15 +152,17 @@ void ConnectionValidator::slotCheckAuthentication()
|
|||||||
// continue in slotAuthCheck here :-)
|
// continue in slotAuthCheck here :-)
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConnectionValidator::slotAuthCheck( const QString& ,QNetworkReply *reply )
|
void ConnectionValidator::slotAuthCheck( const QString&, QNetworkReply *reply )
|
||||||
{
|
{
|
||||||
Status stat = Connected;
|
Status stat = Connected;
|
||||||
|
|
||||||
if( reply->error() == QNetworkReply::AuthenticationRequiredError ||
|
if( reply->error() == QNetworkReply::AuthenticationRequiredError ||
|
||||||
reply->error() == QNetworkReply::OperationCanceledError ) { // returned if the user is wrong.
|
reply->error() == QNetworkReply::OperationCanceledError ) { // returned if the user is wrong.
|
||||||
qDebug() << "******** Password is wrong!";
|
qDebug() << "******** Password is wrong!";
|
||||||
_errors << "The provided credentials are wrong.";
|
_errors << tr("The provided credentials are not correct");
|
||||||
stat = CredentialsWrong;
|
stat = CredentialsWrong;
|
||||||
|
} else if( reply->error() != QNetworkReply::NoError ) {
|
||||||
|
_errors << reply->errorString();
|
||||||
}
|
}
|
||||||
|
|
||||||
// disconnect from ownCloud Info signals
|
// disconnect from ownCloud Info signals
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
QStringList errors() const;
|
QStringList errors() const;
|
||||||
|
bool networkError() const;
|
||||||
|
|
||||||
void checkConnection();
|
void checkConnection();
|
||||||
|
|
||||||
@@ -64,6 +65,7 @@ protected slots:
|
|||||||
private:
|
private:
|
||||||
QStringList _errors;
|
QStringList _errors;
|
||||||
QString _connection;
|
QString _connection;
|
||||||
|
bool _networkError;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ QString CSyncThread::csyncErrorToString( CSYNC_ERROR_CODE err, const char *errSt
|
|||||||
}
|
}
|
||||||
|
|
||||||
if( errString ) {
|
if( errString ) {
|
||||||
errStr += tr("<br/>Backend Message: ")+QString::fromUtf8(errString);
|
errStr += tr(" Backend Message: ")+QString::fromUtf8(errString);
|
||||||
}
|
}
|
||||||
return errStr;
|
return errStr;
|
||||||
|
|
||||||
@@ -187,7 +187,9 @@ int CSyncThread::treewalkFile( TREE_WALK_FILE *file, bool remote )
|
|||||||
item._file = QString::fromUtf8( file->path );
|
item._file = QString::fromUtf8( file->path );
|
||||||
item._instruction = file->instruction;
|
item._instruction = file->instruction;
|
||||||
item._dir = SyncFileItem::None;
|
item._dir = SyncFileItem::None;
|
||||||
|
if(file->error_string) {
|
||||||
|
item._errorString = QString::fromUtf8(file->error_string);
|
||||||
|
}
|
||||||
SyncFileItem::Direction dir;
|
SyncFileItem::Direction dir;
|
||||||
|
|
||||||
int re = 0;
|
int re = 0;
|
||||||
|
|||||||
@@ -50,10 +50,13 @@ Folder::Folder(const QString &alias, const QString &path, const QString& secondP
|
|||||||
, _secondPath(secondPath)
|
, _secondPath(secondPath)
|
||||||
, _alias(alias)
|
, _alias(alias)
|
||||||
, _enabled(true)
|
, _enabled(true)
|
||||||
|
, _userSyncEnabled(true)
|
||||||
, _thread(0)
|
, _thread(0)
|
||||||
, _csync(0)
|
, _csync(0)
|
||||||
, _csyncError(false)
|
, _csyncError(false)
|
||||||
, _csyncUnavail(false)
|
, _csyncUnavail(false)
|
||||||
|
, _wipeDb(false)
|
||||||
|
, _proxyDirty(true)
|
||||||
, _csync_ctx(0)
|
, _csync_ctx(0)
|
||||||
{
|
{
|
||||||
qsrand(QTime::currentTime().msec());
|
qsrand(QTime::currentTime().msec());
|
||||||
@@ -111,6 +114,7 @@ bool Folder::init()
|
|||||||
}
|
}
|
||||||
return _csync_ctx;
|
return _csync_ctx;
|
||||||
}
|
}
|
||||||
|
|
||||||
Folder::~Folder()
|
Folder::~Folder()
|
||||||
{
|
{
|
||||||
if( _thread ) {
|
if( _thread ) {
|
||||||
@@ -196,19 +200,33 @@ bool Folder::syncEnabled() const
|
|||||||
void Folder::setSyncEnabled( bool doit )
|
void Folder::setSyncEnabled( bool doit )
|
||||||
{
|
{
|
||||||
_enabled = doit;
|
_enabled = doit;
|
||||||
_watcher->setEventsEnabled( doit );
|
|
||||||
|
|
||||||
qDebug() << "setSyncEnabled - ############################ " << doit;
|
if( doit && userSyncEnabled() ) {
|
||||||
if( doit ) {
|
// qDebug() << "Syncing enabled on folder " << name();
|
||||||
// undefined until next sync
|
_pollTimer.start();
|
||||||
_syncResult.setStatus( SyncResult::NotYetStarted);
|
_watcher->clearPendingEvents(); // FIXME 1.5: Why isn't that happening in setEventsEnabled?
|
||||||
_syncResult.clearErrors();
|
_watcher->setEventsEnabled(true);
|
||||||
evaluateSync( QStringList() );
|
_timeSinceLastSync.restart();
|
||||||
} else {
|
} else {
|
||||||
|
// do not stop or start the watcher here, that is done internally by
|
||||||
|
// folder class. Even if the watcher fires, the folder does not
|
||||||
|
// schedule itself because it checks the var. _enabled before.
|
||||||
_pollTimer.stop();
|
_pollTimer.stop();
|
||||||
|
_watcher->setEventsEnabled(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Folder::userSyncEnabled()
|
||||||
|
{
|
||||||
|
return _userSyncEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Folder::slotSetSyncUserEnabled( bool enable )
|
||||||
|
{
|
||||||
|
_userSyncEnabled = enable;
|
||||||
|
setSyncEnabled( syncEnabled() ); // no change on the system enable flag.
|
||||||
|
}
|
||||||
|
|
||||||
void Folder::setSyncState(SyncResult::Status state)
|
void Folder::setSyncState(SyncResult::Status state)
|
||||||
{
|
{
|
||||||
_syncResult.setStatus(state);
|
_syncResult.setStatus(state);
|
||||||
@@ -221,12 +239,17 @@ SyncResult Folder::syncResult() const
|
|||||||
|
|
||||||
void Folder::evaluateSync(const QStringList &/*pathList*/)
|
void Folder::evaluateSync(const QStringList &/*pathList*/)
|
||||||
{
|
{
|
||||||
if( !_enabled ) {
|
if( !syncEnabled() ) {
|
||||||
qDebug() << "*" << alias() << "sync skipped, disabled!";
|
qDebug() << "*" << alias() << "sync skipped, disabled!";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( !userSyncEnabled() ) {
|
||||||
|
qDebug() << "*" << alias() << "sync skipped, user disabled!";
|
||||||
|
return;
|
||||||
|
}
|
||||||
_syncResult.setStatus( SyncResult::NotYetStarted );
|
_syncResult.setStatus( SyncResult::NotYetStarted );
|
||||||
|
_syncResult.clearErrors();
|
||||||
emit scheduleToSync( alias() );
|
emit scheduleToSync( alias() );
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -235,8 +258,10 @@ void Folder::slotPollTimerTimeout()
|
|||||||
{
|
{
|
||||||
qDebug() << "* Polling" << alias() << "for changes. (time since next sync:" << (_timeSinceLastSync.elapsed() / 1000) << "s)";
|
qDebug() << "* Polling" << alias() << "for changes. (time since next sync:" << (_timeSinceLastSync.elapsed() / 1000) << "s)";
|
||||||
|
|
||||||
if (quint64(_timeSinceLastSync.elapsed()) > MirallConfigFile().forceSyncInterval()) {
|
// Force sync if the last sync is a long time ago or if there was a serious problem.
|
||||||
qDebug() << "* Force Sync now";
|
if (quint64(_timeSinceLastSync.elapsed()) > MirallConfigFile().forceSyncInterval() ||
|
||||||
|
!(_syncResult.status() == SyncResult::Success || _syncResult.status() == SyncResult::Problem)) {
|
||||||
|
qDebug() << "** Force Sync now";
|
||||||
evaluateSync(QStringList());
|
evaluateSync(QStringList());
|
||||||
} else {
|
} else {
|
||||||
RequestEtagJob* job = new RequestEtagJob(secondPath(), this);
|
RequestEtagJob* job = new RequestEtagJob(secondPath(), this);
|
||||||
@@ -288,7 +313,7 @@ void Folder::bubbleUpSyncResult()
|
|||||||
foreach (const SyncFileItem &item, _syncResult.syncFileItemVector() ) {
|
foreach (const SyncFileItem &item, _syncResult.syncFileItemVector() ) {
|
||||||
if( item._instruction == CSYNC_INSTRUCTION_ERROR ) {
|
if( item._instruction == CSYNC_INSTRUCTION_ERROR ) {
|
||||||
slotCSyncError( tr("File %1: %2").arg(item._file).arg(item._errorString) );
|
slotCSyncError( tr("File %1: %2").arg(item._file).arg(item._errorString) );
|
||||||
logger->postGuiLog(tr("File %1").arg(item._file), item._errorString);
|
logger->postOptionalGuiLog(tr("File %1").arg(item._file), item._errorString);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (item._dir == SyncFileItem::Down) {
|
if (item._dir == SyncFileItem::Down) {
|
||||||
@@ -339,25 +364,25 @@ void Folder::bubbleUpSyncResult()
|
|||||||
if (newItems > 0) {
|
if (newItems > 0) {
|
||||||
QString file = QDir::toNativeSeparators(firstItemNew._file);
|
QString file = QDir::toNativeSeparators(firstItemNew._file);
|
||||||
if (newItems == 1)
|
if (newItems == 1)
|
||||||
logger->postGuiLog(tr("New file available"), tr("'%1' has been synced to this machine.").arg(file));
|
logger->postOptionalGuiLog(tr("New file available"), tr("'%1' has been synced to this machine.").arg(file));
|
||||||
else
|
else
|
||||||
logger->postGuiLog(tr("New files available"), tr("'%1' and %n other file(s) have been synced to this machine.",
|
logger->postOptionalGuiLog(tr("New files available"), tr("'%1' and %n other file(s) have been synced to this machine.",
|
||||||
"", newItems-1).arg(file));
|
"", newItems-1).arg(file));
|
||||||
}
|
}
|
||||||
if (removedItems > 0) {
|
if (removedItems > 0) {
|
||||||
QString file = QDir::toNativeSeparators(firstItemDeleted._file);
|
QString file = QDir::toNativeSeparators(firstItemDeleted._file);
|
||||||
if (removedItems == 1)
|
if (removedItems == 1)
|
||||||
logger->postGuiLog(tr("File removed"), tr("'%1' has been removed.").arg(file));
|
logger->postOptionalGuiLog(tr("File removed"), tr("'%1' has been removed.").arg(file));
|
||||||
else
|
else
|
||||||
logger->postGuiLog(tr("Files removed"), tr("'%1' and %n other file(s) have been removed.",
|
logger->postOptionalGuiLog(tr("Files removed"), tr("'%1' and %n other file(s) have been removed.",
|
||||||
"", removedItems-1).arg(file));
|
"", removedItems-1).arg(file));
|
||||||
}
|
}
|
||||||
if (updatedItems > 0) {
|
if (updatedItems > 0) {
|
||||||
QString file = QDir::toNativeSeparators(firstItemUpdated._file);
|
QString file = QDir::toNativeSeparators(firstItemUpdated._file);
|
||||||
if (updatedItems == 1)
|
if (updatedItems == 1)
|
||||||
logger->postGuiLog(tr("File updated"), tr("'%1' has been updated.").arg(file));
|
logger->postOptionalGuiLog(tr("File updated"), tr("'%1' has been updated.").arg(file));
|
||||||
else
|
else
|
||||||
logger->postGuiLog(tr("Files updated"), tr("'%1' and %n other file(s) have been updated.",
|
logger->postOptionalGuiLog(tr("Files updated"), tr("'%1' and %n other file(s) have been updated.",
|
||||||
"", updatedItems-1).arg(file));
|
"", updatedItems-1).arg(file));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -399,7 +424,7 @@ void Folder::slotThreadTreeWalkResult(const SyncFileItemVector& items)
|
|||||||
|
|
||||||
void Folder::slotCatchWatcherError(const QString& error)
|
void Folder::slotCatchWatcherError(const QString& error)
|
||||||
{
|
{
|
||||||
Logger::instance()->postGuiLog(tr("Error"), error);
|
Logger::instance()->postOptionalGuiLog(tr("Error"), error);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Folder::slotTerminateSync()
|
void Folder::slotTerminateSync()
|
||||||
@@ -432,6 +457,7 @@ void Folder::slotTerminateSync()
|
|||||||
_csyncError = true;
|
_csyncError = true;
|
||||||
qDebug() << "-> CSync Terminated!";
|
qDebug() << "-> CSync Terminated!";
|
||||||
slotCSyncFinished();
|
slotCSyncFinished();
|
||||||
|
setSyncEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This removes the csync File database if the sync folder definition is removed
|
// This removes the csync File database if the sync folder definition is removed
|
||||||
@@ -499,10 +525,21 @@ void Folder::setProxy()
|
|||||||
csync_set_module_property(_csync_ctx, "proxy_user", proxy.user().toUtf8().data() );
|
csync_set_module_property(_csync_ctx, "proxy_user", proxy.user().toUtf8().data() );
|
||||||
csync_set_module_property(_csync_ctx, "proxy_pwd" , proxy.password().toUtf8().data() );
|
csync_set_module_property(_csync_ctx, "proxy_pwd" , proxy.password().toUtf8().data() );
|
||||||
|
|
||||||
FolderMan::instance()->setDirtyProxy(false);
|
setProxyDirty(false);
|
||||||
|
} else {
|
||||||
|
qDebug() << "WRN: Unable to set Proxy without csync-ctx!";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Folder::setProxyDirty(bool value)
|
||||||
|
{
|
||||||
|
_proxyDirty = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Folder::proxyDirty()
|
||||||
|
{
|
||||||
|
return _proxyDirty;
|
||||||
|
}
|
||||||
|
|
||||||
const char* Folder::proxyTypeToCStr(QNetworkProxy::ProxyType type)
|
const char* Folder::proxyTypeToCStr(QNetworkProxy::ProxyType type)
|
||||||
{
|
{
|
||||||
@@ -538,7 +575,7 @@ void Folder::startSync(const QStringList &pathList)
|
|||||||
QMetaObject::invokeMethod(this, "slotCSyncFinished", Qt::QueuedConnection);
|
QMetaObject::invokeMethod(this, "slotCSyncFinished", Qt::QueuedConnection);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (FolderMan::instance()->isDirtyProxy()) {
|
} else if (proxyDirty()) {
|
||||||
setProxy();
|
setProxy();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -561,7 +598,6 @@ void Folder::startSync(const QStringList &pathList)
|
|||||||
|
|
||||||
qDebug() << "*** Start syncing";
|
qDebug() << "*** Start syncing";
|
||||||
_thread = new QThread(this);
|
_thread = new QThread(this);
|
||||||
_thread->setPriority(QThread::LowPriority);
|
|
||||||
setIgnoredFiles();
|
setIgnoredFiles();
|
||||||
_csync = new CSyncThread( _csync_ctx );
|
_csync = new CSyncThread( _csync_ctx );
|
||||||
_csync->moveToThread(_thread);
|
_csync->moveToThread(_thread);
|
||||||
@@ -584,6 +620,7 @@ void Folder::startSync(const QStringList &pathList)
|
|||||||
connect(_csync, SIGNAL(transmissionProgress(Progress::Info)), this, SLOT(slotTransmissionProgress(Progress::Info)));
|
connect(_csync, SIGNAL(transmissionProgress(Progress::Info)), this, SLOT(slotTransmissionProgress(Progress::Info)));
|
||||||
|
|
||||||
_thread->start();
|
_thread->start();
|
||||||
|
_thread->setPriority(QThread::LowPriority);
|
||||||
QMetaObject::invokeMethod(_csync, "startSync", Qt::QueuedConnection);
|
QMetaObject::invokeMethod(_csync, "startSync", Qt::QueuedConnection);
|
||||||
|
|
||||||
// disable events until syncing is done
|
// disable events until syncing is done
|
||||||
@@ -612,10 +649,13 @@ void Folder::slotCsyncUnavailable()
|
|||||||
|
|
||||||
void Folder::slotCSyncFinished()
|
void Folder::slotCSyncFinished()
|
||||||
{
|
{
|
||||||
qDebug() << "-> CSync Finished slot with error " << _csyncError;
|
qDebug() << "-> CSync Finished slot for" << alias() << "with error" << _csyncError;
|
||||||
_watcher->setEventsEnabledDelayed(2000);
|
if( syncEnabled() && userSyncEnabled() ) {
|
||||||
_pollTimer.start();
|
qDebug() << "Sync is enabled - starting the polltimer again.";
|
||||||
_timeSinceLastSync.restart();
|
_watcher->setEventsEnabledDelayed(2000);
|
||||||
|
_pollTimer.start();
|
||||||
|
_timeSinceLastSync.restart();
|
||||||
|
}
|
||||||
|
|
||||||
bubbleUpSyncResult();
|
bubbleUpSyncResult();
|
||||||
|
|
||||||
|
|||||||
@@ -150,6 +150,16 @@ public slots:
|
|||||||
*/
|
*/
|
||||||
void startSync(const QStringList &pathList = QStringList());
|
void startSync(const QStringList &pathList = QStringList());
|
||||||
|
|
||||||
|
void setProxyDirty(bool value);
|
||||||
|
bool proxyDirty();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief slotSetSyncUserEnabled - slot that sets the enable/disable flag from the GUI
|
||||||
|
* @param enable
|
||||||
|
*/
|
||||||
|
void slotSetSyncUserEnabled( bool enable );
|
||||||
|
bool userSyncEnabled();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void slotCSyncStarted();
|
void slotCSyncStarted();
|
||||||
void slotCSyncError(const QString& );
|
void slotCSyncError(const QString& );
|
||||||
@@ -194,6 +204,7 @@ protected:
|
|||||||
QString _configFile;
|
QString _configFile;
|
||||||
QFileSystemWatcher *_pathWatcher;
|
QFileSystemWatcher *_pathWatcher;
|
||||||
bool _enabled;
|
bool _enabled;
|
||||||
|
bool _userSyncEnabled; // enabled by user interaction?
|
||||||
FolderWatcher *_watcher;
|
FolderWatcher *_watcher;
|
||||||
SyncResult _syncResult;
|
SyncResult _syncResult;
|
||||||
QThread *_thread;
|
QThread *_thread;
|
||||||
@@ -202,6 +213,7 @@ protected:
|
|||||||
bool _csyncError;
|
bool _csyncError;
|
||||||
bool _csyncUnavail;
|
bool _csyncUnavail;
|
||||||
bool _wipeDb;
|
bool _wipeDb;
|
||||||
|
bool _proxyDirty;
|
||||||
Progress::Kind _progressKind;
|
Progress::Kind _progressKind;
|
||||||
QTimer _pollTimer;
|
QTimer _pollTimer;
|
||||||
QString _lastEtag;
|
QString _lastEtag;
|
||||||
|
|||||||
@@ -37,8 +37,7 @@ FolderMan* FolderMan::_instance = 0;
|
|||||||
|
|
||||||
FolderMan::FolderMan(QObject *parent) :
|
FolderMan::FolderMan(QObject *parent) :
|
||||||
QObject(parent),
|
QObject(parent),
|
||||||
_syncEnabled( true ),
|
_syncEnabled( true )
|
||||||
_dirtyProxy( true )
|
|
||||||
{
|
{
|
||||||
// if QDir::mkpath would not be so stupid, I would not need to have this
|
// if QDir::mkpath would not be so stupid, I would not need to have this
|
||||||
// duplication of folderConfigPath() here
|
// duplication of folderConfigPath() here
|
||||||
@@ -270,7 +269,7 @@ Folder* FolderMan::setupFolderFromConfigFile(const QString &file) {
|
|||||||
return folder;
|
return folder;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FolderMan::slotEnableFolder( const QString& alias, bool enable )
|
void FolderMan::slotGuiPauseFolder( const QString& alias, bool enable )
|
||||||
{
|
{
|
||||||
if( ! _folderMap.contains( alias ) ) {
|
if( ! _folderMap.contains( alias ) ) {
|
||||||
qDebug() << "!! Can not enable alias " << alias << ", can not be found in folderMap.";
|
qDebug() << "!! Can not enable alias " << alias << ", can not be found in folderMap.";
|
||||||
@@ -279,7 +278,8 @@ void FolderMan::slotEnableFolder( const QString& alias, bool enable )
|
|||||||
|
|
||||||
Folder *f = _folderMap[alias];
|
Folder *f = _folderMap[alias];
|
||||||
if( f ) {
|
if( f ) {
|
||||||
f->setSyncEnabled(enable);
|
f->slotSetSyncUserEnabled(enable);
|
||||||
|
f->evaluateSync(QStringList());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -361,6 +361,10 @@ void FolderMan::setSyncEnabled( bool enabled )
|
|||||||
QTimer::singleShot(200, this, SLOT(slotScheduleFolderSync()));
|
QTimer::singleShot(200, this, SLOT(slotScheduleFolderSync()));
|
||||||
}
|
}
|
||||||
_syncEnabled = enabled;
|
_syncEnabled = enabled;
|
||||||
|
|
||||||
|
foreach( Folder *f, _folderMap.values() ) {
|
||||||
|
f->setSyncEnabled(enabled);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -386,8 +390,8 @@ void FolderMan::slotScheduleFolderSync()
|
|||||||
if( _folderMap.contains( alias ) ) {
|
if( _folderMap.contains( alias ) ) {
|
||||||
ownCloudInfo::instance()->getQuotaRequest("/");
|
ownCloudInfo::instance()->getQuotaRequest("/");
|
||||||
Folder *f = _folderMap[alias];
|
Folder *f = _folderMap[alias];
|
||||||
_currentSyncFolder = alias;
|
if( f->syncEnabled() ) {
|
||||||
if (f->syncEnabled()) {
|
_currentSyncFolder = alias;
|
||||||
f->startSync( QStringList() );
|
f->startSync( QStringList() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -467,7 +471,10 @@ void FolderMan::removeFolder( const QString& alias )
|
|||||||
qDebug() << "Remove folder config file " << file.fileName();
|
qDebug() << "Remove folder config file " << file.fileName();
|
||||||
file.remove();
|
file.remove();
|
||||||
}
|
}
|
||||||
f->deleteLater();
|
// FIXME: this is a temporar dirty fix against a crash happening because
|
||||||
|
// the csync owncloud module still has static components. Activate the
|
||||||
|
// delete once the module is fixed.
|
||||||
|
// f->deleteLater();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -513,6 +520,14 @@ bool FolderMan::startFromScratch( const QString& localFolder )
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FolderMan::setDirtyProxy(bool value)
|
||||||
|
{
|
||||||
|
foreach( Folder *f, _folderMap.values() ) {
|
||||||
|
f->setProxyDirty(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
SyncResult FolderMan::accountStatus(const QList<Folder*> &folders)
|
SyncResult FolderMan::accountStatus(const QList<Folder*> &folders)
|
||||||
{
|
{
|
||||||
SyncResult overallResult(SyncResult::Undefined);
|
SyncResult overallResult(SyncResult::Undefined);
|
||||||
@@ -538,6 +553,7 @@ SyncResult FolderMan::accountStatus(const QList<Folder*> &folders)
|
|||||||
case SyncResult::Unavailable:
|
case SyncResult::Unavailable:
|
||||||
overallResult.setStatus( SyncResult::Unavailable );
|
overallResult.setStatus( SyncResult::Unavailable );
|
||||||
break;
|
break;
|
||||||
|
case SyncResult::Problem:
|
||||||
case SyncResult::Success:
|
case SyncResult::Success:
|
||||||
if( overallResult.status() == SyncResult::Undefined )
|
if( overallResult.status() == SyncResult::Undefined )
|
||||||
overallResult.setStatus( SyncResult::Success );
|
overallResult.setStatus( SyncResult::Success );
|
||||||
@@ -549,10 +565,7 @@ SyncResult FolderMan::accountStatus(const QList<Folder*> &folders)
|
|||||||
if ( overallResult.status() != SyncResult::Error )
|
if ( overallResult.status() != SyncResult::Error )
|
||||||
overallResult.setStatus( SyncResult::SetupError );
|
overallResult.setStatus( SyncResult::SetupError );
|
||||||
break;
|
break;
|
||||||
case SyncResult::Problem:
|
|
||||||
if ( overallResult.status() != SyncResult::Problem )
|
|
||||||
overallResult.setStatus( SyncResult::Problem );
|
|
||||||
break;
|
|
||||||
// no default case on purpose, check compiler warnings
|
// no default case on purpose, check compiler warnings
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ signals:
|
|||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void slotRemoveFolder( const QString& );
|
void slotRemoveFolder( const QString& );
|
||||||
void slotEnableFolder( const QString&, bool );
|
void slotGuiPauseFolder( const QString&, bool );
|
||||||
|
|
||||||
void slotFolderSyncStarted();
|
void slotFolderSyncStarted();
|
||||||
void slotFolderSyncFinished( const SyncResult& );
|
void slotFolderSyncFinished( const SyncResult& );
|
||||||
@@ -109,8 +109,7 @@ public slots:
|
|||||||
|
|
||||||
void slotScheduleAllFolders();
|
void slotScheduleAllFolders();
|
||||||
|
|
||||||
bool isDirtyProxy() { return _dirtyProxy; }
|
void setDirtyProxy(bool value = true);
|
||||||
void setDirtyProxy(bool value = true) { _dirtyProxy = value; }
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
// slot to add a folder to the syncing queue
|
// slot to add a folder to the syncing queue
|
||||||
|
|||||||
@@ -81,8 +81,9 @@ QSize FolderStatusDelegate::sizeHint(const QStyleOptionViewItem & option ,
|
|||||||
h += aliasMargin; // bottom margin
|
h += aliasMargin; // bottom margin
|
||||||
|
|
||||||
// add some space to show an error condition.
|
// add some space to show an error condition.
|
||||||
if( ! qvariant_cast<QString>(index.data(FolderErrorMsg)).isEmpty() ) {
|
if( ! qvariant_cast<QStringList>(index.data(FolderErrorMsg)).isEmpty() ) {
|
||||||
h += aliasMargin*2+fm.height();
|
QStringList errMsgs = qvariant_cast<QStringList>(index.data(FolderErrorMsg));
|
||||||
|
h += aliasMargin*2 + errMsgs.count()*fm.height();
|
||||||
}
|
}
|
||||||
|
|
||||||
if( qvariant_cast<bool>(index.data(AddProgressSpace)) ) {
|
if( qvariant_cast<bool>(index.data(AddProgressSpace)) ) {
|
||||||
@@ -122,7 +123,7 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
|
|||||||
QString aliasText = qvariant_cast<QString>(index.data(FolderAliasRole));
|
QString aliasText = qvariant_cast<QString>(index.data(FolderAliasRole));
|
||||||
QString pathText = qvariant_cast<QString>(index.data(FolderPathRole));
|
QString pathText = qvariant_cast<QString>(index.data(FolderPathRole));
|
||||||
QString remotePath = qvariant_cast<QString>(index.data(FolderSecondPathRole));
|
QString remotePath = qvariant_cast<QString>(index.data(FolderSecondPathRole));
|
||||||
QString errorText = qvariant_cast<QString>(index.data(FolderErrorMsg));
|
QStringList errorTexts= qvariant_cast<QStringList>(index.data(FolderErrorMsg));
|
||||||
|
|
||||||
int overallPercent = qvariant_cast<int>(index.data(SyncProgressOverallPercent));
|
int overallPercent = qvariant_cast<int>(index.data(SyncProgressOverallPercent));
|
||||||
QString overallString = qvariant_cast<QString>(index.data(SyncProgressOverallString));
|
QString overallString = qvariant_cast<QString>(index.data(SyncProgressOverallString));
|
||||||
@@ -211,12 +212,12 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
|
|||||||
// paint an error overlay if there is an error string
|
// paint an error overlay if there is an error string
|
||||||
|
|
||||||
int h = iconRect.bottom();
|
int h = iconRect.bottom();
|
||||||
if( !errorText.isEmpty() ) {
|
if( !errorTexts.isEmpty() ) {
|
||||||
h += aliasMargin;
|
h += aliasMargin;
|
||||||
QRect errorRect = localPathRect;
|
QRect errorRect = localPathRect;
|
||||||
errorRect.setLeft( iconRect.left());
|
errorRect.setLeft( iconRect.left());
|
||||||
errorRect.setTop( h );
|
errorRect.setTop( h );
|
||||||
errorRect.setHeight(subFm.height()+aliasMargin);
|
errorRect.setHeight(errorTexts.count() * subFm.height()+aliasMargin);
|
||||||
errorRect.setRight( option.rect.right()-aliasMargin );
|
errorRect.setRight( option.rect.right()-aliasMargin );
|
||||||
|
|
||||||
painter->setBrush( QColor(0xbb, 0x4d, 0x4d) );
|
painter->setBrush( QColor(0xbb, 0x4d, 0x4d) );
|
||||||
@@ -226,15 +227,16 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
|
|||||||
painter->setPen( Qt::white );
|
painter->setPen( Qt::white );
|
||||||
painter->setFont(errorFont);
|
painter->setFont(errorFont);
|
||||||
QRect errorTextRect = errorRect;
|
QRect errorTextRect = errorRect;
|
||||||
errorTextRect.setLeft( errorTextRect.left()+aliasMargin +16);
|
errorTextRect.setLeft( errorTextRect.left()+aliasMargin );
|
||||||
errorTextRect.setTop( errorTextRect.top()+aliasMargin/2 );
|
errorTextRect.setTop( errorTextRect.top()+aliasMargin/2 );
|
||||||
|
|
||||||
int linebreak = errorText.indexOf(QLatin1String("<br"));
|
int x = errorTextRect.left();
|
||||||
QString eText = errorText;
|
int y = errorTextRect.top()+aliasMargin/2 + subFm.height()/2;
|
||||||
if(linebreak) {
|
|
||||||
eText = errorText.left(linebreak);
|
foreach( QString eText, errorTexts ) {
|
||||||
|
painter->drawText(x, y, subFm.elidedText( eText, Qt::ElideLeft, errorTextRect.width()-2*aliasMargin));
|
||||||
|
y += subFm.height();
|
||||||
}
|
}
|
||||||
painter->drawText(errorTextRect, eText);
|
|
||||||
|
|
||||||
h = errorRect.bottom();
|
h = errorRect.bottom();
|
||||||
}
|
}
|
||||||
@@ -249,8 +251,8 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
|
|||||||
painter->save();
|
painter->save();
|
||||||
|
|
||||||
// Sizes-Text
|
// Sizes-Text
|
||||||
QRect octetRect = subFm.boundingRect( overallString );
|
QRect octetRect = progressFm.boundingRect( overallString );
|
||||||
int progressTextWidth = octetRect.width();
|
int progressTextWidth = octetRect.width() + 2;
|
||||||
|
|
||||||
// Overall Progress Bar.
|
// Overall Progress Bar.
|
||||||
QRect pBRect;
|
QRect pBRect;
|
||||||
@@ -279,8 +281,7 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
|
|||||||
overallProgressRect.setWidth( progressTextWidth );
|
overallProgressRect.setWidth( progressTextWidth );
|
||||||
painter->setFont(progressFont);
|
painter->setFont(progressFont);
|
||||||
|
|
||||||
QString elidedText = progressFm.elidedText(overallString, Qt::ElideLeft, overallProgressRect.width());
|
painter->drawText( overallProgressRect, Qt::AlignRight+Qt::AlignVCenter, overallString);
|
||||||
painter->drawText( overallProgressRect, Qt::AlignRight+Qt::AlignVCenter, elidedText);
|
|
||||||
// painter->drawRect(overallProgressRect);
|
// painter->drawRect(overallProgressRect);
|
||||||
|
|
||||||
// Individual File Progress
|
// Individual File Progress
|
||||||
@@ -289,7 +290,7 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
|
|||||||
fileRect.setLeft( iconRect.left());
|
fileRect.setLeft( iconRect.left());
|
||||||
fileRect.setWidth(overallWidth);
|
fileRect.setWidth(overallWidth);
|
||||||
fileRect.setHeight(fileNameTextHeight);
|
fileRect.setHeight(fileNameTextHeight);
|
||||||
elidedText = progressFm.elidedText(itemString, Qt::ElideLeft, fileRect.width());
|
QString elidedText = progressFm.elidedText(itemString, Qt::ElideLeft, fileRect.width());
|
||||||
|
|
||||||
painter->drawText( fileRect, Qt::AlignLeft+Qt::AlignVCenter, elidedText);
|
painter->drawText( fileRect, Qt::AlignLeft+Qt::AlignVCenter, elidedText);
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ void FolderWatcher::addIgnoreListFile( const QString& file )
|
|||||||
|
|
||||||
while (!infile.atEnd()) {
|
while (!infile.atEnd()) {
|
||||||
QString line = QString::fromLocal8Bit( infile.readLine() ).trimmed();
|
QString line = QString::fromLocal8Bit( infile.readLine() ).trimmed();
|
||||||
if( !line.startsWith( QLatin1Char('#') ) && line.isEmpty() ) {
|
if( !(line.startsWith( QLatin1Char('#') ) || line.isEmpty()) ) {
|
||||||
_ignores.append(line);
|
_ignores.append(line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,8 +50,7 @@ void FolderWatcherPrivate::slotAddFolderRecursive(const QString &path)
|
|||||||
qDebug() << "(+) Watcher:" << path;
|
qDebug() << "(+) Watcher:" << path;
|
||||||
|
|
||||||
if (!_inotify->addPath(path)) {
|
if (!_inotify->addPath(path)) {
|
||||||
FolderWatcher *fw = qobject_cast<FolderWatcher*>(parent());
|
emit _parent->error(tr("Could not monitor directories due to system limitations.\n"
|
||||||
emit fw->error(tr("Could not monitor directories due to system limitations.\n"
|
|
||||||
"The application will not work reliably. Please check the\n"
|
"The application will not work reliably. Please check the\n"
|
||||||
"documentation for possible fixes."));
|
"documentation for possible fixes."));
|
||||||
}
|
}
|
||||||
@@ -133,7 +132,16 @@ void FolderWatcherPrivate::slotINotifyEvent(int mask, int /*cookie*/, const QStr
|
|||||||
//qDebug() << cookie << " OTHER " << mask << " :" << path;
|
//qDebug() << cookie << " OTHER " << mask << " :" << path;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (const QString& pattern, _parent->ignores()) {
|
QStringList ignores = _parent->ignores();
|
||||||
|
|
||||||
|
if( path.endsWith(".csync_journal.db.ctmp") ||
|
||||||
|
path.endsWith(".csync_journal.db.ctmp-journal") ||
|
||||||
|
path.endsWith(".csync_journal.db")) {
|
||||||
|
qDebug() << " ** Inotify ignored for " <<path;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (const QString& pattern, ignores) {
|
||||||
QRegExp regexp(pattern);
|
QRegExp regexp(pattern);
|
||||||
regexp.setPatternSyntax(QRegExp::Wildcard);
|
regexp.setPatternSyntax(QRegExp::Wildcard);
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "mirall/folderwizard.h"
|
#include "mirall/folderwizard.h"
|
||||||
|
#include "mirall/folderman.h"
|
||||||
#include "mirall/owncloudinfo.h"
|
#include "mirall/owncloudinfo.h"
|
||||||
#include "mirall/mirallconfigfile.h"
|
#include "mirall/mirallconfigfile.h"
|
||||||
#include "mirall/theme.h"
|
#include "mirall/theme.h"
|
||||||
@@ -242,6 +243,7 @@ static void recursiveInsert(QTreeWidgetItem *parent, QStringList pathTrail, QStr
|
|||||||
item = new QTreeWidgetItem(parent);
|
item = new QTreeWidgetItem(parent);
|
||||||
item->setIcon(0, folderIcon);
|
item->setIcon(0, folderIcon);
|
||||||
item->setText(0, pathTrail.first());
|
item->setText(0, pathTrail.first());
|
||||||
|
item->setData(0, Qt::UserRole, pathTrail.first());
|
||||||
item->setChildIndicatorPolicy(QTreeWidgetItem::ShowIndicator);
|
item->setChildIndicatorPolicy(QTreeWidgetItem::ShowIndicator);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -252,17 +254,13 @@ static void recursiveInsert(QTreeWidgetItem *parent, QStringList pathTrail, QStr
|
|||||||
|
|
||||||
void FolderWizardTargetPage::slotUpdateDirectories(QStringList list)
|
void FolderWizardTargetPage::slotUpdateDirectories(QStringList list)
|
||||||
{
|
{
|
||||||
QFileIconProvider prov;
|
|
||||||
QIcon folderIcon = prov.icon(QFileIconProvider::Folder);
|
|
||||||
|
|
||||||
QString webdavFolder = QUrl(ownCloudInfo::instance()->webdavUrl()).path();
|
QString webdavFolder = QUrl(ownCloudInfo::instance()->webdavUrl()).path();
|
||||||
connect(_ui.folderTreeWidget, SIGNAL(itemExpanded(QTreeWidgetItem*)), SLOT(slotItemExpanded(QTreeWidgetItem*)));
|
|
||||||
|
|
||||||
QTreeWidgetItem *root = _ui.folderTreeWidget->topLevelItem(0);
|
QTreeWidgetItem *root = _ui.folderTreeWidget->topLevelItem(0);
|
||||||
if (!root) {
|
if (!root) {
|
||||||
root = new QTreeWidgetItem(_ui.folderTreeWidget);
|
root = new QTreeWidgetItem(_ui.folderTreeWidget);
|
||||||
root->setText(0, tr("Root (\"/\")", "root folder"));
|
root->setText(0, Theme::instance()->appNameGUI());
|
||||||
root->setIcon(0, folderIcon);
|
root->setIcon(0, Theme::instance()->applicationIcon());
|
||||||
root->setToolTip(0, tr("Choose this to sync the entire account"));
|
root->setToolTip(0, tr("Choose this to sync the entire account"));
|
||||||
root->setData(0, Qt::UserRole, "/");
|
root->setData(0, Qt::UserRole, "/");
|
||||||
}
|
}
|
||||||
@@ -283,7 +281,7 @@ void FolderWizardTargetPage::slotRefreshFolders()
|
|||||||
|
|
||||||
void FolderWizardTargetPage::slotItemExpanded(QTreeWidgetItem *item)
|
void FolderWizardTargetPage::slotItemExpanded(QTreeWidgetItem *item)
|
||||||
{
|
{
|
||||||
ownCloudInfo::instance()->getDirectoryListing(item->text(0));
|
ownCloudInfo::instance()->getDirectoryListing(item->data(0, Qt::UserRole).toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
FolderWizardTargetPage::~FolderWizardTargetPage()
|
FolderWizardTargetPage::~FolderWizardTargetPage()
|
||||||
@@ -298,6 +296,22 @@ bool FolderWizardTargetPage::isComplete() const
|
|||||||
QString dir = _ui.folderTreeWidget->currentItem()->data(0, Qt::UserRole).toString();
|
QString dir = _ui.folderTreeWidget->currentItem()->data(0, Qt::UserRole).toString();
|
||||||
wizard()->setProperty("targetPath", dir);
|
wizard()->setProperty("targetPath", dir);
|
||||||
|
|
||||||
|
Folder::Map map = _folderMap;
|
||||||
|
Folder::Map::const_iterator i = map.constBegin();
|
||||||
|
for(i = map.constBegin();i != map.constEnd(); i++ ) {
|
||||||
|
Folder *f = static_cast<Folder*>(i.value());
|
||||||
|
QString curDir = f->secondPath();
|
||||||
|
if (dir == curDir) {
|
||||||
|
showWarn( tr("This directory is already being synced.") );
|
||||||
|
return false;
|
||||||
|
} else if (dir.startsWith(curDir)) {
|
||||||
|
if (dir.isEmpty()) dir = QLatin1Char('/');
|
||||||
|
if (curDir.isEmpty()) curDir = QLatin1Char('/');
|
||||||
|
showWarn( tr("You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>.").arg(curDir).arg(dir) );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if( dir == QLatin1String("/") ) {
|
if( dir == QLatin1String("/") ) {
|
||||||
showWarn( tr("If you sync the root folder, you can <b>not</b> configure another sync directory."));
|
showWarn( tr("If you sync the root folder, you can <b>not</b> configure another sync directory."));
|
||||||
return true;
|
return true;
|
||||||
@@ -325,6 +339,8 @@ void FolderWizardTargetPage::initializePage()
|
|||||||
SLOT(slotCreateRemoteFolderFinished( QNetworkReply::NetworkError )));
|
SLOT(slotCreateRemoteFolderFinished( QNetworkReply::NetworkError )));
|
||||||
connect( ocInfo, SIGNAL(directoryListingUpdated(QStringList)),
|
connect( ocInfo, SIGNAL(directoryListingUpdated(QStringList)),
|
||||||
SLOT(slotUpdateDirectories(QStringList)));
|
SLOT(slotUpdateDirectories(QStringList)));
|
||||||
|
connect(_ui.folderTreeWidget, SIGNAL(itemExpanded(QTreeWidgetItem*)),
|
||||||
|
SLOT(slotItemExpanded(QTreeWidgetItem*)));
|
||||||
|
|
||||||
slotRefreshFolders();
|
slotRefreshFolders();
|
||||||
}
|
}
|
||||||
@@ -370,6 +386,7 @@ FolderWizard::~FolderWizard()
|
|||||||
void FolderWizard::setFolderMap( const Folder::Map& fm)
|
void FolderWizard::setFolderMap( const Folder::Map& fm)
|
||||||
{
|
{
|
||||||
_folderWizardSourcePage->setFolderMap( fm );
|
_folderWizardSourcePage->setFolderMap( fm );
|
||||||
|
_folderWizardTargetPage->setFolderMap( fm );
|
||||||
}
|
}
|
||||||
|
|
||||||
} // end namespace
|
} // end namespace
|
||||||
|
|||||||
@@ -69,6 +69,8 @@ public:
|
|||||||
virtual void initializePage();
|
virtual void initializePage();
|
||||||
virtual void cleanupPage();
|
virtual void cleanupPage();
|
||||||
|
|
||||||
|
void setFolderMap( const Folder::Map &fm ) { _folderMap = fm; }
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
|
|
||||||
void showWarn( const QString& = QString() ) const;
|
void showWarn( const QString& = QString() ) const;
|
||||||
@@ -83,6 +85,7 @@ private:
|
|||||||
ownCloudInfo *_ownCloudDirCheck;
|
ownCloudInfo *_ownCloudDirCheck;
|
||||||
bool _dirChecked;
|
bool _dirChecked;
|
||||||
bool _warnWasVisible;
|
bool _warnWasVisible;
|
||||||
|
Folder::Map _folderMap;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -53,12 +53,9 @@ GeneralSettings::GeneralSettings(QWidget *parent) :
|
|||||||
|
|
||||||
// OEM themes are not obliged to ship mono icons, so there
|
// OEM themes are not obliged to ship mono icons, so there
|
||||||
// is no point in offering an option
|
// is no point in offering an option
|
||||||
QString themeDir = QString::fromLatin1(":/mirall/theme/1%1/")
|
QString themeDir = QString::fromLatin1(":/mirall/theme/%1/")
|
||||||
.arg(Theme::instance()->systrayIconFlavor(true));
|
.arg(Theme::instance()->systrayIconFlavor(true));
|
||||||
if (QDir(themeDir).exists())
|
_ui->monoIconsCheckBox->setVisible(QDir(themeDir).exists());
|
||||||
{
|
|
||||||
_ui->monoIconsCheckBox->setVisible(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ void INotify::slotActivated(int /*fd*/)
|
|||||||
// with the help of watch descriptor, retrieve, corresponding INotify
|
// with the help of watch descriptor, retrieve, corresponding INotify
|
||||||
if (event == NULL) {
|
if (event == NULL) {
|
||||||
qDebug() << "NULL event";
|
qDebug() << "NULL event";
|
||||||
|
i += sizeof(struct inotify_event);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ ItemProgressDialog::ItemProgressDialog(Application*, QWidget *parent) :
|
|||||||
connect(ProgressDispatcher::instance(), SIGNAL(progressSyncProblem(const QString&,const Progress::SyncProblem&)),
|
connect(ProgressDispatcher::instance(), SIGNAL(progressSyncProblem(const QString&,const Progress::SyncProblem&)),
|
||||||
this, SLOT(slotProgressErrors(const QString&, const Progress::SyncProblem&)));
|
this, SLOT(slotProgressErrors(const QString&, const Progress::SyncProblem&)));
|
||||||
|
|
||||||
|
// Adjust copyToClipboard() when making changes here!
|
||||||
QStringList header;
|
QStringList header;
|
||||||
header << tr("Time");
|
header << tr("Time");
|
||||||
header << tr("File");
|
header << tr("File");
|
||||||
@@ -116,22 +117,28 @@ void ItemProgressDialog::setSyncResult( const SyncResult& result )
|
|||||||
columns << item._file;
|
columns << item._file;
|
||||||
columns << folder;
|
columns << folder;
|
||||||
if( item._instruction == CSYNC_INSTRUCTION_IGNORE) {
|
if( item._instruction == CSYNC_INSTRUCTION_IGNORE) {
|
||||||
if( item._type == SyncFileItem::File ) {
|
if( item._type == SyncFileItem::SoftLink ) {
|
||||||
errMsg = tr("File ignored.");
|
errMsg = tr("Soft Link ignored");
|
||||||
tooltip = tr("The file was ignored because it is listed in the clients ignore list\n"
|
|
||||||
"or the filename contains characters that are not syncable\nin a cross platform "
|
|
||||||
"environment.");
|
|
||||||
} else if( item._type == SyncFileItem::Directory ){
|
|
||||||
errMsg = tr("Directory ignored.");
|
|
||||||
tooltip = tr("The directory was ignored because it is listed in the clients\nignore list "
|
|
||||||
"or the directory name contains\ncharacters that are not syncable in a cross "
|
|
||||||
"platform environment.");
|
|
||||||
} else if( item._type == SyncFileItem::SoftLink ) {
|
|
||||||
errMsg = tr("Soft Link ignored.");
|
|
||||||
tooltip = tr("Softlinks break the semantics of synchronization.\nPlease do not "
|
tooltip = tr("Softlinks break the semantics of synchronization.\nPlease do not "
|
||||||
"use them in synced directories.");
|
"use them in synced directories");
|
||||||
} else {
|
} else {
|
||||||
errMsg = tr("Ignored.");
|
QString obj = tr("file");
|
||||||
|
if( item._type == SyncFileItem::Directory ) {
|
||||||
|
obj = tr("directory");
|
||||||
|
}
|
||||||
|
tooltip = tr("The %1 was ignored because it is listed in the clients ignore list\n"
|
||||||
|
"or the %1 name contains characters that are not syncable\nin a cross platform "
|
||||||
|
"environment").arg(obj);
|
||||||
|
errMsg = tr("Item ignored");
|
||||||
|
if( item._errorString == QLatin1String("File listed on ignore list.") ) {
|
||||||
|
errMsg = tr("%1 on ignore list").arg(obj);
|
||||||
|
tooltip = tr("The %1 was skipped because it is listed on the clients\n"
|
||||||
|
"list of names to ignore").arg(obj);
|
||||||
|
} else if( item._errorString == QLatin1String("File contains invalid characters.") ) {
|
||||||
|
errMsg = tr("Invalid characters");
|
||||||
|
tooltip = tr("The %1 name contains one or more invalid characters which break\n"
|
||||||
|
"syncing in a cross platform environment").arg(obj);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if( item._instruction == CSYNC_INSTRUCTION_CONFLICT ) {
|
} else if( item._instruction == CSYNC_INSTRUCTION_CONFLICT ) {
|
||||||
errMsg = tr("Conflict file.");
|
errMsg = tr("Conflict file.");
|
||||||
@@ -204,13 +211,16 @@ void ItemProgressDialog::copyToClipboard()
|
|||||||
int topLevelItems = _ui->_treeWidget->topLevelItemCount();
|
int topLevelItems = _ui->_treeWidget->topLevelItemCount();
|
||||||
for (int i = 0; i < topLevelItems; i++) {
|
for (int i = 0; i < topLevelItems; i++) {
|
||||||
QTreeWidgetItem *child = _ui->_treeWidget->topLevelItem(i);
|
QTreeWidgetItem *child = _ui->_treeWidget->topLevelItem(i);
|
||||||
// time stamp
|
ts << left
|
||||||
ts << left << qSetFieldWidth(10)
|
// time stamp
|
||||||
|
<< qSetFieldWidth(10)
|
||||||
<< child->data(0,Qt::DisplayRole).toString()
|
<< child->data(0,Qt::DisplayRole).toString()
|
||||||
// file name
|
// file name
|
||||||
<< qSetFieldWidth(64)
|
<< qSetFieldWidth(64)
|
||||||
<< child->data(1,Qt::DisplayRole).toString()
|
<< child->data(1,Qt::DisplayRole).toString()
|
||||||
<< qSetFieldWidth(0) << ' '
|
// folder
|
||||||
|
<< qSetFieldWidth(15)
|
||||||
|
<< child->data(2, Qt::DisplayRole).toString()
|
||||||
// action
|
// action
|
||||||
<< qSetFieldWidth(15)
|
<< qSetFieldWidth(15)
|
||||||
<< child->data(3, Qt::DisplayRole).toString()
|
<< child->data(3, Qt::DisplayRole).toString()
|
||||||
|
|||||||
@@ -127,11 +127,16 @@ LogBrowser::LogBrowser(QWidget *parent) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
LogBrowser::~LogBrowser()
|
LogBrowser::~LogBrowser()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void LogBrowser::closeEvent(QCloseEvent *)
|
||||||
{
|
{
|
||||||
MirallConfigFile cfg;
|
MirallConfigFile cfg;
|
||||||
cfg.saveGeometry(this);
|
cfg.saveGeometry(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void LogBrowser::slotNewLog( const QString& msg )
|
void LogBrowser::slotNewLog( const QString& msg )
|
||||||
{
|
{
|
||||||
if( _logWidget->isVisible() ) {
|
if( _logWidget->isVisible() ) {
|
||||||
|
|||||||
@@ -47,6 +47,9 @@ public:
|
|||||||
|
|
||||||
void setLogFile(const QString& , bool );
|
void setLogFile(const QString& , bool );
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void closeEvent(QCloseEvent *);
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void slotNewLog( const QString &msg );
|
void slotNewLog( const QString &msg );
|
||||||
void slotFind();
|
void slotFind();
|
||||||
|
|||||||
@@ -138,7 +138,8 @@ QNetworkReply* ownCloudInfo::mkdirRequest( const QString& dir )
|
|||||||
qDebug() << "OCInfo Making dir " << dir;
|
qDebug() << "OCInfo Making dir " << dir;
|
||||||
_authAttempts = 0;
|
_authAttempts = 0;
|
||||||
QNetworkRequest req;
|
QNetworkRequest req;
|
||||||
QUrl url = QUrl(webdavUrl(_connection));
|
QUrl url( webdavUrl(_connection) );
|
||||||
|
// ensure #, ? and co are interpreted as part of the path and nothing else
|
||||||
url.setEncodedPath(url.encodedPath()+QUrl::toPercentEncoding(dir, "/"));
|
url.setEncodedPath(url.encodedPath()+QUrl::toPercentEncoding(dir, "/"));
|
||||||
|
|
||||||
req.setUrl( url );
|
req.setUrl( url );
|
||||||
@@ -162,7 +163,7 @@ QNetworkReply* ownCloudInfo::mkdirRequest( const QString& dir )
|
|||||||
QNetworkReply* ownCloudInfo::getQuotaRequest( const QString& dir )
|
QNetworkReply* ownCloudInfo::getQuotaRequest( const QString& dir )
|
||||||
{
|
{
|
||||||
QNetworkRequest req;
|
QNetworkRequest req;
|
||||||
req.setUrl( QUrl( webdavUrl(_connection) + dir ) );
|
req.setUrl( QUrl( webdavUrl(_connection) + QUrl::toPercentEncoding(dir, "/") ) );
|
||||||
req.setRawHeader("Depth", "0");
|
req.setRawHeader("Depth", "0");
|
||||||
QByteArray xml("<?xml version=\"1.0\" ?>\n"
|
QByteArray xml("<?xml version=\"1.0\" ?>\n"
|
||||||
"<d:propfind xmlns:d=\"DAV:\">\n"
|
"<d:propfind xmlns:d=\"DAV:\">\n"
|
||||||
@@ -190,7 +191,10 @@ QNetworkReply* ownCloudInfo::getQuotaRequest( const QString& dir )
|
|||||||
QNetworkReply* ownCloudInfo::getDirectoryListing( const QString& dir )
|
QNetworkReply* ownCloudInfo::getDirectoryListing( const QString& dir )
|
||||||
{
|
{
|
||||||
QNetworkRequest req;
|
QNetworkRequest req;
|
||||||
req.setUrl( QUrl( webdavUrl(_connection) + dir ) );
|
QUrl url( webdavUrl(_connection) );
|
||||||
|
// ensure #, ? and co are interpreted as part of the path and nothing else
|
||||||
|
url.setPath(url.path() + dir );
|
||||||
|
req.setUrl( url );
|
||||||
req.setRawHeader("Depth", "1");
|
req.setRawHeader("Depth", "1");
|
||||||
QByteArray xml("<?xml version=\"1.0\" ?>\n"
|
QByteArray xml("<?xml version=\"1.0\" ?>\n"
|
||||||
"<d:propfind xmlns:d=\"DAV:\">\n"
|
"<d:propfind xmlns:d=\"DAV:\">\n"
|
||||||
@@ -237,8 +241,9 @@ void ownCloudInfo::slotGetQuotaFinished()
|
|||||||
{
|
{
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
QNetworkReply *reply = qobject_cast<QNetworkReply *>(sender());
|
QNetworkReply *reply = qobject_cast<QNetworkReply *>(sender());
|
||||||
|
int http_result_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
|
||||||
|
|
||||||
if (reply->attribute(QNetworkRequest::HttpStatusCodeAttribute) == 207) {
|
if (http_result_code == 207) {
|
||||||
// Parse DAV response
|
// Parse DAV response
|
||||||
QXmlStreamReader reader(reply);
|
QXmlStreamReader reader(reply);
|
||||||
reader.addExtraNamespaceDeclaration(QXmlStreamNamespaceDeclaration("d", "DAV:"));
|
reader.addExtraNamespaceDeclaration(QXmlStreamNamespaceDeclaration("d", "DAV:"));
|
||||||
@@ -271,6 +276,7 @@ void ownCloudInfo::slotGetQuotaFinished()
|
|||||||
emit quotaUpdated(total, quotaUsedBytes);
|
emit quotaUpdated(total, quotaUsedBytes);
|
||||||
_lastEtag = etag;
|
_lastEtag = etag;
|
||||||
} else {
|
} else {
|
||||||
|
qDebug() << "Quota request *not* successful, http result code is " << http_result_code;
|
||||||
_lastQuotaTotalBytes = 0;
|
_lastQuotaTotalBytes = 0;
|
||||||
_lastQuotaUsedBytes = 0;
|
_lastQuotaUsedBytes = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,8 +63,15 @@ OwncloudSetupWizard::~OwncloudSetupWizard()
|
|||||||
|
|
||||||
void OwncloudSetupWizard::runWizard(QObject* obj, const char* amember, QWidget *parent)
|
void OwncloudSetupWizard::runWizard(QObject* obj, const char* amember, QWidget *parent)
|
||||||
{
|
{
|
||||||
OwncloudSetupWizard *wiz = new OwncloudSetupWizard(parent);
|
static QPointer<OwncloudSetupWizard> wiz;
|
||||||
|
|
||||||
|
if (!wiz.isNull()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
wiz = new OwncloudSetupWizard(parent);
|
||||||
connect( wiz, SIGNAL(ownCloudWizardDone(int)), obj, amember);
|
connect( wiz, SIGNAL(ownCloudWizardDone(int)), obj, amember);
|
||||||
|
connect( wiz, SIGNAL(ownCloudWizardDone(int)), wiz, SLOT(deleteLater()));
|
||||||
FolderMan::instance()->setSyncEnabled(false);
|
FolderMan::instance()->setSyncEnabled(false);
|
||||||
wiz->startWizard();
|
wiz->startWizard();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -171,11 +171,17 @@ void ProgressDispatcher::setProgressInfo(const QString& folder, const Progress::
|
|||||||
} else {
|
} else {
|
||||||
if( newProgress.kind == Progress::StartSync ) {
|
if( newProgress.kind == Progress::StartSync ) {
|
||||||
_recentProblems.clear();
|
_recentProblems.clear();
|
||||||
|
_timer.start();
|
||||||
}
|
}
|
||||||
if( newProgress.kind == Progress::EndSync ) {
|
if( newProgress.kind == Progress::EndSync ) {
|
||||||
newProgress.overall_current_bytes = newProgress.overall_transmission_size;
|
newProgress.overall_current_bytes = newProgress.overall_transmission_size;
|
||||||
newProgress.current_file_no = newProgress.overall_file_count;
|
newProgress.current_file_no = newProgress.overall_file_count;
|
||||||
_currentAction.remove(newProgress.folder);
|
_currentAction.remove(newProgress.folder);
|
||||||
|
qint64 msecs = _timer.elapsed();
|
||||||
|
|
||||||
|
qDebug()<< "[PROGRESS] progressed " << newProgress.overall_transmission_size
|
||||||
|
<< " bytes in " << newProgress.overall_file_count << " files"
|
||||||
|
<< " in msec " << msecs;
|
||||||
}
|
}
|
||||||
if( newProgress.kind == Progress::EndDownload ||
|
if( newProgress.kind == Progress::EndDownload ||
|
||||||
newProgress.kind == Progress::EndUpload ||
|
newProgress.kind == Progress::EndUpload ||
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
#include <QHash>
|
#include <QHash>
|
||||||
#include <QTime>
|
#include <QTime>
|
||||||
#include <QQueue>
|
#include <QQueue>
|
||||||
|
#include <QElapsedTimer>
|
||||||
|
|
||||||
namespace Mirall {
|
namespace Mirall {
|
||||||
|
|
||||||
@@ -116,6 +117,8 @@ private:
|
|||||||
QList<Progress::SyncProblem> _recentProblems;
|
QList<Progress::SyncProblem> _recentProblems;
|
||||||
|
|
||||||
QHash<QString, Progress::Kind> _currentAction;
|
QHash<QString, Progress::Kind> _currentAction;
|
||||||
|
|
||||||
|
QElapsedTimer _timer;
|
||||||
static ProgressDispatcher* _instance;
|
static ProgressDispatcher* _instance;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -95,15 +95,29 @@ SettingsDialog::SettingsDialog(Application *app, QWidget *parent) :
|
|||||||
connect(showLogWindow, SIGNAL(triggered()), app, SLOT(slotOpenLogBrowser()));
|
connect(showLogWindow, SIGNAL(triggered()), app, SLOT(slotOpenLogBrowser()));
|
||||||
addAction(showLogWindow);
|
addAction(showLogWindow);
|
||||||
|
|
||||||
|
int iconSize = 32;
|
||||||
|
QListWidget *listWidget = _ui->labelWidget;
|
||||||
|
int spacing = 20;
|
||||||
|
// reverse at least ~8 characters
|
||||||
|
int effectiveWidth = fontMetrics().averageCharWidth() * 8 + iconSize + spacing;
|
||||||
|
// less than ~16 characters, elide otherwise
|
||||||
|
int maxWidth = fontMetrics().averageCharWidth() * 16 + iconSize + spacing;
|
||||||
|
for (int i = 0; i < listWidget->count(); i++) {
|
||||||
|
QListWidgetItem *item = listWidget->item(i);
|
||||||
|
QFontMetrics fm(item->font());
|
||||||
|
int curWidth = fm.width(item->text()) + iconSize + spacing;
|
||||||
|
effectiveWidth = qMax(curWidth, effectiveWidth);
|
||||||
|
if (curWidth > maxWidth) item->setToolTip(item->text());
|
||||||
|
}
|
||||||
|
effectiveWidth = qMin(effectiveWidth, maxWidth);
|
||||||
|
listWidget->setFixedWidth(effectiveWidth);
|
||||||
|
|
||||||
MirallConfigFile cfg;
|
MirallConfigFile cfg;
|
||||||
cfg.restoreGeometry(this);
|
cfg.restoreGeometry(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
SettingsDialog::~SettingsDialog()
|
SettingsDialog::~SettingsDialog()
|
||||||
{
|
{
|
||||||
MirallConfigFile cfg;
|
|
||||||
cfg.saveGeometry(this);
|
|
||||||
|
|
||||||
delete _ui;
|
delete _ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -123,4 +137,23 @@ void SettingsDialog::slotUpdateAccountState()
|
|||||||
_accountItem->setIcon(Theme::instance()->syncStateIcon(state.status()));
|
_accountItem->setIcon(Theme::instance()->syncStateIcon(state.status()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SettingsDialog::setGeneralErrors(const QStringList &errors)
|
||||||
|
{
|
||||||
|
_accountSettings->setGeneralErrors(errors);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// close event is not being called here
|
||||||
|
void SettingsDialog::reject() {
|
||||||
|
MirallConfigFile cfg;
|
||||||
|
cfg.saveGeometry(this);
|
||||||
|
QDialog::reject();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SettingsDialog::accept() {
|
||||||
|
MirallConfigFile cfg;
|
||||||
|
cfg.saveGeometry(this);
|
||||||
|
QDialog::accept();
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Mirall
|
} // namespace Mirall
|
||||||
|
|||||||
@@ -40,6 +40,11 @@ public:
|
|||||||
~SettingsDialog();
|
~SettingsDialog();
|
||||||
|
|
||||||
void addAccount(const QString &title, QWidget *widget);
|
void addAccount(const QString &title, QWidget *widget);
|
||||||
|
void setGeneralErrors( const QStringList& errors );
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void reject();
|
||||||
|
void accept();
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void slotUpdateAccountState();
|
void slotUpdateAccountState();
|
||||||
@@ -48,7 +53,6 @@ private:
|
|||||||
Ui::SettingsDialog *_ui;
|
Ui::SettingsDialog *_ui;
|
||||||
AccountSettings *_accountSettings;
|
AccountSettings *_accountSettings;
|
||||||
QListWidgetItem *_accountItem;
|
QListWidgetItem *_accountItem;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,16 +14,7 @@
|
|||||||
<string>Settings</string>
|
<string>Settings</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<property name="leftMargin">
|
<property name="margin">
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
@@ -37,12 +28,6 @@
|
|||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>200</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="1">
|
<item row="0" column="1">
|
||||||
|
|||||||
@@ -22,13 +22,13 @@
|
|||||||
class QSslError;
|
class QSslError;
|
||||||
class QSslCertificate;
|
class QSslCertificate;
|
||||||
|
|
||||||
|
namespace Mirall
|
||||||
|
{
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class SslErrorDialog;
|
class SslErrorDialog;
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Mirall
|
|
||||||
{
|
|
||||||
|
|
||||||
class SslErrorDialog : public QDialog
|
class SslErrorDialog : public QDialog
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@@ -57,7 +57,7 @@ private:
|
|||||||
|
|
||||||
QList<QSslCertificate> _unknownCerts;
|
QList<QSslCertificate> _unknownCerts;
|
||||||
QString _customConfigHandle;
|
QString _customConfigHandle;
|
||||||
::Ui::SslErrorDialog *_ui;
|
Ui::SslErrorDialog *_ui;
|
||||||
};
|
};
|
||||||
} // end namespace
|
} // end namespace
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<ui version="4.0">
|
<ui version="4.0">
|
||||||
<class>SslErrorDialog</class>
|
<class>Mirall::SslErrorDialog</class>
|
||||||
<widget class="QWidget" name="SslErrorDialog">
|
<widget class="QWidget" name="Mirall::SslErrorDialog">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
|
|||||||
@@ -1,3 +1,16 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) by Klaas Freitag <freitag@owncloud.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; version 2 of the License.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef SYNCFILEITEM_H
|
#ifndef SYNCFILEITEM_H
|
||||||
#define SYNCFILEITEM_H
|
#define SYNCFILEITEM_H
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
#ifdef Q_OS_UNIX
|
#ifdef Q_OS_UNIX
|
||||||
#include <sys/statvfs.h>
|
#include <sys/statvfs.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
@@ -37,6 +38,7 @@
|
|||||||
#elif defined(Q_OS_WIN)
|
#elif defined(Q_OS_WIN)
|
||||||
#include <shlobj.h>
|
#include <shlobj.h>
|
||||||
#include <winbase.h>
|
#include <winbase.h>
|
||||||
|
#include <windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace Mirall {
|
namespace Mirall {
|
||||||
@@ -108,28 +110,25 @@ QString Utility::octetsToString( qint64 octets )
|
|||||||
static const qint64 gb = 1024 * mb;
|
static const qint64 gb = 1024 * mb;
|
||||||
static const qint64 tb = 1024 * gb;
|
static const qint64 tb = 1024 * gb;
|
||||||
|
|
||||||
|
QString s;
|
||||||
|
qreal value = octets;
|
||||||
if (octets >= tb) {
|
if (octets >= tb) {
|
||||||
if (octets < 10*tb) {
|
s = QCoreApplication::translate("Utility", "%L1 TB");
|
||||||
return compactFormatDouble(qreal(octets)/qreal(tb), 1, QLatin1String("TB"));
|
value /= tb;
|
||||||
}
|
|
||||||
return QString::number(qRound64(qreal(octets)/qreal(tb))) + QLatin1String(" TB");
|
|
||||||
} else if (octets >= gb) {
|
} else if (octets >= gb) {
|
||||||
if (octets < 10*gb) {
|
s = QCoreApplication::translate("Utility", "%L1 GB");
|
||||||
return compactFormatDouble(qreal(octets)/qreal(gb), 1, QLatin1String("GB"));
|
value /= gb;
|
||||||
}
|
|
||||||
return QString::number(qRound64(qreal(octets)/qreal(gb))) + QLatin1String(" GB");
|
|
||||||
} else if (octets >= mb) {
|
} else if (octets >= mb) {
|
||||||
if (octets < 10*mb) {
|
s = QCoreApplication::translate("Utility", "%L1 MB");
|
||||||
return compactFormatDouble(qreal(octets)/qreal(mb), 1, QLatin1String("MB"));
|
value /= mb;
|
||||||
}
|
|
||||||
return QString::number(qRound64(qreal(octets)/qreal(mb))) + QLatin1String(" MB");
|
|
||||||
} else if (octets >= kb) {
|
} else if (octets >= kb) {
|
||||||
return QString::number(qRound64(qreal(octets)/qreal(kb))) + QLatin1String(" KB");
|
s = QCoreApplication::translate("Utility", "%L1 kB");
|
||||||
} else if (octets == 1){
|
value /= kb;
|
||||||
return QLatin1String("1 byte");
|
} else {
|
||||||
} else {
|
s = QCoreApplication::translate("Utility", "%L1 B");
|
||||||
return QString::number(octets) + QLatin1String(" bytes");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return (value > 9.95) ? s.arg(qRound(value)) : s.arg(value, 0, 'g', 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Qtified version of get_platforms() in csync_owncloud.c
|
// Qtified version of get_platforms() in csync_owncloud.c
|
||||||
@@ -369,4 +368,12 @@ QString Utility::toCSyncScheme(const QString &urlStr)
|
|||||||
return url.toString();
|
return url.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Utility::sleep(int sec)
|
||||||
|
{
|
||||||
|
#ifdef Q_OS_WIN
|
||||||
|
::Sleep(sec*1000);
|
||||||
|
#else
|
||||||
|
::sleep(sec);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
} // namespace Mirall
|
} // namespace Mirall
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ namespace Mirall {
|
|||||||
|
|
||||||
namespace Utility
|
namespace Utility
|
||||||
{
|
{
|
||||||
|
void sleep(int sec);
|
||||||
QString formatFingerprint( const QByteArray& );
|
QString formatFingerprint( const QByteArray& );
|
||||||
void setupFavLink( const QString &folder );
|
void setupFavLink( const QString &folder );
|
||||||
QString octetsToString( qint64 octets );
|
QString octetsToString( qint64 octets );
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
|
#include <QTimer>
|
||||||
|
|
||||||
#include "QProgressIndicator.h"
|
#include "QProgressIndicator.h"
|
||||||
|
|
||||||
@@ -26,7 +27,6 @@
|
|||||||
#include "mirall/theme.h"
|
#include "mirall/theme.h"
|
||||||
#include "mirall/mirallconfigfile.h"
|
#include "mirall/mirallconfigfile.h"
|
||||||
#include "creds/abstractcredentials.h"
|
#include "creds/abstractcredentials.h"
|
||||||
|
|
||||||
namespace Mirall
|
namespace Mirall
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -89,8 +89,8 @@ void OwncloudAdvancedSetupPage::initializePage()
|
|||||||
// call to init label
|
// call to init label
|
||||||
updateStatus();
|
updateStatus();
|
||||||
|
|
||||||
// TODO: focus
|
// ensure "next" gets the focus, not obSelectLocalFolder
|
||||||
_ui.pbSelectLocalFolder->setFocus();
|
QTimer::singleShot(0, wizard()->button(QWizard::NextButton), SLOT(setFocus()));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Called if the user changes the user- or url field. Adjust the texts and
|
// Called if the user changes the user- or url field. Adjust the texts and
|
||||||
|
|||||||
@@ -34,6 +34,9 @@
|
|||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignCenter</set>
|
<set>Qt::AlignCenter</set>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
|||||||
@@ -108,6 +108,12 @@
|
|||||||
<property name="text">
|
<property name="text">
|
||||||
<string>TextLabel</string>
|
<string>TextLabel</string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0" colspan="3">
|
<item row="4" column="0" colspan="3">
|
||||||
@@ -121,7 +127,6 @@
|
|||||||
<zorder>horizontalSpacer</zorder>
|
<zorder>horizontalSpacer</zorder>
|
||||||
<zorder>verticalSpacer</zorder>
|
<zorder>verticalSpacer</zorder>
|
||||||
<zorder>horizontalSpacer_2</zorder>
|
<zorder>horizontalSpacer_2</zorder>
|
||||||
<zorder>horizontalLayoutWidget</zorder>
|
|
||||||
<zorder>topLabel</zorder>
|
<zorder>topLabel</zorder>
|
||||||
<zorder>bottomLabel</zorder>
|
<zorder>bottomLabel</zorder>
|
||||||
</widget>
|
</widget>
|
||||||
|
|||||||
@@ -76,7 +76,7 @@
|
|||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Enter the url of the ownCloud you want to connect to (without http or https).</string>
|
<string>Enter the URL of the server that you want to connect to (without http or https).</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="placeholderText">
|
<property name="placeholderText">
|
||||||
<string>https://...</string>
|
<string>https://...</string>
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ OwncloudSetupPage::OwncloudSetupPage()
|
|||||||
|
|
||||||
Theme *theme = Theme::instance();
|
Theme *theme = Theme::instance();
|
||||||
setTitle(WizardCommon::titleTemplate().arg(tr("Connect to %1").arg(theme->appNameGUI())));
|
setTitle(WizardCommon::titleTemplate().arg(tr("Connect to %1").arg(theme->appNameGUI())));
|
||||||
setSubTitle(WizardCommon::subTitleTemplate().arg(tr("Setup ownCloud server")));
|
setSubTitle(WizardCommon::subTitleTemplate().arg(tr("Setup %1 server").arg(theme->appNameGUI())));
|
||||||
|
|
||||||
registerField( QLatin1String("OCUrl*"), _ui.leUrl );
|
registerField( QLatin1String("OCUrl*"), _ui.leUrl );
|
||||||
|
|
||||||
@@ -227,7 +227,8 @@ void OwncloudSetupPage::setConfigExists( bool config )
|
|||||||
_configExists = config;
|
_configExists = config;
|
||||||
|
|
||||||
if (config == true) {
|
if (config == true) {
|
||||||
setSubTitle(WizardCommon::subTitleTemplate().arg(tr("Update ownCloud server")));
|
setSubTitle(WizardCommon::subTitleTemplate().arg(tr("Update %1 server")
|
||||||
|
.arg(Theme::instance()->appNameGUI())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -78,7 +78,8 @@ void OwncloudWizardResultPage::initializePage()
|
|||||||
text = tr("Your entire account is synced to the local folder <i>%1</i>")
|
text = tr("Your entire account is synced to the local folder <i>%1</i>")
|
||||||
.arg(QDir::toNativeSeparators(localFolder));
|
.arg(QDir::toNativeSeparators(localFolder));
|
||||||
} else {
|
} else {
|
||||||
text = tr("ownCloud folder <i>%1</i> is synced to local folder <i>%2</i>")
|
text = tr("%1 folder <i>%1</i> is synced to local folder <i>%2</i>")
|
||||||
|
.arg(Theme::instance()->appNameGUI())
|
||||||
.arg(_remoteFolder).arg(QDir::toNativeSeparators(localFolder));
|
.arg(_remoteFolder).arg(QDir::toNativeSeparators(localFolder));
|
||||||
}
|
}
|
||||||
_ui.localFolderLabel->setText( text );
|
_ui.localFolderLabel->setText( text );
|
||||||
|
|||||||
@@ -19,6 +19,9 @@
|
|||||||
<property name="text">
|
<property name="text">
|
||||||
<string>TextLabel</string>
|
<string>TextLabel</string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
|
|||||||
@@ -26,33 +26,55 @@ private slots:
|
|||||||
}
|
}
|
||||||
void testOctetsToString()
|
void testOctetsToString()
|
||||||
{
|
{
|
||||||
QVERIFY(octetsToString(1) == "1 byte");
|
QLocale::setDefault(QLocale("en"));
|
||||||
QVERIFY(octetsToString(2) == "2 bytes");
|
QCOMPARE(octetsToString(999) , QString("999 B"));
|
||||||
QVERIFY(octetsToString(1024) == "1 KB");
|
QCOMPARE(octetsToString(1000) , QString("1,000 B"));
|
||||||
QVERIFY(octetsToString(1024*1024) == "1 MB");
|
QCOMPARE(octetsToString(1010) , QString("1,010 B"));
|
||||||
QVERIFY(octetsToString(1024LL*1024*1024) == "1 GB");
|
QCOMPARE(octetsToString(1024) , QString("1 kB"));
|
||||||
QVERIFY(octetsToString(1024LL*1024*1024*1024) == "1 TB");
|
QCOMPARE(octetsToString(1110) , QString("1.1 kB"));
|
||||||
|
|
||||||
|
QCOMPARE(octetsToString(9110) , QString("8.9 kB"));
|
||||||
|
QCOMPARE(octetsToString(9910) , QString("9.7 kB"));
|
||||||
|
QCOMPARE(octetsToString(9999) , QString("9.8 kB"));
|
||||||
|
QCOMPARE(octetsToString(10240) , QString("10 kB"));
|
||||||
|
|
||||||
|
QCOMPARE(octetsToString(123456) , QString("121 kB"));
|
||||||
|
QCOMPARE(octetsToString(1234567) , QString("1.2 MB"));
|
||||||
|
QCOMPARE(octetsToString(12345678) , QString("12 MB"));
|
||||||
|
QCOMPARE(octetsToString(123456789) , QString("118 MB"));
|
||||||
|
QCOMPARE(octetsToString(1000LL*1000*1000 * 5) , QString("4.7 GB"));
|
||||||
|
QCOMPARE(octetsToString(1024LL*1024*1024 * 5) , QString("5 GB"));
|
||||||
|
|
||||||
|
QCOMPARE(octetsToString(1), QString("1 B"));
|
||||||
|
QCOMPARE(octetsToString(2), QString("2 B"));
|
||||||
|
QCOMPARE(octetsToString(1024), QString("1 kB"));
|
||||||
|
QCOMPARE(octetsToString(1024*1024), QString("1 MB"));
|
||||||
|
QCOMPARE(octetsToString(1024LL*1024*1024), QString("1 GB"));
|
||||||
|
QCOMPARE(octetsToString(1024LL*1024*1024*1024), QString("1 TB"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void testLaunchOnStartup()
|
void testLaunchOnStartup()
|
||||||
{
|
{
|
||||||
const QString appName = "testLaunchOnStartup";
|
qsrand(QDateTime::currentDateTime().toTime_t());
|
||||||
const QString guiName = "LaunchOnStartup GUI Name";
|
QString postfix = QString::number(qrand());
|
||||||
|
|
||||||
QVERIFY(hasLaunchOnStartup(appName) == false);
|
const QString appName = QString::fromLatin1("testLaunchOnStartup.%1").arg(postfix);
|
||||||
setLaunchOnStartup(appName, guiName, true);
|
const QString guiName = "LaunchOnStartup GUI Name";
|
||||||
QVERIFY(hasLaunchOnStartup(appName) == true);
|
|
||||||
setLaunchOnStartup(appName, guiName, false);
|
QVERIFY(hasLaunchOnStartup(appName) == false);
|
||||||
QVERIFY(hasLaunchOnStartup(appName) == false);
|
setLaunchOnStartup(appName, guiName, true);
|
||||||
|
QVERIFY(hasLaunchOnStartup(appName) == true);
|
||||||
|
setLaunchOnStartup(appName, guiName, false);
|
||||||
|
QVERIFY(hasLaunchOnStartup(appName) == false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void testToCSyncScheme()
|
void testToCSyncScheme()
|
||||||
{
|
{
|
||||||
QVERIFY(toCSyncScheme("http://example.com/owncloud/") ==
|
QVERIFY(toCSyncScheme("http://example.com/owncloud/") ==
|
||||||
"owncloud://example.com/owncloud/");
|
"owncloud://example.com/owncloud/");
|
||||||
QVERIFY(toCSyncScheme("https://example.com/owncloud/") ==
|
QVERIFY(toCSyncScheme("https://example.com/owncloud/") ==
|
||||||
"ownclouds://example.com/owncloud/");
|
"ownclouds://example.com/owncloud/");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 739 B After Width: | Height: | Size: 781 B |
@@ -717,7 +717,7 @@ Are you sure you want to perform this operation?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -965,51 +965,66 @@ Checked items will also be deleted if they prevent a directory from being remove
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
|
list of names to ignore</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
<source>Conflict file.</source>
|
<source>Invalid characters</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
|
<source>Conflict file.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1017,22 +1032,22 @@ name</source>
|
|||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation>S'ha copiat al porta-retalls</translation>
|
<translation>S'ha copiat al porta-retalls</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation>El protocol de sincronització s'ha copiat al porta-retalls.</translation>
|
<translation>El protocol de sincronització s'ha copiat al porta-retalls.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
@@ -1913,6 +1928,34 @@ name</source>
|
|||||||
<translation>Connexió SSL</translation>
|
<translation>Connexió SSL</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -457,27 +457,27 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="143"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="143"/>
|
||||||
<source>CSync: Permission deniend.</source>
|
<source>CSync: Permission deniend.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: Přístup zamítnut.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="146"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="146"/>
|
||||||
<source>CSync: File not found.</source>
|
<source>CSync: File not found.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: Soubor nenalezen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="149"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="149"/>
|
||||||
<source>CSync: Directory already exists.</source>
|
<source>CSync: Directory already exists.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: Adresář již existuje.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="152"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="152"/>
|
||||||
<source>CSync: No space left on %1 server.</source>
|
<source>CSync: No space left on %1 server.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: Nedostatek místa na serveru %1.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="155"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="155"/>
|
||||||
<source>CSync: unspecified error.</source>
|
<source>CSync: unspecified error.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: neznámá chyba.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="158"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="158"/>
|
||||||
@@ -541,7 +541,7 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folder.cpp" line="342"/>
|
<location filename="../src/mirall/folder.cpp" line="342"/>
|
||||||
<source>New file available</source>
|
<source>New file available</source>
|
||||||
<translation>je k dispozici nový soubor</translation>
|
<translation>Je k dispozici nový soubor</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folder.cpp" line="342"/>
|
<location filename="../src/mirall/folder.cpp" line="342"/>
|
||||||
@@ -720,13 +720,13 @@ Opravdu chcete provést tuto akci?</translation>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
<translation>Nelze sledovat složky kvůli systémovým omezením.
|
<translation>Nelze sledovat složky kvůli systémovým omezením.
|
||||||
Aplikace nebude pracovat spolehlivě. Zkontrolujte prosím
|
Aplikace nebude pracovat správně. Řiďte se prosím
|
||||||
dokumentaci pro možnost opravy.</translation>
|
dokumentací pro možnost opravy.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -972,56 +972,66 @@ Zvolené položky budou smazány také v případě, že brání smazání adres
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation>Soubor ignorován.</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
<translation type="unfinished"/>
|
||||||
<translation>Soubor byl ignorován, protože se nachází v klientově seznamu
|
|
||||||
ignorovaných souborů, nebo protože jeho název obsahuje
|
|
||||||
znaky, které nelze synchronizovat mezi prostředími.</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation>Adresář ignorován.</translation>
|
<translation>soubor</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
<translation>adresář</translation>
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation>Adresář byl ignorován, protože se nachází v klientově seznamu
|
|
||||||
ignorovaných adresářů, nebo protože jeho název obsahuje
|
|
||||||
znaky, které nelze synchronizovat mezi prostředími.</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
<translation>Symbolický odkaz ignorován.</translation>
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
<translation>Odkazy poškozují sémantiku synchronizace.
|
</message>
|
||||||
Nepoužívejte je v synchronizovaných adresářích.</translation>
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
<translation>Ignorováno.</translation>
|
list of names to ignore</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
|
<source>Invalid characters</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
<source>Conflict file.</source>
|
<source>Conflict file.</source>
|
||||||
<translation>Soubor s konfliktem.</translation>
|
<translation>Soubor s konfliktem.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1032,22 +1042,22 @@ zkopírovány do souboru s konfliktem, přičemž soubor ze serveru bude
|
|||||||
dostupný pod původním názvem</translation>
|
dostupný pod původním názvem</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation>Zkopírováno do schránky</translation>
|
<translation>Zkopírováno do schránky</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation>Protokol synchronizace byl zkopírován do schránky.</translation>
|
<translation>Protokol synchronizace byl zkopírován do schránky.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation>Problém: %1</translation>
|
<translation>Problém: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation>Na serveru již není k dispozici volné místo.</translation>
|
<translation>Na serveru již není k dispozici volné místo.</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1174,7 +1184,7 @@ dostupný pod původním názvem</translation>
|
|||||||
<location filename="../src/mirall/networksettings.ui" line="232"/>
|
<location filename="../src/mirall/networksettings.ui" line="232"/>
|
||||||
<location filename="../src/mirall/networksettings.ui" line="270"/>
|
<location filename="../src/mirall/networksettings.ui" line="270"/>
|
||||||
<source>No limit</source>
|
<source>No limit</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Bez limitu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/networksettings.ui" line="264"/>
|
<location filename="../src/mirall/networksettings.ui" line="264"/>
|
||||||
@@ -1242,7 +1252,7 @@ dostupný pod původním názvem</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/wizard/owncloudadvancedsetuppage.cpp" line="116"/>
|
<location filename="../src/wizard/owncloudadvancedsetuppage.cpp" line="116"/>
|
||||||
<source><p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p></source>
|
<source><p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p></source>
|
||||||
<translation><p><small><strong>Varování:</strong> Aktuálně máte nastavenu synchronizaci více složek. Pokud budete pokračovat v tomto nastavení, nastavení složek bude zapomenuto a bude vytvořena synchronizace jedné kořenové složky!</small></p></translation>
|
<translation><p><small><strong>Varování:</strong> Aktuálně máte nastavenu synchronizaci více složek. Pokud budete pokračovat s tímto nastavení, nastavení složek bude zapomenuto a bude vytvořena synchronizace jedné kořenové složky!</small></p></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/wizard/owncloudadvancedsetuppage.cpp" line="123"/>
|
<location filename="../src/wizard/owncloudadvancedsetuppage.cpp" line="123"/>
|
||||||
@@ -1331,7 +1341,7 @@ dostupný pod původním názvem</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/owncloudsetupwizard.cpp" line="114"/>
|
<location filename="../src/mirall/owncloudsetupwizard.cpp" line="114"/>
|
||||||
<source>Trying to connect to %1 at %2 to determine authentication type...</source>
|
<source>Trying to connect to %1 at %2 to determine authentication type...</source>
|
||||||
<translation>Pokouším se připojit k %1 na %2 pro zjištění typ ověření...</translation>
|
<translation>Pokouším se připojit k %1 na %2 pro zjištění typu ověření...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/owncloudsetupwizard.cpp" line="162"/>
|
<location filename="../src/mirall/owncloudsetupwizard.cpp" line="162"/>
|
||||||
@@ -1928,6 +1938,34 @@ dostupný pod původním názvem</translation>
|
|||||||
<translation>SSL spojení</translation>
|
<translation>SSL spojení</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation>%L1 TB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation>%L1 GB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation>%L1 MB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation>%L1 kB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation>%L1 B</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
@@ -2001,7 +2039,7 @@ dostupný pod původním názvem</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/progressdispatcher.cpp" line="56"/>
|
<location filename="../src/mirall/progressdispatcher.cpp" line="56"/>
|
||||||
<source>For deletion</source>
|
<source>For deletion</source>
|
||||||
<translation>Pro smazání</translation>
|
<translation>Ke smazání</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/progressdispatcher.cpp" line="59"/>
|
<location filename="../src/mirall/progressdispatcher.cpp" line="59"/>
|
||||||
@@ -2054,7 +2092,7 @@ dostupný pod původním názvem</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/theme.cpp" line="51"/>
|
<location filename="../src/mirall/theme.cpp" line="51"/>
|
||||||
<source>Waiting to start sync</source>
|
<source>Waiting to start sync</source>
|
||||||
<translation>Čekám, až začne synchronizace</translation>
|
<translation>Čekám na zahájení synchronizace</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/theme.cpp" line="54"/>
|
<location filename="../src/mirall/theme.cpp" line="54"/>
|
||||||
@@ -2069,7 +2107,7 @@ dostupný pod původním názvem</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/theme.cpp" line="60"/>
|
<location filename="../src/mirall/theme.cpp" line="60"/>
|
||||||
<source>Sync Success, problems with individual files.</source>
|
<source>Sync Success, problems with individual files.</source>
|
||||||
<translation>Synchronizace byla provedena, problémy u jednotlivých souborů.</translation>
|
<translation>Synchronizace úspěšná, problémy u jednotlivých souborů.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/theme.cpp" line="63"/>
|
<location filename="../src/mirall/theme.cpp" line="63"/>
|
||||||
@@ -2084,7 +2122,7 @@ dostupný pod původním názvem</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/theme.cpp" line="69"/>
|
<location filename="../src/mirall/theme.cpp" line="69"/>
|
||||||
<source>The server is currently unavailable</source>
|
<source>The server is currently unavailable</source>
|
||||||
<translation>Server je momentálně nedostupný.</translation>
|
<translation>Server je momentálně nedostupný</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/theme.cpp" line="72"/>
|
<location filename="../src/mirall/theme.cpp" line="72"/>
|
||||||
|
|||||||
@@ -270,7 +270,7 @@ Diese Funktion ist nur für Wartungszwecke gedacht. Es werden keine Dateien entf
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/application.cpp" line="339"/>
|
<location filename="../src/mirall/application.cpp" line="339"/>
|
||||||
<source>Quit %1</source>
|
<source>Quit %1</source>
|
||||||
<translation>Beenden %1</translation>
|
<translation>%1 beenden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/application.cpp" line="389"/>
|
<location filename="../src/mirall/application.cpp" line="389"/>
|
||||||
@@ -721,7 +721,7 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen?</translation>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -973,51 +973,66 @@ Aktivierte Elemente werden ebenfalls gelöscht, wenn diese das Löschen eines Ve
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation>Datei ignoriert.</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
<translation type="unfinished"/>
|
||||||
<translation>Die Datei wurde ignoriert, da sie entweder auf der Ignore-Liste des Klienten steht oder der Dateiname Zeichen enthält, welche nicht über verschiedene Plattformen synchronisiert werden können.</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation>Verzeichnis ignoriert.</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
<translation type="unfinished"/>
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation>Das Verzeichnis wurde ignoriert, da es entweder auf der Ignore-Liste des Klienten steht oder der Verzeichnisname Zeichen enthält, welche nicht über verschiedene Plattformen synchronisiert werden können.</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
<translation>Symbolische Verknüpfung ignoriert</translation>
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
<translation>Softlinks zerstören die Semantik beim synchronisieren. Verwenden Sie daher keine Softlinks in ihren zu synchronisierenden Ordnern.</translation>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
<translation>Ignoriert.</translation>
|
list of names to ignore</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
|
<source>Invalid characters</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
<source>Conflict file.</source>
|
<source>Conflict file.</source>
|
||||||
<translation>Konfliktdatei.</translation>
|
<translation>Konfliktdatei.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1025,22 +1040,22 @@ name</source>
|
|||||||
<translation>Die Datei wurde sowohl auf dem Server als auch im lokalen Repository geändert und verursacht somit einen Konflikt. Die lokalen Änderungen wurden in die Konflikt-Datei kopiert während die Änderungen vom Server in der Datei mit dem Original-Namen zu finden sind.</translation>
|
<translation>Die Datei wurde sowohl auf dem Server als auch im lokalen Repository geändert und verursacht somit einen Konflikt. Die lokalen Änderungen wurden in die Konflikt-Datei kopiert während die Änderungen vom Server in der Datei mit dem Original-Namen zu finden sind.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation>In die Zwischenablage kopiert</translation>
|
<translation>In die Zwischenablage kopiert</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation>Das Synchronisierungs-Protokoll wurde in die Zwischenablage kopiert.</translation>
|
<translation>Das Synchronisierungs-Protokoll wurde in die Zwischenablage kopiert.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation>Problem: %1</translation>
|
<translation>Problem: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation>Auf dem Server ist kein Speicherplatz mehr vorhanden.</translation>
|
<translation>Auf dem Server ist kein Speicherplatz mehr vorhanden.</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1921,6 +1936,34 @@ name</source>
|
|||||||
<translation>SSL-Verbindung</translation>
|
<translation>SSL-Verbindung</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation>%L1 TB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation>%L1 GB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation>%L1 MB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation>%L1 kB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation>%L1 B</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -717,7 +717,7 @@ Are you sure you want to perform this operation?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -965,51 +965,66 @@ Checked items will also be deleted if they prevent a directory from being remove
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
|
list of names to ignore</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
<source>Conflict file.</source>
|
<source>Invalid characters</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
|
<source>Conflict file.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1017,22 +1032,22 @@ name</source>
|
|||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation>Πρόβλημα: %1</translation>
|
<translation>Πρόβλημα: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
@@ -1913,6 +1928,34 @@ name</source>
|
|||||||
<translation>Σύνδεση SSL</translation>
|
<translation>Σύνδεση SSL</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -731,7 +731,7 @@ Are you sure you want to perform this operation?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -979,51 +979,66 @@ Checked items will also be deleted if they prevent a directory from being remove
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
|
list of names to ignore</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
<source>Conflict file.</source>
|
<source>Invalid characters</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
|
<source>Conflict file.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1031,22 +1046,22 @@ name</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1927,6 +1942,34 @@ name</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -720,7 +720,7 @@ Está seguro de que desea realizar esta operación?</translation>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -970,51 +970,66 @@ Checked items will also be deleted if they prevent a directory from being remove
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation>Archivo ignorado.</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation>Carpeta ignorada.</translation>
|
<translation>archivo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
<translation>carpeta</translation>
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
<translation>Ignorado.</translation>
|
list of names to ignore</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
<source>Conflict file.</source>
|
<source>Invalid characters</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
|
<source>Conflict file.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1022,22 +1037,22 @@ name</source>
|
|||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation>Copiado al portapapeles</translation>
|
<translation>Copiado al portapapeles</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation>El informe de sincronización fue copiado al portapapeles.</translation>
|
<translation>El informe de sincronización fue copiado al portapapeles.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation>Problema: %1</translation>
|
<translation>Problema: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation>No hay más espacio disponible en el servidor.</translation>
|
<translation>No hay más espacio disponible en el servidor.</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1918,6 +1933,34 @@ name</source>
|
|||||||
<translation>Conexión SSL</translation>
|
<translation>Conexión SSL</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -65,22 +65,22 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/accountsettings.ui" line="20"/>
|
<location filename="../src/mirall/accountsettings.ui" line="20"/>
|
||||||
<source>Account Maintenance</source>
|
<source>Account Maintenance</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Mantenimiento de cuenta</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/accountsettings.ui" line="29"/>
|
<location filename="../src/mirall/accountsettings.ui" line="29"/>
|
||||||
<source>Edit Ignored Files</source>
|
<source>Edit Ignored Files</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Editar Archivos ignorados</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/accountsettings.ui" line="36"/>
|
<location filename="../src/mirall/accountsettings.ui" line="36"/>
|
||||||
<source>Modify Account</source>
|
<source>Modify Account</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Modificar Cuenta</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/accountsettings.ui" line="46"/>
|
<location filename="../src/mirall/accountsettings.ui" line="46"/>
|
||||||
<source>Sync Status</source>
|
<source>Sync Status</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Estado de la sincronización</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/accountsettings.ui" line="52"/>
|
<location filename="../src/mirall/accountsettings.ui" line="52"/>
|
||||||
@@ -191,7 +191,7 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/accountsettings.cpp" line="581"/>
|
<location filename="../src/mirall/accountsettings.cpp" line="581"/>
|
||||||
<source>Start</source>
|
<source>Start</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Inicio</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/accountsettings.cpp" line="590"/>
|
<location filename="../src/mirall/accountsettings.cpp" line="590"/>
|
||||||
@@ -201,7 +201,7 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/accountsettings.cpp" line="597"/>
|
<location filename="../src/mirall/accountsettings.cpp" line="597"/>
|
||||||
<source>Completely</source>
|
<source>Completely</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Completamente</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/accountsettings.cpp" line="629"/>
|
<location filename="../src/mirall/accountsettings.cpp" line="629"/>
|
||||||
@@ -211,7 +211,7 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/accountsettings.cpp" line="632"/>
|
<location filename="../src/mirall/accountsettings.cpp" line="632"/>
|
||||||
<source>Completely finished.</source>
|
<source>Completely finished.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Completamente terminado.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/accountsettings.cpp" line="639"/>
|
<location filename="../src/mirall/accountsettings.cpp" line="639"/>
|
||||||
@@ -662,7 +662,7 @@ Are you sure you want to perform this operation?</source>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderman.cpp" line="573"/>
|
<location filename="../src/mirall/folderman.cpp" line="573"/>
|
||||||
<source>Preparing for sync.</source>
|
<source>Preparing for sync.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Preparando la sincronización.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderman.cpp" line="576"/>
|
<location filename="../src/mirall/folderman.cpp" line="576"/>
|
||||||
@@ -672,7 +672,7 @@ Are you sure you want to perform this operation?</source>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderman.cpp" line="579"/>
|
<location filename="../src/mirall/folderman.cpp" line="579"/>
|
||||||
<source>Server is currently not available.</source>
|
<source>Server is currently not available.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>El servidor actualmente no está disponible.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderman.cpp" line="582"/>
|
<location filename="../src/mirall/folderman.cpp" line="582"/>
|
||||||
@@ -701,7 +701,7 @@ Are you sure you want to perform this operation?</source>
|
|||||||
<location filename="../src/mirall/folderstatusmodel.cpp" line="91"/>
|
<location filename="../src/mirall/folderstatusmodel.cpp" line="91"/>
|
||||||
<location filename="../src/mirall/folderstatusmodel.cpp" line="245"/>
|
<location filename="../src/mirall/folderstatusmodel.cpp" line="245"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Archivo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderstatusmodel.cpp" line="200"/>
|
<location filename="../src/mirall/folderstatusmodel.cpp" line="200"/>
|
||||||
@@ -717,7 +717,7 @@ Are you sure you want to perform this operation?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -931,7 +931,7 @@ Checked items will also be deleted if they prevent a directory from being remove
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="44"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="44"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Archivo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="46"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="46"/>
|
||||||
@@ -965,51 +965,66 @@ Checked items will also be deleted if they prevent a directory from being remove
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
|
list of names to ignore</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
<source>Conflict file.</source>
|
<source>Invalid characters</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
|
<source>Conflict file.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1017,22 +1032,22 @@ name</source>
|
|||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
@@ -1914,6 +1929,34 @@ name</source>
|
|||||||
<translation>Conexión SSL</translation>
|
<translation>Conexión SSL</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
@@ -1977,7 +2020,7 @@ name</source>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/progressdispatcher.cpp" line="50"/>
|
<location filename="../src/mirall/progressdispatcher.cpp" line="50"/>
|
||||||
<source>Start</source>
|
<source>Start</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Inicio</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/progressdispatcher.cpp" line="53"/>
|
<location filename="../src/mirall/progressdispatcher.cpp" line="53"/>
|
||||||
|
|||||||
@@ -457,27 +457,27 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="143"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="143"/>
|
||||||
<source>CSync: Permission deniend.</source>
|
<source>CSync: Permission deniend.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: Luba puudub.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="146"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="146"/>
|
||||||
<source>CSync: File not found.</source>
|
<source>CSync: File not found.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: Faili ei leitud.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="149"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="149"/>
|
||||||
<source>CSync: Directory already exists.</source>
|
<source>CSync: Directory already exists.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: Kataloog on juba olemas.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="152"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="152"/>
|
||||||
<source>CSync: No space left on %1 server.</source>
|
<source>CSync: No space left on %1 server.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: Serveris %1 pole enam ruumi.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="155"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="155"/>
|
||||||
<source>CSync: unspecified error.</source>
|
<source>CSync: unspecified error.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: tuvastamatu viga.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="158"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="158"/>
|
||||||
@@ -720,7 +720,7 @@ Oled kindel, et soovid seda operatsiooni teostada?</translation>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -972,56 +972,66 @@ Checked items will also be deleted if they prevent a directory from being remove
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation>Faili ignoreeriti.</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
<translation type="unfinished"/>
|
||||||
<translation>Faili ignoreeriti kuna see on märigitud kliendi ignoreeritavate nimekirjas
|
|
||||||
või sisaldab faili nimi sümboleid, mida ei saa sünkroniseerida erinevate
|
|
||||||
keskkonna platvormide vahel.</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation>Kataloog ingnoreeriti.</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
<translation type="unfinished"/>
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation>Kataloogi ignoreeriti kuna see on märigitud kliendi ignoreeritavate nimekirjas
|
|
||||||
või sisaldab kataloogi nimi sümboleid, mida ei saa sünkroniseerida erinevate
|
|
||||||
keskkonna platvormide vahel.</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
<translation>Soft linki ingnoreeriti.</translation>
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
<translation>Softlingid lõhuvad sünkroniseeringu.
|
</message>
|
||||||
Palun ära kasuta neid sünkroniseeritavates kataloogides.</translation>
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
<translation>Ignoreeritud.</translation>
|
list of names to ignore</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
|
<source>Invalid characters</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
<source>Conflict file.</source>
|
<source>Conflict file.</source>
|
||||||
<translation>Konfliktne fail.</translation>
|
<translation>Konfliktne fail.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1031,22 +1041,22 @@ tulemusel on tekitatud nn konflikt. Kohalik muudatus on kopeeritud
|
|||||||
konflikt-failiks ning serveris asuv fail on saadaval algse nimega.</translation>
|
konflikt-failiks ning serveris asuv fail on saadaval algse nimega.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation>Kopeeritud lõikepuhvrisse</translation>
|
<translation>Kopeeritud lõikepuhvrisse</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation>Sync protokoll on kopeeritud lõikepuhvrisse.</translation>
|
<translation>Sync protokoll on kopeeritud lõikepuhvrisse.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation>Probleem: %1</translation>
|
<translation>Probleem: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation>Serveris pole rohkem vaba ruumi.</translation>
|
<translation>Serveris pole rohkem vaba ruumi.</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1173,7 +1183,7 @@ konflikt-failiks ning serveris asuv fail on saadaval algse nimega.</translation>
|
|||||||
<location filename="../src/mirall/networksettings.ui" line="232"/>
|
<location filename="../src/mirall/networksettings.ui" line="232"/>
|
||||||
<location filename="../src/mirall/networksettings.ui" line="270"/>
|
<location filename="../src/mirall/networksettings.ui" line="270"/>
|
||||||
<source>No limit</source>
|
<source>No limit</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Piiramatu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/networksettings.ui" line="264"/>
|
<location filename="../src/mirall/networksettings.ui" line="264"/>
|
||||||
@@ -1927,6 +1937,34 @@ konflikt-failiks ning serveris asuv fail on saadaval algse nimega.</translation>
|
|||||||
<translation>SSL ühendus</translation>
|
<translation>SSL ühendus</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -717,7 +717,7 @@ Are you sure you want to perform this operation?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -965,51 +965,66 @@ Checked items will also be deleted if they prevent a directory from being remove
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation type="unfinished"/>
|
<translation>fitxategia</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
<translation>direktorioa</translation>
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
|
list of names to ignore</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
<source>Conflict file.</source>
|
<source>Invalid characters</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
|
<source>Conflict file.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1017,22 +1032,22 @@ name</source>
|
|||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
@@ -1913,6 +1928,34 @@ name</source>
|
|||||||
<translation>SSL Konexioa</translation>
|
<translation>SSL Konexioa</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -717,7 +717,7 @@ Are you sure you want to perform this operation?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -965,51 +965,66 @@ Checked items will also be deleted if they prevent a directory from being remove
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
|
list of names to ignore</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
<source>Conflict file.</source>
|
<source>Invalid characters</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
|
<source>Conflict file.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1017,22 +1032,22 @@ name</source>
|
|||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
@@ -1913,6 +1928,34 @@ name</source>
|
|||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -717,7 +717,7 @@ Are you sure you want to perform this operation?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -965,51 +965,66 @@ Checked items will also be deleted if they prevent a directory from being remove
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation>Tiedosto ohitettu.</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation>Kansio ohitettu.</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
<translation>Jätetty huomiotta.</translation>
|
list of names to ignore</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
<source>Conflict file.</source>
|
<source>Invalid characters</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
|
<source>Conflict file.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1017,22 +1032,22 @@ name</source>
|
|||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation>Kopioitu leikepöydälle</translation>
|
<translation>Kopioitu leikepöydälle</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation>Ongelma: %1</translation>
|
<translation>Ongelma: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation>Palvelimella ei ole enää tallennustilaa käytettävissä.</translation>
|
<translation>Palvelimella ei ole enää tallennustilaa käytettävissä.</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1913,6 +1928,34 @@ name</source>
|
|||||||
<translation>SSL-yhteys</translation>
|
<translation>SSL-yhteys</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation>%L1 Tt</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation>%L1 Gt</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation>%L1 Mt</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation>%L1 kt</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation>%L1 t</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -717,7 +717,7 @@ Are you sure you want to perform this operation?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -965,51 +965,66 @@ Checked items will also be deleted if they prevent a directory from being remove
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
|
list of names to ignore</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
<source>Conflict file.</source>
|
<source>Invalid characters</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
|
<source>Conflict file.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1017,22 +1032,22 @@ name</source>
|
|||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
@@ -1913,6 +1928,34 @@ name</source>
|
|||||||
<translation>Connexion SSL</translation>
|
<translation>Connexion SSL</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -457,27 +457,27 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="143"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="143"/>
|
||||||
<source>CSync: Permission deniend.</source>
|
<source>CSync: Permission deniend.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: Permiso denegado.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="146"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="146"/>
|
||||||
<source>CSync: File not found.</source>
|
<source>CSync: File not found.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: Non se atopa o ficheiro.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="149"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="149"/>
|
||||||
<source>CSync: Directory already exists.</source>
|
<source>CSync: Directory already exists.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: O directorio xa existe.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="152"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="152"/>
|
||||||
<source>CSync: No space left on %1 server.</source>
|
<source>CSync: No space left on %1 server.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: Non queda espazo no servidor %1.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="155"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="155"/>
|
||||||
<source>CSync: unspecified error.</source>
|
<source>CSync: unspecified error.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: Produciuse un erro non especificado.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="158"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="158"/>
|
||||||
@@ -720,7 +720,7 @@ Confirma que quere realizar esta operación?</translation>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -972,56 +972,66 @@ Os elementos marcados tamén se eliminarán se impiden retirar un directorio. Is
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation>Ficheiro ignorado.</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
<translation type="unfinished"/>
|
||||||
<translation>O ficheiro foi ignorado porque aparece na lista de ignorados nos
|
|
||||||
clientes ou porque o nome contén caracteres que non son
|
|
||||||
sincronizábeis nun entorno multiplataforma.</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation>Directorio ignorado.</translation>
|
<translation>ficheiro</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
<translation>directorio</translation>
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation>O directorio foi ignorado porque aparece na lista de ignorados nos
|
|
||||||
clientes ou porque o nome contén caracteres que non son
|
|
||||||
sincronizábeis nun entorno multiplataforma.</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
<translation>Ligazón branda ignorada.</translation>
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
<translation>As ligazóns brandas rachan a semántica de sincronización.
|
</message>
|
||||||
Non os use en directorios sincronizados.</translation>
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
<translation>Ignorado.</translation>
|
list of names to ignore</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
|
<source>Invalid characters</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
<source>Conflict file.</source>
|
<source>Conflict file.</source>
|
||||||
<translation>Ficheiro de conflitos.</translation>
|
<translation>Ficheiro de conflitos.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1032,22 +1042,22 @@ conflitos, mentres que o ficheiro do lado do servidor está dispoñíbel baixo
|
|||||||
o nome orixinal</translation>
|
o nome orixinal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation>Copiado no portapapeis.</translation>
|
<translation>Copiado no portapapeis.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation>O protocolo de sincronización foi copiado no portapapeis.</translation>
|
<translation>O protocolo de sincronización foi copiado no portapapeis.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation>Problema: %1</translation>
|
<translation>Problema: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation>Non hai máis espazo de almacenamento dispoñíbel no servidor.</translation>
|
<translation>Non hai máis espazo de almacenamento dispoñíbel no servidor.</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1174,7 +1184,7 @@ o nome orixinal</translation>
|
|||||||
<location filename="../src/mirall/networksettings.ui" line="232"/>
|
<location filename="../src/mirall/networksettings.ui" line="232"/>
|
||||||
<location filename="../src/mirall/networksettings.ui" line="270"/>
|
<location filename="../src/mirall/networksettings.ui" line="270"/>
|
||||||
<source>No limit</source>
|
<source>No limit</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Sen límite</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/networksettings.ui" line="264"/>
|
<location filename="../src/mirall/networksettings.ui" line="264"/>
|
||||||
@@ -1928,6 +1938,34 @@ o nome orixinal</translation>
|
|||||||
<translation>Conexión SSL</translation>
|
<translation>Conexión SSL</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -717,7 +717,7 @@ Are you sure you want to perform this operation?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -965,51 +965,66 @@ Checked items will also be deleted if they prevent a directory from being remove
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation>Fájl ignorálva.</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation>Mappa ignorálva.</translation>
|
<translation>fájl</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
<translation>mappa</translation>
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>Item ignored</source>
|
||||||
<translation>Szoftlink ignorálva.</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>%1 on ignore list</source>
|
||||||
Please do not use them in synced directories.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
<translation>Ignorálva.</translation>
|
list of names to ignore</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
<source>Conflict file.</source>
|
<source>Invalid characters</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
|
<source>Conflict file.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1017,22 +1032,22 @@ name</source>
|
|||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation>Bemásolva a vágólapra</translation>
|
<translation>Bemásolva a vágólapra</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation>Probléma: %1</translation>
|
<translation>Probléma: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
@@ -1913,6 +1928,34 @@ name</source>
|
|||||||
<translation>SSL-kapcsolat</translation>
|
<translation>SSL-kapcsolat</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -457,27 +457,27 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="143"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="143"/>
|
||||||
<source>CSync: Permission deniend.</source>
|
<source>CSync: Permission deniend.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: Permesso negato.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="146"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="146"/>
|
||||||
<source>CSync: File not found.</source>
|
<source>CSync: File not found.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: file non trovato.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="149"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="149"/>
|
||||||
<source>CSync: Directory already exists.</source>
|
<source>CSync: Directory already exists.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: cartella già esistente.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="152"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="152"/>
|
||||||
<source>CSync: No space left on %1 server.</source>
|
<source>CSync: No space left on %1 server.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: spazio insufficiente sul server %1.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="155"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="155"/>
|
||||||
<source>CSync: unspecified error.</source>
|
<source>CSync: unspecified error.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: errore non specificato.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="158"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="158"/>
|
||||||
@@ -720,7 +720,7 @@ Sei sicuro di voler eseguire questa operazione?</translation>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -972,78 +972,91 @@ Gli elementi marcati saranno inoltre eliminati se impediscono la rimozione di un
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation>File ignorato.</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
<translation type="unfinished"/>
|
||||||
<translation>Il file è stato ignorato perché è presente nell'elenco di esclusione
|
|
||||||
del client o il nome del file contiene caratteri non sincronizzabili
|
|
||||||
in un ambiente multipiattaforma.</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation>Cartella ignorata.</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
<translation type="unfinished"/>
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation>La cartella è stata ignorata perché è presente nell'elenco di esclusione
|
|
||||||
del client o il nome della cartella contiene caratteri non sincronizzabili
|
|
||||||
in un ambiente multipiattaforma.</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
<translation>Collegamento ignorato.</translation>
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
<translation>Ignorato.</translation>
|
list of names to ignore</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
|
<source>Invalid characters</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
<source>Conflict file.</source>
|
<source>Conflict file.</source>
|
||||||
<translation>File in conflitto.</translation>
|
<translation>File in conflitto.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
name</source>
|
name</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Il file è stato modificato sul server e sul deposito locale e ciò genera
|
||||||
|
un cosiddetto conflitto. La modifica locale viene copiata sul file in
|
||||||
|
conflitto, mentre il file sul server è disponibile con il nome originale</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation>Copiato negli appunti</translation>
|
<translation>Copiato negli appunti</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation>Il protocollo di sincronizzazione è stato copiato negli appunti.</translation>
|
<translation>Il protocollo di sincronizzazione è stato copiato negli appunti.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation>Problema: %1</translation>
|
<translation>Problema: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation>Spazio di archiviazione insufficiente sul server.</translation>
|
<translation>Spazio di archiviazione insufficiente sul server.</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1170,7 +1183,7 @@ name</source>
|
|||||||
<location filename="../src/mirall/networksettings.ui" line="232"/>
|
<location filename="../src/mirall/networksettings.ui" line="232"/>
|
||||||
<location filename="../src/mirall/networksettings.ui" line="270"/>
|
<location filename="../src/mirall/networksettings.ui" line="270"/>
|
||||||
<source>No limit</source>
|
<source>No limit</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Nessun limite</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/networksettings.ui" line="264"/>
|
<location filename="../src/mirall/networksettings.ui" line="264"/>
|
||||||
@@ -1924,6 +1937,34 @@ name</source>
|
|||||||
<translation>Connessione SSL</translation>
|
<translation>Connessione SSL</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation>%L1 TB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation>%L1 GB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation>%L1 MB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation>%L1 kB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation>%L1 B</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -457,27 +457,27 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="143"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="143"/>
|
||||||
<source>CSync: Permission deniend.</source>
|
<source>CSync: Permission deniend.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: 権限により拒否されました。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="146"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="146"/>
|
||||||
<source>CSync: File not found.</source>
|
<source>CSync: File not found.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: ファイルが見つかりません。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="149"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="149"/>
|
||||||
<source>CSync: Directory already exists.</source>
|
<source>CSync: Directory already exists.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: ディレクトリが既に存在します。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="152"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="152"/>
|
||||||
<source>CSync: No space left on %1 server.</source>
|
<source>CSync: No space left on %1 server.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: %1 サーバには利用可能な空きがありません。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="155"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="155"/>
|
||||||
<source>CSync: unspecified error.</source>
|
<source>CSync: unspecified error.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: 不明なエラー。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="158"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="158"/>
|
||||||
@@ -720,7 +720,7 @@ Are you sure you want to perform this operation?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -972,52 +972,66 @@ Checked items will also be deleted if they prevent a directory from being remove
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation>対象外ファイル</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
<translation type="unfinished"/>
|
||||||
<translation>そのファイルは、クライアント側の対象外リストに入っているか、クロスプラットフォーム環境では同期できない文字がファイル名に含まれている為、同期されませんでした。</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation>対象外ディレクトリ</translation>
|
<translation>ファイル</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
<translation>ディレクトリ</translation>
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation>そのディレクトリは、クライアント側の対象外リストに入っているか、クロスプラットフォーム環境では同期できない文字がファイル名に含まれている為、同期されませんでした。</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
<translation>対象外ソフトリンク</translation>
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
<translation>ソフトリンクは、同期の動作環境に不具合をもたらします。
|
</message>
|
||||||
同期対象ディレクトリにソフトリンクは使用しないようにお願いいたします。</translation>
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
<translation>無視されました。</translation>
|
list of names to ignore</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
|
<source>Invalid characters</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
<source>Conflict file.</source>
|
<source>Conflict file.</source>
|
||||||
<translation>競合ファイル</translation>
|
<translation>競合ファイル</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1025,22 +1039,22 @@ name</source>
|
|||||||
<translation>サーバー側とローカル側のファイルが変更された為、競合ファイルが作成されました。ローカル側の変更は、競合Conflictファイルへコピーされ、サーバー側のファイルは、元々のファイル名で利用できます。</translation>
|
<translation>サーバー側とローカル側のファイルが変更された為、競合ファイルが作成されました。ローカル側の変更は、競合Conflictファイルへコピーされ、サーバー側のファイルは、元々のファイル名で利用できます。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation>クリップボードにコピー</translation>
|
<translation>クリップボードにコピー</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation>同期状況をクリップボードにコピーしました</translation>
|
<translation>同期状況をクリップボードにコピーしました</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation>不具合: %1</translation>
|
<translation>不具合: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation>サーバー上で利用可能なストレージ容量が足りません。</translation>
|
<translation>サーバー上で利用可能なストレージ容量が足りません。</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1167,7 +1181,7 @@ name</source>
|
|||||||
<location filename="../src/mirall/networksettings.ui" line="232"/>
|
<location filename="../src/mirall/networksettings.ui" line="232"/>
|
||||||
<location filename="../src/mirall/networksettings.ui" line="270"/>
|
<location filename="../src/mirall/networksettings.ui" line="270"/>
|
||||||
<source>No limit</source>
|
<source>No limit</source>
|
||||||
<translation type="unfinished"/>
|
<translation>無制限</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/networksettings.ui" line="264"/>
|
<location filename="../src/mirall/networksettings.ui" line="264"/>
|
||||||
@@ -1921,6 +1935,34 @@ name</source>
|
|||||||
<translation>SSL接続</translation>
|
<translation>SSL接続</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation>%L1 TB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation>%L1 GB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation>%L1 MB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation>%L1 kB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation>%L1 B</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -720,7 +720,7 @@ Weet u zeker dat u deze bewerking wilt uitvoeren?</translation>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -972,57 +972,66 @@ Aangevinkte onderdelen zullen ook gewist worden als ze anders verhinderen dat ee
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation>bestand overgeslagen</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
<translation type="unfinished"/>
|
||||||
<translation>Het bestand is gewijzigd zowel op de server en als in de lokale opslag⏎
|
|
||||||
met als resultaat een zogenaamd conflict. De lokale wijziging is⏎
|
|
||||||
gekopieerd naar het conflicterende bestand, terwijl het bestand dat⏎
|
|
||||||
op de server staat beschikbaar blijft met de originele naam.</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation>map overgeslagen</translation>
|
<translation>bestand</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
<translation>directory</translation>
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation>De map werd genegeerd omdat deze op de negeerlijst stond
|
|
||||||
of omdat de mapnaam karakters bevat die niet gesynchroniseerd
|
|
||||||
kunnen worden tussen verschillende platformen</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
<translation>soft link overgeslagen</translation>
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
<translation>Softlinks verbreken de semantiek van synchronisatie.
|
</message>
|
||||||
Gebruik deze niet in gesynchroniseerde mappen.</translation>
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
<translation>overgeslagen</translation>
|
list of names to ignore</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
|
<source>Invalid characters</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
<source>Conflict file.</source>
|
<source>Conflict file.</source>
|
||||||
<translation>Conflicterend bestand.</translation>
|
<translation>Conflicterend bestand.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1033,22 +1042,22 @@ gekopieerd naar het conflicterende bestand, terwijl het bestand dat⏎
|
|||||||
op de server staat beschikbaar blijft met de originele naam.</translation>
|
op de server staat beschikbaar blijft met de originele naam.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation>Gekopieerd naar het klembord</translation>
|
<translation>Gekopieerd naar het klembord</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation>De synchronisatiegeschiedenis is naar het klembord gekopieerd.</translation>
|
<translation>De synchronisatiegeschiedenis is naar het klembord gekopieerd.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation>Probleem: %1</translation>
|
<translation>Probleem: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation>Geen opslagruimte meer beschikbaar op de server.</translation>
|
<translation>Geen opslagruimte meer beschikbaar op de server.</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1929,6 +1938,34 @@ op de server staat beschikbaar blijft met de originele naam.</translation>
|
|||||||
<translation>SSL Connectie</translation>
|
<translation>SSL Connectie</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation>%L1 TB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation>%L1 GB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation>%L1 MB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation>%L1 kB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation>%L1 B</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -717,7 +717,7 @@ Are you sure you want to perform this operation?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -965,51 +965,66 @@ Checked items will also be deleted if they prevent a directory from being remove
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation>Plik zignorowany.</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation type="unfinished"/>
|
<translation>plik</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
<translation>Katalog</translation>
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
|
list of names to ignore</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
<source>Conflict file.</source>
|
<source>Invalid characters</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
|
<source>Conflict file.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1017,22 +1032,22 @@ name</source>
|
|||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation>Protokół synchronizacji został skopiowany do schowka.</translation>
|
<translation>Protokół synchronizacji został skopiowany do schowka.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation>Problem: %1</translation>
|
<translation>Problem: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
@@ -1914,6 +1929,34 @@ Kliknij</translation>
|
|||||||
<translation>Połączenie szyfrowane</translation>
|
<translation>Połączenie szyfrowane</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -718,7 +718,7 @@ Are you sure you want to perform this operation?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -966,51 +966,66 @@ Checked items will also be deleted if they prevent a directory from being remove
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation type="unfinished"/>
|
<translation>ficheiro</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
<translation>diretório</translation>
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation type="unfinished"/>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
|
list of names to ignore</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
<source>Conflict file.</source>
|
<source>Invalid characters</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
|
<source>Conflict file.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1018,22 +1033,22 @@ name</source>
|
|||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation type="unfinished"/>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
@@ -1914,6 +1929,34 @@ name</source>
|
|||||||
<translation>Ligação SSL</translation>
|
<translation>Ligação SSL</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -472,12 +472,12 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="152"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="152"/>
|
||||||
<source>CSync: No space left on %1 server.</source>
|
<source>CSync: No space left on %1 server.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: sem espaço disponível no servidor %1.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="155"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="155"/>
|
||||||
<source>CSync: unspecified error.</source>
|
<source>CSync: unspecified error.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>CSync: Erro não especificado.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/csyncthread.cpp" line="158"/>
|
<location filename="../src/mirall/csyncthread.cpp" line="158"/>
|
||||||
@@ -720,7 +720,7 @@ Você tem certeza que quer executar esta operação?</translation>
|
|||||||
<context>
|
<context>
|
||||||
<name>Mirall::FolderWatcherPrivate</name>
|
<name>Mirall::FolderWatcherPrivate</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="54"/>
|
<location filename="../src/mirall/folderwatcher_inotify.cpp" line="53"/>
|
||||||
<source>Could not monitor directories due to system limitations.
|
<source>Could not monitor directories due to system limitations.
|
||||||
The application will not work reliably. Please check the
|
The application will not work reliably. Please check the
|
||||||
documentation for possible fixes.</source>
|
documentation for possible fixes.</source>
|
||||||
@@ -971,56 +971,66 @@ Itens marcados também serão excluídos se estiverem impedindo a remoção de u
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="120"/>
|
||||||
<source>File ignored.</source>
|
<source>Soft Link ignored</source>
|
||||||
<translation>Arquivo ignorado.</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="121"/>
|
||||||
<source>The file was ignored because it is listed in the clients ignore list
|
<source>Softlinks break the semantics of synchronization.
|
||||||
or the filename contains characters that are not syncable
|
Please do not use them in synced directories</source>
|
||||||
in a cross platform environment.</source>
|
<translation type="unfinished"/>
|
||||||
<translation>O arquivo foi ignorado porque ele é listado nos clientes ignorar lista
|
|
||||||
ou o nome do arquivo contém caracteres que não são sincronisáveis
|
|
||||||
em um ambiente multi-plataforma.</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="125"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="124"/>
|
||||||
<source>Directory ignored.</source>
|
<source>file</source>
|
||||||
<translation>Diretório ignorado.</translation>
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="126"/>
|
||||||
<source>The directory was ignored because it is listed in the clients
|
<source>directory</source>
|
||||||
ignore list or the directory name contains
|
<translation type="unfinished"/>
|
||||||
characters that are not syncable in a cross platform environment.</source>
|
|
||||||
<translation>O diretório foi ignorado porque ele está listado nos clientes
|
|
||||||
ignorar a lista ou o nome do diretório contém
|
|
||||||
caracteres que não são syncable em um ambiente multi-plataforma.</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="130"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="128"/>
|
||||||
<source>Soft Link ignored.</source>
|
<source>The %1 was ignored because it is listed in the clients ignore list
|
||||||
<translation>Soft Link ignorado.</translation>
|
or the %1 name contains characters that are not syncable
|
||||||
|
in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="131"/>
|
||||||
<source>Softlinks break the semantics of synchronization.
|
<source>Item ignored</source>
|
||||||
Please do not use them in synced directories.</source>
|
<translation type="unfinished"/>
|
||||||
<translation>Softlinks quebra a semântica de sincronização.
|
</message>
|
||||||
Por favor, não usá-los em diretórios sincronizados.</translation>
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="133"/>
|
||||||
|
<source>%1 on ignore list</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="134"/>
|
||||||
<source>Ignored.</source>
|
<source>The %1 was skipped because it is listed on the clients
|
||||||
<translation>Ignorado.</translation>
|
list of names to ignore</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="137"/>
|
||||||
|
<source>Invalid characters</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
||||||
|
<source>The %1 name contains one or more invalid characters which break
|
||||||
|
syncing in a cross platform environment</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="143"/>
|
||||||
<source>Conflict file.</source>
|
<source>Conflict file.</source>
|
||||||
<translation>Arquivo de conflito.</translation>
|
<translation>Arquivo de conflito.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="138"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="144"/>
|
||||||
<source>The file was changed on server and local repository and as a result it
|
<source>The file was changed on server and local repository and as a result it
|
||||||
created a so called conflict. The local change is copied to the conflict
|
created a so called conflict. The local change is copied to the conflict
|
||||||
file while the file from the server side is available under the original
|
file while the file from the server side is available under the original
|
||||||
@@ -1030,22 +1040,22 @@ foi criado um chamado conflito. A mudança de local foi copiado para o arquivo d
|
|||||||
enquanto o arquivo do lado do servidor está disponível sob o nome original</translation>
|
enquanto o arquivo do lado do servidor está disponível sob o nome original</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>Copied to clipboard</source>
|
<source>Copied to clipboard</source>
|
||||||
<translation>Copiado para área de transferência</translation>
|
<translation>Copiado para área de transferência</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="225"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="231"/>
|
||||||
<source>The sync protocol has been copied to the clipboard.</source>
|
<source>The sync protocol has been copied to the clipboard.</source>
|
||||||
<translation>O protocolo de sincronização foi copiado para a área de transferência.</translation>
|
<translation>O protocolo de sincronização foi copiado para a área de transferência.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="277"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="283"/>
|
||||||
<source>Problem: %1</source>
|
<source>Problem: %1</source>
|
||||||
<translation>Problema: %1</translation>
|
<translation>Problema: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/itemprogressdialog.cpp" line="280"/>
|
<location filename="../src/mirall/itemprogressdialog.cpp" line="286"/>
|
||||||
<source>No more storage space available on server.</source>
|
<source>No more storage space available on server.</source>
|
||||||
<translation>Não existe mais espaço disponível para armazenamento no servidor.</translation>
|
<translation>Não existe mais espaço disponível para armazenamento no servidor.</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1172,7 +1182,7 @@ enquanto o arquivo do lado do servidor está disponível sob o nome original</tr
|
|||||||
<location filename="../src/mirall/networksettings.ui" line="232"/>
|
<location filename="../src/mirall/networksettings.ui" line="232"/>
|
||||||
<location filename="../src/mirall/networksettings.ui" line="270"/>
|
<location filename="../src/mirall/networksettings.ui" line="270"/>
|
||||||
<source>No limit</source>
|
<source>No limit</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Sem Limite</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/networksettings.ui" line="264"/>
|
<location filename="../src/mirall/networksettings.ui" line="264"/>
|
||||||
@@ -1926,6 +1936,34 @@ enquanto o arquivo do lado do servidor está disponível sob o nome original</tr
|
|||||||
<translation>Conexão SSL</translation>
|
<translation>Conexão SSL</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Utility</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="114"/>
|
||||||
|
<source>%L1 TB</source>
|
||||||
|
<translation>%L1 TB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="117"/>
|
||||||
|
<source>%L1 GB</source>
|
||||||
|
<translation>%L1 GB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="120"/>
|
||||||
|
<source>%L1 MB</source>
|
||||||
|
<translation>%L1 MB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="123"/>
|
||||||
|
<source>%L1 kB</source>
|
||||||
|
<translation>%L1 kB</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/mirall/utility.cpp" line="126"/>
|
||||||
|
<source>%L1 B</source>
|
||||||
|
<translation>%L1 B</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main.cpp</name>
|
<name>main.cpp</name>
|
||||||
<message>
|
<message>
|
||||||
@@ -2082,7 +2120,7 @@ enquanto o arquivo do lado do servidor está disponível sob o nome original</tr
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/theme.cpp" line="69"/>
|
<location filename="../src/mirall/theme.cpp" line="69"/>
|
||||||
<source>The server is currently unavailable</source>
|
<source>The server is currently unavailable</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Servidor indisponível no momento.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/mirall/theme.cpp" line="72"/>
|
<location filename="../src/mirall/theme.cpp" line="72"/>
|
||||||
|
|||||||