Commit Graph

36 Commits

Author SHA1 Message Date
James Graham
56f5ef2611 MediaSizeHelper
Create a media size helper and use it to force video and images to be the correct size even in replies.
2023-09-02 16:43:05 +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
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
James Graham
39388e204e Roomlist Drag Improvements
- Move the room list drag handler and logic to RoomList.qml.
- Make the compact mode logic not rely on a saved width value from Config as this was causing the room list to have large icons the first launch after a recent update.
- Instead save the compact mode state and initialise the width based upon that.
2023-02-28 19:30:20 +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
304054a4bb Add a compact room list option 2022-12-26 21:31:36 +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
fda433706b Remember last used folder in save dialogs
BUG: 460166
2022-11-27 19:54:07 +00:00
Tobias Fella
c58d8b58ff Implement basic developer tools 2022-11-16 23:45:45 +00: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
Slawek Kaplonski
f64608f87c Add config option to make link previews configurable
This patch adds new config option "ShowLinkPreview" which can
control if links' preview in the chat messages should be loaded and
shown or not.
2022-10-16 14:21:54 +02:00
James Graham
db5e328869 Add automatic room sidebar hiding option
Add menu option to change whether the room information drawer is opened automatically or not. This also adds some code to switch off the dim effect during the first animation after modal is changed as this looked bad.

Implements network/neochat#243

Slight cleanup removing the edge option for context drawer from main.qml as this is duplicated from RoomDrawer.qml
2022-06-01 20:09:47 +00:00
Tobias Fella
5595d8f896 Allow disabling sending of typing notifications 2022-05-02 10:36:48 +00:00
Fushan Wen
59430cce89 Add support for minimizing to system tray on startup
If the user wants to automatically launch NeoChat when the system
starts up, the user may also want to minimize the window to system tray
on startup. So a new option named "Minimize to system tray on startup"
is added.

The option is only visible on desktop platforms, and is only enabled
when "Close to system tray" is checked.

In order to restore window geometry for the first time the user opens
the window if the option is checked,

1. a new function named `restoreWindowGeometry` is added, and
   `restoreWindowGeometryConnections` will be enabled if the option is
   checked, and will be disabled after the window debuts.
2. `saveWindowGeometryConnections` will be enabled if the option is not
   checked, and will be disabled if checked and enabled after the window
   debuts.
2021-12-13 22:05:20 +08:00
Carl Schwan
6c3ae87340 Support resizing right drawer
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-10-21 23:04:52 +02:00
Milo Kerr
e064243d66 Adds the ability to show avatars in the sidebar independently of whether they are shown in the chat area.
Fix #408
2021-08-11 20:33:56 +00:00
Devin Lin
592d3160df Add translucency slider and set default to 30%
Apply 1 suggestion(s) to 1 file(s)
Fix
2021-07-27 13:34:15 -04:00
Carl Schwan
a086964769 Make sidebar collapsible 2021-06-14 12:50:09 +00:00
Srevin Saju
b412719f2c feat: show local users's messages on right 2021-06-13 18:52:17 +00:00
Carl Schwan
efb70287b9 Add setting page 2021-06-07 11:49:35 +02:00
Carl Schwan
23bd73c499 Draft: Big overhaul of the settings 2021-06-07 11:34:12 +02:00
Carl Schwan
1e7d3046aa Remove link confirmation dialog
Fix #347
Fix #348
2021-05-07 01:55:08 +02:00
Carl Schwan
0a51c845e6 Implement quick edit 2021-05-06 16:14:38 +00:00
Carl Schwan
b7d98fc6d9 Port RoomManager to C++
This also makes it possible to handle the Matrix URI
2021-04-27 21:07:10 +00:00
Alexey Andreyev
09dff4553a Fancy effects: update neochat config 2021-02-23 20:49:35 +00:00
Tobias Fella
0ca2eb4008 Add option to disable system tray integration
Implements #59
2021-02-13 19:18:28 +00:00
Carl Schwan
f6ac8ccb45 Improve timeline state event text representation
Change are inspired by Quatermion model

* Fix invite events not getting displayed correctly
* Add some options to control what get displayed (for the moment without
a GUI
* Show reason for a state event if it exists
2021-01-08 17:18:48 +00:00
Carl Schwan
7d8e344842 Remember active connection instead of loading first connection
Fix #122
2020-12-04 23:16:21 +01:00
Carl Schwan
8a3659efba Add option to toggle the display of users avatar in timeline on and off 2020-12-02 18:25:29 +01:00
Carl Schwan
b6ad038a54 Add option to disable showing new join and leave events 2020-11-24 10:39:25 +01:00
Carl Schwan
5d221b995a Add an unified room list view
This is off by default and can be enabled in the setting
2020-11-23 17:41:56 +00:00
Tobias Fella
039816e8eb Show notifications 2020-11-18 21:14:40 +00:00
Carl Schwan
03921e02a6 Remember last opened room 2020-11-17 19:45:22 +00:00
Carl Schwan
be1467f718 Save collapsed categories 2020-11-17 19:45:22 +00:00
Carl Schwan
f98834bb03 Add KConfigXt configs 2020-11-17 19:45:22 +00:00