mirror of
https://github.com/chylex/Nextcloud-Desktop.git
synced 2026-04-12 23:57:41 +02:00
Compare commits
80 Commits
v3.2.0-rc3
...
v3.2.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5901a0f983 | ||
|
|
7825cf7f86 | ||
|
|
d65611bcb7 | ||
|
|
c5f17a7f77 | ||
|
|
4637ce7526 | ||
|
|
c3ed9a9d65 | ||
|
|
6da0650c61 | ||
|
|
031f7c48a3 | ||
|
|
abb57d6202 | ||
|
|
1e309b71a6 | ||
|
|
5a159d49d0 | ||
|
|
1cc082cec5 | ||
|
|
149bfa9001 | ||
|
|
f660f923a3 | ||
|
|
f7c4030463 | ||
|
|
55c0cbde36 | ||
|
|
3deb08a7fc | ||
|
|
594b13ed6a | ||
|
|
9cda48e0a6 | ||
|
|
03117c0dcf | ||
|
|
96dab4ff84 | ||
|
|
7dfb6c300f | ||
|
|
9a75fa5db5 | ||
|
|
2272cb6c3a | ||
|
|
e909add969 | ||
|
|
33ea9ba00e | ||
|
|
f86fcc94d8 | ||
|
|
443d8baf3a | ||
|
|
c2e217352f | ||
|
|
555c157cda | ||
|
|
03466431be | ||
|
|
9b8115558d | ||
|
|
8344969549 | ||
|
|
eed7fd73a3 | ||
|
|
4c50ba294e | ||
|
|
ec5be0f29a | ||
|
|
f79f4f6783 | ||
|
|
89919b6b33 | ||
|
|
86e0ad4ec6 | ||
|
|
328877c70b | ||
|
|
14fbf1b106 | ||
|
|
5f6236bd73 | ||
|
|
a3968bcc87 | ||
|
|
5e6c31b262 | ||
|
|
8550bfa8f1 | ||
|
|
f6afb62a53 | ||
|
|
1ca0ea49dd | ||
|
|
29f4a3857b | ||
|
|
050bd49373 | ||
|
|
8986975a17 | ||
|
|
50de12b3c3 | ||
|
|
163015492a | ||
|
|
c8ac99c8cf | ||
|
|
e51dad79a2 | ||
|
|
d2b762aa66 | ||
|
|
98cfc362f7 | ||
|
|
835a61c5ee | ||
|
|
5eb6834167 | ||
|
|
4b58c2b7b7 | ||
|
|
82953d0601 | ||
|
|
de85b79bb8 | ||
|
|
cb8b6ccd9b | ||
|
|
13f4bb541d | ||
|
|
3906ae0922 | ||
|
|
7235c708dc | ||
|
|
d5b6d93978 | ||
|
|
4a7145f1f3 | ||
|
|
d6752c96b1 | ||
|
|
77681ff5b5 | ||
|
|
4c8378030d | ||
|
|
0a33e99053 | ||
|
|
454226b3ea | ||
|
|
e15045977e | ||
|
|
a599cd2c3f | ||
|
|
487f29cf80 | ||
|
|
2268facd9d | ||
|
|
57aeeca172 | ||
|
|
962bbf3043 | ||
|
|
6e147a7a8c | ||
|
|
b2377ff64f |
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[bg_BG]=@APPLICATION_ICON_NAME@
|
Icon[bg_BG]=@APPLICATION_ICON_NAME@
|
||||||
Name[bg_BG]=@APPLICATION_NAME@ десктоп клиент за синхронизиране
|
|
||||||
Comment[bg_BG]=@APPLICATION_NAME@ десктоп клиент за синхронизиране
|
Comment[bg_BG]=@APPLICATION_NAME@ десктоп клиент за синхронизиране
|
||||||
GenericName[bg_BG]=Синхронизиране на папка
|
GenericName[bg_BG]=Синхронизиране на папка
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[br]=@APPLICATION_ICON_NAME@
|
Icon[br]=@APPLICATION_ICON_NAME@
|
||||||
Name[br]=@APPLICATION_NAME@ burev kempreet an implijer
|
|
||||||
Comment[br]=@APPLICATION_NAME@ burev kempreet an implijer
|
Comment[br]=@APPLICATION_NAME@ burev kempreet an implijer
|
||||||
GenericName[br]=Tuliad kemprenan
|
GenericName[br]=Tuliad kemprenan
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[ca]=@APPLICATION_ICON_NAME@
|
Icon[ca]=@APPLICATION_ICON_NAME@
|
||||||
Name[ca]=Client de sincronització d'escriptori del @APPLICATION_NAME@
|
|
||||||
Comment[ca]=Client de sincronització d'escriptori del @APPLICATION_NAME@
|
Comment[ca]=Client de sincronització d'escriptori del @APPLICATION_NAME@
|
||||||
GenericName[ca]=Sincronització de carpetes
|
GenericName[ca]=Sincronització de carpetes
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,6 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[cs_CZ]=@APPLICATION_ICON_NAME@
|
Icon[cs_CZ]=@APPLICATION_ICON_NAME@
|
||||||
Name[cs_CZ]=@APPLICATION_NAME@ synchronizační klient pro desktop
|
Name[cs_CZ]=@APPLICATION_NAME@ Desktop
|
||||||
Comment[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
|
GenericName[cs_CZ]=Synchronizace složek
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[cy_GB]=@APPLICATION_ICON_NAME@
|
Icon[cy_GB]=@APPLICATION_ICON_NAME@
|
||||||
Name[cy_GB]=@APPLICATION_NAME@ cleient cydweddu bwrdd gwaith
|
|
||||||
Comment[cy_GB]=@APPLICATION_NAME@ cleient cydweddu bwrdd gwaith
|
Comment[cy_GB]=@APPLICATION_NAME@ cleient cydweddu bwrdd gwaith
|
||||||
GenericName[cy_GB]=Cydweddu Ffolder
|
GenericName[cy_GB]=Cydweddu Ffolder
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[da]=@APPLICATION_ICON_NAME@
|
Icon[da]=@APPLICATION_ICON_NAME@
|
||||||
Name[da]=@APPLICATION_NAME@ Arbejdsstationsssynkroniseringsklient
|
|
||||||
Comment[da]=@APPLICATION_NAME@ Arbejdsstationsssynkroniseringsklient
|
Comment[da]=@APPLICATION_NAME@ Arbejdsstationsssynkroniseringsklient
|
||||||
GenericName[da]=Mappesynkronisering
|
GenericName[da]=Mappesynkronisering
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[el]=@APPLICATION_ICON_NAME@
|
Icon[el]=@APPLICATION_ICON_NAME@
|
||||||
Name[el]=@APPLICATION_NAME@ πρόγραμμα συγχρονισμού
|
|
||||||
Comment[el]=@APPLICATION_NAME@ πρόγραμμα συγχρονισμού
|
Comment[el]=@APPLICATION_NAME@ πρόγραμμα συγχρονισμού
|
||||||
GenericName[el]=Συγχρονισμός φακέλου
|
GenericName[el]=Συγχρονισμός φακέλου
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[en_GB]=@APPLICATION_ICON_NAME@
|
Icon[en_GB]=@APPLICATION_ICON_NAME@
|
||||||
Name[en_GB]=@APPLICATION_NAME@ desktop sync client
|
|
||||||
Comment[en_GB]=@APPLICATION_NAME@ desktop synchronisation client
|
Comment[en_GB]=@APPLICATION_NAME@ desktop synchronisation client
|
||||||
GenericName[en_GB]=Folder Sync
|
GenericName[en_GB]=Folder Sync
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[eo]=@APPLICATION_ICON_NAME@
|
Icon[eo]=@APPLICATION_ICON_NAME@
|
||||||
Name[eo]=@APPLICATION_NAME@ sinkroniga kliento
|
|
||||||
Comment[eo]=@APPLICATION_NAME@ sinkroniga kliento
|
Comment[eo]=@APPLICATION_NAME@ sinkroniga kliento
|
||||||
GenericName[eo]=Dosieruja sinkronigo
|
GenericName[eo]=Dosieruja sinkronigo
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[es_AR]=@APPLICATION_ICON_NAME@
|
Icon[es_AR]=@APPLICATION_ICON_NAME@
|
||||||
Name[es_AR]=@APPLICATION_NAME@ cliente de sincronización de escritorio
|
|
||||||
Comment[es_AR]=@APPLICATION_NAME@ cliente de sincronización de escritorio
|
Comment[es_AR]=@APPLICATION_NAME@ cliente de sincronización de escritorio
|
||||||
GenericName[es_AR]=Sincronización de carpetas
|
GenericName[es_AR]=Sincronización de carpetas
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -21,6 +21,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Name[es_CL]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
|
||||||
Comment[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
|
GenericName[es_CL]=Sincronización de carpeta
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -21,6 +21,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Name[es_CO]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
|
||||||
Comment[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
|
GenericName[es_CO]=Sincronización de carpeta
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -21,6 +21,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Name[es_CR]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
|
||||||
Comment[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
|
GenericName[es_CR]=Sincronización de carpeta
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[es_DO]=@APPLICATION_ICON_NAME@
|
Icon[es_DO]=@APPLICATION_ICON_NAME@
|
||||||
Name[es_DO]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
|
||||||
Comment[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
|
GenericName[es_DO]=Sincronización de carpeta
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -21,6 +21,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Name[es_EC]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
|
||||||
Comment[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
|
GenericName[es_EC]=Sincronización de carpeta
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -21,6 +21,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Name[es_GT]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
|
||||||
Comment[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
|
GenericName[es_GT]=Sincronización de carpeta
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -21,6 +21,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Name[es_MX]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
|
||||||
Comment[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
|
GenericName[es_MX]=Sincronización de carpeta
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -21,6 +21,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Name[es_SV]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
|
||||||
Comment[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
|
GenericName[es_SV]=Sincronización de carpeta
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,6 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[es]=@APPLICATION_ICON_NAME@
|
Icon[es]=@APPLICATION_ICON_NAME@
|
||||||
Name[es]=Cliente de sincronización de escritorio @APPLICATION_NAME@
|
Name[es]=@APPLICATION_NAME@ Desktop
|
||||||
Comment[es]=Cliente de sincronización de escritorio @APPLICATION_NAME@
|
Comment[es]=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName[es]=Sincronización de carpetas
|
GenericName[es]=Sincronización de carpetas
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[et_EE]=@APPLICATION_ICON_NAME@
|
Icon[et_EE]=@APPLICATION_ICON_NAME@
|
||||||
Name[et_EE]=@APPLICATION_NAME@ töölaua sünkimise klient
|
|
||||||
Comment[et_EE]=@APPLICATION_NAME@ töölaua sünkroniseerimise klient
|
Comment[et_EE]=@APPLICATION_NAME@ töölaua sünkroniseerimise klient
|
||||||
GenericName[et_EE]=Kausta Sünkroonimine
|
GenericName[et_EE]=Kausta Sünkroonimine
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,6 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[eu]=@APPLICATION_ICON_NAME@
|
Icon[eu]=@APPLICATION_ICON_NAME@
|
||||||
Name[eu]=@APPLICATION_NAME@ mahaigainerako sinkronizazio bezeroa
|
Name[eu]=@APPLICATION_NAME@ Mahaigaina
|
||||||
Comment[eu]=@APPLICATION_NAME@ mahaigainerako sinkronizazio bezeroa
|
Comment[eu]=@APPLICATION_NAME@ mahaigainerako sinkronizazio bezeroa
|
||||||
GenericName[eu]=Karpeta-sinkronizazioa
|
GenericName[eu]=Karpeta-sinkronizazioa
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[fi_FI]=@APPLICATION_ICON_NAME@
|
Icon[fi_FI]=@APPLICATION_ICON_NAME@
|
||||||
Name[fi_FI]=@APPLICATION_NAME@ työpöydän synkronointipääte
|
|
||||||
Comment[fi_FI]=@APPLICATION_NAME@ työpöydän synkronointipääte
|
Comment[fi_FI]=@APPLICATION_NAME@ työpöydän synkronointipääte
|
||||||
GenericName[fi_FI]=Kansio synkronointi
|
GenericName[fi_FI]=Kansio synkronointi
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[fr]=@APPLICATION_ICON_NAME@
|
Icon[fr]=@APPLICATION_ICON_NAME@
|
||||||
Name[fr]=Client de synchro @APPLICATION_NAME@
|
|
||||||
Comment[fr]=Client de synchronisation @APPLICATION_NAME@
|
Comment[fr]=Client de synchronisation @APPLICATION_NAME@
|
||||||
GenericName[fr]=Synchronisation du dossier
|
GenericName[fr]=Synchronisation du dossier
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[gl]=@APPLICATION_ICON_NAME@
|
Icon[gl]=@APPLICATION_ICON_NAME@
|
||||||
Name[gl]=@APPLICATION_NAME@ cliente de sincronización para escritorio
|
|
||||||
Comment[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
|
GenericName[gl]=Sincronización de cartafol
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[he]=@APPLICATION_ICON_NAME@
|
Icon[he]=@APPLICATION_ICON_NAME@
|
||||||
Name[he]=@APPLICATION_NAME@ לקוח סנכרון לשולחן העבודה
|
|
||||||
Comment[he]=@APPLICATION_NAME@ לקוח סנכרון לשולחן העבודה
|
Comment[he]=@APPLICATION_NAME@ לקוח סנכרון לשולחן העבודה
|
||||||
GenericName[he]=סנכרון תיקיות
|
GenericName[he]=סנכרון תיקיות
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[hr]=@APPLICATION_ICON_NAME@
|
Icon[hr]=@APPLICATION_ICON_NAME@
|
||||||
Name[hr]=@APPLICATION_NAME@ klijent za sink. računala
|
|
||||||
Comment[hr]=@APPLICATION_NAME@ klijent za sinkronizaciju računala
|
Comment[hr]=@APPLICATION_NAME@ klijent za sinkronizaciju računala
|
||||||
GenericName[hr]=Sinkronizacija mapa
|
GenericName[hr]=Sinkronizacija mapa
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[hu_HU]=@APPLICATION_ICON_NAME@
|
Icon[hu_HU]=@APPLICATION_ICON_NAME@
|
||||||
Name[hu_HU]=@APPLICATION_NAME@ asztali szinkronizálási kliens
|
|
||||||
Comment[hu_HU]=@APPLICATION_NAME@ asztali szinkronizálási kliens
|
Comment[hu_HU]=@APPLICATION_NAME@ asztali szinkronizálási kliens
|
||||||
GenericName[hu_HU]=Mappaszinkronizálás
|
GenericName[hu_HU]=Mappaszinkronizálás
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[is]=@APPLICATION_ICON_NAME@
|
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
|
Comment[is]=@APPLICATION_NAME@ forrit til samstillingar við tölvu
|
||||||
GenericName[is]=Samstilling á möppum
|
GenericName[is]=Samstilling á möppum
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[it]=@APPLICATION_ICON_NAME@
|
Icon[it]=@APPLICATION_ICON_NAME@
|
||||||
Name[it]=Client di sincronizzazione desktop di @APPLICATION_NAME@
|
|
||||||
Comment[it]=Client di sincronizzazione desktop di @APPLICATION_NAME@
|
Comment[it]=Client di sincronizzazione desktop di @APPLICATION_NAME@
|
||||||
GenericName[it]=Sincronizzazione cartelle
|
GenericName[it]=Sincronizzazione cartelle
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[ja_JP]=@APPLICATION_ICON_NAME@
|
Icon[ja_JP]=@APPLICATION_ICON_NAME@
|
||||||
Name[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント
|
|
||||||
Comment[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント
|
Comment[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント
|
||||||
GenericName[ja_JP]=フォルダーを同期する
|
GenericName[ja_JP]=フォルダーを同期する
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[ko]=@APPLICATION_ICON_NAME@
|
Icon[ko]=@APPLICATION_ICON_NAME@
|
||||||
Name[ko]=@APPLICATION_NAME@ 데스크톱 동기화 클라이언트
|
|
||||||
Comment[ko]=@APPLICATION_NAME@ 데스크톱 동기화 클라이언트
|
Comment[ko]=@APPLICATION_NAME@ 데스크톱 동기화 클라이언트
|
||||||
GenericName[ko]=폴더 동기화
|
GenericName[ko]=폴더 동기화
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[lt_LT]=@APPLICATION_ICON_NAME@
|
Icon[lt_LT]=@APPLICATION_ICON_NAME@
|
||||||
Name[lt_LT]=@APPLICATION_NAME@ darbalaukio sinchronizavimo kliento programa
|
|
||||||
Comment[lt_LT]=@APPLICATION_NAME@ darbalaukio sinchronizavimo kliento programa
|
Comment[lt_LT]=@APPLICATION_NAME@ darbalaukio sinchronizavimo kliento programa
|
||||||
GenericName[lt_LT]=Aplankų sinchronizavimas
|
GenericName[lt_LT]=Aplankų sinchronizavimas
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[lv]=@APPLICATION_ICON_NAME@
|
Icon[lv]=@APPLICATION_ICON_NAME@
|
||||||
Name[lv]=@APPLICATION_NAME@ darbavirsmas sinhronizešanas klients
|
|
||||||
Comment[lv]=@APPLICATION_NAME@ darbavirsmas sinhronizešanas klients
|
Comment[lv]=@APPLICATION_NAME@ darbavirsmas sinhronizešanas klients
|
||||||
GenericName[lv]=Mapju Sinhronizēšana
|
GenericName[lv]=Mapju Sinhronizēšana
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[mk]=@APPLICATION_ICON_NAME@
|
Icon[mk]=@APPLICATION_ICON_NAME@
|
||||||
Name[mk]=@APPLICATION_NAME@ клиент за синхронизација на компјутер
|
|
||||||
Comment[mk]=@APPLICATION_NAME@ клиент за синхронизација на компјутер
|
Comment[mk]=@APPLICATION_NAME@ клиент за синхронизација на компјутер
|
||||||
GenericName[mk]=Папка за синхронизација
|
GenericName[mk]=Папка за синхронизација
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[nb_NO]=@APPLICATION_ICON_NAME@
|
Icon[nb_NO]=@APPLICATION_ICON_NAME@
|
||||||
Name[nb_NO]=@APPLICATION_NAME@ klient for synkroinisering
|
|
||||||
Comment[nb_NO]=@APPLICATION_NAME@ klient for synkroinisering
|
Comment[nb_NO]=@APPLICATION_NAME@ klient for synkroinisering
|
||||||
GenericName[nb_NO]=Mappe synkroinisering
|
GenericName[nb_NO]=Mappe synkroinisering
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,6 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[nl]=@APPLICATION_ICON_NAME@
|
Icon[nl]=@APPLICATION_ICON_NAME@
|
||||||
Name[nl]=@APPLICATION_NAME@ desktop sync client
|
Name[nl]=@APPLICATION_NAME@ Desktop
|
||||||
Comment[nl]=@APPLICATION_NAME@ desktopsynchronisatieclient
|
Comment[nl]=@APPLICATION_NAME@ desktopsynchronisatieclient
|
||||||
GenericName[nl]=Map synchronisatie
|
GenericName[nl]=Map synchronisatie
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[oc]=@APPLICATION_ICON_NAME@
|
Icon[oc]=@APPLICATION_ICON_NAME@
|
||||||
Name[oc]=@APPLICATION_NAME@ client de sincronizacion
|
|
||||||
Comment[oc]=@APPLICATION_NAME@ client de sincronizacion
|
Comment[oc]=@APPLICATION_NAME@ client de sincronizacion
|
||||||
GenericName[oc]=Sincro. dossièr
|
GenericName[oc]=Sincro. dossièr
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,6 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[pl]=@APPLICATION_ICON_NAME@
|
Icon[pl]=@APPLICATION_ICON_NAME@
|
||||||
Name[pl]=@APPLICATION_NAME@ desktopowy klient synchronizacji
|
Name[pl]=@APPLICATION_NAME@ Desktop
|
||||||
Comment[pl]=@APPLICATION_NAME@ desktopowy klient synchronizacji
|
Comment[pl]=Desktopowy klient synchronizacji @APPLICATION_NAME@
|
||||||
GenericName[pl]=Katalog synchronizacji
|
GenericName[pl]=Katalog synchronizacji
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,6 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[pt_BR]=@APPLICATION_ICON_NAME@
|
Icon[pt_BR]=@APPLICATION_ICON_NAME@
|
||||||
Name[pt_BR]=@APPLICATION_NAME@ cliente de sincronização desktop
|
Name[pt_BR]=@APPLICATION_NAME@ Desktop
|
||||||
Comment[pt_BR]=@APPLICATION_NAME@ cliente de sincronização desktop
|
Comment[pt_BR]=@APPLICATION_NAME@ cliente de sincronização desktop
|
||||||
GenericName[pt_BR]=Sincronizar pasta
|
GenericName[pt_BR]=Sincronizar pasta
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[pt_PT]=@APPLICATION_ICON_NAME@
|
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
|
Comment[pt_PT]=@APPLICATION_NAME@ - Cliente de Sincronização da Área de Trabalho
|
||||||
GenericName[pt_PT]=Sincronização de Pasta
|
GenericName[pt_PT]=Sincronização de Pasta
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[ro]=@APPLICATION_ICON_NAME@
|
Icon[ro]=@APPLICATION_ICON_NAME@
|
||||||
Name[ro]=@APPLICATION_NAME@ client de sincronizare pentru desktop
|
|
||||||
Comment[ro]=@APPLICATION_NAME@ client de sincronizare pentru desktop
|
Comment[ro]=@APPLICATION_NAME@ client de sincronizare pentru desktop
|
||||||
GenericName[ro]=Sincronizare director
|
GenericName[ro]=Sincronizare director
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[ru]=@APPLICATION_ICON_NAME@
|
Icon[ru]=@APPLICATION_ICON_NAME@
|
||||||
Name[ru]=@APPLICATION_NAME@ для ПК
|
|
||||||
Comment[ru]=Клиент синхронизации @APPLICATION_NAME@ для ПК
|
Comment[ru]=Клиент синхронизации @APPLICATION_NAME@ для ПК
|
||||||
GenericName[ru]=Синхронизация папок
|
GenericName[ru]=Синхронизация папок
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[sc]=@NÙMENE_ICONA_APLICATZIONE@
|
Icon[sc]=@NÙMENE_ICONA_APLICATZIONE@
|
||||||
Name[sc]=@NÙMENE_APLICATZIONE@ cliente sicronizadore de iscrivania
|
|
||||||
Comment[sc]=@NÙMENE_APLICATZIONE@ cliente de sincronizatzione iscrivania
|
Comment[sc]=@NÙMENE_APLICATZIONE@ cliente de sincronizatzione iscrivania
|
||||||
GenericName[sc]=Sincronizadore de cartellas
|
GenericName[sc]=Sincronizadore de cartellas
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[sk_SK]=@APPLICATION_ICON_NAME@
|
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
|
Comment[sk_SK]=@APPLICATION_NAME@ synchronizačný klient pre PC
|
||||||
GenericName[sk_SK]=Synchronizácia priečinkov
|
GenericName[sk_SK]=Synchronizácia priečinkov
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[sl]=@APPLICATION_ICON_NAME@
|
Icon[sl]=@APPLICATION_ICON_NAME@
|
||||||
Name[sl]=@APPLICATION_NAME@ program za usklajevanje
|
|
||||||
Comment[sl]=@APPLICATION_NAME@ program za usklajevanje
|
Comment[sl]=@APPLICATION_NAME@ program za usklajevanje
|
||||||
GenericName[sl]=Usklajevanje map
|
GenericName[sl]=Usklajevanje map
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[sr]=@APPLICATION_ICON_NAME@
|
Icon[sr]=@APPLICATION_ICON_NAME@
|
||||||
Name[sr]=@APPLICATION_NAME@ десктоп клијент за синхронизацију
|
|
||||||
Comment[sr]=@APPLICATION_NAME@ десктоп клијент за синхронизацију
|
Comment[sr]=@APPLICATION_NAME@ десктоп клијент за синхронизацију
|
||||||
GenericName[sr]=Синхронизација фасцикли
|
GenericName[sr]=Синхронизација фасцикли
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[sv]=@APPLICATION_ICON_NAME@
|
Icon[sv]=@APPLICATION_ICON_NAME@
|
||||||
Name[sv]=@APPLICATION_NAME@ desktopssynkklient
|
|
||||||
Comment[sv]=@APPLICATION_NAME@ desktopssynkroniseringsklient
|
Comment[sv]=@APPLICATION_NAME@ desktopssynkroniseringsklient
|
||||||
GenericName[sv]=Mappsynkronisering
|
GenericName[sv]=Mappsynkronisering
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[sw]=@APPLICATION_ICON_NAME@
|
Icon[sw]=@APPLICATION_ICON_NAME@
|
||||||
Name[sw]=Teja ya @APPLICATION_NAME@ ya kufanana faili kwa seva na faili ziko hapa
|
|
||||||
Comment[sw]=Teja ya @APPLICATION_NAME@ ya kufanana faili kwa seva na faili ziko hapa
|
Comment[sw]=Teja ya @APPLICATION_NAME@ ya kufanana faili kwa seva na faili ziko hapa
|
||||||
GenericName[sw]=Fanana Kabrasha
|
GenericName[sw]=Fanana Kabrasha
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,6 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[tr]=@APPLICATION_ICON_NAME@
|
Icon[tr]=@APPLICATION_ICON_NAME@
|
||||||
Name[tr]=@APPLICATION_NAME@ masaüstü eşiteme istemcisi
|
Name[tr]=@APPLICATION_NAME@ Masaüstü
|
||||||
Comment[tr]=@APPLICATION_NAME@ masaüstü eşitleme istemcisi
|
Comment[tr]=@APPLICATION_NAME@ masaüstü eşitleme istemcisi
|
||||||
GenericName[tr]=Klasör Eşitleme
|
GenericName[tr]=Klasör Eşitleme
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,5 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[uk]=@APPLICATION_ICON_NAME@
|
Icon[uk]=@APPLICATION_ICON_NAME@
|
||||||
Name[uk]=@APPLICATION_NAME@ клієнт для ПК
|
|
||||||
Comment[uk]=Клієнт синхронізації @APPLICATION_NAME@ для ПК
|
Comment[uk]=Клієнт синхронізації @APPLICATION_NAME@ для ПК
|
||||||
GenericName[uk]=Синхронізація тек
|
GenericName[uk]=Синхронізація тек
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,6 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[zh_CN]=@APPLICATION_ICON_NAME@
|
Icon[zh_CN]=@APPLICATION_ICON_NAME@
|
||||||
Name[zh_CN]=@APPLICATION_NAME@ 桌面同步客户端
|
Name[zh_CN]=@APPLICATION_NAME@ 桌面
|
||||||
Comment[zh_CN]=@APPLICATION_NAME@ 桌面同步客户端
|
Comment[zh_CN]=@APPLICATION_NAME@ 桌面同步客户端
|
||||||
GenericName[zh_CN]=文件夹同步
|
GenericName[zh_CN]=文件夹同步
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,6 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[zh_HK]=@APPLICATION_ICON_NAME@
|
Icon[zh_HK]=@APPLICATION_ICON_NAME@
|
||||||
Name[zh_HK]= @APPLICATION_NAME@ 桌面同步客戶端
|
Name[zh_HK]=@APPLICATION_NAME@ 桌面電腦
|
||||||
Comment[zh_HK]= @APPLICATION_NAME@ 桌面同步客戶端
|
Comment[zh_HK]= @APPLICATION_NAME@ 桌面同步客戶端
|
||||||
GenericName[zh_HK]=資料夾同步
|
GenericName[zh_HK]=資料夾同步
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Categories=Utility;X-SuSE-SyncUtility;
|
Categories=Utility;X-SuSE-SyncUtility;
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=@APPLICATION_EXECUTABLE@
|
Exec=@APPLICATION_EXECUTABLE@
|
||||||
Name=@APPLICATION_NAME@ desktop sync client
|
Name=@APPLICATION_NAME@ Desktop
|
||||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||||
GenericName=Folder Sync
|
GenericName=Folder Sync
|
||||||
Icon=@APPLICATION_ICON_NAME@
|
Icon=@APPLICATION_ICON_NAME@
|
||||||
@@ -22,6 +22,6 @@ Icon=@APPLICATION_EXECUTABLE@
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
Icon[zh_TW]=@APPLICATION_ICON_NAME@
|
Icon[zh_TW]=@APPLICATION_ICON_NAME@
|
||||||
Name[zh_TW]=@APPLICATION_NAME@ 桌面同步客戶端
|
Name[zh_TW]=@APPLICATION_NAME@ 桌面版
|
||||||
Comment[zh_TW]=@APPLICATION_NAME@ 桌面同步客戶端
|
Comment[zh_TW]=@APPLICATION_NAME@ 桌面同步客戶端
|
||||||
GenericName[zh_TW]=資料夾同步
|
GenericName[zh_TW]=資料夾同步
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
set( MIRALL_VERSION_MAJOR 3 )
|
set( MIRALL_VERSION_MAJOR 3 )
|
||||||
set( MIRALL_VERSION_MINOR 1 )
|
set( MIRALL_VERSION_MINOR 2 )
|
||||||
set( MIRALL_VERSION_PATCH 83 )
|
set( MIRALL_VERSION_PATCH 1 )
|
||||||
set( MIRALL_VERSION_YEAR 2020 )
|
set( MIRALL_VERSION_YEAR 2021 )
|
||||||
set( MIRALL_SOVERSION 0 )
|
set( MIRALL_SOVERSION 0 )
|
||||||
|
|
||||||
# Minimum supported server version according to https://docs.nextcloud.com/server/latest/admin_manual/release_schedule.html
|
# Minimum supported server version according to https://docs.nextcloud.com/server/latest/admin_manual/release_schedule.html
|
||||||
|
|||||||
@@ -52,6 +52,9 @@
|
|||||||
<Property Id="INSTALLDIR">
|
<Property Id="INSTALLDIR">
|
||||||
<RegistrySearch Id="RegistryInstallDir" Type="raw" Root="HKLM" Key="Software\$(var.AppVendor)\$(var.AppName)" Win64="no" />
|
<RegistrySearch Id="RegistryInstallDir" Type="raw" Root="HKLM" Key="Software\$(var.AppVendor)\$(var.AppName)" Win64="no" />
|
||||||
</Property>
|
</Property>
|
||||||
|
<Property Id="WINDOWSRELEASEID">
|
||||||
|
<RegistrySearch Id="RegistryWindowsReleaseId" Type="raw" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion" Name="ReleaseId"/>
|
||||||
|
</Property>
|
||||||
|
|
||||||
<!-- Detect legacy NSIS installation -->
|
<!-- Detect legacy NSIS installation -->
|
||||||
<Property Id="NSIS_UNINSTALLEXE">
|
<Property Id="NSIS_UNINSTALLEXE">
|
||||||
@@ -77,8 +80,8 @@
|
|||||||
<!-- Uninstall: Remove sync folders from Explorer's Navigation Pane, only effective for the current user (home users) -->
|
<!-- Uninstall: Remove sync folders from Explorer's Navigation Pane, only effective for the current user (home users) -->
|
||||||
<Custom Action="RemoveNavigationPaneEntries" After="RemoveFiles">(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom>
|
<Custom Action="RemoveNavigationPaneEntries" After="RemoveFiles">(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom>
|
||||||
|
|
||||||
<!-- Schedule Reboot for the Shell Extensions -->
|
<!-- Schedule Reboot for the Shell Extensions (in silent installation mode only, or if SCHEDULE_REBOOT argument is set-->
|
||||||
<ScheduleReboot After="InstallFinalize">NOT (DO_NOT_SCHEDULE_REBOOT=1)</ScheduleReboot>
|
<ScheduleReboot After="InstallFinalize">(SCHEDULE_REBOOT=1) OR NOT (UILevel=2)</ScheduleReboot>
|
||||||
</InstallExecuteSequence>
|
</InstallExecuteSequence>
|
||||||
|
|
||||||
<!-- "Add or Remove" Programs Entries -->
|
<!-- "Add or Remove" Programs Entries -->
|
||||||
@@ -214,6 +217,6 @@
|
|||||||
<Condition Level="0">(NO_DESKTOP_SHORTCUT=1)</Condition>
|
<Condition Level="0">(NO_DESKTOP_SHORTCUT=1)</Condition>
|
||||||
</Feature>
|
</Feature>
|
||||||
</Feature>
|
</Feature>
|
||||||
|
<Condition Message="This application only runs on Windows 10, version 1709 or higher!">(VersionNT>=603 AND WINDOWSRELEASEID>=1709)</Condition>
|
||||||
</Product>
|
</Product>
|
||||||
</Wix>
|
</Wix>
|
||||||
|
|||||||
@@ -41,16 +41,16 @@ master_doc = 'index'
|
|||||||
|
|
||||||
# General information about the project.
|
# General information about the project.
|
||||||
project = u'Nextcloud Client Manual'
|
project = u'Nextcloud Client Manual'
|
||||||
copyright = u'2013-2020, The Nextcloud developers'
|
copyright = u'2013-2021, The Nextcloud developers'
|
||||||
|
|
||||||
# The version info for the project you're documenting, acts as replacement for
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
# |version| and |release|, also used in various other places throughout the
|
# |version| and |release|, also used in various other places throughout the
|
||||||
# built documents.
|
# built documents.
|
||||||
#
|
#
|
||||||
# The short X.Y version.
|
# The short X.Y version.
|
||||||
version = '3.0'
|
version = '3.2'
|
||||||
# The full version, including alpha/beta/rc tags.
|
# The full version, including alpha/beta/rc tags.
|
||||||
release = '3.0'
|
release = '3.2.1'
|
||||||
|
|
||||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||||
# for a list of supported languages.
|
# for a list of supported languages.
|
||||||
|
|||||||
@@ -6,6 +6,10 @@ You can download the latest version of the Nextcloud Desktop Synchronization
|
|||||||
Client from the `Nextcloud download page`_.
|
Client from the `Nextcloud download page`_.
|
||||||
There are clients for Linux, macOs, and Microsoft Windows.
|
There are clients for Linux, macOs, and Microsoft Windows.
|
||||||
|
|
||||||
|
The currently supported server releases are the latest three stable versions
|
||||||
|
at time of publication. It means that the |version| release series is supporting
|
||||||
|
server major version 19, 20 and 21.
|
||||||
|
|
||||||
Installation on Mac OS X and Windows is the same as for any software
|
Installation on Mac OS X and Windows is the same as for any software
|
||||||
application: download the program and then double-click it to launch the
|
application: download the program and then double-click it to launch the
|
||||||
installation, and then follow the installation wizard. After it is installed and
|
installation, and then follow the installation wizard. After it is installed and
|
||||||
|
|||||||
@@ -18,10 +18,8 @@ Improvements and New Features
|
|||||||
The |version| release of the Nextcloud desktop sync client has many new features and
|
The |version| release of the Nextcloud desktop sync client has many new features and
|
||||||
improvements.
|
improvements.
|
||||||
|
|
||||||
* Show server notifications on the client
|
* Virtual Files on Windows
|
||||||
* Improved sync speed
|
* Support for the user status from the server
|
||||||
* Improved handling of Win32 file locks and network files
|
* Many improvements to the sync engine
|
||||||
* Improved user notifications about ignored files and conflicts
|
* Make the end-to-end encryption work more reliable
|
||||||
* Add warnings for old server versions
|
* Improve sync performance
|
||||||
* Update of QtKeyChain to support Windows credential store
|
|
||||||
* Packaging of dolphin overlay icon module for bleeding edge distributions
|
|
||||||
|
|||||||
@@ -163,7 +163,8 @@ std::unique_ptr<csync_file_stat_t> csync_vio_local_readdir(csync_vio_handle_t *h
|
|||||||
} else if (handle->ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
|
} else if (handle->ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
|
||||||
file_stat->type = ItemTypeDirectory;
|
file_stat->type = ItemTypeDirectory;
|
||||||
} else {
|
} else {
|
||||||
file_stat->type = ItemTypeFile;
|
// exclude ".lnk" files as they are not essential, but, causing troubles when enabling the VFS due to QFileInfo::isDir() and other methods are freezing, which causes the ".lnk" files to start hydrating and freezing the app eventually.
|
||||||
|
file_stat->type = !OCC::FileSystem::isLnkFile(path) ? ItemTypeFile : ItemTypeSoftLink;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check for the hidden flag */
|
/* Check for the hidden flag */
|
||||||
|
|||||||
@@ -223,8 +223,6 @@ set( final_src
|
|||||||
${MIRALL_RC_SRC}
|
${MIRALL_RC_SRC}
|
||||||
${client_SRCS}
|
${client_SRCS}
|
||||||
${client_UI_SRCS}
|
${client_UI_SRCS}
|
||||||
${client_version}
|
|
||||||
${client_manifest}
|
|
||||||
${guiMoc}
|
${guiMoc}
|
||||||
${client_I18N}
|
${client_I18N}
|
||||||
${3rdparty_SRC}
|
${3rdparty_SRC}
|
||||||
@@ -253,7 +251,7 @@ if(APPLE)
|
|||||||
file(GLOB_RECURSE OWNCLOUD_SIDEBAR_ICONS "${theme_dir}/colored/*-${APPLICATION_ICON_NAME}-sidebar*")
|
file(GLOB_RECURSE OWNCLOUD_SIDEBAR_ICONS "${theme_dir}/colored/*-${APPLICATION_ICON_NAME}-sidebar*")
|
||||||
MESSAGE(STATUS "OWNCLOUD_SIDEBAR_ICONS: ${APPLICATION_ICON_NAME}: ${OWNCLOUD_SIDEBAR_ICONS}")
|
MESSAGE(STATUS "OWNCLOUD_SIDEBAR_ICONS: ${APPLICATION_ICON_NAME}: ${OWNCLOUD_SIDEBAR_ICONS}")
|
||||||
endif()
|
endif()
|
||||||
ecm_add_app_icon(final_src ICONS "${OWNCLOUD_ICONS}" SIDEBAR_ICONS "${OWNCLOUD_SIDEBAR_ICONS}" OUTFILE_BASENAME "${APPLICATION_ICON_NAME}")
|
ecm_add_app_icon(APP_ICON ICONS "${OWNCLOUD_ICONS}" SIDEBAR_ICONS "${OWNCLOUD_SIDEBAR_ICONS}" OUTFILE_BASENAME "${APPLICATION_ICON_NAME}")
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE")
|
||||||
@@ -315,13 +313,13 @@ if(NOT BUILD_OWNCLOUD_OSX_BUNDLE)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# we may not add MACOSX_BUNDLE here, if not building one
|
# we may not add MACOSX_BUNDLE here, if not building one
|
||||||
add_executable(${APPLICATION_EXECUTABLE} WIN32 main.cpp)
|
add_executable(${APPLICATION_EXECUTABLE} WIN32 main.cpp ${client_version} ${client_manifest} ${APP_ICON})
|
||||||
else()
|
else()
|
||||||
# set(CMAKE_INSTALL_PREFIX ".") # Examples use /Applications. hurmpf.
|
# set(CMAKE_INSTALL_PREFIX ".") # Examples use /Applications. hurmpf.
|
||||||
set(MACOSX_BUNDLE_ICON_FILE "${APPLICATION_ICON_NAME}.icns")
|
set(MACOSX_BUNDLE_ICON_FILE "${APPLICATION_ICON_NAME}.icns")
|
||||||
|
|
||||||
# we must add MACOSX_BUNDLE only if building a bundle
|
# we must add MACOSX_BUNDLE only if building a bundle
|
||||||
add_executable(${APPLICATION_EXECUTABLE} WIN32 MACOSX_BUNDLE main.cpp)
|
add_executable(${APPLICATION_EXECUTABLE} WIN32 MACOSX_BUNDLE main.cpp ${APP_ICON})
|
||||||
|
|
||||||
set (QM_DIR ${OWNCLOUD_OSX_BUNDLE}/Contents/Resources/Translations)
|
set (QM_DIR ${OWNCLOUD_OSX_BUNDLE}/Contents/Resources/Translations)
|
||||||
install(FILES ${client_I18N} DESTINATION ${QM_DIR})
|
install(FILES ${client_I18N} DESTINATION ${QM_DIR})
|
||||||
|
|||||||
@@ -385,8 +385,7 @@ void AccountSettings::slotEditCurrentLocalIgnoredFiles()
|
|||||||
|
|
||||||
void AccountSettings::openIgnoredFilesDialog(const QString & absFolderPath)
|
void AccountSettings::openIgnoredFilesDialog(const QString & absFolderPath)
|
||||||
{
|
{
|
||||||
Q_ASSERT(absFolderPath.startsWith('/'));
|
Q_ASSERT(QFileInfo(absFolderPath).isAbsolute());
|
||||||
Q_ASSERT(absFolderPath.endsWith('/'));
|
|
||||||
|
|
||||||
const QString ignoreFile = absFolderPath + ".sync-exclude.lst";
|
const QString ignoreFile = absFolderPath + ".sync-exclude.lst";
|
||||||
auto layout = new QVBoxLayout();
|
auto layout = new QVBoxLayout();
|
||||||
|
|||||||
@@ -227,7 +227,7 @@ bool AccountState::isDesktopNotificationsAllowed() const
|
|||||||
return _isDesktopNotificationsAllowed;
|
return _isDesktopNotificationsAllowed;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AccountState::setDesktopNotificationsAllowed(const bool isAllowed)
|
void AccountState::setDesktopNotificationsAllowed(bool isAllowed)
|
||||||
{
|
{
|
||||||
_isDesktopNotificationsAllowed = isAllowed;
|
_isDesktopNotificationsAllowed = isAllowed;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -182,7 +182,7 @@ public:
|
|||||||
|
|
||||||
/** Set desktop notifications status retrieved by the notificatons endpoint
|
/** Set desktop notifications status retrieved by the notificatons endpoint
|
||||||
*/
|
*/
|
||||||
void setDesktopNotificationsAllowed(const bool isAllowed);
|
void setDesktopNotificationsAllowed(bool isAllowed);
|
||||||
|
|
||||||
/** Fetch the user status (status, icon, message)
|
/** Fetch the user status (status, icon, message)
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -86,9 +86,6 @@ void NavigationPaneHelper::updateCloudStorageRegistry()
|
|||||||
// We currently don't distinguish between new and existing CLSIDs, if it's there we just
|
// We currently don't distinguish between new and existing CLSIDs, if it's there we just
|
||||||
// save over it. We at least need to update the tile in case we are suddently using multiple accounts.
|
// save over it. We at least need to update the tile in case we are suddently using multiple accounts.
|
||||||
foreach (Folder *folder, _folderMan->map()) {
|
foreach (Folder *folder, _folderMan->map()) {
|
||||||
if (folder->vfs().mode() == Vfs::WindowsCfApi) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (!folder->navigationPaneClsid().isNull()) {
|
if (!folder->navigationPaneClsid().isNull()) {
|
||||||
// If it already exists, unmark it for removal, this is a valid sync root.
|
// If it already exists, unmark it for removal, this is a valid sync root.
|
||||||
entriesToRemove.removeOne(folder->navigationPaneClsid());
|
entriesToRemove.removeOne(folder->navigationPaneClsid());
|
||||||
|
|||||||
@@ -180,11 +180,11 @@ Q_LOGGING_CATEGORY(lcPublicLink, "nextcloud.gui.socketapi.publiclink", QtInfoMsg
|
|||||||
void SocketListener::sendMessage(const QString &message, bool doWait) const
|
void SocketListener::sendMessage(const QString &message, bool doWait) const
|
||||||
{
|
{
|
||||||
if (!socket) {
|
if (!socket) {
|
||||||
qCInfo(lcSocketApi) << "Not sending message to dead socket:" << message;
|
qCWarning(lcSocketApi) << "Not sending message to dead socket:" << message;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
qCInfo(lcSocketApi) << "Sending SocketAPI message -->" << message << "to" << socket;
|
qCDebug(lcSocketApi) << "Sending SocketAPI message -->" << message << "to" << socket;
|
||||||
QString localMessage = message;
|
QString localMessage = message;
|
||||||
if (!localMessage.endsWith(QLatin1Char('\n'))) {
|
if (!localMessage.endsWith(QLatin1Char('\n'))) {
|
||||||
localMessage.append(QLatin1Char('\n'));
|
localMessage.append(QLatin1Char('\n'));
|
||||||
@@ -313,6 +313,7 @@ void SocketApi::slotNewConnection()
|
|||||||
foreach (Folder *f, FolderMan::instance()->map()) {
|
foreach (Folder *f, FolderMan::instance()->map()) {
|
||||||
if (f->canSync()) {
|
if (f->canSync()) {
|
||||||
QString message = buildRegisterPathMessage(removeTrailingSlash(f->path()));
|
QString message = buildRegisterPathMessage(removeTrailingSlash(f->path()));
|
||||||
|
qCInfo(lcSocketApi) << "Trying to send SocketAPI Register Path Message -->" << message << "to" << listener.socket;
|
||||||
listener.sendMessage(message);
|
listener.sendMessage(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -417,6 +418,7 @@ void SocketApi::slotRegisterPath(const QString &alias)
|
|||||||
if (f) {
|
if (f) {
|
||||||
QString message = buildRegisterPathMessage(removeTrailingSlash(f->path()));
|
QString message = buildRegisterPathMessage(removeTrailingSlash(f->path()));
|
||||||
foreach (auto &listener, _listeners) {
|
foreach (auto &listener, _listeners) {
|
||||||
|
qCInfo(lcSocketApi) << "Trying to send SocketAPI Register Path Message -->" << message << "to" << listener.socket;
|
||||||
listener.sendMessage(message);
|
listener.sendMessage(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ void ServerNotificationHandler::slotEtagResponseHeaderReceived(const QByteArray
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerNotificationHandler::slotAllowDesktopNotificationsChanged(const bool isAllowed)
|
void ServerNotificationHandler::slotAllowDesktopNotificationsChanged(bool isAllowed)
|
||||||
{
|
{
|
||||||
auto *account = qvariant_cast<AccountState *>(sender()->property(propertyAccountStateC));
|
auto *account = qvariant_cast<AccountState *>(sender()->property(propertyAccountStateC));
|
||||||
if (account != nullptr) {
|
if (account != nullptr) {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ private slots:
|
|||||||
void slotNotificationsReceived(const QJsonDocument &json, int statusCode);
|
void slotNotificationsReceived(const QJsonDocument &json, int statusCode);
|
||||||
void slotEtagResponseHeaderReceived(const QByteArray &value, int statusCode);
|
void slotEtagResponseHeaderReceived(const QByteArray &value, int statusCode);
|
||||||
void slotIconDownloaded(QByteArray iconData);
|
void slotIconDownloaded(QByteArray iconData);
|
||||||
void slotAllowDesktopNotificationsChanged(const bool isAllowed);
|
void slotAllowDesktopNotificationsChanged(bool isAllowed);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QPointer<JsonApiJob> _notificationJob;
|
QPointer<JsonApiJob> _notificationJob;
|
||||||
|
|||||||
@@ -219,7 +219,8 @@ void User::slotRefreshActivities()
|
|||||||
_activityModel->slotRefreshActivity();
|
_activityModel->slotRefreshActivity();
|
||||||
}
|
}
|
||||||
|
|
||||||
void User::slotRefreshUserStatus() {
|
void User::slotRefreshUserStatus()
|
||||||
|
{
|
||||||
// TODO: check for _account->account()->capabilities().userStatus()
|
// TODO: check for _account->account()->capabilities().userStatus()
|
||||||
if (_account.data() && _account.data()->isConnected()) {
|
if (_account.data() && _account.data()->isConnected()) {
|
||||||
_account.data()->fetchUserStatus();
|
_account.data()->fetchUserStatus();
|
||||||
@@ -698,7 +699,7 @@ Q_INVOKABLE bool UserModel::isUserConnected(const int &id)
|
|||||||
return _users[id]->isConnected();
|
return _users[id]->isConnected();
|
||||||
}
|
}
|
||||||
|
|
||||||
Q_INVOKABLE QUrl UserModel::statusIcon(const int &id)
|
Q_INVOKABLE QUrl UserModel::statusIcon(int id)
|
||||||
{
|
{
|
||||||
if (id < 0 || id >= _users.size()) {
|
if (id < 0 || id >= _users.size()) {
|
||||||
return {};
|
return {};
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ public:
|
|||||||
Q_INVOKABLE bool currentUserHasLocalFolder();
|
Q_INVOKABLE bool currentUserHasLocalFolder();
|
||||||
int currentUserId() const;
|
int currentUserId() const;
|
||||||
Q_INVOKABLE bool isUserConnected(const int &id);
|
Q_INVOKABLE bool isUserConnected(const int &id);
|
||||||
Q_INVOKABLE QUrl statusIcon(const int &id);
|
Q_INVOKABLE QUrl statusIcon(int id);
|
||||||
Q_INVOKABLE void switchCurrentUser(const int &id);
|
Q_INVOKABLE void switchCurrentUser(const int &id);
|
||||||
Q_INVOKABLE void login(const int &id);
|
Q_INVOKABLE void login(const int &id);
|
||||||
Q_INVOKABLE void logout(const int &id);
|
Q_INVOKABLE void logout(const int &id);
|
||||||
|
|||||||
@@ -403,67 +403,57 @@ Window {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Filler between account dropdown and header app buttons
|
RowLayout {
|
||||||
Item {
|
id: openLocalFolderRowLayout
|
||||||
id: trayWindowHeaderSpacer
|
spacing: 0
|
||||||
Layout.fillWidth: true
|
Layout.preferredWidth: Style.trayWindowHeaderHeight
|
||||||
}
|
Layout.preferredHeight: Style.trayWindowHeaderHeight
|
||||||
|
|
||||||
|
HeaderButton {
|
||||||
|
id: openLocalFolderButton
|
||||||
|
visible: UserModel.currentUser.hasLocalFolder
|
||||||
|
icon.source: "qrc:///client/theme/white/folder.svg"
|
||||||
|
onClicked: UserModel.openCurrentAccountLocalFolder()
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: folderStateIndicatorBackground
|
||||||
|
width: Style.folderStateIndicatorSize
|
||||||
|
height: width
|
||||||
|
anchors.top: openLocalFolderButton.verticalCenter
|
||||||
|
anchors.left: openLocalFolderButton.horizontalCenter
|
||||||
|
color: Style.ncBlue
|
||||||
|
radius: width*0.5
|
||||||
|
z: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
HeaderButton {
|
Image {
|
||||||
id: openLocalFolderButton
|
id: folderStateIndicator
|
||||||
|
source: UserModel.isUserConnected(UserModel.currentUserId)
|
||||||
visible: UserModel.currentUser.hasLocalFolder
|
? Style.stateOnlineImageSource
|
||||||
icon.source: "qrc:///client/theme/white/folder.svg"
|
: Style.stateOfflineImageSource
|
||||||
onClicked: UserModel.openCurrentAccountLocalFolder()
|
cache: false
|
||||||
|
anchors.top: openLocalFolderButton.verticalCenter
|
||||||
|
anchors.left: openLocalFolderButton.horizontalCenter
|
||||||
|
|
||||||
|
sourceSize.width: Style.folderStateIndicatorSize
|
||||||
|
sourceSize.height: Style.folderStateIndicatorSize
|
||||||
|
|
||||||
|
Accessible.role: Accessible.Indicator
|
||||||
|
Accessible.name: UserModel.isUserConnected(UserModel.currentUserId()) ? qsTr("Connected") : qsTr("Disconnected")
|
||||||
|
}
|
||||||
|
|
||||||
Accessible.role: Accessible.Button
|
Accessible.role: Accessible.Button
|
||||||
Accessible.name: qsTr("Open local folder of current account")
|
Accessible.name: qsTr("Open local folder of current account")
|
||||||
Accessible.onPressAction: openLocalFolderButton.clicked()
|
|
||||||
}
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: folderStateIndicatorBackground
|
|
||||||
width: Style.folderStateIndicatorSize
|
|
||||||
height: width
|
|
||||||
anchors.top: openLocalFolderButton.verticalCenter
|
|
||||||
anchors.left: openLocalFolderButton.horizontalCenter
|
|
||||||
color: Style.ncBlue
|
|
||||||
radius: width*0.5
|
|
||||||
}
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: folderStateRectangle
|
|
||||||
width: Style.folderStateIndicatorSize
|
|
||||||
height: width
|
|
||||||
anchors.bottom: openLocalFolderButton.bottom
|
|
||||||
anchors.right: openLocalFolderButton.right
|
|
||||||
color: openLocalFolderButton.containsMouse ? "white" : "transparent"
|
|
||||||
opacity: 0.2
|
|
||||||
radius: width*0.5
|
|
||||||
}
|
|
||||||
|
|
||||||
Image {
|
|
||||||
id: folderStateIndicator
|
|
||||||
source: UserModel.isUserConnected(UserModel.currentUserId)
|
|
||||||
? Style.stateOnlineImageSource
|
|
||||||
: Style.stateOfflineImageSource
|
|
||||||
cache: false
|
|
||||||
x: folderStateIndicatorBackground.x
|
|
||||||
y: folderStateIndicatorBackground.y
|
|
||||||
sourceSize.width: Style.folderStateIndicatorSize
|
|
||||||
sourceSize.height: Style.folderStateIndicatorSize
|
|
||||||
|
|
||||||
Accessible.role: Accessible.Indicator
|
|
||||||
Accessible.name: UserModel.isUserConnected(UserModel.currentUserId()) ? qsTr("Connected") : qsTr("Disconnected")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
HeaderButton {
|
HeaderButton {
|
||||||
id: trayWindowTalkButton
|
id: trayWindowTalkButton
|
||||||
|
|
||||||
visible: UserModel.currentUser.serverHasTalk
|
visible: UserModel.currentUser.serverHasTalk
|
||||||
icon.source: "qrc:///client/theme/white/talk-app.svg"
|
icon.source: "qrc:///client/theme/white/talk-app.svg"
|
||||||
onClicked: UserModel.openCurrentAccountTalk()
|
onClicked: UserModel.openCurrentAccountTalk()
|
||||||
|
|
||||||
Accessible.role: Accessible.Button
|
Accessible.role: Accessible.Button
|
||||||
Accessible.name: qsTr("Open Nextcloud Talk in browser")
|
Accessible.name: qsTr("Open Nextcloud Talk in browser")
|
||||||
Accessible.onPressAction: trayWindowTalkButton.clicked()
|
Accessible.onPressAction: trayWindowTalkButton.clicked()
|
||||||
@@ -472,6 +462,7 @@ Window {
|
|||||||
HeaderButton {
|
HeaderButton {
|
||||||
id: trayWindowAppsButton
|
id: trayWindowAppsButton
|
||||||
icon.source: "qrc:///client/theme/white/more-apps.svg"
|
icon.source: "qrc:///client/theme/white/more-apps.svg"
|
||||||
|
|
||||||
onClicked: {
|
onClicked: {
|
||||||
if(appsMenu.count <= 0) {
|
if(appsMenu.count <= 0) {
|
||||||
UserModel.openCurrentAccountServer()
|
UserModel.openCurrentAccountServer()
|
||||||
|
|||||||
@@ -149,11 +149,11 @@ QString OCUpdater::statusString() const
|
|||||||
case DownloadComplete:
|
case DownloadComplete:
|
||||||
return tr("%1 available. Restart application to start the update.").arg(updateVersion);
|
return tr("%1 available. Restart application to start the update.").arg(updateVersion);
|
||||||
case DownloadFailed:
|
case DownloadFailed:
|
||||||
return tr("Could not download update. Please click <a href='%1'>here</a> to download the update manually.").arg(_updateInfo.web());
|
return tr("Could not download update. Please open %1 to download the update manually.").arg(_updateInfo.web());
|
||||||
case DownloadTimedOut:
|
case DownloadTimedOut:
|
||||||
return tr("Could not check for new updates.");
|
return tr("Could not check for new updates.");
|
||||||
case UpdateOnlyAvailableThroughSystem:
|
case UpdateOnlyAvailableThroughSystem:
|
||||||
return tr("New %1 is available. Please click <a href='%2'>here</a> to download the update.").arg(updateVersion, _updateInfo.web());
|
return tr("New %1 is available. Please open %2 to download the update.").arg(updateVersion, _updateInfo.web());
|
||||||
case CheckingServer:
|
case CheckingServer:
|
||||||
return tr("Checking update server …");
|
return tr("Checking update server …");
|
||||||
case Unknown:
|
case Unknown:
|
||||||
|
|||||||
@@ -30,16 +30,37 @@ Q_LOGGING_CATEGORY(lcUserStatus, "nextcloud.gui.userstatus", QtInfoMsg)
|
|||||||
|
|
||||||
UserStatus::UserStatus(QObject *parent)
|
UserStatus::UserStatus(QObject *parent)
|
||||||
: QObject(parent)
|
: QObject(parent)
|
||||||
, _message("")
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
UserStatus::Status UserStatus::stringToEnum(const QString &status) const
|
UserStatus::Status UserStatus::stringToEnum(const QString &status) const
|
||||||
{
|
{
|
||||||
|
// it needs to match the Status enum
|
||||||
|
const QHash<QString, Status> preDefinedStatus{{"online", Status::Online},
|
||||||
|
{"dnd", Status::DoNotDisturb}, //DoNotDisturb
|
||||||
|
{"away", Status::Away},
|
||||||
|
{"offline", Status::Offline},
|
||||||
|
{"invisible", Status::Invisible}};
|
||||||
|
|
||||||
// api should return invisible, dnd,... toLower() it is to make sure
|
// api should return invisible, dnd,... toLower() it is to make sure
|
||||||
// it matches _preDefinedStatus, otherwise the default is online (0)
|
// it matches _preDefinedStatus, otherwise the default is online (0)
|
||||||
const auto statusEnum = _preDefinedStatus.value(status.isEmpty()? "online" : status.toLower(), 0);
|
const auto statusKey = status.isEmpty() ? QStringLiteral("online") : status.toLower();
|
||||||
return static_cast<Status>(statusEnum);
|
return preDefinedStatus.value(statusKey, Status::Online);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString UserStatus::enumToString(Status status) const
|
||||||
|
{
|
||||||
|
switch (status) {
|
||||||
|
case Status::Away:
|
||||||
|
return tr("Away");
|
||||||
|
case Status::DoNotDisturb:
|
||||||
|
return tr("Do not disturb");
|
||||||
|
case Status::Invisible:
|
||||||
|
case Status::Offline:
|
||||||
|
return tr("Offline");
|
||||||
|
default:
|
||||||
|
return tr("Online");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void UserStatus::fetchUserStatus(AccountPtr account)
|
void UserStatus::fetchUserStatus(AccountPtr account)
|
||||||
@@ -53,10 +74,9 @@ void UserStatus::fetchUserStatus(AccountPtr account)
|
|||||||
_job->start();
|
_job->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void UserStatus::slotFetchUserStatusFinished(const QJsonDocument &json, const int statusCode)
|
void UserStatus::slotFetchUserStatusFinished(const QJsonDocument &json, int statusCode)
|
||||||
{
|
{
|
||||||
const QJsonObject defaultValues
|
const QJsonObject defaultValues {
|
||||||
{
|
|
||||||
{"icon", ""},
|
{"icon", ""},
|
||||||
{"message", ""},
|
{"message", ""},
|
||||||
{"status", "online"}
|
{"status", "online"}
|
||||||
@@ -66,19 +86,13 @@ void UserStatus::slotFetchUserStatusFinished(const QJsonDocument &json, const in
|
|||||||
qCInfo(lcUserStatus) << "Slot fetch UserStatus finished with status code" << statusCode;
|
qCInfo(lcUserStatus) << "Slot fetch UserStatus finished with status code" << statusCode;
|
||||||
qCInfo(lcUserStatus) << "Using then default values as if user has not set any status" << defaultValues;
|
qCInfo(lcUserStatus) << "Using then default values as if user has not set any status" << defaultValues;
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto retrievedData = json.object().value("ocs").toObject().value("data").toObject(defaultValues);
|
const auto retrievedData = json.object().value("ocs").toObject().value("data").toObject(defaultValues);
|
||||||
const auto emoji = retrievedData.value("icon").toString();
|
const auto emoji = retrievedData.value("icon").toString();
|
||||||
const auto message = retrievedData.value("message").toString();
|
const auto message = retrievedData.value("message").toString();
|
||||||
auto statusString = retrievedData.value("status").toString();
|
|
||||||
_status = stringToEnum(statusString);
|
|
||||||
|
|
||||||
// to display it to the user like 'Invisible' instead of 'invisible'
|
_status = stringToEnum(retrievedData.value("status").toString());
|
||||||
statusString.replace(0, 1, statusString.at(0).toUpper());
|
const auto visibleStatusText = message.isEmpty() ? enumToString(_status) : message;
|
||||||
|
|
||||||
const auto visibleStatusText = message.isEmpty()
|
|
||||||
? _status == DoNotDisturb? tr("Do not disturb")
|
|
||||||
: tr(qPrintable(statusString))
|
|
||||||
: message;
|
|
||||||
|
|
||||||
_message = QString("%1 %2").arg(emoji, visibleStatusText);
|
_message = QString("%1 %2").arg(emoji, visibleStatusText);
|
||||||
emit fetchUserStatusFinished();
|
emit fetchUserStatusFinished();
|
||||||
@@ -91,20 +105,18 @@ UserStatus::Status UserStatus::status() const
|
|||||||
|
|
||||||
QString UserStatus::message() const
|
QString UserStatus::message() const
|
||||||
{
|
{
|
||||||
return _message;
|
return _message.trimmed();
|
||||||
}
|
}
|
||||||
|
|
||||||
QUrl UserStatus::icon() const
|
QUrl UserStatus::icon() const
|
||||||
{
|
{
|
||||||
switch (_status) {
|
switch (_status) {
|
||||||
case Online:
|
case Status::Away:
|
||||||
return Theme::instance()->statusOnlineImageSource();
|
|
||||||
case Away:
|
|
||||||
return Theme::instance()->statusAwayImageSource();
|
return Theme::instance()->statusAwayImageSource();
|
||||||
case DoNotDisturb:
|
case Status::DoNotDisturb:
|
||||||
return Theme::instance()->statusDoNotDisturbImageSource();
|
return Theme::instance()->statusDoNotDisturbImageSource();
|
||||||
case Invisible:
|
case Status::Invisible:
|
||||||
case Offline:
|
case Status::Offline:
|
||||||
return Theme::instance()->statusInvisibleImageSource();
|
return Theme::instance()->statusInvisibleImageSource();
|
||||||
default:
|
default:
|
||||||
return Theme::instance()->statusOnlineImageSource();
|
return Theme::instance()->statusOnlineImageSource();
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ class UserStatus : public QObject
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
explicit UserStatus(QObject *parent = nullptr);
|
explicit UserStatus(QObject *parent = nullptr);
|
||||||
enum Status {
|
enum class Status {
|
||||||
Online,
|
Online,
|
||||||
DoNotDisturb,
|
DoNotDisturb,
|
||||||
Away,
|
Away,
|
||||||
@@ -42,23 +42,16 @@ public:
|
|||||||
QUrl icon() const;
|
QUrl icon() const;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void slotFetchUserStatusFinished(const QJsonDocument &json, const int statusCode);
|
void slotFetchUserStatusFinished(const QJsonDocument &json, int statusCode);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void fetchUserStatusFinished();
|
void fetchUserStatusFinished();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Status stringToEnum(const QString &status) const;
|
Status stringToEnum(const QString &status) const;
|
||||||
|
QString enumToString(Status status) const;
|
||||||
// it needs to match the Status enum
|
|
||||||
const QHash<QString, int> _preDefinedStatus{{"online", 0},
|
|
||||||
{"dnd", 1}, //DoNotDisturb
|
|
||||||
{"away", 2},
|
|
||||||
{"offline", 3},
|
|
||||||
{"invisible", 4}};
|
|
||||||
|
|
||||||
QPointer<JsonApiJob> _job; // the currently running job
|
QPointer<JsonApiJob> _job; // the currently running job
|
||||||
Status _status{Status::Online};
|
Status _status = Status::Online;
|
||||||
QString _message;
|
QString _message;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "discovery.h"
|
#include "discovery.h"
|
||||||
|
#include "common/filesystembase.h"
|
||||||
#include "common/syncjournaldb.h"
|
#include "common/syncjournaldb.h"
|
||||||
#include "syncfileitem.h"
|
#include "syncfileitem.h"
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
@@ -177,9 +178,15 @@ void ProcessDirectoryJob::process()
|
|||||||
// local stat function.
|
// local stat function.
|
||||||
// Recall file shall not be ignored (#4420)
|
// Recall file shall not be ignored (#4420)
|
||||||
bool isHidden = e.localEntry.isHidden || (f.first[0] == '.' && f.first != QLatin1String(".sys.admin#recall#"));
|
bool isHidden = e.localEntry.isHidden || (f.first[0] == '.' && f.first != QLatin1String(".sys.admin#recall#"));
|
||||||
|
#ifdef Q_OS_WIN
|
||||||
|
// exclude ".lnk" files as they are not essential, but, causing troubles when enabling the VFS due to QFileInfo::isDir() and other methods are freezing, which causes the ".lnk" files to start hydrating and freezing the app eventually.
|
||||||
|
const bool isServerEntryWindowsShortcut = !e.localEntry.isValid() && e.serverEntry.isValid() && !e.serverEntry.isDirectory && FileSystem::isLnkFile(e.serverEntry.name);
|
||||||
|
#else
|
||||||
|
const bool isServerEntryWindowsShortcut = false;
|
||||||
|
#endif
|
||||||
if (handleExcluded(path._target, e.localEntry.name,
|
if (handleExcluded(path._target, e.localEntry.name,
|
||||||
e.localEntry.isDirectory || e.serverEntry.isDirectory, isHidden,
|
e.localEntry.isDirectory || e.serverEntry.isDirectory, isHidden,
|
||||||
e.localEntry.isSymLink))
|
e.localEntry.isSymLink || isServerEntryWindowsShortcut))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (_queryServer == InBlackList || _discoveryData->isInSelectiveSyncBlackList(path._original)) {
|
if (_queryServer == InBlackList || _discoveryData->isInSelectiveSyncBlackList(path._original)) {
|
||||||
|
|||||||
@@ -425,7 +425,7 @@ signals:
|
|||||||
* @brief desktopNotificationStatusReceived - signal to report if notifications are allowed
|
* @brief desktopNotificationStatusReceived - signal to report if notifications are allowed
|
||||||
* @param status - set desktop notifications allowed status
|
* @param status - set desktop notifications allowed status
|
||||||
*/
|
*/
|
||||||
void allowDesktopNotificationsChanged(const bool isAllowed);
|
void allowDesktopNotificationsChanged(bool isAllowed);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QUrlQuery _additionalParams;
|
QUrlQuery _additionalParams;
|
||||||
|
|||||||
@@ -795,8 +795,55 @@ void SyncEngine::slotPropagationFinished(bool success)
|
|||||||
_anotherSyncNeeded = ImmediateFollowUp;
|
_anotherSyncNeeded = ImmediateFollowUp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: Remove this when the file restoration problem is fixed for a user
|
||||||
|
bool shouldStartSyncAgain = false;
|
||||||
|
const auto checkAndOverrideSetDataFingerprint = [this, &shouldStartSyncAgain] {
|
||||||
|
const int dataFingerprintOverrideThreshold = 9;
|
||||||
|
const QString dataFingerprintOverrideHostHash = QStringLiteral("63debc9ef6d217649ea70632ca573a1db7a237ba61c48cdd2bf797f7060233db");
|
||||||
|
const auto accountHost = account()->url().host();
|
||||||
|
const auto accountDisplayName = account()->displayName();
|
||||||
|
|
||||||
|
if (_dataFingerprintSetFailCount >= 0) {
|
||||||
|
qCWarning(lcEngine) << "setDataFingerprint has failed for account" << accountDisplayName << "on host" << accountHost << "due to sync errors. Checking the possibility for override...";
|
||||||
|
|
||||||
|
if (_dataFingerprintSetFailCount > 0) {
|
||||||
|
if (_dataFingerprintSetFailCount >= dataFingerprintOverrideThreshold) {
|
||||||
|
qCWarning(lcEngine) << "All sync attempts failed for account" << accountDisplayName << "on host" << accountHost << "setting the dataFingerprint anyway.";
|
||||||
|
_journal->setDataFingerprint(_discoveryPhase->_dataFingerprint);
|
||||||
|
// this mechanism should only run once per app launch
|
||||||
|
_dataFingerprintSetFailCount = -1;
|
||||||
|
} else {
|
||||||
|
++_dataFingerprintSetFailCount;
|
||||||
|
// request to start sync again as it won't happen by itself unless the file has changed on the server or in the local folder
|
||||||
|
shouldStartSyncAgain = true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// only compare hash once
|
||||||
|
// if it matches - we don't need to calculate it again while _dataFingerprintSetFailCount is greater than 0
|
||||||
|
const auto accountHostHash = QString::fromUtf8(QCryptographicHash::hash(accountHost.toUtf8(), QCryptographicHash::Sha256).toHex());
|
||||||
|
|
||||||
|
if (accountHostHash == dataFingerprintOverrideHostHash) {
|
||||||
|
qCInfo(lcEngine) << "accountHostHash" << accountHostHash << "equals to dataFingerprintOverrideHostHash" << dataFingerprintOverrideHostHash << "_dataFingerprintSetFailCount" << _dataFingerprintSetFailCount;
|
||||||
|
++_dataFingerprintSetFailCount;
|
||||||
|
// request to start sync again as it won't happen by itself unless the file has changed on the server or in the local folder
|
||||||
|
shouldStartSyncAgain = true;
|
||||||
|
} else {
|
||||||
|
qCInfo(lcEngine) << "accountHostHash" << accountHostHash << "differs from dataFingerprintOverrideHostHash" << dataFingerprintOverrideHostHash;
|
||||||
|
// give up on calculating the has next time, as it's not the host we are looking for
|
||||||
|
_dataFingerprintSetFailCount = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
qCWarning(lcEngine) << "setDataFingerprint was overridden already for account" << accountDisplayName << "on host" << accountHost << "but is failing again! Or, it's not the host that we are looking for.";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
//
|
||||||
|
|
||||||
if (success && _discoveryPhase) {
|
if (success && _discoveryPhase) {
|
||||||
_journal->setDataFingerprint(_discoveryPhase->_dataFingerprint);
|
_journal->setDataFingerprint(_discoveryPhase->_dataFingerprint);
|
||||||
|
} else if (_discoveryPhase) {
|
||||||
|
// TODO: Remove this when the file restoration problem is fixed for a user
|
||||||
|
checkAndOverrideSetDataFingerprint();
|
||||||
}
|
}
|
||||||
|
|
||||||
conflictRecordMaintenance();
|
conflictRecordMaintenance();
|
||||||
@@ -812,6 +859,12 @@ void SyncEngine::slotPropagationFinished(bool success)
|
|||||||
emit transmissionProgress(*_progressInfo);
|
emit transmissionProgress(*_progressInfo);
|
||||||
|
|
||||||
finalize(success);
|
finalize(success);
|
||||||
|
|
||||||
|
if (shouldStartSyncAgain) {
|
||||||
|
// TODO: Remove this when the file restoration problem is fixed for a user
|
||||||
|
qCWarning(lcEngine) << "Starting sync again for account" << account()->displayName() << "on host" << account()->url().host() << "due to setDataFingerprint override is running.";
|
||||||
|
startSync();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SyncEngine::finalize(bool success)
|
void SyncEngine::finalize(bool success)
|
||||||
|
|||||||
@@ -289,6 +289,9 @@ private:
|
|||||||
LocalDiscoveryStyle _lastLocalDiscoveryStyle = LocalDiscoveryStyle::FilesystemOnly;
|
LocalDiscoveryStyle _lastLocalDiscoveryStyle = LocalDiscoveryStyle::FilesystemOnly;
|
||||||
LocalDiscoveryStyle _localDiscoveryStyle = LocalDiscoveryStyle::FilesystemOnly;
|
LocalDiscoveryStyle _localDiscoveryStyle = LocalDiscoveryStyle::FilesystemOnly;
|
||||||
std::set<QString> _localDiscoveryPaths;
|
std::set<QString> _localDiscoveryPaths;
|
||||||
|
|
||||||
|
// TODO: Remove this when the file restoration problem is fixed for a user
|
||||||
|
int _dataFingerprintSetFailCount = 0;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QLocalSocket>
|
#include <QLocalSocket>
|
||||||
#include <QLoggingCategory>
|
#include <QLoggingCategory>
|
||||||
|
#include <QUuid>
|
||||||
|
|
||||||
#include <sddl.h>
|
#include <sddl.h>
|
||||||
#include <cfapi.h>
|
#include <cfapi.h>
|
||||||
@@ -58,6 +59,11 @@ void cfApiSendTransferInfo(const CF_CONNECTION_KEY &connectionKey, const CF_TRAN
|
|||||||
qCCritical(lcCfApiWrapper) << "Couldn't send transfer info" << QString::number(transferKey.QuadPart, 16) << ":" << cfExecuteresult << QString::fromWCharArray(_com_error(cfExecuteresult).ErrorMessage());
|
qCCritical(lcCfApiWrapper) << "Couldn't send transfer info" << QString::number(transferKey.QuadPart, 16) << ":" << cfExecuteresult << QString::fromWCharArray(_com_error(cfExecuteresult).ErrorMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const auto isDownloadFinished = ((offset + currentBlockLength) == totalLength);
|
||||||
|
if (isDownloadFinished) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// refresh Windows Copy Dialog progress
|
// refresh Windows Copy Dialog progress
|
||||||
LARGE_INTEGER progressTotal;
|
LARGE_INTEGER progressTotal;
|
||||||
progressTotal.QuadPart = totalLength;
|
progressTotal.QuadPart = totalLength;
|
||||||
@@ -450,7 +456,7 @@ bool deleteSyncRootRegistryKey(const QString &syncRootPath, const QString &provi
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
OCC::Result<void, QString> OCC::CfApiWrapper::registerSyncRoot(const QString path, const QString providerName, const QString providerVersion, const QString folderAlias, const QString displayName, const QString accountDisplayName)
|
OCC::Result<void, QString> OCC::CfApiWrapper::registerSyncRoot(const QString &path, const QString &providerName, const QString &providerVersion, const QString &folderAlias, const QString &displayName, const QString &accountDisplayName)
|
||||||
{
|
{
|
||||||
// even if we fail to register our sync root with shell, we can still proceed with using the VFS
|
// even if we fail to register our sync root with shell, we can still proceed with using the VFS
|
||||||
const auto createRegistryKeyResult = createSyncRootRegistryKeys(providerName, folderAlias, displayName, accountDisplayName, path);
|
const auto createRegistryKeyResult = createSyncRootRegistryKeys(providerName, folderAlias, displayName, accountDisplayName, path);
|
||||||
@@ -460,19 +466,24 @@ OCC::Result<void, QString> OCC::CfApiWrapper::registerSyncRoot(const QString pat
|
|||||||
qCWarning(lcCfApiWrapper) << "Failed to create the registry key for path:" << path;
|
qCWarning(lcCfApiWrapper) << "Failed to create the registry key for path:" << path;
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto p = path.toStdWString();
|
// API is somehow keeping the pointers for longer than one would expect or freeing them itself
|
||||||
const auto name = providerName.toStdWString();
|
// the internal format of QString is likely the right one for wstring on Windows so there's in fact not necessarily a need to copy
|
||||||
const auto version = providerVersion.toStdWString();
|
const auto p = std::wstring(path.toStdWString().data());
|
||||||
|
const auto name = std::wstring(providerName.toStdWString().data());
|
||||||
|
const auto version = std::wstring(providerVersion.toStdWString().data());
|
||||||
|
|
||||||
CF_SYNC_REGISTRATION info;
|
CF_SYNC_REGISTRATION info;
|
||||||
|
info.StructSize = sizeof(info) + (name.length() + version.length()) * sizeof(wchar_t);
|
||||||
info.ProviderName = name.data();
|
info.ProviderName = name.data();
|
||||||
info.ProviderVersion = version.data();
|
info.ProviderVersion = version.data();
|
||||||
info.SyncRootIdentity = nullptr;
|
info.SyncRootIdentity = nullptr;
|
||||||
info.SyncRootIdentityLength = 0;
|
info.SyncRootIdentityLength = 0;
|
||||||
info.FileIdentity = nullptr;
|
info.FileIdentity = nullptr;
|
||||||
info.FileIdentityLength = 0;
|
info.FileIdentityLength = 0;
|
||||||
|
info.ProviderId = QUuid::createUuid();
|
||||||
|
|
||||||
CF_SYNC_POLICIES policies;
|
CF_SYNC_POLICIES policies;
|
||||||
|
policies.StructSize = sizeof(policies);
|
||||||
policies.Hydration.Primary = CF_HYDRATION_POLICY_FULL;
|
policies.Hydration.Primary = CF_HYDRATION_POLICY_FULL;
|
||||||
policies.Hydration.Modifier = CF_HYDRATION_POLICY_MODIFIER_NONE;
|
policies.Hydration.Modifier = CF_HYDRATION_POLICY_MODIFIER_NONE;
|
||||||
policies.Population.Primary = CF_POPULATION_POLICY_ALWAYS_FULL;
|
policies.Population.Primary = CF_POPULATION_POLICY_ALWAYS_FULL;
|
||||||
@@ -489,7 +500,7 @@ OCC::Result<void, QString> OCC::CfApiWrapper::registerSyncRoot(const QString pat
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
OCC::Result<void, QString> OCC::CfApiWrapper::unregisterSyncRoot(const QString path, const QString providerName, const QString accountDisplayName)
|
OCC::Result<void, QString> OCC::CfApiWrapper::unregisterSyncRoot(const QString &path, const QString &providerName, const QString &accountDisplayName)
|
||||||
{
|
{
|
||||||
const auto deleteRegistryKeyResult = deleteSyncRootRegistryKey(path, providerName, accountDisplayName);
|
const auto deleteRegistryKeyResult = deleteSyncRootRegistryKey(path, providerName, accountDisplayName);
|
||||||
Q_ASSERT(deleteRegistryKeyResult);
|
Q_ASSERT(deleteRegistryKeyResult);
|
||||||
@@ -692,7 +703,7 @@ OCC::Result<void, QString> OCC::CfApiWrapper::convertToPlaceholder(const FileHan
|
|||||||
|
|
||||||
const auto fileIdentity = QString::fromUtf8(fileId).toStdWString();
|
const auto fileIdentity = QString::fromUtf8(fileId).toStdWString();
|
||||||
const auto fileIdentitySize = (fileIdentity.length() + 1) * sizeof(wchar_t);
|
const auto fileIdentitySize = (fileIdentity.length() + 1) * sizeof(wchar_t);
|
||||||
const qint64 result = CfConvertToPlaceholder(handle.get(), fileIdentity.data(), sizeToDWORD(fileIdentitySize), CF_CONVERT_FLAG_NONE, nullptr, nullptr);
|
const qint64 result = CfConvertToPlaceholder(handle.get(), fileIdentity.data(), sizeToDWORD(fileIdentitySize), CF_CONVERT_FLAG_MARK_IN_SYNC, nullptr, nullptr);
|
||||||
Q_ASSERT(result == S_OK);
|
Q_ASSERT(result == S_OK);
|
||||||
if (result != S_OK) {
|
if (result != S_OK) {
|
||||||
qCCritical(lcCfApiWrapper) << "Couldn't convert to placeholder" << pathForHandle(handle) << ":" << _com_error(result).ErrorMessage();
|
qCCritical(lcCfApiWrapper) << "Couldn't convert to placeholder" << pathForHandle(handle) << ":" << _com_error(result).ErrorMessage();
|
||||||
|
|||||||
@@ -71,8 +71,8 @@ private:
|
|||||||
std::unique_ptr<CF_PLACEHOLDER_BASIC_INFO, Deleter> _data;
|
std::unique_ptr<CF_PLACEHOLDER_BASIC_INFO, Deleter> _data;
|
||||||
};
|
};
|
||||||
|
|
||||||
OWNCLOUDSYNC_EXPORT Result<void, QString> registerSyncRoot(const QString path, const QString providerName, const QString providerVersion, const QString folderAlias, const QString displayName, const QString accountDisplayName);
|
OWNCLOUDSYNC_EXPORT Result<void, QString> registerSyncRoot(const QString &path, const QString &providerName, const QString &providerVersion, const QString &folderAlias, const QString &displayName, const QString &accountDisplayName);
|
||||||
OWNCLOUDSYNC_EXPORT Result<void, QString> unregisterSyncRoot(const QString path, const QString providerName, const QString accountDisplayName);
|
OWNCLOUDSYNC_EXPORT Result<void, QString> unregisterSyncRoot(const QString &path, const QString &providerName, const QString &accountDisplayName);
|
||||||
|
|
||||||
OWNCLOUDSYNC_EXPORT Result<ConnectionKey, QString> connectSyncRoot(const QString &path, VfsCfApi *context);
|
OWNCLOUDSYNC_EXPORT Result<ConnectionKey, QString> connectSyncRoot(const QString &path, VfsCfApi *context);
|
||||||
OWNCLOUDSYNC_EXPORT Result<void, QString> disconnectSyncRoot(ConnectionKey &&key);
|
OWNCLOUDSYNC_EXPORT Result<void, QString> disconnectSyncRoot(ConnectionKey &&key);
|
||||||
|
|||||||
@@ -184,6 +184,8 @@ bool VfsCfApi::statTypeVirtualFile(csync_file_stat_t *stat, void *statData)
|
|||||||
const auto hasReparsePoint = (ffd->dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) != 0;
|
const auto hasReparsePoint = (ffd->dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) != 0;
|
||||||
const auto hasCloudTag = (ffd->dwReserved0 & IO_REPARSE_TAG_CLOUD) != 0;
|
const auto hasCloudTag = (ffd->dwReserved0 & IO_REPARSE_TAG_CLOUD) != 0;
|
||||||
|
|
||||||
|
const auto isWindowsShortcut = !isDirectory && FileSystem::isLnkFile(stat->path);
|
||||||
|
|
||||||
// It's a dir with a reparse point due to the placeholder info (hence the cloud tag)
|
// It's a dir with a reparse point due to the placeholder info (hence the cloud tag)
|
||||||
// if we don't remove the reparse point flag the discovery will end up thinking
|
// if we don't remove the reparse point flag the discovery will end up thinking
|
||||||
// it is a file... let's prevent it
|
// it is a file... let's prevent it
|
||||||
@@ -195,7 +197,7 @@ bool VfsCfApi::statTypeVirtualFile(csync_file_stat_t *stat, void *statData)
|
|||||||
} else if (isSparseFile && isPinned) {
|
} else if (isSparseFile && isPinned) {
|
||||||
stat->type = ItemTypeVirtualFileDownload;
|
stat->type = ItemTypeVirtualFileDownload;
|
||||||
return true;
|
return true;
|
||||||
} else if (!isSparseFile && isUnpinned){
|
} else if (!isSparseFile && isUnpinned && !isWindowsShortcut){
|
||||||
stat->type = ItemTypeVirtualFileDehydration;
|
stat->type = ItemTypeVirtualFileDehydration;
|
||||||
return true;
|
return true;
|
||||||
} else if (isSparseFile) {
|
} else if (isSparseFile) {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user