Commit graph

411 commits

Author SHA1 Message Date
Camila
282aadb7e9 Reduce spacing above the notification buttons.
Spacing is now the  same as space between lines in the text above.

Signed-off-by: Camila <hello@camila.codes>
2022-05-25 10:01:38 +02:00
Camila
2fa834446a Fix 'TypeError: Cannot readproperty 'messageSent' of undefined'.
Signed-off-by: Camila <hello@camila.codes>
2022-05-24 11:51:55 +02:00
alex-z
43a37637cf Display chat message inside the OS notification.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-05-23 17:01:22 +03:00
Matthieu Gallien
d622999971 add explicit capture for lambda
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-05-17 13:33:22 +02:00
Valdnet
f4931026d7
i18n: Add a space
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2022-05-17 09:08:37 +02:00
Camila
290851c33a Convert primary, WEB and DELETE notification links to action buttons.
Signed-off-by: Camila <hello@camila.codes>
2022-05-16 22:03:53 +02:00
Camila
9c63615a78 Do not add a second DELETE to the list of actions in one notification.
Signed-off-by: Camila <hello@camila.codes>
2022-05-16 22:03:53 +02:00
alex-z
53654b2a50 Allow manual renaming of files and folders with spaces. Allow uploading invalid file name via the InvalidFileName dialog.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-05-16 18:07:26 +03:00
Claudio Cambra
463496153a Fixed several issues with activity items relating to icon colouration and activity item sizing + layout
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-05-16 16:42:53 +02:00
Claudio Cambra
b6def51945 Fix notifications not being shown when they should be
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-05-16 14:28:33 +02:00
alex-z
514f72f975 Use proper online status for user ('dnd', 'online', 'invisible', etc.) to enable or disable desktop notifications.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-05-16 10:47:05 +03:00
Camila
e4a0d57bc8
Do not replace strings in action links coming from the notification api.
Signed-off-by: Camila <hello@camila.codes>
2022-05-12 12:47:48 +02:00
rakekniven
994c2e02d8 l10n: Changed triple dot to ellipsis
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2022-05-04 11:33:47 +02:00
Claudio Cambra
7129bf2489 Add user avatars in talk notifications in activity list
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-05-02 15:12:45 +02:00
Matthieu Gallien
2d27a68e73 show errors on lock/unlock actions
use a native dialog to show users errors when trying to lock/unlock
files

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-05-02 13:52:05 +02:00
alex-z
7b441a0f6e Optimize activities fetch requests. Do not fetch when the Tray is not open. Fetch next subset only when scrolling. Fix duplicate notifications.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-04-29 20:59:56 +03:00
Claudio Cambra
3f5243aaee Add an incoming talk call notification to the desktop client
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>

Co-authored-by: Camila <hello@camila.codes>
2022-04-28 09:13:13 +02:00
Claudio Cambra
010f49a392
Realigned and resized thumbnails
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-04-27 18:02:37 +02:00
Claudio Cambra
15078260b4
Removed spacing between activies, labels now centre-aligned
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-04-20 18:07:41 +02:00
Claudio Cambra
7b65c1ceed
Fix thumbnails for new files made while client open
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-04-19 10:16:43 +02:00
Claudio Cambra
5ce736222e Use header text color to improve contrast with header colours when hovering on themed elements
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-04-15 13:17:09 +02:00
Camila
74d214726c
Remove unused function parameter.
Signed-off-by: Camila <hello@camila.codes>
2022-04-06 10:38:01 +02:00
Camila
6189b2115e
Adress design issues.
- The input field was not using the  theming.
- After submitting the reply, the text and icon on the left were moving.

Signed-off-by: Camila <hello@camila.codes>
2022-04-06 10:38:01 +02:00
Camila
f524635cf4
Do not hide'View chat' link.
This logic was also hiding 'Answer call'.

Signed-off-by: Camila <hello@camila.codes>
2022-04-06 10:38:01 +02:00
Camila
ead4eeda1e
Windows fix: activityIndex was not being passed to the lambda slot function.
Signed-off-by: Camila <hello@camila.codes>
2022-04-06 10:38:00 +02:00
Camila
c254572e80
Add 'Reply' as activity link instead of changing the 'View chat' link.
- Align 'Reply' button.
- Do not display 'View chat' as a link: the 'View chat' action is active when
the user clickcs on the notification item in the tray window.
- Convert the QByteArray verb value to String.
- Handle logic to toggle the reply textfield in the QML code.

