Max Sandholm
19b526d453
Use system color scheme (using a Qt stylesheet) #104
...
The color scheme of nheko obeys the default color theme of Qt
(i.e. the system theme). It uses a Qt stylesheet to accomplish this,
which means replacing the color theme with a custom theme would only
be a matter of writing a new style sheet and loading it into the app.
2017-11-16 16:33:52 +02:00
Konstantinos Sideris
4166a863b4
Lint
2017-11-15 18:42:21 +02:00
Jani Mustonen
4e1c8dd663
Implement a per-room send queue. ( #118 )
...
[ci skip]
2017-11-15 18:38:50 +02:00
Konstantinos Sideris
e40dab9f98
Improve settings menu layout
2017-11-09 22:04:40 +02:00
Konstantinos Sideris
a6b84fac45
Remove unnecessary layouts
2017-11-08 23:09:15 +02:00
Konstantinos Sideris
24dd76ee0b
Parse unsigned key
2017-11-06 22:14:16 +02:00
Benjamin Saunders
4ccb5ed81f
Add input history, enable multi-line input, refactor commands ( #119 )
...
This also fixes the transmission of mis-typed commands as messages,
fixes inability to send messages that start with a command, and does
some initial work towards automatically resizing the input field to fit
the input message.
2017-11-05 23:01:21 +02:00
Jani Mustonen
13cb0521fa
Improvements to the quick switcher ( #109 )
...
- Ghetto disambiguation for the quick switcher
- Fix the Ctrl+K shortcut
- Fix keyboard focus when the quick switcher is closed
fixes #114
2017-11-03 08:54:17 +02:00
Jani Mustonen
84741adc16
Implement a setting for the tray icon ( #108 )
2017-11-02 22:00:43 +02:00
Konstantinos Sideris
886edd03fb
Add dummy settings menu
2017-11-02 00:41:13 +02:00
Thomas Herzog
287b5aa4c0
Implemented sending of typing notifications ( #105 )
2017-10-31 20:11:49 +02:00
Konstantinos Sideris
91b8427795
Add missing headers
2017-10-28 21:24:42 +03:00
Konstantinos Sideris
e224440f5d
Display user avatar changes
2017-10-28 21:11:40 +03:00
Konstantinos Sideris
c18a49915b
Save the changes between syncs in cache
...
- Fixes high cpu issues caused by the serialization of the whole
in-memory state.
- Display name changes are now visible in the timeline.
2017-10-28 20:46:34 +03:00
Konstantinos Sideris
a17b6dffaf
Clean up headers
2017-10-28 15:46:39 +03:00
Konstantinos Sideris
845228ac6a
Add scroll-down button
2017-10-27 22:20:33 +03:00
Konstantinos Sideris
8e15a5080d
Adjust scrollbar only after pagination ( #94 )
...
The scrollbar will stay in the same position if new messages
are added to the bottom of the timeline.
2017-10-27 13:36:26 +03:00
Konstantinos Sideris
c6e1068e0e
Lint
2017-10-23 00:19:35 +03:00
Konstantinos Sideris
143ed5176a
Use callbacks on MatrixClient
2017-10-22 22:51:50 +03:00
Konstantinos Sideris
c0e55378c3
Remove extra inline keywords
2017-10-22 19:03:55 +03:00
Konstantinos Sideris
3cae6c3983
Remove ui flickering when adding new timeline events
2017-10-21 18:53:15 +03:00
Konstantinos Sideris
13e526c27d
Retry initial sync ( #19 )
2017-10-20 22:32:48 +03:00
Konstantinos Sideris
8a9a513ecd
Move ctrl-k callback to the MainWindow
2017-10-20 21:39:05 +03:00
Konstantinos Sideris
9b60fdd620
Remove sync timer
2017-10-20 21:21:04 +03:00
Rokas Kupstys
3205e5fdd3
Make sidebar topic expand on click and fix html formatting of elided text. ( #96 )
...
Fixes #95
2017-10-20 20:58:23 +03:00
Konstantinos Sideris
8299a74775
Elide room topic
2017-10-19 19:04:51 +03:00
Konstantinos Sideris
8390ff253d
Fix icons for retina displays
2017-10-15 22:08:51 +03:00
Konstantinos Sideris
ac8e42b926
Reduce timeline flickering
2017-10-09 01:32:25 +03:00
Konstantinos Sideris
76ddfb792b
Add /join command support
2017-10-08 22:38:38 +03:00
Konstantinos Sideris
ac525970b0
Add snackbar
2017-10-08 22:01:18 +03:00
Konstantinos Sideris
ebe36b5713
Drop the loading screen if consensus can't be achieved
2017-10-08 21:35:37 +03:00
Konstantinos Sideris
6e1285bb0e
Prevent FOUC
2017-10-07 20:51:35 +03:00
Konstantinos Sideris
bc4b47a5e3
Use shared pointer for the modals
2017-10-07 20:51:35 +03:00
Konstantinos Sideris
985530e99b
Resume sync when connectivity is established
2017-10-05 18:13:11 +03:00
Konstantinos Sideris
28b3a3fde0
Put typing notifications above the text input
2017-10-04 22:00:26 +03:00
Konstantinos Sideris
d60c2b76e3
Receive typing notifications ( #88 )
2017-10-04 11:33:34 +03:00
Konstantinos Sideris
88349eae90
Recover from corrupted cache data
...
Make Cache constructor exception free
fixes #74
2017-10-03 21:16:31 +03:00
Max Sandholm
7ad45d8d64
React to externally left and joined rooms, and add "leave room" button in room menu ( #75 )
...
* Initial "join room" feature.
* React correctly to remotely joined rooms.
* Leaving rooms implemented both locally using the room menu
in nheko, and reacting properly when leaving a room remotely
from another client.
2017-10-01 19:49:36 +03:00
Konstantinos Sideris
6e0ae807d5
Update badge counter only on change
2017-10-01 18:15:23 +03:00
Konstantinos Sideris
0c0ac68bc2
Remove extra clang-format options
2017-10-01 12:51:29 +03:00
Rokas Kupstys
da6e7c11dc
Fixes #50 .
...
On KDE desktop icon failed to appear because TrayIcon requested a zero-size rect. Implementing MsgCountComposedIcon::availableSizes() method fixes that.
After icon became visible it was not transparent, and places that should have been transparent contained artifacts likely due to uninitialized memory. Implementing MsgCountComposedIcon::pixmap() which returns a pixmap with alpha channel fixes that.
2017-10-01 12:15:38 +03:00
Konstantinos Sideris
775d2e88f5
Don't move scrollbar to the bottom when it's active
...
fixes #55
2017-09-30 22:26:33 +03:00
Konstantinos Sideris
748f480077
Add missing update calls
2017-09-30 20:44:18 +03:00
Konstantinos Sideris
41a85832b3
Remove unnecessary animations
2017-09-30 17:05:05 +03:00
Konstantinos Sideris
ff1bc797de
Refactor the welcome page
2017-09-30 16:39:24 +03:00
Konstantinos Sideris
29e21e2970
Merge branch 'images'
2017-09-10 13:13:02 +03:00
Konstantinos Sideris
1bfe48de75
Style change again
2017-09-10 12:59:21 +03:00
Konstantinos Sideris
edff71bc24
Implement image uploads ( #24 )
2017-09-10 12:58:00 +03:00
Konstantinos Sideris
b5ae84c3c3
Add write support for m.emote events
...
closes #41
2017-09-03 11:43:45 +03:00
Konstantinos Sideris
a44a4f36af
Add read support for m.emote events ( #41 )
2017-09-02 16:47:59 +03:00
Konstantinos Sideris
6797cbc943
Linkify URLs in room topics
...
closes #52
2017-08-26 15:36:10 +03:00
Konstantinos Sideris
177dd6a5b0
Remove cache data when the user logs out
2017-08-26 14:31:23 +03:00
Konstantinos Sideris
7fbfe3af15
Update the cache state at once to avoid being in an invalid state
2017-08-26 13:49:16 +03:00
Konstantinos Sideris
43b1bdfe63
Remove nick colors
2017-08-26 11:33:26 +03:00
Konstantinos Sideris
18625d9d27
Fix login UX
...
The mxid input will not prevent the user from entering any invalid
value.
closes #22
2017-08-21 20:55:35 +03:00
Konstantinos Sideris
c6ec20fa40
Place the completion popup under the search widget
2017-08-20 21:13:00 +03:00
Konstantinos Sideris
2644e4acca
Small style change
2017-08-20 13:47:22 +03:00
Konstantinos Sideris
57ac64fb2b
Add missing destructors
2017-08-15 23:28:25 +03:00
Konstantinos Sideris
8d81489e05
Ghetto room switcher
2017-08-15 21:06:27 +03:00
Konstantinos Sideris
69036967ff
Focus on the text input when switching rooms
2017-08-14 18:25:43 +03:00
Konstantinos Sideris
9c28ba28a8
Update the last sender from the initial pagination
2017-08-14 00:26:57 +03:00
Konstantinos Sideris
146aaa8746
Display the most recent message instead of the topic
...
closes #11
2017-08-06 18:53:31 +03:00
Konstantinos Sideris
4fccc6270e
Fix full screen image viewer on macOS sierra
2017-08-06 10:35:32 +03:00
Konstantinos Sideris
af0f22fc91
Keep fetching history until the scrollbar gets activated
2017-08-05 15:59:24 +03:00
Konstantinos Sideris
8d05073547
Initial support for state cache
...
- Adds detection for duplicate events
2017-07-30 14:30:55 +03:00
Konstantinos Sideris
e5ccb73a20
Add serialization on matrix events
2017-07-30 14:30:55 +03:00
Konstantinos Sideris
622fc3f9c3
Save and restore app's window size
...
closes #46
2017-07-30 13:59:28 +03:00
Konstantinos Sideris
3c1f9696df
Fix small timestamp misalignment
2017-07-15 19:18:34 +03:00
Konstantinos Sideris
30fb46e25b
Use pixels to specify the font sizes
...
Basically reverts the last font related commits since pointSize isn't
as reliable as pixelSize.
Also some layout values (margins, spacings) have been moved out to Config.h.
2017-07-15 17:11:46 +03:00
Konstantinos Sideris
847ae37df2
Linting
2017-07-09 22:27:20 +03:00
jansol
f5ba63946b
Improve login flow ( #35 )
...
* Validate both inferred and explicitly entered server addresses by attempting to call the /versions endpoint
* If the domain from the mxid fails validation, try prefixing it with 'matrix'
* Only show server address field if address validation ultimately fails
2017-07-08 14:41:49 +03:00
Konstantinos Sideris
140cbd3c27
Slow down spinner
2017-07-02 16:44:05 +03:00
Konstantinos Sideris
97ca8d0ed1
Remove hardcoded font sizes on the top bars and text input
2017-07-01 15:52:46 +03:00
Konstantinos Sideris
0ed2350664
Set emoji size relative to the default font
2017-07-01 14:03:00 +03:00
Konstantinos Sideris
730a56f58e
Remove hardcoded font sizes, margins etc
...
- Fixes small font issue on MacOs
2017-07-01 12:46:58 +03:00
Konstantinos Sideris
da190593c8
Repaint when the room avatar is received
2017-06-05 20:19:20 +03:00
Konstantinos Sideris
26dfbfd08c
Lazy load initial timeline events
2017-06-05 19:54:45 +03:00
Konstantinos Sideris
36d25951dc
Fix scrolling flickering on backwards pagination
2017-06-05 19:21:19 +03:00
Konstantinos Sideris
95c492bad8
Experimental support for user avatars in timeline
2017-06-05 02:14:05 +03:00
Konstantinos Sideris
b8c8fed655
Show confirmation dialog on logout
...
Minor stylistic refactoring
closes #29
2017-06-02 18:04:51 +03:00
Konstantinos Sideris
4a026b1511
Be explicit about the text color on the context menu
...
[ci skip]
2017-05-31 23:44:04 +03:00
Konstantinos Sideris
af80c251d7
Add context menu on RoomList items
2017-05-31 19:42:07 +03:00
Konstantinos Sideris
c184362044
Add menu to toggle notifications
2017-05-31 17:06:03 +03:00
Konstantinos Sideris
5197f8a886
Add drop shadow to emoji panel
...
- Minor refactoring
2017-05-31 02:35:28 +03:00
Konstantinos Sideris
0cd9e3b1e5
Resolve name and avatar on 1-on-1 rooms
2017-05-26 21:34:16 +03:00
Konstantinos Sideris
251f569a5c
Add custom scrollbar on the timeline
2017-05-24 22:45:13 +03:00
Konstantinos Sideris
0237fec90c
Don't show the landing page when there is an active user
2017-05-22 18:03:37 +03:00
Konstantinos Sideris
9772f52876
Increase tray icon's bubble size
2017-05-22 17:35:17 +03:00
Konstantinos Sideris
a45582585d
Minimize to tray
2017-05-21 16:36:06 +03:00
Konstantinos Sideris
c480f8f4bc
Snappy sidebar
2017-05-19 19:55:38 +03:00
Konstantinos Sideris
30fce32161
Remove RoomList UI form
2017-05-19 17:23:36 +03:00
Konstantinos Sideris
48618b438f
Add hover color on RoomList items
2017-05-19 03:45:46 +03:00
Konstantinos Sideris
f4522f9bbf
Simplify room list item
2017-05-19 03:28:15 +03:00
Konstantinos Sideris
6553aa61a1
Replace include guards with #pragma once
2017-05-16 21:46:45 +03:00
Konstantinos Sideris
c470e49aa9
Add geometry animation on emoji picker
2017-05-16 21:21:31 +03:00
Konstantinos Sideris
992af5611b
Show user info even if the display name or avatar are missing
2017-05-16 15:43:29 +03:00
Konstantinos Sideris
a568d60cef
Remove MainWindow ui form
2017-05-14 21:10:03 +03:00
Konstantinos Sideris
b3bb0531de
Make InputValidator class members static
2017-05-14 16:36:30 +03:00
Konstantinos Sideris
7502f167ae
Use QSharedPointer to manage TimelineViews and RoomInfoListItems
2017-05-14 16:31:59 +03:00
Konstantinos Sideris
c060a136a9
Update prev_batch only while paginating
2017-05-13 19:58:48 +03:00
Konstantinos Sideris
0368d854cf
Initial support for backwards pagination
2017-05-12 15:43:35 +03:00
Konstantinos Sideris
ff611c1b39
Highlight URLs in TimelineView
2017-05-11 01:28:06 +03:00
Konstantinos Sideris
e78e43c86a
Save the user defined domain instead of the one provided by login response
2017-05-09 16:57:41 +03:00
Konstantinos Sideris
1f10403ace
Add settings panel for homeserver's domain
2017-05-09 13:25:43 +03:00
Konstantinos Sideris
0834b246ad
Initial support for display names
2017-05-08 19:44:01 +03:00
Konstantinos Sideris
07405fd4ff
Fix windows build
2017-05-08 01:02:22 +03:00
Konstantinos Sideris
e44cc374e1
Use strongly typed enums
2017-05-08 00:51:03 +03:00
Konstantinos Sideris
1f90c58076
Use timeline to retrieve state events
...
- Rooms without any history will be shown.
- Room's state will be kept in sync and any updates will be visible.
2017-05-07 17:15:38 +03:00
Konstantinos Sideris
8825e072f2
Add matrix::events namespace
2017-05-04 17:11:04 +03:00
Konstantinos Sideris
02ef7411e6
Add StateEvent
2017-05-04 17:11:04 +03:00
Konstantinos Sideris
63f181388e
Add RoomEvent
2017-05-04 17:11:04 +03:00
Konstantinos Sideris
4ea76503fb
Add base Event class
2017-05-04 17:11:04 +03:00
Konstantinos Sideris
b064df8b45
Add event contents
2017-05-04 17:11:04 +03:00
Matthew Hodgson
9cc9b623eb
macOS fixes ( #15 )
...
- Improve build instructions.
- Fix fullscreen image sizing.
- Remove horizontal overscroll of RoomInfoListItem.
2017-05-04 13:11:04 +03:00
Konstantinos Sideris
4a7b005c64
Add lint rule
2017-04-30 15:10:59 +03:00
Konstantinos Sideris
e6fd80f87f
Fix MainWindow being out of focus when the fullscreen overlay is closed
...
That was probably a Linux specific issue or my mouse is buggy.
2017-04-30 13:00:11 +03:00
Konstantinos Sideris
57332553c4
Add full screen overlay for image display
2017-04-30 01:55:10 +03:00
Konstantinos Sideris
c9d03b793b
Add initial support for inline images
2017-04-28 14:56:45 +03:00
Konstantinos Sideris
4b4035eebc
Rename History to Timeline
...
In order to be compatible with the Matrix terminology
2017-04-27 03:14:12 +03:00
Konstantinos Sideris
415ef7e9c7
Add spinner to hide uninitialized layout after login
2017-04-26 02:24:10 +03:00
Konstantinos Sideris
42bb9bb63a
Add full emoji support
2017-04-23 21:31:08 +03:00
Konstantinos Sideris
fa83ae1cf8
Add logo icons
2017-04-21 17:16:29 +03:00
Konstantinos Sideris
f046dc8ac6
Add initial read-only emoji support
2017-04-19 19:38:39 +03:00
Konstantinos Sideris
e1d48367f8
Show the unread message count on the window title
2017-04-15 19:04:02 +03:00
Konstantinos Sideris
3b0ff1a4cd
Add initial support for unread message count
...
- Add border width on Badge
2017-04-15 02:56:04 +03:00
Konstantinos Sideris
a5ebff5949
Use color generator for nick names
2017-04-14 17:10:18 +03:00
Konstantinos Sideris
bb03a402d7
Add proper struct initialization
2017-04-13 04:32:18 +03:00
Konstantinos Sideris
27f7142cd8
Initial implementation for local echo
...
Each HistoryView maintains a list of pending events. Each pending
message is validated from the homeserver with either the returned
EventId or the body of the message.
Currently there is no support to remove invalid messages.
Also some small refactoring:
- ChatPage doesn't know about the message being sent. The message
delivery is solely handled by HistoryViewManager.
- Nick coloring function moved to HistoryViewManager.
2017-04-13 04:11:22 +03:00
Konstantinos Sideris
c431eee401
Use a single nick to color map
2017-04-11 22:48:02 +03:00
Konstantinos Sideris
193490bd9e
Remove halo animation
2017-04-11 18:45:01 +03:00
Konstantinos Sideris
40722b7af7
Remove capitalization
2017-04-11 18:25:39 +03:00
Konstantinos Sideris
6468faa39e
Use only a MatrixClient as a shared pointer
2017-04-11 17:45:47 +03:00
Konstantinos Sideris
0770f6e6b5
Make the timer single shot
2017-04-11 02:35:09 +03:00
Konstantinos Sideris
1c9e92b8bd
Handle room avatars in top bar without an icon
2017-04-10 19:01:09 +03:00
Konstantinos Sideris
0f3cffcfd9
Use Matrix ID for login
2017-04-10 01:47:15 +03:00
Konstantinos Sideris
b301a2828e
Remove exception specifications
2017-04-09 18:09:09 +03:00
Konstantinos Sideris
407afcd2f2
Clear text fields after login
2017-04-09 02:32:48 +03:00
Konstantinos Sideris
239780557f
Add logout button
...
Logout from the current session and invalidate the current token
2017-04-09 02:17:04 +03:00
Konstantinos Sideris
f50fb34fb6
Implement initial registration stage
2017-04-08 02:53:23 +03:00
Konstantinos Sideris
c7c3ee19ee
Use QLabel to display registration errors
2017-04-07 19:25:06 +03:00
Konstantinos Sideris
73e73f46ea
Use const refs for the deserialized data
2017-04-06 19:56:33 +03:00
Konstantinos Sideris
4f45575c79
Initial commit
2017-04-06 02:06:42 +03:00