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
2021-04-02 23:55:13 +00:00
2022-07-27 10:01:35 +00:00
2021-10-24 23:03:02 +02:00
2021-05-24 15:44:05 +00:00
2020-12-02 20:12:00 +00:00
2022-08-21 01:56:52 +00:00
2022-08-25 13:46:09 +00:00
2022-07-27 10:01:35 +00:00
2021-11-13 14:59:21 +01:00
2022-07-27 10:01:35 +00:00
2022-04-09 21:33:52 +02:00
2021-01-27 14:51:10 +01:00
2022-07-10 21:43:57 +00:00
2021-01-27 18:54:13 +01:00
2021-05-22 19:12:29 +00:00
2020-12-15 18:13:25 +01:00
2021-12-25 15:30:20 +01:00

NeoChat

NeoChat is a client for Matrix, the decentralized communication protocol for instant messaging. It is a fork of Spectral, using KDE frameworks, most notably Kirigami, KConfig and KI18n.

Download on Flathub

Get it

A stable release is available for download for Linux distributions.

Along with the stable release, a Flatpak version is available for the nightly version:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --if-not-exists kdeapps --from https://distribute.kde.org/kdeapps.flatpakrepo
flatpak install kdeapps org.kde.neochat

A nightly build is also available for Android in the KDE nightly F-Droid repo and can also directly be downloaded from the binary factory.

Nightly builds for Windows, MacOS and AppImages can also be downloaded from the binary factory.

Timeline

Features

  • Sending messages
  • Sending files from clipboard and filesystem
  • Reply to message (right-click on a message to access menu)
  • Start a private chat (but not encrypted)
  • Show notifications, for the moment there is only a global switch to disable it. We plan to implement the configuration part of the specification soon.
  • Autocompletion of usernames in chat
  • Emoji picker
  • Basic room setting page
  • Send and accept invitations
  • /rainbow (very important)
  • /me

NeoChat is still missing a few features to become a full-featured Matrix client (most notably encryption support and video chat support). We welcome contributions in this direction.

Contact

You can reach the maintainers at #neochat:kde.org, if you are already on Matrix. Development happens in http://invent.kde.org/network/neochat (not in GitHub).

Acknowledgement

This program utilizes libQuotient library and some C++ models from Quaternion.

This program is a fork of Spectral.

License

GPLv3

This program is licensed under GNU General Public License, Version 3.

Description
A client for matrix, the decentralized communication protocol
Readme 74 MiB
Languages
C++ 51.4%
QML 31.5%
C 15.1%
CMake 1.5%
Python 0.5%