Commit Graph

65 Commits

Author SHA1 Message Date
James Graham
cd257137ba Fix typing indicator causing markAllMessagesAsRead
Move the typing indicator out of the listView header so it doesn't resize the view when appearing and disappearing causing all messages to be marked as read

BUG: 457666
2022-11-20 16:48:36 +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
Tobias Fella
8d44dd948a Add missing import to ConfirmLogoutDialog 2022-11-18 13:42:45 +01:00
Tobias Fella
d70f77f622 Allow adding a reason for deleting messages
BUG: 458911
2022-11-18 00:56:12 +01:00
Tobias Fella
b282c335d4 Ask for confirmation before activating encryption in a room 2022-11-17 23:24:30 +01: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
Gary Wang
de1833cc40 port Security and Notifications tab of room settings to mobileform 2022-11-17 17:37:44 +00:00
James Graham
d7f3284aa2 Room Page Up/Down buttons always on top
Ensure that in the small number of cases where the room page up down buttons overlap messages due to the screen being thin that they are always on top

BUG: 461718
2022-11-17 14:35:59 +00:00
James Graham
7e82f75d14 More ApplicationWindow QQC2 2022-11-17 11:31:18 +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
2cd01164a6 add missing QQC2s 2022-11-17 18:16:46 +08:00
Gary Wang
cae6479a3a Add missing QQC2 to RoomListContextMenu 2022-11-17 08:18:12 +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
Tobias Fella
752e7f4d9a Implement changing join rules 2022-11-16 22:55:04 +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
Tobias Fella
73e7f3eaf1 Make network warning label wrap
BUG: 456866
2022-11-16 20:53:28 +01:00
Carl Schwan
5e15c38afb Add a confirm dialog for the sign out
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-11-16 18:03:25 +00:00
Carl Schwan
05c4d6d90c Port Settings to new Kirigami Form components 2022-11-16 09:52:40 +00:00
Tobias Fella
5a8cea6d44 Add missing QQC2 2022-11-16 02:05:51 +01:00
James Graham
5f93dca878 Missing QQC2 on Tooltip in ImageDelegate was causing fullscreen image not to open. 2022-11-15 18:18:48 +00:00
James Graham
95bdaf7b3d Make it so that when the window is wide enough the compact mode messages are indented slightly so that they don't overlap the up and down buttons 2022-11-15 17:54:07 +00:00
Tobias Fella
29603313a5 Fix rendering of custom emoticons 2022-11-15 17:44:29 +00:00
Tobias Fella
0eeb7ffbc9 Fix eliding matrix id and display name in account switcher 2022-11-15 16:37:48 +00:00
Gary Wang
2f6f91e678 fix WelcomePage not working due to missing QQC2 2022-11-15 22:40:02 +08:00
Jan Bidler
5f12e10fe9 Adds a workaround to login on servers without .well_known 2022-11-14 23:31:36 +00:00
Tobias Fella
ab5afa26ef Always include QtQuick.Controls as QQC2 2022-11-14 23:21:14 +00:00
Tobias Fella
b332993b77 Close fullscreen image when pressing the back button 2022-11-14 23:05:20 +00:00
Tobias Fella
42cd470e15 Fix running without polls 2022-11-14 19:32:46 +01:00
Tobias Fella
cd461628ab Account switcher fixes, part 1
- Make account index notifyable
- Give login window a title
- Fix height of account list
2022-11-14 02:30:06 +01:00
Tobias Fella
0e782c4a93 Implement viewing and responding to polls 2022-11-14 01:40:44 +01:00
Tobias Fella
425f2a4b85 Add action to open account editor from account switcher 2022-11-13 19:11:50 +01:00
Tobias Fella
90cbe37a92 Create new Account Switcher 2022-11-13 15:54:42 +00:00
Tobias Fella
cfe3825d63 Stop lying to our users 2022-11-13 16:37:11 +01:00
Gary Wang
6ecc18d985 Add proxy config with Socks5 and HTTP proxy support
Resolve https://invent.kde.org/network/neochat/-/issues/547

