Commit Graph

186 Commits

Author SHA1 Message Date
Jan Blackquill
4955b1f7a0 Improve the file delegate
- cleaner code
- supports stopping downloads
- utilises the mimetype in order to display an icon
- better size formatting
- tooltips
2021-08-19 14:01:14 -04:00
Tobias Fella
e91a4f79a5 Adapt to libQuotient API changes 2021-08-10 17:09:21 +02:00
Tobias Fella
73de1af321 Fix pagestack after login 2021-07-06 15:45:19 +00:00
Carl Schwan
efb70287b9 Add setting page 2021-06-07 11:49:35 +02:00
Carl Schwan
13888401fa Don't use SystemTray integration on GNOME and ElementaryOS
These platforms don't support it so hiding NeoChat in the tray in these
platforms is not a good idea and other a rather poor user experience.
2021-05-27 17:39:30 +02:00
Nicolas Fella
6e04d343b7 Use QGuiApplication instead of QApplication where appropriate 2021-05-26 03:05:00 +02:00
Carl Schwan
0dbb56ba1e Fix creating broken direct chat for user with a direct chat already open
Just enter the existing room instead of trying to create a new one but
broken.

Fix !237
2021-05-23 21:46:40 +02:00
Tobias Fella
7a065c18b6 Port away from KDeclarative 2021-05-11 20:56:53 +02:00
Carl Schwan
873ab328dc Move room management from Controller to RoomManager 2021-05-08 01:17:19 +02:00
Carl Schwan
ff79ff8fa7 Remove android specific code path for key storage
it's now natively supported by QtKeychain. We don't have users so it's
not a big deal to discard their password.

Fix #247
2021-05-07 04:23:19 +02:00
Carl Schwan
757cc99ff0 Add indicator for lack of internet connectivity
Fix #315
2021-05-07 03:36:40 +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
a117eaa12b Improve License header style 2021-04-18 17:47:22 +02:00
Tobias Fella
00681a8abe Refactor error handling and move unrelated functions out of ActionsHandler 2021-04-16 10:07:10 +00:00
Tobias Fella
e4ab2e565f Apply clang-format 2021-04-04 22:43:17 +02:00
Torrie Fischer
eab5a43a2e Make controller.cpp compile on windows again 2021-04-03 00:27:24 +00:00
Tobias Fella
24d08dbe91 Add Ctrl-C handler
Implement #124
2021-04-02 18:12:46 +02:00
Tobias Fella
53670f5e81 Use QtKeychain on Android 2021-03-15 19:03:13 +00:00
Arnav Rawat
b6787ae242 Allow the avatar to be changed
This Merge Request allows an avatar to be set through the userEditSheet
The parts in controller.cpp decode the url and check whether the image
is valid, through qimagereader.
2021-03-05 00:31:44 +00:00
Carl Schwan
481a2e3681 Don't show "Close in System Tray button" on Android
Fix #273
2021-02-26 14:15:33 +01:00
Tobias Fella
a7e61f0e20 Revert "Fix build failure"
This reverts commit ab8dabc280.
2021-02-17 21:00:11 +00:00
Tobias Fella
0ca2eb4008 Add option to disable system tray integration
Implements #59
2021-02-13 19:18:28 +00: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
Carl Schwan
6dcfad1f8d Don't show login page when starting NeoChat
This was caused by us calling initiated to early. Only do it when no
accounts exists or that at least one account fails to login.

Fix #248
2021-02-06 00:16:30 +00:00
Nicolas Fella
92e00587f7 Use QSystemTrayIcon instead of KStatusNotifierItem
KSNI doesn't support Windows and macOS and we don't need any of the features it provides over QSystemTrayIcon

Also remove some dead code
2021-02-02 21:51:05 +00:00
Tobias Fella
a653be8be8 Load serverAddress using QUrl::fromUserInput()
Fixes login when 'https://' is not added to the server url
2021-01-17 01:32:03 +01:00
Carl Schwan
cd1bec9977 Introduce the ActionsHandler 2021-01-08 23:12:09 +00:00
Carl Schwan
2e0096380f Fix NeoChat not syncing
This problem was caused because addConnection was starting the sync
proccess unfortunally because the user wasn't connected this aborted
almost immediately and then the sync proccess wouldn't run at all.

Now start the sync proccess after making sure we are connected.

Fix #228
2021-01-08 21:42:07 +01:00
Carl Schwan
ca5f95b298 Handle non-consistent configuration 2021-01-08 21:26:56 +01:00
Carl Schwan
249054b57f Fix initial loading of room 2021-01-08 17:17:52 +00:00
Nate Graham
ab8dabc280 Fix build failure
isJobRunning() -> isJobPending()
2021-01-08 07:35:29 -07:00
Carl Schwan
8224d3ae9f Save and restore window size 2020-12-30 13:19:16 +00:00
Tobias Fella
e6b97e3350 Fix accountCount not updating correctly 2020-12-30 13:17:22 +00:00
Tobias Fella
2c1cbc91d8 Fix active connection not loading on startup 2020-12-30 13:17:22 +00:00
Tobias Fella
bd00a73aa9 Ask for consent to terms and conditions if required 2020-12-30 13:17:14 +00:00
Carl Schwan
1f065e46cf Simplify shortcuts code in hamburger menu 2020-12-28 12:35:50 +01:00
Tobias Fella
0fe0f45944 Fix segfault/assert when logging out of account 2020-12-28 00:07:37 +00:00
Nicolas Fella
a52dbb0042 Remove modules from Qt includes 2020-12-28 00:36:17 +01:00
Nicolas Fella
6a1fd3ff31 Don't call stopSync when destroying controller
Connection does that internally already
2020-12-28 00:31:10 +01:00
Tobias Fella
3858956e82 Fix login for homeservers without well-known 2020-12-27 23:36:35 +01:00
Tobias Fella
c449a8fafe Apply clang-format 2020-12-25 22:23:35 +01:00
Carl Schwan
00e6584f84 Last icon fix 2020-12-17 10:28:54 +01:00
Tobias Fella
8e2cdc8f08 Implement a device management page 2020-12-16 23:37:49 +00:00
Tobias Fella
b33ee619db Port away from deprecated API 2020-12-07 14:29:46 +01:00
Carl Schwan
7d8e344842 Remember active connection instead of loading first connection
Fix #122
2020-12-04 23:16:21 +01:00
Carl Schwan
21cd37c21e Completely rework login job
Now .well-know is obsolete and also error message are correctly
displayed
2020-12-03 00:34:10 +01:00
Carl Schwan
29fe130f6d Use standard Ctrl+Shift+Comma shortcut for showing settings
Fix: #42
2020-12-01 15:45:41 +01:00
Carl Schwan
136a8f2af8 Clang-tidy + clang-format 2020-11-27 00:26:39 +01:00
Aleix Pol
0906e0c680 Fix system tray, clean it up
At first I noticed it wasn't working like it should, then realised it
was using APIs that are largely unadvised. Also I saw there's some kind
of system to render numbers in there but this is also something we
generally do not do. There's better ways to display such information
(e.g. using the com.canonical.Unity interface), so I wouldn't bother
having ad-hoc code in there. And if we need to have it, we better have
it in KNotifications.
It now will also use the icon from the theme.
2020-11-24 13:57:00 +00:00
Tobias Fella
0b8db12543 Don't use trayicon on android 2020-11-23 00:03:49 +01:00