198 Commits

Author SHA1 Message Date
Carl Schwan
7f403c18ea Add manpage
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-11-13 15:16:08 +00:00
Tobias Fella
4bfd857093 Refactor input stuff
This is the start of a significant refactoring of everything related to sending messages, which is roughly:
- the chatbox
- action handling
- message sending on the c++ side
- autocompletion of users/rooms/emojis/commands/things i forgot

Notable changes so far include:
- ChatBox is now a ColumnLayout. As part of this, i removed the height animations for now. <del>as far as i can tell, they were broken anyway.</del> I'll readd them later
- Actions were refactored to live outside of the message sending function and are now each an object; it's mostly a wrapper around a function that is executed when the action is invoked
- Everything that used to live in ChatBoxHelper is now in NeoChatRoom; that means that the exact input status (text, message being replied to, message being edited, attachment) is now saved between room switching).
- To edit/reply an event, set `NeoChatRoom::chatBox{edit,reply}Id` to the desired event id, `NeoChatRoom::chatBox{reply,edit}{User,Message}` will then be updated automatically
- Attachments behave equivalently with `NeoChatRoom::chatBoxAttachmentPath`
- Error message reporting from ActionsHandler has been fixed (same fix as in !517) and moved to NeoChatRoom


Broken at the moment:
- [x] Any kind of autocompletion
- [x] Mentions
- [x] Fancy effects
- [x] sed-style edits
- [x] last-user-message edits and replies
- [x] Some of the actions, probably
- [x] Replies from notifications
- [x] Lots of keyboard shortcuts
- [x] Custom emojis
- [x] ChatBox height animations

TODO:
- [x] User / room mentions based on QTextCursors instead of the hack we currently use
- [x] Refactor autocompletion stuff
- [x] ???
- [x] Profit
2022-10-10 23:10:00 +00:00
Bhushan Shah
2839d44ea8 GIT_SILENT: bump version to 22.09 2022-09-27 20:53:11 +05:30
Tobias Fella
b8262fef92 Implement device verification 2022-09-21 11:49:11 +00:00
Nicolas Fella
55847cb9cc Refactor window handling code
Currently when we want to show/raise the window in reaction to the tray icon/notification being clicked etc we do this by emitting a signal on the controller.
This is connected to in main.qml, which does some things, then calls back to controller to do more things.

