Commit Graph

54 Commits

Author SHA1 Message Date
Tobias Fella
8db2526153 Improve DevicesPage and DevicesModel
- Split the list into sections for "this devices", "verified devices", "unverified devices", and "devices without encryption support"
- Sort the lists by last activity
2023-07-15 13:31:28 +02:00
James Graham
ae4943dd71 Use new mobileform heading
Does what is says on the tin. Use the recently merged new `MobileForm.FormHeader` component in all settings pages.
2023-07-10 16:46:35 +00:00
James Graham
7bd84bf51e Push Rule Model Rework
This is a significant rework of the handling of push rules. Rather than using a lot of boilerplate code for the default models `KeywordNotificationModel` has been converted to `PushRuleModel` and now handles all push rules.

The new model has the following features:
- Handles all push rules
- Has special handling for the names of default keywords (i.e. it still gives the same text as previously for showing in the settings menus)
- Push rules for blocking individuals or room overrides are still there but hidden so will be available for developer tools (to follow)
- Room specific keywords are now supported.

The notification settings pages have also been refactored to take advantage of the new models. Each section is now just a repeater with a filter for the rules that it should contain. The push rule delegate has now been cleaned up and uses required properties.

Implements network/neochat#574
2023-07-10 16:17:17 +00:00
Tobias Fella
8b71e56a5f Remove unneeded fallback 2023-06-05 21:41:13 +02:00
Tobias Fella
f5aa5ac7f4 Remove unneeded fallback for user's display name
The display name falls back to the user id internally.
2023-06-05 21:38:48 +02:00
Tobias Fella
1f4b984664 Unify emoji and sticker settings pages 2023-06-04 08:11:36 +00:00
Tobias Fella
f2aa375b43 Rename AccountStickerModel to AccountEmoticonModel
In preparation for using it for custom emojis as well
2023-05-27 16:38:25 +00:00
Tobias Fella
b629961a70 Create account sticker editor 2023-05-14 20:33:51 +00:00
James Graham
8802753de1 Custom emoji image data
Make sure the imageInfo for custom emojis is set. This ensures that all the data required by imageDelegate is available.
2023-05-09 09:15:07 +00:00
Tobias Fella
d4c8e558e0 Remove empty settings pages 2023-05-05 17:42:45 +02:00
Tobias Fella
96c1b98d02 Implement sending stickers
MSC2545 image packs are used as source.
2023-05-05 14:29:18 +00:00
Gary Wang
034453636d Use MobileForm.FormSpinBoxDelegate for SpinBox in proxy page 2023-05-01 10:00:41 +00:00
Carl Schwan
2fb4fdd18f Port SpellChecking setting page to mobileform 2023-04-22 11:20:37 +00:00
Tobias Fella
f60114c7f6 Refactor account labels
Move them out of NeoChatUser, where they don't make any sense
2023-04-18 08:29:24 +00:00
Tobias Fella
b45898a5b6 Fix typo in actionName 2023-03-19 01:59:55 +01:00
James Graham
4289c1345f Update about neochat actionName to "aboutNeochat" and add one for about KDE 2023-03-15 14:56:37 +00:00
James Graham
64dee7eb12 Add right click menu to accountlist avatar
Adds a right click menu with the following options

![image](/uploads/09a266fb609bb8f94b206eb66f09e06d/image.png)

depends upon frameworks/kirigami!933
2023-03-14 23:00:41 +00:00
James Graham
741cb57105 Fix state event visiblity in timeline
Rework the filtering of state events in the timeline and for lastevent. This is now consistent everywhere and includes the following:
- The timeline settings are obeyed everywhere
- A new setting is added to filter all state events
- Last event obeys the timeline setting in all cases
- The roomlist will show a state event as the latest event if it's visible in the timeline
- Names are no longer hyperlinked in eventToString if plaintext is selected.

BUG: 455048\
Closes network/neochat#148
2023-03-13 19:00:22 +00:00
Joshua Goins
da6df18367 Add separate "About KDE" page to settings 2023-03-08 14:30:48 +00:00
Tobias Fella
ac88e13e58 Update Tobias' email address 2023-02-27 19:13:48 +01:00
Nicolas Fella
8825e6ec83 Add parent windows to file dialogs
This makes sure they are properly placed and modal to the main window
2023-02-25 12:14:58 +00:00
Joshua Goins
765a95050d Replace deprecated usage of iconName with icon.name 2023-01-28 17:48:45 +00:00
James Graham
5955c8e7dc Improve global notification settings
Separate the setting for globally setting push rules on/off from the configuration to decide whether desktop popup notifications are sent.

