Commit graph

971 commits

Author SHA1 Message Date
Claudio Cambra
64e32b48eb
Add convenience method to get child directories from database manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:24 +08:00
Claudio Cambra
65ab13c0f9
Ensure we don't saturate the server with propfind requests
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:24 +08:00
Claudio Cambra
390403ef5e
Properly report pagination for working set enumeration
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:24 +08:00
Claudio Cambra
b52b82134e
Enumerate all known folders as workingSet enumeration
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:24 +08:00
Claudio Cambra
7302c953d8
Rewrite working set handling to make it match the server remote, per Apple recommendation
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:24 +08:00
Claudio Cambra
32e81a693e
Add method to get all item metadatas in database manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:24 +08:00
Claudio Cambra
24b328f57b
Add method to get all directory metadatas in database manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:24 +08:00
Claudio Cambra
b73c1d72fb
Better handle initial set up of the file provider extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:23 +08:00
Claudio Cambra
03c1731fb5
Handle 404 errors from readFileOrFolder as special deletion case in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:23 +08:00
Claudio Cambra
25a09e1704
Use ocIds for directory metadata deletion, prevent deletion if no such directory found in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:23 +08:00
Claudio Cambra
65ed3ad846
Use ocIds for item metadata deletion in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:23 +08:00
Claudio Cambra
2b92e9b546
Improve handling of nil values in CompleteChangesObserver
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:23 +08:00
Claudio Cambra
47d50af140
Enumerate changed in the working set
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:23 +08:00
Claudio Cambra
1ffdc5f1c5
Refactor change enumeration completion into separate static function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:23 +08:00
Claudio Cambra
e2943ab043
Delete new updated items that are now E2EE
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:23 +08:00
Claudio Cambra
2cf4033f9b
Enumerate changes for normal serverUrls in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:22 +08:00
Claudio Cambra
53649c2933
Rename completeObserver to completeEnumerationObserver
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:22 +08:00
Claudio Cambra
60dbf167b9
Fix the serverUrl used to fetch database item metadatas on enumerateItems
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:22 +08:00
Claudio Cambra
7734316416
Fix accidental purge of all metadatas caused by trying to call updateDirectoryMetadatasFromItemMetadatas when reading the root container
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:22 +08:00
Claudio Cambra
d478320dd3
Refactor readFileOrFolder to be more adaptible to enumerating items or changes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:22 +08:00
Claudio Cambra
61dd51ae02
Properly delete directory and all children when updating folder metadatas in database manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:22 +08:00
Claudio Cambra
e7e850094b
Also report all new, updated, and deleted metadatas from updateItemMetadatas in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:22 +08:00
Claudio Cambra
a10b563eb7
Report new item metadatas and updated item metadatas in processItemMetadatasToUpdate in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:22 +08:00
Claudio Cambra
fc376b5fe6
Report deletedItemMetadatas in processItemMetadatasToDelete in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:21 +08:00
Claudio Cambra
76311cc66f
Properly handle readFileOrFolder of file vs folder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:21 +08:00
Claudio Cambra
cc72cc361c
Keep track of additional details about enumerating item in the FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:21 +08:00
Claudio Cambra
d22b8e0eb7
Enumerate materialised items when system requests working set
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:21 +08:00
Claudio Cambra
3316d19b90
Add convenience method to get local file metadatas for an account in NextcloudItemMetadataTable form in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:21 +08:00
Claudio Cambra
a18c6dc258
Add convenience method to get all local file metadatas for an account in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:21 +08:00
Claudio Cambra
17f52982bd
Properly report progress for download and upload operations in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:21 +08:00
Claudio Cambra
628ff92dec
Add a Progress extension with convenience methods for copying progress data from one progress object to another
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:21 +08:00
Claudio Cambra
53d2fc0c1e
Prevent creation of symbolic link items in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:21 +08:00
Claudio Cambra
ca298eff87
Handle version item requests in fetchContents of FileProviderExtension per the documentation
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:20 +08:00
Claudio Cambra
54587e8c07
Clarify current use of sync anchor in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:20 +08:00
Claudio Cambra
06b59b6756
Correctly fulfill delete item requests on server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:20 +08:00
Claudio Cambra
3e0a9e9912
Support reparenting file provider items correctly
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:20 +08:00
Claudio Cambra
a146b65f76
Properly handle several modify item fields at once in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:20 +08:00
Claudio Cambra
020c5d5104
Only try upload of modified item in FileProviderExtension if that had its contents changed and we have a valid content url
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:20 +08:00
Claudio Cambra
0f2fbf7518
Handle renaming of both files and folders correctly in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:20 +08:00
Claudio Cambra
c7660b50df
Add convenience method to rename file item metadatas in database
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:20 +08:00
Claudio Cambra
5f24527270
Properly handle renaming folders in FileProviderExtension modifyItem
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:19 +08:00
Claudio Cambra
c3f79eecc6
Add methods to rename directory metadata and propagate modifications to all children in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:19 +08:00
Claudio Cambra
47d98a44a8
Add methods to delete metadata types in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:19 +08:00
Claudio Cambra
c6cc87a4b8
Extension can now upload modifications to items on the server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:19 +08:00
Claudio Cambra
992ef7b62b
Add ability for extension to create items correctly on the server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:19 +08:00
Claudio Cambra
7d2c21c772
Don't unnecessarily fetch item metadata when fetching contents
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:19 +08:00
Claudio Cambra
81dd5966f8
Unprivate direcotryMetadataFromItemMetadata in database manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:19 +08:00
Claudio Cambra
dc2e14d57b
Add convenience method to add directory metadata to database
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:19 +08:00
Claudio Cambra
91ad815a6b
Add working file content fetching
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
b70e9d11bb
Add convenience method to add local file metadata from item metadata to database
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
293512560e
Add convenience method to add item metadata status
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
90d5c8f54e
Add convenience method to update item metadata status
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
3342fb77c8
Add convenience properties to NextcloudItemMetadataTable
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
230b55d7e9
Stop using NextcloudKit.shared and NKCommon.shared, use specific NextcloudKit instance instead to prevent clashing between different FileProvider domains
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
f0524d44e1
Switch to NCKit work/unsharedify-nckit branch
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
98afd95e59
Fix Realm crashes when trying to delete certain objects
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
6a258c0c37
Properly handle errors when trying to read server url in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:18 +08:00
Claudio Cambra
3be08bb15e
Fix scanning of child directories in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:17 +08:00
Claudio Cambra
476d6a2456
Don't unnecessarily fail to get serverUrl for enumerated item in FileProviderEnumerator when this can be acquired straight from the itemMetadata
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:17 +08:00
Claudio Cambra
c4580183e7
Only reimport entire file provider domain if there have been no recorded files when ncAccount is configured
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:17 +08:00
Claudio Cambra
9c18d36f41
Add convenience method to check if any file metadatas have been stored for account in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:17 +08:00
Claudio Cambra
74222daa2a
Don't unnecessarily fail to provide parentItemIdentifier in NextcloudFileProviderFilesUtils when we can get the root container straight from the item metadata in question
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:17 +08:00
Claudio Cambra
5c01109004
Switch to develop branch of NextcloudKit
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:16 +08:00
Claudio Cambra
06f2714a95
Improve and fix enumerator signalling after initial account setup in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:16 +08:00
Claudio Cambra
ff25f940ec
Fix URL path composition for utility methods in NextcloudFileProviderFilesUtils
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:16 +08:00
Claudio Cambra
ceb9aa3b65
Fix try/catch indentation in NextcloudFileDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:16 +08:00
Claudio Cambra
7cb49393fe
Fix NextcloudItemMetadataTable status query type
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:16 +08:00
Claudio Cambra
38d1b95bd2
Fix the webDavUrl for NextcloudAccount
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:16 +08:00
Claudio Cambra
2f5d0e6fe9
Set up NextcloudKit account in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:16 +08:00
Claudio Cambra
325878b696
Improve logging in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:16 +08:00
Claudio Cambra
67de82913e
Keep track of requested enumerators when account is being configured, notify them as changed once account is set up
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
ba86824c7e
Improve FileProvider logging
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
31732c2fb2
Added missing network entitlement to FileProviderExt
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
a046eca3c3
Use safer separator for account details socket message
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
f01b6a545f
Fix path handling for file provider database setup
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
e7e985f355
Correctly register object schemas in Realm database
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
1cb7da9bac
Send account details over socket and simplify NextcloudAccount members, turn all to Strings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
81b5c33571
Complete item method of FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
d801bfc8f5
Complete basic barebones enumeration
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
5f0a4883fc
Use NSLog instead of print in FileProvider
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:14 +08:00
Claudio Cambra
176303dcf1
Use more modern Realm @Persisted
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:14 +08:00
Claudio Cambra
d0ac36faab
Make record updating methods safer by checking for existing metadatas internally
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:14 +08:00
Claudio Cambra
57d585201e
Add method to get directory tables from database in manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:14 +08:00
Claudio Cambra
7ff2379e3d
Make sure to create copies of Realm objects to prevent issues with live-fire objects
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:14 +08:00
Claudio Cambra
496b94a9a7
Add comparison helper to NextcloudDirectoryMetadataTable
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:14 +08:00
Claudio Cambra
c4014e8b6a
Add parent directory server url data to directory table
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:14 +08:00
Claudio Cambra
d9e368cbe7
Refactor updateDirectoryMetadatas in the database manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:14 +08:00
Claudio Cambra
3354f3e4de
Add updateDirectoryMetadatasFromItemMetadatas to NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:13 +08:00
Claudio Cambra
316ef61d83
Split off update and creation process of updateItemMetadatas of NextcloudFilesDatabaseManager to private method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:13 +08:00
Claudio Cambra
4d2da1037d
Split off deletion process of updateItemMetadatas of NextcloudFilesDatabaseManager to private method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:13 +08:00
Claudio Cambra
39f4b7a8e4
Add updateItemMetadatas method to NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:13 +08:00
Claudio Cambra
e929940b47
Add convenience isInSameRemoteState method for NextcloudItemMetadataTable
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:13 +08:00
Claudio Cambra
f2970e2da7
Add itemMetadatas method to NextcloudFilesDatabaseManager with status as parameter
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:13 +08:00
Claudio Cambra
06a5e4df85
Add NKFile to NextcloudItemMetadataTable converter methods to NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:13 +08:00
Claudio Cambra
55f533dc3d
Add clarifying comments to NextcloudFilesDatabaseTables
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:13 +08:00
Claudio Cambra
f466fd6652
Add itemMetadatas method to NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:12 +08:00
Claudio Cambra
df53aa2492
Add directoryMetadata method to NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:12 +08:00
Claudio Cambra
9e2c8f355d
Add ncKitAccount property to NextcloudAccount
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:12 +08:00
Claudio Cambra
2b5425390d
Add completeObserver method to FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:12 +08:00
Claudio Cambra
7d1b275d50
Fill out FileProviderItem
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:12 +08:00
Claudio Cambra
0e3d565151
Add localFileMetadataFromOcId method to NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:12 +08:00
Claudio Cambra
63bcd02512
Add NextcloudLocalFileMetadataTable derived from iOS app
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:12 +08:00
Claudio Cambra
f15187c8b4
Rename NextcloudFileMetadataTable to NextcloudItemMetadataTable to more accurately match functionality
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:12 +08:00
Claudio Cambra
9ff66bb94f
Add isFileSynced helper func to FileProviderFilesUtils
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
5f9f0311d1
Add transfer status enum to NextcloudFileMetadataTable
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
1a27f3c249
Add convenience parentItemIdentifierFromMetadata convenience function to NextcloudFileProviderFilesUtils
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
d7b9d7f215
Add convenience createFileOrDirectoryLocally func to NextcloudFileProviderFilesUtils
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
08436a129e
Added convenience functions to create paths for NC files (and create directories and placeholder files if inexistent)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
83230baeaa
Use pathForFileProviderExtData in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
730c30f324
Add pathForFileProviderExtData convenience method to NextcloudFileProviderFilesUtils
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
487b47fbf7
Use pathForAppGroupContainer func in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
583b91c986
Add NextcloudFileProviderFilesUtils for file-related utility funcs
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:11 +08:00
Claudio Cambra
4b48f0c429
Use server dav files URL in enumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
9f6c2df4e3
Complete FileProviderEnumerator init, get correct serverUrl for enumerator item identifier
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
fa7e441d81
Add directoryMetadataForFile method to NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
3122dba6f9
Refactor NextclouDFilesDatabaseManager methods slightly for consision
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
18119b32bf
Add database table for directory from iOS NC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
1ffc5949aa
Add getFileMetadataFromFileProviderItemIdentifier method to NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
8e90f66918
Add getFileMetadataFromOcId method to NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
5337d5d654
Add basic NextcloudFilesDatabaseManager for FileProvider files
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
41fe92ebd2
Add NextcloudFilesDatabaseTables for FileProvider files database
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:10 +08:00
Claudio Cambra
9095df2482
Make ncAccount in FileProviderExtension an optional, make state of FileProviderDomainAccountData immediately on init
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
a8dfafabde
Make localSocketClient of FileProviderExtension a lazy var
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
e319516b89
Add URLSession to FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
4efb234f68
macosx: Add NextcloudKit and Realm dependencies
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
9b54e6414f
Grab account keychain entry identifier data from socket in FileProviderExt
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
f795666d4b
Add FileProviderDomainNextcloudAccountData that grabs account info from keychain
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
39850ab145
Move FinderSync-specific GET_STRINGS initial call out of LocalSocketClient and into FinderSync
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
cf606f19a6
Add ability for FileProvider app extension to reply to file provider domain identifier request
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
ad665ff06c
Add sendMessage method to LocalSocketClient public API
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
8ea09cb9d7
Clean up public API of LocalSocketClient
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
ada4b98a93
Added working socket connection between desktop client local socket server and app extension socket client
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
f20b11745d
Modify FinderSyncExt to move components into shared Framework that can be used in FileProviderExt
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
16394d13d2
Clean up LocalSocketClient code in shell extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
a7ec2c325e
Rename OwnCloudFinderSync Xcode projext to NextcloudIntegration
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
ed85334b62
Fix faulty quoting in shell integration CMakeLists
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Claudio Cambra
d10b208655
Set connection status for file provider domains
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Claudio Cambra
dcd1628ce8
Ensure file provider domains appear in finder sidebar
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Claudio Cambra
9a86bb2be3
Add file provider init code
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Matthieu Gallien
01ecb639ab use new connect syntax
mainly done using clazy and old-style-connect check