Signed-off-by: Camila <hello@camila.codes>
2022-04-06 10:38:00 +02:00
Claudio Cambra
a2e1c68c26 Fix broken activity icon and loading entries colour in unified search
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-04-05 16:41:11 +00:00
Camila
7cc2486d79
Address PR comments.
Signed-off-by: Camila <hello@camila.codes>
2022-03-28 16:04:54 +02:00
Camila
9b00e5268e
Rename functions.
Signed-off-by: Camila <hello@camila.codes>
2022-03-28 16:04:54 +02:00
Camila
a46482ca91
Fix background color so it switches with light/dark theme.
Signed-off-by: Camila <hello@camila.codes>
2022-03-28 16:04:54 +02:00
Camila
0890a78262
Display input once user clicked on Reply.
Signed-off-by: Camila <hello@camila.codes>
2022-03-28 16:04:54 +02:00
Camila
b2056187a0
Let qml know the message reply was sent.
Signed-off-by: Camila <hello@camila.codes>
2022-03-28 16:04:54 +02:00
Camila
94530b6305
Rename data role.
Signed-off-by: Camila <hello@camila.codes>
2022-03-28 16:04:53 +02:00
Claudio Cambra
3d086ae305 Fix dark mode stuff relating to unified search, fix macOS auto dark/light theme switching not always working, fix Windows detection of dark/light theme switching
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-03-28 09:21:35 +00:00
Claudio Cambra
bbd988d8c5 Fixes to UI issues
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-03-20 16:32:43 +00:00
Claudio Cambra
98e297bf0b Fix for VFS crashes
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-03-19 23:31:24 +01:00
Claudio Cambra
c342c304ac Added dark mode
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-03-18 16:43:15 +00:00
Camila
73bae8cd30
Add TalkReply class and tests.
- Add struct TalkNotificationData to handle token and messageId.
- Handle chat and call notifications with the new struct.
- Add talk token and messageId to data roles in ActivityListModel.
- Add Talk Reply component to the ActivityList.
- User Loader to display the TalkReply component.
- Move Talk Reply from ActivityItem to ActivityItemContent due to PR #4186.
- Use TextField instead of Text.
- Disable send reply button instead of changing border color when field is empty.

