Commit Graph

1777 Commits

Author SHA1 Message Date
Konstantinos Sideris 7a56f65fb3 Use 'You' instead of your own user id 2017-08-06 22:28:54 +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 93e8297b61 The emoji panel shouldn't steal focus from other windows 2017-08-05 21:34:24 +03:00
Konstantinos Sideris dd30b5d06e Rename Event.h header to avoid header conflict 2017-08-05 17:02:53 +03:00
Konstantinos Sideris b1c7e58585 Remove extra exception catch 2017-08-05 16:27:30 +03:00
Konstantinos Sideris af0f22fc91 Keep fetching history until the scrollbar gets activated 2017-08-05 15:59:24 +03:00
Konstantinos Sideris 748eb949a7 Parse utf-8 data properly 2017-08-01 19:42:42 +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 c6c024ccbf Append backwards events after the spacer 2017-07-30 14:02:15 +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
Konstantinos Sideris b382dfbee6 Remove custom badge counter from mac and windows (#42)
- Add icon set on mac for future packaging
2017-07-09 12:49:17 +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
george99g 03437cc693 Fix emoji alignment issue (#43) 2017-07-04 23:40:41 +03:00
Konstantinos Sideris 140cbd3c27 Slow down spinner 2017-07-02 16:44:05 +03:00
Konstantinos Sideris 06cacc13d1 Show unread count on MacOs toolbar 2017-07-01 16:34:36 +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 22d0f50e36 Add option for the default font size 2017-07-01 15:21:07 +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 82b48d926d Don't collapse room list 2017-06-06 15:03:11 +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 5c283a5cda Don't mark messages from local user as unread
closes #37
2017-06-01 18:55:42 +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 0f72808858 Create a named device on login 2017-05-30 14:28:04 +03:00
Konstantinos Sideris 384fe7067e Set up translations 2017-05-29 19:09:12 +03:00
Konstantinos Sideris f490040811 Fetch avatar thumbnail instead of the original image
closes #31
2017-05-27 01:29:45 +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 0e04e4d00e pixelSize -> pointSize 2017-05-22 00:08:33 +03:00
Konstantinos Sideris 23431362d9 Properly quit app on tray icon's action
closes #30
2017-05-21 23:21:02 +03:00
Konstantinos Sideris 0fddb7ebff Be explicit about room's name color 2017-05-21 22:52:38 +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 f2ff4772a7 Reverse colors on selection for the unread message bubble 2017-05-19 16:49:25 +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 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 49831a2390 Clear room state on logout 2017-05-16 15:23:31 +03:00
Konstantinos Sideris a568d60cef Remove MainWindow ui form 2017-05-14 21:10:03 +03:00
Konstantinos Sideris e5ef84617c Add missing parents 2017-05-14 17:32:12 +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 ccad3f6bd6 Fix ripple size on RoomListItem 2017-05-14 01:27:30 +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 f2ce910b16 Prefer non UserId as display names 2017-05-10 18:04:57 +03:00
Konstantinos Sideris 6f065530ae Restrict inline image size to its minimum 2017-05-10 13:12:50 +03:00
Konstantinos Sideris d277d5c68b Check for nullptr before delete 2017-05-10 12:45:53 +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 63db04793b Add sync timeout 2017-05-08 18:34:18 +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 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 fb76118309 Set application attributes before QApplication 2017-05-03 23:32:51 +03:00
Konstantinos Sideris 9de94061ec Set text color for QLineEdit 2017-05-03 21:42:51 +03:00
Konstantinos Sideris 3d77438878 Don't set the font size with a stylesheet 2017-05-02 14:15:13 +03:00
Konstantinos Sideris e3acb533ad Enable high dpi 2017-05-01 16:03:42 +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 41f6dbe053 Close fullscreen overlay with out of contents click 2017-04-30 03:47:12 +03:00
Konstantinos Sideris 57332553c4 Add full screen overlay for image display 2017-04-30 01:55:10 +03:00
Konstantinos Sideris ec14e5e556 Show image text overlay on hover 2017-04-30 01:10:01 +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 1a82150aa8 Exclude m.room.member events from initial sync 2017-04-27 00:32:33 +03:00
Konstantinos Sideris 415ef7e9c7 Add spinner to hide uninitialized layout after login 2017-04-26 02:24:10 +03:00
Konstantinos Sideris da39975047 Bundle fonts into the app
- Create QApplication instance before font initialization, otherwise
  QFontDatabase crashes.
- Fix broken QRC font paths
2017-04-25 17:36:52 +03:00
Konstantinos Sideris 46af37490f Set allowed TLD size to 63 chars 2017-04-24 20:33:42 +03:00
Konstantinos Sideris 9d9b5e4f68 Don't set initial room with an empty room list 2017-04-24 20:05:24 +03:00
Konstantinos Sideris 6d9acc8621 Add common style for the scroll bars 2017-04-24 17:06:34 +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 e680865593 Update unread messages for the current room when the app is inactive 2017-04-16 22:34:57 +03:00
Konstantinos Sideris e1d48367f8 Show the unread message count on the window title 2017-04-15 19:04:02 +03:00
Konstantinos Sideris e02dd2b8c5 Move the main window to the center 2017-04-15 17:23:35 +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 8358720d8e Use light theme 2017-04-14 15:13:09 +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 718562737c Don't use icons as room avatars 2017-04-12 17:14:53 +03:00
Konstantinos Sideris 9092ae3db8 Use less contrast on the sidebar 2017-04-12 02:44:01 +03:00
Konstantinos Sideris e8aae26aea Small stylistic changes 2017-04-12 01:29:25 +03:00
Konstantinos Sideris 532b1ab38f Add style for m.notice
Tone down the main text color
2017-04-12 00:52:56 +03:00
Konstantinos Sideris c431eee401 Use a single nick to color map 2017-04-11 22:48:02 +03:00
Konstantinos Sideris 68d0696ca4 Decrease button's animation duration 2017-04-11 18:54:24 +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 792011c1c9 Allow message text selection 2017-04-10 19:08:27 +03:00
Konstantinos Sideris 1c9e92b8bd Handle room avatars in top bar without an icon 2017-04-10 19:01:09 +03:00
Konstantinos Sideris a859145983 Hide horizontal scroll bar on history view 2017-04-10 18:49:24 +03:00
Konstantinos Sideris ee72d8b7b7 Use QString::simplified instead of regex 2017-04-10 18:17:41 +03:00
Konstantinos Sideris 0f3cffcfd9 Use Matrix ID for login 2017-04-10 01:47:15 +03:00
Konstantinos Sideris 87ecb28558 Sanitize room info for display 2017-04-10 01:34:53 +03:00
Konstantinos Sideris b301a2828e Remove exception specifications 2017-04-09 18:09:09 +03:00
Konstantinos Sideris 3d3f2ec33e Add travis CI 2017-04-09 03:54:39 +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 5bcaaa3aa3 Initialize sync timer 2017-04-06 15:17:58 +03:00
Konstantinos Sideris 4f45575c79 Initial commit 2017-04-06 02:06:42 +03:00