Commit graph

9551 commits

Author SHA1 Message Date
Claudio Cambra
a7fcb846ab
Extract folder now big activity generation into separate method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
cbad4347bd
Extract notifying of existing folder now big to separate static method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
e1f342c320
Declare whitelist and blacklist activity verbs as static constexprs in activitydata, refer to this in usage
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
e987fe88c5
Fix generation of context menu activity links
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
9b5391bdc1
Ensure generated activity buttons are within count set by maxActionButtons
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
af45017e94
Do not clear the whitelist on sync success
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
449bac837b
Do not always re-notify user on existing folder now big if this folder already black or white listed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
2324a60c76
Stop current sync when existing folder becomes big and we have enabled disabling sync of folders that become big
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
bd7ccf5738
Add UI element in general settings to stop syncing existing folders that have now overcome limit
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:21 +08:00
Claudio Cambra
1342f81cab
Add config option to stop synchronising existing folders when they grow beyond size
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:15 +08:00
Claudio Cambra
21656cce17
Replace all manual isntancesof adding trailing slash with use of utility method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:42 +08:00
Claudio Cambra
3b208bf838
Move trailingSlashPath convenience function into Utility class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:42 +08:00
Claudio Cambra
ac8e9c4274
Fix trailing slash procedure in DiscoveryPhase::checkSelectiveSyncNewFolder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:42 +08:00
Claudio Cambra
9fa5ae3604
Use simpler sort methods for white and black lists in discoveryphase
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:42 +08:00
Claudio Cambra
82f6fd5c27
Remove use of old foreach in SyncJournalDb::setSelectiveSyncList
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:42 +08:00
Claudio Cambra
1b73011f59
Constify SyncJournalDb::findPathInSelectiveSyncList
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
74c4ec88a2
Const autofy variables in ProcessDirectoryJob::processFile
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
a93279bcbf
Default to adding existing now big folders to whitelist when undecided
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
6682b3ade4
Ensure folder whitelist and blacklist helper methods remove path from other lists
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
f9bde98aad
Prevent possible accountsettings crash by sorting blacklist before checking
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
e2535d6ce8
Prevent double notification of folder now big in activities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
5f250a5dad
Ensure newly whitelisted or blacklisted paths are removed from undecided list
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
7d1fa16a3f
Add activity for existing folder going over set limit
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:40 +08:00
Claudio Cambra
c975d40fb8
Do not create dismiss links for notifications as these are not used anyway
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:40 +08:00
Claudio Cambra
12931069c0
Create more than one converted activity link, therby respecting maxactionbuttons
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:40 +08:00
Claudio Cambra
fe59d4ec79
Ensure whitelist/blacklist procedure removes activity
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:40 +08:00
Claudio Cambra
e985367b5e
Add method to add notification activity in activity list in User
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:40 +08:00
Claudio Cambra
10989fa810
Add method to get user pointer in UserModel by AccountState pointer
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
29cc9c06f9
Handle WHITELIST_FOLDER and BLACKLIST_FOLDER verbs in activitylistmodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
7e17e9226b
Add convenience methods to folderman so that classes can add and remove paths from folders without needing to know which folder the path belongs to
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
2bcefd6105
Add methods to Folder so that other classes can easily add folder paths to white/blacklists
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
993ee6cb5b
Remove redundant "optional" gui log functions which relly just call gui log under the hood
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
e05cf7665a
Add specific message for existing folders exceeding warning limit in accountsettings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
017dca2328
Move findPathInList from discoveryphase to common syncjournaldb
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
a97bdb95ee
Clean up AccountSettings::refreshSelectiveSyncStatus
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:38 +08:00
Claudio Cambra
2a4ba398e2
Do not notify about folders growing beyond threshold by default
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:38 +08:00
Claudio Cambra
83b69032ff
Ensure notify big folders checkbox state is changed when parent checkbox changes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:38 +08:00
Claudio Cambra
61057334f6
Do not notify if setting is not enabled for folders going over limit
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:38 +08:00
Claudio Cambra
e6f5fb6382
Hook up existing folder notification size checkbox in general settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:37 +08:00
Claudio Cambra
b06cbf4dce
Add config settings for notifying existing folders going over limit
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:37 +08:00
Claudio Cambra
e8b82115e2
Add a checkbox in UI to obey folder size limit for existing folders
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:37 +08:00
Claudio Cambra
aa20c102b6
Properly check folder size on server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:37 +08:00
Claudio Cambra
5acacdd4d8
Make checkFolderSizeLimit more task agnostic
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:37 +08:00
Claudio Cambra
6f2e63d52f
Create and connect specific signal for existing folder now being discovered to be big
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:37 +08:00
Claudio Cambra
10dd03f50a
Add slot for existing folders becoming big in Folder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:36 +08:00
Claudio Cambra
ac218b000e
Use single convenience method to handle trailing slash in paths for Folder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:36 +08:00
Claudio Cambra
5844b2763d
Check selective sync state directories that have been updated and now have differing size
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:36 +08:00
Claudio Cambra
7145d73f15
Add DiscoveryPhase::checkSelectiveSyncExistingFolder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:36 +08:00
Claudio Cambra
e3dc6be371
Extract processServerNew into a proper method instead of large lambda
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:36 +08:00
Claudio Cambra
e5f399ff51
Move active folder size limit check to independent convenience method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:36 +08:00
Claudio Cambra
17de46cec2
Clean up declaration of DiscoveryPhase::checkSelectiveSyncNewFolder by using const auto, renaming single letter variables, more
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:35 +08:00
Claudio Cambra
75f0e53ce6
Const autofy variables in ProcessDirectoryJob::processFileAnalyzeRemoteInfo
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:34 +08:00
alex-z
2cb03e497a Fix review comments.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-07-26 16:18:39 +02:00
alex-z
7a3e43507a Iteration.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-07-26 16:18:39 +02:00
alex-z
cd4b72967c Check server's 204 endpoint every minute and restore connection immidiately after successful status code.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-07-26 16:18:39 +02:00
Dries Mys
243fcfedb9 Small coding improvements
Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-26 11:05:50 +02:00
Dries Mys
fb21eb55cf Alter testUnexpectedNonPlaceholder to better reflect the actual use case
Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-26 11:05:50 +02:00
Dries Mys
984d06e82a Convert VFS file to placeholder again if needed
Note that Windows may convert a placeholder file to a regular file when
it is replaced by another file, even if the old and new file (inode,
modified time, file size) are identical.

