miruka
50e17e950d
Store member presence information
2020-07-10 13:14:18 -04:00
miruka
e91a1f93e0
Fix errors related to button.loading
2020-07-10 13:14:18 -04:00
miruka
2cf7b91829
Don't try to highlight first item on menu open()
...
It's imprevisible where the menu is gonna open and this which item is
gonna be under the mouse cursor. Also to match the behavior of other
programs.
2020-07-10 13:14:18 -04:00
miruka
e2bc0cbd84
Improve context menu cursor workaround
...
- Close menu instead of clicking item, to match behavior of other
programs
- Now work on all edges of the menu, not just top
2020-07-10 13:14:18 -04:00
miruka
d4a0434bd9
Disable "Select all" when no text in field/area
2020-07-10 13:14:18 -04:00
miruka
9a943120a8
Show how many devices will be deleted in popup
2020-07-10 13:14:18 -04:00
miruka
099c20c138
Add keyboard navigation for account device list
...
Enter/Return/Menu: open device menu
Space: toggle check device
Escape: uncheck all
Alt+R/F5: refresh device list
Alt+S/Delete: sign out checked or all sessions
2020-07-10 13:14:18 -04:00
miruka
612ded755a
Add context menu for text fields and areas
2020-07-10 13:14:18 -04:00
miruka
657b700fcd
Context menu initial cursor position workaround
...
Workaround for this: when opening a context menu at cursor position,
cursor will be in the menu's border instead of first menu item,
forcing the user to move the mouse for the click to do anything.
2020-07-10 13:14:18 -04:00
miruka
9612470c9c
Highlight first item when opening context menu
2020-07-10 13:14:18 -04:00
miruka
3e92b882c9
Open event context menu on menu keypress
2020-07-10 13:14:18 -04:00
miruka
affd0d0bd3
Improve member list highlighted item behavior
...
- When focusing the "Filter members" field, highlight the first item if
none already is
- When pressing esc in the field, clear any highlight
2020-07-10 13:14:17 -04:00
miruka
08f15b6a01
Support menu key for room/member lists currentItem
...
Allow opening context menu for AccountDelegate, RoomDelegate and
MemberDelegate by selecting an item with up/down (when focusing filter
field) and pressing the menu key.
2020-07-10 13:14:17 -04:00
miruka
10eeb662af
HTile: handle menu key press, open context menu
2020-07-10 13:14:17 -04:00
miruka
c35894e4c8
HTile: trigger leftClicked() on enter/return/space
...
This makes it possible to activate any tab-focused HTile with the
keyboard.
2020-07-10 13:14:17 -04:00
miruka
cfde6cb633
Room filter field: forward keys to room list
...
The room list can handle up/down presses out of the box, no need to
define handlers for these on the filter field.
2020-07-10 13:14:17 -04:00
miruka
92cbc4b006
Add keyboard controls for members list & profile
2020-07-10 13:14:17 -04:00
miruka
dc2a7b8ee1
HMenuItem: always use onTriggered, not onClicked
2020-07-10 13:14:17 -04:00
miruka
b6500add68
Remove useless imports in HAvatar and HNoticePage
2020-07-10 13:14:17 -04:00
miruka
7c213a5317
Verify/blacklist devices for all our accounts
2020-07-10 13:14:17 -04:00
miruka
9edfba8f18
Fix hovering media not changing mouse cursor shape
2020-07-10 13:14:17 -04:00
miruka
8623edc420
Fix typing notice not sent when composer cleared
...
Make sure to send a "we're not typing anymore" notice to the server when
the composer is cleared, e.g. when sending a message.
2020-07-10 13:14:17 -04:00
miruka
ea0a7517e4
Reload member device list after trust/blacklisting
2020-07-10 13:14:17 -04:00
miruka
963b022f3d
Reload member device list when they change
2020-07-10 13:14:17 -04:00
miruka
8771ae2aae
Ignore EventHandlers members not starting by "on"
2020-07-10 13:14:17 -04:00
miruka
789e9c7da8
Close verif. page when verifying/blacklisting
2020-07-10 13:14:17 -04:00
miruka
dbfe04458c
Set HStackView transitions that make sense
2020-07-10 13:14:17 -04:00
miruka
4db69424b8
Put MemberDeviceSection in its own component
2020-07-10 13:14:17 -04:00
miruka
9b43bef935
Add profile/verification UI for room members
2020-07-10 13:14:17 -04:00
miruka
0dbc9ce659
Fix mention CSS for display names containing < >
2020-07-10 13:14:17 -04:00
miruka
2674702a59
Fix field/area left/right press with selected text
...
Fix bug in HTextField & HTextArea: when all text was selected, pressing
left or right arrow keys to go to the beginning or end and deselect
didn't respond.
2020-07-10 13:14:17 -04:00
miruka
24e657d193
Protect field/area text binding if no default text
2020-07-10 13:14:17 -04:00
miruka
3933615f67
Fix menu/popup destruction disabling keybinds
2020-07-10 13:14:17 -04:00
miruka
83047cf800
Add Utils.chunk() to split arrays in n-sized chunk
2020-07-10 13:14:17 -04:00
miruka
196d57701a
Cancel device delete when popup closed
2020-07-10 13:14:17 -04:00
miruka
d701e5ea77
Improve "Sign out checked" text
2020-07-10 13:14:17 -04:00
miruka
b47d4d981f
Implement session sign out (password auth only)
2020-07-10 13:14:17 -04:00
miruka
0a2d274824
Add verified devices indicator to room header
2020-07-10 13:14:17 -04:00
miruka
90a7a3a6cf
Add kineticScrollingMaxSpeed setting
2020-07-10 13:14:17 -04:00
miruka
1a32c26b4d
Don't animate "Loading messages..." when invisible
2020-07-03 15:00:07 -04:00
miruka
33d09c320b
Fix unhandled enter on sign in and add chat pages
2020-06-26 09:28:58 -04:00
miruka
2d410bb7cc
Themes: rename section scrollbar → scrollBar
2020-06-26 08:21:24 -04:00
miruka
1a93190ee2
Improve account settings avatar font size
2020-06-26 07:24:37 -04:00
miruka
475b07793d
Rename Account/Room → AccountDelegate/RoomDelegate
2020-06-26 07:20:24 -04:00
miruka
604daed5fe
Increase button focusline height to avoid problems
2020-06-26 06:56:29 -04:00
miruka
980e258df8
Always parent popups to window
2020-06-26 06:41:15 -04:00
miruka
74784803f5
Refresh device list: use HListView.uncheckAll()
2020-06-26 06:11:36 -04:00
miruka
d058926902
Uncheck messages before clearing event list
2020-06-26 06:11:03 -04:00
miruka
7f66ebb786
Re-add local highlights similar to 0.5.0
2020-06-26 05:59:16 -04:00
miruka
aa8dbce3a7
Re-add local unread "counter" similar to 0.5.0
2020-06-26 05:59:11 -04:00
miruka
213867750d
Add unimplemented auth popup for deleting devices
2020-06-26 04:30:47 -04:00
miruka
088462c4f9
Better icons and details text for password popups
2020-06-26 04:06:01 -04:00
miruka
d40852a11c
HListView: add checkedIndice property
2020-06-26 03:47:55 -04:00
miruka
a22c8ba3ad
Account: remove line break after "User ID:"
2020-06-26 03:19:58 -04:00
miruka
78c04e6404
Fix flickable pages keyboard scrolling
2020-06-26 03:16:36 -04:00
miruka
2e610cf167
Correctly size the device list page
2020-06-26 02:51:31 -04:00
miruka
eca801df4c
Fix laggy device list loading
2020-06-26 02:36:40 -04:00
miruka
ce1373653a
Improve device list footer
...
- Always visible
- Add a refresh button
- Will no longer make the list slowly grow
2020-06-26 02:32:25 -04:00
miruka
cddf4ac2fe
Reload section item counts on verify/blacklist
2020-06-26 02:20:12 -04:00
miruka
edc73c6952
Implement blacklisting from verification key popup
2020-06-26 02:16:00 -04:00
miruka
bcbc356a98
Implement manual key verification popup
2020-06-26 02:09:59 -04:00
miruka
d35173adc3
Correctly handle & warn about key-less devices
2020-06-25 16:10:44 -04:00
miruka
a15a101ce0
Fix error popup focusOnItemTab
2020-06-25 14:54:03 -04:00
miruka
308771f0bf
Limit max device name length to 255
2020-06-25 12:37:05 -04:00
miruka
ee5675bc9b
Add apply button to device renaming field
2020-06-25 12:36:36 -04:00
miruka
51327d810b
Implement device renaming
2020-06-25 12:11:11 -04:00
miruka
3001131ffa
Fix DeviceSection number vertical alignment
2020-06-25 11:26:21 -04:00
miruka
dcc634be04
Page & popups: standardized keyboard accept/cancel
2020-06-25 10:27:24 -04:00
miruka
78affeddd9
Room settings avatar color: respond to name field
2020-06-25 10:06:03 -04:00
miruka
d5ea248ba1
Account page: spinners while profile is loading
2020-06-25 10:00:34 -04:00
miruka
470b0f0de2
Implement HLabeledItem loading mode
2020-06-25 09:46:26 -04:00
miruka
da4a5ab5cd
Rework HBox-based pages and account settings
...
- Refactor everything about HBox, and adapt all the pages and popups
that used it
- Replace HTabContainer by HTabbedBox
- Make boxes swippable
- Make esc presses in boxes click the cancel button
- Make all boxes and popups scrollable when needed
- Replace generic apply button icons in popups
- Fix tab focus for error and invite popups
- Rework (still WIP) the account settings page:
- Use the standard tabbed design of other pages
- Ditch the horizontal profile layout, hacky and impossible to extend
- Add real-time coloring for the display name field
- Implement a device list in account settings (Sessions, still WIP)
2020-06-25 08:49:27 -04:00
miruka
72bd78c77e
Don't keyboard-focus invisible HMenuItems
2020-06-24 16:47:51 -04:00
miruka
b9f8740954
Move room date formatting logic to utils function
2020-06-24 08:14:54 -04:00
miruka
2d8dbb172d
Use fancy focus lines for buttons
2020-06-23 09:18:42 -04:00
miruka
07013d0ed4
Unify text field/area focus line into a component
2020-06-23 08:44:58 -04:00
miruka
8b0f408f34
Fix text field/area leaking arrow presses
...
Prevent leaking arrow presses to parent elements when the carret
is at the beginning or end of the text.
2020-06-23 06:17:52 -04:00
miruka
ad36fc72f4
Fix Connections deprecation warning on Qt 5.15
...
Adopt the correct behavior to get rid of
"QML Connections: Implicitly defined onFoo properties in Connections
are deprecated. Use this syntax instead:
function onFoo(<arguments>) { ... }"
2020-06-22 14:11:56 -04:00
miruka
ae37e13c6e
Use new scrollbars for scrollviews (ie text areas)
2020-06-22 13:57:49 -04:00
miruka
783a711799
Customized themable scrollbars
2020-06-22 13:48:55 -04:00
miruka
f2f4643189
Remove event list scrollbar padding
2020-06-22 13:10:48 -04:00
miruka
e756bd2909
Set a minimum size for scrollbars
2020-06-19 12:03:04 -04:00
miruka
d4350f6e86
Borders for HTextArea
2020-06-06 21:54:13 -04:00
miruka
8d3ac9cd48
HTextField: support radius, have a fancier border
2020-06-06 21:45:01 -04:00
miruka
0f679956ec
Fix topic text area inside scrollview
2020-06-05 06:33:55 -04:00
miruka
1f441a488e
Fix HFlickableColumnPage bottom padding
2020-06-05 05:53:49 -04:00
miruka
e5d64f76b7
Limit max height of room settings topic area
2020-06-05 05:48:25 -04:00
miruka
3314489a26
Make room settings pane scrollable
...
The new Base/ButtonLayout components will be used in the near future to
refactor other HBox-based components
2020-06-05 05:42:12 -04:00
miruka
48faac9a32
HFlickable: interactive even if nothing to scroll
2020-06-05 05:40:43 -04:00
miruka
cfee1b1e4b
Fix cursor shape over text fields/areas
...
Fix only applies if kinetic scrolling is enabled, need WheelHandler (Qt
5.14+) otherwise
2020-06-05 01:54:42 -04:00
miruka
43ed7b2eb9
Update highlighted room when adding new chat
2020-06-05 01:07:39 -04:00
miruka
5402a332d2
Fix updating read receipt
...
- Find the last event that wasn't sent by us to update the marker to,
instead of picking whichever is the most recent
- Use the proper event ID instead of ID that could be a local echo
- Wait for the current marker update request to complete before trying
to send a new one
2020-06-04 23:12:03 -04:00
miruka
106bb3546f
Topic text areas: focus next item on tab
2020-06-03 04:58:09 -04:00
miruka
7f72373afe
Implement editing & saving room settings
2020-06-03 04:52:33 -04:00
miruka
00ee534150
HLabeledItem: base label/icons opacity on item
's
2020-06-03 04:50:19 -04:00
miruka
9f51b3c1ca
Fix field and text area defaultText binding
...
Break the binding when the field is focused, recreate it when focus is
lost, properly recreate it when using reset() function.
2020-06-03 04:50:10 -04:00
miruka
6772f14c24
Use a text area instead of field for room topic
2020-06-02 21:52:16 -04:00
miruka
76f0c5626f
Separate window urgency hint setting for mentions
2020-06-02 21:42:16 -04:00
miruka
241c16932f
Immediatly update cached profile after changing it
2020-06-02 21:09:21 -04:00
miruka
8ec715eab7
Improve "user not found" error messages
2020-06-02 20:30:04 -04:00
miruka
bb7178a5c4
Handle bad gateway error when starting direct chat
2020-06-02 20:24:53 -04:00
miruka
eb2c98f67f
Handle MatrixNotFound errors, not UserNotFound
...
UserNotFound doesn't exist anymore
2020-06-02 20:19:09 -04:00
miruka
e676473f82
HLabeledTextField → extensible HLabeledItem
2020-06-02 20:14:55 -04:00
miruka
fdaf7089ab
Hide popup for Python 3.7 pointless SSLError
2020-06-02 19:07:12 -04:00
miruka
835d1c486f
Add markRoomReadMsecDelay setting
2020-06-01 18:57:17 -04:00
miruka
f686b96511
Cross-client unread counters & send read receipts
2020-06-01 09:25:09 -04:00
miruka
3791a08eea
Terminology: room mention count → highlight count
2020-05-31 19:13:19 -04:00
miruka
9862e39108
HSelectableLabel: selectByMouse true by default
2020-05-30 23:08:21 -04:00
miruka
8b9681dc78
Rename HTextArea.append() → .insertAtCursor()
2020-05-30 23:08:21 -04:00
miruka
877290fc00
Handle 502 errors when inviting bad user to room
2020-05-30 23:08:21 -04:00
miruka
01d3b6b489
Remove usage of HScrollableTextArea
2020-05-30 23:08:21 -04:00
miruka
a91a0c18f7
Refactor Composer
...
- Have a simple HTextArea component instead of HScrollTextArea
- Split composer parts between multiple files
2020-05-30 23:08:21 -04:00
miruka
a87cbd3bac
HTextField: fix implicitHeight Binding
2020-05-30 23:08:21 -04:00
miruka
0f6f3bce98
Improve ImportKeys popup closing/cancelling
...
- Once the importing process starts, only allow the popup to be closed
by pressing pressing esc or clicking the Cancel button, to prevent
accidental clicks
- When closing the popup without clicking the Cancel button, cancel the
import process
2020-05-28 14:11:49 -04:00
miruka
e3f13dc16f
Fix hiding gaierror
2020-05-24 16:55:50 -04:00
miruka
1fea162fac
Give up finding last event to respond to after 1k
2020-05-22 00:18:44 -04:00
miruka
6c7335e5db
Add keybind to open links in messages
...
Ctrl+O by default.
Opens externally all links in selecteds, focused or the last
message that has links.
Can't open files (media events) yet.
2020-05-22 00:10:45 -04:00
miruka
6f688ae1aa
Implement circle progress bars in QML
2020-05-21 20:06:47 -04:00
miruka
24ede5653d
Hide popups for annoying socket.gaierror
...
Workaround until I can figure out how to catch it
2020-05-21 14:20:13 -04:00
miruka
5ae71cb7ce
Work around ModelStore binding loop
2020-05-21 01:26:12 -04:00
miruka
96e61f15ce
Set a more useful minimum size for main pane
...
144px min for a pane that's still useful.
Also set `collapseSidePanesUnderWindowWidth` config option to `450`
instead of `400` by default now.
2020-05-21 01:04:24 -04:00
vslg
6f68f35810
Fix goal is disabling kinetic scrolling
2020-05-20 23:03:36 -03:00
vslg
1bad1e1106
Multiply scrollFactor to wheel.pixelDelta
2020-05-20 21:09:34 -03:00
vslg
3094e47a99
Fix bugs and improve trackpad scroll precision
...
Improve trackpad precision by making the amount
of scroll, flickVelocity and flickDeceleration
proportional
2020-05-20 21:09:34 -03:00
vslg
107f928007
Fix bug when setting useTrackpadFix option
2020-05-20 21:09:34 -03:00
vslg
f72544e3d0
Improve trackpad fix
...
- Add it to remaining components
- Do not use Timer, as flickDeceleration from
Flickable is more performant
- Add a setting option for it: useTrackpadFix
2020-05-20 21:09:34 -03:00
vslg
b179480327
Remove allowDragging, as it is not needed anymore
2020-05-20 21:09:34 -03:00
vslg
d840080fdb
Add custom scroll handler to MouseArea
2020-05-20 21:09:34 -03:00
miruka
a48b1cedd0
Don't limit width of messages with code blocks
2020-05-20 11:08:02 -04:00
miruka
8823077a1c
Composer: on escape, cancel any response
2020-05-20 07:19:02 -04:00
miruka
d6846b08d9
Fix debugFocusedMessage keybind
2020-05-20 07:12:00 -04:00
miruka
26074fabd5
Handle reply keybind when multiple events selected
2020-05-20 06:58:38 -04:00
miruka
d1d7bffc8f
Add replyToFocusedOrLastMessage keybind (ctrl+Q)
2020-05-20 06:51:26 -04:00
miruka
b09b3b990b
Clear reply-to when sending message
2020-05-20 06:20:24 -04:00
miruka
fb35a6ec14
Implement replying to event in backend
2020-05-20 06:19:13 -04:00
miruka
aa8d3cf8d3
Add reply GUI controls
2020-05-20 05:19:06 -04:00
miruka
5128f0d888
Base TypingMembersBar on new InfoBar component
2020-05-20 04:45:30 -04:00
miruka
63af4be1e2
Defer fetching user profiles for events
...
Previously, events for which the sender, target (state_key) or remover
was missing from the room members would have their profile fetched
from network when registering the event into models.
This could cause very slow past events loading times for rooms, since
the event registering function (which contained the profile retrieval
directives) is run sequentially event-by-event.
Missing profiles are now lazy-loaded when events come into the
user's view in the QML timeline.
2020-05-20 03:42:40 -04:00
miruka
c9d5949847
MessageIndicator: shorten thousands and millions
2020-05-19 19:48:52 -04:00
miruka
4a3320111f
Remove debug print
2020-05-17 15:38:17 -04:00
miruka
59486ca65d
Fix setCorrectCurrentItem() for account items
2020-05-17 15:32:10 -04:00
miruka
05a547971d
Fix clicking on Account not updating highlight
2020-05-17 14:41:25 -04:00
miruka
14ffe0ba0b
Collapse-expand account → correct highlighted room
2020-05-16 18:21:59 -04:00
miruka
a1b485c039
Add ownMessagesOnLeftAboveWidth setting
...
Replaces the theme eventList.ownEventsOnRightUnderWidth property.
Can be set to -1 to always keep our own messages on the right.
2020-05-16 14:37:45 -04:00
miruka
60ad7416d9
Add maxMessageCharactersPerLine setting
...
Can be set to -1 for no maximum width.
2020-05-16 14:37:34 -04:00
miruka
315237b411
Cycle unread rooms with alt+m when no more mention
2020-05-15 20:56:23 -04:00
miruka
084133af49
Make py.pendingCoroutines accessible for debugging
2020-05-15 20:56:23 -04:00
miruka
8c8a58fb07
Remove superfluous private PythonBridge stuff
2020-05-15 20:56:23 -04:00
miruka
631e2bc107
Highlight index 1 when filtering rooms
2020-05-15 20:56:23 -04:00
miruka
f20853b7ad
Restore correct highlight when no more room filter
2020-05-15 20:56:23 -04:00