The current master setting is pulling double duty and should probably be separate as some people may want to see notification counts in Neochat but don't want to see popup notifications on their desktop.
2023-01-14 12:29:08 +00:00
Gary Wang
4c9f062a70 Fix from and to is not defined in NetworkProxyPage 2022-12-30 14:08:20 +00:00
Gary Wang
304054a4bb Add a compact room list option 2022-12-26 21:31:36 +00:00
James Graham
25c7b7b780 Hide loading item and show info message when on the devices page and not logged in. 2022-12-11 16:47:16 +00:00
James Graham
6b3f44e923 Fix crash when opening notification settings with no account by making sure that the keyword model doesn't try to update the noficiation settings when there is no active connection.
Also make sure that ability to add a keyword or change the global notiifcaiton state is disabled without an active connection as these will cause the same crash.
2022-12-11 13:11:02 +00:00
Zhang Dingyuan
9e01c96476 feat: support proxy user and password 2022-12-07 11:48:17 +08:00
Tobias Fella
d0dd86e6e8 Add option to hide deleted messages
Implements #430
2022-11-28 18:52:49 +00:00
Tobias Fella
f2503723a4 Don't show header on android
All of the corresponding settings are hidden so it would be empty
2022-11-26 23:31:05 +01:00
Tobias Fella
03f4234483 Modernize AboutData registration 2022-11-26 00:59:17 +01:00
Tobias Fella
debf2e41d6 Add nameFilter to custom emoticon file selector
BUG: 455011
2022-11-25 22:26:45 +00:00
James Graham
1fb3d35021 Add tooltips to the device settings page
Add tooltips to the device settings page

BUG: 456859
2022-11-24 21:17:44 +00:00
Devin Lin
10796b2359 Tune up settings to fix inconsistencies and improve layout
There were some inconsistencies in capitalization and colons, so those were fixed in this MR.
I also rearranged some settings in the appearance section to improve the grouping.
2022-11-24 20:19:39 +00:00
Devin Lin
60243c723a Fix account button margins on settings page 2022-11-24 19:54:56 +00:00
Tobias Fella
67980ea560 Fix starting device verification 2022-11-22 23:55:42 +01:00
Tobias Fella
3e5421604b Hide inapplicable settings on android
BUG: 456674
CCBUG: 454741
CCBUG: 456676
2022-11-21 15:24:29 +00:00
Carl Schwan
7a6ea752e7 Use MobileForm.AboutPage instead
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-11-21 08:46:06 +00:00
Carl Schwan
bbcbfb48d9 Use AboutCard Mobileform component
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-11-21 08:46:06 +00:00
James Graham
c0b29afc47 Fix logout
Fix the account editor setting page and the controller logout function so that you can logout without crashing.
2022-11-20 16:55:50 +00:00
James Graham
869bb5ad87 Refine mobileform settings
Numerous refinements to the new mobileform setting pages 
- Ensure left and right padding at the top level is 0 for mobile
- Centre align the avatar in the account editor page and add tooltip to button
- Fix the bubble/compact mode setting so that it fits when thin, i.e on mobile
- Fix the loading placeholder in device settings
2022-11-20 16:30:54 +00:00
James Graham
74cf615e53 Port the devices settings page to mobileform
As description, also note that the edit device name is now an inline element rather than an overlay.

Normal 
![image](/uploads/46008dfcaa7e29a809f5ef93d2d51b79/image.png)

Editing Name
![image](/uploads/841c70cf9ad03d7abeef62202d799a72/image.png)
2022-11-17 20:00:55 +00:00
James Graham
757733e531 Global Notifications Settings Fixes
Fix it so that scrollpage works and update switch to check delegate
2022-11-17 11:23:50 +00:00
Gary Wang
bd236e89a3 Use inputMethodHints, correct label text 2022-11-17 07:51:23 +00:00
Tobias Fella
c58d8b58ff Implement basic developer tools 2022-11-16 23:45:45 +00:00
James Graham
1946228d2b Add Global Notification Settings
This add the final list of settings in the main setting window as a new page notifications as there are quite a few now. This completes previous work on push rules giving the ability to set the default global rules. Adding keyword rules is also now supported. 

This also uses the new mobileform layout. The settings are designed to give some visual feedback as options for whether notifications are on/off, play a sound or are highlighted are chosen. The left icon is designed to mimic the notification dot in the roomlist. The whole mobileform delegate can also be clicked to cycle through the available options.

The rationale for whether an option is available is as follows:
- Highlight is not available if would lead to every message in a room being highlighted
- Keyword notifications cannot be switched off instead the rule is just deleted
- Only keyword rules can be deleted, default rules cannot be touched

There is also rules plumbed in for features that don't exist in neochat yet, i.e. encrypted chats and rooms, calls. I figured I may as well plumb these in and test them my plan was to hide them before merge, they can then be unhidden when the features are complete.

![image](/uploads/12fa8378847887ea7234e22b1460f952/image.png)
2022-11-16 20:59:35 +00:00
Gary Wang
f6b2340016 Use FormTextFieldDelegate for host field 2022-11-16 19:55:33 +00:00
Gary Wang
ff98e378e6 Port the network proxy page to mobileform 2022-11-16 19:55:33 +00:00
Carl Schwan
05c4d6d90c Port Settings to new Kirigami Form components 2022-11-16 09:52:40 +00:00
Tobias Fella
ab5afa26ef Always include QtQuick.Controls as QQC2 2022-11-14 23:21:14 +00:00