Commit graph

4204 commits

Author SHA1 Message Date
Claudio Cambra
f260bbf9f4 Remember server colors across restarts, enabling correct color before capabilities fetched
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-08-24 08:34:41 +08:00
Claudio Cambra
fba06a745c Add warning prior to folder encryption to prevent unknowing users from creating unrecoverable encrypted folders
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-23 08:46:23 +08:00
Claudio Cambra
c8599bc084 Fix warning dialog box message when trying to encrypt folders that have not been successfully synced (i.e. error/problem)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 22:11:50 +02:00
Claudio Cambra
31011160c8 Also accent ncBlue buttons in ShareDetailsPage with user accent color
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 18:08:58 +02:00
Claudio Cambra
ea05c8ecc7 Colour coloured elements in share view with user accent colour
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 18:08:58 +02:00
Claudio Cambra
8778021bcf Make accent colour of NCTabButton in file details follow user accent colour
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 18:08:58 +02:00
Claudio Cambra
12d9a484c0 Suggest a password when password is enforced on server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 21:26:19 +08:00
Claudio Cambra
bfa7fc5299 Move createRandomPassword to public static Q_INVOKABLE method of ShareModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 21:26:19 +08:00
Claudio Cambra
8bda3fdce7 Hide password field in share settings when share type does not support passwords
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 10:11:13 +02:00
Claudio Cambra
d428915d35 More distinctly name server allowing resharing property
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
372cd9b9a4 Hide 'Allow resharing' checkbox when resharing not allowed by server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
172c7ab711 Add resharing allowed property to ShareModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
4b3d6c5316 Make busy indicator for share permissions cover all share permission check/radio boxes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
a344ff7c91 Add checkbox in share details page for resharing allowed setting
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
acb22b1684 Add role for resharing allowed in share model
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
c05e1920bb Fix share permission values
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
6d56621520
Deduplicate whitelistFolderPath and blacklistFolderPath
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:23 +08:00
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
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
a97bdb95ee
Clean up AccountSettings::refreshSelectiveSyncStatus
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
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
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
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
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
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
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
55f27cdb96 Small coding improvements
Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-20 13:44:55 +02:00