Commit graph

1261 commits

Author SHA1 Message Date
Loren Burkholder
b4f8d4947f Simplify code a bit 2023-02-28 20:10:25 -05:00
Loren Burkholder
22ac5d861e Move command calculation logic into InputBar 2023-02-28 20:10:25 -05:00
Loren Burkholder
b6ef00b5ee Show warning when invalid command is entered
Fixes #1363

Please note that this doesn't prompt when you try to send a message with a bad command.
2023-02-28 20:10:25 -05:00
Loren Burkholder
9043087c80 Enhance appearance of room ping warning 2023-02-28 20:10:25 -05:00
Nicolas Werner
3c895ecd17
add missing license header 2023-02-24 02:55:56 +01:00
Nicolas Werner
aae3300860
Show rooms you share with someone 2023-02-24 02:40:14 +01:00
DeepBlueV7.X
4372742bc1
Merge pull request #1374 from Nheko-Reborn/private_images
Blur images properly
2023-02-23 18:03:13 +00:00
Loren Burkholder
5abd2df9b4 Fade in images when fully recieved 2023-02-22 20:25:45 -05:00
Marcus Hoffmann
7c08d88990 print errors on failed dialog creation
Signed-off-by: Marcus Hoffmann <bubu@bubu1.eu>
2023-02-22 13:14:16 +01:00
Nicolas Werner
96f791daf1
Get rid of year in license headers
See also:
https://daniel.haxx.se/blog/2023/01/08/copyright-without-years/
https://hynek.me/til/copyright-years/
2023-02-21 23:48:49 +01:00
Nicolas Werner
1a6728fe47
Fix newlines in status messages 2023-02-21 23:35:52 +01:00
Nicolas Werner
5d7deca0db
Simplify status message in profile a bit 2023-02-21 23:25:49 +01:00
Marcus Hoffmann
7fe62aa4ca UserProfile: add padding to device list
Add the same padding as is applied to long status messages.

Signed-off-by: Marcus Hoffmann <bubu@bubu1.eu>
2023-02-21 14:29:14 +01:00
Marcus Hoffmann
4c328193ce UserProfile: fix status message overflowing
Also style the "Status:" prefix bold.
2023-02-21 14:24:25 +01:00
Marcus Hoffmann
7c7a8d2d9a UserProfile: reduce spacing by a bit
Signed-off-by: Marcus Hoffmann <bubu@bubu1.eu>
2023-02-21 12:39:43 +01:00
Marcus Hoffmann
9635b248f8 UserProfile: display status message
Signed-off-by: Marcus Hoffmann <bubu@bubu1.eu>
2023-02-21 12:39:43 +01:00
Marcus Hoffmann
9c5a7c4075 MessageView: Add ToolTip to status message
Show the user that this is a status text on hover.

We need to change the status text label width to be it's implicitWidth
(or the maximum width as specified before), otherwise the tooltip is
wildly off-centered.

Signed-off-by: Marcus Hoffmann <bubu@bubu1.eu>
2023-02-21 12:39:43 +01:00
Marcus Hoffmann
6c37f219ba MessageView: improve styling of presence status
Significantly reduce the font size as to visually indicate this is
additional information and not part of the username or message
text. Align the text with the username field besides it.

