1
0
mirror of https://github.com/chylex/Nextcloud-Desktop.git synced 2026-04-04 20:34:17 +02:00

Compare commits

...

115 Commits

Author SHA1 Message Date
Markus Goetz
2d38703898 VERSION.cmake: 2.4.2-rc1 2018-07-06 09:36:29 +02:00
Markus Goetz
f283c0c59c ChangeLog: 2.4.2 additions 2018-07-05 18:55:04 +02:00
Christian Kamm
0d83d7cb68 Log: Adjust update/reconcile log verbosity
Not having these enabled by default is causing significant extra back
and forth with reporters since they must manually use --logdebug for the
log to be useful.

(cherry picked from commit 25cca051a9)
2018-07-05 17:34:07 +02:00
Olivier Goffart
2e10cec2cb Reconcile: When detecting a local move, keep the local mtime
https://github.com/owncloud/client/issues/6629#issuecomment-402450691
(cherry picked from commit 90ec9a9735)
2018-07-05 17:32:11 +02:00
Thomas Boerger
3802131bad Drop Jenkinsfile, replaced by DroneCI
So far DroneCI is showing stable results, that's the point in time where
we can get rid of Jenkins 💣
2018-07-05 13:44:40 +02:00
Markus Goetz
5467950f62 MSI: Always with logfile #6609 2018-06-26 13:39:23 +02:00
Markus Goetz
3ba5bb52f3 OCUpdater: Fix missing return 2018-06-20 13:36:05 +02:00
Markus Goetz
5c011c5c21 ChangeLog: 2.4.2 2018-06-20 12:32:28 +02:00
Markus Goetz
532e975687 GeneralSettings: Hide update channel for other themes
For #6585

(cherry picked from commit e1a4c3ab72)
2018-06-20 12:30:25 +02:00
Olivier Goffart
7efc3220f4 OAuth2: Try to refresh the token even if the credentials weren't ready.
This can happen when the client is started and the internet connection
was not enabled. Then we would fetch the credentials, but we would
no do the refresh token step (because network is down).
So next time we try to connect, we would also not refresh the token
because the credentials are not marked as 'ready'

Reported in
https://github.com/owncloud/client/issues/6522#issuecomment-396845167

(cherry picked from commit 4cc0539080)
2018-06-20 12:27:57 +02:00
Christian Kamm
b5444def55 Tray workarounds backport for 2.4 #6545
* Disentangle the previous 'qdbusWorkarounds' into three different
  things
* Make not trusting tray.isVisible() a new workaround
* Introduce env vars for all workaround flags
* Use the workaround flags for OSX
* Determine workaround flags for KDE when the plasma integration plugin
  is missing

(cherry picked from commit 99116acdca)
(cherry picked from commit ca033b9685)
(cherry picked from commit 8b1d9799a3)
(cherry picked from commit a0d6139505)
2018-06-19 18:22:34 +02:00
Dominik Schmidt
c7ba898fe0 Implement startDetached() via QProcess::startDetached on non windows 2018-06-19 18:18:25 +02:00
Dominik Schmidt
7a8c8b19c2 Remove anonymous namespace 2018-06-19 18:18:25 +02:00
Dominik Schmidt
72c9d207a0 Workaround bug in Qt 5.6 that makes QProcess::startDetached always launch a console window 2018-06-19 18:18:25 +02:00
Dominik Schmidt
1e4727cfec Extract filename of updateFile without leading slash 2018-06-19 18:18:25 +02:00
Dominik Schmidt
8237c5be69 Escape msi and owncloud.exe path (who knows...) 2018-06-19 18:18:25 +02:00
Dominik Schmidt
63877d5293 Run msi properly and restart client after update 2018-06-19 18:18:25 +02:00
Dominik Schmidt
737353a017 Implement basic .msi support in updater 2018-06-19 18:18:25 +02:00
Olivier Goffart
528b5e3108 Updater: Fix beta channel for translated clients.
The names in the combobox are being translated, so we need to rely
on the index rather than the text.

(cherry picked from commit ae80317a74)
2018-06-19 12:57:28 +02:00
Christian Kamm
5d098140e7 Settings: Add warning when switching update channel
(cherry picked from commit 53f52b4cf5)
2018-05-24 13:39:00 +02:00
Christian Kamm
aeb4eed7b5 Updater: Make sparkle updater respect release channel
(cherry picked from commit 293c2b4f79)
2018-05-24 13:39:00 +02:00
Markus Goetz
c68b112858 Auto Updater: Show UI element also on macOS
(cherry picked from commit dfdc2e1e87f99d387a042f4983c999fbb7fcf3d9)
(cherry picked from commit 29349d4b3a)
2018-05-24 13:39:00 +02:00
Christian Kamm
b4f2c3c369 Settings: Add update channel combobox #6259
(cherry picked from commit 7790953a2c)

Significant conflicts in:
	src/gui/updater/updater.cpp
2018-05-24 13:39:00 +02:00
Olivier Goffart
084f522de1 Credentials: Retry fetching from the keychain in case the keychain is still starting
When owncloud is restored, at boot time, it might be started before the
crendential manager. So if we detect an error, wait 10 seconds and hopefully
it'd be loaded by then.

Issues: #4274, #6522
(cherry picked from commit c625d8e3b7)
2018-05-24 12:41:17 +02:00
Markus Goetz
5d5e0220b4 macOS: Don't use WAL for sqlite3 in /Volumes
For #6049

(cherry picked from commit 309c53ca8f)
2018-05-17 13:21:24 +02:00
Christian Kamm
7b5ce24302 Upload: Adjust timeout for final job based on size #6527
Some servers have virus scanners and the like that can delay the
response of the final chunked upload assembly significantly, often
breaking the current 5min (!) timeout. See owncloud/enterprise#2480
for details.

(cherry picked from commit 2638332dc6)
2018-05-17 13:15:51 +02:00
Christian Kamm
19e33d0924 SyncJournal: Check file existence even for open dbs #6049
With WAL mode sqlite seems to occasionally crash when the
underlying filesystem goes away.

(cherry picked from commit b1224cff0c)
2018-05-17 13:13:31 +02:00
Olivier Goffart
f8a4994307 Nautilus: Fix Python3 and remove many debug
Use b'\n' in the call to rfind, as the _remainder is bytes, not a string.

Remove most of the debug message which happens during normal operation.
They are mostly spamming the nautilus console, and can also cause bug
as they may throw exception in case of wrong encoding.

Relates to issue: #6406

(cherry picked from commit 1ab3a9fc13)
2018-04-26 10:18:37 +02:00
Christian Kamm
04fb952814 Nautilus shell integration: Print python version on startup #6406
(cherry picked from commit 44071f0892)
2018-04-26 10:18:37 +02:00
Christian Kamm
8d6e9523bb Nautilus integration: Not a ColumnProvider
The nautilus plugin doesn't actually define get_columns(), so pretending
to be a ColumnProvider lead to a critical warning on startup.

(cherry picked from commit 9f346037ee)
2018-04-26 10:18:37 +02:00
Thomas Boerger
b317cc18d0 Dropped .travis.yml from repo 2018-04-24 12:53:13 +02:00
Thomas Boerger
03a5833e29 Build clang and gcc on drone 2018-04-24 12:53:13 +02:00
Markus Goetz
91a9c65173 macOS: Unload the Finder extension on exit #5382 #3819
(cherry picked from commit 930053449184a3204525ba5d1e307b6629f0b925)
2018-04-11 13:40:51 +02:00
Markus Goetz
edabed9594 macdeployqt: Adjust minimum version based on our Qt #5932
(cherry picked from commit e9646364a0)
2018-04-03 21:31:51 +02:00
Olivier Goffart
838beded20 csync_update: add the checksum in the discovery log
Issue #6414

(cherry picked from commit 39d909b05a)
2018-04-03 15:17:15 +02:00
Christian Kamm
7dcfe9993c Blacklisting must prevent parent etag updates #6411
(cherry picked from commit 5e75d224ee)
2018-03-28 10:02:46 +02:00
Olivier Goffart
b73e2fbdab Folder: normalize the local path.
We otherwise normalize all path in the C form, so we must have
the Folder's path normalized the same. Or all comparizon will fail
(such as knowing if a file from the SocketAPI or the FilesystemWatcher
are part of the folder)

Issue #4424

(cherry picked from commit 26b991c0c0)
2018-03-27 10:56:14 +02:00
Olivier Goffart
d49771b43a propagateuploadv1: don't finalize after a done()
Should fix an assert when "Server does not support X-OC-MTime"
(Which only happens with owncloud 5)

Issue #6403

(cherry picked from commit 3f4d504c34)
2018-03-27 10:56:10 +02:00
Markus Goetz
928cdf4f4f SslButton: Add HTTP/2 info #3146
(cherry picked from commit 7739157bfc)
2018-03-27 09:02:29 +02:00
Markus Goetz
8da6fc40a1 macdeployqt: Qt 5.10.1 #5932
(cherry picked from commit 20bd943a87)
2018-03-27 08:49:57 +02:00
Markus Goetz
6e84a8d420 macOS: Put Qt version in .pkg name
(cherry picked from commit b34878c16d)
2018-03-26 19:41:46 +02:00
Christian Kamm
29557ea550 Fix nautilus/nemo shell integration encoding issues #6393
The problem was that plain encode()/decode() in python2 use ascii
encoding, not utf8.
2018-03-21 11:25:37 +01:00
Jenkins for ownCloud
37a93dca63 [tx-robot] updated from transifex 2018-03-21 02:18:33 +01:00
Jenkins for ownCloud
b632b7e0fa [tx-robot] updated from transifex 2018-03-20 02:18:30 +01:00
Jenkins for ownCloud
fc8e3b0914 [tx-robot] updated from transifex 2018-03-19 02:18:32 +01:00
Jenkins for ownCloud
861d777899 [tx-robot] updated from transifex 2018-03-18 02:18:31 +01:00
Jenkins for ownCloud
ff3e3ce886 [tx-robot] updated from transifex 2018-03-17 02:18:31 +01:00
Dominik Schmidt
567f7eb205 Apply branding to crashreporter resources file 2018-03-16 16:35:49 +01:00
Jenkins for ownCloud
c3c8ab85ec [tx-robot] updated from transifex 2018-03-16 02:18:30 +01:00
Jenkins for ownCloud
d1c887d754 [tx-robot] updated from transifex 2018-03-15 02:18:32 +01:00
Jenkins for ownCloud
991f4faafb [tx-robot] updated from transifex 2018-03-14 02:18:31 +01:00
Jenkins for ownCloud
371acb296d [tx-robot] updated from transifex 2018-03-13 02:18:36 +01:00
Jenkins for ownCloud
1119bcf539 [tx-robot] updated from transifex 2018-03-11 02:18:36 +01:00
Jenkins for ownCloud
d67018311f [tx-robot] updated from transifex 2018-03-10 02:18:34 +01:00
Jenkins for ownCloud
eaecec418e [tx-robot] updated from transifex 2018-03-09 02:18:35 +01:00
Jenkins for ownCloud
ab27bcacdf [tx-robot] updated from transifex 2018-03-08 02:18:36 +01:00
Jenkins for ownCloud
536a051460 [tx-robot] updated from transifex 2018-03-07 02:18:36 +01:00
Jenkins for ownCloud
259a117db5 [tx-robot] updated from transifex 2018-03-06 02:18:36 +01:00
Jenkins for ownCloud
167939a8c9 [tx-robot] updated from transifex 2018-03-05 02:18:37 +01:00
Jenkins for ownCloud
41ebfb635e [tx-robot] updated from transifex 2018-03-04 02:18:36 +01:00
Jenkins for ownCloud
017b8e9de3 [tx-robot] updated from transifex 2018-03-03 02:18:35 +01:00
Jenkins for ownCloud
6453c57979 [tx-robot] updated from transifex 2018-03-02 02:18:36 +01:00
Jenkins for ownCloud
a01c73be19 [tx-robot] updated from transifex 2018-03-01 02:18:37 +01:00
Jenkins for ownCloud
f63737ecb0 [tx-robot] updated from transifex 2018-02-28 02:18:35 +01:00
Jenkins for ownCloud
dd87799a82 [tx-robot] updated from transifex 2018-02-27 02:19:02 +01:00
Jenkins for ownCloud
da6b515bfc [tx-robot] updated from transifex 2018-02-26 02:19:12 +01:00
Jenkins for ownCloud
f9a03fa288 [tx-robot] updated from transifex 2018-02-25 02:19:29 +01:00
Jenkins for ownCloud
a5c66cf289 [tx-robot] updated from transifex 2018-02-24 02:18:36 +01:00
Jenkins for ownCloud
41b908e293 [tx-robot] updated from transifex 2018-02-23 02:18:35 +01:00
Jenkins for ownCloud
6ffed87b08 [tx-robot] updated from transifex 2018-02-22 02:18:34 +01:00
Jenkins for ownCloud
bd5ea43547 [tx-robot] updated from transifex 2018-02-21 02:18:51 +01:00
Markus Goetz
8ba27cb0f1 VERSION.cmake: This is 2.4.2 now 2018-02-20 12:13:58 +01:00
Markus Goetz
1ab8bb62ae ChangeLog: 2.4.1 2018-02-20 12:11:11 +01:00
Markus Goetz
6f8248ebfd test/testsyncengine: testNoLocalEncoding is for Linux 2018-02-20 11:26:11 +01:00
Christian Kamm
33306dcc38 Set launch-on-startup when the first account is set up
The previous code would disable it when the second account was
configured.

See #6347
2018-02-20 11:20:52 +01:00
Jenkins for ownCloud
888818a9f7 [tx-robot] updated from transifex 2018-02-20 02:18:34 +01:00
Jenkins for ownCloud
d90229242e [tx-robot] updated from transifex 2018-02-19 02:18:34 +01:00
Jenkins for ownCloud
b14ba325d5 [tx-robot] updated from transifex 2018-02-18 02:18:35 +01:00
Jenkins for ownCloud
628e310501 [tx-robot] updated from transifex 2018-02-17 02:18:34 +01:00
Jenkins for ownCloud
131647442f [tx-robot] updated from transifex 2018-02-16 02:18:34 +01:00
ChrisEdS
01b79f2ff1 Fix ownCloud icon in unbranded installer
Fix ownCloud icon in unbranded installer
2018-02-15 12:07:24 +01:00
Christian Kamm
73062e21a3 SyncJournal: Don't use LIKE with paths
Paths can contain the wildcards % and _ and that would lead to odd
behavior.

This patch also clarifies the behavior of avoidReadFromDbOnNextSync()
which previously dependend on whether "foo/bar" or "foo/bar/" was
passed as input.

Possibly affects #6322
2018-02-15 09:56:43 +01:00
Christian Kamm
e7e6584cab Sharing: Use maximum allowed permissions for new share #6346
The client already computed the valid permissions, there was just a typo
that meant we didn't end up using them.
2018-02-15 09:10:47 +01:00
Jenkins for ownCloud
7373c68aeb [tx-robot] updated from transifex 2018-02-15 02:18:35 +01:00
Markus Goetz
13f1122c50 HTTP2: Only from Qt 5.9.4 #6285 2018-02-14 12:11:27 +01:00
Jenkins for ownCloud
ba5fb5aca7 [tx-robot] updated from transifex 2018-02-14 02:18:33 +01:00
Jenkins for ownCloud
55a91926c1 [tx-robot] updated from transifex 2018-02-13 02:18:34 +01:00
Markus Goetz
b5e129aa6b Theme: Icon cache explanation 2018-02-12 17:11:58 +01:00
Markus Goetz
9fc175231d Notifications: Immediately request when getting account online 2018-02-12 09:01:00 +01:00
Markus Goetz
4dd0a75cce SettingsDialogMac: Also start timer for notifications 2018-02-12 09:01:00 +01:00
Jenkins for ownCloud
3cfd502f7e [tx-robot] updated from transifex 2018-02-12 02:18:34 +01:00
Jenkins for ownCloud
452a99f7d3 [tx-robot] updated from transifex 2018-02-11 02:18:34 +01:00
Jenkins for ownCloud
a9d37a0784 [tx-robot] updated from transifex 2018-02-10 02:18:51 +01:00
Christian Kamm
22b19636e9 Don't delete contents behind directory junctions #6322
QFileInfo::isSymLink() does detect reparse points that are symlinks but
returns false for junctions. The new function FileSystem::isJunction()
can detect those and is used to not recursively delete files inside
directories that are junctions.

See also https://bugreports.qt.io/browse/QTBUG-45344 and the
discussion in the PR https://codereview.qt-project.org/#/c/113019/.
2018-02-09 09:15:29 +01:00
Jenkins for ownCloud
6ee3310e2b [tx-robot] updated from transifex 2018-02-09 02:18:54 +01:00
Jenkins for ownCloud
065b1eed11 [tx-robot] updated from transifex 2018-02-08 02:18:53 +01:00
Jenkins for ownCloud
dbc2d4a8b6 [tx-robot] updated from transifex 2018-02-07 02:18:35 +01:00
Markus Goetz
7eb2dc21af ServerNotificationHandler: Properly create "Dismiss" URL
Qt's JSON API is confusing, it doesn't convert to a string as one expects.
2018-02-06 20:28:00 +01:00
Jenkins for ownCloud
8fb9700869 [tx-robot] updated from transifex 2018-02-06 02:18:36 +01:00
Jenkins for ownCloud
f95e044206 [tx-robot] updated from transifex 2018-02-05 02:18:34 +01:00
Jenkins for ownCloud
795ab29514 [tx-robot] updated from transifex 2018-02-04 02:18:38 +01:00
Jenkins for ownCloud
72262b565e [tx-robot] updated from transifex 2018-02-03 02:18:36 +01:00
Markus Goetz
06a86033c1 ChangeLog: Entries for 2.4.1 2018-02-02 16:30:49 +01:00
Jenkins for ownCloud
e17d5defe3 [tx-robot] updated from transifex 2018-02-02 02:18:34 +01:00
Jenkins for ownCloud
959d60e957 [tx-robot] updated from transifex 2018-02-01 02:18:34 +01:00
Samuel Alfageme
31f516f390 Fix 2.4.0 release date that somehow got lost 2018-01-31 13:43:13 +01:00
Jenkins for ownCloud
b6835186a3 [tx-robot] updated from transifex 2018-01-31 02:18:36 +01:00
Jenkins for ownCloud
c32ba4aee3 [tx-robot] updated from transifex 2018-01-30 02:18:36 +01:00
Olivier Goffart
e720f84005 owncloudcmd: Do not do the capability call when --nonshib is passed
https://github.com/owncloud/enterprise/issues/2391
2018-01-29 09:57:18 +01:00
Jenkins for ownCloud
48ef2e4563 [tx-robot] updated from transifex 2018-01-29 02:18:36 +01:00
Jenkins for ownCloud
a0d9fc4354 [tx-robot] updated from transifex 2018-01-28 02:18:53 +01:00
Jenkins for ownCloud
e4b2d27c65 [tx-robot] updated from transifex 2018-01-27 02:18:50 +01:00
Jenkins for ownCloud
c846a329a8 [tx-robot] updated from transifex 2018-01-26 02:18:34 +01:00
Jenkins for ownCloud
c1bf90ddad [tx-robot] updated from transifex 2018-01-25 02:18:51 +01:00
Jenkins for ownCloud
b418bf6db4 [tx-robot] updated from transifex 2018-01-24 02:18:35 +01:00
96 changed files with 2228 additions and 1344 deletions

91
.drone.yml Normal file
View File

@@ -0,0 +1,91 @@
#
# We are building GCC with make and Clang with ninja, the combinations are more
# or less arbitrarily chosen. We just want to check that both compilers and both
# CMake generators work. It's unlikely that a specific generator only breaks
# with a specific compiler.
#
workspace:
base: /drone
path: src/github.com/owncloud/client
branches:
- master
- 2.4
clone:
git:
image: plugins/git
pull: true
tags: false
pipeline:
prepare-clang:
image: owncloudci/client:latest
pull: true
environment:
- LC_ALL=C.UTF-8
commands:
- mkdir clang-build
- cd clang-build
- cmake -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE="Debug" -DUNIT_TESTING=1 ..
building-clang:
image: owncloudci/client:latest
pull: true
environment:
- LC_ALL=C.UTF-8
commands:
- cd clang-build
- ninja -j4
testing-clang:
image: owncloudci/client:latest
pull: true
environment:
- LC_ALL=C.UTF-8
commands:
- cd clang-build
- useradd -m -s /bin/bash tester
- chown -R tester:tester .
- su-exec tester ctest --output-on-failure
prepare-gcc:
image: owncloudci/client:latest
pull: true
environment:
- LC_ALL=C.UTF-8
commands:
- mkdir gcc-build
- cd gcc-build
- cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE="Debug" -DUNIT_TESTING=1 ..
building-gcc:
image: owncloudci/client:latest
pull: true
environment:
- LC_ALL=C.UTF-8
commands:
- cd gcc-build
- make -j4
testing-gcc:
image: owncloudci/client:latest
pull: true
environment:
- LC_ALL=C.UTF-8
commands:
- cd gcc-build
- useradd -m -s /bin/bash tester
- chown -R tester:tester .
- su-exec tester ctest --output-on-failure
notify-slack:
image: plugins/slack
pull: true
secrets: [ slack_webhook ]
channel: desktop
when:
local: false
status: [ changed, failure ]
event: [ push ]

View File

@@ -1,37 +0,0 @@
sudo: required
language: cpp
services:
- docker
branches:
only:
- coverity_scan
before_install:
- sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_14.04/ /' >> /etc/apt/sources.list.d/owncloud-client.list"
- sudo sh -c "echo 'deb-src http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_14.04/ /' >> /etc/apt/sources.list.d/owncloud-client.list"
- wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/Ubuntu_14.04/Release.key
- sudo apt-key add - < Release.key
- sudo apt-get update
- sudo apt-get -y build-dep owncloud-client
- checkout=$(git show-ref --head --hash head)
- cd ../
- wget https://scan.coverity.com/download/linux-64 --post-data "token=$token&project=owncloud%2Fmirall" -O coverity_tool.tgz
- mkdir coverity
- tar -xvf coverity_tool.tgz -C coverity --strip-components=1
- export PATH=$PATH:$PWD/coverity/bin/
- cd $TRAVIS_BUILD_DIR
install:
- cd ../
- mkdir client-build
- cd client-build
- cmake -DCMAKE_BUILD_TYPE="Debug" $TRAVIS_BUILD_DIR
- cov-build --dir cov-int make
- tar czvf client.tgz cov-int
- curl --form token=$token --form email=lukas@statuscode.ch --form file=@$PWD/client.tgz --form version="$checkout" --form description="$checkout" https://scan.coverity.com/builds?project=owncloud%2Fmirall
# Hack to stop processing
script: true

View File