Signed-off-by: Camila <hello@camila.codes>
2022-03-17 17:50:33 +01:00
Claudio Cambra
65f2bada3e Add thumbnails for files in the activity view
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-03-17 10:46:09 +00:00
Claudio Cambra
f585b8bd48 Add support for server color theming by using server color as accent
color

Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-03-16 13:57:45 +01:00
Claudio Cambra
02f3a1aed6 File activity dialog now works for all file actions activities (e.g. deleted files)
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-03-16 08:38:14 +01:00
Claudio Cambra
ead4cc6fe3 Increase max line of text in activity item text to two
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-03-15 09:22:11 +00:00
Claudio Cambra
2f795df701 Ensure file activity dialog appears in centre of screen
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-03-13 22:11:26 +00:00
alex-z
ae44dd5978 Adjust icons for activity entries in main dialog. Refactor the dialog by splitting it to separate components.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-02-04 17:52:37 +02:00
Claudio Cambra
a2524763c8
Merge branch 'master' into bugfix/account-menu-scroll 2022-02-01 17:01:51 +01:00
Claudio Cambra
ce5494b4ec Add testing for ActivityListModel
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-02-01 13:57:08 +00:00
Claudio Cambra
7a1eae45d3 Account menu can now scroll
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-01-31 15:06:55 +00:00
Felix Weilbach
99457e8c38 Use the font size that Qt suggest
Fixes: https://github.com/nextcloud/desktop/issues/3797

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2022-01-17 11:11:57 +00:00
Claudio Cambra
2a27882307 Show only filenames in tray activity items, with full path in tooltip
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-01-14 08:02:08 +00:00
Claudio Cambra
8c091a2daa Hide share button for deleted and ignored files in tray activity
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2021-12-20 16:07:11 +00:00
Carl Schwan
38ac585e7c Add WheelHandler to the Search result list too
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-11-22 11:18:18 +00:00
Carl Schwan
892d289f38 [tray] Makes scrolling with a touchpad in activiy list more natural
This basically use the same method that is used in Kirigami and Plasma
Components3.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-11-22 11:18:18 +00:00
alex-z
911e35bc50 Use QUrl::fromLocalFile to open local files in Unified Search results.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-11-18 09:34:54 +00:00
Matthieu Gallien
c59f88ca82 avoid adding icon data in a cache we never use
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-16 16:11:44 +01:00
Carl Schwan
d84673376d More fixes to the menu implementation
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-11-16 09:27:10 +00:00
Carl Schwan
69def04ec2 Fix focus indicator
This improve considerably the keyboard navigation in the SystemTray.
But this is still not as good as the golden standard that is recommended
by this article: https://www.sarasoueidan.com/blog/focus-indicators/

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-11-16 09:27:10 +00:00
Felix Weilbach
07a8e8c91d Check if the server has user status app enabled
According to
https://docs.nextcloud.com/server/latest/developer_manual/client_apis/OCS/ocs-status-api.html#user-status-retrieve-statuses
we should check the user status capability, not the the end points.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-11-15 16:20:58 +00:00
Felix Weilbach
3e368ee4df IconJob: Send request through the accounts NAS
This helps tracking requests on the server

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-11-10 13:11:49 +01:00
alex-z
2f3c58daac Fix review comments. Use QImage for QML and QPixmap for rest of code. Do not cache images for QML. Fix tests. Use signal in QML.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-11-04 20:50:51 +00:00
alex-z
0b8ab5c079 Use SvgRenderer for Unified Search input icons. Refactor IconUtils. Extend unit tests.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-11-04 20:50:51 +00:00
alex-z
0d8375e798 Clear Unified Search Input Field in a proper way
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-11-04 20:50:51 +00:00
rakekniven
c39b97adb3
Update UnifiedSearchInputContainer.qml
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2021-10-26 10:44:07 +02:00
rakekniven
beffd63512
Changed triple dot to ellipsis
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2021-10-26 07:35:47 +02:00
Matthieu Gallien
69d6f4acec our source code files have lower case names
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-10-25 15:38:21 +02:00
alex-z
c1dab7e4cb Unified Search via Tray window
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-10-25 14:45:05 +03:00
rakekniven
91884eef4a Changed wording to suggestion
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2021-10-23 07:06:23 +00:00
rakekniven
fb3c740129 Changed wording of status message
The files themselves have no problem. The sync process has problems. 

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2021-10-23 07:06:23 +00:00
Felix Weilbach
9f35fa6d3d Also update sync state summary based on connectivity
Otherwise, with zero folders configured, the state will stay at
offline.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-10-20 12:31:55 +02:00
Felix Weilbach
0792dc36c2 Check if current user exists before getting it's account state
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-10-13 11:25:13 +02:00
Felix Weilbach
4c11f6763e Show sync progress in main dialog
Fixes #3662

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-10-12 16:14:24 +00:00
Felix Weilbach
0c9dce1154 Add file activity dialog
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-10-05 12:41:34 +00:00
Felix Weilbach
d3d8b1c631 Add dialog to resolve invalid filenames
Fixes #3751

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-23 10:45:15 +00:00
Felix Weilbach
8a8d488454 Add dialog to set user status
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-09 11:18:22 +02:00
Felix Weilbach
fa37f5c2bc Don't create binding loop
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-03 11:48:42 +00:00
Felix Weilbach
8a2097e7b9 Implicitly defined onFoo properties in Connections are deprecated
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-03 11:48:42 +00:00
Matthieu Gallien
25669938fd let clang-tidy add missing override after enabling again the check
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-08-31 08:35:56 +00:00
Felix Weilbach
ccd27870a7 Don't compare integers with different signs
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-08-11 20:20:39 +00:00
Felix Weilbach
7bb0c588c1 Don't constrain size of hover background
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-07-28 10:29:04 +00:00
Felix Weilbach
a421ebf01c Make main dialog normal window when displayed as regular window
This will enable users to minimize the dialog.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-07-22 10:34:13 +02:00
Camila
6886d6213a
Add custom component ActivityItem.
That also addresses QML warnings.

