Commit graph

4050 commits

Author SHA1 Message Date
Claudio Cambra
97904d3b20 Simplify and fix activity content layout by going back to using RowLayout instead of Item
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
c37e077dac Use standard size instead of unncessary additional value
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
659ccc3f07 Fix text lines, don't leave only one line
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
95a8ecf013 Move filedetails button to activity top row
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
03631bb659 Fix more button icon when in dark mode
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
a106454b34 Use custombutton with filedetails button to make it not look horrible
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
a0909cea60 Hide second subject line in activity when nothing is visible
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
39b5e7653c Fix alignment of main subject line with time line in activity
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
97c33d396c Use custombutton for dismiss button, give hover feedback
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Matthieu Gallien
ad503d9fe3 ensure that the file to test monitoring is hidden
we create a file inside the sync folder to test file system monitoring

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

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

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

fix #5275

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

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

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

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

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

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

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

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

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

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

remove code that is not needed

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

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

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

deletes a bunch of code not really needed

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

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

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
280094b220 model: first step
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
8f61d539da replace "OK" button by "Resolve conflicts" to help users
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
4bd93e39d6 more qml feedback
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
396accd208 feedback from design review
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
1491c134c3 basic implementation of a dialog to resolve conflicts as a batch
will allow solving all conflicts at once

FIX #2786

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
7b4245a3c3 fix #include header style
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Claudio Cambra
3dd838d28d Rename forcelegacyimport option to clearer forcelegacyconfigimport
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:23:43 +08:00
Claudio Cambra
b864bef2e8 Add application argument to force import of legacy accounts
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:23:43 +08:00
Claudio Cambra
c8f8c9cd2c Don't ask user whether to import legacy account configs if forcing legacy import
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:23:43 +08:00
Claudio Cambra
e43f627c9f Add forceLegacyImport property to accountmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:23:43 +08:00
Claudio Cambra
efce1b6abf Declare void setters and methods in accountmanager as slots
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:23:43 +08:00
Claudio Cambra
c3fda69e33 Place signals and slots for accountmanager in line with how this is done in other classes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:23:43 +08:00
Claudio Cambra
6eb2fd1cc0 Notify result of attempted account import with messagebox
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:23:43 +08:00
Claudio Cambra
fba808103c Ask before attempting to import legacy accounts
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:23:43 +08:00
Claudio Cambra
a9375c4d64 Animate copy share link button in share delegate
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:16:11 +08:00
Claudio Cambra
0419e29395 Also customise appearance of copy button in sharedelegate when clicked
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:16:11 +08:00
Claudio Cambra
191d8350c1 Replace use of magic numbers for animation durations in copy share link button with constants defined in Style.qml
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:16:11 +08:00
Claudio Cambra
4e12bbf3e4 Smoothly animate change of state for copy share link button
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:16:11 +08:00
Claudio Cambra
7db143469a Reset state of copy share link button after 3 seconds
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:16:11 +08:00
Claudio Cambra
c345b22bf2 Upon copying share link, trigger a change in the button to make copy action completed obvious
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:16:11 +08:00
allexzander
79c0fdc9f6
Merge pull request #5686 from nextcloud/bugfix/edit-locally-allow-opening-item-in-root
Allow opening a file or folder in the local sync root.
2023-05-16 13:33:33 +02:00
alex-z
81ecba8daa Allow opening a file or folder in the local sync root.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-05-16 12:33:34 +02:00
Claudio Cambra
b440e3011d Display tooltip showing names of overflowing tags in FileDetailsPage's overflow tag
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
30830b44cc Add overflow tag string property to filetagmodel which stringifies omitted tags
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
1bab57b176 Notify change in tags when maxTags set in filetagmodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
b79a038d92 Add support for system tags in filetagmodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
e2bd9e69e1 Fix layout of tags with differing sizes and oversized tags
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
65e7f6da9c Simplify file tag model updating in filedetails, only require folder pointer
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
cb8cab6f41 Display filetags in file details window
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
a3fc467cf0 Simplify FileTag component
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
791eb87afc Instantiate FileTagModel in FileDetails
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
c6d29e7d77 Add ability to limit maximum amount of tags displayed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
213e3743e1 Expose account and serverRelativePath of FileTagModel as QPROPERTYs
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
49b5fb32f9 Implement FileTagModel QAbstractListModel methods
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
9cc241bf96 Add capability for FileTagModel to fetch tags
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
84c8392491 Get account and relativeserverpath in constructor for FileTagModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
f763bd00fb Add a FileTagModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
0bdab1ee58 Add FileTag QML component
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Camila
d6db8fcbd6 Add a dismiss link for notifications without it.
- Fix for #5606 and #5585.
- That is how it is done in the server and other clients.
- Update tests.

Signed-off-by: Camila <hello@camila.codes>
2023-05-16 11:17:37 +02:00
Claudio Cambra
246347f88a
Do not initialise file provider module if not enabled in config
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:39 +08:00
Claudio Cambra
3d6acb5371
Use consistent if defined in application.cpp
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:38 +08:00
Claudio Cambra
2c3fa71405
Rename FileProviderDomainManager::Private to FileProviderDomainManager::MacImplementation
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:38 +08:00
Claudio Cambra
f37e7cc3b6
Remove readdFileProviderDomain hack in FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:38 +08:00
Claudio Cambra
9fff10fd5d
Do not use QSharedPointer to store FileProviderSocketControllers, use QPointer
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:54 +08:00
Claudio Cambra
4327b152fb
Move accountStateFromFileProviderDomainIdentifier to FileProviderDomainManager where we have methods to guarantee conversion
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:47 +08:00
Claudio Cambra
95c6e7a3f4
Add informative messages after Q_ASSERTs for sockets in FileProviderSocketController for release mode
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:47 +08:00