Commit Graph

191 Commits

Author SHA1 Message Date
James Graham
6748a2d21d Fix the reply an edit text being shown in all chat rooms when multiple windows are open
Fix the reply an edit text being shown in all chat rooms when multiple windows are open. This is done by changing chatBoxHelper from a singleton to being instantiated for each instance of roompage.

BUG: 454963
2022-08-26 19:33:20 +00:00
Snehit Sah
91d1f6ffeb Show spaces horizontal bar
### Summary

This merge request adds a horizontal bar at top of room list, which shows spaces. By clicking on a space, user can filter out rooms belonging only to that specific space.

### Pending/ Help needed

#### Segfault when loading active connection on startup

Refer `void SortFilterRoomListModel::cacheSpaceHierarchy()` ([link](8c372800d7 (b969e462c30df43ef3714ea441948d8d8027f6a0_117_126))) in `src/sortfilterroomlistmodel.cpp`.

On [line 129](8c372800d7 (b969e462c30df43ef3714ea441948d8d8027f6a0_117_129)), I have called `connection->allRooms()`, which segfaults if the active connection hasn't been loaded yet. Is there a way to ensure that `Controller::instance().activeConnection()` on line 128 waits till connection is loaded?

#### Avatars

Avatars on space horizontal bar aren't aligned to vertical middle. I'll need help with that. 

Using the code below doesn't help with padding

```qml
delegate: QQC2.Control {
    topPadding: 10
    contentItem: Kirigami.Avatar { ..... }
}
```

This complains about uninitialized properties in `Kirigami.Avatar`. (`id`, `currentRoom`, `avatar`, `index` are properties utilized during run time)

After we get around these two issue, this MR will be ready from my side.
2022-08-25 13:46:09 +00:00
Tobias Fella
24748d42d8 Port C++ to Qt6
QML is still broken
2022-07-10 21:43:57 +00:00
Nicolas Fella
722aa422e7 Fix activating browser windows on Wayland
QDesktopServices::openUrl does not have XDG activation support yet so it can't raise an existing browser window when opening URLs

Instead use KIO::OpenUrlJob, which does support that
2022-07-05 22:55:12 +00:00
Tobias Fella
f9a96ccdab It's 2022 2022-06-15 16:16:51 +02:00
Tobias Fella
fb9183e5c3 Update bug reporting urls 2022-05-26 17:18:29 +02:00
Tobias Fella
98571cb37d Remove leftover spellchecking files 2022-04-30 14:48:28 +02:00
Nicolas Fella
be10e66974 Fix condition to build runner 2022-04-06 12:01:47 +02:00
Nicolas Fella
1cc8d915bc Add rooms runner
This allows to search for and open rooms in KRunner
2022-04-01 10:56:19 +00:00
Tobias Fella
db8b2fd64b Aggregate similar state events 2022-02-25 20:10:07 +00:00
Tobias Fella
1661d34d7c Use Quotient's NetworkAccessManager in QML
Will be required for showing encrypted images
2022-02-12 22:23:59 +01:00
Friedrich W. H. Kossebau
24644887e0 Modernize code to activate window on user activation
* use KWindowSystem::updateStartupId() for abstract update of X11
  startup id or wayland activation token
* call QWindow::raise() also for wayland to prepare when it will
  support it
* call KWindowSystem::activateWindow() for all platforms, like done
  by other apps on user-triggered activation