Signed-off-by: Camila <hello@camila.codes>
2021-07-21 17:03:26 +02:00
Camila
79dd4f73fe Fix QML warning: Unable to assign [undefined] to QFont.
Signed-off-by: Camila <hello@camila.codes>
2021-07-21 14:46:04 +00:00
Felix Weilbach
4e95e32791 Call setClosed() on correct Object
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-07-20 12:56:00 +02:00
Matthieu Gallien
064f64f06d fix width of user status message to not overlap other elements
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-16 15:19:20 +00:00
Matthieu Gallien
260e1d77f5 clean indentation in UserLine.qml
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-16 15:19:20 +00:00
Matthieu Gallien
c2602135ab fix size of the Label with user status
ensure the label width is not higher than the parent to ensure log
string get elided as expected

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-16 13:04:33 +00:00
Felix Weilbach
036db9d22d Position main dialog on at tray icon if not a regular window
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-07-14 18:27:50 +02:00
Felix Weilbach
efaccbd6fd Show main dialog as normal window if tray icons not available
Fixes #3307

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-07-12 14:10:26 +00:00
Matthieu Gallien
c27fc1be4a use fallback icons for activities without icons
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-06-30 11:28:13 +00:00
Matthieu Gallien
269d225511 directly send the icon url for activities to teh qml component
should allow usage of default cache from Image qml standard component

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-06-30 11:28:12 +00:00
Camila
7ddc4ca170 Remove extra RowLayout.
Signed-off-by: Camila <hello@camila.codes>
2021-06-16 07:55:33 +00:00
Camila
449fda16e1 Fix QML Warning: ReferenceError: PopupMenu is not defined.
Signed-off-by: Camila <hello@camila.codes>
2021-06-16 07:55:33 +00:00
Camila
19e581657d Fix QML warning: Cannot specify left, right... anchors for items inside Row.
Signed-off-by: Camila <hello@camila.codes>
2021-06-16 07:55:33 +00:00
Camila
5585f61cc0 Fix QML warning: Detected anchors on an item that is managed by a layout.
Signed-off-by: Camila <hello@camila.codes>
2021-06-16 07:55:33 +00:00
Camila
c8edb11228 Fix QML warning: Accessible must be attached to an Item.
Signed-off-by: Camila <hello@camila.codes>
2021-06-16 07:55:33 +00:00
allexzander
a3d12a616b Add error message to GUI.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-06-15 14:33:45 +03:00
Camila
f758157973 Fix aligment emoji + message on Windows.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:53 +00:00
Camila
8d2264e027 Display the user status emoji separated from the message.
It allows to align the emoji with the message.

Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:53 +00:00
Camila
1cb7f63575 Remove signal refreshCurrentUserGui.
Use only QML property bindings to refresh the UI.

Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:53 +00:00
Camila
46f7cd3884 User property isConnected instead of a invokable.
Remove unnecessary connection to refreshCurrentUserGui signal.

Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:53 +00:00
Camila
1adde8d547 serverUserStatus => serverHasUserStatus.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:53 +00:00
Camila
73da14040b Rename ServerUserStatusRole to ServerHasUserStatusRole.
- serverHasUserStatus Q_PROPERTY is CONSTANT.
- Fix code style.

Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:53 +00:00
Camila
828881d82a Do not display the folder status if there are no folders being synced.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:53 +00:00
Camila
4326eb53ba Fix margins and sizes to align both avatar + user status displays.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Camila
f7e9e31bc9 Rename isDesktopNotificationsAllowed property to desktopNotificationsAllowed.
- User !== instead of !=.
- Fix code style.

Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Camila
820e97cd9b Do not display the user status if there is no pre defined message.
Display the server url instead.

Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Camila
c793cbe593 Always display the server url in the drop down account menu.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Camila
419595ce5e Use DesktopNotificationsAllowedRole to check if user is online.
Rename ServerUserStatus to ServerUserStatusRole.

Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Camila
bd65eee278 Remove unused methods in UserModel.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Camila
671b099c98 Check if the user is connected and if the server supports user status.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Felix Weilbach
696979cb0e Display invalid filenames as warning
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-13 14:58:51 +00:00
Felix Weilbach
b736355985 Add notification cache
The notification cache helps to not display duplicate desktop
notifications to the user.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-13 14:58:50 +00:00
Camila
29f4a3857b Reposition qml elements for the folder status icon.
Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:59 +00:00
Camila
50de12b3c3 Undo unnecessary removal of lines.
Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:59 +00:00
Camila
163015492a Fix #3067: missing apps icon.
Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:59 +00:00
Camila
d2b762aa66 Move curly brackets to the correct line.
Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:59 +00:00
Camila
98cfc362f7 Remove const and reference of base types.
Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:58 +00:00
Camila
9219926a74
Add checks in case userStatus is not available/fails on the server side.
Signed-off-by: Camila <hello@camila.codes>
2021-03-24 15:42:26 +01:00
Camila
d9a0778e52
Add UserStatus enum with the pre defined status.
- User QHash to map status strings and Status enum.

