Commit Graph

515 Commits

Author SHA1 Message Date
Nicolas Werner e2d733a01a Restore saving of media 2019-11-23 20:06:14 +01:00
Nicolas Werner ebeb1eb772 Implement avatars in qml timeline 2019-11-23 20:06:14 +01:00
Nicolas Werner 8b5c7b2f2f Add placeholder timeline model 2019-11-23 20:06:14 +01:00
Nicolas Werner 8e611abe87 Replace timeline with empty qml view 2019-11-23 20:06:14 +01:00
Joseph Donofry 3f563e1e6e
Cache User Mentions
Cache user mentions when they are retrieved from the server.
This logic currently isn't being utilized by the UI.  Additionally,
the app should use a 'since' value to only get mentions newer
than those stored in the DB, to avoid excessive web requests.

This will be implemented in a future commit.
2019-08-09 23:34:44 -04:00
Joseph Donofry 579bf23460
Add User Mentions Dialog
Add a RoomListItem-like button that opens a dialog
containing all of the messages that would result in a
highlight from the server (for example, the user is mentioned,
or @room is mentioned).

This is VERY rudimentary and will be completely reworked in the future
to take advantage of the existing TimelineView class, instead of
using a dialog like it does now. The button to show the mentions
also needs work.
2019-07-16 22:39:10 -04:00
Joseph Donofry c0a010acbb
Fix deprecated function call issues with Qt 5.13
Update to mtxclient 0.3.0
2019-07-04 21:20:19 -04:00
Vitaly Zaitsev eb4795390b
Removed RPATH from compiled binaries.
Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
2019-06-26 12:27:43 +02:00
Joseph Donofry 9159b9ce22
Initial Support for Rich Replies
Add placeholder UI for showing replies in the text entry widget.
Existing quoting capability has been removed (Temporarily), as
it was replaced with the new reply capability.  Replies sent from
nheko do not currently appear correctly in the timeline (this
will be fixed in a future commit).
2019-06-11 21:04:30 -04:00
Joseph Donofry 1b34b53afe
Update to v0.6.4 2019-05-22 22:29:31 -04:00
redsky17 4b7e9f7746
link boost dynamically 2019-05-08 22:57:21 -04:00
redsky17 75fb95855d
Nlohmann build updates 2019-02-24 20:05:11 +00:00
Joe 440d0b81ca Release Nheko 0.6.3
- Update version numbers and documentation
- Fix github releases oauth key
2019-02-08 14:49:53 -05:00
Joe ebe5b19e76 Merge branch 'master' of https://github.com/redsky17/nheko 2019-02-08 14:06:37 -05:00
redsky17 fa6bc6a466 Tweak build settings 2019-02-08 03:20:03 +00:00
Joe af57e95759 Add /bigobj for nheko MSVC build 2019-01-27 21:03:07 -05:00
redsky17 df5d24c87f Revert "Remove built-in emoji picker"
This reverts commit 4b807229aa.
2019-01-26 18:17:08 +00:00
redsky17 6c31f5fe7a Add initial support for QtIndenticon
Add initial loading of qt jdenticon plugin:
https://github.com/redsky17/qt-jdenticon