2022-01-16 19:15:22 +00:00
Tobias Fella
ca8702fd5e Don't set cmake policy when using libquotient 0.7 2022-01-02 22:47:42 +01:00
Tobias Fella
183c3227a9 Set bugs url 2022-01-02 22:34:06 +01:00
Carl Schwan
200281702a Raise windows also on other platforms
And unify code related to unique application handling
2021-12-28 23:50:25 +01:00
Nicolas Fella
dce7fde7a6 Fix Windows/mac build 2021-12-23 23:24:29 +01:00
Aleix Pol
284a1734ae Support raising when we receive a notification 2021-12-15 15:08:32 +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
Tobias Fella
d494eb1c63 Use Quotient's accountregistry 2021-11-01 19:36:39 +00:00
Carl Schwan
890860df92 Improve room setting
* Port away from OverlaySheet
* Use Kirigami.CategorizedSettings
* Add join rules (read only for now)
2021-10-21 20:00:50 +00:00
Tobias Fella
d28279313d Rename type because of conflict 2021-09-24 12:42:05 +02:00
Aleix Pol
265fcbfead Fix wayland activation
Adds support for xdg_activation_v1 when calling the application from the
system tray by using KStatusNotifier which supports it.
Listens to XDG_ACTIVATION_TOKEN as it's passed when we are started from
dbus.
2021-09-07 11:27:13 +00:00
Tobias Fella
0c95556618 Android: don't set fallback icon theme 2021-09-05 17:13:05 +02:00
Tobias Fella
31d395009e It's 2021 2021-09-05 16:55:50 +02:00
Tobias Fella
710f4d86d6 Android: Use breeze style 2021-09-05 16:51:45 +02:00
Nicolas Fella
589dfe0343 Re-run clang-format 2021-08-23 19:38:56 +02:00
Tobias Fella
046e823d1b Show blurhashes for image events 2021-08-21 00:39:57 +02:00
Tobias Fella
1427c8bf3f Check if arguments are empty 2021-08-03 19:24:45 +02:00
Tobias Fella
f8db9c4ecb Add libQuotient as KAboutComponent
With frameworks 5.85, this will make it show up in the aboutpage
2021-07-24 15:29:22 +00:00
Tobias Fella
ae60834c36 Refactor qml type registration 2021-07-14 20:19:17 +02:00
Jan Blackquill
30965cb503 feat: ponies.im emoji support (custom emojum) 2021-06-16 15:34:55 -04:00
Carl Schwan
0ff9425fee Add spellchecking suggestions 2021-06-10 11:29:59 +00:00
Carl Schwan
23bd73c499 Draft: Big overhaul of the settings 2021-06-07 11:34:12 +02:00
Carl Schwan
51ca4994ef Add webshortcut search 2021-06-06 14:27:12 +00:00
Carl Schwan
d6394fcd47 Set fallback icon theme to breeze 2021-05-27 17:24:11 +02:00
Hannah von Reth
92fcff1dce Fix Windows builds 2021-05-26 10:22:36 +02:00
Nicolas Fella
af75cebba1 Fix Android ifdef 2021-05-26 03:10:43 +02:00
Nicolas Fella
6e04d343b7 Use QGuiApplication instead of QApplication where appropriate 2021-05-26 03:05:00 +02:00
Carl Schwan
5f8795c41f Automatically enter room when joining it
Related to #352 but needs an additional Quotient patch to works
2021-05-07 22:37:16 +02:00
Srevin Saju
6575d23072 feat: trigger completion of commands on the input of backlash / char 2021-05-01 13:30:24 +03: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
Tobias Fella
a117eaa12b Improve License header style 2021-04-18 17:47:22 +02:00
Tobias Fella
e4ab2e565f Apply clang-format 2021-04-04 22:43:17 +02:00
Carl Schwan
603d4e1f0d Improve performance of the emoji model
Only display up to 10 emojis when searching

Related to #310 but a better solution needs to be found because we get
the same problem on big room when autocompleting usernames.
2021-03-20 15:32:33 +01:00
Carl Schwan
743c9972b9 Use singleton to pass edit/reply content to chatbox
This significantly reduce the complexity of everything.
2021-03-20 14:00:29 +00:00
Nicolas Fella
361605df71 Consistently use NeoChat instead of Neochat 2021-03-19 08:05:09 +00:00
Tobias Fella
699a86ef2e Windows: Attach to console 2021-03-01 20:50:27 +01:00
Tobias Fella
7f13bb81f8 Windows: Set font size to 10 2021-03-01 20:47:17 +01:00
Tobias Fella
464c48540e Improve first-run UX
- Replace LoginPage with step-by-step approach to support different login flows
- Implement login using SSO
2021-02-07 21:23:31 +00:00
Nicolas Fella
7aedfd0e17 Move message filtering to C++
The filter callback is called very often (O(messages)). The current
filter model shows some significant overhead in QML internals. Moving
that to C++ makes it quite a bit faster.
2021-02-02 21:51:27 +00:00