Commit Graph

105 Commits

Author SHA1 Message Date
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
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 5cb3266f7f fix compilation with clazy and fully-qualified-moc-types checks enabled
will make all signals and slots be using fully qualified data types

makes code safer

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-11 11:34:00 +02:00
Matthieu Gallien 20422f0247 when local sync folder is overriden, respect this choice
may lead to inadvertant data loss, not sure if that could be an issue

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 09:21:48 +02:00
Claudio Cambra b57b35e7a4
Delete E2EE files/folders for accounts that have had E2EE disabled
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:14 +01:00
Claudio Cambra 53abfb4785 Add an end to end test utils file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-11-23 08:40:46 +01:00
allexzander 6affc6e6ab Implement 'Leave this share' context menu entry. Fix incorrect sharing state for incoming and my shares in custom state icons and local database.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-11-22 12:14:20 +01:00
Matthieu Gallien 61c792c6f4
fully qualify types in signals and slots
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-15 09:57:54 +01:00
Claudio Cambra 7ba6969e65
Moved all server mocking code for share model test to independent ShareTestUtils file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:10 +01:00
Claudio Cambra e021f25634
Add a suite of tests for ShareModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

Test ShareModel error handling

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

Improve testing of user/group shares in ShareModel

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

Add testing for maximum share expire date enforcement in ShareModel

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:09 +01:00
Claudio Cambra 9a00aa6e66 Refactor edit locally into its own class, rather than bolting onto FolderMan
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-29 13:32:48 +02:00
Claudio Cambra 224621bb85 Refactor large editFileLocally FolderMan method into smaller, clearer separate methods
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-29 13:32:48 +02:00
Claudio Cambra 94b45d6d68 Add forcefoldersync method to folder manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-25 19:14:40 +02:00
alex-z 4e2ea9c00c Fix account not found when doing local file editing.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-10-17 14:56:30 +03:00
Matthieu Gallien f9949ee0de
edit locally requires a valid token
check on server that the token received during a request to open a local
file is indeed a valid one

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-17 09:02:26 +02:00
alex-z 7672cb7903 Improve 'Handle local file editing' feature. Add loading popup. Add force sync before opening a file.'
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-10-10 17:13:06 +03:00
Matthieu Gallien 565a5f0999 add [[nodiscard]] attribute via clang-tidy
ran
run-clang-tidy-14.py -header-filter='.*' -checks='-*,modernize-use-nodiscard' -fix
under linux with most part of our code covered

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-04 11:14:45 +02:00
alex-z 2a529eef3c Make sure Folder is deleted from the list and the SyncJournalDB is closed for every folder of the account that has been removed.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-09-10 10:34:34 +02:00
alex-z f0b9ecd747 Check folder invalidity reson when deciding to enable or disable the 'Finish' button in a Wizard page.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-09-10 10:34:34 +02:00
alex-z 1b98733b1a Start sync immediately after modifying the selective sync settings.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-09-07 13:38:09 +03:00
alex-z d42d3c057f Implement URI handler for local file editing
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-08-03 11:38:33 +03:00
alex-z 001deace2d Implement COM Dll for CfApi shell extensins. Implement Thumbnail Provider.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-07-29 19:26:53 +03:00
Matthieu Gallien 5ab13b2adc add an option to enforce use of virtual files sync folder
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-05 16:56:24 +01:00
Matthieu Gallien 25669938fd let clang-tidy add missing override after enabling again the check
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-08-31 08:35:56 +00:00
allexzander 193e50311b Refresh Windows download dialog progress when hydrating a placeholder
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-03-24 14:09:06 +02:00
Felix Weilbach 78f00acaa2 Add push notifications for file changes
Resolves #2802

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-01-25 17:01:09 +00:00
Hannah von Reth bd62615aab
Clazy: Fix some warnigns 2020-12-15 10:59:17 +01:00
Christian Kamm fa2450cf11
vfs: Be more careful about Vfs instance ownership 2020-12-15 10:58:25 +01:00
Christian Kamm fa6f3cd847
vfs: Fix plugin decision in wizards, sanitize loading 2020-12-15 10:58:23 +01:00
Christian Kamm c3b1a872aa
FolderMan: Remove assumption of unique running sync 2020-12-15 10:58:21 +01:00
Christian Kamm 7de453d439
Settings: Make FoldersWithPlaceholders group sticky
If virtual files are disabled on a folder it might still have db entries
or local virtual files that would confuse older client versions.
2020-12-15 10:58:15 +01:00
Christian Kamm 97f7b5abeb
Settings migration: Preserve future settings where possible
See discussion in #6506
2020-12-15 10:57:54 +01:00
Christian Kamm 87ba4e6b9c
Config: Add version flags to accounts and folders
Also, if there is too-new configuration, backup the file, show a
warning message asking the user whether it's ok to discard the
configuration from the future.