WIN32_FIND_DATA::dwReserved0 is only initialised in case of
FILE_ATTRIBUTE_REPARSE_POINT is set. This field is not a bit set. Check
corrected to only include all cloud reparse points and not other special
reparse points.

Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-26 11:05:50 +02:00
Claudio Cambra
b7283fa18c
Clean up declarations in activitylistmodel header, remove unused methods
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:28 +08:00
Claudio Cambra
cd56841156
Make TestingALM a friend class of ActivityListModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:27 +08:00
Claudio Cambra
6364c6226c
Replace unnecessary folder include in ActivityData with SyncResult
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:27 +08:00
Claudio Cambra
55fc6a1d0f
Place all sorts of sync file item status errors near the top
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:26 +08:00
Claudio Cambra
68d92e1ca7
Move activity list SyncResult errors to the top of the list
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:26 +08:00
Claudio Cambra
a5e2de7e1d
Move activity list syncfileitemstatus errors to the top of the list
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:26 +08:00
Claudio Cambra
53cc438bf1
Use QSharedPointer<T>::create for talk reply in systray.mm
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 07:14:03 +08:00
Claudio Cambra
08098b8d92
Fix spacing and indentation in systray.mm
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 07:14:03 +08:00
Claudio Cambra
91d5d9dc02
Modernise property accessing in systray.mm
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 07:14:03 +08:00
Claudio Cambra
5ecfa96d9c
Use const auto for C++ variables in systray.mm
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 07:14:03 +08:00
Claudio Cambra
fdcc623cf1
Constify object pointers in systray.mm
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 07:14:03 +08:00
Claudio Cambra
298a0f4dfb Convert directly from QUrl to NSURL
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
ff1fbdacf2 Clean up declaration in SparkleUpdater header
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
70cc0bf18f Fix localisation of updater status strings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
892abd984b Properly handle skipping auto update checks in the sparkle updater
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
c9275743d1 Only instantiate sparkle updater if autoupdating is available
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
5f9837b2b2 Fix qbytearray related clazy warnings in objective-c++ sparkle updater side
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
5ff0191757 Only enable check for update button when the sparkle updater is not working
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
07ac1b8c99 Implement proper notifying of sparkle updater state changes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
73c42719b4 Also record sparkle updater state
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
5f87f6687c Properly display status string for changes in updater
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
40f7da0106 Add ability for sparkle updater to notify UI when state has changed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
85f8332f32 Add q pointer to SparkleInterface
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
427ed0d47d Replace private class with an interfacing class to bridge Obj-C delegate class and owner CPP class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
aa3b315c32 Name sparkle updater delegate more reasonably
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
88b2ae0d21 Use std::unique_ptr in sparkle updater class rather than manual management
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
71adc2086b
Fix build of sharemodel.cpp on MSVC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-21 18:44:06 +08:00
Claudio Cambra
e54d78ad69
Add checkbox to general settings to enabling file removal meaning moving files to trash, rather than immediate deletion
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-21 00:08:00 +08:00
Claudio Cambra
d3eefee25a
Replace custom moveToTrash solution with Qt QFile::moveToTrash
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-21 00:07:59 +08:00
Claudio Cambra
ed05436ea5
Remove empty statement, standalone semicolon
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:53:29 +08:00
Claudio Cambra
74d1629ad9
Extract custom color svg image finding into separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:53:29 +08:00
Claudio Cambra
1284749d70
Simplify findSvgFilePath, define result value on definition
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:53:28 +08:00
Claudio Cambra
9df47cf1cc
Simplify loop to write bytes to password
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:28 +08:00
Claudio Cambra
4c8007e461
Use std::array to store hash bytes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:28 +08:00
Claudio Cambra
b404f1a546
Replace use of std::rand with improved C++11 random
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:28 +08:00
Claudio Cambra
f9ded784b5
Guarantee that the generated password for share will have all the types of characters needed to pass server check
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:28 +08:00
Claudio Cambra
32acf504cb
Simplify password generation in sharemodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:28 +08:00
Claudio Cambra
c4d1bdf46f
Generate better passwords for shares
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:27 +08:00
Claudio Cambra
d0e8e67c72
Track invalid input in ShareDetailsPage expireDateSpinBoxTextField
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:17:30 +08:00
Claudio Cambra
00ec93f031
Add ability for NCInputTextField to display red border when invalid input provided
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:17:29 +08:00
Claudio Cambra
da7d8c1f0a
Ensure the text for the expire date spin box is updated even in situations when the expire date is forced back down to the same one being currently held
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:17:29 +08:00
Claudio Cambra
aaeaad9918
Make sure to imperatively set text for spinbox textfield after user breaks binding by editing
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:17:29 +08:00
Claudio Cambra
e84a5dcb5f
Rename "moreMenu" ColumnLayout to "scrollContentsColumn" in ShareView, stop treating like menu which it used to be
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:17:29 +08:00
Dries Mys
9256417612 Create placeholder while dehydrating if needed
When replacing an OnlineOnly file by another one, the file maintains it
OnlineOnly pin state, but it is converted to a regular file. So, the
dehydration should convert the regular file to a (dehydrated)
placeholder instead of trying to update the (non-existing) placeholder.

