mirror of
https://github.com/chylex/Nextcloud-Desktop.git
synced 2026-04-04 12:11:33 +02:00
Compare commits
214 Commits
v2.5.0-rc2
...
v2.5.2-rc1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e2309362e1 | ||
|
|
a20ac05357 | ||
|
|
c9d4360fb6 | ||
|
|
63fe2a7098 | ||
|
|
9931977266 | ||
|
|
d4a77be3f8 | ||
|
|
79dd8397d7 | ||
|
|
d564279254 | ||
|
|
97c54249d5 | ||
|
|
652304e82e | ||
|
|
86251ff2e3 | ||
|
|
ae7ad8fb4f | ||
|
|
822c386709 | ||
|
|
50ebc49d69 | ||
|
|
eb3245b241 | ||
|
|
af443461e3 | ||
|
|
e2293eddce | ||
|
|
b34708da29 | ||
|
|
0c21852bc3 | ||
|
|
944f9e9668 | ||
|
|
5c2996deb7 | ||
|
|
33d272e941 | ||
|
|
bf81a473af | ||
|
|
a46548fc04 | ||
|
|
21b7257150 | ||
|
|
7c1401da1c | ||
|
|
c53e9cb417 | ||
|
|
e3731e40aa | ||
|
|
218ffd0cd8 | ||
|
|
9195452878 | ||
|
|
67c25ca4b9 | ||
|
|
75ddd315e3 | ||
|
|
179ab90fce | ||
|
|
198b95676a | ||
|
|
63e5e4e92d | ||
|
|
107bf5db6d | ||
|
|
38449bf179 | ||
|
|
8710d70a0a | ||
|
|
b0e8837b94 | ||
|
|
aadd2ff7ac | ||
|
|
7dfe21fe35 | ||
|
|
310266f9fa | ||
|
|
33e3b7098f | ||
|
|
e5b5573711 | ||
|
|
5e4abbc0c1 | ||
|
|
9e6e6dd5db | ||
|
|
79e196a22f | ||
|
|
d73c4273ad | ||
|
|
86a1bc36cb | ||
|
|
aa600b4a24 | ||
|
|
27298a2056 | ||
|
|
5ebee92991 | ||
|
|
9ec61a84ce | ||
|
|
cacf3e9924 | ||
|
|
dc993d3ebe | ||
|
|
51829bfb47 | ||
|
|
6dfe160cef | ||
|
|
a2f1ee05ba | ||
|
|
76b9d5c0c3 | ||
|
|
51d349f527 | ||
|
|
188125dd88 | ||
|
|
d8aed94ab1 | ||
|
|
86d7d41e40 | ||
|
|
74454d0452 | ||
|
|
0dcf6c6024 | ||
|
|
0a14f6eeb1 | ||
|
|
b59b633a3d | ||
|
|
d6b34323c5 | ||
|
|
716517db98 | ||
|
|
76c515b09c | ||
|
|
ac367b21bc | ||
|
|
1361c3053a | ||
|
|
b46ee79081 | ||
|
|
9cea77b0fb | ||
|
|
c04addc5c4 | ||
|
|
c2f4326908 | ||
|
|
f6d3229b38 | ||
|
|
3451970751 | ||
|
|
09b0055dc3 | ||
|
|
24907acc2a | ||
|
|
01bbfaacf3 | ||
|
|
6d5da44947 | ||
|
|
071709ab5e | ||
|
|
1295884420 | ||
|
|
6d661e0b3d | ||
|
|
e0430288ce | ||
|
|
a7b16e3c28 | ||
|
|
abe22d8fe6 | ||
|
|
1ad7116045 | ||
|
|
72777be571 | ||
|
|
840904d527 | ||
|
|
f91678ef24 | ||
|
|
6cf390f753 | ||
|
|
20b9404539 | ||
|
|
0ff23eabca | ||
|
|
b37cbea5cc | ||
|
|
fc18fd9a06 | ||
|
|
07116707e5 | ||
|
|
0f935b06e9 | ||
|
|
a0d6f5fb60 | ||
|
|
4ddfc04534 | ||
|
|
9fb5b4a92d | ||
|
|
b97d8ba6db | ||
|
|
7d8bba6786 | ||
|
|
f0c6825746 | ||
|
|
1490b186f9 | ||
|
|
8b64db6344 | ||
|
|
ab85dfcd67 | ||
|
|
13fdb32d4f | ||
|
|
72901a4ed8 | ||
|
|
558d3ad492 | ||
|
|
0a04419180 | ||
|
|
fdbc523f85 | ||
|
|
287d78ffd3 | ||
|
|
8418507483 | ||
|
|
d1b9d100b4 | ||
|
|
b93c762205 | ||
|
|
528e1bef37 | ||
|
|
73aed1d630 | ||
|
|
7b446eef93 | ||
|
|
1afaa22ddb | ||
|
|
bdd5d423ed | ||
|
|
44b5e07a80 | ||
|
|
d8c0fb856c | ||
|
|
6cc496633f | ||
|
|
1d0bf08a1c | ||
|
|
a3d1bd3a42 | ||
|
|
1c0fbba98e | ||
|
|
2d6c5f393f | ||
|
|
eaf339b11d | ||
|
|
3a50b57b5a | ||
|
|
6c0cd4bd3a | ||
|
|
d6170271e9 | ||
|
|
6f145e3a80 | ||
|
|
3c193143f2 | ||
|
|
b25e15347b | ||
|
|
a8cce41f35 | ||
|
|
f0f691fffc | ||
|
|
847706432b | ||
|
|
bd93489b14 | ||
|
|
96d0059ca4 | ||
|
|
df802472cb | ||
|
|
94750a5ea1 | ||
|
|
fae1c0dbdd | ||
|
|
b546e7c224 | ||
|
|
cd58850f5b | ||
|
|
7d3242077b | ||
|
|
3f2ff2e6ba | ||
|
|
433a059223 | ||
|
|
d6feb984c3 | ||
|
|
41f2864ac9 | ||
|
|
b1a2683e62 | ||
|
|
4febf7c70b | ||
|
|
b8f0721fcb | ||
|
|
8f95f68f06 | ||
|
|
c9b7078fb7 | ||
|
|
f0b96445d2 | ||
|
|
bcb4b44c69 | ||
|
|
82f9ec78dc | ||
|
|
5a26e7dabe | ||
|
|
6718f5ad58 | ||
|
|
88c738dd21 | ||
|
|
2d79ea5262 | ||
|
|
cc7abc02f4 | ||
|
|
e2c813bfca | ||
|
|
5695aba5d7 | ||
|
|
0f9e32d49c | ||
|
|
0d9d942ab7 | ||
|
|
9de32d2cb7 | ||
|
|
53c89e2196 | ||
|
|
b0959a6292 | ||
|
|
1af9bf8abc | ||
|
|
0d1c15a768 | ||
|
|
48acaec66f | ||
|
|
9f6bb617e9 | ||
|
|
c5a4694c74 | ||
|
|
0f2294cef4 | ||
|
|
778489d445 | ||
|
|
ba53a01339 | ||
|
|
8217c44ee5 | ||
|
|
fff64e8aa5 | ||
|
|
8e38e2ac86 | ||
|
|
fb5ff96ed6 | ||
|
|
371001c9ff | ||
|
|
91602574a9 | ||
|
|
8367dbc67f | ||
|
|
ee96d998e5 | ||
|
|
a73da99d78 | ||
|
|
f25ef73772 | ||
|
|
cf0838643f | ||
|
|
559fd910d8 | ||
|
|
3a0c7f64c0 | ||
|
|
7925c6c081 | ||
|
|
9c0e5c2b19 | ||
|
|
c387592e47 | ||
|
|
b1d68f311d | ||
|
|
f5586baee7 | ||
|
|
bb2d31a2bd | ||
|
|
82cbee3f9d | ||
|
|
347f4c8675 | ||
|
|
3a6d0ee29c | ||
|
|
ee8bcb2a5b | ||
|
|
1b6e0c5292 | ||
|
|
32cf2f2622 | ||
|
|
6bd6bd3ed9 | ||
|
|
13e1b6a34a | ||
|
|
6ada87ed15 | ||
|
|
da367f17ab | ||
|
|
d01a99e9e5 | ||
|
|
b8d97b590f | ||
|
|
5a1fed8e23 | ||
|
|
fe60a2a570 | ||
|
|
aee0363876 | ||
|
|
abac2c327e |
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[ca]=@APPLICATION_NAME@ client de sincronització d'escriptori
|
||||
Icon[ca]=@APPLICATION_ICON_NAME@
|
||||
Name[ca]=@APPLICATION_NAME@ client de sincro d'escriptori
|
||||
Comment[ca]=@APPLICATION_NAME@ client de sincronització d'escriptori
|
||||
GenericName[ca]=Directori de sincronització
|
||||
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[cs_CZ]=@APPLICATION_NAME@ synchronizační klient pro desktop
|
||||
Icon[cs_CZ]=@NAZEV_IKONY_APLIKACE@
|
||||
Name[cs_CZ]=@APPLICATION_NAME@ synchronizační klient pro desktop
|
||||
Comment[cs_CZ]=@APPLICATION_NAME@ synchronizační klient pro desktop
|
||||
GenericName[cs_CZ]=Synchronizace složek
|
||||
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation
|
||||
Icon[de_DE]=@APPLICATION_ICON_NAME@
|
||||
Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation
|
||||
GenericName[de_DE]=Synchronisationsordner
|
||||
Icon[de]=@APPLICATION_ICON_NAME@
|
||||
Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation
|
||||
Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation
|
||||
GenericName[de]=Synchronisationsordner
|
||||
|
||||
201
.tx/nextcloud.client-desktop/el_translation
Normal file
201
.tx/nextcloud.client-desktop/el_translation
Normal file
@@ -0,0 +1,201 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
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
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
GenericName[el]=Συγχρονισμός φακέλου
|
||||
@@ -198,6 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[en_GB]=@APPLICATION_NAME@ desktop synchronisation client
|
||||
Icon[en_GB]=@APPLICATION_ICON_NAME@
|
||||
Name[en_GB]=@APPLICATION_NAME@ desktop sync client
|
||||
Comment[en_GB]=@APPLICATION_NAME@ desktop synchronisation client
|
||||
GenericName[en_GB]=Folder Sync
|
||||
|
||||
204
.tx/nextcloud.client-desktop/eo_translation
Normal file
204
.tx/nextcloud.client-desktop/eo_translation
Normal file
@@ -0,0 +1,204 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
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
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[eo]=@APPLICATION_ICON_NAME@
|
||||
Name[eo]=@APPLICATION_NAME@ sinkroniga kliento
|
||||
Comment[eo]=@APPLICATION_NAME@ sinkroniga kliento
|
||||
GenericName[eo]=Dosieruja sinkronigo
|
||||
@@ -198,6 +198,6 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[es_CL]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Name[es_CL]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Comment[es_CL]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
GenericName[es_CL]=Sincronización de carpeta
|
||||
|
||||
@@ -198,6 +198,6 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[es_CO]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Name[es_CO]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Comment[es_CO]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
GenericName[es_CO]=Sincronización de carpeta
|
||||
|
||||
@@ -198,6 +198,6 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[es_CR]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Name[es_CR]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Comment[es_CR]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
GenericName[es_CR]=Sincronización de carpeta
|
||||
|
||||
@@ -198,6 +198,6 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[es_DO]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Name[es_DO]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Comment[es_DO]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
GenericName[es_DO]=Sincronización de carpeta
|
||||
|
||||
@@ -198,6 +198,6 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[es_EC]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Name[es_EC]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Comment[es_EC]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
GenericName[es_EC]=Sincronización de carpeta
|
||||
|
||||
@@ -198,6 +198,6 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[es_GT]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Name[es_GT]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Comment[es_GT]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
GenericName[es_GT]=Sincronización de carpeta
|
||||
|
||||
@@ -198,6 +198,6 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[es_MX]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Name[es_MX]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Comment[es_MX]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
GenericName[es_MX]=Sincronización de carpeta
|
||||
|
||||
@@ -198,6 +198,6 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[es_SV]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Name[es_SV]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Comment[es_SV]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
GenericName[es_SV]=Sincronización de carpeta
|
||||
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[es]=Cliente de sincronización de escritorio @APPLICATION_NAME@
|
||||
Icon[es]=@APPLICATION_ICON_NAME@
|
||||
Name[es]=Cliente de sincronización de escritorio @APPLICATION_NAME@
|
||||
Comment[es]=Cliente de sincronización de escritorio @APPLICATION_NAME@
|
||||
GenericName[es]=Sincronización de carpetas
|
||||
|
||||
204
.tx/nextcloud.client-desktop/eu_translation
Normal file
204
.tx/nextcloud.client-desktop/eu_translation
Normal file
@@ -0,0 +1,204 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
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
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[eu]=@APPLICATION_ICON_NAME@
|
||||
Name[eu]=@APPLICATION_NAME@ mahaigainerako sinkronizazio bezeroa
|
||||
Comment[eu]=@APPLICATION_NAME@ mahaigainerako sinkronizazio bezeroa
|
||||
GenericName[eu]=Karpeta-sinkronizazioa
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[fr]=Client de synchronisation @APPLICATION_NAME@ desktop
|
||||
Icon[fr]=@APPLICATION_ICON_NAME@
|
||||
Name[fr]=Client desktop de synchronisation @APPLICATION_NAME@
|
||||
Name[fr]=Client de synchro @APPLICATION_NAME@
|
||||
Comment[fr]=Client de synchronisation @APPLICATION_NAME@
|
||||
GenericName[fr]=Synchronisation du dossier
|
||||
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[gl]=@APPLICATION_NAME@ cliente de sincronización para escritorio
|
||||
Icon[gl]=@APPLICATION_ICON_NAME@
|
||||
Name[gl]=@APPLICATION_NAME@ cliente de sincr escritorio
|
||||
GenericName[gl]=Sincr. de cartafol
|
||||
Name[gl]=@APPLICATION_NAME@ cliente de sincronización para escritorio
|
||||
Comment[gl]=@APPLICATION_NAME@ cliente de sincronización para escritorio
|
||||
GenericName[gl]=Sincronización de cartafol
|
||||
|
||||
@@ -198,6 +198,6 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[he]=@APPLICATION_NAME@ לקוח סנכרון לשולחן העבודה
|
||||
Name[he]=@APPLICATION_NAME@ לקוח סנכרון לשולחן העבודה
|
||||
Comment[he]=@APPLICATION_NAME@ לקוח סנכרון לשולחן העבודה
|
||||
GenericName[he]=סנכרון תיקיות
|
||||
|
||||
@@ -198,6 +198,6 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[hr]=klijent za sinkronizaciju računala
|
||||
Name[hr]=sinkronizacija računala
|
||||
Comment[hr]=klijent za sinkronizaciju računala
|
||||
GenericName[hr]=Sinkronizacija mapa
|
||||
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[hu_HU]=@APPLICATION_NAME@ deszktop szinkronizációs kliens
|
||||
Icon[hu_HU]=@APPLICATION_ICON_NAME@
|
||||
Name[hu_HU]=@APPLICATION_NAME@ deszktop szinkronizációs kliens
|
||||
GenericName[hu_HU]=Mappa szinkronizáció
|
||||
Name[hu_HU]=@APPLICATION_NAME@ Asztali szinkronizáló kliens
|
||||
Comment[hu_HU]=@APPLICATION_NAME@ Asztali szinkronizáló kliens
|
||||
GenericName[hu_HU]=Mappa szinkronizálás
|
||||
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[is]=@APPLICATION_NAME@ forrit til samstillingar við tölvu
|
||||
Icon[is]=@APPLICATION_ICON_NAME@
|
||||
Name[is]=@APPLICATION_NAME@ forrit til samstillingar við tölvu
|
||||
Comment[is]=@APPLICATION_NAME@ forrit til samstillingar við tölvu
|
||||
GenericName[is]=Samstilling á möppum
|
||||
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[it]=Client di sincronizzazione desktop di @APPLICATION_NAME@
|
||||
Icon[it]=@APPLICATION_ICON_NAME@
|
||||
Name[it]=Client di sincronizzazione desktop di @APPLICATION_NAME@
|
||||
Comment[it]=Client di sincronizzazione desktop di @APPLICATION_NAME@
|
||||
GenericName[it]=Sincronizzazione cartelle
|
||||
|
||||
@@ -198,6 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント
|
||||
Icon[ja_JP]=@APPLICATION_ICON_NAME@
|
||||
Name[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント
|
||||
Comment[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント
|
||||
GenericName[ja_JP]=フォルダーを同期する
|
||||
|
||||
203
.tx/nextcloud.client-desktop/ko_translation
Normal file
203
.tx/nextcloud.client-desktop/ko_translation
Normal file
@@ -0,0 +1,203 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
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
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[ko]=@APPLICATION_ICON_NAME@
|
||||
Comment[ko]=@APPLICATION_NAME@ 데스크톱 동기화 클라이언트
|
||||
GenericName[ko]=폴더 동기화
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[lt_LT]=@APPLICATION_NAME@ darbalaukio sinchronizavimo kliento programa
|
||||
Icon[lt_LT]=@APPLICATION_ICON_NAME@
|
||||
Name[lt_LT]=@APPLICATION_NAME@ darbalaukio sinchronizavimo kliento programa
|
||||
Comment[lt_LT]=@APPLICATION_NAME@ darbalaukio sinchronizavimo kliento programa
|
||||
GenericName[lt_LT]=Aplankų sinchronizavimas
|
||||
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[lv]=@APPLICATION_NAME@ darbavirsmas sinhronizešanas klients
|
||||
Icon[lv]=@APPLICATION_ICON_NAME@
|
||||
Name[lv]=@APPLICATION_NAME@ darbavirsmas sinhronizešanas klients
|
||||
Comment[lv]=@APPLICATION_NAME@ darbavirsmas sinhronizešanas klients
|
||||
GenericName[lv]=Mapju Sinhronizēšana
|
||||
|
||||
@@ -198,6 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[nb_NO]=@APPLICATION_NAME@ klient for synkroinisering
|
||||
Icon[nb_NO]=@APPLICATION_ICON_NAME@
|
||||
Name[nb_NO]=@APPLICATION_NAME@ klient for synkroinisering
|
||||
Comment[nb_NO]=@APPLICATION_NAME@ klient for synkroinisering
|
||||
GenericName[nb_NO]=Mappe synkroinisering
|
||||
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[nl]=@APPLICATION_NAME@ desktopsynchronisatieclient
|
||||
Icon[nl]=@APPLICATION_ICON_NAME@
|
||||
Name[nl]=@APPLICATION_NAME@ desktop sync client
|
||||
Comment[nl]=@APPLICATION_NAME@ desktopsynchronisatieclient
|
||||
GenericName[nl]=Map synchronisatie
|
||||
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[pl]=@APPLICATION_NAME@ desktopowy klient synchronizacji
|
||||
Icon[pl]=@APPLICATION_ICON_NAME@
|
||||
Name[pl]=@APPLICATION_NAME@ desktopowy klient synchronizacji
|
||||
Comment[pl]=@APPLICATION_NAME@ desktopowy klient synchronizacji
|
||||
GenericName[pl]=Katalog synchronizacji
|
||||
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[pt_BR]=@APPLICATION_NAME@ cliente de sincronização desktop
|
||||
Icon[pt_BR]=@APPLICATION_ICON_NAME@
|
||||
Name[pt_BR]=@APPLICATION_NAME@ cliente de sincronização desktop
|
||||
Comment[pt_BR]=@APPLICATION_NAME@ cliente de sincronização desktop
|
||||
GenericName[pt_BR]=Sincronizar Pasta
|
||||
|
||||
@@ -198,6 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[pt_PT]=@APPLICATION_NAME@ - Cliente de Sincronização da Área de Trabalho
|
||||
Icon[pt_PT]=@APPLICATION_ICON_NAME@
|
||||
Name[pt_PT]=@APPLICATION_NAME@ - Cliente de Sincronização da Área de Trabalho
|
||||
Comment[pt_PT]=@APPLICATION_NAME@ - Cliente de Sincronização da Área de Trabalho
|
||||
GenericName[pt_PT]=Sincronização de Pasta
|
||||
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[ru]=Клиент синхронизации @APPLICATION_NAME@ для ПК
|
||||
Icon[ru]=@APPLICATION_ICON_NAME@
|
||||
Name[ru]=@APPLICATION_NAME@ клиент для ПК
|
||||
Name[ru]=@APPLICATION_NAME@ для ПК
|
||||
Comment[ru]=Клиент синхронизации @APPLICATION_NAME@ для ПК
|
||||
GenericName[ru]=Синхронизация папок
|
||||
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[sk_SK]=@APPLICATION_NAME@ Synchronizačný klient pre PC
|
||||
Icon[sk_SK]=@APPLICATION_ICON_NAME@
|
||||
Name[sk_SK]=@APPLICATION_NAME@ Synchronizačný klient pre PC
|
||||
Comment[sk_SK]=@APPLICATION_NAME@ Synchronizačný klient pre PC
|
||||
GenericName[sk_SK]=Synchnonizácia priečinka
|
||||
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[sl]=@APPLICATION_NAME@ odjemalec za usklajevanje
|
||||
Icon[sl]=@APPLICATION_ICON_NAME@
|
||||
Name[sl]=@APPLICATION_NAME@ odjemalec za usklajevanje
|
||||
Comment[sl]=@APPLICATION_NAME@ odjemalec za usklajevanje
|
||||
GenericName[sl]=Usklajevanje map
|
||||
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[sr]=@APPLICATION_NAME@ десктоп клијент за синхронизацију
|
||||
Icon[sr]=@APPLICATION_ICON_NAME@
|
||||
Name[sr]=@APPLICATION_NAME@ десктоп клијент за синхронизацију
|
||||
Comment[sr]=@APPLICATION_NAME@ десктоп клијент за синхронизацију
|
||||
GenericName[sr]=Синхронизација фасцикли
|
||||
|
||||
202
.tx/nextcloud.client-desktop/sv_translation
Normal file
202
.tx/nextcloud.client-desktop/sv_translation
Normal file
@@ -0,0 +1,202 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
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
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[sv]=@APPLICATION_ICON_NAME@
|
||||
GenericName[sv]=Mappsynkronisering
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[tr]=@APPLICATION_NAME@ masaüstü eşitleme istemcisi
|
||||
Icon[tr]=@APPLICATION_ICON_NAME@
|
||||
Name[tr]=@APPLICATION_NAME@ masaüstü eşiteme istemcisi
|
||||
Comment[tr]=@APPLICATION_NAME@ masaüstü eşitleme istemcisi
|
||||
GenericName[tr]=Klasör Eşitleme
|
||||
|
||||
204
.tx/nextcloud.client-desktop/uk_translation
Normal file
204
.tx/nextcloud.client-desktop/uk_translation
Normal file
@@ -0,0 +1,204 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
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
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[uk]=@APPLICATION_ICON_NAME@
|
||||
Name[uk]=@APPLICATION_NAME@ клієнт для ПК
|
||||
Comment[uk]=Клієнт синхронізації @APPLICATION_NAME@ для ПК
|
||||
GenericName[uk]=Синхронізація каталогів
|
||||
@@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[zh_CN]=@APPLICATION_NAME@ 桌面同步客户端
|
||||
Icon[zh_CN]=@APPLICATION_ICON_NAME@
|
||||
Name[zh_CN]=@APPLICATION_NAME@ 桌面同步客户端
|
||||
Comment[zh_CN]=@APPLICATION_NAME@ 桌面同步客户端
|
||||
GenericName[zh_CN]=文件夹同步
|
||||
|
||||
@@ -198,6 +198,6 @@ X-GNOME-Autostart-Delay=3
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[zh_TW]=@APPLICATION_NAME@ 桌面同步客戶端
|
||||
Name[zh_TW]=@APPLICATION_NAME@ 桌面同步客戶端
|
||||
Comment[zh_TW]=@APPLICATION_NAME@ 桌面同步客戶端
|
||||
GenericName[zh_TW]=資料夾同步
|
||||
|
||||
@@ -21,7 +21,7 @@ If your issue appears to be a bug, and hasn't been reported, open a new issue.
|
||||
Help us to maximize the effort we can spend fixing issues and adding new
|
||||
features, by not reporting duplicate issues.
|
||||
|
||||
[template]: https://raw.githubusercontent.com/nextcloud/appstore/master/.github/issue_template.md
|
||||
[template]: https://raw.githubusercontent.com/nextcloud/desktop/master/.github/issue_template.md
|
||||
[support]: https://nextcloud.com/support/
|
||||
[forum]: https://help.nextcloud.com/categories
|
||||
[irc]: https://webchat.freenode.net/?channels=nextcloud
|
||||
|
||||
@@ -4,7 +4,9 @@ set( APPLICATION_EXECUTABLE "nextcloud" )
|
||||
set( APPLICATION_DOMAIN "nextcloud.com" )
|
||||
set( APPLICATION_VENDOR "Nextcloud GmbH" )
|
||||
set( APPLICATION_UPDATE_URL "https://updates.nextcloud.org/client/" CACHE string "URL for updater" )
|
||||
set( APPLICATION_HELP_URL "" CACHE string "URL for the help menu" )
|
||||
set( APPLICATION_ICON_NAME "Nextcloud" )
|
||||
set( APPLICATION_SERVER_URL "" CACHE string "URL for the server to use. If entered the server can only connect to this instance" )
|
||||
|
||||
set( LINUX_PACKAGE_SHORTNAME "nextcloud" )
|
||||
|
||||
@@ -22,3 +24,10 @@ option( WITH_CRASHREPORTER "Build crashreporter" OFF )
|
||||
#set( CRASHREPORTER_ICON ":/owncloud-icon.png" )
|
||||
|
||||
option( WITH_PROVIDERS "Build with providers list" ON )
|
||||
|
||||
|
||||
## Theming options
|
||||
set( APPLICATION_WIZARD_HEADER_BACKGROUND_COLOR "#0082c9" CACHE string "Hex color of the wizard header background")
|
||||
set( APPLICATION_WIZARD_HEADER_TITLE_COLOR "#ffffff" CACHE string "Hex color of the text in the wizard header")
|
||||
option( APPLICATION_WIZARD_USE_CUSTOM_LOGO "Use the logo from ':/client/theme/colored/wizard_logo.png' else the default application icon is used" ON )
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
set( MIRALL_VERSION_MAJOR 2 )
|
||||
set( MIRALL_VERSION_MINOR 5 )
|
||||
set( MIRALL_VERSION_PATCH 0 )
|
||||
set( MIRALL_VERSION_YEAR 2018 )
|
||||
set( MIRALL_VERSION_PATCH 2 )
|
||||
set( MIRALL_VERSION_YEAR 2019 )
|
||||
set( MIRALL_SOVERSION 0 )
|
||||
|
||||
if ( NOT DEFINED MIRALL_VERSION_SUFFIX )
|
||||
|
||||
23
admin/linux/debian/debian.disco/changelog
Normal file
23
admin/linux/debian/debian.disco/changelog
Normal file
@@ -0,0 +1,23 @@
|
||||
nextcloud-client (2.3.3-1.0~disco1) disco; urgency=medium
|
||||
|
||||
* Debian build support for the forked client.
|
||||
|
||||
-- István Váradi <ivaradi@varadiistvan.hu> Mon, 6 Nov 2017 20:20:04 +0100
|
||||
|
||||
nextcloud-client (2.3.1-1.0~disco1) disco; urgency=medium
|
||||
|
||||
* New upstream version
|
||||
|
||||
-- István Váradi <ivaradi@varadiistvan.hu> Thu, 23 Mar 2017 19:07:36 +0100
|
||||
|
||||
nextcloud-client (2.3.0-1.0~disco1) disco; urgency=medium
|
||||
|
||||
* New upstream version
|
||||
|
||||
-- István Váradi <ivaradi@varadiistvan.hu> Tue, 21 Mar 2017 19:34:13 +0100
|
||||
|
||||
nextcloud-client (2.2.4-1.4~disco1) disco; urgency=medium
|
||||
|
||||
* The locale-specific icon names are correct too
|
||||
|
||||
-- István Váradi <ivaradi@varadiistvan.hu> Tue, 7 Feb 2017 19:55:40 +0100
|
||||
@@ -3,11 +3,11 @@
|
||||
set -xe
|
||||
shopt -s extglob
|
||||
|
||||
PPA=ppa:nextcloud-devs/client-beta
|
||||
PPA_BETA=ppa:nextcloud-devs/client-alpha
|
||||
PPA=ppa:nextcloud-devs/client
|
||||
PPA_BETA=ppa:nextcloud-devs/client-beta
|
||||
|
||||
OBS_PROJECT=home:ivaradi:beta
|
||||
OBS_PROJECT_BETA=home:ivaradi:alpha
|
||||
OBS_PROJECT=home:ivaradi
|
||||
OBS_PROJECT_BETA=home:ivaradi:beta
|
||||
OBS_PACKAGE=nextcloud-client
|
||||
|
||||
pull_request=${DRONE_PULL_REQUEST:=master}
|
||||
@@ -36,12 +36,11 @@ read basever kind <<<$(admin/linux/debian/scripts/git2changelog.py /tmp/tmpchang
|
||||
cd "${DRONE_DIR}"
|
||||
|
||||
echo "$kind" > kind
|
||||
kind="release"
|
||||
|
||||
if test "$kind" = "beta"; then
|
||||
repo=nextcloud-devs/client-alpha
|
||||
else
|
||||
repo=nextcloud-devs/client-beta
|
||||
else
|
||||
repo=nextcloud-devs/client
|
||||
fi
|
||||
|
||||
origsourceopt=""
|
||||
@@ -52,7 +51,7 @@ if ! wget http://ppa.launchpad.net/${repo}/ubuntu/pool/main/n/nextcloud-client/n
|
||||
origsourceopt="-sa"
|
||||
fi
|
||||
|
||||
for distribution in xenial bionic cosmic stable; do
|
||||
for distribution in xenial bionic cosmic disco stable; do
|
||||
rm -rf nextcloud-client_${basever}
|
||||
cp -a ${DRONE_WORKSPACE} nextcloud-client_${basever}
|
||||
|
||||
|
||||
@@ -73,11 +73,13 @@ def collectEntries(baseCommit, baseVersion, kind):
|
||||
(commit, name, email, date, revdate, subject) = line.split("\t")
|
||||
revdate = datetime.datetime.utcfromtimestamp(long(revdate)).strftime("%Y%m%d.%H%M%S")
|
||||
|
||||
kind = "beta"
|
||||
|
||||
if commit==newVersionCommit:
|
||||
result = processVersionTag(newVersionTag)
|
||||
if result:
|
||||
newVersionOrigTag = lastVersionTag
|
||||
(baseVersion, kind) = result
|
||||
(baseVersion, _kind) = result
|
||||
|
||||
|
||||
version=getCommitVersion(commit)
|
||||
@@ -88,7 +90,7 @@ def collectEntries(baseCommit, baseVersion, kind):
|
||||
if result:
|
||||
lastVersionTag = tag
|
||||
lastCMAKEVersion = version
|
||||
(baseVersion, kind) = result
|
||||
(baseVersion, _kind) = result
|
||||
|
||||
for tag in subprocess.check_output(["git", "tag",
|
||||
"--points-at",
|
||||
@@ -132,7 +134,7 @@ if __name__ == "__main__":
|
||||
distribution = sys.argv[2]
|
||||
|
||||
#entries = collectEntries("8aade24147b5313f8241a8b42331442b7f40eef9", "2.2.4", "release")
|
||||
entries = collectEntries("f9b1c724d6ab5431e0cd56b7cd834f2dd48cebb1", "2.4.0", "release")
|
||||
entries = collectEntries("f9b1c724d6ab5431e0cd56b7cd834f2dd48cebb1", "2.4.0", "beta")
|
||||
|
||||
|
||||
with open(sys.argv[1], "wt") as f:
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 3.9 KiB |
@@ -1,51 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
enable-background="new 0 0 595.275 311.111"
|
||||
xml:space="preserve"
|
||||
height="200"
|
||||
width="320"
|
||||
version="1.1"
|
||||
y="0px"
|
||||
x="0px"
|
||||
viewBox="0 0 35 0"
|
||||
id="svg2"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="installer-background.svg"><metadata
|
||||
id="metadata12"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs10" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1002"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.734375"
|
||||
inkscape:cx="-49.141255"
|
||||
inkscape:cy="236.17459"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="34"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" /><path
|
||||
style="text-indent:0;text-transform:none;block-progression:tb;color:#000000;fill:#ffffff;fill-opacity:1;enable-background:accumulate"
|
||||
d="m 75.63384,28.421489 c -29.36582,0 -53.09172,23.724901 -53.09172,53.091701 0,12.1047 4.03087,23.2455 10.82647,32.1667 14.74225,-17.0631 36.50138,-27.8988 60.79508,-27.8988 11.88546,0 23.15644,2.6467 33.31219,7.2871 0.82221,-3.7185 1.24924,-7.5856 1.24924,-11.555 0,-29.3658 -23.72491,-53.091701 -53.09172,-53.091701 z M 6.30358,52.98809 c -15.29297,0 -27.58645,12.3977 -27.58645,27.6906 0,4.9515 1.27738,9.6301 3.53933,13.6373 9.22826,-5.206 19.89756,-8.2239 31.23002,-8.2239 1.09366,0 2.14708,0.039 3.22713,0.1052 -0.12231,-1.5502 -0.20806,-3.103 -0.20806,-4.6844 0,-8.5178 1.85002,-16.6223 5.10106,-23.9429 -4.37708,-2.9351 -9.62115,-4.5803 -15.30284,-4.5803 z m 130.95716,19.0502 c -1.12983,0 -2.21885,0.1381 -3.33122,0.2078 0.48121,3.0338 0.83274,6.097 0.83274,9.2651 0,4.9298 -0.62692,9.6869 -1.7697,14.2616 13.39754,7.4144 24.52385,18.5084 31.8547,31.9586 7.60342,-3.9586 16.08566,-6.4754 25.08804,-7.0787 -2.32015,-27.2093 -24.86184,-48.6137 -52.67416,-48.6137 z m -43.09675,19.7789 c -41.09117,0 -74.32775,33.2333 -74.32775,74.3278 0,41.0911 33.23329,74.3277 74.32775,74.3277 41.09447,0 74.32775,-33.2366 74.32775,-74.3277 0,-41.0945 -33.23657,-74.3278 -74.32775,-74.3278 z m -80.67652,0.3117 c -31.87937,0 -57.67166,25.792 -57.67166,57.6717 0,18.7668 8.94156,35.3802 22.79774,45.9078 5.84147,-11.2667 17.57406,-18.9461 31.1258,-18.9461 1.63789,0 3.21,0.1986 4.78871,0.4169 -0.49554,-3.6054 -0.72871,-7.2937 -0.72871,-11.0346 0,-17.8847 5.82174,-34.4234 15.71907,-47.7819 -5.92466,-7.4133 -10.1643,-16.321 -11.97162,-26.025 -1.33935,-0.092 -2.69673,-0.2078 -4.05979,-0.2078 z m 180.71831,34.3544 c -9.68,0 -18.74781,2.4714 -26.75364,6.6625 4.54607,10.0696 7.07867,21.2422 7.07867,32.9998 0,22.0146 -8.85114,42.0052 -23.21431,56.5275 10.5516,11.7145 25.861,19.0503 42.88961,19.0503 31.87937,0 57.67165,-25.7916 57.67165,-57.6717 0,-31.8793 -25.79195,-57.5664 -57.67165,-57.5664 z m -244.00885,7.5998 c -29.3701,0 -53.19693,23.6164 -53.19693,52.9832 0,29.3669 23.82815,53.1937 53.19364,53.1937 11.17727,0 21.53161,-3.4825 30.08487,-9.369 -3.5344,-5.492 -5.62151,-12.0581 -5.62151,-19.0503 0,-3.6291 0.53552,-7.1158 1.56148,-10.4099 -16.01267,-11.5721 -26.44131,-30.4034 -26.44131,-51.6319 0,-5.394 0.71083,-10.6098 1.97792,-15.6152 -0.52591,-0.013 -1.03171,-0.1052 -1.56152,-0.1052 z m 312.19495,45.5955 c -1.56661,0 -3.08252,0.1789 -4.58026,0.4169 0.0829,1.3242 0.1039,2.6108 0.1039,3.9559 0,16.9326 -6.68118,32.3015 -17.4889,43.7214 5.31706,6.1831 13.12695,10.0976 21.96526,10.0976 16.09849,0 29.14785,-12.9451 29.14785,-29.0439 0,-16.0985 -13.04936,-29.1479 -29.14785,-29.1479 z m -252.64924,3.1229 c -16.09783,0 -29.04395,12.9461 -29.04395,29.044 0,16.0978 12.94612,29.1478 29.04395,29.1478 12.33919,0 22.81287,-7.6994 27.06599,-18.5298 -10.378,-10.57 -17.83675,-24.0544 -21.13213,-39.0363 -1.92854,-0.3985 -3.88588,-0.6247 -5.93386,-0.6247 z"
|
||||
id="path6"
|
||||
inkscape:connector-curvature="0" /></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xml:space="preserve" height="200" width="320" enable-background="new 0 0 595.275 311.111" y="0px" x="0px" viewBox="0 0 35 0"><path style="color-rendering:auto;text-decoration-color:#000000;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;block-progression:tb;text-decoration-line:none;image-rendering:auto;white-space:normal;text-indent:0;enable-background:accumulate;text-transform:none;text-decoration-style:solid" d="m100.3 47.902c-41.68 0.003-76.667 28.536-87.36 66.923-9.3312-20.531-29.874-35.082-53.741-35.083-32.488 0.003-59.2 26.715-59.203 59.203-0.0058 32.494 26.709 59.213 59.203 59.216 23.869-0.003 44.397-14.562 53.728-35.096 10.691 38.4 45.696 66.94 87.372 66.94 41.446 0.003 76.269-28.226 87.178-66.288 9.4834 20.154 29.709 34.446 53.302 34.45 32.501 0.006 59.221-26.715 59.216-59.216-0.003-32.494-26.722-59.21-59.216-59.203-23.594 0.003-43.832 14.293-53.314 34.45-10.896-38.064-45.712-66.293-87.152-66.29zm0 34.754c31.298-0.002 56.298 24.992 56.301 56.29 0.002 31.301-25 56.304-56.301 56.301-31.296-0.002-56.291-25.003-56.288-56.301 0.003-31.294 24.992-56.286 56.288-56.29zm-141.1 31.84c13.71 0.002 24.448 10.74 24.45 24.45 0.0024 13.713-10.736 24.461-24.45 24.462-13.713-0.002-24.453-10.749-24.45-24.462 0.0016-13.71 10.74-24.448 24.45-24.45zm281.58 0c13.713-0.002 24.461 10.736 24.462 24.45 0.003 13.716-10.745 24.464-24.462 24.462-13.713-0.002-24.453-10.749-24.45-24.462 0.002-13.71 10.74-24.448 24.45-24.45z" fill="#fff"/></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 1.6 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 7.0 KiB |
@@ -18,7 +18,12 @@
|
||||
#cmakedefine APPLICATION_SHORTNAME "@APPLICATION_SHORTNAME@"
|
||||
#cmakedefine APPLICATION_EXECUTABLE "@APPLICATION_EXECUTABLE@"
|
||||
#cmakedefine APPLICATION_UPDATE_URL "@APPLICATION_UPDATE_URL@"
|
||||
#cmakedefine APPLICATION_HELP_URL "@APPLICATION_HELP_URL@"
|
||||
#cmakedefine APPLICATION_ICON_NAME "@APPLICATION_ICON_NAME@"
|
||||
#cmakedefine APPLICATION_SERVER_URL "@APPLICATION_SERVER_URL@"
|
||||
#cmakedefine APPLICATION_WIZARD_HEADER_BACKGROUND_COLOR "@APPLICATION_WIZARD_HEADER_BACKGROUND_COLOR@"
|
||||
#cmakedefine APPLICATION_WIZARD_HEADER_TITLE_COLOR "@APPLICATION_WIZARD_HEADER_TITLE_COLOR@"
|
||||
#cmakedefine APPLICATION_WIZARD_USE_CUSTOM_LOGO "@APPLICATION_WIZARD_USE_CUSTOM_LOGO@"
|
||||
|
||||
#cmakedefine ZLIB_FOUND @ZLIB_FOUND@
|
||||
|
||||
|
||||
@@ -16,6 +16,8 @@ if(SPHINX_FOUND)
|
||||
install(DIRECTORY ${SPHINX_PDF_DIR} DESTINATION ${APPLICATION_DOC_DIR} OPTIONAL)
|
||||
install(DIRECTORY ${SPHINX_QCH_DIR} DESTINATION ${APPLICATION_DOC_DIR} OPTIONAL)
|
||||
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/conf.py" conf.py COPYONLY)
|
||||
|
||||
if(WITH_DOC)
|
||||
add_custom_target(doc ALL DEPENDS doc-html COMMENT "Building documentation...")
|
||||
else(WITH_DOC)
|
||||
|
||||
33
man/nextcloud.1.rst
Normal file
33
man/nextcloud.1.rst
Normal file
@@ -0,0 +1,33 @@
|
||||
:orphan:
|
||||
|
||||
nextcloud(1)
|
||||
————
|
||||
|
||||
SYNOPSIS
|
||||
========
|
||||
*nextcloud* [`OPTIONS`...]
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
===========
|
||||
The nextCloud Client is a file synchronization desktop utility. It synchronizes files on your local computer, tablet, or handheld device with an nextCloud Server. If you make a change to the files on one device, the change is propagated to all other synchronized devices using the desktop synchronization clients.
|
||||
|
||||
Normally, you start the client by clicking on the desktop icon or by starting it from the client application menu. After starting, an nextCloud icon appears in the computer system tray or on your tablet or handheld device.
|
||||
|
||||
Options
|
||||
=======
|
||||
.. include:: ../doc/options.rst
|
||||
|
||||
Config File
|
||||
===========
|
||||
.. include:: ../doc/conffile.rst
|
||||
|
||||
BUGS
|
||||
====
|
||||
|
||||
Please report bugs at https://github.com/nextcloud/client/issues.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
========
|
||||
:manpage:`nextcloudcmd(1)`
|
||||
@@ -1,30 +1,30 @@
|
||||
:orphan:
|
||||
|
||||
owncloudcmd(1)
|
||||
nextcloudcmd(1)
|
||||
—————
|
||||
|
||||
SYNOPSIS
|
||||
========
|
||||
*owncloudcmd* [`OPTIONS`...] sourcedir owncloudurl
|
||||
*nextcloudcmd* [`OPTIONS`...] sourcedir nextcloudurl
|
||||
|
||||
DESCRIPTION
|
||||
===========
|
||||
owncloudcmd is the command line tool used for the ownCloud file synchronization
|
||||
nextcloudcmd is the command line tool used for the nextCloud file synchronization
|
||||
desktop utility.
|
||||
|
||||
Contrary to the :manpage:`owncloud(1)` GUI client, `owncloudcmd` only performs
|
||||
a single sync run and then exits. In so doing, `owncloudcmd` replaces the
|
||||
Contrary to the :manpage:`nextcloud(1)` GUI client, `nextcloudcmd` only performs
|
||||
a single sync run and then exits. In so doing, `nextcloudcmd` replaces the
|
||||
`ocsync` binary used for the same purpose in earlier releases.
|
||||
|
||||
A *sync run* synchronizes a single local directory using a WebDAV share on a
|
||||
remote ownCloud server.
|
||||
remote nextCloud server.
|
||||
|
||||
To invoke the command line client, provide the local and the remote repository:
|
||||
The first parameter is the local directory. The second parameter is
|
||||
the server URL.
|
||||
|
||||
.. note:: Prior to the 1.6 release of owncloudcmd, the tool only accepted
|
||||
``owncloud://`` or ``ownclouds://`` in place of ``http://`` and ``https://`` as
|
||||
.. note:: Prior to the 1.6 release of nextcloudcmd, the tool only accepted
|
||||
``nextcloud://`` or ``nextclouds://`` in place of ``http://`` and ``https://`` as
|
||||
a scheme. See ``Examples`` for details.
|
||||
|
||||
OPTIONS
|
||||
@@ -70,28 +70,28 @@ OPTIONS
|
||||
|
||||
Example
|
||||
=======
|
||||
To synchronize the ownCloud directory ``Music`` to the local directory ``media/music``
|
||||
To synchronize the nextCloud directory ``Music`` to the local directory ``media/music``
|
||||
through a proxy listening on port ``8080`` on the gateway machine ``192.168.178.1``,
|
||||
the command line would be::
|
||||
|
||||
$ owncloudcmd —httpproxy http://192.168.178.1:8080 \
|
||||
$ nextcloudcmd —httpproxy http://192.168.178.1:8080 \
|
||||
$HOME/media/music \
|
||||
https://server/owncloud/remote.php/webdav/Music
|
||||
https://server/nextcloud/remote.php/webdav/Music
|
||||
|
||||
``owncloudcmd`` will enquire user name and password, unless they have
|
||||
``nextcloudcmd`` will enquire user name and password, unless they have
|
||||
been specified on the command line or ``-n`` (see `netrc(5)`) has been passed.
|
||||
|
||||
Using the legacy scheme, it would be::
|
||||
|
||||
$ owncloudcmd —httpproxy http://192.168.178.1:8080 \
|
||||
$ nextcloudcmd —httpproxy http://192.168.178.1:8080 \
|
||||
$HOME/media/music \
|
||||
ownclouds://server/owncloud/remote.php/webdav/Music
|
||||
nextclouds://server/nextcloud/remote.php/webdav/Music
|
||||
|
||||
|
||||
BUGS
|
||||
====
|
||||
Please report bugs at https://github.com/owncloud/client/issues.
|
||||
Please report bugs at https://github.com/nextcloud/client/issues.
|
||||
|
||||
SEE ALSO
|
||||
========
|
||||
:manpage:`owncloud(1)`
|
||||
:manpage:`nextcloud(1)`
|
||||
@@ -1,33 +0,0 @@
|
||||
:orphan:
|
||||
|
||||
owncloud(1)
|
||||
————
|
||||
|
||||
SYNOPSIS
|
||||
========
|
||||
*owncloud* [`OPTIONS`...]
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
===========
|
||||
The ownCloud Client is a file synchronization desktop utility. It synchronizes files on your local computer, tablet, or handheld device with an ownCloud Server. If you make a change to the files on one device, the change is propagated to all other synchronized devices using the desktop synchronization clients.
|
||||
|
||||
Normally, you start the client by clicking on the desktop icon or by starting it from the client application menu. After starting, an ownCloud icon appears in the computer system tray or on your tablet or handheld device.
|
||||
|
||||
Options
|
||||
=======
|
||||
.. include:: ../doc/options.rst
|
||||
|
||||
Config File
|
||||
===========
|
||||
.. include:: ../doc/conffile.rst
|
||||
|
||||
BUGS
|
||||
====
|
||||
|
||||
Please report bugs at https://github.com/owncloud/client/issues.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
========
|
||||
:manpage:`owncloudcmd(1)`
|
||||
@@ -20,7 +20,12 @@ set_package_properties(DolphinVcs PROPERTIES
|
||||
PURPOSE "Provides plugin interfaces for Dolphin."
|
||||
)
|
||||
|
||||
set(KDE_INSTALL_DIRS_NO_DEPRECATED TRUE)
|
||||
include(KDEInstallDirs)
|
||||
# Before KF5 5.54, kcoreaddons_add_plugin uses deprecated VAR PLUGIN_INSTALL_DIR
|
||||
# when that is fixed and you want to remove this workaround,
|
||||
# you need to _require_ the new enough kcoreaddons
|
||||
set(PLUGIN_INSTALL_DIR "${KDE_INSTALL_PLUGINDIR}")
|
||||
include(KDECMakeSettings)
|
||||
include(KDECompilerSettings)
|
||||
include(ECMMarkNonGuiExecutable)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
# this script replaces the line
|
||||
# appname = 'ownCloud'
|
||||
# appname = 'Nextcloud'
|
||||
# with the correct branding name in the syncstate.py script
|
||||
sed -i.org -e 's/appname\s*=\s*'"'"'ownCloud'"'/appname = '$1'/" syncstate.py
|
||||
sed -i.org -e 's/appname\s*=\s*'"'"'Nextcloud'"'/appname = '$1'/" syncstate.py
|
||||
|
||||
@@ -32,7 +32,7 @@ from gi.repository import GObject, Nautilus
|
||||
# The reason is that we use a script to adopt this file for branding
|
||||
# by replacing this line with the branding app name. If the following
|
||||
# line is changed, the script can not match the pattern and fails.
|
||||
appname = 'ownCloud'
|
||||
appname = 'Nextcloud'
|
||||
|
||||
print("Initializing "+appname+"-client-nautilus extension")
|
||||
print("Using python version {}".format(sys.version_info))
|
||||
|
||||
@@ -354,7 +354,7 @@ void AccountManager::displayMnemonic(const QString& mnemonic)
|
||||
Ui_Dialog ui;
|
||||
ui.setupUi(widget);
|
||||
widget->setWindowTitle(tr("End to end encryption mnemonic"));
|
||||
ui.label->setText(tr("To protect your Cryptocraphic Identity, we encrypt it with a mnemonic of 12 dictionary words."
|
||||
ui.label->setText(tr("To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. "
|
||||
"Please note these down and keep them safe. "
|
||||
"They will be needed to add other devices to your account (like your mobile phone or laptop)."));
|
||||
ui.textEdit->setText(mnemonic);
|
||||
|
||||
@@ -265,7 +265,7 @@ void AccountSettings::slotOpenAccountWizard()
|
||||
qFatal("nope");
|
||||
}
|
||||
#endif
|
||||
OwncloudSetupWizard::runWizard(qApp, SLOT(slotownCloudWizardDone(int)), 0);
|
||||
OwncloudSetupWizard::runWizard(qApp, SLOT(slotownCloudWizardDone(int)), nullptr);
|
||||
}
|
||||
|
||||
void AccountSettings::slotToggleSignInState()
|
||||
@@ -625,7 +625,7 @@ void AccountSettings::slotFolderListClicked(const QModelIndex &indx)
|
||||
return;
|
||||
}
|
||||
if (FolderStatusDelegate::errorsListRect(tv->visualRect(indx)).contains(pos)) {
|
||||
emit showIssuesList(_model->data(indx, FolderStatusDelegate::FolderAliasRole).toString());
|
||||
emit showIssuesList(_accountState);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -808,7 +808,7 @@ void AccountSettings::slotEnableCurrentFolder()
|
||||
QWidget *parent = this;
|
||||
Qt::WindowFlags flags = Qt::Sheet;
|
||||
#else
|
||||
QWidget *parent = 0;
|
||||
QWidget *parent = nullptr;
|
||||
Qt::WindowFlags flags = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint; // default flags
|
||||
#endif
|
||||
QMessageBox msgbox(QMessageBox::Question, tr("Sync Running"),
|
||||
@@ -1152,7 +1152,7 @@ void AccountSettings::slotDeleteAccount()
|
||||
}
|
||||
|
||||
// Else it might access during destruction. This should be better handled by it having a QSharedPointer
|
||||
_model->setAccountState(0);
|
||||
_model->setAccountState(nullptr);
|
||||
|
||||
auto manager = AccountManager::instance();
|
||||
manager->deleteAccount(_accountState);
|
||||
|
||||
@@ -53,15 +53,15 @@ class AccountSettings : public QWidget
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit AccountSettings(AccountState *accountState, QWidget *parent = 0);
|
||||
explicit AccountSettings(AccountState *accountState, QWidget *parent = nullptr);
|
||||
~AccountSettings();
|
||||
QSize sizeHint() const Q_DECL_OVERRIDE { return ownCloudGui::settingsDialogSize(); }
|
||||
QSize sizeHint() const override { return ownCloudGui::settingsDialogSize(); }
|
||||
bool canEncryptOrDecrypt(const FolderStatusModel::SubFolderInfo* folderInfo);
|
||||
|
||||
signals:
|
||||
void folderChanged();
|
||||
void openFolderAlias(const QString &);
|
||||
void showIssuesList(const QString &folderAlias);
|
||||
void showIssuesList(AccountState *account);
|
||||
void requesetMnemonic();
|
||||
|
||||
public slots:
|
||||
@@ -122,7 +122,7 @@ protected slots:
|
||||
private:
|
||||
void showConnectionLabel(const QString &message,
|
||||
QStringList errors = QStringList());
|
||||
bool event(QEvent *) Q_DECL_OVERRIDE;
|
||||
bool event(QEvent *) override;
|
||||
void createAccountToolbox();
|
||||
|
||||
/// Returns the alias of the selected folder, empty string if none
|
||||
|
||||
@@ -371,7 +371,7 @@ void AccountState::slotCredentialsAsked(AbstractCredentials *credentials)
|
||||
// When new credentials become available we always want to restart the
|
||||
// connection validation, even if it's currently running.
|
||||
_connectionValidator->deleteLater();
|
||||
_connectionValidator = 0;
|
||||
_connectionValidator = nullptr;
|
||||
}
|
||||
|
||||
checkConnectivity();
|
||||
|
||||
@@ -229,14 +229,13 @@ void ActivityItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
|
||||
// change pen color if use is not online
|
||||
QPalette p = option.palette;
|
||||
if(!accountOnline)
|
||||
painter->setPen(p.color(QPalette::Disabled, QPalette::Text));
|
||||
p.setCurrentColorGroup(QPalette::Disabled);
|
||||
|
||||
// change pen color if the line is selected
|
||||
QPalette::ColorGroup cg = option.state & (QStyle::State_Enabled | QStyle::State_Active)
|
||||
? QPalette::Normal
|
||||
: QPalette::Inactive;
|
||||
|
||||
painter->setPen(option.palette.color(cg, QPalette::Text));
|
||||
if (option.state & QStyle::State_Selected)
|
||||
painter->setPen(p.color(QPalette::HighlightedText));
|
||||
else
|
||||
painter->setPen(p.color(QPalette::Text));
|
||||
|
||||
// calculate space for text - use the max possible before using the elipses
|
||||
int spaceLeftForText = option.rect.width() - (actionIconRect.width() + margin + rightMargin + leftMargin) -
|
||||
@@ -262,11 +261,10 @@ void ActivityItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
|
||||
}
|
||||
|
||||
// change pen color for the time
|
||||
painter->setPen(p.color(QPalette::Disabled, QPalette::Text));
|
||||
|
||||
// check if line is selected
|
||||
if (option.state & QStyle::State_Selected)
|
||||
painter->setPen(option.palette.color(cg, QPalette::HighlightedText));
|
||||
painter->setPen(p.color(QPalette::Disabled, QPalette::HighlightedText));
|
||||
else
|
||||
painter->setPen(p.color(QPalette::Disabled, QPalette::Text));
|
||||
|
||||
// draw the time
|
||||
const QString elidedTime = fm.elidedText(timeStr, Qt::ElideRight, spaceLeftForText);
|
||||
|
||||
@@ -43,10 +43,10 @@ public:
|
||||
AccountConnectedRole,
|
||||
SyncFileStatusRole };
|
||||
|
||||
void paint(QPainter *, const QStyleOptionViewItem &, const QModelIndex &) const Q_DECL_OVERRIDE;
|
||||
QSize sizeHint(const QStyleOptionViewItem &, const QModelIndex &) const Q_DECL_OVERRIDE;
|
||||
void paint(QPainter *, const QStyleOptionViewItem &, const QModelIndex &) const override;
|
||||
QSize sizeHint(const QStyleOptionViewItem &, const QModelIndex &) const override;
|
||||
bool editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option,
|
||||
const QModelIndex &index) Q_DECL_OVERRIDE;
|
||||
const QModelIndex &index) override;
|
||||
|
||||
static int rowHeight();
|
||||
static int iconHeight();
|
||||
|
||||
@@ -150,16 +150,12 @@ int ActivityListModel::rowCount(const QModelIndex &) const
|
||||
return _finalList.count();
|
||||
}
|
||||
|
||||
// current strategy: Fetch 100 items per Account
|
||||
// ATTENTION: This method is const and thus it is not possible to modify
|
||||
// the _activityLists hash or so. Doesn't make it easier...
|
||||
bool ActivityListModel::canFetchMore(const QModelIndex &) const
|
||||
{
|
||||
if (_activityLists.count() == 0)
|
||||
return true;
|
||||
|
||||
// We need to be connected to be able to fetch more
|
||||
if (_accountState && _accountState->isConnected()) {
|
||||
if (_activityLists.count() == 0 && !_currentlyFetching) {
|
||||
// If the fetching is reported to be done or we are currently fetching we can't fetch more
|
||||
if (!_doneFetching && !_currentlyFetching) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -177,8 +173,8 @@ void ActivityListModel::startFetchJob()
|
||||
this, &ActivityListModel::slotActivitiesReceived);
|
||||
|
||||
QUrlQuery params;
|
||||
params.addQueryItem(QLatin1String("page"), QLatin1String("0"));
|
||||
params.addQueryItem(QLatin1String("pagesize"), QLatin1String("100"));
|
||||
params.addQueryItem(QLatin1String("start"), QString::number(_currentItem));
|
||||
params.addQueryItem(QLatin1String("count"), QString::number(100));
|
||||
job->addQueryParams(params);
|
||||
|
||||
_currentlyFetching = true;
|
||||
@@ -192,10 +188,16 @@ void ActivityListModel::slotActivitiesReceived(const QJsonDocument &json, int st
|
||||
|
||||
ActivityList list;
|
||||
auto ast = _accountState;
|
||||
if (!ast)
|
||||
if (!ast) {
|
||||
return;
|
||||
}
|
||||
|
||||
_currentlyFetching = 0;
|
||||
if (activities.size() == 0) {
|
||||
_doneFetching = true;
|
||||
}
|
||||
|
||||
_currentlyFetching = false;
|
||||
_currentItem += activities.size();
|
||||
|
||||
foreach (auto activ, activities) {
|
||||
auto json = activ.toObject();
|
||||
@@ -212,7 +214,7 @@ void ActivityListModel::slotActivitiesReceived(const QJsonDocument &json, int st
|
||||
list.append(a);
|
||||
}
|
||||
|
||||
_activityLists = list;
|
||||
_activityLists.append(list);
|
||||
|
||||
emit activityJobStatusCode(statusCode);
|
||||
|
||||
@@ -231,9 +233,16 @@ void ActivityListModel::addNotificationToActivityList(Activity activity) {
|
||||
combineActivityLists();
|
||||
}
|
||||
|
||||
void ActivityListModel::clearNotifications() {
|
||||
qCInfo(lcActivity) << "Clear the notifications";
|
||||
_notificationLists.clear();
|
||||
combineActivityLists();
|
||||
}
|
||||
|
||||
void ActivityListModel::removeActivityFromActivityList(int row) {
|
||||
Activity activity = _finalList.at(row);
|
||||
removeActivityFromActivityList(activity);
|
||||
combineActivityLists();
|
||||
}
|
||||
|
||||
void ActivityListModel::addSyncFileItemToActivityList(Activity activity) {
|
||||
@@ -291,18 +300,32 @@ void ActivityListModel::combineActivityLists()
|
||||
endInsertRows();
|
||||
}
|
||||
|
||||
bool ActivityListModel::canFetchActivities() const {
|
||||
return _accountState->isConnected() && _accountState->account()->capabilities().hasActivities();
|
||||
}
|
||||
|
||||
void ActivityListModel::fetchMore(const QModelIndex &)
|
||||
{
|
||||
if (_accountState->isConnected()) {
|
||||
_activityLists = ActivityList();
|
||||
if (canFetchActivities()) {
|
||||
startFetchJob();
|
||||
} else {
|
||||
_doneFetching = true;
|
||||
combineActivityLists();
|
||||
}
|
||||
}
|
||||
|
||||
void ActivityListModel::slotRefreshActivity()
|
||||
{
|
||||
_activityLists.clear();
|
||||
startFetchJob();
|
||||
_doneFetching = false;
|
||||
_currentItem = 0;
|
||||
|
||||
if (canFetchActivities()) {
|
||||
startFetchJob();
|
||||
} else {
|
||||
_doneFetching = true;
|
||||
combineActivityLists();
|
||||
}
|
||||
}
|
||||
|
||||
void ActivityListModel::slotRemoveAccount()
|
||||
@@ -310,5 +333,7 @@ void ActivityListModel::slotRemoveAccount()
|
||||
_finalList.clear();
|
||||
_activityLists.clear();
|
||||
_currentlyFetching = false;
|
||||
_doneFetching = false;
|
||||
_currentItem = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,17 +38,18 @@ class ActivityListModel : public QAbstractListModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ActivityListModel(AccountState *accountState, QWidget *parent = 0);
|
||||
explicit ActivityListModel(AccountState *accountState, QWidget *parent = nullptr);
|
||||
|
||||
QVariant data(const QModelIndex &index, int role) const Q_DECL_OVERRIDE;
|
||||
int rowCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE;
|
||||
QVariant data(const QModelIndex &index, int role) const override;
|
||||
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||
|
||||
bool canFetchMore(const QModelIndex &) const Q_DECL_OVERRIDE;
|
||||
void fetchMore(const QModelIndex &) Q_DECL_OVERRIDE;
|
||||
bool canFetchMore(const QModelIndex &) const override;
|
||||
void fetchMore(const QModelIndex &) override;
|
||||
|
||||
ActivityList activityList() { return _finalList; }
|
||||
ActivityList errorsList() { return _notificationErrorsLists; }
|
||||
void addNotificationToActivityList(Activity activity);
|
||||
void clearNotifications();
|
||||
void addErrorToActivityList(Activity activity);
|
||||
void addSyncFileItemToActivityList(Activity activity);
|
||||
void removeActivityFromActivityList(int row);
|
||||
@@ -67,6 +68,7 @@ signals:
|
||||
private:
|
||||
void startFetchJob();
|
||||
void combineActivityLists();
|
||||
bool canFetchActivities() const;
|
||||
|
||||
ActivityList _activityLists;
|
||||
ActivityList _syncFileItemLists;
|
||||
@@ -74,7 +76,9 @@ private:
|
||||
ActivityList _notificationErrorsLists;
|
||||
ActivityList _finalList;
|
||||
AccountState *_accountState;
|
||||
bool _currentlyFetching = true;
|
||||
bool _currentlyFetching = false;
|
||||
bool _doneFetching = false;
|
||||
int _currentItem = 0;
|
||||
};
|
||||
}
|
||||
#endif // ACTIVITYLISTMODEL_H
|
||||
|
||||
@@ -179,7 +179,8 @@ void ActivityWidget::slotItemCompleted(const QString &folder, const SyncFileItem
|
||||
|
||||
if(item->_status == SyncFileItem::NoStatus || item->_status == SyncFileItem::Success){
|
||||
qCWarning(lcActivity) << "Item " << item->_file << " retrieved successfully.";
|
||||
activity._message.prepend(tr("Synced "));
|
||||
activity._message.prepend(" ");
|
||||
activity._message.prepend(tr("Synced"));
|
||||
_model->addSyncFileItemToActivityList(activity);
|
||||
} else {
|
||||
qCWarning(lcActivity) << "Item " << item->_file << " retrieved resulted in error " << item->_errorString;
|
||||
@@ -430,20 +431,17 @@ void ActivityWidget::slotOpenFile(QModelIndex indx)
|
||||
// collected.
|
||||
void ActivityWidget::slotBuildNotificationDisplay(const ActivityList &list)
|
||||
{
|
||||
QString listAccountName;
|
||||
|
||||
// Whether a new notification was added to the list
|
||||
bool newNotificationShown = false;
|
||||
|
||||
_model->clearNotifications();
|
||||
|
||||
foreach (auto activity, list) {
|
||||
if (_blacklistedNotifications.contains(activity)) {
|
||||
qCInfo(lcActivity) << "Activity in blacklist, skip";
|
||||
continue;
|
||||
}
|
||||
|
||||
// remember the list account name for the strayCat handling below.
|
||||
listAccountName = activity._accName;
|
||||
|
||||
// handle gui logs. In order to NOT annoy the user with every fetching of the
|
||||
// notifications the notification id is stored in a Set. Only if an id
|
||||
// is not in the set, it qualifies for guiLog.
|
||||
@@ -468,14 +466,15 @@ void ActivityWidget::slotBuildNotificationDisplay(const ActivityList &list)
|
||||
emit guiLog(activity._subject, activity._accName);
|
||||
}
|
||||
}
|
||||
|
||||
_model->addNotificationToActivityList(activity);
|
||||
}
|
||||
|
||||
_model->addNotificationToActivityList(activity);
|
||||
}
|
||||
|
||||
// restart the gui log timer now that we show a new notification
|
||||
if(newNotificationShown)
|
||||
if(newNotificationShown) {
|
||||
_guiLogTimer.start();
|
||||
}
|
||||
}
|
||||
|
||||
void ActivityWidget::slotSendNotificationRequest(const QString &accountName, const QString &link, const QByteArray &verb, int row)
|
||||
|
||||
@@ -56,9 +56,9 @@ class ActivityWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ActivityWidget(AccountState *accountState, QWidget *parent = 0);
|
||||
explicit ActivityWidget(AccountState *accountState, QWidget *parent = nullptr);
|
||||
~ActivityWidget();
|
||||
QSize sizeHint() const Q_DECL_OVERRIDE { return ownCloudGui::settingsDialogSize(); }
|
||||
QSize sizeHint() const override { return ownCloudGui::settingsDialogSize(); }
|
||||
void storeActivityList(QTextStream &ts);
|
||||
|
||||
/**
|
||||
@@ -128,10 +128,10 @@ class ActivitySettings : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ActivitySettings(AccountState *accountState, QWidget *parent = 0);
|
||||
explicit ActivitySettings(AccountState *accountState, QWidget *parent = nullptr);
|
||||
|
||||
~ActivitySettings();
|
||||
QSize sizeHint() const Q_DECL_OVERRIDE { return ownCloudGui::settingsDialogSize(); }
|
||||
QSize sizeHint() const override { return ownCloudGui::settingsDialogSize(); }
|
||||
|
||||
public slots:
|
||||
void slotRefresh();
|
||||
@@ -146,7 +146,7 @@ signals:
|
||||
void guiLog(const QString &, const QString &);
|
||||
|
||||
private:
|
||||
bool event(QEvent *e) Q_DECL_OVERRIDE;
|
||||
bool event(QEvent *e) override;
|
||||
|
||||
ActivityWidget *_activityWidget;
|
||||
QProgressIndicator *_progressIndicator;
|
||||
|
||||
@@ -10,70 +10,6 @@
|
||||
<height>556</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="palette">
|
||||
<palette>
|
||||
<active>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>252</red>
|
||||
<green>252</green>
|
||||
<blue>252</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</active>
|
||||
<inactive>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>252</red>
|
||||
<green>252</green>
|
||||
<blue>252</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</inactive>
|
||||
<disabled>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</disabled>
|
||||
</palette>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
@@ -101,70 +37,6 @@
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="palette">
|
||||
<palette>
|
||||
<active>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>252</red>
|
||||
<green>252</green>
|
||||
<blue>252</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>252</red>
|
||||
<green>252</green>
|
||||
<blue>252</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</active>
|
||||
<inactive>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>252</red>
|
||||
<green>252</green>
|
||||
<blue>252</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>252</red>
|
||||
<green>252</green>
|
||||
<blue>252</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</inactive>
|
||||
<disabled>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>252</red>
|
||||
<green>252</green>
|
||||
<blue>252</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>252</red>
|
||||
<green>252</green>
|
||||
<blue>252</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</disabled>
|
||||
</palette>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
|
||||
@@ -34,7 +34,7 @@ class AddCertificateDialog : public QDialog
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit AddCertificateDialog(QWidget *parent = 0);
|
||||
explicit AddCertificateDialog(QWidget *parent = nullptr);
|
||||
~AddCertificateDialog();
|
||||
QString getCertificatePath();
|
||||
QString getCertificatePasswd();
|
||||
|
||||
@@ -72,7 +72,8 @@ namespace {
|
||||
" (to be used with --logdir)\n"
|
||||
" --logflush : flush the log file after every write.\n"
|
||||
" --logdebug : also output debug-level messages in the log.\n"
|
||||
" --confdir <dirname> : Use the given configuration folder.\n";
|
||||
" --confdir <dirname> : Use the given configuration folder.\n"
|
||||
" --background : launch the application in the background.\n";
|
||||
|
||||
QString applicationTrPath()
|
||||
{
|
||||
@@ -96,7 +97,7 @@ namespace {
|
||||
|
||||
Application::Application(int &argc, char **argv)
|
||||
: SharedTools::QtSingleApplication(Theme::instance()->appName(), argc, argv)
|
||||
, _gui(0)
|
||||
, _gui(nullptr)
|
||||
, _theme(Theme::instance())
|
||||
, _helpOnly(false)
|
||||
, _versionOnly(false)
|
||||
@@ -106,6 +107,7 @@ Application::Application(int &argc, char **argv)
|
||||
, _logDebug(false)
|
||||
, _userTriggeredConnect(false)
|
||||
, _debugMode(false)
|
||||
, _backgroundMode(false)
|
||||
{
|
||||
_startedAt.start();
|
||||
|
||||
@@ -186,12 +188,12 @@ Application::Application(int &argc, char **argv)
|
||||
if (!AccountManager::instance()->restore()) {
|
||||
qCCritical(lcApplication) << "Could not read the account settings, quitting";
|
||||
QMessageBox::critical(
|
||||
0,
|
||||
nullptr,
|
||||
tr("Error accessing the configuration file"),
|
||||
tr("There was an error while accessing the configuration "
|
||||
"file at %1.")
|
||||
"file at %1. Please make sure the file can be accessed by your user.")
|
||||
.arg(ConfigFile().configFile()),
|
||||
tr("Quit ownCloud"));
|
||||
tr("Quit %1").arg(Theme::instance()->appNameGUI()));
|
||||
QTimer::singleShot(0, qApp, SLOT(quit()));
|
||||
return;
|
||||
}
|
||||
@@ -467,6 +469,8 @@ void Application::parseOptions(const QStringList &options)
|
||||
} else if (option == QLatin1String("--debug")) {
|
||||
_logDebug = true;
|
||||
_debugMode = true;
|
||||
} else if (option == QLatin1String("--background")) {
|
||||
_backgroundMode = true;
|
||||
} else if (option == QLatin1String("--version")) {
|
||||
_versionOnly = true;
|
||||
} else {
|
||||
@@ -540,6 +544,11 @@ bool Application::debugMode()
|
||||
return _debugMode;
|
||||
}
|
||||
|
||||
bool Application::backgroundMode() const
|
||||
{
|
||||
return _backgroundMode;
|
||||
}
|
||||
|
||||
void Application::setHelp()
|
||||
{
|
||||
_helpOnly = true;
|
||||
|
||||
@@ -63,6 +63,7 @@ public:
|
||||
void showHelp();
|
||||
void showHint(std::string errorHint);
|
||||
bool debugMode();
|
||||
bool backgroundMode() const;
|
||||
bool versionOnly(); // only display the version?
|
||||
void showVersion();
|
||||
|
||||
@@ -112,6 +113,7 @@ private:
|
||||
bool _logDebug;
|
||||
bool _userTriggeredConnect;
|
||||
bool _debugMode;
|
||||
bool _backgroundMode;
|
||||
|
||||
ClientProxy _proxy;
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ class AuthenticationDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
AuthenticationDialog(const QString &realm, const QString &domain, QWidget *parent = 0);
|
||||
AuthenticationDialog(const QString &realm, const QString &domain, QWidget *parent = nullptr);
|
||||
|
||||
QString user() const;
|
||||
QString password() const;
|
||||
|
||||
@@ -74,29 +74,37 @@ void ClientProxy::setupQtProxyFromConfig()
|
||||
}
|
||||
|
||||
switch (proxyType) {
|
||||
case QNetworkProxy::NoProxy:
|
||||
qCInfo(lcClientProxy) << "Set proxy configuration to use NO proxy";
|
||||
QNetworkProxyFactory::setUseSystemConfiguration(false);
|
||||
QNetworkProxy::setApplicationProxy(QNetworkProxy::NoProxy);
|
||||
break;
|
||||
case QNetworkProxy::DefaultProxy:
|
||||
qCInfo(lcClientProxy) << "Set proxy configuration to use system configuration";
|
||||
QNetworkProxyFactory::setUseSystemConfiguration(true);
|
||||
break;
|
||||
case QNetworkProxy::Socks5Proxy:
|
||||
proxy.setType(QNetworkProxy::Socks5Proxy);
|
||||
qCInfo(lcClientProxy) << "Set proxy configuration to SOCKS5" << printQNetworkProxy(proxy);
|
||||
QNetworkProxyFactory::setUseSystemConfiguration(false);
|
||||
QNetworkProxy::setApplicationProxy(proxy);
|
||||
break;
|
||||
case QNetworkProxy::HttpProxy:
|
||||
proxy.setType(QNetworkProxy::HttpProxy);
|
||||
qCInfo(lcClientProxy) << "Set proxy configuration to HTTP" << printQNetworkProxy(proxy);
|
||||
QNetworkProxyFactory::setUseSystemConfiguration(false);
|
||||
QNetworkProxy::setApplicationProxy(proxy);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
case QNetworkProxy::NoProxy:
|
||||
qCInfo(lcClientProxy) << "Set proxy configuration to use NO proxy";
|
||||
QNetworkProxyFactory::setUseSystemConfiguration(false);
|
||||
QNetworkProxy::setApplicationProxy(QNetworkProxy::NoProxy);
|
||||
break;
|
||||
case QNetworkProxy::DefaultProxy:
|
||||
qCInfo(lcClientProxy) << "Set proxy configuration to use the prefered system proxy for http tcp connections";
|
||||
{
|
||||
QNetworkProxyQuery query;
|
||||
query.setProtocolTag("http");
|
||||
query.setQueryType(QNetworkProxyQuery::TcpSocket);
|
||||
auto proxies = QNetworkProxyFactory::proxyForQuery(query);
|
||||
proxy = proxies.first();
|
||||
}
|
||||
QNetworkProxyFactory::setUseSystemConfiguration(false);
|
||||
QNetworkProxy::setApplicationProxy(proxy);
|
||||
break;
|
||||
case QNetworkProxy::Socks5Proxy:
|
||||
proxy.setType(QNetworkProxy::Socks5Proxy);
|
||||
qCInfo(lcClientProxy) << "Set proxy configuration to SOCKS5" << printQNetworkProxy(proxy);
|
||||
QNetworkProxyFactory::setUseSystemConfiguration(false);
|
||||
QNetworkProxy::setApplicationProxy(proxy);
|
||||
break;
|
||||
case QNetworkProxy::HttpProxy:
|
||||
proxy.setType(QNetworkProxy::HttpProxy);
|
||||
qCInfo(lcClientProxy) << "Set proxy configuration to HTTP" << printQNetworkProxy(proxy);
|
||||
QNetworkProxyFactory::setUseSystemConfiguration(false);
|
||||
QNetworkProxy::setApplicationProxy(proxy);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ class ClientProxy : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ClientProxy(QObject *parent = 0);
|
||||
explicit ClientProxy(QObject *parent = nullptr);
|
||||
|
||||
static bool isUsingSystemDefault();
|
||||
static void lookupSystemProxyAsync(const QUrl &url, QObject *dst, const char *slot);
|
||||
@@ -53,7 +53,7 @@ class SystemProxyRunnable : public QObject, public QRunnable
|
||||
Q_OBJECT
|
||||
public:
|
||||
SystemProxyRunnable(const QUrl &url);
|
||||
void run();
|
||||
void run() override;
|
||||
signals:
|
||||
void systemProxyLookedUp(const QNetworkProxy &url);
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ CloudProviderManager::CloudProviderManager(QObject *parent) : QObject(parent)
|
||||
{
|
||||
_map = new QMap<QString, CloudProviderWrapper*>();
|
||||
QString busName = QString(LIBCLOUDPROVIDERS_DBUS_BUS_NAME);
|
||||
g_bus_own_name (G_BUS_TYPE_SESSION, busName.toAscii().data(), G_BUS_NAME_OWNER_FLAGS_NONE, on_bus_acquired, NULL, NULL, this, NULL);
|
||||
g_bus_own_name (G_BUS_TYPE_SESSION, busName.toAscii().data(), G_BUS_NAME_OWNER_FLAGS_NONE, on_bus_acquired, nullptr, nullptr, this, nullptr);
|
||||
}
|
||||
|
||||
void CloudProviderManager::slotFolderListChanged(const Folder::Map &folderMap)
|
||||
|
||||
@@ -31,7 +31,7 @@ extern "C" {
|
||||
|
||||
using namespace OCC;
|
||||
|
||||
GSimpleActionGroup *actionGroup = NULL;
|
||||
GSimpleActionGroup *actionGroup = nullptr;
|
||||
|
||||
static
|
||||
gchar* qstring_to_gchar(const QString &string)
|
||||
@@ -55,7 +55,7 @@ CloudProviderWrapper::CloudProviderWrapper(QObject *parent, Folder *folder, Clou
|
||||
gchar* folderName = qstring_to_gchar(folder->shortGuiLocalPath());
|
||||
gchar* folderPath = qstring_to_gchar(folder->cleanPath());
|
||||
cloud_providers_account_exporter_set_name (_cloudProviderAccount, folderName);
|
||||
cloud_providers_account_exporter_set_icon (_cloudProviderAccount, g_icon_new_for_string(APPLICATION_ICON_NAME, NULL));
|
||||
cloud_providers_account_exporter_set_icon (_cloudProviderAccount, g_icon_new_for_string(APPLICATION_ICON_NAME, nullptr));
|
||||
cloud_providers_account_exporter_set_path (_cloudProviderAccount, folderPath);
|
||||
cloud_providers_account_exporter_set_status (_cloudProviderAccount, CLOUD_PROVIDERS_ACCOUNT_STATUS_IDLE);
|
||||
cloud_providers_account_exporter_set_menu_model (_cloudProviderAccount, getMenuModel());
|
||||
@@ -163,7 +163,7 @@ void CloudProviderWrapper::slotUpdateProgress(const QString &folder, const Progr
|
||||
g_menu_append_item(_recentMenu, item);
|
||||
}
|
||||
} else {
|
||||
item = g_menu_item_new("No recently changed files", NULL);
|
||||
item = g_menu_item_new("No recently changed files", nullptr);
|
||||
g_menu_append_item(_recentMenu, item);
|
||||
}
|
||||
}
|
||||
@@ -223,20 +223,20 @@ GMenuModel* CloudProviderWrapper::getMenuModel() {
|
||||
section = g_menu_new();
|
||||
item = g_menu_item_new("Open website", "cloudprovider.openwebsite");
|
||||
g_menu_append_item(section, item);
|
||||
g_menu_append_section(_mainMenu, NULL, G_MENU_MODEL(section));
|
||||
g_menu_append_section(_mainMenu, nullptr, G_MENU_MODEL(section));
|
||||
|
||||
_recentMenu = g_menu_new();
|
||||
item = g_menu_item_new("No recently changed files", NULL);
|
||||
item = g_menu_item_new("No recently changed files", nullptr);
|
||||
g_menu_append_item(_recentMenu, item);
|
||||
section = g_menu_new();
|
||||
item = g_menu_item_new_submenu("Recently changed", G_MENU_MODEL(_recentMenu));
|
||||
g_menu_append_item(section, item);
|
||||
g_menu_append_section(_mainMenu, NULL, G_MENU_MODEL(section));
|
||||
g_menu_append_section(_mainMenu, nullptr, G_MENU_MODEL(section));
|
||||
|
||||
section = g_menu_new();
|
||||
item = g_menu_item_new("Pause synchronization", "cloudprovider.pause");
|
||||
g_menu_append_item(section, item);
|
||||
g_menu_append_section(_mainMenu, NULL, G_MENU_MODEL(section));
|
||||
g_menu_append_section(_mainMenu, nullptr, G_MENU_MODEL(section));
|
||||
|
||||
section = g_menu_new();
|
||||
item = g_menu_item_new("Help", "cloudprovider.openhelp");
|
||||
@@ -247,7 +247,7 @@ GMenuModel* CloudProviderWrapper::getMenuModel() {
|
||||
g_menu_append_item(section, item);
|
||||
item = g_menu_item_new("Quit sync client", "cloudprovider.quit");
|
||||
g_menu_append_item(section, item);
|
||||
g_menu_append_section(_mainMenu, NULL, G_MENU_MODEL(section));
|
||||
g_menu_append_section(_mainMenu, nullptr, G_MENU_MODEL(section));
|
||||
|
||||
return G_MENU_MODEL(_mainMenu);
|
||||
}
|
||||
@@ -318,15 +318,15 @@ activate_action_pause (GSimpleAction *action,
|
||||
}
|
||||
|
||||
static GActionEntry actions[] = {
|
||||
{ "openwebsite", activate_action_open, NULL, NULL, NULL, {0,0,0}},
|
||||
{ "quit", activate_action_open, NULL, NULL, NULL, {0,0,0}},
|
||||
{ "logout", activate_action_open, NULL, NULL, NULL, {0,0,0}},
|
||||
{ "openfolder", activate_action_open, NULL, NULL, NULL, {0,0,0}},
|
||||
{ "showfile", activate_action_open, "s", NULL, NULL, {0,0,0}},
|
||||
{ "openhelp", activate_action_open, NULL, NULL, NULL, {0,0,0}},
|
||||
{ "opensettings", activate_action_open, NULL, NULL, NULL, {0,0,0}},
|
||||
{ "openrecentfile", activate_action_openrecentfile, "s", NULL, NULL, {0,0,0}},
|
||||
{ "pause", activate_action_pause, NULL, "false", NULL, {0,0,0}}
|
||||
{ "openwebsite", activate_action_open, nullptr, nullptr, nullptr, {0,0,0}},
|
||||
{ "quit", activate_action_open, nullptr, nullptr, nullptr, {0,0,0}},
|
||||
{ "logout", activate_action_open, nullptr, nullptr, nullptr, {0,0,0}},
|
||||
{ "openfolder", activate_action_open, nullptr, nullptr, nullptr, {0,0,0}},
|
||||
{ "showfile", activate_action_open, "s", nullptr, nullptr, {0,0,0}},
|
||||
{ "openhelp", activate_action_open, nullptr, nullptr, nullptr, {0,0,0}},
|
||||
{ "opensettings", activate_action_open, nullptr, nullptr, nullptr, {0,0,0}},
|
||||
{ "openrecentfile", activate_action_openrecentfile, "s", nullptr, nullptr, {0,0,0}},
|
||||
{ "pause", activate_action_pause, nullptr, "false", nullptr, {0,0,0}}
|
||||
};
|
||||
|
||||
GActionGroup* CloudProviderWrapper::getActionGroup()
|
||||
|
||||
@@ -59,8 +59,8 @@ private:
|
||||
CloudProvidersAccountExporter *_cloudProviderAccount;
|
||||
QList<QPair<QString, QString>> *_recentlyChanged;
|
||||
bool _paused;
|
||||
GMenu* _mainMenu = NULL;
|
||||
GMenu* _recentMenu = NULL;
|
||||
GMenu* _mainMenu = nullptr;
|
||||
GMenu* _recentMenu = nullptr;
|
||||
};
|
||||
|
||||
#endif // CLOUDPROVIDER_H
|
||||
|
||||
@@ -83,7 +83,7 @@ class ConnectionValidator : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ConnectionValidator(AccountPtr account, QObject *parent = 0);
|
||||
explicit ConnectionValidator(AccountPtr account, QObject *parent = nullptr);
|
||||
|
||||
enum Status {
|
||||
Undefined,
|
||||
|
||||
@@ -75,10 +75,10 @@ void HttpCredentialsGui::asyncAuthResult(OAuth::Result r, const QString &user,
|
||||
case OAuth::NotSupported:
|
||||
// We will re-enter the event loop, so better wait the next iteration
|
||||
QMetaObject::invokeMethod(this, "showDialog", Qt::QueuedConnection);
|
||||
_asyncAuth.reset(0);
|
||||
_asyncAuth.reset(nullptr);
|
||||
return;
|
||||
case OAuth::Error:
|
||||
_asyncAuth.reset(0);
|
||||
_asyncAuth.reset(nullptr);
|
||||
emit asked();
|
||||
return;
|
||||
case OAuth::LoggedIn:
|
||||
@@ -91,7 +91,7 @@ void HttpCredentialsGui::asyncAuthResult(OAuth::Result r, const QString &user,
|
||||
_refreshToken = refreshToken;
|
||||
_ready = true;
|
||||
persist();
|
||||
_asyncAuth.reset(0);
|
||||
_asyncAuth.reset(nullptr);
|
||||
emit asked();
|
||||
}
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ public:
|
||||
* This will query the server and either uses OAuth via _asyncAuth->start()
|
||||
* or call showDialog to ask the password
|
||||
*/
|
||||
void askFromUser() Q_DECL_OVERRIDE;
|
||||
void askFromUser() override;
|
||||
/**
|
||||
* In case of oauth, return an URL to the link to open the browser.
|
||||
* An invalid URL otherwise
|
||||
|
||||
@@ -28,7 +28,7 @@ class ShibbolethUserJob : public JsonApiJob
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ShibbolethUserJob(AccountPtr account, QObject *parent = 0);
|
||||
explicit ShibbolethUserJob(AccountPtr account, QObject *parent = nullptr);
|
||||
|
||||
signals:
|
||||
// is always emitted when the job is finished. user is empty in case of error.
|
||||
|
||||
@@ -47,7 +47,7 @@ public:
|
||||
settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
|
||||
}
|
||||
}
|
||||
QString userAgentForUrl(const QUrl &url) const
|
||||
QString userAgentForUrl(const QUrl &url) const override
|
||||
{
|
||||
return QWebPage::userAgentForUrl(url) + " " + Utility::userAgentString();
|
||||
}
|
||||
|
||||
@@ -37,11 +37,11 @@ class ShibbolethWebView : public QWebView
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
ShibbolethWebView(AccountPtr account, QWidget *parent = 0);
|
||||
ShibbolethWebView(AccountPtr account, ShibbolethCookieJar *jar, QWidget *parent = 0);
|
||||
ShibbolethWebView(AccountPtr account, QWidget *parent = nullptr);
|
||||
ShibbolethWebView(AccountPtr account, ShibbolethCookieJar *jar, QWidget *parent = nullptr);
|
||||
~ShibbolethWebView();
|
||||
|
||||
void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE;
|
||||
void closeEvent(QCloseEvent *event) override;
|
||||
|
||||
Q_SIGNALS:
|
||||
void shibbolethCookieReceived(const QNetworkCookie &cookie);
|
||||
|
||||
@@ -54,7 +54,7 @@ ShibbolethCredentials::ShibbolethCredentials()
|
||||
, _url()
|
||||
, _ready(false)
|
||||
, _stillValid(false)
|
||||
, _browser(0)
|
||||
, _browser(nullptr)
|
||||
, _keychainMigration(false)
|
||||
{
|
||||
}
|
||||
@@ -62,7 +62,7 @@ ShibbolethCredentials::ShibbolethCredentials()
|
||||
ShibbolethCredentials::ShibbolethCredentials(const QNetworkCookie &cookie)
|
||||
: _ready(true)
|
||||
, _stillValid(true)
|
||||
, _browser(0)
|
||||
, _browser(nullptr)
|
||||
, _shibCookie(cookie)
|
||||
, _keychainMigration(false)
|
||||
{
|
||||
@@ -161,7 +161,7 @@ void ShibbolethCredentials::askFromUser()
|
||||
} else if (type == DetermineAuthTypeJob::OAuth) {
|
||||
// Hack: upgrade to oauth
|
||||
auto newCred = new HttpCredentialsGui;
|
||||
job->setParent(0);
|
||||
job->setParent(nullptr);
|
||||
job->deleteLater();
|
||||
auto account = this->_account;
|
||||
auto user = this->_user;
|
||||
|
||||
@@ -50,17 +50,17 @@ public:
|
||||
/* create credentials for an already connected account */
|
||||
ShibbolethCredentials(const QNetworkCookie &cookie);
|
||||
|
||||
void setAccount(Account *account) Q_DECL_OVERRIDE;
|
||||
QString authType() const Q_DECL_OVERRIDE;
|
||||
QString user() const Q_DECL_OVERRIDE;
|
||||
QNetworkAccessManager *createQNAM() const Q_DECL_OVERRIDE;
|
||||
bool ready() const Q_DECL_OVERRIDE;
|
||||
void fetchFromKeychain() Q_DECL_OVERRIDE;
|
||||
void askFromUser() Q_DECL_OVERRIDE;
|
||||
bool stillValid(QNetworkReply *reply) Q_DECL_OVERRIDE;
|
||||
void persist() Q_DECL_OVERRIDE;
|
||||
void invalidateToken() Q_DECL_OVERRIDE;
|
||||
void forgetSensitiveData() Q_DECL_OVERRIDE;
|
||||
void setAccount(Account *account) override;
|
||||
QString authType() const override;
|
||||
QString user() const override;
|
||||
QNetworkAccessManager *createQNAM() const override;
|
||||
bool ready() const override;
|
||||
void fetchFromKeychain() override;
|
||||
void askFromUser() override;
|
||||
bool stillValid(QNetworkReply *reply) override;
|
||||
void persist() override;
|
||||
void invalidateToken() override;
|
||||
void forgetSensitiveData() override;
|
||||
|
||||
void showLoginWindow();
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ public:
|
||||
}
|
||||
|
||||
protected:
|
||||
QNetworkReply *createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData) Q_DECL_OVERRIDE
|
||||
QNetworkReply *createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData) override
|
||||
{
|
||||
QNetworkRequest req(request);
|
||||
if (!req.attribute(HttpCredentials::DontAddCredentialsAttribute).toBool()) {
|
||||
@@ -160,7 +160,7 @@ void WebFlowCredentials::slotAskFromUserCredentialsProvided(const QString &user,
|
||||
|
||||
_askDialog->close();
|
||||
delete _askDialog;
|
||||
_askDialog = NULL;
|
||||
_askDialog = nullptr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -29,6 +29,14 @@ WebFlowCredentialsDialog::WebFlowCredentialsDialog(QWidget *parent)
|
||||
connect(_webView, &WebView::urlCatched, this, &WebFlowCredentialsDialog::urlCatched);
|
||||
}
|
||||
|
||||
void WebFlowCredentialsDialog::closeEvent(QCloseEvent* e) {
|
||||
Q_UNUSED(e);
|
||||
|
||||
// Force calling WebView::~WebView() earlier so that _profile and _page are
|
||||
// deleted in the correct order.
|
||||
delete _webView;
|
||||
}
|
||||
|
||||
void WebFlowCredentialsDialog::setUrl(const QUrl &url) {
|
||||
_webView->setUrl(url);
|
||||
}
|
||||
|
||||
@@ -15,12 +15,15 @@ class WebFlowCredentialsDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
WebFlowCredentialsDialog(QWidget *parent = 0);
|
||||
WebFlowCredentialsDialog(QWidget *parent = nullptr);
|
||||
|
||||
void setUrl(const QUrl &url);
|
||||
void setInfo(const QString &msg);
|
||||
void setError(const QString &error);
|
||||
|
||||
protected:
|
||||
void closeEvent(QCloseEvent * e) override;
|
||||
|
||||
signals:
|
||||
void urlCatched(const QString user, const QString pass, const QString host);
|
||||
|
||||
|
||||
@@ -18,6 +18,12 @@
|
||||
|
||||
namespace OCC {
|
||||
|
||||
ElidedLabel::ElidedLabel(QWidget *parent)
|
||||
: QLabel(parent)
|
||||
, _elideMode(Qt::ElideNone)
|
||||
{
|
||||
}
|
||||
|
||||
ElidedLabel::ElidedLabel(const QString &text, QWidget *parent)
|
||||
: QLabel(text, parent)
|
||||
, _text(text)
|
||||
|
||||
@@ -24,7 +24,8 @@ class ElidedLabel : public QLabel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ElidedLabel(const QString &text, QWidget *parent = 0);
|
||||
explicit ElidedLabel(QWidget *parent = nullptr);
|
||||
explicit ElidedLabel(const QString &text, QWidget *parent = nullptr);
|
||||
|
||||
void setText(const QString &text);
|
||||
const QString &text() const { return _text; }
|
||||
|
||||
@@ -99,7 +99,7 @@ class Folder : public QObject
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
Folder(const FolderDefinition &definition, AccountState *accountState, QObject *parent = 0L);
|
||||
Folder(const FolderDefinition &definition, AccountState *accountState, QObject *parent = nullptr);
|
||||
|
||||
~Folder();
|
||||
|
||||
|
||||
@@ -43,11 +43,11 @@ namespace OCC {
|
||||
|
||||
Q_LOGGING_CATEGORY(lcFolderMan, "nextcloud.gui.folder.manager", QtInfoMsg)
|
||||
|
||||
FolderMan *FolderMan::_instance = 0;
|
||||
FolderMan *FolderMan::_instance = nullptr;
|
||||
|
||||
FolderMan::FolderMan(QObject *parent)
|
||||
: QObject(parent)
|
||||
, _currentSyncFolder(0)
|
||||
, _currentSyncFolder(nullptr)
|
||||
, _syncEnabled(true)
|
||||
, _lockWatcher(new LockWatcher)
|
||||
, _navigationPaneHelper(this)
|
||||
@@ -90,7 +90,7 @@ FolderMan *FolderMan::instance()
|
||||
FolderMan::~FolderMan()
|
||||
{
|
||||
qDeleteAll(_folderMap);
|
||||
_instance = 0;
|
||||
_instance = nullptr;
|
||||
}
|
||||
|
||||
OCC::Folder::Map FolderMan::map()
|
||||
@@ -137,8 +137,8 @@ int FolderMan::unloadAndDeleteAllFolders()
|
||||
}
|
||||
ASSERT(_folderMap.isEmpty());
|
||||
|
||||
_lastSyncFolder = 0;
|
||||
_currentSyncFolder = 0;
|
||||
_lastSyncFolder = nullptr;
|
||||
_currentSyncFolder = nullptr;
|
||||
_scheduledFolders.clear();
|
||||
emit folderListChanged(_folderMap);
|
||||
emit scheduleQueueChanged();
|
||||
@@ -271,7 +271,7 @@ bool FolderMan::ensureJournalGone(const QString &journalDbFile)
|
||||
// remove the old journal file
|
||||
while (QFile::exists(journalDbFile) && !QFile::remove(journalDbFile)) {
|
||||
qCWarning(lcFolderMan) << "Could not remove old db file at" << journalDbFile;
|
||||
int ret = QMessageBox::warning(0, tr("Could not reset folder state"),
|
||||
int ret = QMessageBox::warning(nullptr, tr("Could not reset folder state"),
|
||||
tr("An old sync journal '%1' was found, "
|
||||
"but could not be removed. Please make sure "
|
||||
"that no application is currently using it.")
|
||||
@@ -346,7 +346,7 @@ QString FolderMan::unescapeAlias(const QString &alias)
|
||||
// WARNING: Do not remove this code, it is used for predefined/automated deployments (2016)
|
||||
Folder *FolderMan::setupFolderFromOldConfigFile(const QString &file, AccountState *accountState)
|
||||
{
|
||||
Folder *folder = 0;
|
||||
Folder *folder = nullptr;
|
||||
|
||||
qCInfo(lcFolderMan) << " ` -> setting up:" << file;
|
||||
QString escapedAlias(file);
|
||||
@@ -387,7 +387,7 @@ Folder *FolderMan::setupFolderFromOldConfigFile(const QString &file, AccountStat
|
||||
|
||||
if (backend.isEmpty() || backend != QLatin1String("owncloud")) {
|
||||
qCWarning(lcFolderMan) << "obsolete configuration of type" << backend;
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// cut off the leading slash, oCUrl always has a trailing.
|
||||
@@ -397,7 +397,7 @@ Folder *FolderMan::setupFolderFromOldConfigFile(const QString &file, AccountStat
|
||||
|
||||
if (!accountState) {
|
||||
qCCritical(lcFolderMan) << "can't create folder without an account";
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
FolderDefinition folderDefinition;
|
||||
@@ -471,7 +471,7 @@ Folder *FolderMan::folder(const QString &alias)
|
||||
return _folderMap[alias];
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void FolderMan::scheduleAllFolders()
|
||||
@@ -575,7 +575,7 @@ void FolderMan::slotRunOneEtagJob()
|
||||
//qCDebug(lcFolderMan) << "No more remote ETag check jobs to schedule.";
|
||||
|
||||
/* now it might be a good time to check for restarting... */
|
||||
if (_currentSyncFolder == NULL && _appRestartRequired) {
|
||||
if (_currentSyncFolder == nullptr && _appRestartRequired) {
|
||||
restartApplication();
|
||||
}
|
||||
} else {
|
||||
@@ -633,7 +633,7 @@ void FolderMan::setSyncEnabled(bool enabled)
|
||||
}
|
||||
_syncEnabled = enabled;
|
||||
// force a redraw in case the network connect status changed
|
||||
emit(folderSyncStateChange(0));
|
||||
emit(folderSyncStateChange(nullptr));
|
||||
}
|
||||
|
||||
void FolderMan::startScheduledSyncSoon()
|
||||
@@ -698,7 +698,7 @@ void FolderMan::slotStartScheduledFolderSync()
|
||||
}
|
||||
|
||||
// Find the first folder in the queue that can be synced.
|
||||
Folder *folder = 0;
|
||||
Folder *folder = nullptr;
|
||||
while (!_scheduledFolders.isEmpty()) {
|
||||
Folder *g = _scheduledFolders.dequeue();
|
||||
if (g->canSync()) {
|
||||
@@ -862,7 +862,7 @@ void FolderMan::slotFolderSyncFinished(const SyncResult &)
|
||||
qPrintable(_currentSyncFolder->remoteUrl().toString()));
|
||||
|
||||
_lastSyncFolder = _currentSyncFolder;
|
||||
_currentSyncFolder = 0;
|
||||
_currentSyncFolder = nullptr;
|
||||
|
||||
startScheduledSyncSoon();
|
||||
}
|
||||
@@ -874,7 +874,7 @@ Folder *FolderMan::addFolder(AccountState *accountState, const FolderDefinition
|
||||
definition.journalPath = definition.defaultJournalPath(accountState->account());
|
||||
|
||||
if (!ensureJournalGone(definition.absoluteJournalPath())) {
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
auto folder = addFolderInternal(definition, accountState);
|
||||
@@ -947,7 +947,7 @@ Folder *FolderMan::folderForPath(const QString &path)
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
QStringList FolderMan::findFileInLocalFolders(const QString &relPath, const AccountPtr acc)
|
||||
@@ -955,7 +955,7 @@ QStringList FolderMan::findFileInLocalFolders(const QString &relPath, const Acco
|
||||
QStringList re;
|
||||
|
||||
foreach (Folder *folder, this->map().values()) {
|
||||
if (acc != 0 && folder->accountState()->account() != acc) {
|
||||
if (acc != nullptr && folder->accountState()->account() != acc) {
|
||||
continue;
|
||||
}
|
||||
QString path = folder->cleanPath();
|
||||
|
||||
@@ -323,7 +323,7 @@ private:
|
||||
bool _appRestartRequired;
|
||||
|
||||
static FolderMan *_instance;
|
||||
explicit FolderMan(QObject *parent = 0);
|
||||
explicit FolderMan(QObject *parent = nullptr);
|
||||
friend class OCC::Application;
|
||||
friend class ::TestFolderMan;
|
||||
};
|
||||
|
||||
@@ -47,10 +47,10 @@ public:
|
||||
|
||||
AddButton // 1 = enabled; 2 = disabled
|
||||
};
|
||||
void paint(QPainter *, const QStyleOptionViewItem &, const QModelIndex &) const Q_DECL_OVERRIDE;
|
||||
QSize sizeHint(const QStyleOptionViewItem &, const QModelIndex &) const Q_DECL_OVERRIDE;
|
||||
void paint(QPainter *, const QStyleOptionViewItem &, const QModelIndex &) const override;
|
||||
QSize sizeHint(const QStyleOptionViewItem &, const QModelIndex &) const override;
|
||||
bool editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option,
|
||||
const QModelIndex &index) Q_DECL_OVERRIDE;
|
||||
const QModelIndex &index) override;
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -43,7 +43,7 @@ static QString removeTrailingSlash(const QString &s)
|
||||
|
||||
FolderStatusModel::FolderStatusModel(QObject *parent)
|
||||
: QAbstractItemModel(parent)
|
||||
, _accountState(0)
|
||||
, _accountState(nullptr)
|
||||
, _dirty(false)
|
||||
{
|
||||
|
||||
@@ -106,7 +106,7 @@ void FolderStatusModel::setAccountState(const AccountState *accountState)
|
||||
Qt::ItemFlags FolderStatusModel::flags(const QModelIndex &index) const
|
||||
{
|
||||
if (!_accountState) {
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
switch (classify(index)) {
|
||||
case AddButton: {
|
||||
@@ -124,7 +124,7 @@ Qt::ItemFlags FolderStatusModel::flags(const QModelIndex &index) const
|
||||
case SubFolder:
|
||||
return Qt::ItemIsEnabled | Qt::ItemIsUserCheckable | Qt::ItemIsSelectable;
|
||||
}
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
QVariant FolderStatusModel::data(const QModelIndex &index, int role) const
|
||||
@@ -387,19 +387,19 @@ FolderStatusModel::ItemType FolderStatusModel::classify(const QModelIndex &index
|
||||
FolderStatusModel::SubFolderInfo *FolderStatusModel::infoForIndex(const QModelIndex &index) const
|
||||
{
|
||||
if (!index.isValid())
|
||||
return 0;
|
||||
return nullptr;
|
||||
if (auto parentInfo = static_cast<SubFolderInfo *>(index.internalPointer())) {
|
||||
if (parentInfo->hasLabel()) {
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
if (index.row() >= parentInfo->_subs.size()) {
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
return &parentInfo->_subs[index.row()];
|
||||
} else {
|
||||
if (index.row() >= _folders.count()) {
|
||||
// AddButton
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
return const_cast<SubFolderInfo *>(&_folders[index.row()]);
|
||||
}
|
||||
|
||||
@@ -41,25 +41,25 @@ class FolderStatusModel : public QAbstractItemModel
|
||||
public:
|
||||
enum {FileIdRole = Qt::UserRole+1};
|
||||
|
||||
FolderStatusModel(QObject *parent = 0);
|
||||
FolderStatusModel(QObject *parent = nullptr);
|
||||
~FolderStatusModel();
|
||||
void setAccountState(const AccountState *accountState);
|
||||
|
||||
Qt::ItemFlags flags(const QModelIndex &) const Q_DECL_OVERRIDE;
|
||||
QVariant data(const QModelIndex &index, int role) const Q_DECL_OVERRIDE;
|
||||
bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) Q_DECL_OVERRIDE;
|
||||
int columnCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE;
|
||||
int rowCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE;
|
||||
QModelIndex index(int row, int column = 0, const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE;
|
||||
QModelIndex parent(const QModelIndex &child) const Q_DECL_OVERRIDE;
|
||||
bool canFetchMore(const QModelIndex &parent) const Q_DECL_OVERRIDE;
|
||||
void fetchMore(const QModelIndex &parent) Q_DECL_OVERRIDE;
|
||||
bool hasChildren(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE;
|
||||
Qt::ItemFlags flags(const QModelIndex &) const override;
|
||||
QVariant data(const QModelIndex &index, int role) const override;
|
||||
bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
|
||||
int columnCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||
QModelIndex index(int row, int column = 0, const QModelIndex &parent = QModelIndex()) const override;
|
||||
QModelIndex parent(const QModelIndex &child) const override;
|
||||
bool canFetchMore(const QModelIndex &parent) const override;
|
||||
void fetchMore(const QModelIndex &parent) override;
|
||||
bool hasChildren(const QModelIndex &parent = QModelIndex()) const override;
|
||||
|
||||
struct SubFolderInfo
|
||||
{
|
||||
SubFolderInfo()
|
||||
: _folder(0)
|
||||
: _folder(nullptr)
|
||||
, _size(0)
|
||||
, _isExternal(false)
|
||||
, _fetched(false)
|
||||
|
||||
@@ -56,7 +56,7 @@ class FolderWatcher : public QObject
|
||||
Q_OBJECT
|
||||
public:
|
||||
// Construct, connect signals, call init()
|
||||
explicit FolderWatcher(Folder *folder = 0L);
|
||||
explicit FolderWatcher(Folder *folder = nullptr);
|
||||
virtual ~FolderWatcher();
|
||||
|
||||
/**
|
||||
|
||||
@@ -160,7 +160,7 @@ void FolderWatcherPrivate::slotReceivedNotification(int fd)
|
||||
while (i + sizeof(struct inotify_event) < static_cast<unsigned int>(len)) {
|
||||
// cast an inotify_event
|
||||
event = (struct inotify_event *)&buffer[i];
|
||||
if (event == NULL) {
|
||||
if (event == nullptr) {
|
||||
qCDebug(lcFolderWatcher) << "NULL event";
|
||||
i += sizeof(struct inotify_event);
|
||||
continue;
|
||||
|
||||
@@ -245,7 +245,7 @@ static QTreeWidgetItem *findFirstChild(QTreeWidgetItem *parent, const QString &t
|
||||
return child;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void FolderWizardRemotePath::recursiveInsert(QTreeWidgetItem *parent, QStringList pathTrail, QString path)
|
||||
@@ -534,7 +534,7 @@ void FolderWizardSelectiveSync::cleanupPage()
|
||||
FolderWizard::FolderWizard(AccountPtr account, QWidget *parent)
|
||||
: QWizard(parent)
|
||||
, _folderWizardSourcePage(new FolderWizardLocalPath(account))
|
||||
, _folderWizardTargetPage(0)
|
||||
, _folderWizardTargetPage(nullptr)
|
||||
, _folderWizardSelectiveSyncPage(new FolderWizardSelectiveSync(account))
|
||||
{
|
||||
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user