Signed-off-by: Camila <hello@camila.codes>
2021-03-24 15:41:31 +01:00
Camila
974e2fb718
Do not display notifications when user status is do not disturb.
- This information is retrieved from the notifications endpoint.
- Add icons for the different pre defined status.
- Make functions available to QML to decide which status icon to display.
- Display the user status icon on the avatar and
move the online/offline connection status to the folder icon.

Signed-off-by: Camila <hello@camila.codes>
2021-03-24 15:40:05 +01:00
Camila
f4d8699db8
Add UserStatus class to retrieve the user status.
- AccountState controls UserStatus.
- Display user status in the system tray menu next to user's avatar.

Signed-off-by: Camila <hello@camila.codes>
2021-03-24 15:39:13 +01:00
Felix Weilbach
e3ac63e9ff Rename isActivityIgnored() to isUnsolvableconflict()
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-11 09:42:38 +00:00
Felix Weilbach
05d31e2e53 Split content of User::isValueableActivity()
Refactoring of User::isValueableactivity() because of changes
introduced with merge commit f17c52d.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-11 09:42:38 +00:00
Felix Weilbach
63dbb90bbd Iteration
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-05 11:32:44 +00:00
Felix Weilbach
ef5abac567 Fix crashes with conflict dialog
When the client runs and a conflict gets detected, the sync engine runs
two times.

On the first run, the sync engine detects the conflict, marks the
file as a conflict and propagates that to the GUI. This leads to an
error notification with the original filename in the main dialog.

The sync engine runs then a second time. On this second run, the file
that originally caused the conflict is not anymore a conflict
file. Instead, the sync engine detects the conflicted copy and
propagates that file as a conflict to the GUI.

When opening the conflict dialog with the original file name (not the
conflicted copy) a crash happens. Usually, the two sync runs are really
fast, so the user does not notice the first notification. However, a
problem can occur if a conflict gets created while the client is not
running. Since then, the client does not do two sync runs. It does only
run once.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-05 11:32:44 +00:00
allexzander
013f3cea70 Validate sensitive URLs to onle allow http(s) schemes.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-02-09 15:00:35 +02:00
allexzander
8c4d5333c1 Use push notifications for Tray activities/notifications fetch trigger.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-01-27 19:53:28 +02:00
Felix Weilbach
51d8cf8102 Start file conflict resolve dialog asynchronous
Fixes #2804

Signed-off-by: Felix Weilbach <felix.weilbach@t-online.de>
2021-01-27 08:01:25 +00:00
Kevin Ottens
8c4bd2bb52 Ensure a sync happens after a conflict resolution
You'd expect that after a conflict resolution the file watcher would
pick up the change and trigger a sync. For some reason it doesn't seem
to happen on at least some Ubuntu systems. In such cases the user would
then still have a stale conflict entry in the activity list and wouldn't
be able to do anything with it.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 09:40:57 +00:00
Kevin Ottens
d640076454 UserModel: check indices are inside the user list
The model was just checking for the user list being empty or not which
is overly optimistic. Indeed there might be cases where the id is
actually outside the boundaries so properly check for this.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 08:43:32 +00:00
Camila
cfbd22b5e7
Use the icon color property to color the icons in the tray window header.
The icon color is set with APPLICATION_WIZARD_HEADER_TITLE_COLOR in the
theme.