Closes #4274

Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-20 15:07:46 +02:00
Dries Mys
55f27cdb96 Small coding improvements
Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-20 13:44:55 +02:00
Dries Mys
e9aa97682c Remove warning when querying pin state on non-placeholder file
F.ex. Folder::slotWatchedPathChanged calls this function on non-
placeholder files to check if the ignored file is already assigned an
Excluded pin state. Note that it is allowed to set the pin state to
Excluded on non-placeholder files.

Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-20 13:44:55 +02:00
Dries Mys
76376aa052 Set VFS PinState to Excluded for ignored files.
Setting PinState to Excluded ensures the syncing icon is not shown for ignored items.
If the PinState is not set to Excluded, also all parent directories are shown as being synced, which is very inconvenient for the end user as it seems that some folder are never fully synced by Nextcloud which isn't the case.
As long as .lnk files are not converted to placeholder files, also set them to Excluded to hide the syncing icon.

Closes #5524
Closes #5594

Co-authored-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-20 13:44:55 +02:00
Claudio Cambra
d6125ca3a1 Swap folder nullness assert for return
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
c1b2e07e8c Compress share page tab button width and height when sharing API is disabled
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
bccdb0e8f7 Make swipeIndex properties readonly
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
98ec8ff302 Fix background of tabbar in file details page
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
3fda519050 Do not handle setting page to sharing page if sharing not available
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
ea5397865d Do not display sharing entry if sharing is not available on server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
4bcff7d991 Set sharingAvailable property in FileDetails from Folder account capabilities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
38d82dfb5f Add sharingAvailable property to FileDetails class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
tomdereub
39e59a1c79 windows reserved word silently excluded - csync exclude.cpp
Proposal to solve https://github.com/nextcloud/desktop/issues/3826, by excluding silently windows reserved word like $RECYCLE.BIN.

