miruka
f1055ce5b9
Fix loading m.image events in encrypted rooms
...
Fix bug introduced in 11fb32:
When loading an encrypted thumbnail, QML lacks the decryption dict for
half a second at first.
When calling python like this, python calls the wrong matrix API
for fetching the encrypted thumbnail, and the added retry code
would be forever stuck.
The retry code has been moved to QML, and now works for all HImage.
2020-07-19 14:49:41 -04:00
miruka
26a4d76fc2
Implement basic image viewer popup
...
Current features:
- Show scaled up thumbnail while the full image is loading
- Click to alternate between scaling mode (or reset zoom if not 1x)
- Click outside of image to close
- Double click to toggle fullscreen
- Middle click to open externally (also for thumbnail in timeline)
- Right click anywhere to close
- Ctrl+wheel to zoom
- Click-drag to pan when image larger than window
2020-07-19 03:26:33 -04:00
miruka
d4fb38fd1a
Use layout margin instead of Item after Daybreak
2020-07-18 15:02:19 -04:00
miruka
03af1da1d4
Remove power level apply/cancel button texts
...
Lazy fix for the layout problem
2020-07-17 06:40:15 -04:00
miruka
7f478efc40
Topic area, power level text: fix disabled opacity
2020-07-17 05:29:25 -04:00
miruka
716ac2a0af
Refer to custom components to access their enums
2020-07-17 01:45:02 -04:00
miruka
6c4ee17e40
Retrieve last seen time for offline room members
2020-07-17 00:46:46 -04:00
miruka
aff5f45ca0
utils.h: check for Q_OS_LINUX, not _UNIX
2020-07-16 23:05:02 -04:00
miruka
189b325a2b
Document X11 dependencies in INSTALL.md
2020-07-16 19:26:21 -04:00
miruka
abcea2244d
Make libX11 & libXScrnSaver optional on Linux
2020-07-16 19:09:09 -04:00
miruka
42791f32d3
Enter member profile → focus power level control
2020-07-16 18:17:44 -04:00
miruka
bcf93a6f36
Disable member power level control when offline
2020-07-16 18:11:37 -04:00
miruka
74c4d63c16
Add C++ clipboard image provider
...
Will be used to show a preview before uploading image from clipboard.
Transforming the clipboard image to PNG (or any other real format) is
slow and freezes the GUI, with the provider we can display it directly.
2020-07-16 14:26:09 -04:00
miruka
60832b2fcd
Confirm uploading from path in clipboard
2020-07-16 12:42:42 -04:00
miruka
04692179f9
MemberProfile: admins can't demote other admins
2020-07-15 10:04:31 -04:00
miruka
62ea61380a
Split avatar presence orb into its own component
2020-07-15 00:39:16 -04:00
miruka
5007a5d97c
Fix reply bar height
2020-07-14 05:25:32 -04:00
miruka
c018c04cab
Auto-expand room pane to show settings/profiles
...
If the room pane is below the default width (by user resizing or because
of narrow window), go to the room settings or a member profile will
automatically expand it as needed.
The pane goes back to its previous size once the settings/profile is
left.
If the window is narrow enough that expanding the pane normally would
reduce the timeline's width past its minimum, the pane is shown as an
overlay instead.
2020-07-14 03:00:10 -04:00
miruka
ec9004101a
Show details in timeline for power level events
2020-07-13 23:36:18 -04:00
miruka
bd50cd46fa
Fix old power events sent when setting user level
2020-07-13 21:14:14 -04:00
miruka
7277b5d198
PowerLevelControl: add error and warning texts
2020-07-13 19:21:50 -04:00
miruka
757679a6e0
Make power level control permission-aware
2020-07-13 18:57:42 -04:00
miruka
0459657575
Room default power level awareness
2020-07-13 18:54:30 -04:00
miruka
9d397b62c5
Update room member models on power levels event
2020-07-13 18:54:30 -04:00
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
fe831e7865
Add power level display to member profile
2020-07-12 16:14:24 -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
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
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
e5b67c722e
Disable inviting members while offline
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
f03ac77595
Improve Presence docstring
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
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
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
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
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
b0e2533bb9
Auto-verify/blacklist accounts within same client
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
789e9c7da8
Close verif. page when verifying/blacklisting
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
3933615f67
Fix menu/popup destruction disabling keybinds
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
0a2d274824
Add verified devices indicator to room header
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
dc3e90ffc3
Clean up TODO.md
2020-06-26 08:52:00 -04:00
miruka
e62b53299a
Update changelog and readme features
2020-06-26 08:33:22 -04:00
miruka
0c9474598c
Bump version to v0.5.2
2020-06-26 07:06:56 -04:00
miruka
d058926902
Uncheck messages before clearing event list
2020-06-26 06:11:03 -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
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
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
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
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
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
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
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
6772f14c24
Use a text area instead of field for room topic
2020-06-02 21:52:16 -04:00
miruka
ccd2308427
Fix new added account's order
2020-06-02 21:11:04 -04:00
miruka
241c16932f
Immediatly update cached profile after changing it
2020-06-02 21:09:21 -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
fed613359f
Update CHANGELOG.md
2020-06-01 09:48:07 -04:00
miruka
dce3328037
Use new nio server-backed room unread counts
2020-05-31 19:06:25 -04:00
miruka
8215993abe
TODO.md: update Qt 5.15 new features of interest
2020-05-30 23:08:21 -04:00
miruka
7c83b1c167
Remove uneeded dependencies for AppImage building
...
Pillow 0.7+ no longer requires separate installation of libraries like
libjpeg, zlib, etc, for common desktop architectures at least
(which is why we keep them in the INSTALL.md manual install commands).
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
ee58b0cee4
Update TODO.md
2020-05-28 13:59:25 -04:00
miruka
ab6a9d0225
Update TODO.md
2020-05-23 03:19:12 -04:00
miruka
855672481f
Improve some python documentation and add an intro
2020-05-22 17:27:57 -04:00
miruka
3d474502e7
Update TODO.md
2020-05-22 08:31:45 -04:00
miruka
b3b12014ee
Workaround collapsing large account ListView bug
2020-05-22 07:31:00 -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
bbd845c040
Use kwargs when calling nio.AsyncClient.upload()
2020-05-21 20:52:42 -04:00
miruka
921f75827d
Use pdb if remote_pdb isn't installed
2020-05-21 20:50:43 -04:00
miruka
fb975fad71
Remove unused Backend.await_model_item()
2020-05-21 20:46:08 -04:00
miruka
8c9b5267e9
Update and add missing new docstrings
2020-05-21 20:45:15 -04:00
miruka
5ae71cb7ce
Work around ModelStore binding loop
2020-05-21 01:26:12 -04:00
miruka
b30ce33494
Fix default media_mime for media events
2020-05-21 01:05:31 -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
miruka
07701ae880
Remove uvloop support, causes issues
2020-05-20 23:56:19 -04: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