miruka
966070b4d6
MemberDeviceSection: elide txt instead of wrapping
...
Wrapping the text just makes the section overflow when
the member pane gets too narrow.
2020-07-12 17:22:28 -04:00
miruka
d648156c38
Use a HLabeledItem for MemberProfile power level
2020-07-12 17:00:04 -04:00
miruka
cc831d0640
Move cursorShape property out of HListView
...
The Timeline EventList is the only HListView that uses it. For other
list views, it interferes with items like text fields which need to set
cursor shape by themselves.
2020-07-12 16:59:33 -04:00
miruka
fe831e7865
Add power level display to member profile
2020-07-12 16:14:24 -04:00
miruka
e3b6f3eb54
HButton: add "uncheckable" property
2020-07-12 15:48:28 -04:00
miruka
370418bcf5
AutoDirectionLayout: consider columnSpacing
...
For summedImplicitWidth calculation.
2020-07-12 13:10:19 -04:00
miruka
3c7b78d4ca
Reorder QML files to follow coding conventions
...
https://doc.qt.io/qt-5/qml-codingconventions.html#qml-object-declarations
2020-07-12 01:27:44 -04:00
miruka
229fbee298
Remove HRichLabel component
...
Sparsly used and inflexible, just use HLabel
2020-07-12 00:13:52 -04:00
miruka
02982f9dc3
Remove unused HAccordionView.qml
2020-07-12 00:13:52 -04:00
miruka
ed030f7dd9
Refactor ButtonLayout module components
...
- Rename ButtonLayout module to just Buttons
- Rename ButtonLayout into AutoDirectionLayout and move it to Base,
it's useful not just for buttons
- Rename OtherButton into GroupButton, which is now the base of all
other Buttons buttons
- Add generic (Positive|Middle|Negative)Button components, which are now
the base for (Apply|Cancel)Button
2020-07-12 00:13:52 -04:00
miruka
67f1572a18
Fix null account warnings on AddChat pages
2020-07-12 00:13:52 -04:00
miruka
1ad3de3917
Make ButtonLayout faster and more precise
2020-07-11 22:06:37 -04:00
miruka
7227ac04a3
Client remove_member(): room item may not exist
2020-07-11 18:49:23 -04:00
miruka
58e7321941
Fix HButton height for icon-only buttons
...
The button only considered its label previously to calculate its
implicit height.
2020-07-11 18:44:57 -04:00
miruka
b8264d123c
Don't use auto-away for servers without presence
2020-07-11 17:39:40 -04:00
miruka
b4f706d2e8
Refresh Room.unverified_devices when members leave
2020-07-11 17:23:36 -04:00
miruka
2644e6d8b0
Fix account update method for unasaved accounts
...
If the account passed to `saved_accounts.update()` doesn't exist in the
config file, return instead of failing with a KeyError.
An account can be absent from the file if "Remember my account" was
unchecked on login, or if the file hasn't been updated yet on disk after
login (race condition).
2020-07-11 17:11:04 -04:00
miruka
3daa60510a
DeviceVerification: slightly improve bottom text
2020-07-11 16:20:19 -04:00
miruka
2b52040632
Improve KeyVerificationPopup for current device
...
Make the text more useful and more adapted to the possible situations.
2020-07-11 16:12:10 -04:00
miruka
cf7786e6c6
DeviceVerification: focus info area by default
2020-07-11 16:10:55 -04:00
miruka
c9843bb2ff
HTextArea: prevent leaking left/right if readOnly
2020-07-11 16:10:21 -04:00
miruka
224e82f38c
KeyVerificationPopup: make details copiable
2020-07-11 15:51:31 -04:00
miruka
f05f2357c7
Fix accounts.json update with missing enabled key
2020-07-11 14:38:10 -04:00
miruka
3c620f6fd1
Add auto-away feature for Linux X11
2020-07-11 14:38:08 -04:00
miruka
10f47f71ac
Fix Chat userInfo errors
2020-07-11 00:43:31 -04:00
miruka
63b80168a6
Fix matrix_client mypy error
2020-07-10 16:54:29 -04:00
miruka
1611b8ea16
Reduce profile status message brightness
2020-07-10 16:51:13 -04:00
miruka
80bbee1434
Center-align profile status msg if only one line
2020-07-10 16:48:29 -04:00
miruka
159f4e3d15
Set a maximum width on member profile avatar
2020-07-10 16:45:31 -04:00
miruka
c53aa5ffa9
Add presence details to member profile
2020-07-10 16:44:08 -04:00
miruka
fec1026346
Add direct keybinds for presence states
2020-07-10 15:15:53 -04:00
miruka
3848ce60ca
Add keybind to open presence (account) menu
2020-07-10 14:59:55 -04:00
miruka
b6b02ee6a7
Fix up/down key handling for account context menu
...
- Press down while focusing status field or apply icon:
focus the online menu item
- Press up while focusing online menu item: focus status field
2020-07-10 14:15:47 -04:00
miruka
8557c79e12
Improve z-ordering of account avatar elements
...
Show presence orb in front of unread messages, which are shown in front
of the loading spinner overlays
2020-07-10 14:08:16 -04:00
miruka
a7702a5260
Add borderWidth presence theme property
2020-07-10 13:38:18 -04:00
miruka
7f476f8f61
Show online presence orb for unsupported presence
...
On server where presence is disabled, we can still know whether we're
online or offline for our own account.
2020-07-10 13:35:34 -04:00
miruka
1c3099d440
Improve positive/middle/negativeBackground colors
...
Make them a bit lighter, and use these background colors
for presence orbs and room header device verified status instead
of text colors
2020-07-10 13:27:35 -04:00
miruka
70351fb16f
Disable AddChat pages content while offline
2020-07-10 13:15:01 -04:00
miruka
9caaf41eae
Disable some account settings while offline
2020-07-10 13:15:01 -04:00
miruka
e34bfd48a7
Disable leave/forget keybinds while offline
2020-07-10 13:15:01 -04:00
miruka
12b6b74881
Disable room context menu entries while offline
...
Except "Copy room ID"
2020-07-10 13:15:01 -04:00
miruka
7580686598
Add MatriwClient.pause_while_offline()
2020-07-10 13:15:01 -04:00
miruka
5b9e84a9f7
Delay redacting events until we're online
2020-07-10 13:15:01 -04:00
miruka
e5b67c722e
Disable inviting members while offline
2020-07-10 13:15:01 -04:00
miruka
291168ccdb
Disable member kick/ban while offline
2020-07-10 13:15:01 -04:00
miruka
f018b9567b
Fix offline → online not sending pending message
2020-07-10 13:15:01 -04:00
miruka
79fdc710c3
Fix & improve send_file handling of offline account
...
- Show a transfer stuck at 0kb uploaded in the GUI instead of waiting to
be online to show anything
- Fix getting online not making the upload start
2020-07-10 13:15:01 -04:00
miruka
e5a196dcf8
Clear default member list highlight on focus loss
2020-07-10 13:15:01 -04:00
miruka
27b914b0bf
Tell user when not loading history due to offline
2020-07-10 13:14:59 -04:00
miruka
8d93433a8e
Fix case for ZeroDate and PresenceOrder
...
Only top-level types should have CaseLikeThis, general top-level
variables should be LIKE_THAT.
2020-07-10 13:14:18 -04:00
miruka
f03ac77595
Improve Presence docstring
2020-07-10 13:14:18 -04:00
miruka
7af13441a0
Fix AccountDelegate properties in wrong place
2020-07-10 13:14:18 -04:00
miruka
435bbdaf22
Fix highlight when ctrl-tabbing to AddNewChat page
2020-07-10 13:14:18 -04:00
miruka
0ea23dcb6f
Fix room list highlight when adding new account
...
- Unset highlight when going to the add new account page
- After login, highlight the account related to the profile page that
gets switched to
2020-07-10 13:14:18 -04:00
miruka
199940ab19
Fix room list highlight when going to account page
...
Correctly set it when going to an account settings or add chat page by
using the account context menu, the add chat button or keybinds.
2020-07-10 13:14:18 -04:00
vslg
5abdc1f779
Fix changes requested ( #101 )
...
- Fix code formatting issues.
- Document `Presence`.
- Improve `Presence.__lt__()` performance by
defining a dict outside the method.
- Make presence ball radius relative to uiScale
and configurable from theme.
2020-07-10 13:14:18 -04:00
vslg
43df8fd60b
Bug fix and minor improvements
...
Improvements:
- Add instant feedback upon setting a different
presence for account (local echo)
- Sort room members by power level and then
presence
- Periodically update members' `last_acitve_at`
field on the room pane
- Move status message field up on account context
menu, and put invisible before offline again
Bug fix:
- Do not try to override presence set from
another client, accept it
2020-07-10 13:14:18 -04:00
vslg
a3c9ac20c6
Make offline presence to stop sync
...
Setting the presence of an account to offline
will make the client to end sync task and will
prevent messages from being sent.
Setting it to online again or any other presence
will start sync task again.
Left:
- Local echo to presence change
- UI Control to affect all members presence
- Block more requests to be sent (e.g. member
actions)
2020-07-10 13:14:18 -04:00
vslg
3fa35b88c9
Add offline icon and fix theme colors
2020-07-10 13:14:18 -04:00
vslg
edc8e04ce7
Bug fix and minor improvements
...
Bug fixes:
- Do not send typing notice and set room read
markers when the account is invisible
- Fix typing on set_presence
- Allow users to unset status message by setting
it to blank
- Escape html tags of status message on
SubtitleLabel of MemberDelegate
Improvements:
- Display user ID and status message on a tooltip
by hovering account or room member name
2020-07-10 13:14:18 -04:00
vslg
a1f38fe8d8
Add support for status message, use new icons
2020-07-10 13:14:18 -04:00
vslg
91ed600997
Check server presence support and comment code
2020-07-10 13:14:18 -04:00
vslg
d5e0a3340d
Use presence events to update Account presence
2020-07-10 13:14:18 -04:00
vslg
a1e5a1981d
Fix presence not being updated after loaded once
2020-07-10 13:14:18 -04:00
vslg
0eda6eb278
Add account presences to account context menu
2020-07-10 13:14:18 -04:00
vslg
6e202c3e27
Fix outdated presence for lazy loaded members
2020-07-10 13:14:18 -04:00
vslg
59198da3b0
Add presence theme options
2020-07-10 13:14:18 -04:00
vslg
8644ddaad4
Add offline presence text
2020-07-10 13:14:18 -04:00
vslg
215557e353
Add presence circle on members avatar and account
2020-07-10 13:14:18 -04:00
miruka
512c08fe0a
Members: show last active time and status message
...
Left:
- Something like "Active" should be shown instead of a relative time
when the member is considered currently active by the matrix server,
but an "Active" text takes too much space
- Show a colored circle in the bottom right corner of avatars to
indicate if they're online, away, or offline
- Reduce opacity of offline members, but is there a way to know if
the server has presence disabled? For servers like matrix.org,
Riot shows the entire list of members with half opacity at all time,
we want to avoid that
- Setting our status text with a text field in AccountDelegate
context menu, similar to the DeviceDelegate's context menu
- Setting our online/away/invisible/offline status from
AccountDelegate context menu
- Replace the useless "Mirage x.y.z" button in the top left of the UI
with a control to affect all accounts's status
2020-07-10 13:14:18 -04:00
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
b0e2533bb9
Auto-verify/blacklist accounts within same client
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
d566727698
Make close profile/verification icon thinner
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
4ccb774411
nio_callbacks: HTML-escape unsafe event values
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
4752abf6e5
Add a batch set_fields method to Model
2020-07-10 13:14:17 -04:00
miruka
5476e00b9b
Fix missing parentheses in marker update condition
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
8a3d9affaa
Fix signing out not cleaning up model data
2020-07-10 13:14:17 -04:00
miruka
d0c4022fa4
Fix plaintext reply source body formatting
2020-07-10 13:14:17 -04:00
vslg
3d4bfa7413
Do not use .keys()
2020-07-10 13:14:17 -04:00
vslg
d2229554a9
Do not replace existing session ( #63 )
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
9dc0688557
Render inline images/custom emotes
...
<img> tags that either have a width and height (needed for QML to render
correctly) or the data-mx-emote attribute (if they have no width/height,
we assume 32x32) will be rendered inline.
QML's support for img tags with remote src URLs seems buggy on Qt 5.15
especially, not working sometimes. We need to download and cache these
images (like done for matrix media events), and use the local path in
the img's src.
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
8a31f8a9d9
Fix responding to our own event sending wrong ID
2020-06-27 10:08:27 -04:00
miruka
b9f5ec4b72
Fix parsing user/room ID and alias with dashes
...
Properly highlight IDs and aliases where the server part contains a
dash, e.g. "@test:example-abc.org".
2020-06-27 06:20:09 -04:00
miruka
fedcc17c44
Correctly clear room local highlights
2020-06-26 16:26:15 -04:00
miruka
c9cc38e971
Fix QLocale error when compiling on old gcc
2020-06-26 09:56:46 -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
0c9474598c
Bump version to v0.5.2
2020-06-26 07:06:56 -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