Signed-off-by: tomdereub <pbtom@lamonerie.net>
2023-07-18 10:57:17 +02:00
alex-z
6ea828936f
Fix crash in _finalList removal loop. Fix incorrect implementation of seen chat notifications removal. Improved notifications fetch code to avoid multiple calls from different threads.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-07-18 09:57:13 +02:00
alex-z
71f1d1aad4 Added new state and new job to check if /index.php/204 is being redirected.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-07-17 11:31:15 +02:00
Matthieu Gallien
bc28bc43c3 set read only/read file on the newly downloaded file
will fix behavior on windows by properly setting the new temp file just
downloaded have the proper state (read only or read/write) and not the
already existing file that will be replaced by the newly odwnloaded one

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-07-12 13:42:34 +02:00
Matthieu Gallien
845c66666e fix failing tests by using FileSystem::setFileReadOnlyWeak
we try to preserve complex existing permissions unless the client is
required to change them significantly

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-07-12 13:42:31 +02:00
Matthieu Gallien
0039ffd7da always propagate locked status to read-only or read/write for real file
make sure that a file locked that would not be modifiable by the
current client is read-only on storage

also make sure we make a file read/write when modification can happen
again

Close #5537

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-07-12 13:41:46 +02:00
Matthieu Gallien
8cd1a30c40 fix bulk upload of empty files
force an empty body when we bulk upload empty files

force a "valid" checksum to be computed for empty files as bulk upload
server side expects a checksum even for empty files

Close #5824

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-07-10 10:38:39 +02:00
alex-z
b56200e0d7 Remove seen Talk notificatios from Tray window.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-07-06 09:15:26 +02:00
Matthieu Gallien
10cac0f46f fix review comments
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
0b3d67437a improve logs of e2ee such that errors are easy to see
removed some internal debug logs that should not be needed

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
1712f98b3c make sure to pass shared pointer by const ref when possible
avoid unnecessary copies of shared pointers

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
af1162804a make sure we clean only what is needed if e2ee is disabled
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
b9761a23fe tidy code
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
fad55470d5 ensure e2ee can be disabled from client
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
ad34de1622 make sure e2ee init is either fully done or not at all
make sure that we have only two cases:
1) keys are stored on the server and the client
2) keys are stored on the server and not yet on the client

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
bef5d1a893 if keys are not on server, also delete local keys
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
c8e5ac7b5f fix upload of private key when initializing the end-to-end encryption
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
3a0e0f2097 can now generate the CSR again if the first try to upload failed
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
50234c5859 try to resend the public key if it is not on server but on local storage
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
d3b583d967 improvement to be able to retry the e2ee init steps
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
17484cd69f finish local save of keys and upload them to server
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
1b7c16e8ff solve memory mismanagement of object life time
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
1cb632234c e2ee init rework
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
15f3e2acae backup private key early
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
da8fa7bfa7 prevent crash by resetting common pointer after deleting gobject menu
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 10:19:59 +02:00
Matthieu Gallien
033a37e7d1 remove wrong code
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-28 11:21:50 +02:00
Matthieu Gallien
0e002f35f4 add more metadata to sync errors to allow filtering
in order to be able to filter some errors when showing them into the
main dialog activity list, add some more info about the error to know
the origin (like a network issue or a sync issue)

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-28 11:21:50 +02:00
Matthieu Gallien
431ccfec5a ActivityListModel now keeps track of the account connection state
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-28 11:21:50 +02:00
Matthieu Gallien
8cf778ba94 declare state property in AccountState
should make it more logic to find the property when needed

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-28 11:21:50 +02:00
Dimitri Papadopoulos
fa96e0d31a Fix typos found by codespell
These change actual variable names.