close #5426

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-28 09:36:27 +01:00
Matthieu Gallien
c0549c5c03
fix issues reported by compiling windows code with clang-tidy
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-22 16:50:20 +01:00
Claudio Cambra
706b1bd3a1
Update Windows shell integration rc copyright strings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-23 15:37:56 +01:00
Claudio Cambra
f7239ebdca Don't bother doing init procedure on FinderSync in macosx shell integration of invalid self
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-06 16:24:35 +01:00
Claudio Cambra
521a026e03 Correctly init LineProcessor in macosx shell integration
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-06 16:24:35 +01:00
alex-z
7f6c2f946b Move Windows shell extension DLLs to a root installation directory.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-12-29 17:59:21 +01:00
Claudio Cambra
5892075df7 Avoid the Get-Task-Allow Entitlement (macOS Notarization)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-12-13 21:31:56 +01:00
Claudio Cambra
19a2f8cc7d Add support for macOS to flake
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-12-13 16:42:35 +01:00
Claudio Cambra
46381f5ddc Update macOS shell integration deployment targets
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-11-29 11:35:35 +01:00
Marvin Schmidt
7f72678d32 cmake: Use FindPkgConfig's pkg_get_variable instead of custom macro
Commit b34a901838 ("Use FindPkgConfig to find libcloudproviders and
related libs") introduced the usage of cmake's FindPkgConfig module
which provides `pkg_get_variable` since version 3.4 that can be used
instead of the custom `PKGCONFIG_GETVAR` macro

Signed-off-by: Marvin Schmidt <marv@exherbo.org>
2022-11-24 12:04:54 +01:00
István Váradi
2002c98b68 Modernize the Dolphin action plugin
Instead of installing a .desktop file, it is now converted
to JSON and compiled into the plugin itself. The plugin is
also installed into a different directory.

Signed-off-by: István Váradi <ivaradi@varadiistvan.hu>
2022-11-23 13:35:49 +01:00
Nathan Pratta Teodosio
2ba08206af Fix compatibility with newer python3-nautilus
Signed-off-by: Nathan Pratta Teodosio <nathan.teodosio@canonical.com>
2022-10-29 14:37:41 +02: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
Claudio Cambra
a74f9b367d Ensure the dispatch source only gets deallocated after the dispatch_source_cancel is done
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-07-01 13:15:40 +02:00
Claudio Cambra
1f04073e7c Fix possible overflow on lineWritten
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-05-19 12:40:59 +02:00
Claudio Cambra
683e7794a3 Fix crashing of finder sync extension caused by dispatch_source_cancel of nullptr
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-05-16 12:48:23 +02:00
Claudio Cambra
628ee10008 Implement local socket to communicate with finder extension
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-03-17 11:46:57 +00:00
Matthieu Gallien
75bcc9a24e require cmake 3.16
close #3572

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-03-09 13:07:48 +00:00
Matthieu Gallien
4371c0cbfe add headers in cmake files to get them properly detected
qt creator for example requires that headers are explcitly given in the
source lists

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-02-11 14:31:22 +00:00
Felix Weilbach
ec64246dc7 Only build app bundle if requested
For development a app bundle is not needed. The app bundle is only
needed for distribution and macdeployqt takes a lot of time.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-11-23 11:41:29 +00:00
Felix Weilbach
113ba716e6 Compile finder extensions for arm and x86
Fix: https://github.com/nextcloud/desktop/issues/3967

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-11-16 08:54:48 +00:00
Matthieu Gallien
f8a8e3f2f9 target names are not changed in branded builds only the output filenames
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-10-15 15:22:29 +02:00
Mathias Eggert
51cfe76d65 add ContextMenuOptIn to COM registration, to allow Placeholder support. Issue #3584
Signed-off-by: Mathias Eggert <mathias.eggert@nexenio.com>
2021-09-28 11:20:30 +02:00
Dmytro Korchynskyi
8351c398bc Fixed warnings in RemotePathChecker on Windows
Signed-off-by: Dmytro Korchynskyi <kdl.dima@gmail.com>
2021-09-13 13:05:41 +03:00
Nicolas Fella
18ddb9df4a Use CMAKE_INSTALL_DATADIR instead of custom DATADIR
CMake provides what we wan out of the box

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-09-01 11:43:03 +00:00
Matthieu Gallien
d17d831205 switch from Q_DECL_OVERRIDE to plain override
our requirements guarantee availability of override keyword so we just
use it

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-08-31 08:35:57 +00:00
Felix Weilbach
332a48e6a1 Update to Qt 5.15
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-08-19 14:01:46 +02:00
allexzander
871210326f Windows. Nextcloud Overlay Identifiers. Set 16 spaces before each identifier's name.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-07-14 16:15:02 +03:00
Hannah von Reth
bff386e5c1 Fix int uint warning
Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-05-06 07:35:59 +00:00
Nicolas Fella
b8879dbf07 Only include libcloudproviders dir when cloudproviders is found
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-04-13 11:29:29 +00:00
Nicolas Fella
df3ebb11f6 [shellintegration] Simplify cmake code
We don't need ECM to check for KIO

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-04-13 11:22:19 +00:00
Nicolas Fella
e207cfdbfc [dolphin] Clean up CMake code
Remove some stuff that is not needed.

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-04-12 13:27:46 +00:00
Hannah von Reth
58bc9e837c
Remove junk files 2020-12-15 10:59:26 +01:00
Christian Kamm
2b20985875
winvfs: initial work
Done by ckamm and dschmidt
2020-12-15 10:58:21 +01:00
Olivier Goffart
919debccfc
nautilus shell integration: Fix when there are several branded client installed
It appears that several extension can be loaded at the same time, but their
classname for the extension need to be different, otherwise only the last
loaded one would be active.

Issue #6524
2020-12-15 10:57:55 +01:00
Michael Schuster
61dc4b9137
Update comments
Everyone uses their private mail, so ensure people can get in touch.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-10-15 02:18:52 +02:00
Michael Schuster
fc365df5de
Windows MSI: Let CMake install Shell Extensions WiX fragment to "msi/"
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-09-21 16:40:19 +02:00
Michael Schuster
4df8db4ff6
Fix spacing
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Michael Schuster
db05f65e0d
Windows shell extensions: Add WiX (MSI) fragment
Use CMake to generate a WXI fragment to handle the DLL registration and file deployment for the shellext components.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Michael Schuster
11632da7ea
Windows shell extensions: Change NCUtil Pipe name from ownCloud to APPLICATION_EXECUTABLE
Avoid interference with foreign pipes as this is always a bad idea ;p

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Michael Schuster
0ba5df597f
Windows shell extensions: Rename all files and classes from OC* to NC*, update version info
This also ensures a clear separation in the system registry.

SelfReg is not recommended by Microsoft and will be handled by the MSI package to allow proper Repair and Uninstall.
However, we keep it for backward compatibility with the NSIS installer.

For details see:
https://stackoverflow.com/questions/364187/how-do-you-register-a-win32-com-dll-file-in-wix-3#364210
https://docs.microsoft.com/en-us/windows/win32/msi/selfreg-table#remarks

Another fix by this commit:
The "Version" registry value in the NCOverlays self reg should be a key and not a value.

Details: https://wixtoolset.org/documentation/manual/v3/xsd/wix/class.html

Example:

  [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Version]
  @="1.0.0.0"

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Michael Schuster
8ce13b7bdb
Windows shell extensions: Use custom GUIDs via CMake and prepare MSI reg
Previously side by side installation with ownCloud or other NC custom builds would break the shell integration because the same GUIDs and registry keys were used.

Now we specify our custom GUIDs in NEXTCLOUD.cmake and use CMake to generate a header file and WiX (MSI) include file with these constants.

Note: Using generators like "guidgen" or "uuidgen" ensures that GUIDs are unique, as manual changes are not guaranteed to be.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Hannah von Reth
4675869fb3
Remove dead code
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Hannah von Reth
bfd7707ff4
2.7 has less automatic includes on Windows
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Hannah von Reth
34e9e2f288
Cleanup Windows shell extensions
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Hannah von Reth
6c9a31f6ee
Remove outdated visual studio projects, we now use cmake
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Dominik Schmidt
13d4b91935
Avoid warning because /MT overrides /MD flag
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Dominik Schmidt
e4b53b12e1
Make OCUtil helper lib static and link it statically against crt
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Olivier Goffart
906556640d
Windows Shell Integration: Don't limit the size of the buffer
Otherwise we can't have operation that has many many filename

As reported in #6780

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Christian Kamm
77cc262337
Windows shellext: Update copyrights and company name
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Olivier Goffart
6274462036
windows shell extension: add OCUtil/resource.h
It's a copy from OCContextMenu/resources.h

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Christian Kamm
c6fc46aa09
Windows shellext: Add rc for OCUtil #6554
To set the dll's metadata.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-08-20 18:50:05 +02:00
Kevin Ottens
d58ec4bf70
Enable the modernize-use-using check on clang-tidy
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-08-12 18:18:57 +02:00
Kevin Ottens
c50a968a1e
Add more raw string literals missed previously
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-08-12 09:48:29 +02:00
Michael Schuster
456c1eadbe
Simplify nullptr comparisons where appropriate
Make the codebase consistent, we already have a lot of implicit pointer comparisons.

Exception: Stay explicit on return's, example:
  return _db != nullptr;

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-06-11 00:27:30 +02:00
Michael Schuster
2b680cadd3 Fix nullptr regression in RegistryUtil::ReadRegistry
Merging PR #2057 caused the Windows build to fail:

shell_integration\windows\OCUtil\RegistryUtil.cpp(43): error C2664: 'LSTATUS RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY)': cannot convert argument 3 from 'nullptr' to 'DWORD'

The previous implementation prior the PR supplied NULL as the argument 3 to RegOpenKeyEx,
so it was silently accepted and translated to zero, satisfying the DWORD's type requirement.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-06-09 18:34:43 +02: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
3867e73fd5 Stop supporting Qt older than 5.12
This both removes older Qt from the CI and also adjust all the
find_package calls in CMakeLists.txt

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-14 21:15:45 +02:00
Kevin Ottens
bfdb1e730a Fix leak in FileUtil::IsChildFile
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-12 14:32:34 +02:00
Daniel Vedder
0d71d03d7b Fixed symlink resolution for menu items.
Signed-off-by: Daniel Vedder <d.vedder@web.de>
2020-05-02 17:03:21 +02:00
Daniel Vedder
0743a0b502 Resolve symlinks when checking for registered paths.
Fixes issue #1948: https://github.com/nextcloud/desktop/issues/1948
The client already resolves symlinks when adding new paths to the
sync-list, but the Nautilus plugin did not do this yet, causing it
to not recognise synced folders if they were accessed via a symlink.

Signed-off-by: Daniel Vedder <d.vedder@web.de>
2020-05-02 14:48:51 +02:00
Dominique Fuchs
3626715394
Merge pull request #1884 from nicolasfella/menuaction
[dolphin] Use menuAction() instead of manual creation
2020-04-25 14:57:32 +02:00
Dominique Fuchs
c77bf6c634
Merge pull request #1919 from taaem/fix-dbus-activation
CloudProviders: Use absolute path in dbus file
2020-04-25 13:43:42 +02:00
Dominique Fuchs
061ca2d713
Merge branch 'master' into menuaction 2020-04-25 13:18:10 +02:00
Dominique Fuchs
79eface432
Merge pull request #1887 from nicolasfella/colon
[dolphin] Fix overlays when filename has a colon
2020-04-25 12:17:29 +02:00
Nicolas Fella
d077c7884e Fix build of Dolphin integration
config.h needs to be included in the header already since we use APPLICATION_ICON_NAME there. This got introduced in 6fc877577c

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-04-17 12:48:10 +02:00
Michael Schuster
6fc877577c
[dolphin] Use CMake env vars for App Name and Icon strings
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-04-16 03:47:24 +02:00
Tim Klocke
8b4abddb71 CloudProviders: Use absolute path in dbus file 2020-04-10 23:09:05 +02:00
Nicolas Fella
20b7e938c5 [dolphin] Fix overlays when filename has a colon
When the filename contains a ':' it gets split too much and tokens[2] does not contain the full filename any more. Read the name from the original line instead.

Fixes #686

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-03-21 15:38:27 +01:00
Nicolas Fella
a482e3c834 [dolphin] Don't manually create menuAction
Use menuAction() from QMenu

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-03-21 02:09:48 +01:00
Nicolas Fella
e1f4d17446 [dolphin] Add icon to context menu
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-03-21 02:04:42 +01:00
cclauss
b34ed01109 Use print() function in both Python 2 and Python 3
Signed-off-by: cclauss <cclauss@me.com>
2020-03-05 11:35:30 +01:00
Christian Kamm
a704cca090 Windows: Fix context menu handling only own verbs #7004
Previously it'd handle all verbs as if they were our own.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-03 18:56:09 +01:00
Corentin Noël
842f71891e Start the client in background if activated by D-Bus
The nextcloud client can be started by any other application consuming libcloudproviers.
Make sure that the client won't pop-up if we open the file manager.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
2020-02-01 16:04:02 +01:00
Joas Schilling
9ce2491d67 Use … instead of 3 dots
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-12-03 09:06:06 +01:00
Michael Schuster
7fb0a82e69
macOS build: Avoid the Get-Task-Allow Entitlement (Notarization)
Setting CODE_SIGN_INJECT_BASE_ENTITLEMENTS to NO is required for macOS
Notarization.

See: https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution/resolving_common_notarization_issues

And upstream: 97f4af32ae

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-11-17 21:33:04 +01:00
Dominique Fuchs
9a256fcbfe usage of UINT as iterator here because comparing with UINT retval from DragQueryFile
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-07 21:42:10 +02:00
Dominique Fuchs
112d2bfe11 Removed redundant (and wrong in terms of it's value) definitions for WINVER/_WIN32_WINNT
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-07 21:28:12 +02:00
Dominique Fuchs
69a11a7ec1 Removed redundant (and wrong in terms of it's value) definitions for WINVER/_WIN32_WINNT
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-07 21:26:40 +02:00
Dominique Fuchs
3960ffea3f Removed redundant (and wrong in terms of it's value) definitions for WINVER/_WIN32_WINNT
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-07 20:58:20 +02:00
Corentin Noël
19079c65c1 libcloudproviders: Add missing check for Qt5DBus 2019-04-04 17:50:30 +02:00
Chih-Hsuan Yen
1361c3053a
Fix KDEInstallDirs deprecation warnings
Get rid of a bunch of such warnings from configuring the Dolphin plugin:

CMake Deprecation Warning at /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:345 (message):
  BIN_INSTALL_DIR is deprecated, use KDE_INSTALL_BINDIR instead.
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:433 (_define_relative)
  shell_integration/dolphin/CMakeLists.txt:23 (include)

Modified from https://github.com/owncloud/client/pull/6922

Original author: Dominik Schmidt <dev@dominik-schmidt.de>
2018-12-28 21:55:45 +08:00
Jan-Christoph Borchardt
7d8bba6786
Fix appname for Nautilus integration script
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-11-28 11:54:08 +01:00
Christian Kamm
f4dfdf5889
nautilus: Fix GET_MENU_ITEMS with utf8 filenames #6643 2018-09-10 21:06:57 +02:00
István Váradi
56ea525499 Use encode()/decode() with Python 3 only 2018-09-10 15:05:46 +02:00
Olivier Goffart
0d0bff4bf5
Windows Shell extention: Fix clicking on the menu entries
Issue #6553
2018-06-21 19:21:07 +02:00
Markus Goetz
d3cbe63801
macOS: Implement new dynamic Finder menu items #6328 2018-06-05 20:40:40 +02:00
Julius Härtl
4be565c56f
Merge pull request #369 from nextcloud/upstream/issue/6406
Nautilus shell integration: Print python version on startup #6406
2018-06-01 15:40:23 +02:00
Olivier Goffart
5f969580ac
Nautilus: Fix Python3 and remove many debug
Use b'\n' in the call to rfind, as the _remainder is bytes, not a string.

Remove most of the debug message which happens during normal operation.
They are mostly spamming the nautilus console, and can also cause bug
as they may throw exception in case of wrong encoding.

Relates to issue: #6406
2018-06-01 13:35:19 +02:00
Christian Kamm
70f0792d4a
Nautilus shell integration: Print python version on startup #6406 2018-06-01 13:02:13 +02:00
Roeland Jago Douma
1b756ac80f
Merge pull request #318 from nextcloud/upstream/pr/6402
Dolphin plugin: fall back if $XDG_RUNTIME_DIR is empty
2018-05-26 21:33:45 +02:00
Christian Kamm
629b14266b
Nautilus integration: Not a ColumnProvider
The nautilus plugin doesn't actually define get_columns(), so pretending
to be a ColumnProvider lead to a critical warning on startup.
2018-05-17 20:52:40 +02:00
whitequark
6dd5876b8a
Dolphin plugin: fall back if $XDG_RUNTIME_DIR is empty
As per XDG Base Directories specification:
> If $XDG_RUNTIME_DIR is not set applications should fall back
> to a replacement directory [...]

In practice, the ownCloud client has the fallback, but the plugin
helper does not, and if $XDG_RUNTIME_DIR is not set, the plugin
mysteriously does not work.
2018-05-16 20:05:46 +02:00
István Váradi
22153cf912 KDE_INSTALL_USE_QT_SYS_PATHS turned on so that the plugin is installed to the correct directory on Xenial too 2018-02-08 17:18:18 +01:00
Julius Härtl
bcb9553925
Use Qt5DBus_FOUND instead of the old WITH_DBUS
WITH_DBUS was removed in 257d8142b1

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-01-25 14:18:03 +01:00
Roeland Jago Douma
48bce4c6b0
Merge remote-tracking branch 'oc/master' into oc_up 2018-01-25 11:17:04 +01:00
Olivier Goffart
72b9beb79c Merge remote-tracking branch 'origin/2.4'
Conflicts:
	shell_integration/nautilus/syncstate.py
2018-01-23 14:08:15 +01:00
Olivier Goffart
883080b557 Windows shell extension: port to the new protocol 2018-01-23 14:02:56 +01:00
Christian Kamm
ebfac84c69 Shell integration: Make nautilus work with multiselections
Previously no menu would ever be shown if more than one file is
selected. Now the GET_MENU_ITEMS command is sent with all selected files
as an argument - similar to what is done for the dolphin integration.
2018-01-23 14:02:56 +01:00
Christian Kamm
3c2622d2de Shell integration: Update nautilus for GET_MENU_ITEMS 2018-01-23 14:02:56 +01:00
Olivier Goffart
982c591ec9 SocketApi: add a way to disable menu entries 2018-01-23 14:02:56 +01:00
Olivier Goffart
1782ae3c08 SocketAPI: Make it easier to add or remove item in the action menu
By making it dynamic.
So far only the dolphin shell extension have been ported
2018-01-23 14:02:56 +01:00
Christian Kamm
72363155d8 Nautilus integration: Work with python2 and python3 2018-01-23 12:30:58 +01:00
Olivier Goffart
f254ee3211 Nautilus shell integration: Port to Python 3 2018-01-23 12:30:58 +01:00
Olivier Goffart
926609bd74 Partially revert "shell_integration/dolphin: Silence some warnings"
This partially reverts commit 1c721e9422.

This caused the overlay plugin to be installed at the wrong place
because the kcoreaddons_add_plugin macto still use deprecated
${PLUGIN_INSTALL_DIR}.

I guess we'll have to live with the warnings.
2018-01-17 17:34:27 +01:00
Dominik Schmidt
fc62e9e9d9 Fix .def and .rc files not being compiled into windows shell extensions 2018-01-13 21:01:09 +01:00
Dominik Schmidt
15967b1219 Install all dlls to BINDIR so craft does not ignore them 2018-01-13 13:58:17 +01:00
Dominik Schmidt
81c20352e1 Use new ECMAddAppIcon macro for application icons.
cmake/modules/ECMAddAppIcon.cmake is heavily patched to support sidebar icons, OUTFILE_BASE parameter and to not include 64 and 64@2x icons on macOS which are not supported. All changes are made in a way that we can upstream this.
2018-01-13 13:58:17 +01:00
Dominik Schmidt
4e52ee9ebd Build Explorer extension if building with MSVC 2018-01-13 13:58:17 +01:00
Olivier Goffart
1c721e9422 shell_integration/dolphin: Silence some warnings 2018-01-13 13:58:17 +01:00
Julius Härtl
1cedb1919f
Integrate libcloudproviders support
This commit integrates support for libcloudproviders
desktop integration API. If build with the library it
will check on startup if the DBus interface is available
and then use it instead of the legacy status icon.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-12-14 11:19:25 +01:00
Martin
cd2057fc04 Update Overlay Icon naming 2017-12-12 10:18:00 +01:00
Christian Kamm
ca4ad58a06 Packaging: Add options for fine-grained builds #5957
Extracted and adjusted from packaging.diff by @jnweiger and @dschmidt
2017-09-27 09:13:44 +02:00
Jürgen Weigert
839361594d fix branded nemo and caja shell integration (#5966)
* Update createcajaplugin.sh

* first apply branding, then create copies. Better.
Fixes https://github.com/owncloud/ownbrander/issues/753

* fix https://github.com/owncloud/ownbrander/issues/752 too.
2017-08-31 13:16:34 +02:00
Jocelyn Turcotte
af4f1083b7 shell/windows Build 46: Private links context menu 2017-07-07 18:10:48 +02:00
Christian Kamm
ca2ffd4fb3 SocketAPI: Change strings to a consistent _MENU_TITLE postfix 2017-07-07 10:49:51 +02:00
Jocelyn Turcotte
3b20684dc7 shell/macos: Remove legacy (< 10.10) overlay icons
Having to update the plugins to add a submenu in the context menu,
it's more cost-effective to remove support for legacy macOS versions
than implementing and testing this setup.
2017-07-07 10:49:51 +02:00
Jocelyn Turcotte
b6db9789ee shell/macos: Use a submenu to include private link actions 2017-07-07 10:49:51 +02:00
Jocelyn Turcotte
7a4daf799a shell/windows: Use a submenu to include private link actions
Refactor things a bit to be able to reuse some code and
clean things up.
2017-07-07 10:49:51 +02:00
Christian Kamm
0238a29c7c Introduce private link sharing #5023
* SocketAPI has COPL_LOCAL_LINK / EMAIL_LOCAL_LINK commands
* The nautilus and dolphing shell integrations show a submenu from which
  one can share as well as access the private link.
* The SocketAPI provides a new GET_STRINGS command to access localized
  strings.
* The private link can also be accessed from the user/group sharing
  dialog.
* The numeric file id is extracted from the full id to create the
  private link url.
2017-07-07 10:49:51 +02:00
Jocelyn Turcotte
9daef50ce6 shell/Windows: Update binaries to build 45 2017-06-14 14:17:50 +02:00
Frederik Juul Christiani
fae178f70b shell_integration/windows: Create _newQueries as a non-signaled auto-reset event.
Since ResetEvent() is never called, the call to WaitForMultipleObjects()
can always return immediately once the event has been signaled.
2017-06-14 12:14:22 +02:00
Frederik Juul Christiani
744208f701 Initialize stop variable.
Avoid stopping the worker thread immediately if the stop variable happens to be true.
2017-06-14 12:14:21 +02:00
Christian Kamm
cdf16dd905 Remove unreachable code #5582 2017-03-07 13:23:47 +01:00
Jocelyn Turcotte
166ef85a51 shell/Windows: Update binaries to build 44 2017-01-18 13:34:02 +01:00
Jocelyn Turcotte
47fbfbc006 shell/Windows: Avoid memory allocations and copies when querying icons
IsMemberOf is called for every file (in the ownCloud directory or not) and
with every instance of OCOverlay (we have 5) when displaying a list of
files in Explorer.

Refactor the code to avoid copying the list of watched directories, as
well as creating a wstring from a PWWSTR for files outside watched
directories.

Also change some calls of begin_with to use isDescendantOf since it
properly handles parent paths not ending with a backslash, which could
lead to SocketAPI queries for sibling folders with a name that starts with
a watched folder name.
2017-01-18 12:15:52 +01:00
Jocelyn Turcotte
e131c142ff shell/Windows: Fix the view not being updated on StateError
Since StateError == 0, if this was the status used when the path
isn't in the map already, the view would not be updated since the
new state would be the same as the default-constructed state in the
map. Fix by explicitly inserting in that case, this also avoid aving
to do two lookups in the map when a path already has an entry.
2017-01-18 12:15:52 +01:00
Jocelyn Turcotte
1b99ff2e91 shell/Windows: Remove the UPDATE_VIEW message handling
The client now tries to only push STATUS messages to connections
unless they previously requested it with a RETRIEVE_FILE_STATUS,
but this means that we now have to make sure that a new connection
will rerequest every icon that the user will see on files from that
point on.

To that end, we now send a SHChangeNotify for every file in the cache
when we lose the connection (or on UNREGISTER_PATH) to make sure that
what's on the screen matches what's in the cache. We also remove the
_oldCache logic that made this more difficult to enforce.

The client has been able to reliably push status updates on macOS
for a few versions now, and we don't need it on Windows either. The
_oldCache mechanism was to avoid sending to many update requests
when receiving an UPDATE_VIEW.

Also fixes #4766
2017-01-18 12:15:52 +01:00
Jocelyn Turcotte
3e85d47a57 shell/Windows: Convert tabs to space
It was a mix of both and the rest of the code uses spaces.
2017-01-18 12:15:52 +01:00
Jocelyn Turcotte
e709d75d56 shell/Windows: Remove unused files
The real OCContextMenu.cpp is in the OCContextMenu folder.
2017-01-18 12:15:52 +01:00
Jocelyn Turcotte
cb5cfb8cf6 shell/macOS: Make sure the root folder's cache is cleared on disconnect
The SocketAPI now only sends status pushes for paths requested by the
shell. We have to make sure that Finder doesn't just show the entry
from its cache after a reconnect.
2017-01-18 12:15:52 +01:00
Jocelyn Turcotte
ebd2a15711 shell/macOS: Remove backslashes from the extension display name
Tell cmake not to escape shell strings adding backslashes before
spaces by passing the VERBATIM optiton. Also add the quotes to
whole command line arguments to prevent quotes from appearing on the
XCode side, because of the VERBATIM option.

This only affects themed clients since the default theme doesn't
have space in its APPLICATION_NAME.
2017-01-18 12:15:52 +01:00
octotree
a1b4984d14 Symlink Support for Dolphin Plugins (#5428)
Add Symlink Support to Dolphin Overlay Plugin
2017-01-05 13:24:22 +01:00
Felix Tiede
d090a3330a Generate .desktop file with OEM name directly.
Instead of renaming the .desktop file at install time it is now
generated with its OEM name during configure time.
2016-11-29 18:36:26 +01:00
Felix Tiede
d04e7841e2 Fix file installation source path.
By default the file is copied from the source and not the build
directory which will fail with the configure-time built file.
2016-11-29 18:36:26 +01:00
Felix Tiede
d7a4726544 Extend OEM configurability to dolphin desktop file.
OEM configurability creates binaries with OEM names which the .desktop
file doesn't take into account and thus dolphin integration does not
work if OEM changes the binary's name(s).
These changes are now integrated into the .desktop file at compile time.
2016-11-29 18:36:26 +01:00
Olivier Goffart
899c675f0a Merge pull request #5267 from payload/fix_4608
nautilus integration: "share" extension for syncing folders
2016-11-14 12:35:18 +01:00
Gilbert Röhrbein
9c8572e335 nautilus integration: refactored _connectToSocketServer, removed superfluous check 2016-10-25 21:45:47 +02:00
Gilbert Röhrbein
e675a34fbb nautilus integration: use os.path.join, os.sep and tempfile.gettempdir instead of string concats 2016-10-25 20:15:17 +02:00
Marcus Hoffmann
fe984b61d7 Add script to create a caja plugin. (#5262)
Caja is a fork of nautilus maintained by the Mate project.
This adds a script to create a caja plugin from the nautilus plugin.
It replaces all occurences of nautilus with caja (case sensitive).
This is done in the same way the nemo plugin is generated from the nautilus one.
2016-10-24 15:36:23 +02:00
Gilbert Röhrbein
166a0f60ca nautilus integration: "share" extension for syncing folders
Issue #4608

* folder state is either OK or SYNC usually
* this extension does not know about if a folder is shareable
* a OK folder is shareable
* a SYNC folder could be uploaded or not uploaded
* this commit looks into file entries below this folder
* if one exists with state OK or SYNC
   this folder must have been uploaded
* better would be if the server (gui) tells us
   if the folder is uploaded
2016-10-22 23:26:44 +02:00
Christian Kamm
5f2b1999f6 Package: Fix nautilus plugin name collision when branded
As suggested by @olifre in #5183
2016-09-28 13:10:48 +02:00
Klaas Freitag
2d110540ee Dolphin Plugin: Use the Application name for the socket path (#5172)
do not hardcode.

This should fix #5165
2016-09-12 14:12:33 +02:00
Daniel Molkentin
b575ded464 More GmbH -> Inc Copyright header fixes 2016-07-26 16:53:11 +02:00
Jocelyn Turcotte
03a90bf03f shell/windows: Build 43, add missing 32 bit binaries
Also include a minor change from #5025
2016-07-26 14:54:27 +02:00
Jocelyn Turcotte
ff7b2381e9 shell/windows: Add missing Win32 configuration changes
The changes in build location were only done on the x64 configuration.
2016-07-26 14:53:14 +02:00
arthurchiao
7a2a439426 fix #5015 overlay icon not show: compare folder paths with no case-sensitivity 2016-07-01 13:03:42 +08:00
Jocelyn Turcotte
ba96fb89a5 shell_integration/windows: Set VS output directory in the binary submodule
This allows creating a new build simply by hitting F7 in visual studio
and then committing the changed files in the binary submodules without
having to know which files to move where.
2016-06-27 15:23:37 +02:00
Jocelyn Turcotte
70ae11fcad shell_integration/windows: Add a manually-increased build number
Since this isn't yet built together with the rest, we can't reliably
use the client version without having to rebuilt the extension manually
on each release. But it would still be nice to be able to tell if a user
has the right version or not loaded, so instead just tag each update of
the DLLs with a separate release version.

This means that every time we update those binaries we'll have to manually
increment the number in the header, but worst case we'll forget from time
to time but we'll be able to know if we didn't, and know if we can rely on
the number or not.
2016-06-27 15:13:47 +02:00
ckamm
86fd982b00 SocketAPI: Use different pipe name #4977 (#4997)
Named pipe names that contain backslashes sometimes lead to problems.
2016-06-27 15:13:08 +02:00
Daniel Molkentin
9d6701ecbe Windows Shell Integration: Fix another spot where the pipe path was constructed manually 2016-05-10 13:49:14 +02:00
Daniel Molkentin
0e9170cb36 Windows Shell Integration: Unify path lookups 2016-05-10 10:18:53 +02:00
Markus Goetz
8820bc1c17 Windows: Fix Share menu #4781 2016-05-09 14:37:46 +02:00
Olivier Goffart
3d9d106bb1 Dolphin plugin: fix build with branding
Make sure that the name of the _export.h file is the same no matter the plugin
2016-05-04 14:19:18 +02:00
Klaas Freitag
641125eac1 Fix nautilus and nemo plugin branding strings. (#4780)
* Fix nautilus and nemo plugin branding strings.

Fix for owncloud/enterprise#1314

* nautilus plugin: Add a comment why the line needs to stay unchanged.
2016-05-03 11:36:56 +02:00
Daniel Molkentin
e833d01288 Re-Apply: Disambiguate socket API pathes on Windows with user name
Addresses #3411
2016-05-02 16:09:48 +02:00
Daniel Molkentin
b43a9421d2 Revert "Disambiguate socket API pathes on Windows with user name" 2016-04-28 13:52:15 +02:00
Daniel Molkentin
ce6a365328 Disambiguate socket API pathes on Windows with user name
Addresses #3411
2016-04-26 14:49:45 +02:00
Christian Kamm
f657bd0cd9 Overlay icons: Fix invalidation with nautilus #3249
This avoids an extra socketapi call after invalidate_extension_info
is called from a STATUS message.
2016-04-26 11:49:56 +02:00
Christian Kamm
b4cf17d99d Overlay icons: Fix duplicate icons in nautilus #3249 2016-04-26 11:02:59 +02:00
Klaas Freitag
e5a5b95b9a Merge pull request #4689 from owncloud/overlays_handle_root
SyncFileStatusTracker: Add a method to handle the root folder of the sync.

Also, handle new files put in the sync in the statustracker logic.
2016-04-21 15:01:11 +02:00
Klaas Freitag
f72c7f43bf Nautilus plugin: Be more robust against new states from socketapi
Do not bail out if an unknown state comes from SocketApi
2016-04-20 17:13:06 +02:00
Klaas Freitag
add29befee Nautilus plugin: Remove the bogus logging 2016-04-20 17:12:21 +02:00
Markus Goetz
6a9655aab6 OS X: Fix overlay installation on El Capitan #4650
The sleep is somehow needed, probably for pkg to rebuild its DB?
The case fix fixes a warning but did not fix the issue itself.
2016-04-15 16:58:58 +02:00
Markus Goetz
c4577cb2a1 Merge pull request #4683 from owncloud/fix4657
OS X: Allow ampersand in APPLICATION_NAME #4657
2016-04-15 14:28:38 +02:00
Markus Goetz
d1649ce4df OS X: Allow ampersand in APPLICATION_NAME #4657 2016-04-15 11:30:49 +02:00
Klaas Freitag
4ad8e04bc3 Merge pull request #4684 from owncloud/less_socket_api_updates
Less socket api updates
2016-04-15 10:15:07 +02:00
Klaas Freitag
8eb53fa9ae nautilus integration: Handle NOP as empty. 2016-04-14 15:24:46 +02:00
Olivier Goffart
f7aafb081f Dolphin Plugin: rename the files to the branded name #4669 (#4672) 2016-04-13 15:05:04 +02:00
Daniel Molkentin
a0827c5ef2 Remove deleted icons from resource file 2016-04-06 17:59:34 +02:00
Jocelyn Turcotte
17c645ce43 Hide environment variables when running the FinderSync icns script
This otherwise shows up in the console for each incremental build.
2016-03-30 18:00:22 +02:00
Markus Goetz
dd8b0c3e4a Merge pull request #4623 from owncloud/share_menu_icon_osx
OS X: Use app icon for "Share with ..." Finder menu #4472
2016-03-30 15:53:54 +02:00
Markus Goetz
6c283c7a48 OS X: Use app icon for "Share with ..." Finder menu #4472
This works for both plain ownCloud and themed clients.
2016-03-30 15:26:43 +02:00
Jocelyn Turcotte
5989a07339 [Win-shellex] Make sure to unregister obsolete CLSIDs #4595
If the user tries to install an older version of a branded client
with shell extensions, and also install the 2.1 ownCloud client
side-by-side, both shell extensions DLLs will be registered and might
lead to both DLLs versions being loaded by exlorer, causing a system
crash.

Since we don't support both branded and non-branded shell extensions
to work at the same time, at least make sure to unregister any legacy
CLSID that could cause explorer to load the previous version DLL.
2016-03-24 16:35:38 +01:00
Daniel Molkentin
41d8d77535 Merge remote-tracking branch 'origin/2.1' 2016-02-10 12:57:03 +01:00
Klaas Freitag
ae3b9f112c Linux shell integration: Do not call sed from absolute path.
sed is in /bin/ rather than in /usr/bin on some systems, which
makes the scripts fail in the build environment. sed should be
in the PATH tough.
2016-02-09 13:01:03 +01:00
Klaas Freitag
96f50d0c47 Nautilus integration: Remove Shebang from plugin source.
This fixes #4436
2016-02-08 17:00:39 +01:00
Klaas Freitag
5ae81aa96c Nemo Shell Integration: Add missing conversion script.
This script creates the Nemo plugin out of the Nautilus plugin.
Both are source compatible, but need to include the right modules
depending on the name of the file manager.

The script is called by cmake.
2016-01-28 11:44:13 +01:00
Jocelyn Turcotte
439eddb523 OS X shell: Don't allow sharing sync roots #3505 2016-01-14 16:25:19 +01:00
Jocelyn Turcotte
7beb6f2234 Windows shell: Remove unneeded Winsock code #4356 2016-01-14 15:02:56 +01:00
Jocelyn Turcotte
bb5c370575 Windows: Update the overlay icon graphics #3105
The bug seems to be in Windows when it upscales an smaller icon for
HiDPI displays. It works fine if we provide a 256x256 size in the
ico files.

Use the new square icons also used on OS X that removes the share badge
and instead has a share icon only for the OK state. This means that we
can also remove 3 icons and release 3 slots in the registry for
overlay icons (only the first few are actually loaded by explorer).

This also adds a script that uses ImageMagick to convert our SVG icons
to Windows ico files. Since ImageMagick seems to have issue doing
proper antialiasing with pixels on the edge of icons, this also
slightly scale the icons to leave 2px on each edge, out of its
logical 128px width.
2016-01-12 11:46:05 +01:00
Grigorii Horos
69d9840b89 Dolphin integration: use system icons for labels in KDE
Cherry-picked from https://github.com/owncloud/client/pull/4252
2016-01-04 12:57:24 +01:00
Klaas Freitag
afa8d671be shell integration: Create a plugin for nemo out of the nautilus one. 2015-12-22 11:05:00 +01:00
Olivier Goffart
1f8af40361 Dolphin plugin: Fix compiler warnings 2015-12-02 13:14:15 +01:00
Daniel Molkentin
af0d0bd2ac CMake: Fix typo 2015-11-30 01:05:18 +01:00
Daniel Molkentin
48097467f9 CMake: fix CMake 2.6 compatibility
... by replacing CONFIG by NO_MODULE option in find package

From the manual: "The CONFIG option may be used to skip Module mode
explicitly and switch to Config mode. It is synonymous to using
NO_MODULE."
2015-11-30 01:05:12 +01:00
Klaas Freitag
29e2877d35 NautilusPlugin: Fix behaviour with files with a colon in the name. 2015-11-25 15:11:12 +01:00
Klaas Freitag
a708f8d8ad NautilusPlugin: Fix detection of the OK status
Consider OK+SHW also as ok, and enable the ownCloud actions.
2015-11-25 15:11:12 +01:00
Klaas Freitag
8777982629 NautilusPlugin: Fix detection of top level sync folder. 2015-11-25 15:11:12 +01:00
Olivier Goffart
d89cb3e575 Dolphin plugin: build by default 2015-11-21 12:17:26 +01:00
Olivier Goffart
9e1f215f22 Dolphin plugin: build with QStringBuilder 2015-11-21 12:17:26 +01:00
Lilian Besson
aa1a2d1247 Reviewing, improved style, and a initializing message
- Add an "Initializing owncloud-client-nautilus extension" message
2015-10-31 13:07:18 +01:00
Olivier Goffart
30a0423f81 Dolphin integration: fix error icons 2015-10-27 15:19:10 +01:00
Olivier Goffart
6ea05ff6e3 Dolphin shell integration: use the owncloud icons 2015-10-19 15:53:40 +02:00
Olivier Goffart
c520ee4eab Dolphin Shell Extension: renamove the kf5 in the name 2015-10-19 15:43:42 +02:00
Olivier Goffart
5408ec79f7 Dolphin shell extention: Remove the KDE4 based plugin 2015-10-19 15:42:41 +02:00
Olivier Goffart
f8e68ae823 Merge branch 'dolphin-plugin' 2015-10-19 15:41:47 +02:00
Olivier Goffart
184412d88e Dolphin shell integration: Renames the plugins
And put the helper in a shared library so it is shared accross both plugins
2015-10-19 15:40:11 +02:00
Olivier Goffart
82d1d04774 Dolphin shell integration: share code between two plugins 2015-10-19 15:40:11 +02:00
Olivier Goffart
731d4b3d4d Dolphin shell extention: adapt to the change in KDE Frameworks 2015-10-19 15:39:51 +02:00
Olivier Goffart
cac219aca8 Dolphin shell integration: Add a Share with owncloud action 2015-09-10 13:41:45 +02:00
Olivier Goffart
a159dfc7ec Dolphin shell integration: Make it work with dolphin master 2015-09-10 13:41:45 +02:00
Phil Davis
bae552f386 Minor shell integration typos
all in comments or other places that have no effect on the user.
2015-09-10 17:14:08 +05:45
Jocelyn Turcotte
5e657aadee Fix Finder crashing when showing the context menu on OS X <= 10.9
OwnCloudFinderRequestManager::_shareMenuTitle was not retained anymore
after the FinderSync refactoring which would cause it to contain any
kind of garbage value for some reason.

Fix the issue by also enabling ARC for RequestManager.m.
We can't enable ARC for the whole project since Finder.h is included
by many .m files and it's not trivial to port to ARC.
2015-09-09 17:45:24 +02:00
Individual IT Services
5414c65442 don't show share menu item for top level folders
Top level folders cannot be shared. If you try you receive an 403 error.
So we should not show the "Share with Owncloud" menu item for them
2015-08-28 16:24:52 +05:45
Individual IT Services
9a0fba5f5e checking if file or folder is to be shared to fix issue #3556 2015-08-18 11:46:29 +02:00
Individual IT Services
c6ff73f3e5 checking if file or folder is to be shared to fix issue #3556 2015-08-12 21:48:04 +05:45
Jocelyn Turcotte
dcf7e8a631 shell_i: Don't request statuses on UPDATE_VIEW
Now that the client is pushing all changes of state, we don't need
to track the requested URLs anymore and risk that the way that we
reseted that list could leave a few entries in Finder's cache outdated.

We can remove the same code from other platforms in a later release,
a bit earlier than a week before beta1.
2015-07-31 21:59:58 +02:00
Klaas Freitag
cbbc5af834 Nautilus Shell Integration: Re-Assemble the whole filename after split.
The socketapi uses the colon as delimiter, which splits files that contain
a colon. This patch re-assembles the filename again in case that happened.
2015-07-29 11:47:00 +02:00
Klaas Freitag
b012fae144 Nautilus Shell Integration: Only show menu entry for item state OK
If the file is ignored or errornous, do not add the sharing menu item to
the context menu.

This is (a partly) solution to bug ä2775
2015-07-29 11:29:10 +02:00
Markus Goetz
360a0eeee1 OS X overlays deploy.sh: Update output 2015-06-29 15:16:43 +02:00
Jocelyn Turcotte
9797782682 shell_i: Build the extension with the '-' identity by default
This allows developers to build and run the extension by default.
Official packages bundles will be re-signed after the build, we

The SocketApi prefix can be set at configure time through cmake and
should match the key that will be used to sign the whole .app bundle
(including the embedded FindexSync .appex bundle).
2015-06-22 13:55:19 +02:00
Jocelyn Turcotte
121577340a shell_i: Cleanup and build fix
Don't use absolute paths for resources
2015-06-22 13:55:19 +02:00
Jocelyn Turcotte
0320627263 shell_i: Use a more specific name for ContentManager
Since we use that class to lookup the NSBundle using bundleForClass
use a more specific name to avoid any clash with any othe liferay
extension. I couldn't figure out from the documentation if that is
only resolved using the class name, but found some warnings on
stackoverflow and better be safe than sorry for what it costs.
2015-06-19 16:50:11 +02:00
Jocelyn Turcotte
85938ab1f1 shell_i: Remove the ICON_PATH socket API message #2340
It was only used on OS X and couldn't be used by the FinderSync
extension since that one runs in a sandbox. So use the same system
to load images in the legacy extension by shipping them in the
extension bundle instead of the owncloud.app bundle.

This is also given that the legacy extension needs padded icons
while the FinderSync one needs unpadded icons.
2015-06-17 17:15:50 +02:00
Jocelyn Turcotte
e111e11dab shell_i: Add english labels 2015-06-17 14:32:34 +02:00
Jocelyn Turcotte
db38bf4a0c shell_i: Avoid always rebuilding SyncStateFinder.osax #2482
The archive buildaction causes this. Use the default build while
forcing the Release configuration instead.

In both cases the result will end up in SYMROOT.
2015-06-17 14:32:34 +02:00
Jocelyn Turcotte
52f64358c7 shell_i: Use proper non-padded icons #2340 2015-06-16 15:30:42 +02:00
Jocelyn Turcotte
02f6dbba46 shell_i: Add a FinderSync-based implementation #2340
This uses the new official API to show overlay icons and add our
custom context menu entry instead of hooking directly into the
Finder process and intercept drawind routines.

A dummy desktopclient target is also in the project to allow debugging
directly in Xcode while the official client can be started from the
command line. Otherwise Xcode won't allow attaching to the debugee.

Dummy icon files have been added while we get proper icon produced.
We can't use the old icons since what we use for the legacy shell
integration is already padded according to where the badge should
appear on the full icon.
2015-06-15 15:28:21 +02:00
Jocelyn Turcotte
bfcfdeec64 shell_i: Use an NSConnection instead of a local socket #2340
This prepares the switch to the official FinderSync API on Yosemite
which requires the extension to run in a sandbox. This complicates
the usage of a local socket to communicate with a non-sandboxed GUI
client. An NSConnection is easier to use in this case, which we can
use as long as the server name (i.e. Mach port registered name) is
prefixed with the code signing Team Identifier.

A placeholder server implementation is also added to the client's
SocketApi which basically reproduces the interface of a QLocalSocket.
Most of the references to individual sockets we're only using
QIODevice methods so the type was simply reduced. A typedef to
replace the QLocalServer was the only other part needed.
2015-06-15 15:28:17 +02:00
Jocelyn Turcotte
9ef8658122 shell_integration on OSX: Avoid too many RETRIEVE_FILE_STATUS following UPDATE_VIEW #3122
Do not request the status of all entries in the cache. Instead force Finder
to request the ones that it deems necessary by keeping the old statuses
in a separate dictionary which are only used while the new status arrives.
2015-05-06 16:56:50 +02:00
Jocelyn Turcotte
0a67719f2f shell_integration on OSX: Do not fill the cache with unsolicited statuses #3122 2015-05-06 16:56:50 +02:00
Jocelyn Turcotte
04d820f9cf shell_integration on OSX: Remove dead code
removeIcons isn't called and clearFileNameCacheForPath was always
called with a "nil" path.

Remove the return value of askForIcon which was always 0, and use
that value explicitly at the only call site.

Remove the "-1" code path in iconByPath since setIcons prevents
-1 from getting into _fileNamesCache in all cases.
2015-05-06 16:56:50 +02:00
Jocelyn Turcotte
931dd59844 Don't hardcode the source directory in deploy.sh 2015-05-06 16:56:50 +02:00
Jocelyn Turcotte
0d5d2c578d shell_integration on Windows: Avoid too many RETRIEVE_FILE_STATUS following UPDATE_VIEW #3122
Do not request the status of all entries in the cache. Instead force
explorer to request the ones that it deems necessary by keeping the old
statuses in a separate dictionary which are only used while the new status
arrives.
2015-05-06 16:48:34 +02:00
Jocelyn Turcotte
77679790db shell_integration on Windows: Don't fill the cache with unsolicited statuses #3122
Only keep the status updates if explorer is going to display it.
2015-05-06 16:48:33 +02:00
Jocelyn Turcotte
ad5620efb5 Disable asserts in official builds
Make sure that we define NDEBUG in all configurations.
Also remove inconsistent defines:
WIN32: We don't use
_DEBUG;_WINDOWS;_USRDLL: Should be defined by the compiler if necessary
OCCONTEXTMENU_EXPORTS: We currently don't use dllimport anyway

This also update the binary submodule with an updated build.
2015-03-23 13:53:09 +01:00
Hefee
b1100cd9e5 fix python3 syntax errors 2015-03-22 17:49:09 +01:00
Jocelyn Turcotte
60da0a15e6 shell_integration: Remove the incorrect usage of the MIIM_BITMAP flag
This flag should only be specified if the hbmpItem member of the
MENUITEMINFO has been set.
2015-03-12 15:22:29 +01:00
Jocelyn Turcotte
d88751bb8b shell_integrations: Fix the precompiled headers usage in OCUtil
Enable it in all configurations and add the missing include.
2015-03-11 22:17:46 +01:00
Christian Kamm
842e5ba5e0 Sharing: Fix for folders containing &. #2892 2015-02-26 09:58:09 +01:00
Jocelyn Turcotte
a98ab6f51d shell_integration: Remove OwnCloud from public strings on OSX
Also removed it from commented out logs just in case.
2015-02-25 12:13:28 +01:00
Jocelyn Turcotte
c6442f67c1 shell_integration: Fix a crash on explorer startup
There is a race condition that can initialize the RemotePathChecker
instance concurrently on the same address and cause a crash when locking
the mutex. The reason is that local static initialization is not
thread-safe with MSVC2013.

Fix the issue by using call_once to initialize a static unique_ptr
instead.

This could be related to some reports of issue #2836.
2015-02-18 17:33:46 +01:00
Jocelyn Turcotte
ccf4298c81 shell_integration: Cleanup our uses of NSLog
Remove info messages and make sure that error messages
have an OwnCloud prefix since they will be reported by
Finder's process.
2015-02-17 18:23:30 +01:00
Jocelyn Turcotte
0b461e2275 shell_integration: Fix the overlay icons in the column view
Based on 79a713ea643e13e95f52bfe2adbbaf4a5ca92f8a in upstream liferay-nativity.
2015-02-17 18:20:16 +01:00
Jocelyn Turcotte
9579102541 shell_integration: Generate a .pdb in Release for OCContextMenu_x64.dll 2015-02-16 16:47:00 +01:00
Jocelyn Turcotte
4b67429234 shell_integration: Wait longer for the Share menu title
50ms is sometimes not enough when the client is busy synchronizing.
Wait up to 500ms for the client to answer before we give up and show an
empty menu title.

Ideally we should request the title before the watched directory list, but
the list is currently sent implicitly on connect.
2015-02-13 17:18:39 +01:00
Jocelyn Turcotte
23e248b5d1 shell_integration: Fetch the share menu title from the client on Windows
The context menu will now show "Share with ownCloud" instead of "Share" as
it does on other platforms.

This also updates the submodule to point to matching binaries.
2015-02-13 16:08:39 +01:00
Jocelyn Turcotte
bed34b1ddd Fix an infinite loop when unregistering OCContextMenu without admin rights
That mistake was introduced when changing the bool return value to an
HRESULT in the imported RegDelnode code.
2015-02-12 13:35:44 +01:00
Jocelyn Turcotte
dc85ee3f0a shell_integration: Fix hangs on Windows Vista
It seems like verclsid.exe hangs on our class IDs when invoked
through explorer.exe for 5-10 seconds. It doesn't hang if I
invoke the same command line from cmd.exe, so there could be some
process parameters that don't play well with our extra thread
or to the pipe connection that we do in it.

Delay creating the RemotePathChecker thread until the first
IsMemberOf call. verclsid.exe only seems to instantiate a object
of each registered class, without actually using them, so we
can use this as a workaround.

This should be fixing issue #2680.
2015-02-11 16:45:11 +01:00
Christian Kamm
9aeda891c3 Nautilus integration: clean up, fix bugs #2820
* Fix various spaces vs tabs issues
* Rewrite
  - to use instance variables consistently
  - to not make shared state explicit instead of relying on
    class variables of a common base
* Fix reconnecting to an oC client.
2015-02-11 14:53:17 +01:00
Christian Kamm
5b6a6319c2 Nautilus integration: Fix invalid member access #2819 2015-02-11 11:31:07 +01:00
Daniel Molkentin
13aaa46a55 OCContextMenu: Also export modules for x86 2015-02-09 11:56:52 +01:00
Jocelyn Turcotte
af0001a149 [shell_integration] Remove the usage of Win32 APIs not available on XP 2015-02-05 15:15:05 +01:00
Jocelyn Turcotte
2debd5a198 [shell_integration] Setup precompiled headers properly with MSVC
This also fixes a minor compile error when using VS Express.
2015-02-05 15:14:42 +01:00
Markus Goetz
3a1501dea4 OS X: Connect to newest possible overlay icon socket
This is for branded ownCloud clients which use a different file name.
2015-02-04 18:44:00 +01:00
Klaas Freitag
5dc2871e2b Nautilus plugin: Fix broken indentation (python). 2015-01-30 14:27:15 +01:00
Markus Goetz
bb215ad095 OS X: Don't show menu item outside sync folder
As per #2732
2015-01-29 21:13:09 +01:00
Klaas Freitag
37f19dd0fe nautilus menu: Do not show entry on external files. 2015-01-29 18:11:04 +01:00
Daniel Molkentin
f84758eaac Add Resource File for OCContextMenu, adjust (c) dates. 2015-01-29 16:37:51 +01:00
Daniel Molkentin
8c58236e7c Remove template file 2015-01-29 16:13:36 +01:00
Daniel Molkentin
027328d3a6 Windows Integration: Don't use size_t in StringUtil, it's unsigned 2015-01-29 16:11:42 +01:00
Daniel Molkentin
d6c4f749a6 Windows Shell Integration: Also ensure correct TargetName on x86/release 2015-01-29 13:03:38 +01:00
Daniel Molkentin
8af2c6c397 Update MSVC Project files to a consistent state 2015-01-29 13:00:30 +01:00
Daniel Molkentin
367ef7195a Windows Shell Integration: Fix warnings 2015-01-29 13:00:29 +01:00
Daniel Molkentin
2c432e0b97 Remove socketapiclient 2015-01-28 11:13:38 +01:00
Olivier Goffart
fb79211514 Merge remote-tracking branch 'remotes/origin/win_context_menu' 2015-01-23 18:02:55 +01:00
Olivier Goffart
a999884adf osx integration: adapt to socket api changes 2015-01-23 16:13:16 +01:00
Olivier Goffart
0af97156c9 Windows shell integration: Make the share entry work by adding a Sleep
Timeouts don't work with named pipe, so wait for 50ms to let time
for the client to answer
2015-01-23 15:43:03 +01:00
Markus Goetz
c54621eb19 OS X: Share menu for Finder 2015-01-23 12:00:31 +01:00
Klaas Freitag
ed4d31ebc5 Nautilus overlay: Use branded program name for menu item. 2015-01-23 11:50:42 +01:00
Daniel Molkentin
316c476bbd Revert "Revert "Windows Shell Integration: Show status icon for root folder""
This reverts commit 176413d312.
2015-01-22 19:13:12 +01:00
Daniel Molkentin
081cc0b9e8 WiP: Add Win32 Context menu integration 2015-01-22 18:45:20 +01:00
Olivier Goffart
560759ede8 Windows shell integration: Reduce the timeout time of WaitNamedPipe
This is maybe what causes the troubles of task #2576
2015-01-22 16:30:02 +01:00
Klaas Freitag
82e5e36c57 Nautilus: Display context menu for files that are not yet synced. 2015-01-21 17:41:57 +01:00
Klaas Freitag
b754ffb047 Nautilus: Add a context menu that opens the sharing dialog. 2015-01-12 14:49:22 +01:00
Klaas Freitag
89eb4727b4 Nautilus overlays: Add a script to patch the branding name into pyhton script. 2015-01-12 14:49:22 +01:00
Daniel Molkentin
5619947685 Relocate Windows shell extensions
The directory was redundant
2015-01-12 14:40:42 +01:00
Olivier Goffart
2d8053a9df Dolphin plugin for KF5 2015-01-05 17:23:36 +01:00
Olivier Goffart
414ac5433d Merge branch '1.7'
Conflicts:
	binary
	doc/accountsetup.rst
	doc/architecture.rst
	doc/navigating.rst
	doc/owncloudcmd.rst
	doc/troubleshooting.rst
2015-01-05 14:40:53 +01:00
Markus Goetz
f195648b90 OS X: Fix overlay icons
a3e7f513e6 broke them.
2014-12-15 11:34:44 +01:00
Christian Kamm
53d5de685c Merge remote-tracking branch 'origin/1.7'
Conflicts:
	src/gui/folder.cpp
	src/gui/folder.h
	src/libsync/networkjobs.cpp
	src/libsync/owncloudpropagator.h
	src/libsync/propagatedownload.cpp
2014-12-10 13:01:36 +01:00
Daniel Molkentin
d5f2c36abd Mirall -> (Desktop) Client 2014-12-08 17:54:32 +01:00
Olivier Goffart
0fd0b08c09 Windows shell integration: Always release the lock before calling win32 API
May help for 2515
2014-12-03 09:11:38 +01:00
Olivier Goffart
512492bf30 Merge remote-tracking branch 'origin/1.7'
Conflicts:
	src/libsync/propagatedownload.cpp
2014-12-01 14:37:47 +01:00
Olivier Goffart
b154e1baa1 Nautilus shell integration: Use fallback when XDG_RUNTIME_DIR is not defined
Same fallback as in Qt5

Task #2477
2014-12-01 12:06:09 +01:00
Olivier Goffart
12203461f0 Import the dolphin plugin 2014-11-24 15:06:08 +01:00
Olivier Goffart
a337564864 shell_integration/windows/OCShellExtensions/OCUtilTest: remove
We do not need it anymore
2014-11-24 14:53:37 +01:00
Daniel Molkentin
058d868edd Merge remote-tracking branch 'origin/1.7' 2014-11-12 00:09:00 +01:00
hefee
f9dfdd58df Fixing indent and make nautilus script python3 compatible. 2014-11-09 16:59:01 +01:00
Olivier Goffart
7ae6712d56 Add a few Q_DECL_OVERRIDE 2014-11-08 11:21:48 +01:00
Daniel Molkentin
17a4299f74 Fix nautilus python integration 2014-11-06 19:26:43 +01:00
Daniel Molkentin
176413d312 Revert "Windows Shell Integration: Show status icon for root folder"
This reverts commit 5805ffebec.

There is no good way to fix this on the Mirall side without risk.
Delay until after 1.7.0
2014-11-06 15:18:54 +01:00
Klaas Freitag
a78bb252de Nautilus shell: Remove some useless logging. 2014-11-06 09:23:30 +01:00
Daniel Molkentin
5805ffebec Windows Shell Integration: Show status icon for root folder 2014-11-04 09:30:29 +01:00
Daniel Molkentin
19daff36b0 Windows Overlay: Fix icon refresh
The condition for the refresh was inverse of what it should have been.
2014-11-03 20:46:35 +01:00
Daniel Molkentin
c34c8ff358 Windows Overlay: Use FLUSHNOW everywhere to speed up updates 2014-11-03 20:45:38 +01:00
Olivier Goffart
1eccfb798f Add missing license headers
Part of #2068
2014-10-29 13:30:46 +01:00
Olivier Goffart
a470138450 Windows Shell Integration: refresh the cache on UPDATE_VIEW
Attempt to fix #2383
2014-10-29 11:00:51 +01:00
Daniel Molkentin
149b16aefd Win32 Shell Integration: Use RegDeleteKey instead of RegDeleteKeyEx
RegDeleteKeyEx does not exist on Windows XP 32 bit

Fixes: #2165
2014-10-23 21:00:31 +02:00
Markus Goetz
0d9ae241c9 OwnCloudFinder: Rename to SyncStateFinder
Project file names stay the same, only the output file(s) changed
2014-10-23 12:19:19 +02:00
Olivier Goffart
98c5871d38 Windows shell integration: Add SHCNF_FLUSHNOWAIT to SHChangeNotify
(TortoiseSVN have this flag)

Also do not call SHChangeNotify if there was no change
2014-10-21 14:51:18 +02:00
Daniel Molkentin
52a5729298 Merge pull request #2319 from owncloud/sqlite_capi
Introduce a common sqlite layer across csync and mirall.

This avoids conflicts that both each load different and/or updated sqlite versions.
2014-10-17 12:11:27 +02:00
Daniel Molkentin
b9849580f8 ReNautilus Shell Intgration: Remove debug output 2014-10-17 12:09:30 +02:00
Olivier Goffart
7804bf0a9a Windows Shell Integration: Use the right parametter to SHChangeNotify 2014-10-15 16:47:08 +02:00
Olivier Goffart
bb37e93f52 Windows shell integration: Do proper wait 2014-10-15 16:09:35 +02:00
Olivier Goffart
aa0f2c64ff Windows Shell Integration: fixeWindows Shell Integration: fixe 2014-10-15 15:57:15 +02:00
Olivier Goffart
e66ca267f4 Windows Shell Integration: try to wait for connection 2014-10-15 15:13:04 +02:00
Olivier Goffart
4b001a77b3 Windows Shell Integration: Use the QLocalSocket on windo and do the request assynchroniously
Squashed commit of the following:

commit 4d9b072f560fa171a1390b7c74425614aa20e955
Author: Olivier Goffart <ogoffart@woboq.com>
Date:   Tue Oct 14 16:04:02 2014 +0200

    Remove useless variable

commit 8e85de0307ec5f31bf3f92a7de793fed7d41c2ea
Author: Daniel Molkentin <danimo@owncloud.com>
Date:   Tue Oct 14 16:01:52 2014 +0200

    Make Windows Explorer Extension build

commit 8e2942cd9fd32e3af72d60cba0d06bd9d6222a45
Author: Daniel Molkentin <danimo@owncloud.com>
Date:   Tue Oct 14 11:39:37 2014 +0200

    Fix compilation

commit 0fc0c0e0e0c7e58ad97f62700256c7d1f8c0670b
Author: Olivier Goffart <ogoffart@woboq.com>
Date:   Tue Oct 14 11:48:32 2014 +0200

    Windows Shell Integration: Try to let the thread notify about changes when there are changes

commit 4a1712b7c03269ca3007f167b8f313ea47655967
Author: Olivier Goffart <ogoffart@woboq.com>
Date:   Tue Oct 14 11:35:20 2014 +0200

    Windows Shell Integration: Share the RemotePathChecker amongst all the OCOverlay instances

commit 2d87408e9af5a4d7ab71c460ce606ba1f367c09f
Author: Olivier Goffart <ogoffart@woboq.com>
Date:   Mon Oct 13 18:55:15 2014 +0200

    Windows Shell Integration: Attempts to wait on multiple objects (WIP)

commit e448e427b6d1561ad7a40d08fc6632f4d2b4ef44
Author: Daniel Molkentin <danimo@owncloud.com>
Date:   Mon Oct 13 17:58:02 2014 +0200

    Introduce a worker thread

commit 2344407ec0bc1ce173ebbacadcf3992d62d94078
Author: Olivier Goffart <ogoffart@woboq.com>
Date:   Mon Oct 13 17:03:47 2014 +0200

    Windows Shell Integration:  try to keep the socket open using a thread (WIP)

commit ea6d5273ed60d8bc3f1c5d5c6936364d783a1c0f
Author: Daniel Molkentin <danimo@owncloud.com>
Date:   Mon Oct 13 15:27:46 2014 +0200

    Make Explorer plugin work again with named pipes

    This is a temporary hack, which needs more refactoring.

commit 44a3437a44082379efa0078c9afd7b8bbde930de
Author: Daniel Molkentin <danimo@owncloud.com>
Date:   Sat Oct 11 07:31:24 2014 +0200

    Fix code

commit 123390a0f3516c0078309d7048c6d2acb9293676
Author: Olivier Goffart <ogoffart@woboq.com>
Date:   Fri Oct 10 16:29:35 2014 +0200

    Windows shell integration: Use named pipe  (WIP)

commit 9eea7e2321abeac6b8db0bd85bfce612dbf6bb20
Author: Olivier Goffart <ogoffart@woboq.com>
Date:   Wed Oct 1 12:04:13 2014 +0200

    Windows Shell Integration: Simplify StringUtil

    This fixes a memory leak in CommunicationSocket::ReadLine
2014-10-14 16:05:48 +02:00
Klaas Freitag
8371e34d87 Nautilus overlay: minor cleanups 2014-10-13 14:59:23 +02:00
Markus Goetz
f8f5a7ceaa OS X Overlay Icons: Fix static analyzer warnings 2014-10-10 11:44:40 +02:00
Markus Goetz
b01839e9a4 OS X: Remove dead JSON code 2014-10-10 11:44:40 +02:00
Markus Goetz
6fbd28d228 Merge branch 'overlayicon_cache' into 1.7 2014-10-08 11:02:58 +02:00
Markus Goetz
ef019cdbfa OS X Overlay Icons: Fix Finder plugin crash
By enabling ARC for GCDAsyncSocket (as we should have done before
https://github.com/robbiehanson/CocoaAsyncSocket/wiki/ARC) there
is no chance anymore for a situation where the to-be-written NSData*
is deleted before the socket has had a chance to write it.
Interestingly, this only happened after switching to local sockets,
probably because of how immediatly the NSData* would be sent.

This commit also keeps the debug symbols for the Finder plugin.
2014-10-03 07:23:43 +02:00
Markus Goetz
b6d97cfffb OS X Overlay Icons: Introduce a short term cache for rendered icons
This is for #2093
2014-10-01 13:21:29 +02:00
Olivier Goffart
147fa60f81 Merge branch 'socketapi_localsocket' into 1.7 2014-10-01 12:34:22 +02:00
Klaas Freitag
29987ca2aa Overlays Linux: Add the state to the cache to save calls to add_emblem
The SocketAPI sends status updates for files without being asked for.
And in order to not draw the emblem again if it had not changed, the
state is compared before calling add_emblem
2014-09-30 13:57:06 +02:00
Markus Goetz
02f971b534 OS X Overlay Icons: Fix request for sync dir itself 2014-09-30 12:53:35 +02:00
Klaas Freitag
efbc495f79 overlays Nautilus: Adopt to the use a local unix socket not TCP.
Also, use the appname to find the correct branded icons.
2014-09-30 11:17:05 +02:00
Markus Goetz
f8b73eb9d9 SocketApi: Port OS X to use local sockets 2014-09-30 07:36:20 +02:00
Markus Goetz
0539098371 OS X: Update GCDAsyncSocket
The two files are from the fork from
https://github.com/jdiehl/CocoaAsyncSocket/tree/socketUN
It supports unix domain sockets.

SHA1 was 7e97fc876522c7bf2a2a434cf40579ae9daf9da5
2014-09-30 07:09:39 +02:00
Klaas Freitag
788c27bf2f cmake: Fix installation of overlay icons on linux 2014-09-29 16:08:49 +02:00
Klaas Freitag
8915f94931 Mac Overlays: handle filenames with slashes properly.
There are filenames with slashes on MacOSX, they can be created
in Finder. Internally they are converted to colons.
2014-09-25 12:24:32 +02:00
Klaas Freitag
688b8dcc38 MacOverlays: Pass isDir flag to isRegisteredPath method
With that, a path can be added to directories to also detect the
sync top directory.

This fixes bug #2053
2014-09-23 10:25:11 +02:00
Klaas Freitag
280edee1db cmake: fix typo 2014-09-23 10:25:11 +02:00
Klaas Freitag
09be4d22ee Nautilus: Renamed nautilus plugin script to make it branding friendly 2014-09-22 12:24:06 +02:00
Markus Goetz
2fddf05515 OS X: Overlay Icons: Load from bundle-specific path
The client (in this case mirall) tells the Finder plugin where to get the icons.
This enables installation in different locations and in branded clients.
2014-09-12 15:09:47 +02:00
Markus Goetz
91d1864840 OS X: Overlay Icons: Less verbose debug output 2014-09-12 15:09:46 +02:00
Markus Goetz
0edd4d3c02 OS X: Overlay icons: Don't show if folder is not marked as being an oC folder 2014-09-12 11:46:53 +02:00
Markus Goetz
4ce03e8b61 OS X: Fix Overlay icon retrieval
Re-retrieve all icons for a path in case we receive UPDATE_VIEW.
(But in contrast to previous code, don't delete the icons which then
would have caused screen flickering)
2014-09-07 11:38:23 +02:00
hefee
ddfc7c75df Fix minor Python styling issues
* Do not use sapces inside parenthesis
* make indend PEP8
* empty lines should not contain whitespaces
2014-08-31 00:35:56 +02:00
David Prévot
7618f29657 Fix minor Python syntax errors
The installation fails because of these:

	TabError: inconsistent use of tabs and spaces in indentation
	SyntaxError: Missing parentheses in call to 'print'
2014-08-31 00:28:25 +02:00
Klaas Freitag
4d33773cef Nautilus Overlays: Rename icons according to branding.
Added a script that renames the icons and patches the python file for
nautilus.
2014-08-29 20:02:52 +02:00
Markus Goetz
b6f42a91f4 OS X: Fix Finder bundle NVTY->OWNC 2014-08-28 15:45:07 +02:00
Markus Goetz
d69049ce10 OS X: Fix Finder plugin 2014-08-28 10:21:56 +02:00
Markus Goetz
2f34b046d0 Overlay Icons: Improve OS X version, improve general feedback
Now the update phase of the syncing algorithm pushes stuff the notification socket too.
2014-08-27 19:15:43 +02:00
Markus Goetz
79b547b83b Icon Overlay OS X: Complain if icon couldnt be loaded 2014-08-26 17:21:15 +02:00
Daniel Molkentin
315c2eb4ca Windows Shell Integration: Ensure precedence 2014-08-21 11:06:10 +02:00
Klaas Freitag
fef0d0b31c Overlays Nautilus: Handle UNREGISTER_PATH and do proper reconnect.
This is needed to fix #2073
2014-08-20 17:33:48 +02:00
Markus Goetz
d9de6e68ad OS X: Optimize Finder icon drawing code
Don't have an intermeditate TIFF.
2014-08-20 14:02:58 +02:00
Daniel Molkentin
d171431ac7 Windows Shell Integration: Add version information 2014-08-19 15:52:58 +02:00
Daniel Molkentin
76e0d61b19 Windows Shell Integration: Register icons with well known name 2014-08-19 15:52:47 +02:00
Daniel Molkentin
cc6d83a953 Windows Shell Integration: Adjust port 2014-08-19 15:51:40 +02:00
Daniel Molkentin
6fbbe2d0e4 Create ShellIconOverlayIdentifiers key
It may not exist. Registration fails in that case.
2014-08-18 17:06:26 +02:00
Markus Goetz
b62b87eed3 OS X: Rename LiferayNativity code for shell icons 2014-08-18 12:57:29 +02:00
Klaas Freitag
4aec783362 Nautilus Overlays: Fix: do not change an dictionary which is iterated.
Also, item.invalidate_extension_info() is sufficient, no need to call
update_file_info afterwards.
2014-08-15 17:16:47 +02:00
Klaas Freitag
b494181764 Nautilus Overlays: Use port 34001 by default. 2014-08-15 17:16:47 +02:00
Klaas Freitag
f6d20cbe55 nautilus overlay: Fix reconnect, create a new socket everytime. 2014-08-14 11:07:31 +02:00
Klaas Freitag
fcd211b190 overlayNautilus: Better reconnect behaviour if mirall was not running. 2014-08-14 11:07:31 +02:00
Daniel Molkentin
5306cdc7a1 Shell Integration: Fix Integration bug when explorer starts before OCC
Also slightly improves performance
2014-08-08 02:40:46 +02:00
Daniel Molkentin
344b98bf13 Shell Integration / MSVC: Fix target platform 2014-08-08 02:40:46 +02:00
Klaas Freitag
2ccfdcb084 NautilusOverlays: return False if sock connection breaks 2014-08-06 09:52:52 +02:00
Daniel Molkentin
4ad9ff4301 Merge remote-tracking branch 'origin/win_overlay_icons'
Conflicts:
	.gitignore
2014-08-05 19:27:51 +02:00
Daniel Molkentin
c7ff1e9b3f Windows Shell extension: Add watched directories 2014-08-05 19:23:40 +02:00
Klaas Freitag
f4e2041b0b CMake: Fix installation of the icons, path corrected. 2014-08-05 11:46:21 +02:00
Klaas Freitag
4e13c882f8 CMake: Install the nautilus plugin. 2014-08-04 18:58:35 +02:00
Klaas Freitag
0fe51d826f Overlays: renamed icons to sensible names. Also removed .DS_Store 2014-08-04 17:22:34 +02:00
Klaas Freitag
b2976baf9b NautilusOverlays: Use the correct icon names, removed unused function. 2014-08-04 17:21:49 +02:00
Klaas Freitag
a0a5a49d7b CMake: Install icons under linux. 2014-08-04 17:20:57 +02:00
Daniel Molkentin
9a1781f613 Support for multiple icons 2014-08-04 15:40:08 +02:00
Klaas Freitag
14ed261606 MacOverlays: Rather use FileManager API to check if is directory. 2014-08-04 12:03:01 +02:00
Klaas Freitag
aad5c96759 Mac Overlays: No crash on context menu actions.
Disable overlay menus for now.
2014-08-04 11:09:16 +02:00
Klaas Freitag
9b37357513 cmake: Add the icons path to cmake, install the Mac icons properly. 2014-08-01 15:30:13 +02:00
Klaas Freitag
23269c9a08 Mac Overlays: load icons from the proper place in the system. 2014-08-01 15:26:18 +02:00
Klaas Freitag
0a7642dbe0 Mac Package: New shellscript and packages steering file. 2014-08-01 12:19:08 +02:00
Klaas Freitag
6e00989a9e Add directory MacOSX to cmake processing. 2014-08-01 12:18:52 +02:00
Klaas Freitag
68f0227ca1 OverlaysMac: Make use of REGISTER_PATH to learn the synced dirs. 2014-08-01 12:18:52 +02:00
Klaas Freitag
a248fc36fe Remove user XCode file. 2014-08-01 12:18:52 +02:00
Klaas Freitag
e28a7a7ae3 MacOverlays: Start a 5 seconds timer to try connect if unconn.
If mirall is not here, a timer is started to try again later.
2014-08-01 12:18:52 +02:00
Klaas Freitag
b92789825d MacOverlays: Redraw window if registered pathes are empty.
That is the condition after a reconnect to the mirall server.
2014-08-01 12:18:52 +02:00
Klaas Freitag
c3b6aecb79 MacOverlay: Some logging cleanings. 2014-08-01 12:18:52 +02:00