-
Notifications
You must be signed in to change notification settings - Fork 816
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve conflict handling gui #2527
Conversation
21764f1
to
9b48a2b
Compare
/rebase |
9b48a2b
to
cef651f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good for improving conflict resolution! :) For sure some things we can fix with the spacing, but let's do that separately to get this in quickly.
cef651f
to
a118c86
Compare
a118c86
to
1baa696
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks super nice! Great work @er-vin – will hopefully make it a more relaxing experience for anyone who is stressed cause there’s conflicts. :)
/rebase |
1baa696
to
ff5cb66
Compare
ff5cb66
to
9ffc010
Compare
We want to use it for deleting directory conflicts.
For conflicts generally as well as new files in read-only directories the context menu will now present delete and move options. Signed-off-by: Kevin Ottens <[email protected]>
This could only work at the root of the sync folder where the record for the parent folder would be invalid. Otherwise the negation would be wrong... assuming you can add a file only if the permission is not there. Signed-off-by: Kevin Ottens <[email protected]>
The socket api move and delete commands are not strictly about conflicts since they also deal with files which couldn't be uploaded for some other reason. Still the new ConflictSolver could be used in those cases. This opens the door at reusing that logic in other places. Signed-off-by: Kevin Ottens <[email protected]>
Signed-off-by: Kevin Ottens <[email protected]>
Signed-off-by: Kevin Ottens <[email protected]>
This should be safe in the case of conflicts in folders on which the user can write. For other cases we still use the older actions. Signed-off-by: Kevin Ottens <[email protected]>
Signed-off-by: Kevin Ottens <[email protected]>
This was completely disabled code and the connect was gone... So let's introduce the connect back and have it trigger the main window while selecting the right user. This way the new activity list is displayed and since the conflicts are shown at the top this is hopefully obvious again. Signed-off-by: Kevin Ottens <[email protected]>
We better do this before this business logic grows in the QML side and gets out of control. We'll need finer grained information due to the conflict handling anyway. Signed-off-by: Kevin Ottens <[email protected]>
No need to go to the file manager first to then have the user go through the context menu, just popup the dialog directly. Signed-off-by: Kevin Ottens <[email protected]>
9ffc010
to
b835092
Compare
AppImage file: Nextcloud-PR-2527-b835092ae9b3ca2859a830c7d485f0c9025a6399-x86_64.AppImage |
Fix #1195
Also adopts commits from owncloud/client#6541
As for the conflict dialog itself it looks like this on a Plasma desktop:

On system for which there's no icon theme by default (typically Windows and Mac) I'm using a fallback icon provided in Qt resources. Here is how it looks:

I guess shipping a full icon theme (or at least the mimetype icons from said theme...) is an option but honestly that's for later. :-)
Note that clicking the icons (they are buttons which raise on over) also open the corresponding file for preview (just like the more discoverable links).