Signed-off-by: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
2023-06-21 08:47:13 +02:00
Dimitri Papadopoulos
9d830e94f9 Fix typos found by codespell
Signed-off-by: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
2023-06-21 08:47:13 +02:00
alex-z
7e5031d75d Implemented a class ChecksumCalculator to allow stopping the checksum calculation thread on parent destruction.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-06-20 11:44:07 +02:00
alex-z
e6f003b00b Remove stale caseclash conflicts when one of conflicting files has been removed from server
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-06-15 10:13:22 +02:00
alex-z
bd37b711fe Fix clang compile error.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-06-14 15:01:43 +02:00
allexzander
63470c0e21 Correctly handle errors for unsupported filenames on the server. Allow user to rename those via dialog.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2023-06-14 12:48:56 +02:00
Matthieu Gallien
dddbe9193d
rotate logs based on the lines count instead of teh file size
will omit querying teh file size repeatedly (and not cost free)

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:57:00 +02:00
Matthieu Gallien
bfaa59e6ca
less info logs during discovery
those log lines mostly duplicate info we already have at info level

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:57:00 +02:00
Matthieu Gallien
8c842ca0fa
enable "Processing" log lines again but with some removed data
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:57:00 +02:00
Matthieu Gallien
257bebb790
avoid info level for new entries in ActivityListModel
should also decrease the number of log lines during heavy sync

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:54:03 +02:00
Matthieu Gallien
516649334f
by default hide most discovery log traces
will make the logs much less usefull by default

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:54:03 +02:00
Matthieu Gallien
40b1987287
downgrade some log lines to be less verbose
those log lines can easily be skipped from info level as they are needed
in very rare occasion

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:54:03 +02:00
Matthieu Gallien
8bd69ad941
fully hide some logs from release builds
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:54:03 +02:00
Matthieu Gallien
360fd93397 rotate the logs less often (around every 3 MB of compressed logs)
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-09 16:24:20 +02:00
Claudio Cambra
d986b47a21 Fix reply button visibility after reply field opened and reply text sent
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-06-09 08:34:45 +02:00
Claudio Cambra
beb651fb05 Fix colouring of NCRadioButton
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-06-08 18:05:42 +02:00
Matthieu Gallien
91ea14d49e addd a cmake option to enable single account desktop client
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-08 11:11:47 +02:00
alex-z
cc65f89d4c Fix UnifiedSearch text field placeholder text color for light and dark theme.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-06-08 09:00:48 +02:00
Matthieu Gallien
fe748fafa5 use a better user message for network errors
tell users this is a network error and the client wll retry
automatically

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-07 17:25:44 +02:00
Matthieu Gallien
5372276779 add more metadata to sync errors to allow filtering
in order to be able to filter some errors when showing them into the
main dialog activity list, add some more info about the error to know
the origin (like a network issue or a sync issue)

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-07 17:25:44 +02:00
Matthieu Gallien
6b18fd9d69
declare ErrorCategory enum class and declare its metatype
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-07 12:48:20 +02:00
Matthieu Gallien
34dde88f0e
display subject when we have sync issues like network errors
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-07 12:48:05 +02:00
alex-z
fd69e6daca Bugfix. Conflict resolution button not clickable.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-06-07 10:56:32 +02:00
Matthieu Gallien
5a86446f91
do not log twice in debug mode
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-06 16:32:19 +02:00
Matthieu Gallien
a34bac35b7
rotate log files every 3 MBs
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-06 16:32:18 +02:00
Matthieu Gallien
b28e635368
by default disable debug log level
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-06 16:32:15 +02:00
Claudio Cambra
fe427364c2 Fix progress bar palette
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-06-06 22:13:26 +08:00
Matthieu Gallien
47a7a267ea
fix build on windows by adding missing archive name properties on libs
the archive output name is used on windows but was never set for 2
libraries