Signed-off-by: Marcus Hoffmann <bubu@bubu1.eu>
2023-02-21 12:39:43 +01:00
Loren Burkholder
2b8cadaac8 Properly handle images without blurhashes 2023-02-20 19:59:06 -05:00
Loren Burkholder
179c16fd08 Use a single, reversible privacy screen transition 2023-02-20 19:18:05 -05:00
Loren Burkholder
c9e3ad1850 Animate transition to blurhash 2023-02-20 16:35:00 -05:00
Loren Burkholder
66d8a38c80 Blurhash images when the privacy screen is active 2023-02-20 16:35:00 -05:00
Nicolas Werner
5457d67c98
Explicitly set parent for scrollbars to prevent them from showing on some platforms 2023-02-16 00:39:47 +01:00
Nicolas Werner
58f5ba5023
Make scrollbars optional and disabled by default
Also add them to the communities sidebar
2023-02-14 22:01:00 +01:00
Alexander Bantyev
ac19c6c92b
Room list: add scrollbar when not collapsed 2023-02-14 22:01:00 +01:00
Loren Burkholder
9297035ba8 Focus text input when quick switcher is closed
Fixes #1065
2023-02-14 12:58:28 -05:00
DeepBlueV7.X
009d1a8e2d
Merge pull request #1359 from Nheko-Reborn/encryption_delegate
Add a fancy delegate when encryption is enabled
2023-02-14 18:54:43 +01:00
Loren Burkholder
92d9539824
Update resources/qml/delegates/EncryptionEnabled.qml
Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>
2023-02-14 12:44:26 -05:00
Loren Burkholder
905b127a73 Add a generic video icon when there is no thumbnail 2023-02-14 09:16:00 -05:00
Loren Burkholder
1f8777178e Limit max width of blurb 2023-02-13 20:46:53 -05:00
Loren Burkholder
707af2c11d Update message 2023-02-13 20:46:53 -05:00
Loren Burkholder
902d4a7eb2 Add a fancy delegate when encryption is enabled 2023-02-13 20:46:53 -05:00
Thulinma
7ffae002a5 Make ImageOverlay set appropriate windowRole again 2023-02-10 18:01:47 +01:00
Nicolas Werner
a0fe13127d
Update translations 2023-02-08 22:45:09 +01:00
Joseph Donofry
720e7fceec Fix empty list freeze in Completer 2023-02-08 14:19:35 -05:00
Nicolas Werner
ad4ea02547
Add a reduced motion option
fixes #1350
2023-02-06 13:56:23 +01:00
q234rty
fa3ea18dcd
Fix some leftover menus from #1319 2023-02-01 02:34:26 +08:00
Malte E
5ed3bfc8f8
add user search to invite dialog (#1253) 2023-01-31 16:59:49 +00:00
DeepBlueV7.X
3abb49c4a2
Merge pull request #1319 from Decodetalkers/menuhideonwayland
feat: hide all popup menus when press leftbutton on somewhere else
2023-01-28 12:15:54 +01:00
ShootingStarDragons
7d95ac23ce feat: hide all popup menus when press leftbutton on somewhere else
Log: according to the bug on https://bugreports.qt.io/browse/QTBUG-83972, The menu will always stay if not click one of the item. So I try to make a hack for it, wait qt solve it someday
2023-01-23 20:15:43 +08:00
Nicolas Werner
15d7a2f021
Make code tags preserve whitespace 2023-01-22 17:36:23 +01:00
DeepBlueV7.X
2157ebb614
Merge pull request #1304 from Decodetalkers/imagesave
chore: when save file, hide ImageOverlay window
2023-01-22 00:54:44 +01:00
Nicolas Werner
47da48f6f2
Fix creating DMs from pasting an mxid 2023-01-21 21:02:46 +01:00
ShootingStarDragons
abe4f8eb3c chore: when save file, hide ImageOverlay window
Log: on wm like sway, it will cover the whole screen, and I cannot get
the file save dialog, then the program will stay there, I must kill it,
so I think hide it is better, because after, it will be closed
2023-01-20 22:10:22 +08:00
Nicolas Werner
c98231bac1
Make it more obvious that the add reaction button is not an emoji
fixes #1301
2023-01-19 06:51:51 +01:00
Nicolas Werner
33e9c80c1b
Fix html in sidebar again 2023-01-18 19:20:32 +01:00
Joseph Donofry
8835040db6
Pause ParticleEmitter when not in use (#1284)
* Pause ParticleEmitter when not in use

* Use timer instead to pause particle system
2023-01-14 02:23:07 +01:00
Nicolas Werner
0c6a2fb706
Fix white bar above sticker picker 2023-01-12 22:06:30 +01:00
Nicolas Werner
239cfd6735
Fix weirdly big spinner 2023-01-12 20:26:35 +01:00
Nicolas Werner
9b8eb0a412
Fix white bar above emoji picker 2023-01-12 20:13:08 +01:00
Nicolas Werner
2345faf630
Try to fix binding loop in emoji picker 2023-01-12 07:34:17 +01:00
Nicolas Werner
82e5fa1b45
Fix clear button styling 2023-01-07 03:43:39 +01:00
Nicolas Werner
7f6c1136ff
Fix html in usernames 2023-01-07 02:03:04 +01:00
Nicolas Werner
b2ccf766ba
Navigate to space when room is selected
fixes #1260
2023-01-07 01:39:08 +01:00
Nicolas Werner
77d2e31ace
Maybe fix text selection in raw message dialog 2023-01-02 18:46:29 +01:00
Nicolas Werner
3a6a905429
A whole new year full of excitement and possibilities! 2023-01-02 04:25:33 +01:00
Joseph Donofry
69c11d4533 Fix send message logic bug introduced with shift+enter setting 2022-12-28 18:51:30 -05:00
Nicolas Werner
f98b289ba2
Show invite reason in the UI (hidden by default) 2022-12-27 01:40:25 +01:00
Joseph Donofry
a2e120a8a3 Add 'clear' button to search bar and implement search indicator via spinner 2022-12-20 16:34:55 -05:00
Nicolas Werner
2a4eac04b9
Fix unread bar size 2022-12-18 05:57:40 +01:00
Nicolas Werner
2ac3be1a18
Fix weird QQC2 crash in alias dialog
Backtrace:

Thread 1 "nheko" received signal SIGSEGV, Segmentation fault.
containerWidget (w=w@entry=0x0) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/styles/qstylesheetstyle.cpp:2467
2467        if (const QAbstractScrollArea *sa = qobject_cast<const QAbstractScrollArea *>(w->parentWidget())) {
(gdb) bt
 #0  containerWidget(QWidget const*) (w=w@entry=0x0) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/styles/qstylesheetstyle.cpp:2467
 #1  0x00007ffff4aa0ad6 in QStyleSheetStyle::drawPrimitive(QStyle::PrimitiveElement, QStyleOption const*, QPainter*, QWidget const*) const (this=0x555559917900, pe=<optimized out>, opt=0x55555ea4b5c0, p=0x7fffffffcfd0, w=0x0) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/styles/qstylesheetstyle.cpp:4452
 #2  0x00007fff61d4a86b in KQuickStyleItem::paint(QPainter*) (this=this@entry=0x55555ea4a1e0, painter=painter@entry=0x7fffffffcfd0) at /usr/src/debug/kde-frameworks/qqc2-desktop-style-5.101.0/qqc2-desktop-style-5.101.0/plugin/kquickstyleitem.cpp:1667
 #3  0x00007fff61d4b22a in KQuickStyleItem::updatePolish() (this=0x55555ea4a1e0) at /usr/src/debug/kde-frameworks/qqc2-desktop-style-5.101.0/qqc2-desktop-style-5.101.0/plugin/kquickstyleitem.cpp:1928
 #4  0x00007ffff57717c2 in QQuickWindowPrivate::polishItems() (this=0x55555ea2e760) at /usr/src/debug/dev-qt/qtdeclarative-5.15.7-r1/qtdeclarative-everywhere-src-5.15.7/src/quick/items/qquickwindow.cpp:393
 #5  0x00007ffff570f4ef in QSGThreadedRenderLoop::polishAndSync(QSGThreadedRenderLoop::Window*, bool) (this=this@entry=0x5555598eb770, w=w@entry=0x7fffe000aef0, inExpose=inExpose@entry=true) at /usr/src/debug/dev-qt/qtdeclarative-5.15.7-r1/qtdeclarative-everywhere-src-5.15.7/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1576
 #6  0x00007ffff5710a8e in QSGThreadedRenderLoop::handleExposure(QQuickWindow*) (this=0x5555598eb770, window=<optimized out>) at /usr/src/debug/dev-qt/qtdeclarative-5.15.7-r1/qtdeclarative-everywhere-src-5.15.7/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1374
 #7  0x00007ffff43d2b45 in QWindow::event(QEvent*) (this=0x7fffe0006eb0, ev=<optimized out>) at /usr/src/debug/dev-qt/qtgui-5.15.7-r1/qtbase-everywhere-src-5.15.7/src/gui/kernel/qwindow.cpp:2450
 #8  0x00007ffff49ee481 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x7fffe0006eb0, e=0x7fffffffd460) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qapplication.cpp:3637
 #9  0x00007ffff3e2d618 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7fffe0006eb0, event=0x7fffffffd460) at /usr/src/debug/dev-qt/qtcore-5.15.7/qtbase-everywhere-src-5.15.7/src/corelib/kernel/qcoreapplication.cpp:1064
 #10 0x00007ffff43c8368 in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) (e=0x55555f648b30) at /usr/src/debug/dev-qt/qtgui-5.15.7-r1/qtbase-everywhere-src-5.15.7/src/gui/kernel/qguiapplication.cpp:3261
 #11 0x00007ffff43a55ab in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=flags@entry=...) at /usr/src/debug/dev-qt/qtgui-5.15.7-r1/qtbase-everywhere-src-5.15.7/src/gui/kernel/qwindowsysteminterface.cpp:1169
 #12 0x00007fffef102622 in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at /usr/src/debug/dev-qt/qtgui-5.15.7-r1/qtbase-everywhere-src-5.15.7/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:105
 #13 0x00007ffff386d030 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
 #14 0x00007ffff386d2d8 in  () at /usr/lib64/libglib-2.0.so.0
 #15 0x00007ffff386d36f in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
 #16 0x00007ffff3e80e55 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5555596a4770, flags=...) at /usr/src/debug/dev-qt/qtcore-5.15.7/qtbase-everywhere-src-5.15.7/src/corelib/kernel/qeventdispatcher_glib.cpp:423
 #17 0x00007ffff3e2c00b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffd700, flags=..., flags@entry=...) at /usr/src/debug/dev-qt/qtcore-5.15.7/qtbase-everywhere-src-5.15.7/include/QtCore/../../src/corelib/global/qflags.h:69
 #18 0x00007ffff3e344ea in QCoreApplication::exec() () at /usr/src/debug/dev-qt/qtcore-5.15.7/qtbase-everywhere-src-5.15.7/include/QtCore/../../src/corelib/global/qflags.h:121
 #19 0x00005555594a5c43 in main(int, char**) (argc=2, argv=0x7fffffffdab8) at /home/nicolas/Dokumente/devel/open-source/nheko/src/main.cpp:401
(gdb) p w
$1 = (const QWidget *) 0x0
2022-12-17 05:50:44 +01:00
Nicolas Werner
6762032c53
Fix copy and paste again 2022-12-14 19:04:08 +01:00
Nicolas Werner
8730586cfd
Focus text field on key press (swallows first though...) 2022-12-13 18:09:34 +01:00
Nicolas Werner
593d08fd2e
Revert "Disable keyboard selection for text by default"
This reverts commit 0035c359ce.
2022-12-13 17:53:48 +01:00
Nicolas Werner
952827d629
Add a button to room the upgraded room in the timeline 2022-12-13 05:08:22 +01:00
Nicolas Werner
0035c359ce
Disable keyboard selection for text by default 2022-12-13 05:08:21 +01:00
Loren Burkholder
fa0c14b846
confetti (#1243)
* 🎉 (confetti) message support.  Thanks @LorenDB !
2022-12-10 10:17:15 -05:00
Nicolas Werner
40a7d58ce1
fix squish 2022-12-07 13:09:41 +01:00
q234rty
93291abfdf
Fix downscale 2022-12-06 01:49:42 +08:00
q234rty
4b8709598b
Fix people icon blurriness 2022-12-06 01:48:06 +08:00
Nicolas Werner
ed889c32fc
Change margins because people nagged me 2022-11-10 00:43:05 +01:00
Nicolas Werner
485babba14
Implement a completer for commands
fixes #429
2022-11-09 04:59:06 +01:00
Loren Burkholder
fe02e0dd91 Add room settings in room list 2022-11-07 19:26:42 -05:00
LordMZTE
80270e1f01
Add invert enter key setting 2022-11-04 23:42:35 +01:00
Nicolas Werner
56a4e97296
Make the higlight ring a bit less in your face 2022-11-03 14:45:00 +01:00
Nicolas Werner
40ac55ddd9
Highlight higlight tweaks in the timeline
fixes #400
fixes #1136
2022-11-01 23:26:21 +01:00
Nicolas Werner
ee1a219661
Fix search rooms button 2022-11-01 15:11:58 +01:00
foxb612
f3ecef5cd7 Fix UploadBox thumbnail size 2022-10-25 03:22:12 +08:00
Rohit Sutradhar
ac48c33286
VoIP v1 implementation (#1161)
* Initial commit for VoIP v1 implementation

* Added draft of event handlers for voip methods

* Added event handlers for VoIP events, added rejectCall, added version tracking for call version for V0 and V1 compatibility

* Added call events to the general message pipeline. Modified Call Reject mechanism

* Added message delegates for new events. Modified hidden events. Updated handle events.

* Updated implementation to keep track of calls on other devices

* Fixed linting

* Fixed code warnings

* Fixed minor bugs

* fixed ci

* Added acceptNegotiation method definition when missing gstreamer

* Fixed warnings

* Fixed linting
2022-10-14 13:49:05 +00:00
Nicolas Werner
a4524cd9af
Fix date separator 2022-10-07 11:11:07 +02:00
Nicolas Werner
f2f9359f7f
Add a shortcut for search 2022-10-07 10:04:08 +02:00
Nicolas Werner
f1c1f18f81
Add a slow way to search a room 2022-10-06 22:02:26 +02:00
Nicolas Werner
857d9cf2b6
Basic thread filtering
The reply pagination logic is a bit weird rn though.
2022-10-06 16:16:24 +02:00
Nicolas Werner
d70a344a4d
Fix userprofile on roomlist 2022-10-05 17:25:01 +02:00
Nicolas Werner
b205819ba6
Swap thread and edit button 2022-10-04 00:38:59 +02:00
Nicolas Werner
d8993c14e1
Fix raw message dialog 2022-10-04 00:36:57 +02:00
DeepBlueV7.X
5e9eb845ab
Merge pull request #1202 from Nheko-Reborn/grammar
Grammar
2022-10-03 21:37:01 +00:00
Nicolas Werner
09babc91d2
Green is not Svg::green
fixes #1203
2022-10-01 23:57:44 +02:00
DeepBlueV7.X
f8724fdea8
Merge pull request #1198 from rnhmjoj/pr-green
Add green theme color, make "error" configurable
2022-10-01 13:45:26 +00:00
Nicolas Werner
7ec842ba51
Replace some user visible mentions of spaces 2022-10-01 15:20:38 +02:00
Nicolas Werner
30882d4aa9
Fix wrong file urls 2022-10-01 14:47:42 +02:00
rnhmjoj
f5d5bea840
Add green theme color, make "error" configurable 2022-10-01 10:59:17 +02:00
Nicolas Werner
2a7c6f2d86
Load components on demand 2022-10-01 02:28:02 +02:00
Nicolas Werner
570d7b8b30
Prepare for adding proxy before chat.model 2022-10-01 01:53:12 +02:00
Loren Burkholder
df834ffc48 Various grammar fixes (mostly removing commas) 2022-09-30 00:23:39 -04:00
Nicolas Werner
88cbac1695
Basic threading support 2022-09-30 03:27:05 +02:00
Nicolas Werner
051c25d5b8
Allow editing permissions in spaces recursively 2022-09-28 02:09:04 +02:00
Nicolas Werner
ed15d73d36
Allow adding non-existing userids to power levels 2022-09-22 21:24:41 +02:00
Nicolas Werner
421b15c05c
Show the community of a room 2022-09-20 21:26:46 +02:00
Nicolas Werner
fe403ddc70
Rework how access rules for rooms are modified completely 2022-09-19 21:39:37 +02:00