Currently, the library's functionality has not been integrated
into the rest of nheko.  Next step is to add a configuration
item in the User Settings and use the plugin to generate
avatars for users without their own picture.  These avatars
should be cached in the Cache object.
2019-01-26 18:03:49 +00:00
Konstantinos Sideris a671bd62c4 v0.6.2 2018-10-07 17:53:09 +03:00
Konstantinos Sideris 4b807229aa Remove built-in emoji picker 2018-10-07 13:13:14 +03:00
Konstantinos Sideris 3fdfc9b69f Remove Scrollbar 2018-10-06 18:39:11 +03:00
Konstantinos Sideris f58cbd7281 Remove debug logs from Windows builds 2018-10-06 17:45:56 +03:00
Konstantinos Sideris 4b1b062388 Enable debug logs 2018-09-30 14:33:54 +03:00
Konstantinos Sideris c64a1bf759 Move TextLabel into its own file 2018-09-26 15:17:14 +03:00
Konstantinos Sideris 5ea47920ab v0.6.1 2018-09-26 09:27:58 +03:00
Konstantinos Sideris dec643e6ea v0.6.0 2018-09-21 16:44:45 +03:00
Konstantinos Sideris 1b7816f7ca macOS: Use the native emoji picker
fixes #79
2018-09-19 23:38:36 +03:00
Konstantinos Sideris e9ee29978d Add context menu option to show the raw message
fixes #437
2018-09-12 16:27:25 +03:00
Konstantinos Sideris 074608dec1 Switch to libcmark 2018-09-11 14:56:09 +03:00
Konstantinos Sideris 5267e0262b Remove custom stylesheet for qmenu 2018-09-08 14:55:30 +03:00
Konstantinos Sideris 9e8f0b7409 Initial support for sending markdown formatted messages
fixes #283
2018-09-07 20:05:30 +03:00
Konstantinos Sideris 896fe069b6 Use proxy objects on lambdas instead of raw pointers
When the object is destroyed the connections will be removed
automatically by Qt.