with this they will have a proper name matching other components of the
shared library

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-31 15:45:09 +02:00
Claudio Cambra
be84b2cf09
Use Style constants for UnifiedSearchInputContainer measurements
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-31 15:47:45 +08:00
Claudio Cambra
ca64951a6c
Fix switching from dark/light mode for checkboxes in file details window
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-31 15:36:07 +08:00
Claudio Cambra
27f5d826bb
Fix faulty dark/light mode switching in UnifiedSearchInputContainer
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-31 14:02:33 +08:00
Claudio Cambra
43a21717fa Fix macOS build when file provider module build is disabled
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 11:11:08 +02:00
Claudio Cambra
4c096a885c Declare hoverEnabled: true explicitly in CustomButton
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
97cf9390fa Fix highlight in activity list
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
1dc83bfbd3 Fix caret colour in basic combo box
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
24e6435289 Remove unnecessary background components
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
d195922d17 Always use palette colours for colouring UI elements
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
46f54891e4 Define all QML windows as ApplicationWindows, define palettes here
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
10560f8b03 Fix contentwidth of dialogbuttonbox in ShareDetailsPage
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
1aa4cd0dc5 Fix dark mode in ResolveConflictsDialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
de7697d6c7 Fix outline for progress bar in fusion
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
c2c3484306 Fix checkbox palettes in share details
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
313592645d Unify small icon sizes in file details components
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
fef9f3b643 Fix dark mode switching issues with main tray window
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
cde52f03fa Fix large number of warnings related to unavailable property
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
c18fba6366 Fix image sizing and positioning in NCButtonContents
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
6237898b73 Add darker hover to make hovering on an item within an item with lightHover visible
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
3145f9cf83 Respect icon.height and width in custom button contents
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
93efd2fb78 Respect icon.height and width in custom button contents
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
ea43ebfe91 Limit the max height of images inside CustomButton
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
97904d3b20 Simplify and fix activity content layout by going back to using RowLayout instead of Item
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
c37e077dac Use standard size instead of unncessary additional value
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
659ccc3f07 Fix text lines, don't leave only one line
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
95a8ecf013 Move filedetails button to activity top row
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
03631bb659 Fix more button icon when in dark mode
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
a106454b34 Use custombutton with filedetails button to make it not look horrible
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
a0909cea60 Hide second subject line in activity when nothing is visible
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
39b5e7653c Fix alignment of main subject line with time line in activity
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
97c33d396c Use custombutton for dismiss button, give hover feedback
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Matthieu Gallien
ad503d9fe3 ensure that the file to test monitoring is hidden
we create a file inside the sync folder to test file system monitoring

ensure this file is hidden (i.e. has the proper hidden property)

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-25 08:25:56 +02:00
Matthieu Gallien
0ba16229c5 align activity text with "Sync now" text
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-23 11:15:56 +02:00
Claudio Cambra
bc64e990ce Fix colour of downward caret in tray folders button
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-22 09:58:07 +02:00
Claudio Cambra
623190c620 Fix colour of icon for tray folders button
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-22 09:58:07 +02:00
Matthieu Gallien
1accd60b86
just use padding to ensure a good width for "Sync now" button
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:11 +02:00
Matthieu Gallien
ce9540a252
do not color file details 3 dots button
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:11 +02:00
Matthieu Gallien
607d0da672
use a much more compact layout for activities
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:10 +02:00
Matthieu Gallien
9dd5cc35f8
use a more compact format to display date of activities
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:10 +02:00
Matthieu Gallien
ddeb629157
always enable entries in activity list to have consistent look and feel
disable items will have weird look and behavior

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:10 +02:00
Matthieu Gallien
39c70c1f22
make highlight indicator in activity list have rounded corners
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:10 +02:00
Matthieu Gallien
f8feb6403f
to dismiss an activity use a round button with hover enabled
change size of dismiss button for items in activity list