Signed-off-by: Camila <hello@camila.codes>
2020-12-10 17:43:45 +01:00
allexzander
f04281cb69 Implemented notification action buttons and context menu for confirm/dismiss and other actions.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2020-12-02 08:08:37 +00:00
allexzander
665a8c4217 Use dynamic path for account online/offline state icon. Refresh GUI on connection state change.
Signed-off-by: Alex Zolotov <alex.zolotov.nextcloud.com>
Signed-off-by: allexzander <blackslayer4@gmail.com>
2020-11-23 17:49:25 +02:00
Kevin Ottens
24964e2b9b Ensure we quickly show/hide the systray window on startup
This is quick enough that no flickering should appear in practice.

We end up doing this because for some reason on Windows (I dug up deep
into the Windows QPA without nailing it down) not showing that systray
window at least once prevents the app object to return from exec() when
the session ends.

It's as if that window would be in some limbo state (neither opened nor
closed) which would prevent quitting. Clearly what we're doing here is a
workaround...

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-10-22 17:31:05 +00:00
Kevin Ottens
b835092ae9
Use the ConflictDialog directly from the activity list
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 <kevin.ottens@nextcloud.com>
2020-10-22 16:40:47 +02:00
Kevin Ottens
4116c90c9c
Move the activity action behavior on the C++ side
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 <kevin.ottens@nextcloud.com>
2020-10-22 16:40:46 +02:00
Kevin Ottens
c42f4abd25
Add a function to know the user id matching a given account
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-10-22 16:40:46 +02:00
Kevin Ottens
de63e5e221
Don't hardcode the color of text in the header
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-10-21 13:40:42 +02:00
Kevin Ottens
0e9efe728a
Get rid of ncBlueHover
Use a similar trick of a semi-transparent rectangle on top when the
mouse area is hovered. This way it will always work whatever is the
background color.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-10-21 11:24:06 +02:00
Nicolas Fella
206c98688e Avoid string translation puzzle
Combining translated strings like this makes them hard to translate since the order of words is different between languages.
Use proper placeholder strings instead.

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-10-12 13:34:50 +00:00
Nicolas Fella
f5860928d9 Make QML code more declarative by using properties
By using properties and property bindings the QML code gets more declarative rather than imperative, which is considered better.

This patch:
- Introduces a currentUserId property in UserModel that replaces the equivalent Q_INVOKABLE call
- Introduces an avatar property in User that contains the avatar's image provider url without any fallback
- Introduces new image provider urls for fallback images
- Moves the fallback image selection to QML since we want different fallbacks according to where it is used
- Wires up the necessary signals to propagate a changing avatar

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-10-12 11:00:20 +00:00
Camila
954544830d Add a clickable icon for Talk notifications.
Signed-off-by: Camila <hello@camila.codes>
2020-09-30 08:46:01 +00:00
Camila
dc12cdf196
Correct the object name returned by the api.
The id was always 0 so no new systray messages were displayed.

Signed-off-by: Camila <hello@camila.codes>
2020-09-29 18:53:28 +02:00
Camila
d2eb24a9a8
Connect signal guiLog to slot to display systray message.
Signed-off-by: Camila <hello@camila.codes>
2020-09-29 18:53:28 +02:00
Valdnet
d50ad548d2
l10n: Remove space from string text 2020-09-29 14:39:34 +02:00
Dominique Fuchs
b96b7e20c7 emitting signals from Qts Accessibility interaction invocations instead of duplicating actions
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-09-28 12:38:21 +00:00
Dominique Fuchs
1053c58b0f KISS. Removed description for now, instead clarified some Accessible.name
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-09-28 12:38:21 +00:00
Dominique Fuchs
8abe4219a5 Added missing qsTr() calls - again
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-09-28 12:38:21 +00:00
Dominique Fuchs
a69898371f Added missing qsTr() calls
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-09-28 12:38:21 +00:00
Dominique Fuchs
a4151d71bc Fix typo
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-09-28 12:38:21 +00:00
Dominique Fuchs
3287ec2387 Typo fixes, minor additions
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-09-28 12:38:21 +00:00