fixes #433
2018-09-07 12:24:09 +03:00
Konstantinos Sideris d2f1e641ba Forgot to update cmake project version 2018-09-01 14:16:44 +03:00
Konstantinos Sideris 990a3a97c7 Merge matrix-structs into the client lib 2018-09-01 13:35:10 +03:00
Konstantinos Sideris 199a4eaf51 Bump version to v0.5.4 2018-08-21 20:48:38 +03:00
Konstantinos Sideris 243ca55234 Bump version to 0.5.3 2018-08-12 11:35:56 +03:00
Konstantinos Sideris 04e4776886 Remove dash from version string when building outside of git 2018-08-08 14:18:29 +03:00
Konstantinos Sideris f955ec762c Use archives instead of repos to fetch dependencies 2018-08-08 14:15:14 +03:00
Konstantinos Sideris edf9f5242a v0.5.2 2018-07-28 13:51:14 +03:00
Konstantinos Sideris d7e5171bfa Create user profile modal 2018-07-20 12:02:35 +03:00
Konstantinos Sideris 40facd116e Bump version to v0.5.1 2018-07-17 17:30:17 +03:00
Konstantinos Sideris 2e1e0efb06 Fix the download path for the Windows notification lib 2018-07-17 17:11:59 +03:00
Konstantinos Sideris 0e814da91c Move all files under src/ 2018-07-17 16:37:25 +03:00
Konstantinos Sideris 9e77f0e407 Bump version to 0.5.0 2018-07-15 10:25:06 +03:00
Konstantinos Sideris 73dbd3c8dd Re-enable groups 2018-07-14 12:08:16 +03:00
Max Sandholm 80ebe3f29d Working D-Bus desktop notifications (#361)
* Working D-Bus desktop notifications

* Remove return type on constructor

* Fix the Windows placeholder class

* Fix wrong variable name

* Fix windows and macOS versions of notificationsmanager
2018-07-11 17:33:02 +03:00
Johannes Walcher cfaecaab17 Limit -Wshadow to non-gcc (#368) 2018-07-10 11:39:28 +03:00
Konstantinos Sideris 172d111d1c Add -Wshadow 2018-07-08 22:10:40 +03:00
Konstantinos Sideris 9a0e18dea7 Add a timeline message when encryption is enabled 2018-07-07 13:39:53 +03:00
Konstantinos Sideris ec63a4fbf7 Mark third-party headers as system 2018-07-04 21:36:02 +03:00
Konstantinos Sideris 3bc8d791fb Don't download dependencies during build
fixes #346
2018-07-04 01:38:54 +03:00
Konstantinos Sideris a8e82ba284 Add build target for doxygen
Includes documentation & dependency/call graphs
2018-07-02 18:39:49 +03:00
Konstantinos Sideris 95ce2ef920 Implement dekstop notifications on Windows (#290) 2018-07-01 00:23:16 +03:00
Konstantinos Sideris 8704265978 Merge branch 'e2ee'
- Support for e2ee rooms
- Implement categories & file logging
- Let the user know when the app can't reach the server (#93)

fixes #13
fixes #326
2018-06-17 19:18:12 +03:00
Konstantinos Sideris c0d32ef319 Update CI instructions 2018-06-17 00:23:49 +03:00
Nicolas Riebesel cce85f3ba8 Add Visual Studio 2017 support (#336) 2018-06-14 02:17:38 +03:00
Konstantinos Sideris 626c680911 Add support for displaying decrypted messages 2018-06-10 20:03:45 +03:00
Konstantinos Sideris b89257a34b Migrate to mtxclient for the http calls 2018-06-09 16:03:14 +03:00
Konstantinos Sideris 1366b01790 Install missing dependencies in travis-ci/appveyor 2018-06-04 16:07:47 +03:00
Konstantinos Sideris 0a9d95dfc9 Include mtxclient in the build 2018-06-04 13:54:51 +03:00
Konstantinos Sideris 70ffa43424 Bump version to v0.4.3 2018-06-02 10:22:24 +03:00
Konstantinos Sideris f533d9d7ea Bump version to 0.4.2 2018-05-25 10:15:51 +03:00
Konstantinos Sideris ec7b3e1e2b Bump version to 0.4.1 2018-05-24 02:25:19 +03:00
Konstantinos Sideris 506cf68072 Implement desktop notification for mac 2018-05-05 22:40:24 +03:00
Konstantinos Sideris b47007d59a Add compile option for address sanitizers 2018-05-04 18:11:03 +03:00
Konstantinos Sideris 5caaa9d3c4 Bump version 2018-05-03 19:09:22 +03:00
Konstantinos Sideris 763330fd3c Add member list 2018-05-01 19:35:28 +03:00
Konstantinos Sideris 3097037c3d Add prototype room settings menu 2018-04-30 21:41:47 +03:00
Konstantinos Sideris 2c9aa72d13 Add Qt5Svg dependency 2018-04-28 21:19:16 +03:00
Konstantinos Sideris 7621dc0cb0 Fix UI inconsistencies between room list & communities
fixes #204
fixes #255
2018-04-28 15:27:12 +03:00
Konstantinos Sideris bee9278a1a Remove old/unused code 2018-04-28 13:16:37 +03:00
Konstantinos Sideris 9d825b07ca Remove dead code 2018-04-21 17:27:06 +03:00
Konstantinos Sideris 96617385bc Bump version to v0.3.1 2018-04-13 15:05:22 +03:00
Konstantinos Sideris 8dc17ccecb Bump version 2018-04-03 15:17:34 +03:00
Konstantinos Sideris 3afc76dbaa Adjust CMakeLists to make dependency downloading optional 2018-03-29 09:59:04 +03:00
Konstantinos Sideris 97326243db Link with pthread on Linux 2018-03-24 23:36:27 +02:00
Konstantinos Sideris 553a97c8bb Add basic support for username auto-completion
fixes #40
2018-03-24 23:16:15 +02:00
Konstantinos Sideris 2054aad975 Adjust version number for the windows build
[ci skip]
2018-03-22 19:13:38 +02:00
Konstantinos Sideris 8a2b29a3bf Be compatible with cmake 3.1 2018-03-22 16:34:11 +02:00
Konstantinos Sideris f77a103209 Add version info in the settings menu
fixes #239
2018-03-22 16:20:22 +02:00
Konstantinos Sideris 4a6becacca Add fancy snackbar animation 2018-03-16 17:56:45 +02:00
Konstantinos Sideris 4659d0efc2 Implement user registration with reCAPTCHA
fixes #264
2018-03-12 22:23:26 +02:00
Konstantinos Sideris 7fc33a71fd Bump version 2018-03-04 14:08:46 +02:00
Konstantinos Sideris 7f7f3a805b Remove dead code & small refactorings using the std library 2018-03-03 22:08:56 +02:00
Konstantinos Sideris 564d51943e Pass arch flags for appveyor build
[ci skip]
2018-03-03 19:57:00 +02:00
Konstantinos Sideris f9a662f7ad Specify install directory & arch for the matrix_structs library
[ci skip]
2018-03-03 18:46:31 +02:00
Konstantinos Sideris 4e4d2c5ce0 Remove git submodules in favor of cmake's ExternalProject 2018-03-03 13:02:33 +02:00
Konstantinos Sideris 9de1ec1b7b Fix crash when inviting users 2018-02-28 21:14:41 +02:00
Konstantinos Sideris f525b7e6a9 Replace login request with the one from matrix-structs 2018-02-23 22:27:59 +02:00
christarazi cd9d1a2ec6 Support audio, video, generic file for pasting (#220)
* Refactor widget items to use same interface

* Support audio, video, generic file for pasting

* Add utils function for human readable file sizes

* Set correct MIME type for media messages

This change also determines the size of the upload once from the
ContentLengthHeader, rather than seeking the QIODevice and asking for
its size. This prevents any future trouble in case the QIODevice is
sequential (cannot be seeked). The MIME type is also determined at
upload once, rather than using the QIODevice and the underlying data
inside.

* Allow for file urls to be used as fall-back

This fixes an issue on macOS which uses `text/uri-list` for copying
files to the clipboard.

fixes #228
2018-02-18 22:52:31 +02:00
Konstantinos Sideris 6d08e67abd Simplify variant access with std::visit 2018-02-11 19:30:22 +02:00
Konstantinos Sideris 3fd257243c Update build instructions
fixes #226

[ci skip]
2018-02-10 13:46:26 +02:00
Vitaly Zaitsev 73bc1ffa7b Added AppData manifest file for Gnome Software (#224)
Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
2018-02-01 16:02:30 -07:00
Konstantinos Sideris 64dd4c5985 Remove Accept-Encoding header 2018-01-22 12:02:07 +02:00
Konstantinos Sideris c59cd0e80b Load the initial cache data without blocking the UI 2018-01-21 21:43:21 +02:00
Konstantinos Sideris e37c2e34ce Use the Accept-Content header to enable response compression
fixes #86
fixes #89
2018-01-21 15:12:21 +02:00
christarazi ddfce136ed Add support for pasting images into a room (#180)
fixes #132
2018-01-10 09:52:59 +02:00
Bart Ribbers 3d321622bb Add make install and make uninstall rules to cmake (#196) 2018-01-09 20:34:01 +02:00
Max Sandholm 312df6f3bb Communities (#195) 2018-01-09 15:07:32 +02:00
Konstantinos Sideris 983aea7c76 Create widgets on demand for messages added to the end of the timeline 2018-01-05 00:27:32 +02:00
Konstantinos Sideris eaf05748ff Initial support for read receipts 2018-01-03 18:06:29 +02:00
Konstantinos Sideris 155a9e828d Add deb and rpm packages on releases 2017-12-26 19:08:00 +02:00
Konstantinos Sideris 7e24a468b5 Remove submodules from matrix-structs
fixes #164
2017-12-16 18:37:08 +02:00
Konstantinos Sideris 65672d3dfb Allow only one application instance
fixes #141
2017-12-14 21:55:00 +02:00
Konstantinos Sideris 6aa635e4b9 Remove -march=native
[ci skip]
2017-12-12 09:48:04 +02:00
Konstantinos Sideris 544b623512 Add dialog to create rooms
fixes #25
2017-12-11 23:00:37 +02:00
Konstantinos Sideris ef0b0f6879 Add menu to invite users 2017-12-10 23:59:50 +02:00
Konstantinos Sideris b9c4a819ad Fix travis errors 2017-12-04 18:49:25 +02:00
Konstantinos Sideris a605e4486f Migrate to matrix-structs for event and response parsing 2017-12-04 18:41:19 +02:00
Konstantinos Sideris 914bdecc0b Initial integration with matrix-structs 2017-12-03 02:47:37 +02:00
Konstantinos Sideris 432a2e1354 Add inline audio clip player (m.audio) (#143) 2017-12-01 15:39:50 +02:00
Konstantinos Sideris eae069ad93 Group emoji and dialogs with namespaces 2017-11-30 20:02:46 +02:00
Konstantinos Sideris 32c8340577 Create directories for related files 2017-11-30 13:53:28 +02:00
Konstantinos Sideris b21942a3e3 Add read support for m.file messages (#24) 2017-11-28 02:01:37 +02:00
Marcel 4ba1f2ea83 Windows icon fix and change the installer to QT Installer Framework on Windows (#85) 2017-11-06 17:17:21 +02:00
Konstantinos Sideris 886edd03fb Add dummy settings menu 2017-11-02 00:41:13 +02:00
Konstantinos Sideris 845228ac6a Add scroll-down button 2017-10-27 22:20:33 +03:00
Konstantinos Sideris 160fe1d668 Remove cache updates from the main thread 2017-10-21 21:17:01 +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 8390ff253d Fix icons for retina displays 2017-10-15 22:08:51 +03:00
Konstantinos Sideris ac525970b0 Add snackbar 2017-10-08 22:01:18 +03:00
Konstantinos Sideris d60c2b76e3 Receive typing notifications (#88) 2017-10-04 11:33:34 +03:00
Konstantinos Sideris 35355756e5 Build lmdb on appveyor 2017-10-01 22:38:46 +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 41a85832b3 Remove unnecessary animations 2017-09-30 17:05:05 +03:00
Konstantinos Sideris d53a564c98 Handle missing git submodules automatically 2017-09-26 18:25:18 +03:00
Konstantinos Sideris 016bec1d13 Add march=native 2017-09-18 20:42:36 +03:00
Konstantinos Sideris edff71bc24 Implement image uploads (#24) 2017-09-10 12:58:00 +03:00
Konstantinos Sideris 8d81489e05 Ghetto room switcher 2017-08-15 21:06:27 +03:00
Konstantinos Sideris 245fdb1917 Avoid header conflict (second attempt) 2017-08-06 11:01:46 +03:00
Konstantinos Sideris 368e891ecd Include lmdb header 2017-08-05 16:28:07 +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 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
Konstantinos Sideris 06cacc13d1 Show unread count on MacOs toolbar 2017-07-01 16:34:36 +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 83cdd79e08 Show a warning for Qt < 5.7 2017-05-30 14:44:51 +03:00
Konstantinos Sideris 04ef88bbbb Explicitly define 5.7 as the minimum required Qt version 2017-05-30 14:35:01 +03:00
Konstantinos Sideris 384fe7067e Set up translations 2017-05-29 19:09:12 +03:00
Konstantinos Sideris 251f569a5c Add custom scrollbar on the timeline 2017-05-24 22:45:13 +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 f4522f9bbf Simplify room list item 2017-05-19 03:28:15 +03:00
Konstantinos Sideris a568d60cef Remove MainWindow ui form 2017-05-14 21:10:03 +03:00
Konstantinos Sideris 0368d854cf Initial support for backwards pagination 2017-05-12 15:43:35 +03:00
Konstantinos Sideris 1f10403ace Add settings panel for homeserver's domain 2017-05-09 13:25:43 +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 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
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 5c964f3246 Update CI 2017-04-11 19:21:11 +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 7dde3a15d4 Add appveyor CI 2017-04-09 17:09:22 +03:00
Konstantinos Sideris f50fb34fb6 Implement initial registration stage 2017-04-08 02:53:23 +03:00
Konstantinos Sideris 73e73f46ea Use const refs for the deserialized data 2017-04-06 19:56:33 +03:00
Konstantinos Sideris e1f7ef88cd Add rule for release builds 2017-04-06 14:58:48 +03:00
Konstantinos Sideris 4f45575c79 Initial commit 2017-04-06 02:06:42 +03:00