fix #5275

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:10 +02:00
Matthieu Gallien
4c1ab7092b
use Fusion qml style
allows use of more standard qml styling and components

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:09 +02:00
Matthieu Gallien
7d03007fa8
use standard and existing property to set icon url in buttons
replace custom property imageSource by the use of the standard
icon.source

will make our code closer to Qt Quick Controls v2 and less our own
controls toolkit

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:09 +02:00
Matthieu Gallien
e69a544b71
improve again qml bindings to notifications data
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:09 +02:00
Matthieu Gallien
98ec08097b
make the API easier to read
make a protected method overriding a public method be a public method
also

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:09 +02:00
Matthieu Gallien
0d2742d88a
provide the full OCC::Activity instance to ActivityItemContent
should allow accessing the required properties of teh activity to fine
tune the display of it

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:09 +02:00
Matthieu Gallien
f51af1734d
expose some properties of OCC::Activity gadget class
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:09 +02:00
Matthieu Gallien
ce69856bfa
improve qml binding for more element of OCC::Activity
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:09 +02:00
Matthieu Gallien
10f9ef5cd5
to store subjectRichParameters use a QVariantMap that is qml friendly
will make it much easier to access fom qml in order to use the data
inside to improve activity list items

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:08 +02:00
Matthieu Gallien
bc9b7a05f4
repay some desbt in ActivityListModel::data
only valid index are sent to QAbstractItemModel::data

we may want to do more checks in debug mode, let's do it

if we are going to show data, let's use a const variable to contain the
current activity item

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:08 +02:00
Matthieu Gallien
9a90f15ceb
remove scary warning that is a false alarm
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:08 +02:00
Matthieu Gallien
ad868daebe
remove custom property to set a source model in a sort proxy model
custom property for source model is not needed

remove code that is not needed

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:08 +02:00
Matthieu Gallien
32ee1a962f
remove custom property and use standard sourceModel for our proxy model
a QSortFilterProxyModel will trigger a new sort whenever needed, so
custom code is not needed

we might have someone that would use the standard property and loose teh
side effects of setting the source model via thet non standard property

this makes it more complicated to read as one might wonder why a custom
property was needed

deletes a bunch of code not really needed

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:08 +02:00
Matthieu Gallien
9bbabd3baa
prevent a 0 size to assert when creating icon from svg
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:08 +02:00
Matthieu Gallien
d6d1a6dcd2
fix a few debug logs to use proper categorized logging
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:08 +02:00
Matthieu Gallien
dc66a1254d
add missing copyright notices and upgrade qml module imports
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:07 +02:00
Matthieu Gallien
6c7f810095 improve code in activity list model
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
8f60518d6f small qml cleanup to make code faster to read
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
14bce6fdc2 improve reliability of memeory management when creating conflicts dialog
use more automatyed memory management to reduce possible errors

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
5349395063 model improvements
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
8d81257db0 improve translations for strings with placeholder to display numbers
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
b285b89605 define minimum sizes of conflict dialogs in Style component
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
635b1ec729 define constants specific for font sizes in conflict dialog
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
31e4dede62 refactor common parts of conflict delegate into a separate component
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
230e2de23a solve multiple conflicts from choose resolution
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
739c56c04a allow selecting conflict resolutions for many conflicts
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
8d52d4e4cc implement more feedback
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
fa135a4228 ensure the URL to mimetype icons are correct
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
382a58c6bd allow the conflicts dialog to close
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
2e501f0c75 add some margins at bottom of items in conflicts list view
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
6efa9f81be prevent close of conflicts dialog on focus lost
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
779cc3a75b display icons for files when solving many conflicts
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
789ca7230a plug models into the dialog
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
f799d8c697 tune the pipes to really get a dialog to show for many conflicts
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
c118958d3d do not show many conflicts dialog for a single conflict
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
72b78c9011 replace "Sync now" button by "Solve all conflicts" for many conflicts
offer an easy way to open a dialog to solve all conflicts at once
replacing the "Sync now" button

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
280094b220 model: first step
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
8f61d539da replace "OK" button by "Resolve conflicts" to help users
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
4bd93e39d6 more qml feedback
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00