@@ -1,7 +1,43 @@
ChangeLog ChangeLog
========= =========
version 2.4.0 (2017-12-XX) version 2.4.2 (2018-06-xx)
* Linux: Tray workarounds (#6545)
* Fix nautilus/nemo shell issues (#6393, #6406)
* Updater: Add update channel feature (#6259)
* Updater: Support EXE->MSI upgrade
* SyncJournal: Fixes for sync folders on removable media (#6049, #6049)
* SslButton: Add HTTP/2 info (#3146)
* Fix assert when using ownCloud server 5 (which you should not) (#6403)
* Normalize local path (#4424)
* Blacklisting must prevent parent etag updates (#6411)
* macdeployqt: Adjust minimum version based on our Qt (#5932)
* macOS: Unload the Finder extension on exit (#5382, #3819)
* Upload: Adjust timeout for final job based on file size (#6527)
* Sync: When detecting a local move, keep the local mtime (#6629)
* Credentials: Retry fetching from the keychain in case the keychain is still starting (#4274, #6522)
* OAuth2: Try to refresh the token even if the credentials weren't ready (#6522)
version 2.4.1 (2018-02-xx)
* Ignore files with file names that can't be encoded for the filesystem (#6287, #5676, #5719)
* Issues: Speed up insertion and add hard upper limit (#6272)
* Notifications: Fix "Dismiss" action
* Notifications: Fix timer invocation on macOS
* Notifications: Immediately poll when account online
* Protocol: Remove entries for auto resolved conflicts (#6316)
* owncloudcmd: Set proxy before capabilities call (#6281)
* owncloudcmd: Do not do the capability call when --nonshib is passed
* Avatars: Use old location for servers <10 (#6279)
* Link shares: Change default share name (#6298)
* Sharing: Use maximum allowed permissions for new share (#6346)
* Nautilus integration: Work with python2 and python3
* Windows: Don't delete contents behind directory junctions (#6322)
* SyncJournal: Don't use LIKE with paths (#6322)
* Fix setting launch-on-startup when the first account is set up (#6347)
* HTTP2: Only allow with Qt 5.9.4 (#6285)
* Crash fixes
version 2.4.0 (2017-12-21)
* If you're using 2.4.0 alpha1, please upgrade as previous alphas/rcs had an issue with hidden files and renames! * If you're using 2.4.0 alpha1, please upgrade as previous alphas/rcs had an issue with hidden files and renames!
* OAuth2 authentication support by opening external browser (#5668) * OAuth2 authentication support by opening external browser (#5668)
* Shibboleth: Change to use OAuth2 if supported (#6198) * Shibboleth: Change to use OAuth2 if supported (#6198)

51
Jenkinsfile vendored
View File

@@ -1,51 +0,0 @@
#!groovy
//
// We now run the tests in Debug mode so that ASSERTs are triggered.
// Ideally we should run the tests in both Debug and Release so we catch
// all possible error combinations.
// See also the top comment in syncenginetestutils.h
//
node('CLIENT') {
stage 'Checkout'
checkout scm
sh '''git submodule update --init'''
stage 'Qt5'
sh '''rm -rf build
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE="Debug" -DUNIT_TESTING=1 -DWITH_TESTING=1 -DCMAKE_PREFIX_PATH=/var/lib/jenkins/qt/5.6.2 ..
make -j4
ctest -V --output-on-failure'''
stage 'Qt5 - clang'
sh '''rm -rf build
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DUNIT_TESTING=1 -DWITH_TESTING=1 -DCMAKE_PREFIX_PATH=/var/lib/jenkins/qt/5.6.2 ..
make -j4
ctest -V --output-on-failure'''
stage 'Win32'
def win32 = docker.image('guruz/docker-owncloud-client-win32:latest')
win32.pull() // make sure we have the latest available from Docker Hub
win32.inside {
sh '''
rm -rf build-win32
mkdir build-win32
cd build-win32
../admin/win/download_runtimes.sh
cmake .. -DCMAKE_TOOLCHAIN_FILE=../admin/win/Toolchain-mingw32-openSUSE.cmake -DWITH_CRASHREPORTER=ON
make -j4
make package
ctest .
'''
}
// Stage 'macOS' TODO
}

View File

@@ -19,4 +19,4 @@ set( MAC_INSTALLER_BACKGROUND_FILE "${CMAKE_SOURCE_DIR}/admin/osx/installer-back
option( WITH_CRASHREPORTER "Build crashreporter" OFF ) option( WITH_CRASHREPORTER "Build crashreporter" OFF )
set( CRASHREPORTER_SUBMIT_URL "https://crash-reports.owncloud.com/submit" CACHE string "URL for crash reporter" ) set( CRASHREPORTER_SUBMIT_URL "https://crash-reports.owncloud.com/submit" CACHE string "URL for crash reporter" )
set( CRASHREPORTER_ICON ":/owncloud-icon.png" )

View File

@@ -1,6 +1,6 @@
# ownCloud Desktop Client # ownCloud Desktop Client
[![Build Status](https://jenkins.owncloud.org/buildStatus/icon?job=owncloud-client/client/master)](https://jenkins.owncloud.org/job/owncloud-client/job/client/job/master/) [![Build Status](https://drone.owncloud.com/api/badges/owncloud/client/status.svg)](https://drone.owncloud.com/owncloud/client)
## Introduction ## Introduction

View File

@@ -1,11 +1,11 @@
set( MIRALL_VERSION_MAJOR 2 ) set( MIRALL_VERSION_MAJOR 2 )
set( MIRALL_VERSION_MINOR 4 ) set( MIRALL_VERSION_MINOR 4 )
set( MIRALL_VERSION_PATCH 1 ) set( MIRALL_VERSION_PATCH 2 )
set( MIRALL_VERSION_YEAR 2017 ) set( MIRALL_VERSION_YEAR 2018 )
set( MIRALL_SOVERSION 0 ) set( MIRALL_SOVERSION 0 )
if ( NOT DEFINED MIRALL_VERSION_SUFFIX ) if ( NOT DEFINED MIRALL_VERSION_SUFFIX )
set( MIRALL_VERSION_SUFFIX "git") #e.g. beta1, beta2, rc1 set( MIRALL_VERSION_SUFFIX "rc1") #e.g. beta1, beta2, rc1
endif( NOT DEFINED MIRALL_VERSION_SUFFIX ) endif( NOT DEFINED MIRALL_VERSION_SUFFIX )
if( NOT DEFINED MIRALL_VERSION_BUILD ) if( NOT DEFINED MIRALL_VERSION_BUILD )

View File

@@ -11,6 +11,7 @@ else()
set(MAC_INSTALLER_DO_CUSTOM_BACKGROUND "0") set(MAC_INSTALLER_DO_CUSTOM_BACKGROUND "0")
endif() endif()
find_package(Qt5 5.6 COMPONENTS Core REQUIRED)
configure_file(create_mac_pkg.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/create_mac.sh) configure_file(create_mac_pkg.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/create_mac.sh)
configure_file(macosx.pkgproj ${CMAKE_CURRENT_BINARY_DIR}/macosx.pkgproj) configure_file(macosx.pkgproj ${CMAKE_CURRENT_BINARY_DIR}/macosx.pkgproj)
configure_file(pre_install.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/pre_install.sh) configure_file(pre_install.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/pre_install.sh)

View File

@@ -23,7 +23,7 @@ identity="$3"
prjfile=$build_path/admin/osx/macosx.pkgproj prjfile=$build_path/admin/osx/macosx.pkgproj
# The name of the installer package # The name of the installer package
installer="@APPLICATION_SHORTNAME@-@MIRALL_VERSION_FULL@@MIRALL_VERSION_SUFFIX@" installer="@APPLICATION_SHORTNAME@-qt@Qt5Core_VERSION@-@MIRALL_VERSION_FULL@@MIRALL_VERSION_SUFFIX@"
installer_file="$installer.pkg" installer_file="$installer.pkg"
installer_file_tar="$installer.pkg.tar" installer_file_tar="$installer.pkg.tar"
installer_file_tar_bz2="$installer.pkg.tar.bz2" installer_file_tar_bz2="$installer.pkg.tar.bz2"

View File

@@ -22,6 +22,7 @@ import subprocess
import commands import commands
import sys import sys
from glob import glob from glob import glob
from distutils.version import LooseVersion
def QueryQMake(attrib): def QueryQMake(attrib):
return subprocess.check_output([qmake_path, '-query', attrib]).rstrip('\n') return subprocess.check_output([qmake_path, '-query', attrib]).rstrip('\n')
@@ -92,6 +93,8 @@ commands.append(['mkdir', '-p', resources_dir])
plugins_dir = os.path.join(bundle_dir, 'Contents', 'PlugIns') plugins_dir = os.path.join(bundle_dir, 'Contents', 'PlugIns')
binaries = [i for i in glob(os.path.join(bundle_dir, 'Contents', 'MacOS', "*")) if is_exe(i)]; binaries = [i for i in glob(os.path.join(bundle_dir, 'Contents', 'MacOS', "*")) if is_exe(i)];
qt_version = QueryQMake('QT_VERSION')
print "Using Qt", qt_version
fixed_libraries = [] fixed_libraries = []
fixed_frameworks = [] fixed_frameworks = []
@@ -334,9 +337,19 @@ def FindQtPlugin(name):
for binary in binaries: for binary in binaries:
FixBinary(binary) FixBinary(binary)
if LooseVersion(qt_version) >= LooseVersion("5.10.0"):
QT_PLUGINS.append('styles/libqmacstyle.dylib')
for plugin in QT_PLUGINS: for plugin in QT_PLUGINS:
FixPlugin(FindQtPlugin(plugin), os.path.dirname(plugin)) FixPlugin(FindQtPlugin(plugin), os.path.dirname(plugin))
if LooseVersion(qt_version) >= LooseVersion("5.10.0"):
args = ['plutil', '-insert', 'LSMinimumSystemVersion', '-string', '10.10.0', os.path.join(bundle_dir, 'Contents', 'Info.plist')]
commands.append(args)
else:
args = ['plutil', '-insert', 'LSMinimumSystemVersion', '-string', '10.7.0', os.path.join(bundle_dir, 'Contents', 'Info.plist')]
commands.append(args)
if len(sys.argv) <= 2: if len(sys.argv) <= 2:
print 'Will run %d commands:' % len(commands) print 'Will run %d commands:' % len(commands)
for command in commands: for command in commands:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -27,11 +27,9 @@
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>@MIRALL_VERSION_STRING@</string> <string>@MIRALL_VERSION_STRING@</string>
<key>NSHumanReadableCopyright</key> <key>NSHumanReadableCopyright</key>
<string>(C) 2014-2016 @APPLICATION_VENDOR@</string> <string>(C) 2014-2018 @APPLICATION_VENDOR@</string>
<key>SUShowReleaseNotes</key> <key>SUShowReleaseNotes</key>
<false/> <false/>
<key>LSMinimumBundleVersion</key>
<string>10.7.0</string>
<key>SUPublicDSAKeyFile</key> <key>SUPublicDSAKeyFile</key>
<string>dsa_pub.pem</string> <string>dsa_pub.pem</string>
</dict> </dict>

View File

@@ -194,6 +194,174 @@ X-GNOME-Autostart-Delay=3
# Translations # Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations # Translations
Comment[oc]=@APPLICATION_NAME@ sincronizacion del client Comment[oc]=@APPLICATION_NAME@ sincronizacion del client
GenericName[oc]=Dorsièr de Sincronizacion GenericName[oc]=Dorsièr de Sincronizacion
@@ -278,6 +446,10 @@ Comment[ko]=@APPLICATION_NAME@ 데스크톱 동기화 클라이언트
GenericName[ko]=폴더 동기화 GenericName[ko]=폴더 동기화
Name[ko]=@APPLICATION_NAME@ 데스크톱 동기화 클라이언트 Name[ko]=@APPLICATION_NAME@ 데스크톱 동기화 클라이언트
Icon[ko]=@APPLICATION_EXECUTABLE@ Icon[ko]=@APPLICATION_EXECUTABLE@
Comment[lo]=@APPLICATION_NAME@ ການປະສານຂໍ້ມູນຄອມພິວເຕີລູກຂ່າຍ
GenericName[lo]=ໂຟນເດີຊິງ
Name[lo]=@APPLICATION_NAME@ ຊິງຄອມພິວເຕີລູກຂ່າຍ
Icon[lo]=@APPLICATION_EXECUTABLE@
Comment[hu_HU]=@APPLICATION_NAME@ asztali szinkronizációs kliens Comment[hu_HU]=@APPLICATION_NAME@ asztali szinkronizációs kliens
GenericName[hu_HU]=Könyvtár szinkronizálás GenericName[hu_HU]=Könyvtár szinkronizálás
Name[hu_HU]=@APPLICATION_NAME@ asztali szinkr. kliens Name[hu_HU]=@APPLICATION_NAME@ asztali szinkr. kliens

View File

@@ -34,12 +34,15 @@ from gi.repository import GObject, Nautilus
appname = 'ownCloud' appname = 'ownCloud'
print("Initializing "+appname+"-client-nautilus extension") print("Initializing "+appname+"-client-nautilus extension")
print("Using python version {}".format(sys.version_info))
def get_local_path(url): def get_local_path(url):
if url[0:7] == 'file://': if url[0:7] == 'file://':
url = url[7:] url = url[7:]
unquote = urllib.parse.unquote if python3 else urllib.unquote if python3:
return unquote(url) return urllib.parse.unquote(url)
else:
return urllib.unquote(url).decode('utf-8')
def get_runtime_dir(): def get_runtime_dir():
"""Returns the value of $XDG_RUNTIME_DIR, a directory path. """Returns the value of $XDG_RUNTIME_DIR, a directory path.
@@ -61,7 +64,7 @@ class SocketConnect(GObject.GObject):
self._watch_id = 0 self._watch_id = 0
self._sock = None self._sock = None
self._listeners = [self._update_registered_paths] self._listeners = [self._update_registered_paths]
self._remainder = ''.encode() self._remainder = ''.encode('utf-8')
self.nautilusVFSFile_table = {} # not needed in this object actually but shared self.nautilusVFSFile_table = {} # not needed in this object actually but shared
# all over the other objects. # all over the other objects.
@@ -79,7 +82,7 @@ class SocketConnect(GObject.GObject):
# print("Server command: " + cmd) # print("Server command: " + cmd)
if self.connected: if self.connected:
try: try:
self._sock.send(cmd.encode()) self._sock.send(cmd.encode('utf-8'))
except: except:
print("Sending failed.") print("Sending failed.")
self.reconnect() self.reconnect()
@@ -94,18 +97,15 @@ class SocketConnect(GObject.GObject):
self._sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) self._sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
sock_file = os.path.join(get_runtime_dir(), appname, "socket") sock_file = os.path.join(get_runtime_dir(), appname, "socket")
try: try:
print("Socket File: " + sock_file)
self._sock.connect(sock_file) # fails if sock_file doesn't exist self._sock.connect(sock_file) # fails if sock_file doesn't exist
self.connected = True self.connected = True
print("Setting connected to %r." % self.connected )
self._watch_id = GObject.io_add_watch(self._sock, GObject.IO_IN, self._handle_notify) self._watch_id = GObject.io_add_watch(self._sock, GObject.IO_IN, self._handle_notify)
print("Socket watch id: " + str(self._watch_id))
self.sendCommand('GET_STRINGS:\n') self.sendCommand('GET_STRINGS:\n')
return False # Don't run again return False # Don't run again
except Exception as e: except Exception as e:
print("Could not connect to unix socket. " + str(e)) print("Could not connect to unix socket " + sock_file + ". " + str(e))
except Exception as e: # Bad habbit except Exception as e: # Bad habbit
print("Connect could not be established, try again later.") print("Connect could not be established, try again later.")
self._sock.close() self._sock.close()
@@ -118,24 +118,24 @@ class SocketConnect(GObject.GObject):
# Prepend the remaining data from last call # Prepend the remaining data from last call
if len(self._remainder) > 0: if len(self._remainder) > 0:
data = self._remainder + data data = self._remainder + data
self._remainder = ''.encode() self._remainder = ''.encode('utf-8')
if len(data) > 0: if len(data) > 0:
# Remember the remainder for next round # Remember the remainder for next round
lastNL = data.rfind('\n'.encode()); lastNL = data.rfind('\n'.encode('utf-8'));
if lastNL > -1 and lastNL < len(data): if lastNL > -1 and lastNL < len(data):
self._remainder = data[lastNL+1:] self._remainder = data[lastNL+1:]
data = data[:lastNL] data = data[:lastNL]
for l in data.split('\n'.encode()): for l in data.split('\n'.encode('utf-8')):
self._handle_server_response(l.decode()) self._handle_server_response(l.decode('utf-8'))
else: else:
return False return False
return True # Run again return True # Run again
def _handle_server_response(self, line): def _handle_server_response(self, line):
print("Server response: " + line) # print("Server response: " + line)
parts = line.split(':') parts = line.split(':')
action = parts[0] action = parts[0]
args = parts[1:] args = parts[1:]
@@ -262,11 +262,11 @@ class MenuExtension(GObject.GObject, Nautilus.MenuProvider):
def context_menu_action(self, menu, action, file): def context_menu_action(self, menu, action, file):
filename = get_local_path(file.get_uri()) filename = get_local_path(file.get_uri())
print("Context menu: " + action + ' ' + filename) # print("Context menu: " + action + ' ' + filename)
socketConnect.sendCommand(action + ":" + filename + "\n") socketConnect.sendCommand(action + ":" + filename + "\n")
class SyncStateExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoProvider): class SyncStateExtension(GObject.GObject, Nautilus.InfoProvider):
def __init__(self): def __init__(self):
GObject.GObject.__init__(self) GObject.GObject.__init__(self)

View File

@@ -455,24 +455,30 @@ int main(int argc, char **argv)
account->setCredentials(cred); account->setCredentials(cred);
account->setSslErrorHandler(sslErrorHandler); account->setSslErrorHandler(sslErrorHandler);
//obtain capabilities using event loop // Perform a call to get the capabilities.
QEventLoop loop; if (!options.nonShib) {
// Do not do it if '--nonshib' was passed. This mean we should only connect to the 'nonshib'
// dav endpoint. Since we do not get the capabilities, in that case, this has the additional
// side effect that chunking-ng will be disabled. (because otherwise it would use the new
// 'dav' endpoint instead of the nonshib one (which still use the old chunking)
JsonApiJob *job = new JsonApiJob(account, QLatin1String("ocs/v1.php/cloud/capabilities")); QEventLoop loop;
job->setTimeout(timeoutToUseMsec); JsonApiJob *job = new JsonApiJob(account, QLatin1String("ocs/v1.php/cloud/capabilities"));
QObject::connect(job, &JsonApiJob::jsonReceived, [&](const QJsonDocument &json) { job->setTimeout(timeoutToUseMsec);
auto caps = json.object().value("ocs").toObject().value("data").toObject().value("capabilities").toObject(); QObject::connect(job, &JsonApiJob::jsonReceived, [&](const QJsonDocument &json) {
qDebug() << "Server capabilities" << caps; auto caps = json.object().value("ocs").toObject().value("data").toObject().value("capabilities").toObject();
account->setCapabilities(caps.toVariantMap()); qDebug() << "Server capabilities" << caps;
loop.quit(); account->setCapabilities(caps.toVariantMap());
}); loop.quit();
job->start(); });
job->start();
loop.exec(); loop.exec();
if (job->reply()->error() != QNetworkReply::NoError){ if (job->reply()->error() != QNetworkReply::NoError){
std::cout<<"Error connecting to server\n"; std::cout<<"Error connecting to server\n";
return EXIT_FAILURE; return EXIT_FAILURE;
}
} }
// much lower age than the default since this utility is usually made to be run right after a change in the tests // much lower age than the default since this utility is usually made to be run right after a change in the tests

View File

@@ -478,4 +478,22 @@ bool FileSystem::isLnkFile(const QString &filename)
return filename.endsWith(".lnk"); return filename.endsWith(".lnk");
} }
bool FileSystem::isJunction(const QString &filename)
{
#ifdef Q_OS_WIN
WIN32_FIND_DATA findData;
HANDLE hFind = FindFirstFileEx((const wchar_t *)filename.utf16(), FindExInfoBasic, &findData, FindExSearchNameMatch, NULL, 0);
if (hFind != INVALID_HANDLE_VALUE) {
FindClose(hFind);
return false;
}
return findData.dwFileAttributes != INVALID_FILE_ATTRIBUTES
&& findData.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT
&& findData.dwReserved0 == IO_REPARSE_TAG_MOUNT_POINT;
#else
Q_UNUSED(filename);
return false;
#endif
}
} // namespace OCC } // namespace OCC

View File

@@ -141,8 +141,16 @@ namespace FileSystem {
*/ */
bool OCSYNC_EXPORT isFileLocked(const QString &fileName); bool OCSYNC_EXPORT isFileLocked(const QString &fileName);
/**
* Returns whether the file is a shortcut file (ends with .lnk)
*/
bool OCSYNC_EXPORT isLnkFile(const QString &filename); bool OCSYNC_EXPORT isLnkFile(const QString &filename);
/**
* Returns whether the file is a junction (windows only)
*/
bool OCSYNC_EXPORT isJunction(const QString &filename);
/* /*
* This function takes a path and converts it to a UNC representation of the * This function takes a path and converts it to a UNC representation of the
* string. That means that it prepends a \\?\ (unless already UNC) and converts * string. That means that it prepends a \\?\ (unless already UNC) and converts

View File

@@ -32,6 +32,13 @@
#include "common/c_jhash.h" #include "common/c_jhash.h"
// SQL expression to check whether path.startswith(prefix + '/')
// Note: '/' + 1 == '0'
#define IS_PREFIX_PATH_OF(prefix, path) \
"(" path " > (" prefix "||'/') AND " path " < (" prefix "||'0'))"
#define IS_PREFIX_PATH_OR_EQUAL(prefix, path) \
"(" path " == " prefix " OR " IS_PREFIX_PATH_OF(prefix, path) ")"
namespace OCC { namespace OCC {
Q_LOGGING_CATEGORY(lcDb, "sync.database", QtInfoMsg) Q_LOGGING_CATEGORY(lcDb, "sync.database", QtInfoMsg)
@@ -58,7 +65,7 @@ static void fillFileRecordFromGetQuery(SyncJournalFileRecord &rec, SqlQuery &que
static QString defaultJournalMode(const QString &dbPath) static QString defaultJournalMode(const QString &dbPath)
{ {
#ifdef Q_OS_WIN #if defined(Q_OS_WIN)
// See #2693: Some exFAT file systems seem unable to cope with the // See #2693: Some exFAT file systems seem unable to cope with the
// WAL journaling mode. They work fine with DELETE. // WAL journaling mode. They work fine with DELETE.
QString fileSystem = FileSystem::fileSystemForPath(dbPath); QString fileSystem = FileSystem::fileSystemForPath(dbPath);
@@ -67,6 +74,11 @@ static QString defaultJournalMode(const QString &dbPath)
qCInfo(lcDb) << "Filesystem contains FAT - using DELETE journal mode"; qCInfo(lcDb) << "Filesystem contains FAT - using DELETE journal mode";
return "DELETE"; return "DELETE";
} }
#elif defined(Q_OS_MAC)
if (dbPath.startsWith("/Volumes/")) {
qCInfo(lcDb) << "Mounted sync dir, do not use WAL for" << dbPath;
return "DELETE";
}
#else #else
Q_UNUSED(dbPath) Q_UNUSED(dbPath)
#endif #endif
@@ -264,6 +276,11 @@ bool SyncJournalDb::sqlFail(const QString &log, const SqlQuery &query)
bool SyncJournalDb::checkConnect() bool SyncJournalDb::checkConnect()
{ {
if (_db.isOpen()) { if (_db.isOpen()) {
if (!QFile::exists(_dbFile)) {
qCWarning(lcDb) << "Database open, but file file" + _dbFile + " does not exist";
close();
return false;
}
return true; return true;
} }
@@ -550,7 +567,7 @@ bool SyncJournalDb::checkConnect()
_getFilesBelowPathQuery.reset(new SqlQuery(_db)); _getFilesBelowPathQuery.reset(new SqlQuery(_db));
if (_getFilesBelowPathQuery->prepare( if (_getFilesBelowPathQuery->prepare(
GET_FILE_RECORD_QUERY GET_FILE_RECORD_QUERY
" WHERE path > (?1||'/') AND path < (?1||'0') ORDER BY path||'/' ASC")) { " WHERE " IS_PREFIX_PATH_OF("?1", "path") " ORDER BY path||'/' ASC")) {
return sqlFail("prepare _getFilesBelowPathQuery", *_getFilesBelowPathQuery); return sqlFail("prepare _getFilesBelowPathQuery", *_getFilesBelowPathQuery);
} }
@@ -620,7 +637,7 @@ bool SyncJournalDb::checkConnect()
} }
_deleteFileRecordRecursively.reset(new SqlQuery(_db)); _deleteFileRecordRecursively.reset(new SqlQuery(_db));
if (_deleteFileRecordRecursively->prepare("DELETE FROM metadata WHERE path LIKE(?||'/%')")) { if (_deleteFileRecordRecursively->prepare("DELETE FROM metadata WHERE " IS_PREFIX_PATH_OF("?1", "path"))) {
return sqlFail("prepare _deleteFileRecordRecursively", *_deleteFileRecordRecursively); return sqlFail("prepare _deleteFileRecordRecursively", *_deleteFileRecordRecursively);
} }
@@ -1780,9 +1797,8 @@ void SyncJournalDb::avoidRenamesOnNextSync(const QByteArray &path)
} }
SqlQuery query(_db); SqlQuery query(_db);
query.prepare("UPDATE metadata SET fileid = '', inode = '0' WHERE path == ?1 OR path LIKE(?2||'/%')"); query.prepare("UPDATE metadata SET fileid = '', inode = '0' WHERE " IS_PREFIX_PATH_OR_EQUAL("?1", "path"));
query.bindValue(1, path); query.bindValue(1, path);
query.bindValue(2, path);
query.exec(); query.exec();
// We also need to remove the ETags so the update phase refreshes the directory paths // We also need to remove the ETags so the update phase refreshes the directory paths
@@ -1792,25 +1808,28 @@ void SyncJournalDb::avoidRenamesOnNextSync(const QByteArray &path)
void SyncJournalDb::avoidReadFromDbOnNextSync(const QByteArray &fileName) void SyncJournalDb::avoidReadFromDbOnNextSync(const QByteArray &fileName)
{ {
// Make sure that on the next sync, fileName is not read from the DB but uses the PROPFIND to
// get the info from the server
// We achieve that by clearing the etag of the parents directory recursively
QMutexLocker locker(&_mutex); QMutexLocker locker(&_mutex);
if (!checkConnect()) { if (!checkConnect()) {
return; return;
} }
// Remove trailing slash
auto argument = fileName;
if (argument.endsWith('/'))
argument.chop(1);
SqlQuery query(_db); SqlQuery query(_db);
// This query will match entries for which the path is a prefix of fileName // This query will match entries for which the path is a prefix of fileName
// Note: CSYNC_FTW_TYPE_DIR == 2 // Note: CSYNC_FTW_TYPE_DIR == 2
query.prepare("UPDATE metadata SET md5='_invalid_' WHERE ?1 LIKE(path||'/%') AND type == 2;"); query.prepare("UPDATE metadata SET md5='_invalid_' WHERE " IS_PREFIX_PATH_OR_EQUAL("path", "?1") " AND type == 2;");
query.bindValue(1, fileName); query.bindValue(1, argument);
query.exec(); query.exec();
// Prevent future overwrite of the etag for this sync // Prevent future overwrite of the etags of this folder and all
_avoidReadFromDbOnNextSyncFilter.append(fileName); // parent folders for this sync
argument.append('/');
_avoidReadFromDbOnNextSyncFilter.append(argument);
} }
void SyncJournalDb::forceRemoteDiscoveryNextSync() void SyncJournalDb::forceRemoteDiscoveryNextSync()

View File

@@ -158,15 +158,16 @@ public:
void setSelectiveSyncList(SelectiveSyncListType type, const QStringList &list); void setSelectiveSyncList(SelectiveSyncListType type, const QStringList &list);
/** /**
* Make sure that on the next sync, fileName is not read from the DB but uses the PROPFIND to * Make sure that on the next sync fileName and its parents are discovered from the server.
* get the info from the server
* *
* Specifically, this sets the md5 field of fileName and all its parents to _invalid_. * That means its metadata and, if it's a directory, its direct contents.
*
* Specifically, etag (md5 field) of fileName and all its parents are set to _invalid_.
* That causes a metadata difference and a resulting discovery from the remote for the * That causes a metadata difference and a resulting discovery from the remote for the
* affected folders. * affected folders.
* *
* Since folders in the selective sync list will not be rediscovered (csync_ftw, * Since folders in the selective sync list will not be rediscovered (csync_ftw,
* _csync_detect_update skip them), the _invalid_ marker will stay and it. And any * _csync_detect_update skip them), the _invalid_ marker will stay. And any
* child items in the db will be ignored when reading a remote tree from the database. * child items in the db will be ignored when reading a remote tree from the database.
*/ */
void avoidReadFromDbOnNextSync(const QString &fileName) { avoidReadFromDbOnNextSync(fileName.toUtf8()); } void avoidReadFromDbOnNextSync(const QString &fileName) { avoidReadFromDbOnNextSync(fileName.toUtf8()); }
@@ -268,6 +269,8 @@ private:
/* This is the list of paths we called avoidReadFromDbOnNextSync on. /* This is the list of paths we called avoidReadFromDbOnNextSync on.
* It means that they should not be written to the DB in any case since doing * It means that they should not be written to the DB in any case since doing
* that would write the etag and would void the purpose of avoidReadFromDbOnNextSync * that would write the etag and would void the purpose of avoidReadFromDbOnNextSync
*
* The contained paths have a trailing /.
*/ */
QList<QByteArray> _avoidReadFromDbOnNextSyncFilter; QList<QByteArray> _avoidReadFromDbOnNextSyncFilter;

View File

@@ -1,13 +1,6 @@
PROJECT( CrashReporter ) PROJECT( CrashReporter )
cmake_policy(SET CMP0017 NEW) cmake_policy(SET CMP0017 NEW)
list(APPEND crashreporter_SOURCES main.cpp)
list(APPEND crashreporter_RC resources.qrc)
qt_wrap_ui( crashreporter_UI_HEADERS ${crashreporter_UI} )
qt_add_resources( crashreporter_RC_RCC ${crashreporter_RC} )
# TODO: differentiate release channel # TODO: differentiate release channel
# if(BUILD_RELEASE) # if(BUILD_RELEASE)
# set(CRASHREPORTER_RELEASE_CHANNEL "release") # set(CRASHREPORTER_RELEASE_CHANNEL "release")
@@ -15,9 +8,30 @@ qt_add_resources( crashreporter_RC_RCC ${crashreporter_RC} )
set(CRASHREPORTER_RELEASE_CHANNEL "nightly") set(CRASHREPORTER_RELEASE_CHANNEL "nightly")
# endif() # endif()
# Theme
if(DEFINED OEM_THEME_DIR AND EXISTS "${OEM_THEME_DIR}/theme/colored")
set(CRASHREPORTER_ICON_DIR "${OEM_THEME_DIR}/theme/colored")
else()
set(CRASHREPORTER_ICON_DIR "${CMAKE_SOURCE_DIR}/theme/colored")
endif()
set(CRASHREPORTER_ICON_FILENAME "${APPLICATION_ICON_NAME}-icon.png")
set(CRASHREPORTER_ICON ":/${CRASHREPORTER_ICON_FILENAME}")
set(CRASHREPORTER_ICON_SIZE "128")
set(CRASHREPORTER_ICON_PATH "${CRASHREPORTER_ICON_DIR}/${APPLICATION_ICON_NAME}-icon-${CRASHREPORTER_ICON_SIZE}.png")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/resources.qrc.in
${CMAKE_CURRENT_BINARY_DIR}/resources.qrc)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CrashReporterConfig.h.in configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CrashReporterConfig.h.in
${CMAKE_CURRENT_BINARY_DIR}/CrashReporterConfig.h) ${CMAKE_CURRENT_BINARY_DIR}/CrashReporterConfig.h)
# Sources
list(APPEND crashreporter_SOURCES main.cpp)
list(APPEND crashreporter_RC "${CMAKE_CURRENT_BINARY_DIR}/resources.qrc")
qt_wrap_ui( crashreporter_UI_HEADERS ${crashreporter_UI} )
qt_add_resources( crashreporter_RC_RCC ${crashreporter_RC} )
include_directories(${CMAKE_CURRENT_BINARY_DIR} include_directories(${CMAKE_CURRENT_BINARY_DIR}
"../3rdparty/libcrashreporter-qt/src/" "../3rdparty/libcrashreporter-qt/src/"

View File

@@ -1,5 +0,0 @@
<RCC>
<qresource prefix="/">
<file alias="owncloud-icon.png">../../theme/colored/owncloud-icon-128.png</file>
</qresource>
</RCC>

View File

@@ -0,0 +1,5 @@
<RCC>
<qresource prefix="/">
<file alias="@CRASHREPORTER_ICON_FILENAME@">@CRASHREPORTER_ICON_PATH@</file>
</qresource>
</RCC>

View File

@@ -156,7 +156,7 @@ static int _csync_merge_algorithm_visitor(csync_file_stat_t *cur, CSYNC * ctx) {
/* First, check that the file is NOT in our tree (another file with the same name was added) */ /* First, check that the file is NOT in our tree (another file with the same name was added) */
if (our_tree->findFile(basePath)) { if (our_tree->findFile(basePath)) {
other = nullptr; other = nullptr;
qCDebug(lcReconcile, "Origin found in our tree : %s", basePath.constData()); qCInfo(lcReconcile, "Origin found in our tree : %s", basePath.constData());
} else { } else {
/* Find the potential rename source file in the other tree. /* Find the potential rename source file in the other tree.
* If the renamed file could not be found in the opposite tree, that is because it * If the renamed file could not be found in the opposite tree, that is because it
@@ -164,7 +164,7 @@ static int _csync_merge_algorithm_visitor(csync_file_stat_t *cur, CSYNC * ctx) {
* The journal is cleaned up later after propagation. * The journal is cleaned up later after propagation.
*/ */
other = other_tree->findFile(basePath); other = other_tree->findFile(basePath);
qCDebug(lcReconcile, "Rename origin in other tree (%s) %s", qCInfo(lcReconcile, "Rename origin in other tree (%s) %s",
basePath.constData(), other ? "found" : "not found"); basePath.constData(), other ? "found" : "not found");
} }
@@ -175,7 +175,7 @@ static int _csync_merge_algorithm_visitor(csync_file_stat_t *cur, CSYNC * ctx) {
// Some other EVAL_RENAME already claimed other. // Some other EVAL_RENAME already claimed other.
// We do nothing: maybe a different candidate for // We do nothing: maybe a different candidate for
// other is found as well? // other is found as well?
qCDebug(lcReconcile, "Other has already been renamed to %s", qCInfo(lcReconcile, "Other has already been renamed to %s",
other->rename_path.constData()); other->rename_path.constData());
} else if (cur->type == CSYNC_FTW_TYPE_DIR } else if (cur->type == CSYNC_FTW_TYPE_DIR
// The local replica is reconciled first, so the remote tree would // The local replica is reconciled first, so the remote tree would
@@ -187,13 +187,17 @@ static int _csync_merge_algorithm_visitor(csync_file_stat_t *cur, CSYNC * ctx) {
|| other->instruction == CSYNC_INSTRUCTION_NONE || other->instruction == CSYNC_INSTRUCTION_NONE
|| other->instruction == CSYNC_INSTRUCTION_UPDATE_METADATA || other->instruction == CSYNC_INSTRUCTION_UPDATE_METADATA
|| other->instruction == CSYNC_INSTRUCTION_REMOVE) { || other->instruction == CSYNC_INSTRUCTION_REMOVE) {
qCDebug(lcReconcile, "Switching %s to RENAME to %s", qCInfo(lcReconcile, "Switching %s to RENAME to %s",
other->path.constData(), cur->path.constData()); other->path.constData(), cur->path.constData());
other->instruction = CSYNC_INSTRUCTION_RENAME; other->instruction = CSYNC_INSTRUCTION_RENAME;
other->rename_path = cur->path; other->rename_path = cur->path;
if( !cur->file_id.isEmpty() ) { if( !cur->file_id.isEmpty() ) {
other->file_id = cur->file_id; other->file_id = cur->file_id;
} }
if (ctx->current == LOCAL_REPLICA) {
// Keep the local mtime.
other->modtime = cur->modtime;
}
other->inode = cur->inode; other->inode = cur->inode;
cur->instruction = CSYNC_INSTRUCTION_NONE; cur->instruction = CSYNC_INSTRUCTION_NONE;
// We have consumed 'other': exit this loop to not consume another one. // We have consumed 'other': exit this loop to not consume another one.
@@ -207,7 +211,7 @@ static int _csync_merge_algorithm_visitor(csync_file_stat_t *cur, CSYNC * ctx) {
// Local: The remote reconcile will be able to deal with this. // Local: The remote reconcile will be able to deal with this.
// Remote: The local replica has already dealt with this. // Remote: The local replica has already dealt with this.
// See the EVAL_RENAME case when other was found directly. // See the EVAL_RENAME case when other was found directly.
qCDebug(lcReconcile, "File in a renamed directory, other side's instruction: %d", qCInfo(lcReconcile, "File in a renamed directory, other side's instruction: %d",
other->instruction); other->instruction);
cur->instruction = CSYNC_INSTRUCTION_NONE; cur->instruction = CSYNC_INSTRUCTION_NONE;
} else { } else {
@@ -215,7 +219,7 @@ static int _csync_merge_algorithm_visitor(csync_file_stat_t *cur, CSYNC * ctx) {
// and the instruction in the local tree is NEW while cur has EVAL_RENAME // and the instruction in the local tree is NEW while cur has EVAL_RENAME
// due to a remote move of the same file. In these scenarios we just // due to a remote move of the same file. In these scenarios we just
// want the instruction to stay NEW. // want the instruction to stay NEW.
qCDebug(lcReconcile, "Other already has instruction %d", qCInfo(lcReconcile, "Other already has instruction %d",
other->instruction); other->instruction);
} }
}; };
@@ -223,7 +227,7 @@ static int _csync_merge_algorithm_visitor(csync_file_stat_t *cur, CSYNC * ctx) {
if (ctx->current == LOCAL_REPLICA) { if (ctx->current == LOCAL_REPLICA) {
/* use the old name to find the "other" node */ /* use the old name to find the "other" node */
OCC::SyncJournalFileRecord base; OCC::SyncJournalFileRecord base;
qCDebug(lcReconcile, "Finding rename origin through inode %" PRIu64 "", qCInfo(lcReconcile, "Finding rename origin through inode %" PRIu64 "",
cur->inode); cur->inode);
ctx->statedb->getFileRecordByInode(cur->inode, &base); ctx->statedb->getFileRecordByInode(cur->inode, &base);
renameCandidateProcessing(base._path); renameCandidateProcessing(base._path);
@@ -236,7 +240,7 @@ static int _csync_merge_algorithm_visitor(csync_file_stat_t *cur, CSYNC * ctx) {
// line. // line.
auto basePath = csync_rename_adjust_full_path_source(ctx, cur->path); auto basePath = csync_rename_adjust_full_path_source(ctx, cur->path);
if (basePath != cur->path) { if (basePath != cur->path) {
qCDebug(lcReconcile, "Trying rename origin by csync_rename mapping %s", qCInfo(lcReconcile, "Trying rename origin by csync_rename mapping %s",
basePath.constData()); basePath.constData());
// We go through getFileRecordsByFileId to ensure the basePath // We go through getFileRecordsByFileId to ensure the basePath
// computed in this way also has the expected fileid. // computed in this way also has the expected fileid.
@@ -249,7 +253,7 @@ static int _csync_merge_algorithm_visitor(csync_file_stat_t *cur, CSYNC * ctx) {
// Also feed all the other files with the same fileid if necessary // Also feed all the other files with the same fileid if necessary
if (!processedRename) { if (!processedRename) {
qCDebug(lcReconcile, "Finding rename origin through file ID %s", qCInfo(lcReconcile, "Finding rename origin through file ID %s",
cur->file_id.constData()); cur->file_id.constData());
ctx->statedb->getFileRecordsByFileId(cur->file_id, ctx->statedb->getFileRecordsByFileId(cur->file_id,
[&](const OCC::SyncJournalFileRecord &base) { renameCandidateProcessing(base._path); }); [&](const OCC::SyncJournalFileRecord &base) { renameCandidateProcessing(base._path); });

View File

@@ -130,12 +130,12 @@ static int _csync_detect_update(CSYNC *ctx, std::unique_ptr<csync_file_stat_t> f
* This code should probably be in csync_exclude, but it does not have the fs parameter. * This code should probably be in csync_exclude, but it does not have the fs parameter.
* Keep it here for now */ * Keep it here for now */
if (ctx->ignore_hidden_files && (fs->is_hidden)) { if (ctx->ignore_hidden_files && (fs->is_hidden)) {
qCDebug(lcUpdate, "file excluded because it is a hidden file: %s", fs->path.constData()); qCInfo(lcUpdate, "file excluded because it is a hidden file: %s", fs->path.constData());
excluded = CSYNC_FILE_EXCLUDE_HIDDEN; excluded = CSYNC_FILE_EXCLUDE_HIDDEN;
} }
} else { } else {
/* File is ignored because it's matched by a user- or system exclude pattern. */ /* File is ignored because it's matched by a user- or system exclude pattern. */
qCDebug(lcUpdate, "%s excluded (%d)", fs->path.constData(), excluded); qCInfo(lcUpdate, "%s excluded (%d)", fs->path.constData(), excluded);
if (excluded == CSYNC_FILE_EXCLUDE_AND_REMOVE) { if (excluded == CSYNC_FILE_EXCLUDE_AND_REMOVE) {
return 1; return 1;
} }
@@ -160,7 +160,7 @@ static int _csync_detect_update(CSYNC *ctx, std::unique_ptr<csync_file_stat_t> f
*/ */
QTextEncoder encoder(localCodec, QTextCodec::ConvertInvalidToNull); QTextEncoder encoder(localCodec, QTextCodec::ConvertInvalidToNull);
if (encoder.fromUnicode(QString::fromUtf8(fs->path)).contains('\0')) { if (encoder.fromUnicode(QString::fromUtf8(fs->path)).contains('\0')) {
qCDebug(lcUpdate, "cannot encode %s to local encoding %d", qCInfo(lcUpdate, "cannot encode %s to local encoding %d",
fs->path.constData(), localCodec->mibEnum()); fs->path.constData(), localCodec->mibEnum());
excluded = CSYNC_FILE_EXCLUDE_CANNOT_ENCODE; excluded = CSYNC_FILE_EXCLUDE_CANNOT_ENCODE;
} }
@@ -168,7 +168,7 @@ static int _csync_detect_update(CSYNC *ctx, std::unique_ptr<csync_file_stat_t> f
if (fs->type == CSYNC_FTW_TYPE_FILE ) { if (fs->type == CSYNC_FTW_TYPE_FILE ) {
if (fs->modtime == 0) { if (fs->modtime == 0) {
qCDebug(lcUpdate, "file: %s - mtime is zero!", fs->path.constData()); qCInfo(lcUpdate, "file: %s - mtime is zero!", fs->path.constData());
} }
} }
@@ -195,10 +195,12 @@ static int _csync_detect_update(CSYNC *ctx, std::unique_ptr<csync_file_stat_t> f
/* we have an update! */ /* we have an update! */
qCInfo(lcUpdate, "Database entry found, compare: %" PRId64 " <-> %" PRId64 qCInfo(lcUpdate, "Database entry found, compare: %" PRId64 " <-> %" PRId64
", etag: %s <-> %s, inode: %" PRId64 " <-> %" PRId64 ", etag: %s <-> %s, inode: %" PRId64 " <-> %" PRId64
", size: %" PRId64 " <-> %" PRId64 ", perms: %x <-> %x, ignore: %d", ", size: %" PRId64 " <-> %" PRId64 ", perms: %x <-> %x"
", checksum: %s <-> %s , ignore: %d",
((int64_t) fs->modtime), ((int64_t) base._modtime), ((int64_t) fs->modtime), ((int64_t) base._modtime),
fs->etag.constData(), base._etag.constData(), (uint64_t) fs->inode, (uint64_t) base._inode, fs->etag.constData(), base._etag.constData(), (uint64_t) fs->inode, (uint64_t) base._inode,
(uint64_t) fs->size, (uint64_t) base._fileSize, *reinterpret_cast<short*>(&fs->remotePerm), *reinterpret_cast<short*>(&base._remotePerm), base._serverHasIgnoredFiles ); (uint64_t) fs->size, (uint64_t) base._fileSize, *reinterpret_cast<short*>(&fs->remotePerm), *reinterpret_cast<short*>(&base._remotePerm), fs->checksumHeader.constData(),
base._checksumHeader.constData(), base._serverHasIgnoredFiles);
if (ctx->current == REMOTE_REPLICA && fs->etag != base._etag) { if (ctx->current == REMOTE_REPLICA && fs->etag != base._etag) {
fs->instruction = CSYNC_INSTRUCTION_EVAL; fs->instruction = CSYNC_INSTRUCTION_EVAL;
@@ -228,7 +230,7 @@ static int _csync_detect_update(CSYNC *ctx, std::unique_ptr<csync_file_stat_t> f
checksumIdentical = fs->checksumHeader == base._checksumHeader; checksumIdentical = fs->checksumHeader == base._checksumHeader;
} }
if (checksumIdentical) { if (checksumIdentical) {
qCDebug(lcUpdate, "NOTE: Checksums are identical, file did not actually change: %s", fs->path.constData()); qCInfo(lcUpdate, "NOTE: Checksums are identical, file did not actually change: %s", fs->path.constData());
fs->instruction = CSYNC_INSTRUCTION_UPDATE_METADATA; fs->instruction = CSYNC_INSTRUCTION_UPDATE_METADATA;
goto out; goto out;
} }
@@ -252,7 +254,7 @@ static int _csync_detect_update(CSYNC *ctx, std::unique_ptr<csync_file_stat_t> f
* The metadata comparison ensure that we fetch all the file id or permission when * The metadata comparison ensure that we fetch all the file id or permission when
* upgrading owncloud * upgrading owncloud
*/ */
qCDebug(lcUpdate, "Reading from database: %s", fs->path.constData()); qCInfo(lcUpdate, "Reading from database: %s", fs->path.constData());
ctx->remote.read_from_db = true; ctx->remote.read_from_db = true;
} }
/* If it was remembered in the db that the remote dir has ignored files, store /* If it was remembered in the db that the remote dir has ignored files, store
@@ -263,7 +265,7 @@ static int _csync_detect_update(CSYNC *ctx, std::unique_ptr<csync_file_stat_t> f
} }
if (metadata_differ) { if (metadata_differ) {
/* file id or permissions has changed. Which means we need to update them in the DB. */ /* file id or permissions has changed. Which means we need to update them in the DB. */
qCDebug(lcUpdate, "Need to update metadata for: %s", fs->path.constData()); qCInfo(lcUpdate, "Need to update metadata for: %s", fs->path.constData());
fs->instruction = CSYNC_INSTRUCTION_UPDATE_METADATA; fs->instruction = CSYNC_INSTRUCTION_UPDATE_METADATA;
} else { } else {
fs->instruction = CSYNC_INSTRUCTION_NONE; fs->instruction = CSYNC_INSTRUCTION_NONE;
@@ -271,7 +273,7 @@ static int _csync_detect_update(CSYNC *ctx, std::unique_ptr<csync_file_stat_t> f
} else { } else {
/* check if it's a file and has been renamed */ /* check if it's a file and has been renamed */
if (ctx->current == LOCAL_REPLICA) { if (ctx->current == LOCAL_REPLICA) {
qCDebug(lcUpdate, "Checking for rename based on inode # %" PRId64 "", (uint64_t) fs->inode); qCInfo(lcUpdate, "Checking for rename based on inode # %" PRId64 "", (uint64_t) fs->inode);
OCC::SyncJournalFileRecord base; OCC::SyncJournalFileRecord base;
if(!ctx->statedb->getFileRecordByInode(fs->inode, &base)) { if(!ctx->statedb->getFileRecordByInode(fs->inode, &base)) {
@@ -298,13 +300,13 @@ static int _csync_detect_update(CSYNC *ctx, std::unique_ptr<csync_file_stat_t> f
_rel_to_abs(ctx, fs->path), base._checksumHeader, _rel_to_abs(ctx, fs->path), base._checksumHeader,
ctx->callbacks.checksum_userdata); ctx->callbacks.checksum_userdata);
if (!fs->checksumHeader.isEmpty()) { if (!fs->checksumHeader.isEmpty()) {
qCDebug(lcUpdate, "checking checksum of potential rename %s %s <-> %s", fs->path.constData(), fs->checksumHeader.constData(), base._checksumHeader.constData()); qCInfo(lcUpdate, "checking checksum of potential rename %s %s <-> %s", fs->path.constData(), fs->checksumHeader.constData(), base._checksumHeader.constData());
isRename = fs->checksumHeader == base._checksumHeader; isRename = fs->checksumHeader == base._checksumHeader;
} }
} }
if (isRename) { if (isRename) {
qCDebug(lcUpdate, "pot rename detected based on inode # %" PRId64 "", (uint64_t) fs->inode); qCInfo(lcUpdate, "pot rename detected based on inode # %" PRId64 "", (uint64_t) fs->inode);
/* inode found so the file has been renamed */ /* inode found so the file has been renamed */
fs->instruction = CSYNC_INSTRUCTION_EVAL_RENAME; fs->instruction = CSYNC_INSTRUCTION_EVAL_RENAME;
if (fs->type == CSYNC_FTW_TYPE_DIR) { if (fs->type == CSYNC_FTW_TYPE_DIR) {
@@ -314,6 +316,8 @@ static int _csync_detect_update(CSYNC *ctx, std::unique_ptr<csync_file_stat_t> f
goto out; goto out;
} else { } else {
qCInfo(lcUpdate, "Checking for rename based on fileid %s", fs->file_id.constData());
/* Remote Replica Rename check */ /* Remote Replica Rename check */
fs->instruction = CSYNC_INSTRUCTION_NEW; fs->instruction = CSYNC_INSTRUCTION_NEW;
@@ -350,7 +354,7 @@ static int _csync_detect_update(CSYNC *ctx, std::unique_ptr<csync_file_stat_t> f
csync_rename_record(ctx, base._path, fs->path); csync_rename_record(ctx, base._path, fs->path);
} }
qCDebug(lcUpdate, "remote rename detected based on fileid %s --> %s", base._path.constData(), fs->path.constData()); qCInfo(lcUpdate, "remote rename detected based on fileid %s --> %s", base._path.constData(), fs->path.constData());
fs->instruction = CSYNC_INSTRUCTION_EVAL_RENAME; fs->instruction = CSYNC_INSTRUCTION_EVAL_RENAME;
done = true; done = true;
}; };
@@ -458,11 +462,11 @@ int csync_walker(CSYNC *ctx, std::unique_ptr<csync_file_stat_t> fs) {
} }
break; break;
case CSYNC_FTW_TYPE_SLINK: case CSYNC_FTW_TYPE_SLINK:
qCDebug(lcUpdate, "symlink: %s - not supported", fs->path.constData()); qCInfo(lcUpdate, "symlink: %s - not supported", fs->path.constData());
break; break;
default: default:
qCInfo(lcUpdate, "item: %s - item type %d not iterated", fs->path.constData(), fs->type);
return 0; return 0;
break;
} }
rc = _csync_detect_update(ctx, std::move(fs)); rc = _csync_detect_update(ctx, std::move(fs));
@@ -483,7 +487,7 @@ static bool fill_tree_from_db(CSYNC *ctx, const char *uri)
* their correct etags again and we don't run into this case. * their correct etags again and we don't run into this case.
*/ */
if( rec._etag == "_invalid_") { if( rec._etag == "_invalid_") {
qCDebug(lcUpdate, "%s selective sync excluded", rec._path.constData()); qCInfo(lcUpdate, "%s selective sync excluded", rec._path.constData());
skipbase = rec._path; skipbase = rec._path;
skipbase += '/'; skipbase += '/';
return; return;
@@ -720,7 +724,7 @@ int csync_ftw(CSYNC *ctx, const char *uri, csync_walker_fn fn,
} }
csync_vio_closedir(ctx, dh); csync_vio_closedir(ctx, dh);
qCDebug(lcUpdate, " <= Closing walk for %s with read_from_db %d", uri, read_from_db); qCInfo(lcUpdate, " <= Closing walk for %s with read_from_db %d", uri, read_from_db);
return rc; return rc;

View File

@@ -136,7 +136,7 @@ IF( APPLE )
if(SPARKLE_FOUND) if(SPARKLE_FOUND)
# Define this, we need to check in updater.cpp # Define this, we need to check in updater.cpp
add_definitions( -DHAVE_SPARKLE ) add_definitions( -DHAVE_SPARKLE )
list(APPEND updater_SRCS updater/sparkleupdater_mac.mm) list(APPEND updater_SRCS updater/sparkleupdater_mac.mm updater/sparkleupdater.h)
endif() endif()
ENDIF() ENDIF()

View File

@@ -312,10 +312,10 @@ void AccountState::slotInvalidCredentials()
if (account()->credentials()->ready()) { if (account()->credentials()->ready()) {
account()->credentials()->invalidateToken(); account()->credentials()->invalidateToken();
if (auto creds = qobject_cast<HttpCredentials *>(account()->credentials())) { }
if (creds->refreshAccessToken()) if (auto creds = qobject_cast<HttpCredentials *>(account()->credentials())) {
return; if (creds->refreshAccessToken())
} return;
} }
account()->credentials()->askFromUser(); account()->credentials()->askFromUser();
} }

View File

@@ -338,7 +338,9 @@ void Application::slotownCloudWizardDone(int res)
shouldSetAutoStart = shouldSetAutoStart shouldSetAutoStart = shouldSetAutoStart
&& QCoreApplication::applicationDirPath().startsWith("/Applications/"); && QCoreApplication::applicationDirPath().startsWith("/Applications/");
#endif #endif
Utility::setLaunchOnStartup(_theme->appName(), _theme->appNameGUI(), shouldSetAutoStart); if (shouldSetAutoStart) {
Utility::setLaunchOnStartup(_theme->appName(), _theme->appNameGUI(), true);
}
_gui->slotShowSettings(); _gui->slotShowSettings();
} }

View File

@@ -121,6 +121,10 @@ void Folder::checkLocalPath()
{ {
const QFileInfo fi(_definition.localPath); const QFileInfo fi(_definition.localPath);
_canonicalLocalPath = fi.canonicalFilePath(); _canonicalLocalPath = fi.canonicalFilePath();
#ifdef Q_OS_MAC
// Workaround QTBUG-55896 (Should be fixed in Qt 5.8)
_canonicalLocalPath = _canonicalLocalPath.normalized(QString::NormalizationForm_C);
#endif
if (_canonicalLocalPath.isEmpty()) { if (_canonicalLocalPath.isEmpty()) {
qCWarning(lcFolder) << "Broken symlink:" << _definition.localPath; qCWarning(lcFolder) << "Broken symlink:" << _definition.localPath;
_canonicalLocalPath = _definition.localPath; _canonicalLocalPath = _definition.localPath;

View File

@@ -25,6 +25,10 @@
#include "updater/updater.h" #include "updater/updater.h"
#include "updater/ocupdater.h" #include "updater/ocupdater.h"
#ifdef Q_OS_MAC
// FIXME We should unify those, but Sparkle does everything behind the scene transparently
#include "updater/sparkleupdater.h"
#endif
#include "ignorelisteditor.h" #include "ignorelisteditor.h"
#include "config.h" #include "config.h"
@@ -32,6 +36,7 @@
#include <QNetworkProxy> #include <QNetworkProxy>
#include <QDir> #include <QDir>
#include <QScopedValueRollback> #include <QScopedValueRollback>
#include <QMessageBox>
namespace OCC { namespace OCC {
@@ -88,6 +93,18 @@ GeneralSettings::GeneralSettings(QWidget *parent)
// accountAdded means the wizard was finished and the wizard might change some options. // accountAdded means the wizard was finished and the wizard might change some options.
connect(AccountManager::instance(), &AccountManager::accountAdded, this, &GeneralSettings::loadMiscSettings); connect(AccountManager::instance(), &AccountManager::accountAdded, this, &GeneralSettings::loadMiscSettings);
// Only our standard brandings currently support beta channel
Theme *theme = Theme::instance();
if (theme->appName() != QLatin1String("ownCloud") && theme->appName() != QLatin1String("testpilotcloud") ) {
#ifdef Q_OS_MAC
// Because we don't have any statusString from the SparkleUpdater anyway we can hide the whole thing
_ui->updatesGroupBox->hide();
#else
_ui->updateChannelLabel->hide();
_ui->updateChannel->hide();
#endif
}
} }
GeneralSettings::~GeneralSettings() GeneralSettings::~GeneralSettings()
@@ -117,22 +134,79 @@ void GeneralSettings::loadMiscSettings()
void GeneralSettings::slotUpdateInfo() void GeneralSettings::slotUpdateInfo()
{ {
// Note: the sparkle-updater is not an OCUpdater if (ConfigFile().skipUpdateCheck() || !Updater::instance()) {
OCUpdater *updater = qobject_cast<OCUpdater *>(Updater::instance()); // updater disabled on compile
if (ConfigFile().skipUpdateCheck()) { _ui->updatesGroupBox->setVisible(false);
updater = 0; // don't show update info if updates are disabled return;
} }
if (updater) { // Note: the sparkle-updater is not an OCUpdater
connect(updater, &OCUpdater::downloadStateChanged, this, &GeneralSettings::slotUpdateInfo, Qt::UniqueConnection); OCUpdater *ocupdater = qobject_cast<OCUpdater *>(Updater::instance());
connect(_ui->restartButton, &QAbstractButton::clicked, updater, &OCUpdater::slotStartInstaller, Qt::UniqueConnection); if (ocupdater) {
connect(ocupdater, &OCUpdater::downloadStateChanged, this, &GeneralSettings::slotUpdateInfo, Qt::UniqueConnection);
connect(_ui->restartButton, &QAbstractButton::clicked, ocupdater, &OCUpdater::slotStartInstaller, Qt::UniqueConnection);
connect(_ui->restartButton, &QAbstractButton::clicked, qApp, &QApplication::quit, Qt::UniqueConnection); connect(_ui->restartButton, &QAbstractButton::clicked, qApp, &QApplication::quit, Qt::UniqueConnection);
_ui->updateStateLabel->setText(updater->statusString());
_ui->restartButton->setVisible(updater->downloadState() == OCUpdater::DownloadComplete); _ui->updateStateLabel->setText(ocupdater->statusString());
} else { _ui->restartButton->setVisible(ocupdater->downloadState() == OCUpdater::DownloadComplete);
// can't have those infos from sparkle currently
_ui->updatesGroupBox->setVisible(false);
} }
#ifdef Q_OS_MAC
else if (SparkleUpdater *sparkleUpdater = qobject_cast<SparkleUpdater *>(Updater::instance())) {
_ui->updateStateLabel->setText(sparkleUpdater->statusString());
_ui->restartButton->setVisible(false);
}
#endif
// Channel selection
_ui->updateChannel->setCurrentIndex(ConfigFile().updateChannel() == "beta" ? 1 : 0);
connect(_ui->updateChannel, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
this, &GeneralSettings::slotUpdateChannelChanged, Qt::UniqueConnection);
}
void GeneralSettings::slotUpdateChannelChanged(int index)
{
QString channel = index == 0 ? QStringLiteral("stable") : QStringLiteral("beta");
if (channel == ConfigFile().updateChannel())
return;
auto msgBox = new QMessageBox(
QMessageBox::Warning,
tr("Change update channel?"),
tr("The update channel determines which client updates will be offered "
"for installation. The \"stable\" channel contains only upgrades that "
"are considered reliable, while the versions in the \"beta\" channel "
"may contain newer features and bugfixes, but have not yet been tested "
"thoroughly."
"\n\n"
"Note that this selects only what pool upgrades are taken from, and that "
"there are no downgrades: So going back from the beta channel to "
"the stable channel usually cannot be done immediately and means waiting "
"for a stable version that is newer than the currently installed beta "
"version."),
QMessageBox::NoButton,
this);
msgBox->addButton(tr("Change update channel"), QMessageBox::AcceptRole);
msgBox->addButton(tr("Cancel"), QMessageBox::RejectRole);
connect(msgBox, &QMessageBox::finished, msgBox, [this, channel, msgBox](int result) {
msgBox->deleteLater();
if (result == QMessageBox::AcceptRole) {
ConfigFile().setUpdateChannel(channel);
if (OCUpdater *updater = qobject_cast<OCUpdater *>(Updater::instance())) {
updater->setUpdateUrl(Updater::updateUrl());
updater->checkForUpdate();
}
#ifdef Q_OS_MAC
else if (SparkleUpdater *updater = qobject_cast<SparkleUpdater *>(Updater::instance())) {
updater->setUpdateUrl(Updater::updateUrl());
updater->checkForUpdate();
}
#endif
} else {
_ui->updateChannel->setCurrentText(ConfigFile().updateChannel());
}
});
msgBox->open();
} }
void GeneralSettings::saveMiscSettings() void GeneralSettings::saveMiscSettings()

View File

@@ -44,6 +44,7 @@ private slots:
void slotToggleLaunchOnStartup(bool); void slotToggleLaunchOnStartup(bool);
void slotToggleOptionalDesktopNotifications(bool); void slotToggleOptionalDesktopNotifications(bool);
void slotUpdateInfo(); void slotUpdateInfo();
void slotUpdateChannelChanged(int index);
void slotIgnoreFilesEditor(); void slotIgnoreFilesEditor();
void loadMiscSettings(); void loadMiscSettings();

View File

@@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>785</width> <width>785</width>
<height>523</height> <height>533</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -74,48 +74,88 @@
<property name="title"> <property name="title">
<string>Updates</string> <string>Updates</string>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item> <item>
<widget class="QLabel" name="updateStateLabel"> <layout class="QHBoxLayout" name="horizontalLayout">
<property name="text"> <item>
<string/> <widget class="QLabel" name="updateChannelLabel">
</property> <property name="sizePolicy">
<property name="wordWrap"> <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<bool>true</bool> <horstretch>0</horstretch>
</property> <verstretch>0</verstretch>
<property name="openExternalLinks"> </sizepolicy>
<bool>true</bool> </property>
</property> <property name="text">
</widget> <string>&amp;Channel</string>
</item> </property>
<item> <property name="buddy">
<widget class="QPushButton" name="restartButton"> <cstring>updateChannel</cstring>
<property name="sizePolicy"> </property>
<sizepolicy hsizetype="Maximum" vsizetype="Fixed"> </widget>
<horstretch>0</horstretch> </item>
<verstretch>0</verstretch> <item>
</sizepolicy> <widget class="QComboBox" name="updateChannel">
</property> <property name="sizePolicy">
<property name="text"> <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<string>&amp;Restart &amp;&amp; Update</string> <horstretch>0</horstretch>
</property> <verstretch>0</verstretch>
</widget> </sizepolicy>
</item> </property>
<item> <item>
<spacer name="horizontalSpacer"> <property name="text">
<property name="orientation"> <string>stable</string>
<enum>Qt::Horizontal</enum> </property>
</property> </item>
<property name="sizeType"> <item>
<enum>QSizePolicy::Preferred</enum> <property name="text">
</property> <string>beta</string>
<property name="sizeHint" stdset="0"> </property>
<size> </item>
<width>40</width> </widget>
<height>20</height> </item>
</size> <item>
</property> <widget class="QLabel" name="updateStateLabel">
</spacer> <property name="text">
<string/>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="restartButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>&amp;Restart &amp;&amp; Update</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item> </item>
</layout> </layout>
</widget> </widget>
@@ -247,7 +287,10 @@
<tabstop>ignoredFilesButton</tabstop> <tabstop>ignoredFilesButton</tabstop>
<tabstop>newFolderLimitCheckBox</tabstop> <tabstop>newFolderLimitCheckBox</tabstop>
<tabstop>newFolderLimitSpinBox</tabstop> <tabstop>newFolderLimitSpinBox</tabstop>
<tabstop>newExternalStorage</tabstop>
<tabstop>showInExplorerNavigationPaneCheckBox</tabstop>
<tabstop>crashreporterCheckBox</tabstop> <tabstop>crashreporterCheckBox</tabstop>
<tabstop>updateChannel</tabstop>
<tabstop>restartButton</tabstop> <tabstop>restartButton</tabstop>
</tabstops> </tabstops>
<resources/> <resources/>

View File

@@ -50,18 +50,13 @@ const char propertyAccountC[] = "oc_account";
ownCloudGui::ownCloudGui(Application *parent) ownCloudGui::ownCloudGui(Application *parent)
: QObject(parent) : QObject(parent)
, _tray(0) , _tray(0)
,
#if defined(Q_OS_MAC) #if defined(Q_OS_MAC)
_settingsDialog(new SettingsDialogMac(this)) , _settingsDialog(new SettingsDialogMac(this))
,
#else #else
_settingsDialog(new SettingsDialog(this)) , _settingsDialog(new SettingsDialog(this))
,
#endif #endif
_logBrowser(0) , _logBrowser(0)
, _contextMenuVisibleOsx(false)
, _recentActionsMenu(0) , _recentActionsMenu(0)
, _qdbusmenuWorkaround(false)
, _app(parent) , _app(parent)
{ {
_tray = new Systray(); _tray = new Systray();
@@ -117,7 +112,7 @@ void ownCloudGui::slotOpenSettingsDialog()
void ownCloudGui::slotTrayClicked(QSystemTrayIcon::ActivationReason reason) void ownCloudGui::slotTrayClicked(QSystemTrayIcon::ActivationReason reason)
{ {
if (_qdbusmenuWorkaround) { if (_workaroundFakeDoubleClick) {
static QElapsedTimer last_click; static QElapsedTimer last_click;
if (last_click.isValid() && last_click.elapsed() < 200) { if (last_click.isValid() && last_click.elapsed() < 200) {
return; return;
@@ -381,17 +376,19 @@ void ownCloudGui::addAccountContextMenu(AccountStatePtr accountState, QMenu *men
void ownCloudGui::slotContextMenuAboutToShow() void ownCloudGui::slotContextMenuAboutToShow()
{ {
// For some reason on OS X _contextMenu->isVisible returns always false _contextMenuVisibleManual = true;
_contextMenuVisibleOsx = true;
// Update icon in sys tray, as it might change depending on the context menu state // Update icon in sys tray, as it might change depending on the context menu state
slotComputeOverallSyncStatus(); slotComputeOverallSyncStatus();
if (!_workaroundNoAboutToShowUpdate) {
updateContextMenu();
}
} }
void ownCloudGui::slotContextMenuAboutToHide() void ownCloudGui::slotContextMenuAboutToHide()
{ {
// For some reason on OS X _contextMenu->isVisible returns always false _contextMenuVisibleManual = false;
_contextMenuVisibleOsx = false;
// Update icon in sys tray, as it might change depending on the context menu state // Update icon in sys tray, as it might change depending on the context menu state
slotComputeOverallSyncStatus(); slotComputeOverallSyncStatus();
@@ -399,11 +396,11 @@ void ownCloudGui::slotContextMenuAboutToHide()
bool ownCloudGui::contextMenuVisible() const bool ownCloudGui::contextMenuVisible() const
{ {
#ifdef Q_OS_MAC // On some platforms isVisible doesn't work and always returns false,
return _contextMenuVisibleOsx; // elsewhere aboutToHide is unreliable.
#else if (_workaroundManualVisibility)
return _contextMenuVisibleManual;
return _contextMenu->isVisible(); return _contextMenu->isVisible();
#endif
} }
static bool minimalTrayMenu() static bool minimalTrayMenu()
@@ -426,12 +423,36 @@ static bool updateWhileVisible()
} }
} }
static QByteArray forceQDBusTrayWorkaround() static QByteArray envForceQDBusTrayWorkaround()
{ {
static QByteArray var = qgetenv("OWNCLOUD_FORCE_QDBUS_TRAY_WORKAROUND"); static QByteArray var = qgetenv("OWNCLOUD_FORCE_QDBUS_TRAY_WORKAROUND");
return var; return var;
} }
static QByteArray envForceWorkaroundShowAndHideTray()
{
static QByteArray var = qgetenv("OWNCLOUD_FORCE_TRAY_SHOW_HIDE");
return var;
}
static QByteArray envForceWorkaroundNoAboutToShowUpdate()
{
static QByteArray var = qgetenv("OWNCLOUD_FORCE_TRAY_NO_ABOUT_TO_SHOW");
return var;
}
static QByteArray envForceWorkaroundFakeDoubleClick()
{
static QByteArray var = qgetenv("OWNCLOUD_FORCE_TRAY_FAKE_DOUBLE_CLICK");
return var;
}
static QByteArray envForceWorkaroundManualVisibility()
{
static QByteArray var = qgetenv("OWNCLOUD_FORCE_TRAY_MANUAL_VISIBILITY");
return var;
}
void ownCloudGui::setupContextMenu() void ownCloudGui::setupContextMenu()
{ {
if (_contextMenu) { if (_contextMenu) {
@@ -454,51 +475,65 @@ void ownCloudGui::setupContextMenu()
return; return;
} }
// Enables workarounds for bugs introduced in Qt 5.5.0 auto applyEnvVariable = [](bool *sw, const QByteArray &value) {
// In particular QTBUG-47863 #3672 (tray menu fails to update and if (value == "1")
// becomes unresponsive) and QTBUG-48068 #3722 (click signal is *sw = true;
// emitted several times) if (value == "0")
// The Qt version check intentionally uses 5.0.0 (where platformMenu() *sw = false;
// was introduced) instead of 5.5.0 to avoid issues where the Qt };
// version used to build is different from the one used at runtime.
// If we build with 5.6.1 or newer, we can skip this because the
// bugs should be fixed there.
#ifdef Q_OS_LINUX
#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) && (QT_VERSION < QT_VERSION_CHECK(5, 6, 0))
if (qVersion() == QByteArray("5.5.0")) {
QObject *platformMenu = reinterpret_cast<QObject *>(_tray->contextMenu()->platformMenu());
if (platformMenu
&& platformMenu->metaObject()->className() == QLatin1String("QDBusPlatformMenu")) {
_qdbusmenuWorkaround = true;
qCWarning(lcApplication) << "Enabled QDBusPlatformMenu workaround";
}
}
#endif
#endif
if (forceQDBusTrayWorkaround() == "1") { // This is an old compound flag that people might still depend on
_qdbusmenuWorkaround = true; bool qdbusmenuWorkarounds = false;
} else if (forceQDBusTrayWorkaround() == "0") { applyEnvVariable(&qdbusmenuWorkarounds, envForceQDBusTrayWorkaround());
_qdbusmenuWorkaround = false; if (qdbusmenuWorkarounds) {
_workaroundFakeDoubleClick = true;
_workaroundNoAboutToShowUpdate = true;
_workaroundShowAndHideTray = true;
} }
// When the qdbusmenuWorkaround is necessary, we can't do on-demand updates
// because the workaround is to hide and show the tray icon.
if (_qdbusmenuWorkaround) {
connect(&_workaroundBatchTrayUpdate, &QTimer::timeout, this, &ownCloudGui::updateContextMenu);
_workaroundBatchTrayUpdate.setInterval(30 * 1000);
_workaroundBatchTrayUpdate.setSingleShot(true);
} else {
// Update the context menu whenever we're about to show it
// to the user.
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
// https://bugreports.qt.io/browse/QTBUG-54633 // https://bugreports.qt.io/browse/QTBUG-54633
connect(_contextMenu.data(), SIGNAL(aboutToShow()), SLOT(slotContextMenuAboutToShow())); _workaroundNoAboutToShowUpdate = true;
connect(_contextMenu.data(), SIGNAL(aboutToHide()), SLOT(slotContextMenuAboutToHide())); _workaroundManualVisibility = true;
#else
connect(_contextMenu.data(), &QMenu::aboutToShow, this, &ownCloudGui::updateContextMenu);
#endif #endif
#ifdef Q_OS_LINUX
// For KDE sessions if the platform plugin is missing,
// neither aboutToShow() updates nor the isVisible() call
// work. At least aboutToHide is reliable.
// https://github.com/owncloud/client/issues/6545
static QByteArray xdgCurrentDesktop = qgetenv("XDG_CURRENT_DESKTOP");
static QByteArray desktopSession = qgetenv("DESKTOP_SESSION");
bool isKde =
xdgCurrentDesktop.contains("KDE")
|| desktopSession.contains("plasma")
|| desktopSession.contains("kde");
QObject *platformMenu = reinterpret_cast<QObject *>(_tray->contextMenu()->platformMenu());
if (isKde && platformMenu && platformMenu->metaObject()->className() == QLatin1String("QDBusPlatformMenu")) {
_workaroundManualVisibility = true;
_workaroundNoAboutToShowUpdate = true;
} }
#endif
applyEnvVariable(&_workaroundNoAboutToShowUpdate, envForceWorkaroundNoAboutToShowUpdate());
applyEnvVariable(&_workaroundFakeDoubleClick, envForceWorkaroundFakeDoubleClick());
applyEnvVariable(&_workaroundShowAndHideTray, envForceWorkaroundShowAndHideTray());
applyEnvVariable(&_workaroundManualVisibility, envForceWorkaroundManualVisibility());
qCInfo(lcApplication) << "Tray menu workarounds:"
<< "noabouttoshow:" << _workaroundNoAboutToShowUpdate
<< "fakedoubleclick:" << _workaroundFakeDoubleClick
<< "showhide:" << _workaroundShowAndHideTray
<< "manualvisibility:" << _workaroundManualVisibility;
connect(&_delayedTrayUpdateTimer, &QTimer::timeout, this, &ownCloudGui::updateContextMenu);
_delayedTrayUpdateTimer.setInterval(2 * 1000);
_delayedTrayUpdateTimer.setSingleShot(true);
connect(_contextMenu.data(), SIGNAL(aboutToShow()), SLOT(slotContextMenuAboutToShow()));
// unfortunately aboutToHide is unreliable, it seems to work on OSX though
connect(_contextMenu.data(), SIGNAL(aboutToHide()), SLOT(slotContextMenuAboutToHide()));
// Populate the context menu now. // Populate the context menu now.
updateContextMenu(); updateContextMenu();
@@ -510,13 +545,21 @@ void ownCloudGui::updateContextMenu()
return; return;
} }
if (_qdbusmenuWorkaround) { // If it's visible, we can't update live, and it won't be updated lazily: reschedule
if (contextMenuVisible() && !updateWhileVisible() && _workaroundNoAboutToShowUpdate) {
if (!_delayedTrayUpdateTimer.isActive()) {
_delayedTrayUpdateTimer.start();
}
return;
}
if (_workaroundShowAndHideTray) {
// To make tray menu updates work with these bugs (see setupContextMenu) // To make tray menu updates work with these bugs (see setupContextMenu)
// we need to hide and show the tray icon. We don't want to do that // we need to hide and show the tray icon. We don't want to do that
// while it's visible! // while it's visible!
if (contextMenuVisible()) { if (contextMenuVisible()) {
if (!_workaroundBatchTrayUpdate.isActive()) { if (!_delayedTrayUpdateTimer.isActive()) {
_workaroundBatchTrayUpdate.start(); _delayedTrayUpdateTimer.start();
} }
return; return;
} }
@@ -631,35 +674,30 @@ void ownCloudGui::updateContextMenu()
} }
_contextMenu->addAction(_actionQuit); _contextMenu->addAction(_actionQuit);
if (_qdbusmenuWorkaround) { if (_workaroundShowAndHideTray) {
_tray->show(); _tray->show();
} }
} }
void ownCloudGui::updateContextMenuNeeded() void ownCloudGui::updateContextMenuNeeded()
{ {
// For the workaround case updating while visible is impossible. Instead // if it's visible and we can update live: update now
// occasionally update the menu when it's invisible. if (contextMenuVisible() && updateWhileVisible()) {
if (_qdbusmenuWorkaround) { // Note: don't update while visible on OSX
if (!_workaroundBatchTrayUpdate.isActive()) { // https://bugreports.qt.io/browse/QTBUG-54845
_workaroundBatchTrayUpdate.start(); updateContextMenu();
}
return; return;
} }
#ifdef Q_OS_MAC // if we can't lazily update: update later
// https://bugreports.qt.io/browse/QTBUG-54845 if (_workaroundNoAboutToShowUpdate) {
// We cannot update on demand or while visible -> update when invisible. // Note: don't update immediately even in the invisible case
if (!contextMenuVisible()) { // as that can lead to extremely frequent menu updates
updateContextMenu(); if (!_delayedTrayUpdateTimer.isActive()) {
_delayedTrayUpdateTimer.start();
}
return;
} }
#else
if (updateWhileVisible() && contextMenuVisible())
updateContextMenu();
#endif
// If no update was done here, we might update it on-demand due to
// the aboutToShow() signal.
} }
void ownCloudGui::slotShowTrayMessage(const QString &title, const QString &msg) void ownCloudGui::slotShowTrayMessage(const QString &title, const QString &msg)

View File

@@ -119,14 +119,19 @@ private:
// tray's menu // tray's menu
QScopedPointer<QMenu> _contextMenu; QScopedPointer<QMenu> _contextMenu;
// Manually tracking whether the context menu is visible, but only works // Manually tracking whether the context menu is visible via aboutToShow
// on OSX because aboutToHide is not reliable everywhere. // and aboutToHide. Unfortunately aboutToHide isn't reliable everywhere
bool _contextMenuVisibleOsx; // so this only gets used with _workaroundManualVisibility (when the tray's
// isVisible() is unreliable)
bool _contextMenuVisibleManual = false;
QMenu *_recentActionsMenu; QMenu *_recentActionsMenu;
QVector<QMenu *> _accountMenus; QVector<QMenu *> _accountMenus;
bool _qdbusmenuWorkaround; bool _workaroundShowAndHideTray = false;
QTimer _workaroundBatchTrayUpdate; bool _workaroundNoAboutToShowUpdate = false;
bool _workaroundFakeDoubleClick = false;
bool _workaroundManualVisibility = false;
QTimer _delayedTrayUpdateTimer;
QMap<QString, QPointer<ShareDialog>> _shareDialogs; QMap<QString, QPointer<ShareDialog>> _shareDialogs;
QAction *_actionLogin; QAction *_actionLogin;

View File

@@ -101,7 +101,7 @@ void ServerNotificationHandler::slotNotificationsReceived(const QJsonDocument &j
// https://github.com/owncloud/notifications/blob/master/docs/ocs-endpoint-v1.md#deleting-a-notification-for-a-user // https://github.com/owncloud/notifications/blob/master/docs/ocs-endpoint-v1.md#deleting-a-notification-for-a-user
ActivityLink al; ActivityLink al;
al._label = tr("Dismiss"); al._label = tr("Dismiss");
al._link = Utility::concatUrlPath(ai->account()->url(), notificationsPath + "/" + json.value("notification_id").toString()).toString(); al._link = Utility::concatUrlPath(ai->account()->url(), notificationsPath + "/" + QString::number(a._id)).toString();
al._verb = "DELETE"; al._verb = "DELETE";
al._isPrimary = false; al._isPrimary = false;
a._links.append(al); a._links.append(al);

View File

@@ -254,6 +254,9 @@ void SettingsDialog::accountAdded(AccountState *s)
connect(s->account().data(), &Account::accountChangedAvatar, this, &SettingsDialog::slotAccountAvatarChanged); connect(s->account().data(), &Account::accountChangedAvatar, this, &SettingsDialog::slotAccountAvatarChanged);
connect(s->account().data(), &Account::accountChangedDisplayName, this, &SettingsDialog::slotAccountDisplayNameChanged); connect(s->account().data(), &Account::accountChangedDisplayName, this, &SettingsDialog::slotAccountDisplayNameChanged);
// Refresh immediatly when getting online
connect(s, &AccountState::isConnectedChanged, this, &SettingsDialog::slotRefreshActivityAccountStateSender);
slotRefreshActivity(s); slotRefreshActivity(s);
} }
@@ -396,6 +399,11 @@ QAction *SettingsDialog::createColorAwareAction(const QString &iconPath, const Q
return createActionWithIcon(coloredIcon, text, iconPath); return createActionWithIcon(coloredIcon, text, iconPath);
} }
void SettingsDialog::slotRefreshActivityAccountStateSender()
{
slotRefreshActivity(qobject_cast<AccountState*>(sender()));
}
void SettingsDialog::slotRefreshActivity(AccountState *accountState) void SettingsDialog::slotRefreshActivity(AccountState *accountState)
{ {
if (accountState) { if (accountState) {

View File

@@ -59,6 +59,7 @@ public slots:
void showIssuesList(const QString &folderAlias); void showIssuesList(const QString &folderAlias);
void slotSwitchPage(QAction *action); void slotSwitchPage(QAction *action);
void slotRefreshActivity(AccountState *accountState); void slotRefreshActivity(AccountState *accountState);
void slotRefreshActivityAccountStateSender();
void slotAccountAvatarChanged(); void slotAccountAvatarChanged();
void slotAccountDisplayNameChanged(); void slotAccountDisplayNameChanged();

View File

@@ -21,6 +21,7 @@
#include "generalsettings.h" #include "generalsettings.h"
#include "networksettings.h" #include "networksettings.h"
#include "accountsettings.h" #include "accountsettings.h"
#include "accountstate.h"
#include "creds/abstractcredentials.h" #include "creds/abstractcredentials.h"
#include "configfile.h" #include "configfile.h"
#include "progressdispatcher.h" #include "progressdispatcher.h"
@@ -121,6 +122,7 @@ SettingsDialogMac::SettingsDialogMac(ownCloudGui *gui, QWidget *parent)
ConfigFile cfg; ConfigFile cfg;
cfg.restoreGeometry(this); cfg.restoreGeometry(this);
_activitySettings->setNotificationRefreshInterval(cfg.notificationRefreshInterval());
} }
void SettingsDialogMac::closeEvent(QCloseEvent *event) void SettingsDialogMac::closeEvent(QCloseEvent *event)
@@ -160,6 +162,9 @@ void SettingsDialogMac::accountAdded(AccountState *s)
connect(s->account().data(), &Account::accountChangedAvatar, this, &SettingsDialogMac::slotAccountAvatarChanged); connect(s->account().data(), &Account::accountChangedAvatar, this, &SettingsDialogMac::slotAccountAvatarChanged);
connect(s->account().data(), &Account::accountChangedDisplayName, this, &SettingsDialogMac::slotAccountDisplayNameChanged); connect(s->account().data(), &Account::accountChangedDisplayName, this, &SettingsDialogMac::slotAccountDisplayNameChanged);
// Refresh immediatly when getting online
connect(s, &AccountState::isConnectedChanged, this, &SettingsDialogMac::slotRefreshActivityAccountStateSender);
slotRefreshActivity(s); slotRefreshActivity(s);
} }
@@ -175,6 +180,11 @@ void SettingsDialogMac::accountRemoved(AccountState *s)
_activitySettings->slotRemoveAccount(s); _activitySettings->slotRemoveAccount(s);
} }
void SettingsDialogMac::slotRefreshActivityAccountStateSender()
{
slotRefreshActivity(qobject_cast<AccountState*>(sender()));
}
void SettingsDialogMac::slotRefreshActivity(AccountState *accountState) void SettingsDialogMac::slotRefreshActivity(AccountState *accountState)
{ {
if (accountState) { if (accountState) {

View File

@@ -49,6 +49,7 @@ public slots:
void showActivityPage(); void showActivityPage();
void showIssuesList(const QString &folderAlias); void showIssuesList(const QString &folderAlias);
void slotRefreshActivity(AccountState *accountState); void slotRefreshActivity(AccountState *accountState);
void slotRefreshActivityAccountStateSender();
private slots: private slots:
void accountAdded(AccountState *); void accountAdded(AccountState *);

View File

@@ -289,7 +289,7 @@ void ShareManager::slotLinkShareCreated(const QJsonDocument &reply)
void ShareManager::createShare(const QString &path, void ShareManager::createShare(const QString &path,
const Share::ShareType shareType, const Share::ShareType shareType,
const QString shareWith, const QString shareWith,
const Share::Permissions permissions) const Share::Permissions desiredPermissions)
{ {
auto job = new OcsShareJob(_account); auto job = new OcsShareJob(_account);
connect(job, &OcsJob::ocsError, this, &ShareManager::slotOcsError); connect(job, &OcsJob::ocsError, this, &ShareManager::slotOcsError);
@@ -305,17 +305,18 @@ void ShareManager::createShare(const QString &path,
// Limit the permissions we request for a share to the ones the item // Limit the permissions we request for a share to the ones the item
// was shared with initially. // was shared with initially.
auto perm = permissions; auto validPermissions = desiredPermissions;
if (permissions == SharePermissionDefault) { if (validPermissions == SharePermissionDefault) {
perm = existingPermissions; validPermissions = existingPermissions;
} else if (existingPermissions != SharePermissionDefault) { }
perm &= existingPermissions; if (existingPermissions != SharePermissionDefault) {
validPermissions &= existingPermissions;
} }
OcsShareJob *job = new OcsShareJob(_account); OcsShareJob *job = new OcsShareJob(_account);
connect(job, &OcsShareJob::shareJobFinished, this, &ShareManager::slotShareCreated); connect(job, &OcsShareJob::shareJobFinished, this, &ShareManager::slotShareCreated);
connect(job, &OcsJob::ocsError, this, &ShareManager::slotOcsError); connect(job, &OcsJob::ocsError, this, &ShareManager::slotOcsError);
job->createShare(path, shareType, shareWith, permissions); job->createShare(path, shareType, shareWith, validPermissions);
}); });
job->getSharedWithMe(); job->getSharedWithMe();
} }

View File

@@ -183,6 +183,10 @@ SocketApi::SocketApi(QObject *parent)
// Example for developer builds (with ad-hoc signing identity): "" "com.owncloud.desktopclient" ".socketApi" // Example for developer builds (with ad-hoc signing identity): "" "com.owncloud.desktopclient" ".socketApi"
// Example for official signed packages: "9B5WD74GWJ." "com.owncloud.desktopclient" ".socketApi" // Example for official signed packages: "9B5WD74GWJ." "com.owncloud.desktopclient" ".socketApi"
socketPath = SOCKETAPI_TEAM_IDENTIFIER_PREFIX APPLICATION_REV_DOMAIN ".socketApi"; socketPath = SOCKETAPI_TEAM_IDENTIFIER_PREFIX APPLICATION_REV_DOMAIN ".socketApi";
#ifdef Q_OS_MAC
// Tell Finder to use the Extension (checking it from System Preferences -> Extensions)
system("pluginkit -e use -i " APPLICATION_REV_DOMAIN ".FinderSyncExt &");
#endif
} else if (Utility::isLinux() || Utility::isBSD()) { } else if (Utility::isLinux() || Utility::isBSD()) {
QString runtimeDir; QString runtimeDir;
runtimeDir = QStandardPaths::writableLocation(QStandardPaths::RuntimeLocation); runtimeDir = QStandardPaths::writableLocation(QStandardPaths::RuntimeLocation);
@@ -220,6 +224,11 @@ SocketApi::~SocketApi()
// All remaining sockets will be destroyed with _localServer, their parent // All remaining sockets will be destroyed with _localServer, their parent
ASSERT(_listeners.isEmpty() || _listeners.first().socket->parent() == &_localServer); ASSERT(_listeners.isEmpty() || _listeners.first().socket->parent() == &_localServer);
_listeners.clear(); _listeners.clear();
#ifdef Q_OS_MAC
// Unload the extension (uncheck from System Preferences -> Extensions)
system("pluginkit -e ignore -i " APPLICATION_REV_DOMAIN ".FinderSyncExt &");
#endif
} }
void SocketApi::slotNewConnection() void SocketApi::slotNewConnection()

View File

@@ -204,6 +204,10 @@ void SslButton::slotUpdateMenu()
AccountPtr account = _accountState->account(); AccountPtr account = _accountState->account();
if (account->isHttp2Supported()) {
_menu->addAction("HTTP/2")->setEnabled(false);
}
if (account->url().scheme() == QLatin1String("https")) { if (account->url().scheme() == QLatin1String("https")) {
QString sslVersion = account->_sessionCipher.protocolString() QString sslVersion = account->_sessionCipher.protocolString()
+ ", " + account->_sessionCipher.authenticationMethod() + ", " + account->_sessionCipher.authenticationMethod()

View File

@@ -92,6 +92,11 @@ OCUpdater::OCUpdater(const QUrl &url)
{ {
} }
void OCUpdater::setUpdateUrl(const QUrl &url)
{
_updateUrl = url;
}
bool OCUpdater::performUpdate() bool OCUpdater::performUpdate()
{ {
ConfigFile cfg; ConfigFile cfg;
@@ -179,6 +184,81 @@ void OCUpdater::setDownloadState(DownloadState state)
} }
} }
#if defined(Q_OS_WIN)
// Following functions are taken from https://github.com/qt/qtbase/blob/5.8/src/corelib/io/qprocess_win.cpp
// to make use of this fix https://github.com/qt/qtbase/commit/bec2fc19fd18768b16925597871c77a61e716abd
// for QTBUG-53833: Without this we get an ugly powershell window on update. In 2.5/master we use Qt 5.10
// which obviously already has the fix.
static QString qt_create_commandline(const QString &program, const QStringList &arguments)
{
QString args;
if (!program.isEmpty()) {
QString programName = program;
if (!programName.startsWith(QLatin1Char('\"')) && !programName.endsWith(QLatin1Char('\"')) && programName.contains(QLatin1Char(' ')))
programName = QLatin1Char('\"') + programName + QLatin1Char('\"');
programName.replace(QLatin1Char('/'), QLatin1Char('\\'));
// add the prgram as the first arg ... it works better
args = programName + QLatin1Char(' ');
}
for (int i=0; i<arguments.size(); ++i) {
QString tmp = arguments.at(i);
// Quotes are escaped and their preceding backslashes are doubled.
tmp.replace(QRegExp(QLatin1String("(\\\\*)\"")), QLatin1String("\\1\\1\\\""));
if (tmp.isEmpty() || tmp.contains(QLatin1Char(' ')) || tmp.contains(QLatin1Char('\t'))) {
// The argument must not end with a \ since this would be interpreted
// as escaping the quote -- rather put the \ behind the quote: e.g.
// rather use "foo"\ than "foo\"
int i = tmp.length();
while (i > 0 && tmp.at(i - 1) == QLatin1Char('\\'))
--i;
tmp.insert(i, QLatin1Char('"'));
tmp.prepend(QLatin1Char('"'));
}
args += QLatin1Char(' ') + tmp;
}
return args;
}
bool startDetached(const QString &program, const QStringList &arguments, const QString &workingDir = QString(), qint64 *pid = 0)
{
// static const DWORD errorElevationRequired = 740;
QString args = qt_create_commandline(program, arguments);
bool success = false;
PROCESS_INFORMATION pinfo;
DWORD dwCreationFlags = (GetConsoleWindow() ? 0 : CREATE_NO_WINDOW);
dwCreationFlags |= CREATE_UNICODE_ENVIRONMENT;
STARTUPINFOW startupInfo = { sizeof( STARTUPINFO ), 0, 0, 0,
(ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT,
(ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
success = CreateProcess(0, (wchar_t*)args.utf16(),
0, 0, FALSE, dwCreationFlags, 0,
workingDir.isEmpty() ? 0 : (wchar_t*)workingDir.utf16(),
&startupInfo, &pinfo);
// if (success) {
CloseHandle(pinfo.hThread);
CloseHandle(pinfo.hProcess);
if (pid)
*pid = pinfo.dwProcessId;
// } else if (GetLastError() == errorElevationRequired) {
// success = startDetachedUacPrompt(program, arguments, workingDir, pid);
// }
return success;
}
#else
bool startDetached(const QString &program, const QStringList &arguments, const QString &workingDir = QString(), qint64 *pid = 0)
{
return QProcess::startDetached(program, arguments, workingDir, pid);
}
#endif
void OCUpdater::slotStartInstaller() void OCUpdater::slotStartInstaller()
{ {
ConfigFile cfg; ConfigFile cfg;
@@ -187,8 +267,30 @@ void OCUpdater::slotStartInstaller()
settings.setValue(autoUpdateAttemptedC, true); settings.setValue(autoUpdateAttemptedC, true);
settings.sync(); settings.sync();
qCInfo(lcUpdater) << "Running updater" << updateFile; qCInfo(lcUpdater) << "Running updater" << updateFile;
QProcess::startDetached(updateFile, QStringList() << "/S"
<< "/launch"); if(updateFile.endsWith(".exe")) {
QProcess::startDetached(updateFile, QStringList() << "/S"
<< "/launch");
} else if(updateFile.endsWith(".msi")) {
// When MSIs are installed without gui they cannot launch applications
// as they lack the user context. That is why we need to run the client
// manually here. We wrap the msiexec and client invocation in a powershell
// script because owncloud.exe will be shut down for installation.
// | Out-Null forces powershell to wait for msiexec to finish.
auto preparePathForPowershell = [](QString path) {
path.replace("'", "''");
return QDir::toNativeSeparators(path);
};
auto msiLogFile = cfg.configPath() + "msi.log";
QString command = QString("&{msiexec /norestart /passive /i '%1' /L*V '%2'| Out-Null ; &'%3'}")
.arg(preparePathForPowershell(updateFile))
.arg(preparePathForPowershell(msiLogFile))
.arg(preparePathForPowershell(QCoreApplication::applicationFilePath()));
startDetached("powershell.exe", QStringList{"-Command", command});
}
} }
void OCUpdater::checkForUpdate() void OCUpdater::checkForUpdate()
@@ -298,7 +400,7 @@ void NSISUpdater::versionInfoArrived(const UpdateInfo &info)
showDialog(info); showDialog(info);
} }
if (!url.isEmpty()) { if (!url.isEmpty()) {
_targetFile = cfg.configPath() + url.mid(url.lastIndexOf('/')); _targetFile = cfg.configPath() + url.mid(url.lastIndexOf('/')+1);
if (QFile(_targetFile).exists()) { if (QFile(_targetFile).exists()) {
setDownloadState(DownloadComplete); setDownloadState(DownloadComplete);
} else { } else {

View File

@@ -99,6 +99,8 @@ public:
UpdateOnlyAvailableThroughSystem }; UpdateOnlyAvailableThroughSystem };
explicit OCUpdater(const QUrl &url); explicit OCUpdater(const QUrl &url);
void setUpdateUrl(const QUrl &url);
bool performUpdate(); bool performUpdate();
void checkForUpdate() Q_DECL_OVERRIDE; void checkForUpdate() Q_DECL_OVERRIDE;

View File

@@ -23,15 +23,20 @@ namespace OCC {
class SparkleUpdater : public Updater class SparkleUpdater : public Updater
{ {
Q_OBJECT
public: public:
SparkleUpdater(const QString &appCastUrl); SparkleUpdater(const QUrl &appCastUrl);
~SparkleUpdater(); ~SparkleUpdater();
void setUpdateUrl(const QUrl &url);
// unused in this updater // unused in this updater
void checkForUpdate() Q_DECL_OVERRIDE; void checkForUpdate() Q_DECL_OVERRIDE;
void backgroundCheckForUpdate() Q_DECL_OVERRIDE; void backgroundCheckForUpdate() Q_DECL_OVERRIDE;
bool handleStartup() Q_DECL_OVERRIDE { return false; } bool handleStartup() Q_DECL_OVERRIDE { return false; }
QString statusString();
private: private:
class Private; class Private;
Private *d; Private *d;

View File

@@ -73,7 +73,7 @@ class SparkleUpdater::Private
}; };
// Delete ~/Library//Preferences/com.owncloud.desktopclient.plist to re-test // Delete ~/Library//Preferences/com.owncloud.desktopclient.plist to re-test
SparkleUpdater::SparkleUpdater(const QString& appCastUrl) SparkleUpdater::SparkleUpdater(const QUrl& appCastUrl)
: Updater() : Updater()
{ {
d = new Private; d = new Private;
@@ -89,9 +89,7 @@ SparkleUpdater::SparkleUpdater(const QString& appCastUrl)
[d->updater resetUpdateCycle]; [d->updater resetUpdateCycle];
[d->updater retain]; [d->updater retain];
NSURL* url = [NSURL URLWithString: setUpdateUrl(appCastUrl);
[NSString stringWithUTF8String: appCastUrl.toUtf8().data()]];
[d->updater setFeedURL: url];
// Sparkle 1.8 required // Sparkle 1.8 required
NSString *userAgent = [NSString stringWithUTF8String: Utility::userAgentString().data()]; NSString *userAgent = [NSString stringWithUTF8String: Utility::userAgentString().data()];
@@ -104,7 +102,14 @@ SparkleUpdater::~SparkleUpdater()
delete d; delete d;
} }
void SparkleUpdater::setUpdateUrl(const QUrl &url)
{
NSURL* nsurl = [NSURL URLWithString:
[NSString stringWithUTF8String: url.toString().toUtf8().data()]];
[d->updater setFeedURL: nsurl];
}
// FIXME: Should be changed to not instanicate the SparkleUpdater at all in this case
bool autoUpdaterAllowed() bool autoUpdaterAllowed()
{ {
// See https://github.com/owncloud/client/issues/2931 // See https://github.com/owncloud/client/issues/2931
@@ -133,4 +138,10 @@ void SparkleUpdater::backgroundCheckForUpdate()
} }
} }
QString SparkleUpdater::statusString()
{
// FIXME Show the real state depending on the callbacks
return QString();
}
} // namespace OCC } // namespace OCC

View File

@@ -22,6 +22,7 @@
#include "theme.h" #include "theme.h"
#include "common/utility.h" #include "common/utility.h"
#include "version.h" #include "version.h"
#include "configfile.h"
#include "config.h" #include "config.h"
@@ -39,6 +40,29 @@ Updater *Updater::instance()
return _instance; return _instance;
} }
QUrl Updater::updateUrl()
{
QUrl updateBaseUrl(QString::fromLocal8Bit(qgetenv("OCC_UPDATE_URL")));
if (updateBaseUrl.isEmpty()) {
updateBaseUrl = QUrl(QLatin1String(APPLICATION_UPDATE_URL));
}
if (!updateBaseUrl.isValid() || updateBaseUrl.host() == ".") {
return QUrl();
}
auto url = addQueryParams(updateBaseUrl);
#if defined(Q_OS_MAC) && defined(HAVE_SPARKLE)
url.addQueryItem(QLatin1String("sparkle"), QLatin1String("true"));
#endif
#if defined(Q_OS_WIN)
url.addQueryItem(QLatin1String("msi"), QLatin1String("true"));
#endif
return url;
}
QUrl Updater::addQueryParams(const QUrl &url) QUrl Updater::addQueryParams(const QUrl &url)
{ {
QUrl paramUrl = url; QUrl paramUrl = url;
@@ -64,14 +88,10 @@ QUrl Updater::addQueryParams(const QUrl &url)
QString suffix = QString::fromLatin1(MIRALL_STRINGIFY(MIRALL_VERSION_SUFFIX)); QString suffix = QString::fromLatin1(MIRALL_STRINGIFY(MIRALL_VERSION_SUFFIX));
paramUrl.addQueryItem(QLatin1String("versionsuffix"), suffix); paramUrl.addQueryItem(QLatin1String("versionsuffix"), suffix);
if (suffix.startsWith("daily")
|| suffix.startsWith("nightly") auto channel = ConfigFile().updateChannel();
|| suffix.startsWith("alpha") if (channel != "stable") {
|| suffix.startsWith("rc") paramUrl.addQueryItem(QLatin1String("channel"), channel);
|| suffix.startsWith("beta")) {
paramUrl.addQueryItem(QLatin1String("channel"), "beta");
// FIXME: Provide a checkbox in UI to enable regular versions to switch
// to beta channel
} }
return paramUrl; return paramUrl;
@@ -98,23 +118,18 @@ QString Updater::getSystemInfo()
// To test, cmake with -DAPPLICATION_UPDATE_URL="http://127.0.0.1:8080/test.rss" // To test, cmake with -DAPPLICATION_UPDATE_URL="http://127.0.0.1:8080/test.rss"
Updater *Updater::create() Updater *Updater::create()
{ {
QUrl updateBaseUrl(QString::fromLocal8Bit(qgetenv("OCC_UPDATE_URL"))); auto url = updateUrl();
if (updateBaseUrl.isEmpty()) { if (url.isEmpty()) {
updateBaseUrl = QUrl(QLatin1String(APPLICATION_UPDATE_URL));
}
if (!updateBaseUrl.isValid() || updateBaseUrl.host() == ".") {
qCWarning(lcUpdater) << "Not a valid updater URL, will not do update check"; qCWarning(lcUpdater) << "Not a valid updater URL, will not do update check";
return 0; return 0;
} }
updateBaseUrl = addQueryParams(updateBaseUrl);
#if defined(Q_OS_MAC) && defined(HAVE_SPARKLE) #if defined(Q_OS_MAC) && defined(HAVE_SPARKLE)
updateBaseUrl.addQueryItem(QLatin1String("sparkle"), QLatin1String("true")); return new SparkleUpdater(url);
return new SparkleUpdater(updateBaseUrl.toString());
#elif defined(Q_OS_WIN32) #elif defined(Q_OS_WIN32)
// the best we can do is notify about updates // the best we can do is notify about updates
return new NSISUpdater(updateBaseUrl); return new NSISUpdater(url);
#else #else
return new PassiveUpdateNotifier(QUrl(updateBaseUrl)); return new PassiveUpdateNotifier(url);
#endif #endif
} }

View File

@@ -36,6 +36,7 @@ public:
}; };
static Updater *instance(); static Updater *instance();
static QUrl updateUrl();
virtual void checkForUpdate() = 0; virtual void checkForUpdate() = 0;
virtual void backgroundCheckForUpdate() = 0; virtual void backgroundCheckForUpdate() = 0;

View File

@@ -93,9 +93,8 @@ QNetworkReply *AccessManager::createRequest(QNetworkAccessManager::Operation op,
qInfo(lcAccessManager) << op << verb << newRequest.url().toString() << "has X-Request-ID" << requestId; qInfo(lcAccessManager) << op << verb << newRequest.url().toString() << "has X-Request-ID" << requestId;
newRequest.setRawHeader("X-Request-ID", requestId); newRequest.setRawHeader("X-Request-ID", requestId);
#if QT_VERSION >= QT_VERSION_CHECK(5, 9, 0) #if QT_VERSION >= QT_VERSION_CHECK(5, 9, 4)
// only enable HTTP2 with Qt 5.9 because Qt 5.8.0 has too many bugs // only enable HTTP2 with Qt 5.9.4 because old Qt have too many bugs (e.g. QTBUG-64359 is fixed in >= Qt 5.9.4)
// (only use one connection if the server does not support HTTP2)
if (newRequest.url().scheme() == "https") { // Not for "http": QTBUG-61397 if (newRequest.url().scheme() == "https") { // Not for "http": QTBUG-61397
newRequest.setAttribute(QNetworkRequest::HTTP2AllowedAttribute, true); newRequest.setAttribute(QNetworkRequest::HTTP2AllowedAttribute, true);
} }

View File

@@ -218,7 +218,7 @@ public:
/** Detects a specific bug in older server versions */ /** Detects a specific bug in older server versions */
bool rootEtagChangesNotOnlySubFolderEtags(); bool rootEtagChangesNotOnlySubFolderEtags();
/** True when the server supports HTTP2 */ /** True when the server connection is using HTTP2 */
bool isHttp2Supported() { return _http2Supported; } bool isHttp2Supported() { return _http2Supported; }
void setHttp2Supported(bool value) { _http2Supported = value; } void setHttp2Supported(bool value) { _http2Supported = value; }

View File

@@ -18,6 +18,7 @@
#include "theme.h" #include "theme.h"
#include "common/utility.h" #include "common/utility.h"
#include "common/asserts.h" #include "common/asserts.h"
#include "version.h"
#include "creds/abstractcredentials.h" #include "creds/abstractcredentials.h"
@@ -52,6 +53,7 @@ static const char crashReporterC[] = "crashReporter";
static const char optionalDesktopNoficationsC[] = "optionalDesktopNotifications"; static const char optionalDesktopNoficationsC[] = "optionalDesktopNotifications";
static const char skipUpdateCheckC[] = "skipUpdateCheck"; static const char skipUpdateCheckC[] = "skipUpdateCheck";
static const char updateCheckIntervalC[] = "updateCheckInterval"; static const char updateCheckIntervalC[] = "updateCheckInterval";
static const char updateChannelC[] = "updateChannel";
static const char geometryC[] = "geometry"; static const char geometryC[] = "geometry";
static const char timeoutC[] = "timeout"; static const char timeoutC[] = "timeout";
static const char chunkSizeC[] = "chunkSize"; static const char chunkSizeC[] = "chunkSize";
@@ -468,6 +470,28 @@ void ConfigFile::setSkipUpdateCheck(bool skip, const QString &connection)
settings.sync(); settings.sync();
} }
QString ConfigFile::updateChannel() const
{
QString defaultUpdateChannel = QStringLiteral("stable");
QString suffix = QString::fromLatin1(MIRALL_STRINGIFY(MIRALL_VERSION_SUFFIX));
if (suffix.startsWith("daily")
|| suffix.startsWith("nightly")
|| suffix.startsWith("alpha")
|| suffix.startsWith("rc")
|| suffix.startsWith("beta")) {
defaultUpdateChannel = QStringLiteral("beta");
}
QSettings settings(configFile(), QSettings::IniFormat);
return settings.value(QLatin1String(updateChannelC), defaultUpdateChannel).toString();
}
void ConfigFile::setUpdateChannel(const QString &channel)
{
QSettings settings(configFile(), QSettings::IniFormat);
settings.setValue(QLatin1String(updateChannelC), channel);
}
int ConfigFile::maxLogLines() const int ConfigFile::maxLogLines() const
{ {
QSettings settings(configFile(), QSettings::IniFormat); QSettings settings(configFile(), QSettings::IniFormat);

View File

@@ -131,6 +131,9 @@ public:
bool skipUpdateCheck(const QString &connection = QString()) const; bool skipUpdateCheck(const QString &connection = QString()) const;
void setSkipUpdateCheck(bool, const QString &); void setSkipUpdateCheck(bool, const QString &);
QString updateChannel() const;
void setUpdateChannel(const QString &channel);
void saveGeometryHeader(QHeaderView *header); void saveGeometryHeader(QHeaderView *header);
void restoreGeometryHeader(QHeaderView *header); void restoreGeometryHeader(QHeaderView *header);

View File

@@ -317,6 +317,7 @@ bool ConnectionValidator::setAndCheckServerVersion(const QString &version)
#if QT_VERSION >= QT_VERSION_CHECK(5, 9, 0) #if QT_VERSION >= QT_VERSION_CHECK(5, 9, 0)
// Record that the server supports HTTP/2 // Record that the server supports HTTP/2
// Actual decision if we should use HTTP/2 is done in AccessManager::createRequest
if (auto job = qobject_cast<AbstractNetworkJob *>(sender())) { if (auto job = qobject_cast<AbstractNetworkJob *>(sender())) {
if (auto reply = job->reply()) { if (auto reply = job->reply()) {
_account->setHttp2Supported( _account->setHttp2Supported(

View File

@@ -117,6 +117,7 @@ HttpCredentials::HttpCredentials(const QString &user, const QString &password, c
, _clientSslKey(key) , _clientSslKey(key)
, _clientSslCertificate(certificate) , _clientSslCertificate(certificate)
, _keychainMigration(false) , _keychainMigration(false)
, _retryOnKeyChainError(false)
{ {
} }
@@ -219,6 +220,21 @@ void HttpCredentials::deleteOldKeychainEntries()
void HttpCredentials::slotReadClientCertPEMJobDone(QKeychain::Job *incoming) void HttpCredentials::slotReadClientCertPEMJobDone(QKeychain::Job *incoming)
{ {
#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
Q_ASSERT(!incoming->insecureFallback()); // If insecureFallback is set, the next test would be pointless
if (_retryOnKeyChainError && (incoming->error() == QKeychain::NoBackendAvailable
|| incoming->error() == QKeychain::OtherError)) {
// Could be that the backend was not yet available. Wait some extra seconds.
// (Issues #4274 and #6522)
// (For kwallet, the error is OtherError instead of NoBackendAvailable, maybe a bug in QtKeychain)
qCInfo(lcHttpCredentials) << "Backend unavailable (yet?) Retrying in a few seconds." << incoming->errorString();
QTimer::singleShot(10000, this, &HttpCredentials::fetchFromKeychainHelper);
_retryOnKeyChainError = false;
return;
}
_retryOnKeyChainError = false;
#endif
// Store PEM in memory // Store PEM in memory
ReadPasswordJob *readJob = static_cast<ReadPasswordJob *>(incoming); ReadPasswordJob *readJob = static_cast<ReadPasswordJob *>(incoming);
if (readJob->error() == NoError && readJob->binaryData().length() > 0) { if (readJob->error() == NoError && readJob->binaryData().length() > 0) {

View File

@@ -141,6 +141,7 @@ protected:
QSslKey _clientSslKey; QSslKey _clientSslKey;
QSslCertificate _clientSslCertificate; QSslCertificate _clientSslCertificate;
bool _keychainMigration; bool _keychainMigration;
bool _retryOnKeyChainError = true; // true if we haven't done yet any reading from keychain
}; };

View File

@@ -579,8 +579,7 @@ bool OwncloudPropagator::localFileNameClash(const QString &relFile)
re = false; re = false;
qCWarning(lcPropagator) << "No valid fileinfo"; qCWarning(lcPropagator) << "No valid fileinfo";
} else { } else {
// Need to normalize to composited form because of // Need to normalize to composited form because of QTBUG-39622/QTBUG-55896
// https://bugreports.qt-project.org/browse/QTBUG-39622
const QString cName = fileInfo.canonicalFilePath().normalized(QString::NormalizationForm_C); const QString cName = fileInfo.canonicalFilePath().normalized(QString::NormalizationForm_C);
bool equal = (file == cName); bool equal = (file == cName);
re = (!equal && !cName.endsWith(relFile, Qt::CaseSensitive)); re = (!equal && !cName.endsWith(relFile, Qt::CaseSensitive));
@@ -821,10 +820,13 @@ void PropagatorCompositeJob::slotSubJobFinished(SyncFileItem::Status status)
ASSERT(i >= 0); ASSERT(i >= 0);
_runningJobs.remove(i); _runningJobs.remove(i);
// Any sub job error will cause the whole composite to fail. This is important
// for knowing whether to update the etag in PropagateDirectory, for example.
if (status == SyncFileItem::FatalError if (status == SyncFileItem::FatalError
|| status == SyncFileItem::NormalError || status == SyncFileItem::NormalError
|| status == SyncFileItem::SoftError || status == SyncFileItem::SoftError
|| status == SyncFileItem::DetailError) { || status == SyncFileItem::DetailError
|| status == SyncFileItem::BlacklistedError) {
_hasError = status; _hasError = status;
} }

View File

@@ -553,6 +553,16 @@ void PropagateUploadFileCommon::commonErrorHandling(AbstractNetworkJob *job)
abortWithError(status, errorString); abortWithError(status, errorString);
} }
void PropagateUploadFileCommon::adjustLastJobTimeout(AbstractNetworkJob *job, quint64 fileSize)
{
job->setTimeout(qBound(
job->timeoutMsec(),
// Calculate 3 minutes for each gigabyte of data
qint64((3 * 60 * 1000) * fileSize / 1e9),
// Maximum of 30 minutes
qint64(30 * 60 * 1000)));
}
void PropagateUploadFileCommon::slotJobDestroyed(QObject *job) void PropagateUploadFileCommon::slotJobDestroyed(QObject *job)
{ {
_jobs.erase(std::remove(_jobs.begin(), _jobs.end(), job), _jobs.end()); _jobs.erase(std::remove(_jobs.begin(), _jobs.end(), job), _jobs.end());

View File

@@ -281,6 +281,17 @@ protected:
*/ */
void commonErrorHandling(AbstractNetworkJob *job); void commonErrorHandling(AbstractNetworkJob *job);
/**
* Increases the timeout for the final MOVE/PUT for large files.
*
* This is an unfortunate workaround since the drawback is not being able to
* detect real disconnects in a timely manner. Shall go away when the server
* response starts coming quicker, or there is some sort of async api.
*
* See #6527, enterprise#2480
*/
static void adjustLastJobTimeout(AbstractNetworkJob *job, quint64 fileSize);
// Bases headers that need to be sent with every chunk // Bases headers that need to be sent with every chunk
QMap<QByteArray, QByteArray> headers(); QMap<QByteArray, QByteArray> headers();
}; };

View File

@@ -295,6 +295,7 @@ void PropagateUploadFileNG::startNextChunk()
connect(job, &MoveJob::finishedSignal, this, &PropagateUploadFileNG::slotMoveJobFinished); connect(job, &MoveJob::finishedSignal, this, &PropagateUploadFileNG::slotMoveJobFinished);
connect(job, &QObject::destroyed, this, &PropagateUploadFileCommon::slotJobDestroyed); connect(job, &QObject::destroyed, this, &PropagateUploadFileCommon::slotJobDestroyed);
propagator()->_activeJobList.append(this); propagator()->_activeJobList.append(this);
adjustLastJobTimeout(job, fileSize);
job->start(); job->start();
return; return;
} }

View File

@@ -130,6 +130,8 @@ void PropagateUploadFileV1::startNextChunk()
connect(job, &PUTFileJob::uploadProgress, this, &PropagateUploadFileV1::slotUploadProgress); connect(job, &PUTFileJob::uploadProgress, this, &PropagateUploadFileV1::slotUploadProgress);
connect(job, &PUTFileJob::uploadProgress, device, &UploadDevice::slotJobUploadProgress); connect(job, &PUTFileJob::uploadProgress, device, &UploadDevice::slotJobUploadProgress);
connect(job, &QObject::destroyed, this, &PropagateUploadFileCommon::slotJobDestroyed); connect(job, &QObject::destroyed, this, &PropagateUploadFileCommon::slotJobDestroyed);
if (isFinalChunk)
adjustLastJobTimeout(job, fileSize);
job->start(); job->start();
propagator()->_activeJobList.append(this); propagator()->_activeJobList.append(this);
_currentChunk++; _currentChunk++;
@@ -301,6 +303,7 @@ void PropagateUploadFileV1::slotPutFinished()
qCWarning(lcPropagateUpload) << "Server does not support X-OC-MTime" << job->reply()->rawHeader("X-OC-MTime"); qCWarning(lcPropagateUpload) << "Server does not support X-OC-MTime" << job->reply()->rawHeader("X-OC-MTime");
// Well, the mtime was not set // Well, the mtime was not set
done(SyncFileItem::SoftError, "Server does not support X-OC-MTime"); done(SyncFileItem::SoftError, "Server does not support X-OC-MTime");
return;
} }
#ifdef WITH_TESTING #ifdef WITH_TESTING

View File

@@ -66,7 +66,7 @@ bool PropagateLocalRemove::removeRecursively(const QString &path)
bool ok; bool ok;
// The use of isSymLink here is okay: // The use of isSymLink here is okay:
// we never want to go into this branch for .lnk files // we never want to go into this branch for .lnk files
bool isDir = fi.isDir() && !fi.isSymLink(); bool isDir = fi.isDir() && !fi.isSymLink() && !FileSystem::isJunction(fi.absoluteFilePath());
if (isDir) { if (isDir) {
ok = removeRecursively(path + QLatin1Char('/') + di.fileName()); // recursive ok = removeRecursively(path + QLatin1Char('/') + di.fileName()); // recursive
} else { } else {

View File

@@ -82,10 +82,9 @@ public:
/** For files whose errors were blacklisted /** For files whose errors were blacklisted
* *
* If an file is blacklisted due to an error it isn't even reattempted. These * If an file is blacklisted due to an error it isn't even reattempted. These
* errors should appear in the issues tab, but not on the account settings and * errors should appear in the issues tab but should be silent otherwise.
* should not cause the sync run to fail.
* *
* A DetailError that doesn't cause sync failure. * A SoftError caused by blacklisting.
*/ */
BlacklistedError BlacklistedError
}; };

View File

@@ -127,7 +127,7 @@ QIcon Theme::themeIcon(const QString &name, bool sysTray, bool sysTrayMenuVisibl
} }
QString key = name + "," + flavor; QString key = name + "," + flavor;
QIcon &cached = _iconCache[key]; QIcon &cached = _iconCache[key]; // Take reference, this will also "set" the cache entry
if (cached.isNull()) { if (cached.isNull()) {
if (QIcon::hasThemeIcon(name)) { if (QIcon::hasThemeIcon(name)) {
// use from theme // use from theme

View File

@@ -172,6 +172,14 @@ private slots:
fakeFolder.syncEngine().journal()->setSelectiveSyncList(SyncJournalDb::SelectiveSyncBlackList, fakeFolder.syncEngine().journal()->setSelectiveSyncList(SyncJournalDb::SelectiveSyncBlackList,
{"parentFolder/subFolderA/"}); {"parentFolder/subFolderA/"});
fakeFolder.syncEngine().journal()->avoidReadFromDbOnNextSync(QByteArrayLiteral("parentFolder/subFolderA/")); fakeFolder.syncEngine().journal()->avoidReadFromDbOnNextSync(QByteArrayLiteral("parentFolder/subFolderA/"));
auto getEtag = [&](const QByteArray &file) {
SyncJournalFileRecord rec;
fakeFolder.syncJournal().getFileRecord(file, &rec);
return rec._etag;
};
QVERIFY(getEtag("parentFolder") == "_invalid_");
QVERIFY(getEtag("parentFolder/subFolderA") == "_invalid_");
QVERIFY(getEtag("parentFolder/subFolderA/subsubFolder") != "_invalid_");
// But touch local file before the next sync, such that the local folder // But touch local file before the next sync, such that the local folder
// can't be removed // can't be removed
@@ -605,6 +613,7 @@ private slots:
QVERIFY(fakeFolder.currentLocalState().find("A/tößt")); QVERIFY(fakeFolder.currentLocalState().find("A/tößt"));
QVERIFY(fakeFolder.currentLocalState().find("A/t𠜎t")); QVERIFY(fakeFolder.currentLocalState().find("A/t𠜎t"));
#if !defined(Q_OS_MAC) && !defined(Q_OS_WIN)
// Try again with a locale that can represent ö but not 𠜎 (4-byte utf8). // Try again with a locale that can represent ö but not 𠜎 (4-byte utf8).
QTextCodec::setCodecForLocale(QTextCodec::codecForName("ISO-8859-15")); QTextCodec::setCodecForLocale(QTextCodec::codecForName("ISO-8859-15"));
QVERIFY(QTextCodec::codecForLocale()->mibEnum() == 111); QVERIFY(QTextCodec::codecForLocale()->mibEnum() == 111);
@@ -635,6 +644,7 @@ private slots:
QVERIFY(fakeFolder.currentRemoteState().find("C/tößt")); QVERIFY(fakeFolder.currentRemoteState().find("C/tößt"));
QTextCodec::setCodecForLocale(utf8Locale); QTextCodec::setCodecForLocale(utf8Locale);
#endif
} }
}; };

View File

@@ -183,6 +183,121 @@ private slots:
QCOMPARE(record.numericFileId(), QByteArray("123456789")); QCOMPARE(record.numericFileId(), QByteArray("123456789"));
} }
void testAvoidReadFromDbOnNextSync()
{
auto invalidEtag = QByteArray("_invalid_");
auto initialEtag = QByteArray("etag");
auto makeEntry = [&](const QByteArray &path, int type) {
SyncJournalFileRecord record;
record._path = path;
record._type = type;
record._etag = initialEtag;
_db.setFileRecord(record);
};
auto getEtag = [&](const QByteArray &path) {
SyncJournalFileRecord record;
_db.getFileRecord(path, &record);
return record._etag;
};
makeEntry("foodir", 2);
makeEntry("otherdir", 2);
makeEntry("foo%", 2); // wildcards don't apply
makeEntry("foodi_", 2); // wildcards don't apply
makeEntry("foodir/file", 0);
makeEntry("foodir/subdir", 2);
makeEntry("foodir/subdir/file", 0);
makeEntry("foodir/otherdir", 2);
makeEntry("fo", 2); // prefix, but does not match
makeEntry("foodir/sub", 2); // prefix, but does not match
makeEntry("foodir/subdir/subsubdir", 2);
makeEntry("foodir/subdir/subsubdir/file", 0);
makeEntry("foodir/subdir/otherdir", 2);
_db.avoidReadFromDbOnNextSync(QByteArray("foodir/subdir"));
// Direct effects of parent directories being set to _invalid_
QCOMPARE(getEtag("foodir"), invalidEtag);
QCOMPARE(getEtag("foodir/subdir"), invalidEtag);
QCOMPARE(getEtag("foodir/subdir/subsubdir"), initialEtag);
QCOMPARE(getEtag("foodir/file"), initialEtag);
QCOMPARE(getEtag("foodir/subdir/file"), initialEtag);
QCOMPARE(getEtag("foodir/subdir/subsubdir/file"), initialEtag);
QCOMPARE(getEtag("fo"), initialEtag);
QCOMPARE(getEtag("foo%"), initialEtag);
QCOMPARE(getEtag("foodi_"), initialEtag);
QCOMPARE(getEtag("otherdir"), initialEtag);
QCOMPARE(getEtag("foodir/otherdir"), initialEtag);
QCOMPARE(getEtag("foodir/sub"), initialEtag);
QCOMPARE(getEtag("foodir/subdir/otherdir"), initialEtag);
// Indirect effects: setFileRecord() calls filter etags
initialEtag = "etag2";
makeEntry("foodir", 2);
QCOMPARE(getEtag("foodir"), invalidEtag);
makeEntry("foodir/subdir", 2);
QCOMPARE(getEtag("foodir/subdir"), invalidEtag);
makeEntry("foodir/subdir/subsubdir", 2);
QCOMPARE(getEtag("foodir/subdir/subsubdir"), initialEtag);
makeEntry("fo", 2);
QCOMPARE(getEtag("fo"), initialEtag);
makeEntry("foodir/sub", 2);
QCOMPARE(getEtag("foodir/sub"), initialEtag);
}
void testRecursiveDelete()
{
auto makeEntry = [&](const QByteArray &path) {
SyncJournalFileRecord record;
record._path = path;
_db.setFileRecord(record);
};
QByteArrayList elements;
elements
<< "foo"
<< "foo/file"
<< "bar"
<< "moo"
<< "moo/file"
<< "foo%bar"
<< "foo bla bar/file"
<< "fo_"
<< "fo_/file";
for (auto elem : elements)
makeEntry(elem);
auto checkElements = [&]() {
bool ok = true;
for (auto elem : elements) {
SyncJournalFileRecord record;
_db.getFileRecord(elem, &record);
if (!record.isValid()) {
qWarning() << "Missing record: " << elem;
ok = false;
}
}
return ok;
};
_db.deleteFileRecord("moo", true);
elements.removeAll("moo");
elements.removeAll("moo/file");
QVERIFY(checkElements());
_db.deleteFileRecord("fo_", true);
elements.removeAll("fo_");
elements.removeAll("fo_/file");
QVERIFY(checkElements());
_db.deleteFileRecord("foo%bar", true);
elements.removeAll("foo%bar");
QVERIFY(checkElements());
}
private: private:
SyncJournalDb _db; SyncJournalDb _db;
}; };

View File

@@ -576,6 +576,51 @@ private slots:
//QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState()); //QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
} }
} }
// https://github.com/owncloud/client/issues/6629#issuecomment-402450691
// When a file is moved and the server mtime was not in sync, the local mtime should be kept
void testMoveAndMTimeChange()
{
FakeFolder fakeFolder{ FileInfo::A12_B12_C12_S12() };
int nPUT = 0;
int nDELETE = 0;
int nGET = 0;
int nMOVE = 0;
fakeFolder.setServerOverride([&](QNetworkAccessManager::Operation op, const QNetworkRequest &req) {
if (op == QNetworkAccessManager::PutOperation)
++nPUT;
if (op == QNetworkAccessManager::DeleteOperation)
++nDELETE;
if (op == QNetworkAccessManager::GetOperation)
++nGET;
if (req.attribute(QNetworkRequest::CustomVerbAttribute) == "MOVE")
++nMOVE;
return nullptr;
});
// Changing the mtime on the server (without invalidating the etag)
fakeFolder.remoteModifier().find("A/a1")->lastModified = QDateTime::currentDateTimeUtc().addSecs(-50000);
fakeFolder.remoteModifier().find("A/a2")->lastModified = QDateTime::currentDateTimeUtc().addSecs(-40000);
// Move a few files
fakeFolder.remoteModifier().rename("A/a1", "A/a1_server_renamed");
fakeFolder.localModifier().rename("A/a2", "A/a2_local_renamed");
QVERIFY(fakeFolder.syncOnce());
QCOMPARE(nGET, 0);
QCOMPARE(nPUT, 0);
QCOMPARE(nMOVE, 1);
QCOMPARE(nDELETE, 0);
// Another sync should do nothing
QVERIFY(fakeFolder.syncOnce());
QCOMPARE(nGET, 0);
QCOMPARE(nPUT, 0);
QCOMPARE(nMOVE, 1);
QCOMPARE(nDELETE, 0);
QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
}
}; };
QTEST_GUILESS_MAIN(TestSyncMove) QTEST_GUILESS_MAIN(TestSyncMove)

View File

@@ -373,7 +373,7 @@
<message> <message>
<location filename="../src/gui/accountstate.cpp" line="132"/> <location filename="../src/gui/accountstate.cpp" line="132"/>
<source>Maintenance mode</source> <source>Maintenance mode</source>
<translation type="unfinished"/> <translation>Mode de manteniment</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountstate.cpp" line="134"/> <location filename="../src/gui/accountstate.cpp" line="134"/>
@@ -1415,12 +1415,12 @@ Els elements que poden ser eliminats s&apos;eliminaran si impedeixen que una car
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="73"/> <location filename="../src/gui/issueswidget.ui" line="73"/>
<source>Show warnings</source> <source>Show warnings</source>
<translation type="unfinished"/> <translation>Mostra avisos</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="83"/> <location filename="../src/gui/issueswidget.ui" line="83"/>
<source>Show ignored files</source> <source>Show ignored files</source>
<translation type="unfinished"/> <translation>Mostra arxius descartats</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="133"/> <location filename="../src/gui/issueswidget.ui" line="133"/>
@@ -2507,7 +2507,7 @@ No és aconsellada usar-la.</translation>
<message> <message>
<location filename="../src/gui/servernotificationhandler.cpp" line="103"/> <location filename="../src/gui/servernotificationhandler.cpp" line="103"/>
<source>Dismiss</source> <source>Dismiss</source>
<translation type="unfinished"/> <translation>Ignora</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -2541,28 +2541,28 @@ No és aconsellada usar-la.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Activitat</translation> <translation>Activitat</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>General</translation> <translation>General</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Xarxa</translation> <translation>Xarxa</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Compte</translation> <translation>Compte</translation>
</message> </message>
@@ -2622,12 +2622,12 @@ No és aconsellada usar-la.</translation>
<message> <message>
<location filename="../src/gui/sharedialog.cpp" line="211"/> <location filename="../src/gui/sharedialog.cpp" line="211"/>
<source>Users and Groups</source> <source>Users and Groups</source>
<translation type="unfinished"/> <translation>Usuaris i Grups</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharedialog.cpp" line="218"/> <location filename="../src/gui/sharedialog.cpp" line="218"/>
<source>Public Links</source> <source>Public Links</source>
<translation type="unfinished"/> <translation>Enllaços públics</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -2650,7 +2650,7 @@ No és aconsellada usar-la.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="35"/> <location filename="../src/gui/sharelinkwidget.ui" line="35"/>
<source>Enter a name to create a new public link...</source> <source>Enter a name to create a new public link...</source>
<translation type="unfinished"/> <translation>Escriu un nom per crear un enllaç públic...</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="42"/> <location filename="../src/gui/sharelinkwidget.ui" line="42"/>
@@ -2670,12 +2670,12 @@ No és aconsellada usar-la.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="178"/> <location filename="../src/gui/sharelinkwidget.ui" line="178"/>
<source>Link properties:</source> <source>Link properties:</source>
<translation type="unfinished"/> <translation>Propietats de l&apos;enllaç:</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="220"/> <location filename="../src/gui/sharelinkwidget.ui" line="220"/>
<source>Show file listing</source> <source>Show file listing</source>
<translation type="unfinished"/> <translation>Motra el llistat de fitxers</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="200"/> <location filename="../src/gui/sharelinkwidget.ui" line="200"/>
@@ -2685,16 +2685,16 @@ No és aconsellada usar-la.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="20"/> <location filename="../src/gui/sharelinkwidget.ui" line="20"/>
<source>Anyone with the link has access to the file/folder</source> <source>Anyone with the link has access to the file/folder</source>
<translation type="unfinished"/> <translation>Qualsevol podrà accedir a l&apos;arxiu o carpeta amb aquest link</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>Protegit amb contr&amp;asenya</translation> <translation>Protegit amb contr&amp;asenya</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Protegit amb contrasenya</translation> <translation>Protegit amb contrasenya</translation>
</message> </message>
@@ -2715,7 +2715,7 @@ No és aconsellada usar-la.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Esborra</translation> <translation>Esborra</translation>
</message> </message>
@@ -2727,7 +2727,7 @@ No és aconsellada usar-la.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="164"/> <location filename="../src/gui/sharelinkwidget.cpp" line="164"/>
<source>Copy link to clipboard</source> <source>Copy link to clipboard</source>
<translation type="unfinished"/> <translation>Copiar al portadocuments</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="165"/> <location filename="../src/gui/sharelinkwidget.cpp" line="165"/>
@@ -2745,38 +2745,38 @@ No és aconsellada usar-la.</translation>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Cancel·lar</translation> <translation>Cancel·lar</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation type="unfinished"/> <translation>Enllaç públic</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>La comp&amp;artició pública requereix una contrasenya</translation> <translation>La comp&amp;artició pública requereix una contrasenya</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Establiu la contrasenya</translation> <translation>Establiu la contrasenya</translation>
</message> </message>
@@ -2811,7 +2811,7 @@ No és aconsellada usar-la.</translation>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="237"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="237"/>
<source>Copy link to clipboard</source> <source>Copy link to clipboard</source>
<translation type="unfinished"/> <translation>Copiar al portadocuments</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="239"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="239"/>
@@ -2826,7 +2826,7 @@ No és aconsellada usar-la.</translation>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="337"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="337"/>
<source>I shared something with you</source> <source>I shared something with you</source>
<translation type="unfinished"/> <translation>He compartit amb tu</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -2919,7 +2919,7 @@ No és aconsellada usar-la.</translation>
<message> <message>
<location filename="../src/gui/socketapi.cpp" line="557"/> <location filename="../src/gui/socketapi.cpp" line="557"/>
<source>I shared something with you</source> <source>I shared something with you</source>
<translation type="unfinished"/> <translation>He compartit amb tu</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/socketapi.cpp" line="565"/> <location filename="../src/gui/socketapi.cpp" line="565"/>
@@ -3850,7 +3850,7 @@ No és aconsellada usar-la.</translation>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="56"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="56"/>
<source>Re-open Browser</source> <source>Re-open Browser</source>
<translation type="unfinished"/> <translation>Reobrir navegador</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -4177,7 +4177,7 @@ No és aconsellada usar-la.</translation>
<message> <message>
<location filename="../src/gui/guiutility.cpp" line="33"/> <location filename="../src/gui/guiutility.cpp" line="33"/>
<source>Could not open browser</source> <source>Could not open browser</source>
<translation type="unfinished"/> <translation>No es pot obrir el navegador</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/guiutility.cpp" line="34"/> <location filename="../src/gui/guiutility.cpp" line="34"/>

View File

@@ -83,12 +83,12 @@
<message> <message>
<location filename="../src/libsync/abstractnetworkjob.cpp" line="247"/> <location filename="../src/libsync/abstractnetworkjob.cpp" line="247"/>
<source>Unknown error: network reply was deleted</source> <source>Unknown error: network reply was deleted</source>
<translation type="unfinished"/> <translation>Neznámá chyba: odpověď sítě byla smazána</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/abstractnetworkjob.cpp" line="390"/> <location filename="../src/libsync/abstractnetworkjob.cpp" line="390"/>
<source>Server replied &quot;%1 %2&quot; to &quot;%3 %4&quot;</source> <source>Server replied &quot;%1 %2&quot; to &quot;%3 %4&quot;</source>
<translation type="unfinished"/> <translation>Odpověď serveru &quot;%1 %2&quot; do &quot;%3 %4&quot;</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -388,7 +388,7 @@
<message> <message>
<location filename="../src/gui/accountstate.cpp" line="138"/> <location filename="../src/gui/accountstate.cpp" line="138"/>
<source>Asking Credentials</source> <source>Asking Credentials</source>
<translation type="unfinished"/> <translation>Požádat o pověření</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountstate.cpp" line="140"/> <location filename="../src/gui/accountstate.cpp" line="140"/>
@@ -988,7 +988,7 @@ Pokračováním v synchronizaci způsobí přepsání všech vašich souborů st
<message> <message>
<location filename="../src/gui/folderstatusmodel.cpp" line="209"/> <location filename="../src/gui/folderstatusmodel.cpp" line="209"/>
<source>There are unresolved conflicts. Click for details.</source> <source>There are unresolved conflicts. Click for details.</source>
<translation type="unfinished"/> <translation>Jsou zde nevyřešené konflikty. Klikněte pro detaily.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/folderstatusmodel.cpp" line="878"/> <location filename="../src/gui/folderstatusmodel.cpp" line="878"/>
@@ -1396,7 +1396,7 @@ Položky u kterých je povoleno smazání budou vymazány, pokud by bránily ods
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="20"/> <location filename="../src/gui/issueswidget.ui" line="20"/>
<source>List of issues</source> <source>List of issues</source>
<translation type="unfinished"/> <translation>Seznam problémů</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="34"/> <location filename="../src/gui/issueswidget.ui" line="34"/>
@@ -2544,28 +2544,28 @@ Nedoporučuje se jí používat.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Aktivita</translation> <translation>Aktivita</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Hlavní</translation> <translation>Hlavní</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Síť</translation> <translation>Síť</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Účet</translation> <translation>Účet</translation>
</message> </message>
@@ -2692,12 +2692,12 @@ Nedoporučuje se jí používat.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>Ch&amp;ránit heslem</translation> <translation>Ch&amp;ránit heslem</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Chráněno heslem</translation> <translation>Chráněno heslem</translation>
</message> </message>
@@ -2718,7 +2718,7 @@ Nedoporučuje se jí používat.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Smazat</translation> <translation>Smazat</translation>
</message> </message>
@@ -2748,38 +2748,38 @@ Nedoporučuje se jí používat.</translation>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Zrušit</translation> <translation>Zrušit</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation>Veřejný odkaz</translation> <translation>Veřejný odkaz</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>Veřejné s&amp;dílení vyžaduje heslo</translation> <translation>Veřejné s&amp;dílení vyžaduje heslo</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Nastavte prosím heslo</translation> <translation>Nastavte prosím heslo</translation>
</message> </message>
@@ -3628,12 +3628,12 @@ Nedoporučuje se jí používat.</translation>
<location filename="../src/gui/owncloudgui.cpp" line="273"/> <location filename="../src/gui/owncloudgui.cpp" line="273"/>
<location filename="../src/gui/owncloudgui.cpp" line="304"/> <location filename="../src/gui/owncloudgui.cpp" line="304"/>
<source>Synchronization is paused</source> <source>Synchronization is paused</source>
<translation type="unfinished"/> <translation>Synchronizace je pozastavena</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudgui.cpp" line="306"/> <location filename="../src/gui/owncloudgui.cpp" line="306"/>
<source>Error during synchronization</source> <source>Error during synchronization</source>
<translation type="unfinished"/> <translation>Chyba při synchronizaci</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudgui.cpp" line="314"/> <location filename="../src/gui/owncloudgui.cpp" line="314"/>
@@ -3843,17 +3843,17 @@ Nedoporučuje se jí používat.</translation>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="36"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="36"/>
<source>Please switch to your browser to proceed.</source> <source>Please switch to your browser to proceed.</source>
<translation type="unfinished"/> <translation>Chcete-li pokračovat, přepněte prosím do svého prohlížeče.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="46"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="46"/>
<source>An error occured while connecting. Please try again.</source> <source>An error occured while connecting. Please try again.</source>
<translation type="unfinished"/> <translation>Při připojování došlo k chybě. Prosím zkuste to znovu.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="56"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="56"/>
<source>Re-open Browser</source> <source>Re-open Browser</source>
<translation type="unfinished"/> <translation>Znovu otevřít prohlížeč</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -4180,7 +4180,7 @@ Nedoporučuje se jí používat.</translation>
<message> <message>
<location filename="../src/gui/guiutility.cpp" line="33"/> <location filename="../src/gui/guiutility.cpp" line="33"/>
<source>Could not open browser</source> <source>Could not open browser</source>
<translation type="unfinished"/> <translation>Nemohu otevřít prohlížeč</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/guiutility.cpp" line="34"/> <location filename="../src/gui/guiutility.cpp" line="34"/>

View File

@@ -506,7 +506,7 @@
<message> <message>
<location filename="../src/gui/activitywidget.cpp" line="358"/> <location filename="../src/gui/activitywidget.cpp" line="358"/>
<source>You received new notifications from %1, %2 and other accounts.</source> <source>You received new notifications from %1, %2 and other accounts.</source>
<translation>Sieh haben %n neue Benachrichtigungen von %1, %2 und anderen Konten erhalten.</translation> <translation>Sie haben %n neue Benachrichtigungen von %1, %2 und anderen Konten erhalten.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/activitywidget.cpp" line="362"/> <location filename="../src/gui/activitywidget.cpp" line="362"/>
@@ -995,7 +995,7 @@ Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älter
<message> <message>
<location filename="../src/gui/folderstatusmodel.cpp" line="878"/> <location filename="../src/gui/folderstatusmodel.cpp" line="878"/>
<source>Checking for changes in &apos;%1&apos;</source> <source>Checking for changes in &apos;%1&apos;</source>
<translation>Nach Änderungen suchen in &apos;%1&apos;</translation> <translation>Suche nach Änderungen in &apos;%1&apos;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/folderstatusmodel.cpp" line="884"/> <location filename="../src/gui/folderstatusmodel.cpp" line="884"/>
@@ -1103,7 +1103,7 @@ Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älter
<message> <message>
<location filename="../src/gui/folderwizard.cpp" line="550"/> <location filename="../src/gui/folderwizard.cpp" line="550"/>
<source>Add Sync Connection</source> <source>Add Sync Connection</source>
<translation>Ordner-Synchronisation hinzufügen</translation> <translation>Synchronisation hinzufügen</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -1144,7 +1144,7 @@ Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älter
<message> <message>
<location filename="../src/gui/folderwizard.cpp" line="223"/> <location filename="../src/gui/folderwizard.cpp" line="223"/>
<source>Authentication failed accessing %1</source> <source>Authentication failed accessing %1</source>
<translation>Beim Zugriff auf %1 ist die Authentifizierung fehlgeschlagen</translation> <translation>Die Authentifizierung ist beim Zugriff auf %1 fehlgeschlagen</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/folderwizard.cpp" line="225"/> <location filename="../src/gui/folderwizard.cpp" line="225"/>
@@ -1233,7 +1233,7 @@ Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älter
<message> <message>
<location filename="../src/gui/generalsettings.ui" line="171"/> <location filename="../src/gui/generalsettings.ui" line="171"/>
<source>Ask for confirmation before synchronizing folders larger than</source> <source>Ask for confirmation before synchronizing folders larger than</source>
<translation>Bestätigung erfragen, bevor Ordner synchronisiert werden. Grenze:</translation> <translation>Bestätigung erfragen, bevor Ordner synchronisiert werden die größer sind als:</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/generalsettings.ui" line="191"/> <location filename="../src/gui/generalsettings.ui" line="191"/>
@@ -2545,28 +2545,28 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Aktivität</translation> <translation>Aktivität</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Allgemein</translation> <translation>Allgemein</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Netzwerk</translation> <translation>Netzwerk</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Benutzerkonto</translation> <translation>Benutzerkonto</translation>
</message> </message>
@@ -2693,12 +2693,12 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>Passwort geschützt</translation> <translation>Passwort geschützt</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>passwortgeschützt</translation> <translation>passwortgeschützt</translation>
</message> </message>
@@ -2719,7 +2719,7 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Löschen</translation> <translation>Löschen</translation>
</message> </message>
@@ -2749,38 +2749,38 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<translation>Link per Email senden (direkter download)</translation> <translation>Link per Email senden (direkter download)</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation>Löschung des öffentlichen Links bestätigen</translation> <translation>Löschung des öffentlichen Links bestätigen</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation>&lt;p&gt;Möchte Sie wirklich den öffentlichen Link &lt;i&gt;%1 &lt;/i&gt;löschen?&lt;p&gt;Hinweis: Dies kann nicht rückgängig gemacht werden.&lt;/p&gt;</translation> <translation>&lt;p&gt;Möchte Sie wirklich den öffentlichen Link &lt;i&gt;%1 &lt;/i&gt;löschen?&lt;p&gt;Hinweis: Dies kann nicht rückgängig gemacht werden.&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Abbrechen</translation> <translation>Abbrechen</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation>Öffentlicher Link</translation> <translation>Öffentlicher Link</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation>Öffentlichen Link löschen</translation> <translation>Öffentlichen Link löschen</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>Öffentliches Teilen erfordert ein P&amp;asswort</translation> <translation>Öffentliches Teilen erfordert ein P&amp;asswort</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Bitte wählen Sie ein Passwort:</translation> <translation>Bitte wählen Sie ein Passwort:</translation>
</message> </message>
@@ -2800,7 +2800,7 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.ui" line="108"/> <location filename="../src/gui/shareusergroupwidget.ui" line="108"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;You can direct people to this shared file or folder &lt;a href=&quot;private link menu&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;by giving them a private link&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;You can direct people to this shared file or folder &lt;a href=&quot;private link menu&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;by giving them a private link&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Sie können Leute direkt zu dieser Freigabe leiten&lt;a href=&quot;private link menu&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;, wenn Sie Ihnen einen privaten Link&lt;/span&gt;&lt;/a&gt;gibst.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Sie können Personen direkt zu dieser Freigabe leiten,&lt;a href=&quot;private link menu&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt; wenn Sie Ihnen diesen privaten Link &lt;/span&gt;&lt;/a&gt; geben.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="186"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="186"/>
@@ -3247,7 +3247,7 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="1290"/> <location filename="../src/libsync/syncengine.cpp" line="1290"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source> <source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Nicht erlaubt, da Sie keine Rechte zur Erstellung von Unterordnern haben</translation> <translation>Nicht erlaubt, da Sie keine Rechte zur Erstellung von übergeordneten Ordnern haben</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="1297"/> <location filename="../src/libsync/syncengine.cpp" line="1297"/>
@@ -3327,12 +3327,12 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="450"/> <location filename="../src/libsync/syncengine.cpp" line="450"/>
<source>File names ending with a period are not supported on this file system.</source> <source>File names ending with a period are not supported on this file system.</source>
<translation>Dateinamen enden mit einem Punkt, die in diesem Dateisystem nicht unterstützt wird.</translation> <translation>Dateinamen die mit einem Punkt enden sind in diesem Dateisystem nicht unterstützt.</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="460"/> <location filename="../src/libsync/syncengine.cpp" line="460"/>
<source>File names containing the character &apos;%1&apos; are not supported on this file system.</source> <source>File names containing the character &apos;%1&apos; are not supported on this file system.</source>
<translation>Dateinamen beinhalten das Zeichen &apos;%1&apos; und diese werden in diesem Dateisystems nicht unterstützt.</translation> <translation>Dateinamen beinhalten das Zeichen &apos;%1&apos; diese werden in diesem Dateisystem nicht unterstützt.</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="463"/> <location filename="../src/libsync/syncengine.cpp" line="463"/>
@@ -3342,7 +3342,7 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="468"/> <location filename="../src/libsync/syncengine.cpp" line="468"/>
<source>Filename contains trailing spaces.</source> <source>Filename contains trailing spaces.</source>
<translation>Dateiname endet mit Leerzeichen.</translation> <translation>Der Dateiname endet mit Leerzeichen.</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="471"/> <location filename="../src/libsync/syncengine.cpp" line="471"/>
@@ -3372,7 +3372,7 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="707"/> <location filename="../src/libsync/syncengine.cpp" line="707"/>
<source>Invalid characters, please rename &quot;%1&quot;</source> <source>Invalid characters, please rename &quot;%1&quot;</source>
<translation>Ungültige Zeichenm bitte benennen Sie &quot;%1&quot; um</translation> <translation>Ungültige Zeichen, bitte benennen Sie &quot;%1&quot; um</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="827"/> <location filename="../src/libsync/syncengine.cpp" line="827"/>
@@ -3603,12 +3603,12 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<message> <message>
<location filename="../src/gui/owncloudgui.cpp" line="240"/> <location filename="../src/gui/owncloudgui.cpp" line="240"/>
<source>Disconnected from some accounts</source> <source>Disconnected from some accounts</source>
<translation>Verbindungen zu einigen Konnten getrennt</translation> <translation>Die Verbindungen zu einigen Konnten wurde getrennt</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudgui.cpp" line="251"/> <location filename="../src/gui/owncloudgui.cpp" line="251"/>
<source>Disconnected from accounts:</source> <source>Disconnected from accounts:</source>
<translation>Verbindungen zu Konnten getrennt:</translation> <translation>Verbindungen zu Konnten wurde getrennt:</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudgui.cpp" line="253"/> <location filename="../src/gui/owncloudgui.cpp" line="253"/>
@@ -3844,7 +3844,7 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="36"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="36"/>
<source>Please switch to your browser to proceed.</source> <source>Please switch to your browser to proceed.</source>
<translation>Bitte wechseln Sie zum Fortfahren in deinen Browser.</translation> <translation>Bitte wechseln Sie zum Fortfahren in den Browser.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="46"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="46"/>

View File

@@ -2546,28 +2546,28 @@ It is not advisable to use it.</source>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Δραστηριότητα</translation> <translation>Δραστηριότητα</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Γενικά</translation> <translation>Γενικά</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Δίκτυο</translation> <translation>Δίκτυο</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Λογαριασμός</translation> <translation>Λογαριασμός</translation>
</message> </message>
@@ -2694,12 +2694,12 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>Π&amp;ροστασία με κωδικό</translation> <translation>Π&amp;ροστασία με κωδικό</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Προστατευμένο με κωδικό πρόσβασης</translation> <translation>Προστατευμένο με κωδικό πρόσβασης</translation>
</message> </message>
@@ -2720,7 +2720,7 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Διαγραφή</translation> <translation>Διαγραφή</translation>
</message> </message>
@@ -2750,38 +2750,38 @@ It is not advisable to use it.</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Ακύρωση</translation> <translation>Ακύρωση</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation>Δημόσιος σύνδεσμος</translation> <translation>Δημόσιος σύνδεσμος</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>Ο δημόσιος &amp;διαμοιρασμός απαιτεί κωδικό πρόσβασης</translation> <translation>Ο δημόσιος &amp;διαμοιρασμός απαιτεί κωδικό πρόσβασης</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Παρακαλούμε ορίστε Κωδικό</translation> <translation>Παρακαλούμε ορίστε Κωδικό</translation>
</message> </message>

View File

@@ -2565,28 +2565,28 @@ It is not advisable to use it.</source>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -2713,12 +2713,12 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -2739,7 +2739,7 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -2769,38 +2769,38 @@ It is not advisable to use it.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@@ -1430,7 +1430,7 @@ Los elementos cuya eliminación está permitida serán eliminados si impiden que
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="133"/> <location filename="../src/gui/issueswidget.ui" line="133"/>
<source>There were too many issues. Not all will be visible here.</source> <source>There were too many issues. Not all will be visible here.</source>
<translation type="unfinished"/> <translation>Hay demasiados problemas, No todos se visualizan aquí.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="155"/> <location filename="../src/gui/issueswidget.ui" line="155"/>
@@ -2545,28 +2545,28 @@ No se recomienda usarla.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Actividad</translation> <translation>Actividad</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>General</translation> <translation>General</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Red</translation> <translation>Red</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Cuenta</translation> <translation>Cuenta</translation>
</message> </message>
@@ -2693,12 +2693,12 @@ No se recomienda usarla.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>Protegido por contr&amp;aseña </translation> <translation>Protegido por contr&amp;aseña </translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Protegido con contraseña</translation> <translation>Protegido con contraseña</translation>
</message> </message>
@@ -2719,7 +2719,7 @@ No se recomienda usarla.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Eliminar</translation> <translation>Eliminar</translation>
</message> </message>
@@ -2749,38 +2749,38 @@ No se recomienda usarla.</translation>
<translation>Enviar enlace por e-mail (descarga directa)</translation> <translation>Enviar enlace por e-mail (descarga directa)</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation>Confirmar eliminación de enlace de recurso compartido</translation> <translation>Confirmar eliminación de enlace de recurso compartido</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation>&lt;p&gt;¿Realmente desea borrar el enlace público compartido &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Nota: Esta acción no se puede deshacer&lt;/p&gt;</translation> <translation>&lt;p&gt;¿Realmente desea borrar el enlace público compartido &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Nota: Esta acción no se puede deshacer&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Cancelar</translation> <translation>Cancelar</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation>Enlace Publico</translation> <translation>Enlace Publico</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation>Borrar el enlace compartido</translation> <translation>Borrar el enlace compartido</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>Compartir public&amp;amente requiere contraseña</translation> <translation>Compartir public&amp;amente requiere contraseña</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Por favor establece una contraseña</translation> <translation>Por favor establece una contraseña</translation>
</message> </message>

View File

@@ -60,12 +60,12 @@
<message> <message>
<location filename="../src/gui/notificationwidget.ui" line="56"/> <location filename="../src/gui/notificationwidget.ui" line="56"/>
<source>Lorem ipsum dolor sit amet</source> <source>Lorem ipsum dolor sit amet</source>
<translation type="unfinished"/> <translation>Lorem ipsum dolor sit amet</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/notificationwidget.ui" line="69"/> <location filename="../src/gui/notificationwidget.ui" line="69"/>
<source>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod temporm </source> <source>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod temporm </source>
<translation type="unfinished"/> <translation>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod temporm</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/notificationwidget.ui" line="89"/> <location filename="../src/gui/notificationwidget.ui" line="89"/>
@@ -83,7 +83,7 @@
<message> <message>
<location filename="../src/libsync/abstractnetworkjob.cpp" line="247"/> <location filename="../src/libsync/abstractnetworkjob.cpp" line="247"/>
<source>Unknown error: network reply was deleted</source> <source>Unknown error: network reply was deleted</source>
<translation type="unfinished"/> <translation>Error desconocido: la respuesta de la red fue eliminada</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/abstractnetworkjob.cpp" line="390"/> <location filename="../src/libsync/abstractnetworkjob.cpp" line="390"/>
@@ -2533,28 +2533,28 @@ It is not advisable to use it.</source>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Actividad</translation> <translation>Actividad</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>General</translation> <translation>General</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Red</translation> <translation>Red</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Cuenta</translation> <translation>Cuenta</translation>
</message> </message>
@@ -2681,12 +2681,12 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
@@ -2707,7 +2707,7 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Borrar</translation> <translation>Borrar</translation>
</message> </message>
@@ -2737,38 +2737,38 @@ It is not advisable to use it.</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Cancelar</translation> <translation>Cancelar</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>

View File

@@ -2534,28 +2534,28 @@ Selle kasutamine pole soovitatav.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Toimingud</translation> <translation>Toimingud</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Üldine</translation> <translation>Üldine</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Võrk</translation> <translation>Võrk</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Konto</translation> <translation>Konto</translation>
</message> </message>
@@ -2682,12 +2682,12 @@ Selle kasutamine pole soovitatav.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>P&amp;arooliga kaitstud</translation> <translation>P&amp;arooliga kaitstud</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Parooliga kaitstud</translation> <translation>Parooliga kaitstud</translation>
</message> </message>
@@ -2708,7 +2708,7 @@ Selle kasutamine pole soovitatav.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Kustuta</translation> <translation>Kustuta</translation>
</message> </message>
@@ -2738,38 +2738,38 @@ Selle kasutamine pole soovitatav.</translation>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Loobu</translation> <translation>Loobu</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation>Avalik link</translation> <translation>Avalik link</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>Avalik j&amp;agamine nõuab parooli</translation> <translation>Avalik j&amp;agamine nõuab parooli</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Palun määra parool</translation> <translation>Palun määra parool</translation>
</message> </message>

View File

@@ -2536,28 +2536,28 @@ Ez da gomendagarria erabltzea.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Jarduera</translation> <translation>Jarduera</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Orokorra</translation> <translation>Orokorra</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Sarea</translation> <translation>Sarea</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Kontua</translation> <translation>Kontua</translation>
</message> </message>
@@ -2684,12 +2684,12 @@ Ez da gomendagarria erabltzea.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
@@ -2710,7 +2710,7 @@ Ez da gomendagarria erabltzea.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Ezabatu</translation> <translation>Ezabatu</translation>
</message> </message>
@@ -2740,38 +2740,38 @@ Ez da gomendagarria erabltzea.</translation>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Ezeztatu</translation> <translation>Ezeztatu</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Mesedez Ezarri Pasahitza</translation> <translation>Mesedez Ezarri Pasahitza</translation>
</message> </message>

View File

@@ -2544,28 +2544,28 @@ It is not advisable to use it.</source>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>فعالیت</translation> <translation>فعالیت</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>عمومی</translation> <translation>عمومی</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>شبکه</translation> <translation>شبکه</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>حساب کاربری</translation> <translation>حساب کاربری</translation>
</message> </message>
@@ -2692,12 +2692,12 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>رمز عبور محافظت می شود</translation> <translation>رمز عبور محافظت می شود</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>محافظت شده توسط رمزعبور</translation> <translation>محافظت شده توسط رمزعبور</translation>
</message> </message>
@@ -2718,7 +2718,7 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>حذف</translation> <translation>حذف</translation>
</message> </message>
@@ -2748,38 +2748,38 @@ It is not advisable to use it.</source>
<translation>لینک را با پست الکترونیکی ارسال کنید (دانلود مستقیم)</translation> <translation>لینک را با پست الکترونیکی ارسال کنید (دانلود مستقیم)</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation>حذف اشتراک گذاری لینک را تایید کنید</translation> <translation>حذف اشتراک گذاری لینک را تایید کنید</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation>&lt;p&gt;آیا شما واقعا می خواهید اشتراک لینک عمومی را حذف کنید&lt;i&gt;1%&lt;/i&gt;؟&lt;/p&gt;&lt;p&gt; توجه: این عمل نمی تواند انجام نشود.&lt;/p&gt;</translation> <translation>&lt;p&gt;آیا شما واقعا می خواهید اشتراک لینک عمومی را حذف کنید&lt;i&gt;1%&lt;/i&gt;؟&lt;/p&gt;&lt;p&gt; توجه: این عمل نمی تواند انجام نشود.&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>لغو</translation> <translation>لغو</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation>پیوند عمومی</translation> <translation>پیوند عمومی</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation>حذف پیوند اشتراک</translation> <translation>حذف پیوند اشتراک</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>اشتراک عمومی نیازمند رمز عبور است</translation> <translation>اشتراک عمومی نیازمند رمز عبور است</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>لطفا رمزعبور را تعیین کنید</translation> <translation>لطفا رمزعبور را تعیین کنید</translation>
</message> </message>

View File

@@ -83,7 +83,7 @@
<message> <message>
<location filename="../src/libsync/abstractnetworkjob.cpp" line="247"/> <location filename="../src/libsync/abstractnetworkjob.cpp" line="247"/>
<source>Unknown error: network reply was deleted</source> <source>Unknown error: network reply was deleted</source>
<translation type="unfinished"/> <translation>Tuntematon virhe: verkkovastaus poistettiin</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/abstractnetworkjob.cpp" line="390"/> <location filename="../src/libsync/abstractnetworkjob.cpp" line="390"/>
@@ -243,7 +243,7 @@
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="656"/> <location filename="../src/gui/accountsettings.cpp" line="656"/>
<source>Server %1 is currently in maintenance mode.</source> <source>Server %1 is currently in maintenance mode.</source>
<translation type="unfinished"/> <translation>Palvelin %1 on juuri nyt huoltotilassa.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="658"/> <location filename="../src/gui/accountsettings.cpp" line="658"/>
@@ -373,7 +373,7 @@
<message> <message>
<location filename="../src/gui/accountstate.cpp" line="132"/> <location filename="../src/gui/accountstate.cpp" line="132"/>
<source>Maintenance mode</source> <source>Maintenance mode</source>
<translation type="unfinished"/> <translation>Huoltotila</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountstate.cpp" line="134"/> <location filename="../src/gui/accountstate.cpp" line="134"/>
@@ -567,7 +567,7 @@
<message> <message>
<location filename="../src/gui/application.cpp" line="168"/> <location filename="../src/gui/application.cpp" line="168"/>
<source>Quit ownCloud</source> <source>Quit ownCloud</source>
<translation type="unfinished"/> <translation>Lopeta ownCloud</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -747,13 +747,15 @@
<location filename="../src/gui/folder.cpp" line="888"/> <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2. <source>A new folder larger than %1 MB has been added: %2.
</source> </source>
<translation type="unfinished"/> <translation>Uusi kansio, joka on suurempi kuin %1 Mt, on lisätty: %2.
</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/folder.cpp" line="891"/> <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added. <source>A folder from an external storage has been added.
</source> </source>
<translation type="unfinished"/> <translation>Kansio erillisestä tallennustilasta on lisätty.
</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/folder.cpp" line="892"/> <location filename="../src/gui/folder.cpp" line="892"/>
@@ -981,7 +983,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<message> <message>
<location filename="../src/gui/folderstatusmodel.cpp" line="209"/> <location filename="../src/gui/folderstatusmodel.cpp" line="209"/>
<source>There are unresolved conflicts. Click for details.</source> <source>There are unresolved conflicts. Click for details.</source>
<translation type="unfinished"/> <translation>Selvittämättömiä ristiriitoja. Napsauta saadaksesi lisätietoja.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/folderstatusmodel.cpp" line="878"/> <location filename="../src/gui/folderstatusmodel.cpp" line="878"/>
@@ -1389,7 +1391,7 @@ Kohteet, joiden poisto on sallittu, poistetaan, jos ne estävät kansion poistam
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="20"/> <location filename="../src/gui/issueswidget.ui" line="20"/>
<source>List of issues</source> <source>List of issues</source>
<translation type="unfinished"/> <translation>Lista ongelmista</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="34"/> <location filename="../src/gui/issueswidget.ui" line="34"/>
@@ -1400,7 +1402,7 @@ Kohteet, joiden poisto on sallittu, poistetaan, jos ne estävät kansion poistam
<location filename="../src/gui/issueswidget.ui" line="42"/> <location filename="../src/gui/issueswidget.ui" line="42"/>
<location filename="../src/gui/issueswidget.ui" line="61"/> <location filename="../src/gui/issueswidget.ui" line="61"/>
<source>&lt;no filter&gt;</source> <source>&lt;no filter&gt;</source>
<translation type="unfinished"/> <translation>&lt;no filter&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="50"/> <location filename="../src/gui/issueswidget.ui" line="50"/>
@@ -1411,22 +1413,22 @@ Kohteet, joiden poisto on sallittu, poistetaan, jos ne estävät kansion poistam
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="73"/> <location filename="../src/gui/issueswidget.ui" line="73"/>
<source>Show warnings</source> <source>Show warnings</source>
<translation type="unfinished"/> <translation>Näytä varoitukset</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="83"/> <location filename="../src/gui/issueswidget.ui" line="83"/>
<source>Show ignored files</source> <source>Show ignored files</source>
<translation type="unfinished"/> <translation>Näytä ohitetut tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="133"/> <location filename="../src/gui/issueswidget.ui" line="133"/>
<source>There were too many issues. Not all will be visible here.</source> <source>There were too many issues. Not all will be visible here.</source>
<translation type="unfinished"/> <translation>Liian monta virhettä. Kaikki eivät ole näkyvissä tässä.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="155"/> <location filename="../src/gui/issueswidget.ui" line="155"/>
<source>Copy the issues list to the clipboard.</source> <source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/> <translation>Kopioi ongelmalista leikepöydälle.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="158"/> <location filename="../src/gui/issueswidget.ui" line="158"/>
@@ -1446,7 +1448,7 @@ Kohteet, joiden poisto on sallittu, poistetaan, jos ne estävät kansion poistam
<message> <message>
<location filename="../src/gui/issueswidget.cpp" line="84"/> <location filename="../src/gui/issueswidget.cpp" line="84"/>
<source>Issue</source> <source>Issue</source>
<translation type="unfinished"/> <translation>Ongelma</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -1469,7 +1471,7 @@ Kohteet, joiden poisto on sallittu, poistetaan, jos ne estävät kansion poistam
<message> <message>
<location filename="../src/gui/logbrowser.cpp" line="89"/> <location filename="../src/gui/logbrowser.cpp" line="89"/>
<source>&amp;Capture debug messages</source> <source>&amp;Capture debug messages</source>
<translation type="unfinished"/> <translation>&amp;Kaappaa vianjäljitysviestit</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/logbrowser.cpp" line="101"/> <location filename="../src/gui/logbrowser.cpp" line="101"/>
@@ -1686,7 +1688,7 @@ Kohteet, joiden poisto on sallittu, poistetaan, jos ne estävät kansion poistam
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="112"/> <location filename="../src/gui/creds/oauth.cpp" line="112"/>
<source>Error returned from the server: &lt;em&gt;%1&lt;/em&gt;</source> <source>Error returned from the server: &lt;em&gt;%1&lt;/em&gt;</source>
<translation type="unfinished"/> <translation>Palvelimelta palautettu virhe: &lt;em&gt;%1&lt;/em&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="115"/> <location filename="../src/gui/creds/oauth.cpp" line="115"/>
@@ -1706,7 +1708,7 @@ Kohteet, joiden poisto on sallittu, poistetaan, jos ne estävät kansion poistam
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="125"/> <location filename="../src/gui/creds/oauth.cpp" line="125"/>
<source>&lt;h1&gt;Login Error&lt;/h1&gt;&lt;p&gt;%1&lt;/p&gt;</source> <source>&lt;h1&gt;Login Error&lt;/h1&gt;&lt;p&gt;%1&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>&lt;h1&gt;Kirjautumisvirhe&lt;/h1&gt;&lt;p&gt;%1&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="131"/> <location filename="../src/gui/creds/oauth.cpp" line="131"/>
@@ -1878,7 +1880,7 @@ for additional privileges during the process.</source>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.cpp" line="44"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.cpp" line="44"/>
<source>Login in your browser</source> <source>Login in your browser</source>
<translation type="unfinished"/> <translation>Kirjaudu selaimeesi</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -1956,7 +1958,7 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<message> <message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="297"/> <location filename="../src/gui/owncloudsetupwizard.cpp" line="297"/>
<source>The server reported the following error:</source> <source>The server reported the following error:</source>
<translation type="unfinished"/> <translation>Palvelin ilmoitti seuraavan virheen:</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/> <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
@@ -2536,28 +2538,28 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Toimet</translation> <translation>Toimet</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Yleiset</translation> <translation>Yleiset</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Verkko</translation> <translation>Verkko</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Tili</translation> <translation>Tili</translation>
</message> </message>
@@ -2645,12 +2647,12 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="35"/> <location filename="../src/gui/sharelinkwidget.ui" line="35"/>
<source>Enter a name to create a new public link...</source> <source>Enter a name to create a new public link...</source>
<translation type="unfinished"/> <translation>Anna nimi luodaksesi uuden julkisen linkin...</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="42"/> <location filename="../src/gui/sharelinkwidget.ui" line="42"/>
<source>&amp;Create new</source> <source>&amp;Create new</source>
<translation type="unfinished"/> <translation>&amp;Luo uusi</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="105"/> <location filename="../src/gui/sharelinkwidget.ui" line="105"/>
@@ -2665,7 +2667,7 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="178"/> <location filename="../src/gui/sharelinkwidget.ui" line="178"/>
<source>Link properties:</source> <source>Link properties:</source>
<translation type="unfinished"/> <translation>Linkin ominaisuudet:</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="220"/> <location filename="../src/gui/sharelinkwidget.ui" line="220"/>
@@ -2680,16 +2682,16 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="20"/> <location filename="../src/gui/sharelinkwidget.ui" line="20"/>
<source>Anyone with the link has access to the file/folder</source> <source>Anyone with the link has access to the file/folder</source>
<translation type="unfinished"/> <translation>Kenellä tahansa linkin omaavalla on pääsy tiedostoon/kansioon</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>&amp;Suojaa salasanalla</translation> <translation>&amp;Suojaa salasanalla</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Salasanasuojattu</translation> <translation>Salasanasuojattu</translation>
</message> </message>
@@ -2701,28 +2703,28 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="93"/> <location filename="../src/gui/sharelinkwidget.cpp" line="93"/>
<source>Link shares have been disabled</source> <source>Link shares have been disabled</source>
<translation type="unfinished"/> <translation>Linkkijaot on poistettu käytöstä</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="107"/> <location filename="../src/gui/sharelinkwidget.cpp" line="107"/>
<source>Create public link share</source> <source>Create public link share</source>
<translation type="unfinished"/> <translation>Luo julkinen linkkijako</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Poista</translation> <translation>Poista</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="163"/> <location filename="../src/gui/sharelinkwidget.cpp" line="163"/>
<source>Open link in browser</source> <source>Open link in browser</source>
<translation type="unfinished"/> <translation>Avaa linkki selaimessa</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="164"/> <location filename="../src/gui/sharelinkwidget.cpp" line="164"/>
<source>Copy link to clipboard</source> <source>Copy link to clipboard</source>
<translation type="unfinished"/> <translation>Kopioi linkki leikepöydälle</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="165"/> <location filename="../src/gui/sharelinkwidget.cpp" line="165"/>
@@ -2740,38 +2742,38 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Peruuta</translation> <translation>Peruuta</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation type="unfinished"/> <translation>Julkinen linkki</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation>Poista linkkijako</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>&amp;Julkinen jakaminen vaatii salasanan</translation> <translation>&amp;Julkinen jakaminen vaatii salasanan</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Aseta salasana</translation> <translation>Aseta salasana</translation>
</message> </message>
@@ -2801,12 +2803,12 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="235"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="235"/>
<source>Open link in browser</source> <source>Open link in browser</source>
<translation type="unfinished"/> <translation>Avaa linkki selaimessa</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="237"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="237"/>
<source>Copy link to clipboard</source> <source>Copy link to clipboard</source>
<translation type="unfinished"/> <translation>Kopioi linkki leikepöydälle</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="239"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="239"/>
@@ -2821,7 +2823,7 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="337"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="337"/>
<source>I shared something with you</source> <source>I shared something with you</source>
<translation type="unfinished"/> <translation>Jaoin jotain kanssasi</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -2914,22 +2916,22 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<message> <message>
<location filename="../src/gui/socketapi.cpp" line="557"/> <location filename="../src/gui/socketapi.cpp" line="557"/>
<source>I shared something with you</source> <source>I shared something with you</source>
<translation type="unfinished"/> <translation>Jaoin jotain kanssasi</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/socketapi.cpp" line="565"/> <location filename="../src/gui/socketapi.cpp" line="565"/>
<source>Share...</source> <source>Share...</source>
<translation type="unfinished"/> <translation>Jaa...</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/socketapi.cpp" line="567"/> <location filename="../src/gui/socketapi.cpp" line="567"/>
<source>Copy private link to clipboard</source> <source>Copy private link to clipboard</source>
<translation type="unfinished"/> <translation>Kopioi yksityinen linkki leikepöydälle</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/socketapi.cpp" line="568"/> <location filename="../src/gui/socketapi.cpp" line="568"/>
<source>Send private link by email...</source> <source>Send private link by email...</source>
<translation type="unfinished"/> <translation>Lähetä yksityinen linkki sähköpostitse...</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -3253,7 +3255,7 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="1607"/> <location filename="../src/libsync/syncengine.cpp" line="1607"/>
<source>There is insufficient space available on the server for some uploads.</source> <source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/> <translation>Palvelimella ei ole riittävästi tallennustilaa joidenkin lähetysten osalta.</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="167"/> <location filename="../src/libsync/syncengine.cpp" line="167"/>
@@ -3348,7 +3350,7 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="489"/> <location filename="../src/libsync/syncengine.cpp" line="489"/>
<source>Unresolved conflict.</source> <source>Unresolved conflict.</source>
<translation type="unfinished"/> <translation>Selvittämätön ristiriita.</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="500"/> <location filename="../src/libsync/syncengine.cpp" line="500"/>
@@ -3620,17 +3622,17 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<location filename="../src/gui/owncloudgui.cpp" line="273"/> <location filename="../src/gui/owncloudgui.cpp" line="273"/>
<location filename="../src/gui/owncloudgui.cpp" line="304"/> <location filename="../src/gui/owncloudgui.cpp" line="304"/>
<source>Synchronization is paused</source> <source>Synchronization is paused</source>
<translation type="unfinished"/> <translation>Synkronointi on keskeytetty</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudgui.cpp" line="306"/> <location filename="../src/gui/owncloudgui.cpp" line="306"/>
<source>Error during synchronization</source> <source>Error during synchronization</source>
<translation type="unfinished"/> <translation>Virhe synkronoinnin aikana</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudgui.cpp" line="314"/> <location filename="../src/gui/owncloudgui.cpp" line="314"/>
<source>No sync folders configured</source> <source>No sync folders configured</source>
<translation type="unfinished"/> <translation>Synkronointikansioita ei ole määritetty</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudgui.cpp" line="360"/> <location filename="../src/gui/owncloudgui.cpp" line="360"/>
@@ -3835,17 +3837,17 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="36"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="36"/>
<source>Please switch to your browser to proceed.</source> <source>Please switch to your browser to proceed.</source>
<translation type="unfinished"/> <translation>Siirry selaimeen jatkaaksesi.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="46"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="46"/>
<source>An error occured while connecting. Please try again.</source> <source>An error occured while connecting. Please try again.</source>
<translation type="unfinished"/> <translation>Yhdistäessä tapahtui virhe. Yritä uudelleen.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="56"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="56"/>
<source>Re-open Browser</source> <source>Re-open Browser</source>
<translation type="unfinished"/> <translation>Avaa selain uudelleen</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -3864,7 +3866,7 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<message> <message>
<location filename="../src/gui/wizard/owncloudsetupnocredspage.ui" line="86"/> <location filename="../src/gui/wizard/owncloudsetupnocredspage.ui" line="86"/>
<source>Ser&amp;ver Address</source> <source>Ser&amp;ver Address</source>
<translation type="unfinished"/> <translation>&amp;Palvelinosoite</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/wizard/owncloudsetupnocredspage.ui" line="102"/> <location filename="../src/gui/wizard/owncloudsetupnocredspage.ui" line="102"/>
@@ -4172,7 +4174,7 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<message> <message>
<location filename="../src/gui/guiutility.cpp" line="33"/> <location filename="../src/gui/guiutility.cpp" line="33"/>
<source>Could not open browser</source> <source>Could not open browser</source>
<translation type="unfinished"/> <translation>Selainta ei voitu avata</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/guiutility.cpp" line="34"/> <location filename="../src/gui/guiutility.cpp" line="34"/>

View File

@@ -14,7 +14,7 @@
<message> <message>
<location filename="../src/gui/folderwizardsourcepage.ui" line="44"/> <location filename="../src/gui/folderwizardsourcepage.ui" line="44"/>
<source>&amp;Choose...</source> <source>&amp;Choose...</source>
<translation>&amp;Choisir</translation> <translation>&amp;Choisir...</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -769,7 +769,7 @@
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so. If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
If you decide to delete the files, they will be unavailable to you, unless you are the owner.</source> If you decide to delete the files, they will be unavailable to you, unless you are the owner.</source>
<translation>Tous les fichiers contenus dans le dossier synchronisé &apos;%1&apos; ont é supprimés du serveur. <translation>Tous les fichiers contenus dans le dossier synchronisé &apos;%1&apos; dossier ont é supprimés du serveur.
Ces suppressions seront synchronisées sur vos dossiers locaux synchronisés, rendant ces fichiers inaccessibles, à moins que vous n&apos;ayez le droit de les restaurer. Ces suppressions seront synchronisées sur vos dossiers locaux synchronisés, rendant ces fichiers inaccessibles, à moins que vous n&apos;ayez le droit de les restaurer.
Si vous décidez de conserver ces fichiers, ils seront synchronisés à nouveau avec le serveur si vous en avez le droit. Si vous décidez de conserver ces fichiers, ils seront synchronisés à nouveau avec le serveur si vous en avez le droit.
Si vous décidez de supprimer ces fichiers, ils vous seront inaccessibles, sauf si vous en êtes le propriétaire.</translation> Si vous décidez de supprimer ces fichiers, ils vous seront inaccessibles, sauf si vous en êtes le propriétaire.</translation>
@@ -2547,28 +2547,28 @@ Il est déconseillé de l&apos;utiliser.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Activité</translation> <translation>Activité</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Paramètres</translation> <translation>Paramètres</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Réseau</translation> <translation>Réseau</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Compte</translation> <translation>Compte</translation>
</message> </message>
@@ -2695,12 +2695,12 @@ Il est déconseillé de l&apos;utiliser.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>Protéger par mot de p&amp;asse</translation> <translation>Protéger par mot de p&amp;asse</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Protégé par mot de passe</translation> <translation>Protégé par mot de passe</translation>
</message> </message>
@@ -2721,7 +2721,7 @@ Il est déconseillé de l&apos;utiliser.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Supprimer</translation> <translation>Supprimer</translation>
</message> </message>
@@ -2751,39 +2751,39 @@ Il est déconseillé de l&apos;utiliser.</translation>
<translation>Envoyer le lien par courriel (téléchargement direct)</translation> <translation>Envoyer le lien par courriel (téléchargement direct)</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation>Confirmer la suppression du partage par lien</translation> <translation>Confirmer la suppression du partage par lien</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation>&lt;p&gt;Voulez-vous vraiment supprimer le partage par lien public&lt;i&gt;%1&lt;/i&gt;? <translation>&lt;p&gt;Voulez-vous vraiment supprimer le partage par lien public&lt;i&gt;%1&lt;/i&gt;?
&lt;p&gt;Note: Cette action ne peut être annulée.&lt;/p&gt;</translation> &lt;p&gt;Note: Cette action ne peut être annulée.&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Anuler</translation> <translation>Anuler</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation>Lien public</translation> <translation>Lien public</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation>Supprimer le partage par lien</translation> <translation>Supprimer le partage par lien</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>Le p&amp;artage public nécessite un mot de passe</translation> <translation>Le p&amp;artage public nécessite un mot de passe</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Veuillez choisir un mot de passe</translation> <translation>Veuillez choisir un mot de passe</translation>
</message> </message>

View File

@@ -2535,28 +2535,28 @@ Recomendámoslle que non o use.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Actividade</translation> <translation>Actividade</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Xeral</translation> <translation>Xeral</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Rede</translation> <translation>Rede</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Conta</translation> <translation>Conta</translation>
</message> </message>
@@ -2683,12 +2683,12 @@ Recomendámoslle que non o use.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>Contr&amp;asinal de protección</translation> <translation>Contr&amp;asinal de protección</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Protexido con contrasinal</translation> <translation>Protexido con contrasinal</translation>
</message> </message>
@@ -2709,7 +2709,7 @@ Recomendámoslle que non o use.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Eliminar</translation> <translation>Eliminar</translation>
</message> </message>
@@ -2739,38 +2739,38 @@ Recomendámoslle que non o use.</translation>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Cancelar</translation> <translation>Cancelar</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>A comp&amp;artición pública precisa de contrasinal </translation> <translation>A comp&amp;artición pública precisa de contrasinal </translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Estabeleza o contrasinal</translation> <translation>Estabeleza o contrasinal</translation>
</message> </message>

File diff suppressed because it is too large Load Diff

View File

@@ -83,12 +83,12 @@
<message> <message>
<location filename="../src/libsync/abstractnetworkjob.cpp" line="247"/> <location filename="../src/libsync/abstractnetworkjob.cpp" line="247"/>
<source>Unknown error: network reply was deleted</source> <source>Unknown error: network reply was deleted</source>
<translation type="unfinished"/> <translation>Errore sconosciuto: la risposta di rete è stata eliminata</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/abstractnetworkjob.cpp" line="390"/> <location filename="../src/libsync/abstractnetworkjob.cpp" line="390"/>
<source>Server replied &quot;%1 %2&quot; to &quot;%3 %4&quot;</source> <source>Server replied &quot;%1 %2&quot; to &quot;%3 %4&quot;</source>
<translation type="unfinished"/> <translation>Il server ha risposto &quot;%1 %2&quot; a &quot;%3 %4&quot;</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -253,12 +253,12 @@
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="667"/> <location filename="../src/gui/accountsettings.cpp" line="667"/>
<source>Obtaining authorization from the browser. &lt;a href=&apos;%1&apos;&gt;Click here&lt;/a&gt; to re-open the browser.</source> <source>Obtaining authorization from the browser. &lt;a href=&apos;%1&apos;&gt;Click here&lt;/a&gt; to re-open the browser.</source>
<translation type="unfinished"/> <translation>Ottenimento dell&apos;autorizzazione dal browser. &lt;a href=&apos;%1&apos;&gt;Clicca qui&lt;/a&gt; per riaprirle nel browser.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="671"/> <location filename="../src/gui/accountsettings.cpp" line="671"/>
<source>Connecting to %1...</source> <source>Connecting to %1...</source>
<translation type="unfinished"/> <translation>Connessione con %1...</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="674"/> <location filename="../src/gui/accountsettings.cpp" line="674"/>
@@ -388,7 +388,7 @@
<message> <message>
<location filename="../src/gui/accountstate.cpp" line="138"/> <location filename="../src/gui/accountstate.cpp" line="138"/>
<source>Asking Credentials</source> <source>Asking Credentials</source>
<translation type="unfinished"/> <translation>Richiesta credenziali</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountstate.cpp" line="140"/> <location filename="../src/gui/accountstate.cpp" line="140"/>
@@ -1426,7 +1426,7 @@ Gli elementi per i quali è consentita l&apos;eliminazione, saranno eliminati se
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="133"/> <location filename="../src/gui/issueswidget.ui" line="133"/>
<source>There were too many issues. Not all will be visible here.</source> <source>There were too many issues. Not all will be visible here.</source>
<translation type="unfinished"/> <translation>Ci sono stati troppi errori. Non saranno visibili tutti qui.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="155"/> <location filename="../src/gui/issueswidget.ui" line="155"/>
@@ -1696,22 +1696,22 @@ Gli elementi per i quali è consentita l&apos;eliminazione, saranno eliminati se
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="115"/> <location filename="../src/gui/creds/oauth.cpp" line="115"/>
<source>There was an error accessing the &apos;token&apos; endpoint: &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</source> <source>There was an error accessing the &apos;token&apos; endpoint: &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</source>
<translation type="unfinished"/> <translation>Si è verificato un errore accedendo al &apos;token&apos; endpoint: &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="118"/> <location filename="../src/gui/creds/oauth.cpp" line="118"/>
<source>Could not parse the JSON returned from the server: &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</source> <source>Could not parse the JSON returned from the server: &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</source>
<translation type="unfinished"/> <translation>Impossibile gestire la risposta JSON dal server: &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="121"/> <location filename="../src/gui/creds/oauth.cpp" line="121"/>
<source>The reply from the server did not contain all expected fields</source> <source>The reply from the server did not contain all expected fields</source>
<translation type="unfinished"/> <translation>La risposta del server non contiene tutti i campi attesi</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="125"/> <location filename="../src/gui/creds/oauth.cpp" line="125"/>
<source>&lt;h1&gt;Login Error&lt;/h1&gt;&lt;p&gt;%1&lt;/p&gt;</source> <source>&lt;h1&gt;Login Error&lt;/h1&gt;&lt;p&gt;%1&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>&lt;h1&gt;Errore di login&lt;/h1&gt;&lt;p&gt;%1&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="131"/> <location filename="../src/gui/creds/oauth.cpp" line="131"/>
@@ -1961,7 +1961,7 @@ Non è consigliabile utilizzarlo.</translation>
<message> <message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="297"/> <location filename="../src/gui/owncloudsetupwizard.cpp" line="297"/>
<source>The server reported the following error:</source> <source>The server reported the following error:</source>
<translation type="unfinished"/> <translation>Il server riporta il seguente errore:</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/> <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
@@ -2123,7 +2123,7 @@ Non è consigliabile utilizzarlo.</translation>
<message> <message>
<location filename="../src/libsync/propagatedownload.cpp" line="459"/> <location filename="../src/libsync/propagatedownload.cpp" line="459"/>
<source>The download would reduce free local disk space below the limit</source> <source>The download would reduce free local disk space below the limit</source>
<translation type="unfinished"/> <translation>Il download ridurrebbe lo spazio su disco al di sotto del limite</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/propagatedownload.cpp" line="463"/> <location filename="../src/libsync/propagatedownload.cpp" line="463"/>
@@ -2310,7 +2310,7 @@ Non è consigliabile utilizzarlo.</translation>
<location filename="../src/libsync/propagateupload.cpp" line="186"/> <location filename="../src/libsync/propagateupload.cpp" line="186"/>
<location filename="../src/libsync/propagateupload.cpp" line="549"/> <location filename="../src/libsync/propagateupload.cpp" line="549"/>
<source>Upload of %1 exceeds the quota for the folder</source> <source>Upload of %1 exceeds the quota for the folder</source>
<translation type="unfinished"/> <translation>L&apos;upload eccede di %1 la quota della cartella</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/propagateupload.cpp" line="622"/> <location filename="../src/libsync/propagateupload.cpp" line="622"/>
@@ -2541,28 +2541,28 @@ Non è consigliabile utilizzarlo.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Attività</translation> <translation>Attività</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Generale</translation> <translation>Generale</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Rete</translation> <translation>Rete</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Account</translation> <translation>Account</translation>
</message> </message>
@@ -2655,7 +2655,7 @@ Non è consigliabile utilizzarlo.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="42"/> <location filename="../src/gui/sharelinkwidget.ui" line="42"/>
<source>&amp;Create new</source> <source>&amp;Create new</source>
<translation type="unfinished"/> <translation>&amp;Crea nuovo</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="105"/> <location filename="../src/gui/sharelinkwidget.ui" line="105"/>
@@ -2670,7 +2670,7 @@ Non è consigliabile utilizzarlo.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="178"/> <location filename="../src/gui/sharelinkwidget.ui" line="178"/>
<source>Link properties:</source> <source>Link properties:</source>
<translation type="unfinished"/> <translation>Proprietà di collegamento:</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="220"/> <location filename="../src/gui/sharelinkwidget.ui" line="220"/>
@@ -2689,12 +2689,12 @@ Non è consigliabile utilizzarlo.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>Proteggi con p&amp;assword</translation> <translation>Proteggi con p&amp;assword</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Protetta da password</translation> <translation>Protetta da password</translation>
</message> </message>
@@ -2715,7 +2715,7 @@ Non è consigliabile utilizzarlo.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Elimina</translation> <translation>Elimina</translation>
</message> </message>
@@ -2732,7 +2732,7 @@ Non è consigliabile utilizzarlo.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="165"/> <location filename="../src/gui/sharelinkwidget.cpp" line="165"/>
<source>Copy link to clipboard (direct download)</source> <source>Copy link to clipboard (direct download)</source>
<translation type="unfinished"/> <translation>Copia negli appunti (download diretto)</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="166"/> <location filename="../src/gui/sharelinkwidget.cpp" line="166"/>
@@ -2742,41 +2742,41 @@ Non è consigliabile utilizzarlo.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="167"/> <location filename="../src/gui/sharelinkwidget.cpp" line="167"/>
<source>Send link by email (direct download)</source> <source>Send link by email (direct download)</source>
<translation type="unfinished"/> <translation>Invia link tramite email (download diretto)</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Annulla</translation> <translation>Annulla</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation>Collegamento pubblico</translation> <translation>Collegamento pubblico</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation>Cancella link condiviso</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>La condivisione pubblic&amp;a richiede una password</translation> <translation>La condivisione pubblic&amp;a richiede una password</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>imposta la password</translation> <translation>imposta la password</translation>
</message> </message>
@@ -3222,7 +3222,7 @@ Non è consigliabile utilizzarlo.</translation>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="477"/> <location filename="../src/libsync/syncengine.cpp" line="477"/>
<source>Folder hierarchy is too deep</source> <source>Folder hierarchy is too deep</source>
<translation type="unfinished"/> <translation>La gerarchia della cartella è troppo profonda</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="493"/> <location filename="../src/libsync/syncengine.cpp" line="493"/>
@@ -3238,7 +3238,7 @@ Non è consigliabile utilizzarlo.</translation>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="812"/> <location filename="../src/libsync/syncengine.cpp" line="812"/>
<source>Unable to open or create the local sync database. Make sure you have write access in the sync folder.</source> <source>Unable to open or create the local sync database. Make sure you have write access in the sync folder.</source>
<translation type="unfinished"/> <translation>Non posso aprire o creare il database locale di sincronizzazione. Assicurarsi di avere il i permessi di scrittura nella cartella di sincronizzazione</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="1290"/> <location filename="../src/libsync/syncengine.cpp" line="1290"/>
@@ -3253,12 +3253,12 @@ Non è consigliabile utilizzarlo.</translation>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="1600"/> <location filename="../src/libsync/syncengine.cpp" line="1600"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source> <source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/> <translation>Lo spazio su disco è scarso: I downloads che ridurranno lo spazio libero al di sotto di %1 verranno saltati.</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="1607"/> <location filename="../src/libsync/syncengine.cpp" line="1607"/>
<source>There is insufficient space available on the server for some uploads.</source> <source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/> <translation>Non c&apos;è spazio disponibile sul server per effettuare caricamenti.</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="167"/> <location filename="../src/libsync/syncengine.cpp" line="167"/>
@@ -3348,12 +3348,12 @@ Non è consigliabile utilizzarlo.</translation>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="480"/> <location filename="../src/libsync/syncengine.cpp" line="480"/>
<source>The filename cannot be encoded on your file system.</source> <source>The filename cannot be encoded on your file system.</source>
<translation type="unfinished"/> <translation>Il nome del file non può essere codificato sul tuo file system.</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="489"/> <location filename="../src/libsync/syncengine.cpp" line="489"/>
<source>Unresolved conflict.</source> <source>Unresolved conflict.</source>
<translation type="unfinished"/> <translation>Conflitto irrisolto.</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="500"/> <location filename="../src/libsync/syncengine.cpp" line="500"/>
@@ -3840,7 +3840,7 @@ Non è consigliabile utilizzarlo.</translation>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="36"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="36"/>
<source>Please switch to your browser to proceed.</source> <source>Please switch to your browser to proceed.</source>
<translation type="unfinished"/> <translation>Prego ritorna al tuo browser per procedere.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="46"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="46"/>
@@ -3850,7 +3850,7 @@ Non è consigliabile utilizzarlo.</translation>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="56"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="56"/>
<source>Re-open Browser</source> <source>Re-open Browser</source>
<translation type="unfinished"/> <translation>Ri-apri browser</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -4182,7 +4182,7 @@ Non è consigliabile utilizzarlo.</translation>
<message> <message>
<location filename="../src/gui/guiutility.cpp" line="34"/> <location filename="../src/gui/guiutility.cpp" line="34"/>
<source>There was an error when launching the browser to go to URL %1. Maybe no default browser is configured?</source> <source>There was an error when launching the browser to go to URL %1. Maybe no default browser is configured?</source>
<translation type="unfinished"/> <translation>Si è verificato un errore all&apos;avvio del browser per accedere all&apos;URL% 1. Forse non è stato configurato nessun browser predefinito?</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/guiutility.cpp" line="55"/> <location filename="../src/gui/guiutility.cpp" line="55"/>

View File

@@ -83,12 +83,12 @@
<message> <message>
<location filename="../src/libsync/abstractnetworkjob.cpp" line="247"/> <location filename="../src/libsync/abstractnetworkjob.cpp" line="247"/>
<source>Unknown error: network reply was deleted</source> <source>Unknown error: network reply was deleted</source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/abstractnetworkjob.cpp" line="390"/> <location filename="../src/libsync/abstractnetworkjob.cpp" line="390"/>
<source>Server replied &quot;%1 %2&quot; to &quot;%3 %4&quot;</source> <source>Server replied &quot;%1 %2&quot; to &quot;%3 %4&quot;</source>
<translation type="unfinished"/> <translation> &quot;%1 %2&quot; &quot;%3 %4&quot;</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -253,7 +253,7 @@
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="667"/> <location filename="../src/gui/accountsettings.cpp" line="667"/>
<source>Obtaining authorization from the browser. &lt;a href=&apos;%1&apos;&gt;Click here&lt;/a&gt; to re-open the browser.</source> <source>Obtaining authorization from the browser. &lt;a href=&apos;%1&apos;&gt;Click here&lt;/a&gt; to re-open the browser.</source>
<translation type="unfinished"/> <translation>&lt;a href=&apos;%1&apos;&gt;&lt;/a&gt; </translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="671"/> <location filename="../src/gui/accountsettings.cpp" line="671"/>
@@ -1428,12 +1428,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="133"/> <location filename="../src/gui/issueswidget.ui" line="133"/>
<source>There were too many issues. Not all will be visible here.</source> <source>There were too many issues. Not all will be visible here.</source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="155"/> <location filename="../src/gui/issueswidget.ui" line="155"/>
<source>Copy the issues list to the clipboard.</source> <source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="158"/> <location filename="../src/gui/issueswidget.ui" line="158"/>
@@ -1693,7 +1693,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="112"/> <location filename="../src/gui/creds/oauth.cpp" line="112"/>
<source>Error returned from the server: &lt;em&gt;%1&lt;/em&gt;</source> <source>Error returned from the server: &lt;em&gt;%1&lt;/em&gt;</source>
<translation type="unfinished"/> <translation>: &lt;em&gt;%1&lt;/em&gt; </translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="115"/> <location filename="../src/gui/creds/oauth.cpp" line="115"/>
@@ -1708,17 +1708,17 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="121"/> <location filename="../src/gui/creds/oauth.cpp" line="121"/>
<source>The reply from the server did not contain all expected fields</source> <source>The reply from the server did not contain all expected fields</source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="125"/> <location filename="../src/gui/creds/oauth.cpp" line="125"/>
<source>&lt;h1&gt;Login Error&lt;/h1&gt;&lt;p&gt;%1&lt;/p&gt;</source> <source>&lt;h1&gt;Login Error&lt;/h1&gt;&lt;p&gt;%1&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>&lt;h1&gt;&lt;/h1&gt;&lt;p&gt;%1&lt;/p&gt; </translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="131"/> <location filename="../src/gui/creds/oauth.cpp" line="131"/>
<source>&lt;h1&gt;Wrong user&lt;/h1&gt;&lt;p&gt;You logged-in with user &lt;em&gt;%1&lt;/em&gt;, but must login with user &lt;em&gt;%2&lt;/em&gt;.&lt;br&gt;Please log out of %3 in another tab, then &lt;a href=&apos;%4&apos;&gt;click here&lt;/a&gt; and log in as user %2&lt;/p&gt;</source> <source>&lt;h1&gt;Wrong user&lt;/h1&gt;&lt;p&gt;You logged-in with user &lt;em&gt;%1&lt;/em&gt;, but must login with user &lt;em&gt;%2&lt;/em&gt;.&lt;br&gt;Please log out of %3 in another tab, then &lt;a href=&apos;%4&apos;&gt;click here&lt;/a&gt; and log in as user %2&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>&lt;h1&gt;&lt;/h1&gt;&lt;p&gt;&lt;em&gt;%1&lt;/em&gt;&lt;em&gt;%2&lt;/em&gt;&lt;br&gt; %3 &lt;a href=&apos;%4&apos;&gt;&lt;/a&gt; %2 &lt;/p&gt; </translation>
</message> </message>
</context> </context>
<context> <context>
@@ -1885,7 +1885,7 @@ for additional privileges during the process.</source>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.cpp" line="44"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.cpp" line="44"/>
<source>Login in your browser</source> <source>Login in your browser</source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
</context> </context>
<context> <context>
@@ -1962,7 +1962,7 @@ It is not advisable to use it.</source>
<message> <message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="297"/> <location filename="../src/gui/owncloudsetupwizard.cpp" line="297"/>
<source>The server reported the following error:</source> <source>The server reported the following error:</source>
<translation type="unfinished"/> <translation>:</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/> <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
@@ -2542,28 +2542,28 @@ It is not advisable to use it.</source>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -2690,12 +2690,12 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>(&amp;A)</translation> <translation>(&amp;A)</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -2716,19 +2716,19 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="163"/> <location filename="../src/gui/sharelinkwidget.cpp" line="163"/>
<source>Open link in browser</source> <source>Open link in browser</source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="164"/> <location filename="../src/gui/sharelinkwidget.cpp" line="164"/>
<source>Copy link to clipboard</source> <source>Copy link to clipboard</source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="165"/> <location filename="../src/gui/sharelinkwidget.cpp" line="165"/>
@@ -2746,38 +2746,38 @@ It is not advisable to use it.</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>(&amp;A)</translation> <translation>(&amp;A)</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -2807,12 +2807,12 @@ It is not advisable to use it.</source>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="235"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="235"/>
<source>Open link in browser</source> <source>Open link in browser</source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="237"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="237"/>
<source>Copy link to clipboard</source> <source>Copy link to clipboard</source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="239"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="239"/>
@@ -4178,12 +4178,12 @@ It is not advisable to use it.</source>
<message> <message>
<location filename="../src/gui/guiutility.cpp" line="33"/> <location filename="../src/gui/guiutility.cpp" line="33"/>
<source>Could not open browser</source> <source>Could not open browser</source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/guiutility.cpp" line="34"/> <location filename="../src/gui/guiutility.cpp" line="34"/>
<source>There was an error when launching the browser to go to URL %1. Maybe no default browser is configured?</source> <source>There was an error when launching the browser to go to URL %1. Maybe no default browser is configured?</source>
<translation type="unfinished"/> <translation>URL %1 </translation>
</message> </message>
<message> <message>
<location filename="../src/gui/guiutility.cpp" line="55"/> <location filename="../src/gui/guiutility.cpp" line="55"/>

View File

@@ -253,7 +253,7 @@
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="667"/> <location filename="../src/gui/accountsettings.cpp" line="667"/>
<source>Obtaining authorization from the browser. &lt;a href=&apos;%1&apos;&gt;Click here&lt;/a&gt; to re-open the browser.</source> <source>Obtaining authorization from the browser. &lt;a href=&apos;%1&apos;&gt;Click here&lt;/a&gt; to re-open the browser.</source>
<translation type="unfinished"/> <translation>Hente autorisasjon fra nettleseren. &lt;a href=&apos;%1&apos;&gt;Klikk her &lt;/a&gt; for å åpne nettleseren på nytt.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="671"/> <location filename="../src/gui/accountsettings.cpp" line="671"/>
@@ -388,7 +388,7 @@
<message> <message>
<location filename="../src/gui/accountstate.cpp" line="138"/> <location filename="../src/gui/accountstate.cpp" line="138"/>
<source>Asking Credentials</source> <source>Asking Credentials</source>
<translation type="unfinished"/> <translation>Be om legitimasjon</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountstate.cpp" line="140"/> <location filename="../src/gui/accountstate.cpp" line="140"/>
@@ -989,7 +989,7 @@ Hvis synkroniseringen fortsetter som normalt, vil alle filene dine bli overskrev
<message> <message>
<location filename="../src/gui/folderstatusmodel.cpp" line="209"/> <location filename="../src/gui/folderstatusmodel.cpp" line="209"/>
<source>There are unresolved conflicts. Click for details.</source> <source>There are unresolved conflicts. Click for details.</source>
<translation type="unfinished"/> <translation>Det er uløste konflikter. Klikk for detaljer.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/folderstatusmodel.cpp" line="878"/> <location filename="../src/gui/folderstatusmodel.cpp" line="878"/>
@@ -1397,7 +1397,8 @@ Elementer hvor sletting er tillatt, vil bli slettet hvis de forhindrer fjerning
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="20"/> <location filename="../src/gui/issueswidget.ui" line="20"/>
<source>List of issues</source> <source>List of issues</source>
<translation type="unfinished"/> <translation>Liste over problemer
</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="34"/> <location filename="../src/gui/issueswidget.ui" line="34"/>
@@ -1419,22 +1420,22 @@ Elementer hvor sletting er tillatt, vil bli slettet hvis de forhindrer fjerning
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="73"/> <location filename="../src/gui/issueswidget.ui" line="73"/>
<source>Show warnings</source> <source>Show warnings</source>
<translation type="unfinished"/> <translation>Vis advarsler</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="83"/> <location filename="../src/gui/issueswidget.ui" line="83"/>
<source>Show ignored files</source> <source>Show ignored files</source>
<translation type="unfinished"/> <translation>Vis ignorerte filer</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="133"/> <location filename="../src/gui/issueswidget.ui" line="133"/>
<source>There were too many issues. Not all will be visible here.</source> <source>There were too many issues. Not all will be visible here.</source>
<translation type="unfinished"/> <translation>Det var for mange problemer. Ikke alle vil være synlige her.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="155"/> <location filename="../src/gui/issueswidget.ui" line="155"/>
<source>Copy the issues list to the clipboard.</source> <source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/> <translation>Kopier problemlisten til utklippstavlen.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="158"/> <location filename="../src/gui/issueswidget.ui" line="158"/>
@@ -1454,7 +1455,7 @@ Elementer hvor sletting er tillatt, vil bli slettet hvis de forhindrer fjerning
<message> <message>
<location filename="../src/gui/issueswidget.cpp" line="84"/> <location filename="../src/gui/issueswidget.cpp" line="84"/>
<source>Issue</source> <source>Issue</source>
<translation type="unfinished"/> <translation>Problem</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -1477,7 +1478,7 @@ Elementer hvor sletting er tillatt, vil bli slettet hvis de forhindrer fjerning
<message> <message>
<location filename="../src/gui/logbrowser.cpp" line="89"/> <location filename="../src/gui/logbrowser.cpp" line="89"/>
<source>&amp;Capture debug messages</source> <source>&amp;Capture debug messages</source>
<translation type="unfinished"/> <translation>Fang feilsøkingsmeldinger</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/logbrowser.cpp" line="101"/> <location filename="../src/gui/logbrowser.cpp" line="101"/>
@@ -1694,32 +1695,32 @@ Elementer hvor sletting er tillatt, vil bli slettet hvis de forhindrer fjerning
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="112"/> <location filename="../src/gui/creds/oauth.cpp" line="112"/>
<source>Error returned from the server: &lt;em&gt;%1&lt;/em&gt;</source> <source>Error returned from the server: &lt;em&gt;%1&lt;/em&gt;</source>
<translation type="unfinished"/> <translation>Feil returnert fra serveren: &lt;em&gt;%1&lt;/em&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="115"/> <location filename="../src/gui/creds/oauth.cpp" line="115"/>
<source>There was an error accessing the &apos;token&apos; endpoint: &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</source> <source>There was an error accessing the &apos;token&apos; endpoint: &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</source>
<translation type="unfinished"/> <translation>Det oppsto en feil med tilgang til &quot;token&quot; endepunktet: &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="118"/> <location filename="../src/gui/creds/oauth.cpp" line="118"/>
<source>Could not parse the JSON returned from the server: &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</source> <source>Could not parse the JSON returned from the server: &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</source>
<translation type="unfinished"/> <translation>Kunne ikke prosessere JSON returnert fra serveren:&lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="121"/> <location filename="../src/gui/creds/oauth.cpp" line="121"/>
<source>The reply from the server did not contain all expected fields</source> <source>The reply from the server did not contain all expected fields</source>
<translation type="unfinished"/> <translation>Svaret fra serveren inneholder ikke alle forventede felt</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="125"/> <location filename="../src/gui/creds/oauth.cpp" line="125"/>
<source>&lt;h1&gt;Login Error&lt;/h1&gt;&lt;p&gt;%1&lt;/p&gt;</source> <source>&lt;h1&gt;Login Error&lt;/h1&gt;&lt;p&gt;%1&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>&lt;h1&gt;Innloggingsfeil&lt;/h1&gt;&lt;p&gt;%1&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="131"/> <location filename="../src/gui/creds/oauth.cpp" line="131"/>
<source>&lt;h1&gt;Wrong user&lt;/h1&gt;&lt;p&gt;You logged-in with user &lt;em&gt;%1&lt;/em&gt;, but must login with user &lt;em&gt;%2&lt;/em&gt;.&lt;br&gt;Please log out of %3 in another tab, then &lt;a href=&apos;%4&apos;&gt;click here&lt;/a&gt; and log in as user %2&lt;/p&gt;</source> <source>&lt;h1&gt;Wrong user&lt;/h1&gt;&lt;p&gt;You logged-in with user &lt;em&gt;%1&lt;/em&gt;, but must login with user &lt;em&gt;%2&lt;/em&gt;.&lt;br&gt;Please log out of %3 in another tab, then &lt;a href=&apos;%4&apos;&gt;click here&lt;/a&gt; and log in as user %2&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>&lt;h1&gt;Feil bruker&lt;/h1&gt;&lt;p&gt;Du logget inn med bruker &lt;em&gt;%1&lt;/em&gt;, men må logge inn med bruker &lt;em&gt;%2&lt;/em&gt;.&lt;br&gt;Logg ut av %3 i en annen tab, &lt;a href=&apos;%4&apos;&gt;klikk deretter her&lt;/a&gt; og logg inn som bruker %2&lt;/p&gt;</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -1733,8 +1734,8 @@ Elementer hvor sletting er tillatt, vil bli slettet hvis de forhindrer fjerning
<location filename="../src/gui/updater/ocupdater.cpp" line="104"/> <location filename="../src/gui/updater/ocupdater.cpp" line="104"/>
<source>A new update for %1 is about to be installed. The updater may ask <source>A new update for %1 is about to be installed. The updater may ask
for additional privileges during the process.</source> for additional privileges during the process.</source>
<translation>En ny oppdatering for %1 er i ferd med å bli installert. Oppdateringen <translation>En ny oppdatering for %1 vil bli installert. Oppdateringen
kan be om flere rettigheter under behandlingen.</translation> kan be om flere rettigheter underveis.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/updater/ocupdater.cpp" line="143"/> <location filename="../src/gui/updater/ocupdater.cpp" line="143"/>
@@ -1779,7 +1780,7 @@ kan be om flere rettigheter under behandlingen.</translation>
<message> <message>
<location filename="../src/gui/updater/ocupdater.cpp" line="178"/> <location filename="../src/gui/updater/ocupdater.cpp" line="178"/>
<source>Update Check</source> <source>Update Check</source>
<translation>Oppdateringssjek</translation> <translation>Oppdateringssjekk</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -1887,7 +1888,7 @@ kan be om flere rettigheter under behandlingen.</translation>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.cpp" line="44"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.cpp" line="44"/>
<source>Login in your browser</source> <source>Login in your browser</source>
<translation type="unfinished"/> <translation>Logg inn i nettleseren din</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -1965,7 +1966,7 @@ Det er ikke tilrådelig å bruke den.</translation>
<message> <message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="297"/> <location filename="../src/gui/owncloudsetupwizard.cpp" line="297"/>
<source>The server reported the following error:</source> <source>The server reported the following error:</source>
<translation type="unfinished"/> <translation>Serveren rapporterte følgende feil:</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/> <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
@@ -2127,7 +2128,7 @@ Det er ikke tilrådelig å bruke den.</translation>
<message> <message>
<location filename="../src/libsync/propagatedownload.cpp" line="459"/> <location filename="../src/libsync/propagatedownload.cpp" line="459"/>
<source>The download would reduce free local disk space below the limit</source> <source>The download would reduce free local disk space below the limit</source>
<translation type="unfinished"/> <translation>Nedlastingen ville ha redusert ledig lokal diskplass under grensen</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/propagatedownload.cpp" line="463"/> <location filename="../src/libsync/propagatedownload.cpp" line="463"/>
@@ -2314,7 +2315,7 @@ Det er ikke tilrådelig å bruke den.</translation>
<location filename="../src/libsync/propagateupload.cpp" line="186"/> <location filename="../src/libsync/propagateupload.cpp" line="186"/>
<location filename="../src/libsync/propagateupload.cpp" line="549"/> <location filename="../src/libsync/propagateupload.cpp" line="549"/>
<source>Upload of %1 exceeds the quota for the folder</source> <source>Upload of %1 exceeds the quota for the folder</source>
<translation type="unfinished"/> <translation>Opplasting av %1 overstiger kvoten for mappen</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/propagateupload.cpp" line="622"/> <location filename="../src/libsync/propagateupload.cpp" line="622"/>
@@ -2545,28 +2546,28 @@ Det er ikke tilrådelig å bruke den.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Aktivitet</translation> <translation>Aktivitet</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Generelt</translation> <translation>Generelt</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Nettverk</translation> <translation>Nettverk</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Konto</translation> <translation>Konto</translation>
</message> </message>
@@ -2654,12 +2655,12 @@ Det er ikke tilrådelig å bruke den.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="35"/> <location filename="../src/gui/sharelinkwidget.ui" line="35"/>
<source>Enter a name to create a new public link...</source> <source>Enter a name to create a new public link...</source>
<translation type="unfinished"/> <translation>Skriv inn et navn for å opprette en ny offentlig lenke...</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="42"/> <location filename="../src/gui/sharelinkwidget.ui" line="42"/>
<source>&amp;Create new</source> <source>&amp;Create new</source>
<translation type="unfinished"/> <translation>&amp; Lag ny</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="105"/> <location filename="../src/gui/sharelinkwidget.ui" line="105"/>
@@ -2674,7 +2675,7 @@ Det er ikke tilrådelig å bruke den.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="178"/> <location filename="../src/gui/sharelinkwidget.ui" line="178"/>
<source>Link properties:</source> <source>Link properties:</source>
<translation type="unfinished"/> <translation>Link egenskaper:</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="220"/> <location filename="../src/gui/sharelinkwidget.ui" line="220"/>
@@ -2693,12 +2694,12 @@ Det er ikke tilrådelig å bruke den.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>P&amp;assordbeskyttelse</translation> <translation>P&amp;assordbeskyttelse</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Passordbeskyttet</translation> <translation>Passordbeskyttet</translation>
</message> </message>
@@ -2710,33 +2711,33 @@ Det er ikke tilrådelig å bruke den.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="93"/> <location filename="../src/gui/sharelinkwidget.cpp" line="93"/>
<source>Link shares have been disabled</source> <source>Link shares have been disabled</source>
<translation type="unfinished"/> <translation>Lenker har blitt deaktivert</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="107"/> <location filename="../src/gui/sharelinkwidget.cpp" line="107"/>
<source>Create public link share</source> <source>Create public link share</source>
<translation type="unfinished"/> <translation>Opprett offentlig kobling deling</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Slett</translation> <translation>Slett</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="163"/> <location filename="../src/gui/sharelinkwidget.cpp" line="163"/>
<source>Open link in browser</source> <source>Open link in browser</source>
<translation type="unfinished"/> <translation>Åpne lenke i nettleser</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="164"/> <location filename="../src/gui/sharelinkwidget.cpp" line="164"/>
<source>Copy link to clipboard</source> <source>Copy link to clipboard</source>
<translation type="unfinished"/> <translation>Kopier link til utklippstavlen</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="165"/> <location filename="../src/gui/sharelinkwidget.cpp" line="165"/>
<source>Copy link to clipboard (direct download)</source> <source>Copy link to clipboard (direct download)</source>
<translation type="unfinished"/> <translation>Kopier link til utklippstavlen (direkte nedlasting)</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="166"/> <location filename="../src/gui/sharelinkwidget.cpp" line="166"/>
@@ -2746,41 +2747,41 @@ Det er ikke tilrådelig å bruke den.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="167"/> <location filename="../src/gui/sharelinkwidget.cpp" line="167"/>
<source>Send link by email (direct download)</source> <source>Send link by email (direct download)</source>
<translation type="unfinished"/> <translation>Send link i e-post (direkte nedlasting)</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source>
<translation>Bekreft Sletting av Link</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>Confirm Link Share Deletion</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>&lt;p&gt;Ønsker du virkelig å slette delingen av den offentlige lenken&lt;i&gt;%1&lt;/i&gt;? &lt;/p&gt; &lt;p&gt;Merk: Denne handlingen kan ikke omgjøres.&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Avbryt</translation> <translation>Avbryt</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation>Offentlig lenke</translation> <translation>Offentlig lenke</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation>Slett link</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>Offentlig d&amp;eling krever et passord</translation> <translation>Offentlig d&amp;eling krever et passord</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Sett passord</translation> <translation>Sett passord</translation>
</message> </message>
@@ -2800,22 +2801,22 @@ Det er ikke tilrådelig å bruke den.</translation>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.ui" line="108"/> <location filename="../src/gui/shareusergroupwidget.ui" line="108"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;You can direct people to this shared file or folder &lt;a href=&quot;private link menu&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;by giving them a private link&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;You can direct people to this shared file or folder &lt;a href=&quot;private link menu&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;by giving them a private link&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Du kan lede folk til denne delte filen eller mappen &lt;a href=&quot;private link menu&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt; ved å gi dem en privat lenke&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="186"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="186"/>
<source>The item is not shared with any users or groups</source> <source>The item is not shared with any users or groups</source>
<translation type="unfinished"/> <translation>Elementet deles ikke med noen brukere eller grupper</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="235"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="235"/>
<source>Open link in browser</source> <source>Open link in browser</source>
<translation type="unfinished"/> <translation>Åpne lenke i nettleser</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="237"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="237"/>
<source>Copy link to clipboard</source> <source>Copy link to clipboard</source>
<translation type="unfinished"/> <translation>Kopier URL til utklippstavlen</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="239"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="239"/>
@@ -2830,7 +2831,7 @@ Det er ikke tilrådelig å bruke den.</translation>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="337"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="337"/>
<source>I shared something with you</source> <source>I shared something with you</source>
<translation type="unfinished"/> <translation>Jeg delte noe med deg</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -2923,22 +2924,22 @@ Det er ikke tilrådelig å bruke den.</translation>
<message> <message>
<location filename="../src/gui/socketapi.cpp" line="557"/> <location filename="../src/gui/socketapi.cpp" line="557"/>
<source>I shared something with you</source> <source>I shared something with you</source>
<translation type="unfinished"/> <translation>Jeg delte noe med deg</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/socketapi.cpp" line="565"/> <location filename="../src/gui/socketapi.cpp" line="565"/>
<source>Share...</source> <source>Share...</source>
<translation type="unfinished"/> <translation>Del...</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/socketapi.cpp" line="567"/> <location filename="../src/gui/socketapi.cpp" line="567"/>
<source>Copy private link to clipboard</source> <source>Copy private link to clipboard</source>
<translation type="unfinished"/> <translation>Kopier privat URL til utklippstavlen</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/socketapi.cpp" line="568"/> <location filename="../src/gui/socketapi.cpp" line="568"/>
<source>Send private link by email...</source> <source>Send private link by email...</source>
<translation type="unfinished"/> <translation>Send privat link i e-post</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -3216,7 +3217,7 @@ Det er ikke tilrådelig å bruke den.</translation>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="264"/> <location filename="../src/libsync/syncengine.cpp" line="264"/>
<source>%1 (skipped due to earlier error, trying again in %2)</source> <source>%1 (skipped due to earlier error, trying again in %2)</source>
<translation type="unfinished"/> <translation>%1 (hoppet over grunn av tidligere feil, prøver igjen om %2)</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="474"/> <location filename="../src/libsync/syncengine.cpp" line="474"/>
@@ -3226,12 +3227,12 @@ Det er ikke tilrådelig å bruke den.</translation>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="477"/> <location filename="../src/libsync/syncengine.cpp" line="477"/>
<source>Folder hierarchy is too deep</source> <source>Folder hierarchy is too deep</source>
<translation type="unfinished"/> <translation>Mapphierarkiet er for dypt</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="493"/> <location filename="../src/libsync/syncengine.cpp" line="493"/>
<source>Conflict: Server version downloaded, local copy renamed and not uploaded.</source> <source>Conflict: Server version downloaded, local copy renamed and not uploaded.</source>
<translation type="unfinished"/> <translation>Konflikt: Serverversjon lastet ned, lokal kopi har byttet navn og er ikke lastet opp.</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="777"/> <location filename="../src/libsync/syncengine.cpp" line="777"/>
@@ -3242,7 +3243,7 @@ Det er ikke tilrådelig å bruke den.</translation>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="812"/> <location filename="../src/libsync/syncengine.cpp" line="812"/>
<source>Unable to open or create the local sync database. Make sure you have write access in the sync folder.</source> <source>Unable to open or create the local sync database. Make sure you have write access in the sync folder.</source>
<translation type="unfinished"/> <translation>Kan ikke åpne eller opprette den lokale synkroniseringsdatabasen. Kontroller at du har skrivetilgang i synkroniseringsmappen.</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="1290"/> <location filename="../src/libsync/syncengine.cpp" line="1290"/>
@@ -3257,12 +3258,12 @@ Det er ikke tilrådelig å bruke den.</translation>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="1600"/> <location filename="../src/libsync/syncengine.cpp" line="1600"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source> <source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/> <translation>Diskplass er lav: Nedlastinger som ville redusere ledig plass under% 1 ble hoppet over.</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="1607"/> <location filename="../src/libsync/syncengine.cpp" line="1607"/>
<source>There is insufficient space available on the server for some uploads.</source> <source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/> <translation>Det er ikke nok ledig plass serveren for noen av opplastingene.</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="167"/> <location filename="../src/libsync/syncengine.cpp" line="167"/>
@@ -3352,7 +3353,7 @@ Det er ikke tilrådelig å bruke den.</translation>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="480"/> <location filename="../src/libsync/syncengine.cpp" line="480"/>
<source>The filename cannot be encoded on your file system.</source> <source>The filename cannot be encoded on your file system.</source>
<translation type="unfinished"/> <translation>Filnavnet kan ikke kodes filsystemet ditt.</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="489"/> <location filename="../src/libsync/syncengine.cpp" line="489"/>
@@ -3603,7 +3604,7 @@ Det er ikke tilrådelig å bruke den.</translation>
<message> <message>
<location filename="../src/gui/owncloudgui.cpp" line="240"/> <location filename="../src/gui/owncloudgui.cpp" line="240"/>
<source>Disconnected from some accounts</source> <source>Disconnected from some accounts</source>
<translation type="unfinished"/> <translation>Frakoblet noen kontoer</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudgui.cpp" line="251"/> <location filename="../src/gui/owncloudgui.cpp" line="251"/>
@@ -3629,17 +3630,17 @@ Det er ikke tilrådelig å bruke den.</translation>
<location filename="../src/gui/owncloudgui.cpp" line="273"/> <location filename="../src/gui/owncloudgui.cpp" line="273"/>
<location filename="../src/gui/owncloudgui.cpp" line="304"/> <location filename="../src/gui/owncloudgui.cpp" line="304"/>
<source>Synchronization is paused</source> <source>Synchronization is paused</source>
<translation type="unfinished"/> <translation>Synkronisering er satt pause</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudgui.cpp" line="306"/> <location filename="../src/gui/owncloudgui.cpp" line="306"/>
<source>Error during synchronization</source> <source>Error during synchronization</source>
<translation type="unfinished"/> <translation>Feil under synkronisering</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudgui.cpp" line="314"/> <location filename="../src/gui/owncloudgui.cpp" line="314"/>
<source>No sync folders configured</source> <source>No sync folders configured</source>
<translation type="unfinished"/> <translation>Ingen synkronisering-mapper konfigurert.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudgui.cpp" line="360"/> <location filename="../src/gui/owncloudgui.cpp" line="360"/>

View File

@@ -83,7 +83,7 @@
<message> <message>
<location filename="../src/libsync/abstractnetworkjob.cpp" line="247"/> <location filename="../src/libsync/abstractnetworkjob.cpp" line="247"/>
<source>Unknown error: network reply was deleted</source> <source>Unknown error: network reply was deleted</source>
<translation type="unfinished"/> <translation>Onbekende fout: antwoord van het netwerk is verwijderd</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/abstractnetworkjob.cpp" line="390"/> <location filename="../src/libsync/abstractnetworkjob.cpp" line="390"/>
@@ -183,7 +183,7 @@
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="316"/> <location filename="../src/gui/accountsettings.cpp" line="316"/>
<source>Remove folder sync connection</source> <source>Remove folder sync connection</source>
<translation>Verwijderen map sync verbinding</translation> <translation>Verwijder map-synchronisatie verbinding</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="387"/> <location filename="../src/gui/accountsettings.cpp" line="387"/>
@@ -198,12 +198,12 @@
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="438"/> <location filename="../src/gui/accountsettings.cpp" line="438"/>
<source>Confirm Folder Sync Connection Removal</source> <source>Confirm Folder Sync Connection Removal</source>
<translation>Bevestig verwijderen Map Sync verbinding</translation> <translation>Bevestig verwijderen map-synchronisatie verbinding</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="445"/> <location filename="../src/gui/accountsettings.cpp" line="445"/>
<source>Remove Folder Sync Connection</source> <source>Remove Folder Sync Connection</source>
<translation>Verwijderen Map Sync verbinding</translation> <translation>Verwijder map-synchronisatie verbinding</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="527"/> <location filename="../src/gui/accountsettings.cpp" line="527"/>
@@ -243,7 +243,7 @@
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="656"/> <location filename="../src/gui/accountsettings.cpp" line="656"/>
<source>Server %1 is currently in maintenance mode.</source> <source>Server %1 is currently in maintenance mode.</source>
<translation type="unfinished"/> <translation>Server %1 is momenteel in onderhoudsmodus.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="658"/> <location filename="../src/gui/accountsettings.cpp" line="658"/>
@@ -253,7 +253,7 @@
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="667"/> <location filename="../src/gui/accountsettings.cpp" line="667"/>
<source>Obtaining authorization from the browser. &lt;a href=&apos;%1&apos;&gt;Click here&lt;/a&gt; to re-open the browser.</source> <source>Obtaining authorization from the browser. &lt;a href=&apos;%1&apos;&gt;Click here&lt;/a&gt; to re-open the browser.</source>
<translation type="unfinished"/> <translation>Probeert autorisatie te krijgen van de browser. 1 Klik hier 1 om de browser opnieuw te openen.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="671"/> <location filename="../src/gui/accountsettings.cpp" line="671"/>
@@ -921,17 +921,17 @@ Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere v
<message> <message>
<location filename="../src/gui/folderman.cpp" line="1344"/> <location filename="../src/gui/folderman.cpp" line="1344"/>
<source>The local folder %1 already contains a folder used in a folder sync connection. Please pick another one!</source> <source>The local folder %1 already contains a folder used in a folder sync connection. Please pick another one!</source>
<translation>Lokale map %1 bevat al een map die wordt gebruikt voor een mapsync verbinding. Kies een andere!</translation> <translation>Lokale map %1 bevat al een map die wordt gebruikt voor een map-synchronisatie verbinding. Kies een andere!</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/folderman.cpp" line="1354"/> <location filename="../src/gui/folderman.cpp" line="1354"/>
<source>The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one!</source> <source>The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one!</source>
<translation>Lokale map %1 zit al in een map die wordt gebruikt voor een mapsync verbinding. Kies een andere!</translation> <translation>Lokale map %1 zit al in een map die wordt gebruikt voor een map-synchronisatie verbinding. Kies een andere!</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/folderman.cpp" line="1362"/> <location filename="../src/gui/folderman.cpp" line="1362"/>
<source>The local folder %1 is a symbolic link. The link target is already contained in a folder used in a folder sync connection. Please pick another one!</source> <source>The local folder %1 is a symbolic link. The link target is already contained in a folder used in a folder sync connection. Please pick another one!</source>
<translation>Lokale map %1 is een symbolische link. De doellink zit al in een map die in een mapsync verbinding wordt gebruikt. Kies een andere!</translation> <translation>Lokale map %1 is een symbolische link. De doellink zit al in een map die in een map-synchronisatie verbinding wordt gebruikt. Kies een andere!</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -939,7 +939,7 @@ Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere v
<message> <message>
<location filename="../src/gui/folderstatusdelegate.cpp" line="46"/> <location filename="../src/gui/folderstatusdelegate.cpp" line="46"/>
<source>Add Folder Sync Connection</source> <source>Add Folder Sync Connection</source>
<translation>Toevoegen mapsync verbinding</translation> <translation>Voeg map synchronisatie verbinding toe</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/folderstatusdelegate.cpp" line="249"/> <location filename="../src/gui/folderstatusdelegate.cpp" line="249"/>
@@ -990,7 +990,7 @@ Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere v
<message> <message>
<location filename="../src/gui/folderstatusmodel.cpp" line="209"/> <location filename="../src/gui/folderstatusmodel.cpp" line="209"/>
<source>There are unresolved conflicts. Click for details.</source> <source>There are unresolved conflicts. Click for details.</source>
<translation type="unfinished"/> <translation>Er zijn onopgeloste conflicten. Klik voor details.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/folderstatusmodel.cpp" line="878"/> <location filename="../src/gui/folderstatusmodel.cpp" line="878"/>
@@ -1000,7 +1000,7 @@ Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere v
<message> <message>
<location filename="../src/gui/folderstatusmodel.cpp" line="884"/> <location filename="../src/gui/folderstatusmodel.cpp" line="884"/>
<source>Reconciling changes</source> <source>Reconciling changes</source>
<translation type="unfinished"/> <translation>Wijzigingen doorvoeren</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/folderstatusmodel.cpp" line="919"/> <location filename="../src/gui/folderstatusmodel.cpp" line="919"/>
@@ -1098,7 +1098,7 @@ Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere v
<message> <message>
<location filename="../src/gui/folderwizard.cpp" line="548"/> <location filename="../src/gui/folderwizard.cpp" line="548"/>
<source>Add Folder Sync Connection</source> <source>Add Folder Sync Connection</source>
<translation>Toevoegen mapsync verbinding</translation> <translation>Voeg map-synchronisatie verbinding toe</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/folderwizard.cpp" line="550"/> <location filename="../src/gui/folderwizard.cpp" line="550"/>
@@ -1434,12 +1434,12 @@ Onderdelen die gewist mogen worden worden verwijderd als ze voorkomen dat een ma
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="133"/> <location filename="../src/gui/issueswidget.ui" line="133"/>
<source>There were too many issues. Not all will be visible here.</source> <source>There were too many issues. Not all will be visible here.</source>
<translation type="unfinished"/> <translation>Er zijn teveel problemen. Niet alles zal worden vertoond.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="155"/> <location filename="../src/gui/issueswidget.ui" line="155"/>
<source>Copy the issues list to the clipboard.</source> <source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/> <translation>Kopieer de probleemlijst naar het klembord.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="158"/> <location filename="../src/gui/issueswidget.ui" line="158"/>
@@ -1482,7 +1482,7 @@ Onderdelen die gewist mogen worden worden verwijderd als ze voorkomen dat een ma
<message> <message>
<location filename="../src/gui/logbrowser.cpp" line="89"/> <location filename="../src/gui/logbrowser.cpp" line="89"/>
<source>&amp;Capture debug messages</source> <source>&amp;Capture debug messages</source>
<translation type="unfinished"/> <translation>&amp;Capture berichten debuggen</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/logbrowser.cpp" line="101"/> <location filename="../src/gui/logbrowser.cpp" line="101"/>
@@ -1704,17 +1704,17 @@ Onderdelen die gewist mogen worden worden verwijderd als ze voorkomen dat een ma
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="115"/> <location filename="../src/gui/creds/oauth.cpp" line="115"/>
<source>There was an error accessing the &apos;token&apos; endpoint: &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</source> <source>There was an error accessing the &apos;token&apos; endpoint: &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</source>
<translation type="unfinished"/> <translation>Er heeft zich een fout voorgedaan bij het verkrijgen van de &apos;token&apos; eindpunt: 1 2 %1 2</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="118"/> <location filename="../src/gui/creds/oauth.cpp" line="118"/>
<source>Could not parse the JSON returned from the server: &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</source> <source>Could not parse the JSON returned from the server: &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</source>
<translation type="unfinished"/> <translation>Kon de JSON dat teruggekomen is van de server niet ontleden: 1 2 %1 2</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="121"/> <location filename="../src/gui/creds/oauth.cpp" line="121"/>
<source>The reply from the server did not contain all expected fields</source> <source>The reply from the server did not contain all expected fields</source>
<translation type="unfinished"/> <translation>Het antwoord van de server bevat niet alle verwachte velden</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="125"/> <location filename="../src/gui/creds/oauth.cpp" line="125"/>
@@ -1724,7 +1724,7 @@ Onderdelen die gewist mogen worden worden verwijderd als ze voorkomen dat een ma
<message> <message>
<location filename="../src/gui/creds/oauth.cpp" line="131"/> <location filename="../src/gui/creds/oauth.cpp" line="131"/>
<source>&lt;h1&gt;Wrong user&lt;/h1&gt;&lt;p&gt;You logged-in with user &lt;em&gt;%1&lt;/em&gt;, but must login with user &lt;em&gt;%2&lt;/em&gt;.&lt;br&gt;Please log out of %3 in another tab, then &lt;a href=&apos;%4&apos;&gt;click here&lt;/a&gt; and log in as user %2&lt;/p&gt;</source> <source>&lt;h1&gt;Wrong user&lt;/h1&gt;&lt;p&gt;You logged-in with user &lt;em&gt;%1&lt;/em&gt;, but must login with user &lt;em&gt;%2&lt;/em&gt;.&lt;br&gt;Please log out of %3 in another tab, then &lt;a href=&apos;%4&apos;&gt;click here&lt;/a&gt; and log in as user %2&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>1 Verkeerde gebruiker 1 2 U bent ingelogd met user 3 %1 3, maar dient ingelogd te zijn met user 4 %2 4. 5 Log %3 alstublieft uit in een andere tabblad, vervolgens 6 klikt u hier 6 en log-in als user %2 2</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -1892,7 +1892,7 @@ vragen om extra autorisaties tijdens installatie.</translation>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.cpp" line="44"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.cpp" line="44"/>
<source>Login in your browser</source> <source>Login in your browser</source>
<translation type="unfinished"/> <translation>Login in uw browser</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -1970,7 +1970,7 @@ We adviseren deze site niet te gebruiken.</translation>
<message> <message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="297"/> <location filename="../src/gui/owncloudsetupwizard.cpp" line="297"/>
<source>The server reported the following error:</source> <source>The server reported the following error:</source>
<translation type="unfinished"/> <translation>De server rapporteerde de volgende fout:</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/> <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
@@ -2132,7 +2132,7 @@ We adviseren deze site niet te gebruiken.</translation>
<message> <message>
<location filename="../src/libsync/propagatedownload.cpp" line="459"/> <location filename="../src/libsync/propagatedownload.cpp" line="459"/>
<source>The download would reduce free local disk space below the limit</source> <source>The download would reduce free local disk space below the limit</source>
<translation type="unfinished"/> <translation>De download zal de vrije lokale schijfruimte reduceren tot onder het limiet</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/propagatedownload.cpp" line="463"/> <location filename="../src/libsync/propagatedownload.cpp" line="463"/>
@@ -2319,7 +2319,7 @@ We adviseren deze site niet te gebruiken.</translation>
<location filename="../src/libsync/propagateupload.cpp" line="186"/> <location filename="../src/libsync/propagateupload.cpp" line="186"/>
<location filename="../src/libsync/propagateupload.cpp" line="549"/> <location filename="../src/libsync/propagateupload.cpp" line="549"/>
<source>Upload of %1 exceeds the quota for the folder</source> <source>Upload of %1 exceeds the quota for the folder</source>
<translation type="unfinished"/> <translation>Upload van %1 overtreft de quota van de folder</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/propagateupload.cpp" line="622"/> <location filename="../src/libsync/propagateupload.cpp" line="622"/>
@@ -2550,28 +2550,28 @@ We adviseren deze site niet te gebruiken.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Activiteit</translation> <translation>Activiteit</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Algemeen</translation> <translation>Algemeen</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Netwerk</translation> <translation>Netwerk</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Account</translation> <translation>Account</translation>
</message> </message>
@@ -2659,12 +2659,12 @@ We adviseren deze site niet te gebruiken.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="35"/> <location filename="../src/gui/sharelinkwidget.ui" line="35"/>
<source>Enter a name to create a new public link...</source> <source>Enter a name to create a new public link...</source>
<translation type="unfinished"/> <translation>Voer een naam in om een nieuwe publieke link aan te maken</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="42"/> <location filename="../src/gui/sharelinkwidget.ui" line="42"/>
<source>&amp;Create new</source> <source>&amp;Create new</source>
<translation type="unfinished"/> <translation>&amp;Create nieuw</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="105"/> <location filename="../src/gui/sharelinkwidget.ui" line="105"/>
@@ -2698,12 +2698,12 @@ We adviseren deze site niet te gebruiken.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>&amp;Wachtwoord beveiligd</translation> <translation>&amp;Wachtwoord beveiligd</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Wachtwoord beveiligd</translation> <translation>Wachtwoord beveiligd</translation>
</message> </message>
@@ -2715,16 +2715,16 @@ We adviseren deze site niet te gebruiken.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="93"/> <location filename="../src/gui/sharelinkwidget.cpp" line="93"/>
<source>Link shares have been disabled</source> <source>Link shares have been disabled</source>
<translation type="unfinished"/> <translation>Link delen zijn uitgeschakeld</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="107"/> <location filename="../src/gui/sharelinkwidget.cpp" line="107"/>
<source>Create public link share</source> <source>Create public link share</source>
<translation type="unfinished"/> <translation>Maak een verdeelbare publieke link aan</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Verwijderen</translation> <translation>Verwijderen</translation>
</message> </message>
@@ -2741,7 +2741,7 @@ We adviseren deze site niet te gebruiken.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="165"/> <location filename="../src/gui/sharelinkwidget.cpp" line="165"/>
<source>Copy link to clipboard (direct download)</source> <source>Copy link to clipboard (direct download)</source>
<translation type="unfinished"/> <translation>Kopieer de link naar het klembord (directe download)</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="166"/> <location filename="../src/gui/sharelinkwidget.cpp" line="166"/>
@@ -2751,41 +2751,41 @@ We adviseren deze site niet te gebruiken.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="167"/> <location filename="../src/gui/sharelinkwidget.cpp" line="167"/>
<source>Send link by email (direct download)</source> <source>Send link by email (direct download)</source>
<translation type="unfinished"/> <translation>Verzend link met email (directe download)</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source>
<translation>Bevestig Gedeelde Link Verwijdering</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>Confirm Link Share Deletion</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>1 Wilt u echt de verdeelbare publieke link verwijderen 2 %1 2 ? 1 3 Let op: deze actie kan niet ongedaan gemaakt worden. 3</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Annuleren</translation> <translation>Annuleren</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation>Openbare Link</translation> <translation>Openbare Link</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation>Verwijder verdeelbare link</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>Openbaar de&amp;len vereist een wachtwoord</translation> <translation>Openbaar de&amp;len vereist een wachtwoord</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Stel uw wachtwoord in</translation> <translation>Stel uw wachtwoord in</translation>
</message> </message>
@@ -4186,7 +4186,7 @@ We adviseren deze site niet te gebruiken.</translation>
<message> <message>
<location filename="../src/gui/guiutility.cpp" line="33"/> <location filename="../src/gui/guiutility.cpp" line="33"/>
<source>Could not open browser</source> <source>Could not open browser</source>
<translation type="unfinished"/> <translation>Kon het browser niet openen</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/guiutility.cpp" line="34"/> <location filename="../src/gui/guiutility.cpp" line="34"/>

View File

@@ -198,7 +198,7 @@
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="438"/> <location filename="../src/gui/accountsettings.cpp" line="438"/>
<source>Confirm Folder Sync Connection Removal</source> <source>Confirm Folder Sync Connection Removal</source>
<translation>Usuń folder połączenia synchronizacji</translation> <translation>Potwierdź usunięcie połączenia folderów synchronizacji</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="445"/> <location filename="../src/gui/accountsettings.cpp" line="445"/>
@@ -1394,7 +1394,7 @@ Pozycje, dla których usuwanie jest dozwolone zostaną usunięte, jeżeli uprawn
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="20"/> <location filename="../src/gui/issueswidget.ui" line="20"/>
<source>List of issues</source> <source>List of issues</source>
<translation type="unfinished"/> <translation>Lista zdarzeń</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="34"/> <location filename="../src/gui/issueswidget.ui" line="34"/>
@@ -1416,22 +1416,22 @@ Pozycje, dla których usuwanie jest dozwolone zostaną usunięte, jeżeli uprawn
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="73"/> <location filename="../src/gui/issueswidget.ui" line="73"/>
<source>Show warnings</source> <source>Show warnings</source>
<translation type="unfinished"/> <translation>Pokaż ostrzeżenia</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="83"/> <location filename="../src/gui/issueswidget.ui" line="83"/>
<source>Show ignored files</source> <source>Show ignored files</source>
<translation type="unfinished"/> <translation>Pokaż ignorowane pliki</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="133"/> <location filename="../src/gui/issueswidget.ui" line="133"/>
<source>There were too many issues. Not all will be visible here.</source> <source>There were too many issues. Not all will be visible here.</source>
<translation type="unfinished"/> <translation>Wystąpiło bardzo wiele zdarzeń. Nie wszystkie będą tu widoczne</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="155"/> <location filename="../src/gui/issueswidget.ui" line="155"/>
<source>Copy the issues list to the clipboard.</source> <source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/> <translation>Skopiuj listę zdarzeń do schowka</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="158"/> <location filename="../src/gui/issueswidget.ui" line="158"/>
@@ -1451,7 +1451,7 @@ Pozycje, dla których usuwanie jest dozwolone zostaną usunięte, jeżeli uprawn
<message> <message>
<location filename="../src/gui/issueswidget.cpp" line="84"/> <location filename="../src/gui/issueswidget.cpp" line="84"/>
<source>Issue</source> <source>Issue</source>
<translation type="unfinished"/> <translation>Zdarzenie</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -1962,7 +1962,7 @@ Niezalecane jest jego użycie.</translation>
<message> <message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="297"/> <location filename="../src/gui/owncloudsetupwizard.cpp" line="297"/>
<source>The server reported the following error:</source> <source>The server reported the following error:</source>
<translation type="unfinished"/> <translation>Serwer zgłosił następujący błąd:</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/> <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
@@ -2542,28 +2542,28 @@ Niezalecane jest jego użycie.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Aktywność</translation> <translation>Aktywność</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Ogólne</translation> <translation>Ogólne</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Sieć</translation> <translation>Sieć</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Konto</translation> <translation>Konto</translation>
</message> </message>
@@ -2690,12 +2690,12 @@ Niezalecane jest jego użycie.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Zabezpieczone hasłem</translation> <translation>Zabezpieczone hasłem</translation>
</message> </message>
@@ -2716,24 +2716,24 @@ Niezalecane jest jego użycie.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Usuń</translation> <translation>Usuń</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="163"/> <location filename="../src/gui/sharelinkwidget.cpp" line="163"/>
<source>Open link in browser</source> <source>Open link in browser</source>
<translation type="unfinished"/> <translation>Otwórz link w przeglądarce</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="164"/> <location filename="../src/gui/sharelinkwidget.cpp" line="164"/>
<source>Copy link to clipboard</source> <source>Copy link to clipboard</source>
<translation type="unfinished"/> <translation>Skopuj link to schowka</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="165"/> <location filename="../src/gui/sharelinkwidget.cpp" line="165"/>
<source>Copy link to clipboard (direct download)</source> <source>Copy link to clipboard (direct download)</source>
<translation type="unfinished"/> <translation>Skopiuj link do schowa (pobieranie bezpośrednie)</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="166"/> <location filename="../src/gui/sharelinkwidget.cpp" line="166"/>
@@ -2743,41 +2743,41 @@ Niezalecane jest jego użycie.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="167"/> <location filename="../src/gui/sharelinkwidget.cpp" line="167"/>
<source>Send link by email (direct download)</source> <source>Send link by email (direct download)</source>
<translation type="unfinished"/> <translation>Wyślij link e-mailem (pobieranie bezpośrednie)</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Anuluj</translation> <translation>Anuluj</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation type="unfinished"/> <translation>Link publiczny</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Proszę podać hasło</translation> <translation>Proszę podać hasło</translation>
</message> </message>
@@ -2807,12 +2807,12 @@ Niezalecane jest jego użycie.</translation>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="235"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="235"/>
<source>Open link in browser</source> <source>Open link in browser</source>
<translation type="unfinished"/> <translation>Otwórz link w przeglądarce</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="237"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="237"/>
<source>Copy link to clipboard</source> <source>Copy link to clipboard</source>
<translation type="unfinished"/> <translation>Skopuj link to schowka</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="239"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="239"/>
@@ -2930,12 +2930,12 @@ Niezalecane jest jego użycie.</translation>
<message> <message>
<location filename="../src/gui/socketapi.cpp" line="567"/> <location filename="../src/gui/socketapi.cpp" line="567"/>
<source>Copy private link to clipboard</source> <source>Copy private link to clipboard</source>
<translation type="unfinished"/> <translation>Kopiuj link prywatny do schowka</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/socketapi.cpp" line="568"/> <location filename="../src/gui/socketapi.cpp" line="568"/>
<source>Send private link by email...</source> <source>Send private link by email...</source>
<translation type="unfinished"/> <translation>Wyślij link prywatny przez e-mail</translation>
</message> </message>
</context> </context>
<context> <context>

View File

@@ -1966,7 +1966,7 @@ Não é aconselhada a sua utilização.</translation>
<message> <message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="297"/> <location filename="../src/gui/owncloudsetupwizard.cpp" line="297"/>
<source>The server reported the following error:</source> <source>The server reported the following error:</source>
<translation type="unfinished"/> <translation>O servidor retornou o seguinte erro:</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/> <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
@@ -2546,28 +2546,28 @@ Não é aconselhada a sua utilização.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Atividade</translation> <translation>Atividade</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Geral</translation> <translation>Geral</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Rede</translation> <translation>Rede</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Conta</translation> <translation>Conta</translation>
</message> </message>
@@ -2694,12 +2694,12 @@ Não é aconselhada a sua utilização.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>Protegida por senha</translation> <translation>Protegida por senha</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Protegido com Senha</translation> <translation>Protegido com Senha</translation>
</message> </message>
@@ -2720,14 +2720,14 @@ Não é aconselhada a sua utilização.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Eliminar</translation> <translation>Eliminar</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="163"/> <location filename="../src/gui/sharelinkwidget.cpp" line="163"/>
<source>Open link in browser</source> <source>Open link in browser</source>
<translation type="unfinished"/> <translation>Abrir ligação no navegador</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="164"/> <location filename="../src/gui/sharelinkwidget.cpp" line="164"/>
@@ -2742,7 +2742,7 @@ Não é aconselhada a sua utilização.</translation>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="166"/> <location filename="../src/gui/sharelinkwidget.cpp" line="166"/>
<source>Send link by email</source> <source>Send link by email</source>
<translation>Enviar hiperligação por e-mail</translation> <translation>Enviar hiperligação por correio eletrónico</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="167"/> <location filename="../src/gui/sharelinkwidget.cpp" line="167"/>
@@ -2750,38 +2750,38 @@ Não é aconselhada a sua utilização.</translation>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Cancelar</translation> <translation>Cancelar</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation>Hiperligação Pública</translation> <translation>Hiperligação Pública</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>A pa&amp;rtilha pública requer uma palavra-passe:</translation> <translation>A pa&amp;rtilha pública requer uma palavra-passe:</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Por favor, Definir Senha</translation> <translation>Por favor, Definir Senha</translation>
</message> </message>
@@ -2811,7 +2811,7 @@ Não é aconselhada a sua utilização.</translation>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="235"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="235"/>
<source>Open link in browser</source> <source>Open link in browser</source>
<translation type="unfinished"/> <translation>Abrir ligação no navegador</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="237"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="237"/>
@@ -2821,7 +2821,7 @@ Não é aconselhada a sua utilização.</translation>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="239"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="239"/>
<source>Send link by email</source> <source>Send link by email</source>
<translation>Enviar hiperligação por e-mail</translation> <translation>Enviar hiperligação por correio eletrónico</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="249"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="249"/>
@@ -2939,7 +2939,7 @@ Não é aconselhada a sua utilização.</translation>
<message> <message>
<location filename="../src/gui/socketapi.cpp" line="568"/> <location filename="../src/gui/socketapi.cpp" line="568"/>
<source>Send private link by email...</source> <source>Send private link by email...</source>
<translation type="unfinished"/> <translation>Enviar hiperligação privada por correio eletrónico...</translation>
</message> </message>
</context> </context>
<context> <context>

View File

@@ -2543,28 +2543,28 @@ It is not advisable to use it.</source>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Atividade</translation> <translation>Atividade</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Geral</translation> <translation>Geral</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Rede</translation> <translation>Rede</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Conta</translation> <translation>Conta</translation>
</message> </message>
@@ -2691,12 +2691,12 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>S&amp;enha de proteção</translation> <translation>S&amp;enha de proteção</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Protegido por Senha</translation> <translation>Protegido por Senha</translation>
</message> </message>
@@ -2717,7 +2717,7 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Excluir</translation> <translation>Excluir</translation>
</message> </message>
@@ -2747,38 +2747,38 @@ It is not advisable to use it.</source>
<translation>Enviar linque por e-mail (download direto)</translation> <translation>Enviar linque por e-mail (download direto)</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation>Confirmar o Link de Eliminação de Compartilhamento</translation> <translation>Confirmar o Link de Eliminação de Compartilhamento</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation>&lt;p&gt;Você realmente deseja excluir o compartilhamento de links públicos &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Nota: Esta ação não pode ser desfeita.&lt;/p&gt;</translation> <translation>&lt;p&gt;Você realmente deseja excluir o compartilhamento de links públicos &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Nota: Esta ação não pode ser desfeita.&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Cancelar</translation> <translation>Cancelar</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation>Linque público</translation> <translation>Linque público</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation>Excluir linque de compartilhamento</translation> <translation>Excluir linque de compartilhamento</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>Comp&amp;artilhamento público requer uma senha</translation> <translation>Comp&amp;artilhamento público requer uma senha</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Por favor, Definir senha</translation> <translation>Por favor, Definir senha</translation>
</message> </message>

View File

@@ -2543,28 +2543,28 @@ It is not advisable to use it.</source>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>События</translation> <translation>События</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Основные</translation> <translation>Основные</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Сеть</translation> <translation>Сеть</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Уч.запись</translation> <translation>Уч.запись</translation>
</message> </message>
@@ -2691,12 +2691,12 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>Защитить паролем</translation> <translation>Защитить паролем</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Защищено Паролем</translation> <translation>Защищено Паролем</translation>
</message> </message>
@@ -2717,7 +2717,7 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Удалить</translation> <translation>Удалить</translation>
</message> </message>
@@ -2747,38 +2747,38 @@ It is not advisable to use it.</source>
<translation>Отправить ссылку по почте (прямое скачивание)</translation> <translation>Отправить ссылку по почте (прямое скачивание)</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation>Подтвердите удаление доступа по ссылке</translation> <translation>Подтвердите удаление доступа по ссылке</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation>&lt;p&gt;Вы действтиельно хотите удалить доступ по общей ссылке &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Внимание: это действие будет невозможно отменить.&lt;/p&gt;</translation> <translation>&lt;p&gt;Вы действтиельно хотите удалить доступ по общей ссылке &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Внимание: это действие будет невозможно отменить.&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Отмена</translation> <translation>Отмена</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation>Общедоступная ссылка</translation> <translation>Общедоступная ссылка</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation>Удалить доступ по ссылке</translation> <translation>Удалить доступ по ссылке</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>Публичные ссылки требуют пароля</translation> <translation>Публичные ссылки требуют пароля</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Пожалуйста, установите пароль</translation> <translation>Пожалуйста, установите пароль</translation>
</message> </message>

View File

@@ -2535,28 +2535,28 @@ Nie je vhodné ju používať.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Aktivita</translation> <translation>Aktivita</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Všeobecné</translation> <translation>Všeobecné</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Sieť</translation> <translation>Sieť</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Účet</translation> <translation>Účet</translation>
</message> </message>
@@ -2683,12 +2683,12 @@ Nie je vhodné ju používať.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>Ch&amp;rániť heslom</translation> <translation>Ch&amp;rániť heslom</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Chránené heslom</translation> <translation>Chránené heslom</translation>
</message> </message>
@@ -2709,7 +2709,7 @@ Nie je vhodné ju používať.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Zmazať</translation> <translation>Zmazať</translation>
</message> </message>
@@ -2739,38 +2739,38 @@ Nie je vhodné ju používať.</translation>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Zrušiť</translation> <translation>Zrušiť</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>Verejné z&amp;dieľanie vyžaduje heslo</translation> <translation>Verejné z&amp;dieľanie vyžaduje heslo</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Prosím nastavte si heslo</translation> <translation>Prosím nastavte si heslo</translation>
</message> </message>

View File

@@ -1888,7 +1888,7 @@ zahteva skrbniška dovoljenja za dokončanje opravila.</translation>
<message> <message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.cpp" line="44"/> <location filename="../src/gui/wizard/owncloudoauthcredspage.cpp" line="44"/>
<source>Login in your browser</source> <source>Login in your browser</source>
<translation type="unfinished"/> <translation>Prijava prek brskalnika</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -2546,28 +2546,28 @@ Uporaba ni priporočljiva.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Dejavnosti</translation> <translation>Dejavnosti</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Splošno</translation> <translation>Splošno</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Omrežje</translation> <translation>Omrežje</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Račun</translation> <translation>Račun</translation>
</message> </message>
@@ -2694,12 +2694,12 @@ Uporaba ni priporočljiva.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>&amp;Zaščiti z geslom</translation> <translation>&amp;Zaščiti z geslom</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Zaščiteno z geslom</translation> <translation>Zaščiteno z geslom</translation>
</message> </message>
@@ -2720,7 +2720,7 @@ Uporaba ni priporočljiva.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Izbriši</translation> <translation>Izbriši</translation>
</message> </message>
@@ -2750,38 +2750,38 @@ Uporaba ni priporočljiva.</translation>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Prekliči</translation> <translation>Prekliči</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation>Javna povezava</translation> <translation>Javna povezava</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>Javna omogočanje &amp;souporabe zahteva geslo</translation> <translation>Javna omogočanje &amp;souporabe zahteva geslo</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Določite geslo</translation> <translation>Določite geslo</translation>
</message> </message>
@@ -3630,17 +3630,17 @@ Uporaba ni priporočljiva.</translation>
<location filename="../src/gui/owncloudgui.cpp" line="273"/> <location filename="../src/gui/owncloudgui.cpp" line="273"/>
<location filename="../src/gui/owncloudgui.cpp" line="304"/> <location filename="../src/gui/owncloudgui.cpp" line="304"/>
<source>Synchronization is paused</source> <source>Synchronization is paused</source>
<translation type="unfinished"/> <translation>Usklajevanje je v premoru</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudgui.cpp" line="306"/> <location filename="../src/gui/owncloudgui.cpp" line="306"/>
<source>Error during synchronization</source> <source>Error during synchronization</source>
<translation type="unfinished"/> <translation>Med usklajevanjem je prišlo do napake</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudgui.cpp" line="314"/> <location filename="../src/gui/owncloudgui.cpp" line="314"/>
<source>No sync folders configured</source> <source>No sync folders configured</source>
<translation type="unfinished"/> <translation>Ni nastavljenih map za usklajevanje.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/owncloudgui.cpp" line="360"/> <location filename="../src/gui/owncloudgui.cpp" line="360"/>

View File

@@ -2535,28 +2535,28 @@ It is not advisable to use it.</source>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Активност</translation> <translation>Активност</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Опште</translation> <translation>Опште</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Мрежа</translation> <translation>Мрежа</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Налог</translation> <translation>Налог</translation>
</message> </message>
@@ -2683,12 +2683,12 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>&amp;Заштићено лозинком</translation> <translation>&amp;Заштићено лозинком</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Заштићено лозинком</translation> <translation>Заштићено лозинком</translation>
</message> </message>
@@ -2709,7 +2709,7 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Обриши</translation> <translation>Обриши</translation>
</message> </message>
@@ -2739,38 +2739,38 @@ It is not advisable to use it.</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Откажи</translation> <translation>Откажи</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>Јавно дељење з&amp;хтева лозинку</translation> <translation>Јавно дељење з&amp;хтева лозинку</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Поставите лозинку</translation> <translation>Поставите лозинку</translation>
</message> </message>

View File

@@ -2541,28 +2541,28 @@ Det är inte lämpligt använda den.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Aktivitet</translation> <translation>Aktivitet</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Allmänt</translation> <translation>Allmänt</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Nätverk</translation> <translation>Nätverk</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Konto</translation> <translation>Konto</translation>
</message> </message>
@@ -2689,12 +2689,12 @@ Det är inte lämpligt använda den.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>L&amp;ösenordsskydda</translation> <translation>L&amp;ösenordsskydda</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Lösenordsskyddad</translation> <translation>Lösenordsskyddad</translation>
</message> </message>
@@ -2715,7 +2715,7 @@ Det är inte lämpligt använda den.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Ta bort</translation> <translation>Ta bort</translation>
</message> </message>
@@ -2745,38 +2745,38 @@ Det är inte lämpligt använda den.</translation>
<translation>Skicka länk med e-post (direktnedladdning)</translation> <translation>Skicka länk med e-post (direktnedladdning)</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Avbryt</translation> <translation>Avbryt</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation>Publik länk</translation> <translation>Publik länk</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>Publik d&amp;elning kräver lösenord</translation> <translation>Publik d&amp;elning kräver lösenord</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Var vänlig sätt lösenord</translation> <translation>Var vänlig sätt lösenord</translation>
</message> </message>

View File

@@ -913,7 +913,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<message> <message>
<location filename="../src/gui/folderman.cpp" line="1369"/> <location filename="../src/gui/folderman.cpp" line="1369"/>
<source>The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one!</source> <source>The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one!</source>
<translation> %1 !</translation> <translation> %1 !</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/folderman.cpp" line="1384"/> <location filename="../src/gui/folderman.cpp" line="1384"/>
@@ -934,7 +934,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<location filename="../src/gui/folderman.cpp" line="1362"/> <location filename="../src/gui/folderman.cpp" line="1362"/>
<source>The local folder %1 is a symbolic link. The link target is already contained in a folder used in a folder sync connection. Please pick another one!</source> <source>The local folder %1 is a symbolic link. The link target is already contained in a folder used in a folder sync connection. Please pick another one!</source>
<translation> %1 <translation> %1
!</translation> !</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -2547,28 +2547,28 @@ It is not advisable to use it.</source>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -2633,7 +2633,7 @@ It is not advisable to use it.</source>
<message> <message>
<location filename="../src/gui/sharedialog.cpp" line="218"/> <location filename="../src/gui/sharedialog.cpp" line="218"/>
<source>Public Links</source> <source>Public Links</source>
<translation></translation> <translation></translation>
</message> </message>
</context> </context>
<context> <context>
@@ -2656,7 +2656,7 @@ It is not advisable to use it.</source>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="35"/> <location filename="../src/gui/sharelinkwidget.ui" line="35"/>
<source>Enter a name to create a new public link...</source> <source>Enter a name to create a new public link...</source>
<translation>...</translation> <translation>...</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="42"/> <location filename="../src/gui/sharelinkwidget.ui" line="42"/>
@@ -2676,7 +2676,7 @@ It is not advisable to use it.</source>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="178"/> <location filename="../src/gui/sharelinkwidget.ui" line="178"/>
<source>Link properties:</source> <source>Link properties:</source>
<translation>:</translation> <translation>:</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="220"/> <location filename="../src/gui/sharelinkwidget.ui" line="220"/>
@@ -2691,16 +2691,16 @@ It is not advisable to use it.</source>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="20"/> <location filename="../src/gui/sharelinkwidget.ui" line="20"/>
<source>Anyone with the link has access to the file/folder</source> <source>Anyone with the link has access to the file/folder</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -2712,77 +2712,77 @@ It is not advisable to use it.</source>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="93"/> <location filename="../src/gui/sharelinkwidget.cpp" line="93"/>
<source>Link shares have been disabled</source> <source>Link shares have been disabled</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="107"/> <location filename="../src/gui/sharelinkwidget.cpp" line="107"/>
<source>Create public link share</source> <source>Create public link share</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="163"/> <location filename="../src/gui/sharelinkwidget.cpp" line="163"/>
<source>Open link in browser</source> <source>Open link in browser</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="164"/> <location filename="../src/gui/sharelinkwidget.cpp" line="164"/>
<source>Copy link to clipboard</source> <source>Copy link to clipboard</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="165"/> <location filename="../src/gui/sharelinkwidget.cpp" line="165"/>
<source>Copy link to clipboard (direct download)</source> <source>Copy link to clipboard (direct download)</source>
<translation> ()</translation> <translation> ()</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="166"/> <location filename="../src/gui/sharelinkwidget.cpp" line="166"/>
<source>Send link by email</source> <source>Send link by email</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="167"/> <location filename="../src/gui/sharelinkwidget.cpp" line="167"/>
<source>Send link by email (direct download)</source> <source>Send link by email (direct download)</source>
<translation> ()</translation> <translation> ()</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source>
<translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>Confirm Link Share Deletion</source>
<translation></translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;: &lt;/p&gt;</translation> <translation>&lt;p&gt;&lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;: &lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -2822,7 +2822,7 @@ It is not advisable to use it.</source>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="239"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="239"/>
<source>Send link by email</source> <source>Send link by email</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="249"/> <location filename="../src/gui/shareusergroupwidget.cpp" line="249"/>
@@ -2935,12 +2935,12 @@ It is not advisable to use it.</source>
<message> <message>
<location filename="../src/gui/socketapi.cpp" line="567"/> <location filename="../src/gui/socketapi.cpp" line="567"/>
<source>Copy private link to clipboard</source> <source>Copy private link to clipboard</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/socketapi.cpp" line="568"/> <location filename="../src/gui/socketapi.cpp" line="568"/>
<source>Send private link by email...</source> <source>Send private link by email...</source>
<translation>...</translation> <translation>...</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -3318,7 +3318,7 @@ It is not advisable to use it.</source>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="443"/> <location filename="../src/libsync/syncengine.cpp" line="443"/>
<source>Symbolic links are not supported in syncing.</source> <source>Symbolic links are not supported in syncing.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/syncengine.cpp" line="446"/> <location filename="../src/libsync/syncengine.cpp" line="446"/>

View File

@@ -2536,28 +2536,28 @@ Kullanmanız önerilmez.</translation>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Etkinlik</translation> <translation>Etkinlik</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Genel</translation> <translation>Genel</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Hesap</translation> <translation>Hesap</translation>
</message> </message>
@@ -2684,12 +2684,12 @@ Kullanmanız önerilmez.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>&amp;Parola koruması</translation> <translation>&amp;Parola koruması</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Parola Korumalı</translation> <translation>Parola Korumalı</translation>
</message> </message>
@@ -2710,7 +2710,7 @@ Kullanmanız önerilmez.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Sil</translation> <translation>Sil</translation>
</message> </message>
@@ -2740,38 +2740,38 @@ Kullanmanız önerilmez.</translation>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>İptal</translation> <translation>İptal</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>Herkese &amp;ık paylaşım için parola gerekir</translation> <translation>Herkese &amp;ık paylaşım için parola gerekir</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation>Lütfen Parola Atayın</translation> <translation>Lütfen Parola Atayın</translation>
</message> </message>

View File

@@ -83,12 +83,12 @@
<message> <message>
<location filename="../src/libsync/abstractnetworkjob.cpp" line="247"/> <location filename="../src/libsync/abstractnetworkjob.cpp" line="247"/>
<source>Unknown error: network reply was deleted</source> <source>Unknown error: network reply was deleted</source>
<translation type="unfinished"/> <translation>Незнайома помилка: відповідь мережі була видалена</translation>
</message> </message>
<message> <message>
<location filename="../src/libsync/abstractnetworkjob.cpp" line="390"/> <location filename="../src/libsync/abstractnetworkjob.cpp" line="390"/>
<source>Server replied &quot;%1 %2&quot; to &quot;%3 %4&quot;</source> <source>Server replied &quot;%1 %2&quot; to &quot;%3 %4&quot;</source>
<translation type="unfinished"/> <translation>Сервер відповів &quot;%1 %2&quot; на &quot;%3 %4&quot;</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -228,7 +228,7 @@
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="650"/> <location filename="../src/gui/accountsettings.cpp" line="650"/>
<source>The server version %1 is old and unsupported! Proceed at your own risk.</source> <source>The server version %1 is old and unsupported! Proceed at your own risk.</source>
<translation type="unfinished"/> <translation>Версія на вашому сервері %1 застаріла та вже не підтримується! Продовжуйте на свій ризик та розсуд.</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="652"/> <location filename="../src/gui/accountsettings.cpp" line="652"/>
@@ -258,7 +258,7 @@
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="671"/> <location filename="../src/gui/accountsettings.cpp" line="671"/>
<source>Connecting to %1...</source> <source>Connecting to %1...</source>
<translation type="unfinished"/> <translation>З&apos;єднання з %1...</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="674"/> <location filename="../src/gui/accountsettings.cpp" line="674"/>
@@ -567,7 +567,7 @@
<message> <message>
<location filename="../src/gui/application.cpp" line="168"/> <location filename="../src/gui/application.cpp" line="168"/>
<source>Quit ownCloud</source> <source>Quit ownCloud</source>
<translation type="unfinished"/> <translation>Вийти з ownCloud</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -1387,7 +1387,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="20"/> <location filename="../src/gui/issueswidget.ui" line="20"/>
<source>List of issues</source> <source>List of issues</source>
<translation type="unfinished"/> <translation>Перелік проблем</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/issueswidget.ui" line="34"/> <location filename="../src/gui/issueswidget.ui" line="34"/>
@@ -2534,28 +2534,28 @@ It is not advisable to use it.</source>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation>Активність</translation> <translation>Активність</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation>Загалом</translation> <translation>Загалом</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation>Мережа</translation> <translation>Мережа</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation>Обліковий запис</translation> <translation>Обліковий запис</translation>
</message> </message>
@@ -2682,12 +2682,12 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>&amp;Захистити паролем</translation> <translation>&amp;Захистити паролем</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation>Захищено паролем</translation> <translation>Захищено паролем</translation>
</message> </message>
@@ -2708,7 +2708,7 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation>Видалити</translation> <translation>Видалити</translation>
</message> </message>
@@ -2738,38 +2738,38 @@ It is not advisable to use it.</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Скасувати</translation> <translation>Скасувати</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>Публічне по&amp;ширення вимагає пароль</translation> <translation>Публічне по&amp;ширення вимагає пароль</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>

View File

@@ -2545,28 +2545,28 @@ It is not advisable to use it.</source>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -2693,12 +2693,12 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>(&amp;a)</translation> <translation>(&amp;a)</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -2719,7 +2719,7 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -2749,38 +2749,38 @@ It is not advisable to use it.</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation></translation> <translation></translation>
</message> </message>

View File

@@ -2537,28 +2537,28 @@ It is not advisable to use it.</source>
<context> <context>
<name>OCC::SettingsDialogMac</name> <name>OCC::SettingsDialogMac</name>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="93"/> <location filename="../src/gui/settingsdialogmac.cpp" line="94"/>
<source>%1</source> <source>%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="97"/> <location filename="../src/gui/settingsdialogmac.cpp" line="98"/>
<source>Activity</source> <source>Activity</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="111"/> <location filename="../src/gui/settingsdialogmac.cpp" line="112"/>
<source>General</source> <source>General</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="115"/> <location filename="../src/gui/settingsdialogmac.cpp" line="116"/>
<source>Network</source> <source>Network</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/> <location filename="../src/gui/settingsdialogmac.cpp" line="154"/>
<location filename="../src/gui/settingsdialogmac.cpp" line="211"/> <location filename="../src/gui/settingsdialogmac.cpp" line="221"/>
<source>Account</source> <source>Account</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -2671,7 +2671,7 @@ It is not advisable to use it.</source>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="220"/> <location filename="../src/gui/sharelinkwidget.ui" line="220"/>
<source>Show file listing</source> <source>Show file listing</source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.ui" line="200"/> <location filename="../src/gui/sharelinkwidget.ui" line="200"/>
@@ -2685,12 +2685,12 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="117"/> <location filename="../src/gui/sharelinkwidget.cpp" line="117"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="301"/> <location filename="../src/gui/sharelinkwidget.cpp" line="300"/>
<source>P&amp;assword protect</source> <source>P&amp;assword protect</source>
<translation>&amp;</translation> <translation>&amp;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="414"/> <location filename="../src/gui/sharelinkwidget.cpp" line="413"/>
<source>Password Protected</source> <source>Password Protected</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -2711,7 +2711,7 @@ It is not advisable to use it.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="168"/> <location filename="../src/gui/sharelinkwidget.cpp" line="168"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="527"/> <location filename="../src/gui/sharelinkwidget.cpp" line="526"/>
<source>Delete</source> <source>Delete</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -2741,38 +2741,38 @@ It is not advisable to use it.</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="520"/> <location filename="../src/gui/sharelinkwidget.cpp" line="519"/>
<source>Confirm Link Share Deletion</source> <source>Confirm Link Share Deletion</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="521"/> <location filename="../src/gui/sharelinkwidget.cpp" line="520"/>
<source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source> <source>&lt;p&gt;Do you really want to delete the public link share &lt;i&gt;%1&lt;/i&gt;?&lt;/p&gt;&lt;p&gt;Note: This action cannot be undone.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="528"/> <location filename="../src/gui/sharelinkwidget.cpp" line="527"/>
<source>Cancel</source> <source>Cancel</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="63"/> <location filename="../src/gui/sharelinkwidget.cpp" line="63"/>
<location filename="../src/gui/sharelinkwidget.cpp" line="544"/> <location filename="../src/gui/sharelinkwidget.cpp" line="543"/>
<source>Public link</source> <source>Public link</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="254"/> <location filename="../src/gui/sharelinkwidget.cpp" line="253"/>
<source>Delete link share</source> <source>Delete link share</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="459"/> <location filename="../src/gui/sharelinkwidget.cpp" line="458"/>
<source>Public sh&amp;aring requires a password</source> <source>Public sh&amp;aring requires a password</source>
<translation>&amp;</translation> <translation>&amp;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/sharelinkwidget.cpp" line="477"/> <location filename="../src/gui/sharelinkwidget.cpp" line="476"/>
<source>Please Set Password</source> <source>Please Set Password</source>
<translation></translation> <translation></translation>
</message> </message>