This is quite convoluted. Instead introduce a new class WindowController that is responsible for all things window, in particular showing/raising and config saving
2022-09-05 19:27:55 +00:00
Tobias Fella
24748d42d8 Port C++ to Qt6
QML is still broken
2022-07-10 21:43:57 +00:00
Heiko Becker
ef10042179 Sonnet is only a runtime dependency
Since 98571cb37d.
2022-06-25 15:16:54 +02:00
Bhushan Shah
da47d76a7f GIT_SILENT: bump version to 22.06 2022-06-23 21:11:20 +05:30
Tobias Fella
1bcff6503f Fix typo 2022-04-30 19:40:07 +02:00
Bhushan Shah
3396f831d4 GIT_SILENT: bump version to 22.04 2022-04-23 17:04:13 +05:30
Tobias Fella
0c5bd57976 Fix REUSE check on CI
The CI installs files to _include and _build in the source directory, which breaks
the REUSE check
2022-04-09 15:19:35 +00:00
Tobias Fella
b9152dc93c Add ki18n_install 2022-04-07 17:25:16 +02:00
Sandro Knauß
ca719b835e The component of QtCoro5 is called Core and not Coro ;) 2022-02-21 16:31:24 +00:00
Tobias Fella
290b2249c4 Port away from CMake deprecation 2022-02-14 22:41:42 +01:00
Bhushan Shah
1fd6b615ff GIT_SILENT: Update version and appstream data for 22.02 2022-02-08 18:23:50 +05:30
Antonio Rojas
9300e65239 Fix build with qcoro 0.4
Cmake targets and config files have been renamed. Check for the 0.4 name first and fall back to the old one
2022-01-06 21:37:07 +00:00
Tobias Fella
ca8702fd5e Don't set cmake policy when using libquotient 0.7 2022-01-02 22:47:42 +01:00
Carl Schwan
28137c8c86 Display monochrome icon in tray
Fix #471
2021-12-25 15:30:20 +01:00
Nicolas Fella
5e1adf7ea7 Fix notifications on Android
Bundle the notifyrc file in qrc so that KNotifications finds it
2021-12-22 14:23:47 +00:00
Bhushan Shah
28d68444d9 GIT_SILENT Update version number for 21.12 2021-12-05 10:18:09 +05:30
Bhushan Shah
32cd42f03f cmake: use the PROJECT_VERSION variable
Makes it easier to bump version using scripts
2021-12-04 18:01:38 +05:30
Carl Schwan
0f7461bd66 Bump dependencies 2021-11-13 13:21:01 +01:00
Carl Schwan
ee8be4b755 bump dependencies 2021-10-27 08:02:14 +00:00
Nicolas Fella
b6341eebfe Pass version information to AndroidManifest
Fixes #463
2021-10-24 22:49:33 +02:00
Tobias Fella
304c74101e Raise required CMake version 2021-10-03 19:13:33 +02:00
Tobias Fella
fa631ece3a Add feature to delete all loaded messages by user 2021-10-02 15:08:31 +00:00
David Redondo
6dab24bc74 Search for syntax-highlighting qml module
It's an optional part of syntax-highlighting so just searching for
the it is not enough we need to make sure to have the qml module.
Also don't link to it, we only need it at runtime.
2021-09-24 17:03:51 +02:00
Tobias Fella
0a39fccec8 Add syntaxhighlighting to the MessageSourceSheet 2021-09-19 18:56:57 +00:00
Nicolas Fella
132c9c50fa Check license compatibility
Adds a unit test that fails if our source files don't match our target license
2021-09-19 20:53:20 +02:00
Nicolas Fella
61202dcd5f Add clang-format commit hook 2021-08-23 19:38:56 +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
Nicolas Fella
81d0db7f1e Bump minimum KF5 version
We use KWindowSystem API from 5.82
2021-06-17 22:56:24 +02:00
Carl Schwan
0ff9425fee Add spellchecking suggestions 2021-06-10 11:29:59 +00:00
Carl Schwan
efb70287b9 Add setting page 2021-06-07 11:49:35 +02:00
Carl Schwan
8f309ca958 Add SpellChecking to NeoChat
Fix #98
2021-06-07 11:34:38 +02: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
4539aa3442 Update versioning to 1.2.80 2021-05-31 17:26:09 +02:00
Nicolas Fella
454e35433b Don't find Widgets on Android 2021-05-26 02:49:29 +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
9888e8424f Add License headers to cmake code 2021-04-06 15:50:54 +00:00
Nicolas Fella
361605df71 Consistently use NeoChat instead of Neochat 2021-03-19 08:05:09 +00:00
Nicolas Fella
798c5e8b7c Add runtime dependency on qqc2-desktop-style
It's the only style we really support (besides qqc2-breeze-style) so make sure distros ship it when shipping NeoChat
2021-03-18 19:59:51 +01:00
Tobias Fella
53670f5e81 Use QtKeychain on Android 2021-03-15 19:03:13 +00:00
Carl Schwan
74b3a83624 Update version number 2021-02-26 13:58:49 +01:00
Tobias Fella
89f9ec1ba6 Make CMake fail when libQuotient version is newer than 0.6 2021-02-18 22:41:58 +01:00
Tobias Fella
2558e1f6b5 DOn't try to compile without keywords 2021-02-17 21:00:11 +00:00
Tobias Fella
345eb0c229 Revert "Bump dependencies to libQuotient 0.7 (master)"
This reverts commit d646962ea1.
2021-02-17 21:00:11 +00:00
Nicolas Fella
5c8b9c0803 Don't use KDBusService on macOS 2021-01-31 22:06:44 +01:00
Nicolas Fella
e6f2b5ea7f Don't use KDBusAddons on Windows
It's only used for KDBusService, which likely doesn't work properly on Windows
2021-01-27 15:36:55 +01:00