See #6504
2020-12-15 10:57:53 +01:00
Stephan Beyer ea16804751 Replace NULL by nullptr in all C++ files
We keep NULL in the pure C files in src/csync/std and test/csync.

We also replace Doxygen documentation referring to "NULL" to
"\c nullptr" (formatted as code).

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-06-08 20:07:50 +02:00
Kevin Ottens e3e262e42e Use default member init when applicable
This also fixes a couple of warnings at places (out of order init for
instance) and a potential bug in the webflow credentials / qtkeychain
integration.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-03 16:10:39 +02:00
Camila San 19491ff85f
Once client gets 401/403 from the server, check if remote wipe was requested.
- When the the users logs because of 401 or 403 errors, it checks if the
server requested the remote wipe. If yes, locally deletes account and folders
connected to the account and notify the server. If no, proceeds to ask the
user to login again.
- The app password is restored in the keychain.
- WIP: The change also includes a test class for RemoteWipe.

Signed-off-by: Camila San <hello@camila.codes>
2019-10-17 20:11:31 +02:00
J-P Nurmi fb5ff96ed6 GUI: run clang-tidy modernize-use-nullptr 2018-11-11 10:56:22 +01:00
Olivier Goffart b3e4ec9454
FolderMan::checkPathValidityForNewFolder: make sure to work when folder points to deleted folders
Note that we also needed to adjust the server url to contains the user name
in the folder wizard. (As checkPathValidityForNewFolder expect the user name)

Issue #6654
2018-09-09 22:02:44 +02:00
Christian Kamm ad750f569c
Tray: Change icon for unresolved conflicts #6277 2018-05-15 17:58:10 +02:00
Christian Kamm 86377aa37a Folder: Remove unused 'dirty proxy' setting 2018-01-05 09:44:20 +01:00
Jocelyn Turcotte 56e38e6f80 Windows: Add sync folders to Explorer's navigation pane
This is only the navigation pane, the SyncRootManager entries aren't handled yet.

This follows the instructions from:
https://msdn.microsoft.com/en-us/library/windows/desktop/dn889934%28v=vs.85%29.aspx

Issue #5295
2017-10-24 16:10:53 +02:00
Christian Kamm fb2d31c9ce Folder: Move FolderWatcher to Folder
This makes it unnecessary for FolderMan to manage the list and removes
the need for some forwarders.

This is done in preparation for follow-up commits that want to add
diagnostics to FolderWatcher that shall be available from within Folder.
2017-10-24 10:00:20 +02:00
Olivier Goffart 797f8087bc Gui: Use lambda instead of QSignalMapper
It's simpler, and QSignalMapper is deprecated in Qt 5.10
2017-09-21 14:05:39 +02:00
Christian Kamm c8d0f788e0 Apply clang-format 2017-05-17 12:26:27 +02:00
Christian Kamm f67989afea Wizards: Never propose an existing folder for syncing #5597 2017-03-21 17:07:35 +01:00
Jocelyn Turcotte ee211d7609 Release SyncFileItem objects with their job
We now delete subjobs as their propagation is complete. This allows us
to also release the item by making sure that nothing else is holding a
reference to it.

Remove the stored SyncFileItemVector from SyncEngine and SyncResult
and instead gather the needed info progressively as each itemCompleted
signal is emitted.

This frees some holes on the heap as propagation goes, allowing many
memory allocations without the need of requesting more virtual memory
from the OS, preventing the memory usage from increasingly growing.
2017-01-25 23:26:23 +01:00
ckamm 5bef1aa402 Merge pull request #5045 from owncloud/dbjournal_per_account
Allow a folder to be synced to several accounts. This changes the path of the sync journal file!
2016-12-06 10:55:58 +01:00
Christian Kamm 68f99bcc27 AccountSettings: Add a "Force sync now" context menu option 2016-11-25 14:23:56 +01:00
Christian Kamm 49f8143f00 Bugfixes for sync journal name generation and usage
* Use 'user' value for journal name generation
* Save journal name in settings
* Make owncloudcmd choose the right db
2016-11-23 16:48:15 +01:00
Christian Kamm bea7241910 Don't wipe each journal on each start 2016-11-23 16:48:15 +01:00