Commit Graph

191 Commits

Author SHA1 Message Date
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
James Graham
4337d0d5d8 Removing all \n is incorrect as these are used to show linebreaks in the html formatted body. Instead use the CMARK_OPT_HARDBREAKS options so these softbreaks in the markdown string are converted to hard breaks <br/> in the html.
Also remove 2 step process to replace <!-- raw HTML omitted --> and straight replace with "" to ensure no real breaks are removed
2022-07-12 14:03:21 +00:00
Tobias Fella
24748d42d8 Port C++ to Qt6
QML is still broken
2022-07-10 21:43:57 +00:00
James Graham
ede860c99f For all html messages \n needs to be replaces with <br> or the linebreaks are lost 2022-06-05 12:36:33 +01:00
Tobias Fella
7214936eaa Fix compilation against libQuotient 0.6 2022-05-30 14:41:00 +02:00
Tobias Fella
5a7c3295dc Revert "Linkify urls"
This seems to mess up user mentions. Probably a bug in the regex;
Reverting for now

This reverts commit 1763dc13c5.
2022-05-30 14:28:35 +02:00
Tobias Fella
dce4a409c7 Adapt to libQuotient API changes 2022-05-30 14:23:29 +02:00
Tobias Fella
1763dc13c5 Linkify urls 2022-05-19 23:14:33 +02:00
Tobias Fella
6871ed051c Always send messages as HTML
This works around limitations of Qt's rich text detection and prevents
some messages from being shown wrong, like in #532.

In theory it is not ideal to send every message as HTML, however it's
not a significant problem and we already do it for edits and replies
(which also explains why edited messages are sometimes magically
rendered correctly while the original is not).
2022-05-15 20:31:18 +00:00
Tobias Fella
aef6d6fc85 More typing notification improvements 2022-04-08 20:37:17 +02:00
Tobias Fella
432e209b16 Try fixing stuck read notifications 2022-04-08 20:33:41 +02:00
Snehit Sah
9a5f2e4938 Show subtitle text without markdown
Create new role in RoomListModel to send back cleaned subtitle text
2022-03-31 17:39:34 +00:00
Tobias Fella
12f3f72a67 Lower typing notification timeouts 2022-03-08 15:00:00 +01:00
Tobias Fella
be802a28c2 Make invitation notifications persistent 2022-03-01 00:29:07 +00:00
Tobias Fella
022951a9df Add nicer delegate message for widget events 2022-02-25 20:49:57 +00:00
Tobias Fella
faeb1964bd Prepare Image & Video loading for E2EE
Changes the urls to make sure they are decrypted, while making sure that
it is backwards compatible to libQuotient 0.6
2022-02-25 21:15:46 +01:00
Tobias Fella
db8b2fd64b Aggregate similar state events 2022-02-25 20:10:07 +00:00
Tobias Fella
5a1198d28c Set empty state key for room avatar change events 2022-01-29 01:13:55 +01:00
Carl Schwan
ca2b5fde8e Remove lag when starting user autocompletion
We realistically don't need to interate over every user when typing '@',
since this is not usefull for the user and create some lag.
2021-12-25 18:31:22 +01:00
Tobias Fella
d0e04e0c97 Adapt to libQuotient API change 2021-12-10 18:06:12 +01:00
Tobias Fella
5b893d7736 Show a notification for invited rooms 2021-11-17 12:24:25 +00:00
Tobias Fella
9027db264a Don't capture 'this' implicitely 2021-11-13 14:17:20 +01: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
22609b21df Add custom eventToString message for power level events 2021-10-16 18:17:49 +00:00
Tobias Fella
7bb7b7850b Remove some dead code 2021-10-12 13:29:38 +02:00
Tobias Fella
82d49b91e7 Add custom message for acl events in statedelegates 2021-10-12 11:15:15 +00:00
Tobias Fella
97f8ad88fb Fix statedelegate text for displayname changes 2021-10-12 00:28:47 +02:00
Tobias Fella
7d6faaafea More HTML safety in statedelegates 2021-10-04 15:56:24 +02:00
Tobias Fella
fa631ece3a Add feature to delete all loaded messages by user 2021-10-02 15:08:31 +00:00
Arnav Rawat
334930808c Change wording for knock events 2021-10-02 14:37:06 +00:00
Tobias Fella
7c7d296981 Fix HTML escaping 2021-09-24 12:44:32 +02:00
Tobias Fella
83d03b0e06 Fix html injection 2021-09-11 16:29:49 +02:00
Nicolas Fella
589dfe0343 Re-run clang-format 2021-08-23 19:38:56 +02:00
Tobias Fella
e91a4f79a5 Adapt to libQuotient API changes 2021-08-10 17:09:21 +02:00
Tobias Fella
de7354f056 Adapt to changes in libQuotient API 2021-07-31 01:00:58 +02:00
Smitty van Bodegom
8474136f57 Support displaying spoilers
This adds support for displaying recieved spoilers, but not sending
them. Spoilers are displayed as a black rectangle, and can be clicked on
to be revealed. If the last message in a channel was a spoiler, it is
not shown on the left sidebar.

The spoiler blackening is done in CSS, but to check if a message
contains a spoiler for determining if it should cause a different cursor
to be displayed and if it should be shown in the sidebar, a simple check
of if the message contains "data-mx-spoiler" is used.
2021-06-17 22:39:50 +00:00
Jan Blackquill
30965cb503 feat: ponies.im emoji support (custom emojum) 2021-06-16 15:34:55 -04:00
Nicolas Fella
1cec672c0a remove spurious QFileDialog include 2021-05-26 03:09:08 +02:00
Tobias Fella
48d1fa27cf Don't offer banning users that are already banned 2021-05-22 13:09:52 +02:00
Tobias Fella
08632b4178 Make NeoChat compile against libQuotient master and 0.6
Requires a few ugly ifdefs, but it will make developing against the
master branch of libQuotient easier
2021-04-23 23:53:03 +02:00
Tobias Fella
2cb81d1276 Unify License header style in C++ 2021-04-06 19:25:06 +02:00
Srevin Saju
78f7f815ca feat: add a quick reply workflow using the Ctrl+Up arrow key
neochat now supports a quick reply shortcut, which helps to reply to
the last event in a room.
2021-04-05 12:17:51 +00:00
Tobias Fella
e4ab2e565f Apply clang-format 2021-04-04 22:43:17 +02:00
Tobias Fella
9f637ab925 Improve notification handling 2021-03-29 21:24:26 +00:00
Carl Schwan
879009a6f7 Support inline reply
needs https://invent.kde.org/frameworks/knotifications/-/merge_requests/28
2021-03-14 17:03:13 +00:00
Carl Schwan
2f06d45589 Input field fixes
* Message with multiple mentions are not broken in IRC. Fix #267
* Editing a message won't remove mentions anymore


(cherry picked from commit bb3b3bc088)
2021-03-01 13:26:25 +00:00
Carl Schwan
12624c991c Revert "Revert "Improve sending message with mentions""
This reverts commit 0f043e36c4.
2021-02-26 13:58:49 +01:00
Filip Bengtsson
6fca7830a3 Add i18n comments 2021-02-24 19:11:12 +00:00
Tobias Fella
b67a35bfe3 Fix another include 2021-02-17 23:26:52 +01:00
Tobias Fella
cc2b183fc5 Revert "Switch to newDisplayName() and newAvatarUrl()"
This reverts commit a1b66f3aa6.
2021-02-17 21:00:11 +00:00