This patch attempts to add proxy config support to NeoChat so people could set a HTTP or Socks5 proxy for anonymity or privacy/censorship-circumvention reason.

Currently this will only allows setting proxy type, host and port (which should be usable for most of the cases). Settings in that page needs to be applied by clicking the Apply button so the proxy setting won't accidentally get changed.

Proxy is disabled (use System Default option) by default.
2022-11-13 15:13:28 +00:00
James Graham
815ec1b30e Show animated images
Use animated images in imageDelegate and FullScreenImage so that animated images can be viewed.

Note webp animated images don't work this is a bug with qt see https://bugreports.qt.io/browse/QTBUG-70245
2022-11-12 14:42:20 +00:00
James Graham
460997bca3 Refactor Timeline Container
Update the base item in the timeline container to be a column layout. This means that all the items can be laid out automatically without the need to set lots of manual settings and anchoring. 

The overall height calculation for the delegate is vastly simplified (in fact it is removed) which deals with the fact that there were still instances where the manual calculation didn't work e.g. a delegate with a reaction followed by another message from the same user didn't give the correct bottom margin (see below)

before:
![timelineContainer_height_bug](/uploads/5b14568294698198dee8412f6cd19be0/timelineContainer_height_bug.png)

after:
![timelineContainer_height_bug_fix](/uploads/c5828f1b793817fd0ed523c3580a2ecc/timelineContainer_height_bug_fix.png)

This also improves upon the recently changed hover highlight behaviour. The previous patched moved it to cover the avatar as well as the bubble however it also covered the section and reaction when present which didn't look good. The highlight now only covers the avatar and bubble

before:
![highlight_bug](/uploads/0d08dc769ff737e0fb4981243d02d5f3/highlight_bug.png)

after:
![highlight_bug_fixed](/uploads/536ed672d0f1bb6cbe6c45777fed4b53/highlight_bug_fixed.png)

This also cleans up some of the margins in both bubble and compact to ensure consistency.
2022-11-11 17:05:14 +00:00
Tobias Fella
957ebb5502 Don't open context menus when touching on a delegate 2022-11-10 23:01:46 +01:00
Tobias Fella
efd78c3fc7 Use monochrome icon for emoji in ChatBar
BUG: 456671
2022-11-10 21:45:19 +01:00
Tobias Fella
d02b4007c0 Fix showing old name for rename events 2022-11-10 21:37:03 +01:00
Tobias Fella
962a1b228c Highlight other party in state events
BUG: 458267
2022-11-10 20:15:07 +00:00
James Graham
7aed6d2e44 Apply max image size so they don't become huge in compact mode.
Set max size to gridUnits * 30. The aim is to allow them to be generally bigger than bubble mode but not so huge that they take up the entire screen

BUG: 454878
2022-11-10 18:49:52 +00:00
Tobias Fella
782b71c826 Use plaintext in reaction delegate 2022-11-10 14:02:47 +01:00
James Graham
a4c445d1a5 Add a section label at the top which shows the date label of the next section
**Updated**

Add a section label at the top which shows the date label of the next section up. This means that the user will always be able to see the date of all messages on screen.

![image](/uploads/ecbcdc0740877ea0d72e735176353036/image.png)

From the feedback given I've added a background at the top. I also added an underline to the heading which applies both at the top and in the listView since they use the same component. I added it originally for the top because I felt it looked a bit weird having messages appear from behind a heading background the same colour as the listView background.

Note: I know the gaps between messages are not right. I had to set the spacing in the listView to 0 to prevent itemAt returning null. I plan to add it back in as part of the delegate code before it would be merge.

Fixes BUG:454880
2022-11-08 19:40:56 +00:00
James Graham
5bd184b297 Prevent logging into the same account twice
Check if an account is already logged in before allow the login process to continue.

BUG:459603
2022-11-07 18:26:47 +00:00
Tobias Fella
7f353ca0fa Fix seconard window 2022-11-04 22:33:32 +01:00
Nate Graham
b9d7e43fd1 Add icons to room actions 2022-11-04 15:08:50 -06:00
Tobias Fella
da9de1d2a8 Use Plaintext in CompletionMenu 2022-11-03 23:52:04 +01:00