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
476888ca84
Fix guest access event text, always said "allowed"
2020-06-25 10:11:42 -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
926f77fa91
Add MatrixClient.devices_info() method
2020-06-12 23:09:17 -04:00
miruka
bbdc16c5c9
Merge clipboard.h and clipboard.cpp
2020-06-12 14:10:11 -04:00
miruka
715a6ca530
Merge utils.h and utils.cpp
2020-06-12 14:09:47 -04:00
miruka
451abfdf25
Support MIRAGE_CACHE_DIR env variable
2020-06-11 21:50:26 -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
e685b0a8b7
Prefer using own account to fetch own profile
2020-06-05 08:11:40 -04:00
miruka
0f679956ec
Fix topic text area inside scrollview
2020-06-05 06:33:55 -04:00
miruka
f632b4e332
Bump version to v0.5.1
2020-06-05 06:26:44 -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
b81dea9bc2
Fix KeyError when forgetting a room
2020-06-05 01:39:17 -04:00
miruka
43468c25e3
Update account unread count when forgetting room
2020-06-05 01:16:27 -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
a6529b040c
Fix handling topics containing \n, \t or <text>
2020-06-02 22:03:22 -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
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
5bf1a90242
Separate MatrixClient function to get our profile
...
Side-effect: don't endlessly retry anymore when getting the profile
fails for some reason
2020-06-02 20:40:44 -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
283d2235dc
Don't wait for server to zero unread counters
2020-06-01 18:59:49 -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
d2300bf663
Update account total notif/highlight calculation
2020-05-31 19:41:05 -04:00
miruka
3791a08eea
Terminology: room mention count → highlight count
2020-05-31 19:13:19 -04:00
miruka
dce3328037
Use new nio server-backed room unread counts
2020-05-31 19:06:25 -04:00
miruka
7b5aa8ffe1
Store room member read markers in model
2020-05-31 00:38:48 -04:00
miruka
160ce2643e
Add type hints for all NioCallbacks methods
2020-05-31 00:11:56 -04:00
miruka
ca7a47bc19
Register nio callbacks for any class in nio.events
2020-05-30 23:39:07 -04:00
miruka
b399de6776
Remove account collapse bug workaround
...
Unable to reproduce the bug where collapsing an account with lots of
rooms corrupts the ListView, did updating to Qt 5.14.2 do something?
With the workaround removed, the 0.2s delay when removing batch of
ListView items (e.g. when filtering) is gone.
2020-05-30 23:08:21 -04:00
miruka
de894ab4bb
Protect proxy/filter models with write_lock
2020-05-30 23:08:21 -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
60fa027c2e
Lock models when trying to decrypt events
...
Trying to deep-copy can result in pickling errors (#50 ),
write-lock the models instead to avoid "dictionary changed size during
iteration" issues.
2020-05-28 14:16:43 -04:00
miruka
c0118c4e28
Rename Model._write_lock → Model.write_lock
2020-05-28 14:13:14 -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
855672481f
Improve some python documentation and add an intro
2020-05-22 17:27:57 -04:00
miruka
c8f3a4937c
Fix potential exceptions on AllRooms model __init__
...
Calling super().__init__ may result in source model items being added,
which needs the self.account and self._collapsed attributes to
already exist.
2020-05-22 16:47:15 -04:00
miruka
562e1431b9
Fix adding account when none were previously saved
2020-05-22 08:48:58 -04:00
miruka
b3b12014ee
Workaround collapsing large account ListView bug
2020-05-22 07:31:00 -04:00
miruka
3d40f762ce
Don't strip <mx-reply> tags
2020-05-22 02:11:21 -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
6f688ae1aa
Implement circle progress bars in QML
2020-05-21 20:06:47 -04:00
miruka
35e6c1c7eb
Make sure to register room on ignored events
2020-05-21 14:37:48 -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
58dd63a850
Traceback if getting profile/server config fails
2020-05-21 14:14:27 -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
e128471628
Merge branch 'dev' of https://github.com/mirukana/mirage into dev
2020-05-20 23:40:41 -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
4a91b3d09d
Hide unknown events by default (reaction spam)
2020-05-20 11:49:25 -04:00
miruka
a48b1cedd0
Don't limit width of messages with code blocks
2020-05-20 11:08:02 -04:00
miruka
42b62377ab
Fix past member events affecting actual room state
2020-05-20 09:05:36 -04:00
miruka
7719df0135
Fix message mention link regex
...
Also stop trying to autolink strings like "$messageId:example.org" in message
text, matrix.tpo message links need a room ID to make sense.
2020-05-20 07:54:40 -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
87fa18fbcd
Fix missing event text in plaintext reply fallback
2020-05-20 07:09:24 -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
66f9a17111
No need for origin_*body Event keys
...
Also fixes lack of original message text when
replying to non-message events.
2020-05-20 06:38:25 -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
bc5549195b
Improve HTMLProcessor performance (mentions)
...
- Try to autolink usernames only for outgoing messages
- Improve and add some missing docstrings
Fixes the very slow loading/python "freezing" for rooms with a huge
number of members.
2020-05-20 00:59:30 -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
ef9b880152
Register room members only when needed
2020-05-17 15:29:23 -04:00
miruka
05a547971d
Fix clicking on Account not updating highlight
2020-05-17 14:41:25 -04:00
miruka
f23a83b0d5
NioCallbacks: add self.models/user_id aliases
2020-05-17 13:57:09 -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
ddf7e724fd
Set a loop_sleep_time for sync_forever()
...
https://github.com/poljar/matrix-nio/pull/132#pullrequestreview-412701098
"If not [set] the client will sync without any sleep between syncs.
This will cause a lot of load on the homeserver and the client."
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
dfd7d509a4
Fix item losing its parent model when filtered out
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
miruka
e147b87d1b
Remove superfluous HTileDelegate, use HTile
2020-05-15 20:56:23 -04:00
miruka
ad7bce657c
Merge RoomList & AccountBar account delegates code
2020-05-15 20:56:23 -04:00
miruka
bbb74b7b90
Remove nio <0.11 asdict workaround
...
Mirage 0.5.0 requires nio 0.11+
2020-05-15 20:56:23 -04:00
miruka
4546a2f88c
Set room as read when focusing it by ctrl+tab
2020-05-15 20:56:23 -04:00
miruka
e006e14b05
Bump version to v0.5.0
2020-05-15 20:56:23 -04:00
miruka
2cc24d0235
Updates and minor adjustment on glass theme
2020-05-15 20:56:23 -04:00
miruka
65b3b17994
Reduce AccountBar highlight border thickness
2020-05-15 20:56:23 -04:00
miruka
5b05e56b2a
Fix AccountBar goToAccount errors
2020-05-15 20:56:23 -04:00
miruka
9b5b3a9f06
Support a order
key for accounts in config
2020-05-15 20:56:23 -04:00
miruka
fd3fe06d15
Add keybinds to go to account at specific indice
2020-05-15 20:56:23 -04:00
miruka
6f1f82f82d
Change unfocus/deselect & debug message keybinds
...
unfocus/deselect → ctrl+D, because escape conflicts with any text field
that must handle escape
debug message → ctrl+shift+D instead of ctrl+D
2020-05-15 20:56:23 -04:00
miruka
bbb00dd8a0
Let escape presses work properly inside HDrawer
...
Also add escape to clear member filter when focusing the field, and
clearMemberFilterOnEscape setting.
2020-05-15 20:56:23 -04:00
miruka
45048e625c
Fix UI parts focus keybind and buttons
2020-05-15 20:56:23 -04:00
miruka
d444c800b9
Remove unused showEveryRoom keybind
2020-05-15 20:56:23 -04:00
miruka
974478f576
Add keybinds for previous/next unread/mention room
2020-05-15 20:56:23 -04:00
miruka
200f0c33a8
Fix higlighted room not updating after ctrl+tab
2020-05-15 20:56:23 -04:00
miruka
922f12e9f9
Highlight correct account/room on startup
2020-05-15 20:56:23 -04:00
miruka
eacee59f9e
Fix Room delegate opacity for left rooms
2020-05-15 20:56:23 -04:00
miruka
82c8496216
AccountBar: reduce opacity of collapsed accounts
2020-05-15 20:56:23 -04:00
miruka
9157cbd590
Add back collapse account keybind
2020-05-15 20:56:23 -04:00
miruka
e544f38b9f
Fix account settings/create room keybinds
2020-05-15 20:56:23 -04:00
miruka
5b4d12e330
AccountBar: make spinners visible again
2020-05-15 20:56:23 -04:00
miruka
94bcf323b2
Drop the "s" from AccountsBar
2020-05-15 20:56:23 -04:00
miruka
eff203032c
Python implementation of account collapsing
2020-05-15 20:56:23 -04:00
miruka
064dd08f02
Window.qml: fix alignment, remove unused property
2020-05-15 20:56:23 -04:00
miruka
7192a402b6
Bring back account collapsing UI stuff
...
Not functional yet
2020-05-15 20:56:23 -04:00
miruka
bd3c78a73a
Make theme file closer to what it was in 0.4.3
2020-05-15 20:56:23 -04:00
miruka
c1dd06559c
Bring back main pane bottom bar
2020-05-15 20:56:23 -04:00
miruka
fe18b725a5
Use an horizontal bar for accounts
2020-05-15 20:56:23 -04:00
miruka
8e0c046cdb
MemberView: no need for onAdd transition hack now
2020-05-15 20:56:23 -04:00
miruka
45790dc57c
Remove unused old model stuff
2020-05-15 20:56:23 -04:00
miruka
4d3c26abd4
Gather both Accounts and Rooms in all_rooms model
2020-05-15 20:56:23 -04:00
miruka
19243ec5a6
Fix serialize_value_for_qml handling of class type
2020-05-15 20:56:23 -04:00
miruka
e90312803b
Fix event delegates extra bottom space
2020-05-15 20:56:23 -04:00
miruka
b4561ce50b
Fix back/forward headers buttons in small window
2020-05-15 20:56:23 -04:00
miruka
05325d21bd
Fix current account highlighting
2020-05-15 20:56:23 -04:00
miruka
7aa0e7fad6
Remove 429 workaround (fixed in nio #138 )
2020-05-15 20:56:23 -04:00
miruka
c2e212c1eb
Add syncing indicator to AccountsBar accounts
2020-05-15 20:56:23 -04:00
miruka
97fdc214dd
No need for special model attributes in Backend
2020-05-15 20:56:23 -04:00
miruka
f4dca1c2c9
Fix SyncId type hint & remove debug prints
2020-05-15 20:56:23 -04:00
miruka
7048a0ac08
Remove now unused HFilterModel
2020-05-15 20:56:23 -04:00
miruka
37a9332aed
Python filtered models for room members
2020-05-15 20:56:23 -04:00
miruka
200f25d23e
Python filter for AccountsBar
2020-05-15 20:56:23 -04:00
miruka
0e49b5f972
Write-lock when refiltering
2020-05-15 20:56:23 -04:00
miruka
c502aa4245
Add model batch removal optimization for filtering
2020-05-15 20:56:23 -04:00
miruka
5432958121
Working python proxy/filter for room list
2020-05-15 20:56:23 -04:00
miruka
eee198b238
Add python proxy/filter models
2020-05-15 20:56:23 -04:00
miruka
1a69ae684e
Fix focusRoomAtIndex binds
2020-05-15 20:56:23 -04:00
miruka
ac0907fad7
ModelItem can only have one parent model again
2020-05-15 20:56:23 -04:00
miruka
2a772e5f54
Ensure waiting after sync failure before retrying
2020-05-15 20:56:23 -04:00
miruka
54b5f7b8f2
Fix HFilter find functions
2020-05-15 20:56:23 -04:00
miruka
592a9fe8e7
Have id field on ModelItem base class
2020-05-15 20:56:23 -04:00
miruka
5b2c131fd1
Filtering → hide accounts with no matching rooms
2020-05-15 20:56:23 -04:00
miruka
4f9e320074
Click on account with 0 rooms → AddChat page
2020-05-15 20:56:23 -04:00
miruka
5373d19c83
Fix account bar scrolling when room list filtered
2020-05-15 20:56:23 -04:00
miruka
cc4a780865
Fix account bar scrolling
...
All delegates must have the same padding, or the ListView doesn't know
how to scroll to a certain index anymore
2020-05-15 20:56:23 -04:00
miruka
194a5194a8
Better account context menu, add it in AccountsBar
2020-05-15 20:56:23 -04:00
miruka
7042df003f
Fix clicking on room in filtered list
2020-05-15 20:56:23 -04:00
miruka
37042f6365
Theming for account unread/mention indicator
2020-05-15 20:56:23 -04:00
miruka
9f7d30f248
Add account total unread/mentions indicator
2020-05-15 20:56:23 -04:00
miruka
9ebd8644c8
Dedicated MessageIndicator.qml (unread/mentions)
2020-05-15 20:56:23 -04:00
miruka
c352275089
Maybe fix the DelegateModel + ListView.add bug
2020-05-15 20:56:23 -04:00
miruka
bf20b7864d
Fix compact mode with new pane
2020-05-15 20:56:23 -04:00
miruka
0d25c4caeb
Improve HTile(Delegate) paddings
2020-05-15 20:56:23 -04:00
miruka
36a214bf1a
Fix main pane minimum size
2020-05-15 20:56:23 -04:00
miruka
2bb13bf7f7
HStringFilterModel: Refilter when field changes
2020-05-15 20:56:23 -04:00
miruka
7418f0fe93
Add dedicated HStringFilterModel component
2020-05-15 20:56:23 -04:00
miruka
69a525d317
Replace SortFilterProxyModel by DelegateModel
2020-05-15 20:56:23 -04:00
miruka
19fe1c4e7b
Buggy room filtering
2020-05-15 20:56:23 -04:00
miruka
fcf88209f2
Single room list approach, account bar scrolls
2020-05-15 20:56:23 -04:00
miruka
56c09e6b48
Split pane components more
2020-05-15 20:56:23 -04:00
miruka
393a56a50a
Model items can now have multiple parent models
2020-05-15 20:56:23 -04:00
miruka
34f98b48d1
Add "every room" button
2020-05-15 20:56:23 -04:00
miruka
bbc462239c
Improve accounts bar appearance
2020-05-15 20:56:23 -04:00
miruka
9b3127b7c3
New pane theming
2020-05-15 20:56:23 -04:00
miruka
93c7fadeed
Rename RoomPane and AccountBar components
2020-05-15 20:56:23 -04:00
miruka
65103eaaba
Add keybinds to switch accounts
2020-05-15 20:56:23 -04:00
miruka
72c96b3ba5
Start restructuring how the account/room pane work
2020-05-15 20:56:23 -04:00
miruka
da6a54f0bf
Fix compact mode toggling for room delegates
2020-05-15 20:56:23 -04:00
miruka
7fb67259e7
load_all_room_members doc + ensure registering
2020-05-15 20:56:23 -04:00
miruka
8b02f0e462
More efficiant roomList delegate in view detection
2020-05-15 20:56:23 -04:00
miruka
ecb88864a9
Higher firstsync limit to avoid missing room name?
2020-05-15 20:56:23 -04:00
miruka
744c6f1b3f
Load all room members when showing a room to user
2020-05-15 20:56:23 -04:00
miruka
99d59bb49b
Use filtered model strictly when neccessary
2020-05-15 20:56:23 -04:00
miruka
01adcff77e
Reduce the number of room delegate errors
2020-05-15 20:56:23 -04:00
miruka
6536f89507
Fix missing rooms and wrong avatars in initialsync
2020-05-15 20:56:23 -04:00
miruka
fd8cf4ad8d
Optimize model field replacements
2020-05-15 20:56:23 -04:00
miruka
68e344ae21
Give a base class to model item pyotherside events
2020-05-15 20:56:23 -04:00
miruka
a4c33f8edb
Ensure first event for each rooms is a visible one
...
Dependening on the user's config, request for the first sync that
profile changes, membership changes or unknown events be filtered out.
This ensures we have something to show as the room subtitle (last
message) in the UI.
2020-05-15 20:56:23 -04:00
miruka
aba2fd1b4b
Improve sync & load_past_events filter usage
...
Limit to 1 message/room only for the first sync
2020-05-15 20:56:23 -04:00
miruka
2cbedaa892
HLoader as room delegates test
2020-05-15 20:56:23 -04:00
miruka
eacd7f1f3e
Get only 1 event of each kind for rooms on start
2020-05-15 20:56:23 -04:00
miruka
3a77a0288f
Use user ID for unknown typing users in room
2020-05-15 20:56:23 -04:00
miruka
9e07612249
Remove "room load until there's non-profile event"
2020-05-15 20:56:23 -04:00
miruka
1adbddc063
Enable member lazy-loading for /sync and /messages
2020-05-15 20:56:23 -04:00
miruka
d71dc91a23
Change debug logging color to blue
2020-05-15 20:56:23 -04:00
miruka
2cc3f27247
Add Ban to member context menu
...
Also don't try to load past messages in rooms we've left/been
kicked/banned from.
2020-05-15 20:56:23 -04:00
miruka
2d231b7af1
Properly check power levels before allowing kick
2020-05-15 20:56:23 -04:00
miruka
2a0a3765fc
Add kick to room member context menu
2020-05-15 20:56:23 -04:00
miruka
bdb9a650d9
Don't color whole line for logging
2020-05-15 20:56:23 -04:00
miruka
89824326e4
Better QML logging & hide Qt 5.14 warnings
2020-05-15 20:56:23 -04:00
miruka
4f8dc98d13
Sort mentioned/unread rooms by last event date
2020-05-15 20:56:23 -04:00
miruka
74e35bd128
Fix space taken by invisible unread indicator
2020-05-15 20:56:23 -04:00
miruka
0ba8c6eecf
Make all events able to increment unread/mentions
2020-05-15 20:56:23 -04:00
miruka
4f374081a7
Add indicator properties to Glass theme
2020-05-15 20:56:23 -04:00
miruka
20ff6fe02a
Fix account delegate buttons spacing
2020-05-15 20:56:23 -04:00
miruka
f3aa9f0c5f
Sort rooms with mentions, then unreads first
2020-05-15 20:56:23 -04:00
miruka
c787ff6f41
Dedicated theming for unread indicator
...
Also make default indicator background colors darker to be more readable
2020-05-15 20:56:23 -04:00
miruka
cb1a5865cc
Fix unread indicator "appear" animation
2020-05-15 20:56:23 -04:00
miruka
0a1834b763
Mark rooms as read on all our accounts
2020-05-15 20:56:23 -04:00
miruka
568d4fddce
Don't increment room unreads for our own events
2020-05-15 20:56:23 -04:00
miruka
e98a539433
Don't increment room unreads for past events
2020-05-15 20:56:23 -04:00
Emi Simpson
6ee20a2717
Added limited local read/unread tracking
2020-05-15 20:56:23 -04:00
miruka
b2cfc27ce2
accounts.json: support new "enabled" key
...
Specifying false will cause Mirage to ignore an account and not
log it in on startup.
Defaults to true when adding new accounts or if not present.
2020-05-15 20:56:23 -04:00
miruka
80ac8896d8
Pass a filesize to AsyncClient.upload()
...
Fixes #37
2020-05-15 20:47:33 -04:00
Mikko Rasa
9a6c4b5b30
Fix asyncio event loop init in qml_bridge.py
...
Depending on Python version the file may be imported in a thread and
asyncio only implicitly creates an event loop in the main thread of the
process. Backend does things which need asyncio so we must ensure an
event loop exists before it is imported.
Fixes #15
2020-05-15 15:10:05 +03:00
miruka
4bae3cf90e
Fix AttributeError with matrix-nio 0.11+
2020-05-14 13:58:34 -04:00
miruka
8b8829af86
Use asyncio.Task.current_task for python 3.6
2020-04-26 13:49:44 -04:00
miruka
4961042bde
Fix error on <a> tags without a href attribute
2020-04-07 09:57:32 -04:00
miruka
e0e33649a2
Stricter user/room/message ID mention parsing
...
Fixes issues like this entire string being linkified:
"! foo:example.org"
2020-04-06 08:30:47 -04:00
miruka
3e10a6d530
Don't show popup when focusing unredactable event
2020-04-03 12:58:15 -04:00
miruka
aa4cd5bd2c
Bump version to v0.4.3
2020-04-03 07:56:42 -04:00
miruka
5f38788434
Focus reason field by default in RedactPopup
2020-04-03 07:53:36 -04:00
miruka
1e049a0159
Unselect before unfocusing messages with keybind
2020-04-03 07:53:36 -04:00
miruka
b48e663007
Cancel sending events when removing local echoes
2020-04-03 07:53:36 -04:00
miruka
0e04eafebd
Redaction local echo for our other accounts
2020-04-03 07:53:36 -04:00
miruka
5cb013838b
Be able to redact our other account's events
2020-04-03 07:53:36 -04:00
miruka
8af63a304f
Redact local echo: same text as redaction event
2020-04-03 07:53:36 -04:00
miruka
d991d04a8c
Fix copying event when no selection or focused
2020-04-03 07:53:36 -04:00
vSLG
af861ac13a
Add redact echo before we receive RedactionEvent
2020-04-03 07:53:36 -04:00
miruka
f8fe5d812b
Imrpove redacted events text
2020-04-03 07:53:36 -04:00
miruka
38cc0b1bc7
Ensure last event to delete is ours
2020-04-03 07:53:36 -04:00
miruka
6d270029ad
Remove message keybind: don't bind ctrl+del
...
Ctrl+Del has a special function for deleting words in text, don't
override that
2020-04-03 07:53:36 -04:00
miruka
5ea339ea33
Add keybinds for message removal
2020-04-03 07:53:36 -04:00
miruka
379a7232df
Add useless thing to console
2020-04-03 07:53:36 -04:00
miruka
05319af858
Redaction code adjustments + theme addition
2020-04-03 07:53:36 -04:00
vSLG
e60a7f6dac
Make "Remove" option conditional in context menu
...
Refactor code in the backend so things can work
better
2020-04-03 07:53:36 -04:00
vSLG
fc878e7537
Fix event redaction and remove junk code
2020-04-03 07:53:36 -04:00
vSLG
db1afc980e
Add RedactionEvent support on backend
2020-04-03 07:53:36 -04:00
vSLG
b3f1075507
Add redacting event via context menu
2020-04-03 07:53:36 -04:00
miruka
554f5d6013
Fix need to press Esc twice to exit popups/menus
2020-04-03 07:53:36 -04:00
miruka
e33c202376
panes toggleFocus(): more reliable focus detection
2020-04-03 07:53:36 -04:00
miruka
70f67f01ac
DebugConsole: don't reset target on toggle()
2020-04-03 07:53:36 -04:00
miruka
4602366b9c
debugConsole: add toggle() conveniance function
2020-04-03 07:53:36 -04:00
miruka
f838bdf96d
focusRoomAtIndex binds: default to cmd+num on OSX
2020-04-03 07:53:36 -04:00
miruka
5ad042f44b
Properly force default QML style
...
The "mysterious segfault" was caused by KDE and its components hijacking
the base QtQuick Controls.
Use a more reliable method that changing env variables to force
QML to use the fusion or default style, which has the base controls we
expect.
2020-04-03 07:53:36 -04:00
miruka
ad937573cf
Rewrite HTile and adapt components using it
...
Rewrite HTile in a more standard way, hopefully fixing the
mysterious segfault on some systems
2020-04-03 07:53:36 -04:00
miruka
6e63569ad7
Add leaveRoom and forgetRoom keybinds
2020-04-03 07:53:36 -04:00
miruka
2a648d7f59
Add invite to room keybind
2020-04-03 07:53:36 -04:00
miruka
790229e188
Make DebugConsole keyboard-scrollable again
2020-04-03 07:53:36 -04:00
miruka
22be0bf5f0
MIRAGE_CONFIG_DIR and MIRAGE_DATA_DIR env vars
...
Allow overriding the default path where config files and user data are
found
2020-04-03 07:53:36 -04:00
miruka
1038678a2f
Refactor global shortcuts, simplify debug consoles
...
- Move out all shortcuts from their central file to the component they
actually belong to
- Get rid of DebugConsoleLoader and the multiple consoles handling mess,
have only one global console
2020-04-03 07:53:36 -04:00
miruka
6850ef26f5
Show details when login fails with unknown error
2020-03-29 11:48:04 -04:00
miruka
eafd65d490
Fix compact mode being enabled by default
2020-03-28 11:04:43 -04:00
miruka
4185a30a6e
theme_parser: translate hard tabs to spaces
2020-03-28 07:48:27 -04:00
miruka
c64179fcbd
Fix "AbstractButton" problem with Qt 5.14
2020-03-27 10:36:50 -04:00
miruka
311a53f8f4
"Unselect" → "Deselect"
2020-03-27 07:06:38 -04:00
miruka
4c76ffd88b
Bump version to v0.4.2
2020-03-27 05:40:23 -04:00
miruka
ff8fd01eb1
Fix copying selected non-message events
2020-03-27 05:38:29 -04:00
miruka
c03bf32a7b
Theme color for eventList highlight
2020-03-27 05:09:49 -04:00
miruka
af6cdc9013
Rename HListView checking-related functions
2020-03-27 05:05:25 -04:00
miruka
3f69710813
Allow copying text from non-message events
2020-03-27 04:58:49 -04:00
miruka
936c49127d
Add keyboard controls for message focus/selection
2020-03-27 04:49:01 -04:00
miruka
6ca10e1f2b
Customizable unselectAllMessage keybind
2020-03-27 03:53:25 -04:00
miruka
ba86414ddf
Implement shift+click/A-B message selection
2020-03-26 23:24:37 -04:00
miruka
e696c16fc8
Remove old drag-scrolling hack code
2020-03-26 22:22:07 -04:00
miruka
4a780e20f4
Make HMenu modal
...
Prevents accidentally triggering TapHandlers when clicking outside of
the menu to exit it.
2020-03-26 22:00:35 -04:00
miruka
43c018d0a4
Improve "Copy text" text and availability
2020-03-26 22:00:00 -04:00
miruka
18f53829d9
Make composer/eventList ctrl-c work again
2020-03-26 22:00:00 -04:00
miruka
a61f1d5d04
Make selection look better
2020-03-26 22:00:00 -04:00
miruka
2d471b70f5
Single message text selection for mouses
2020-03-26 22:00:00 -04:00
miruka
3852357614
Start implementing new message selection system
2020-03-26 22:00:00 -04:00
miruka
710dba09ec
Remove message text selection hack
2020-03-26 22:00:00 -04:00
miruka
f148837fae
Remove Invite/LeftBanner avatar radius
2020-03-26 21:59:33 -04:00
miruka
ca92abe689
Merge branch 'dev'
2020-03-24 16:02:23 -04:00
Rinigus
d17c6334da
Add pen as an input device to the right click handler
2020-03-24 19:52:48 +02:00
miruka
379a851a62
alertOnMessageForMsec: correctly handle 0 value
...
If 0: don't show any alert
If -1: show alert indefinitly until user focuses the window
2020-03-24 11:31:32 -04:00
Rinigus
5058e3c13e
Fix activation of right-click on touch devices
2020-03-24 16:43:31 +02:00
miruka
684ddd364c
Don't ignore case when linkifying display names
2020-03-24 04:12:09 -04:00
miruka
3dc81700c1
Correct mailto: linkifying in some special cases
...
adresses where the host ends with a digit or where the host is only one
character
2020-03-24 04:08:00 -04:00
miruka
0e191f11d0
Member ev. processing: don't assume any key exists
2020-03-24 03:56:31 -04:00
miruka
be43f68059
Support $id:server message ID mentions
2020-03-23 17:17:15 -04:00
miruka
bed0dbf998
Add setting to ignore unknown events
2020-03-23 16:58:31 -04:00
miruka
d34e2ab2b6
Render room id/alias mentions bold by default
2020-03-23 16:53:11 -04:00
miruka
831dca3723
EventContent: avoid some false name detection
2020-03-23 16:50:12 -04:00
miruka
bd53993b90
Ignore mention links with no text
2020-03-23 16:34:51 -04:00
miruka
469992b650
Fix avatar size for one line events like m.emote
2020-03-23 16:10:13 -04:00
miruka
2e6488e6f9
Bump version to v0.4.1
...
Changelogs:
Added:
- `hideMembershipEvents` setting in config file, controls whether
events such as "x joined the room" are shown in the timeline
- `hideProfileChangeEvents` setting in config file, controls whether
display name and avatar change events are shown in the timeline
- Compact mode to make accounts, rooms, messages and room members
take only one line as well as reducing vertical spacing between them.
Set by the new `compactMode` setting in config file, and can also
be toggled with the `keys.toggleCompactMode` keybind which defaults
to Alt+Ctrl+C
- `keys.focusRoomAtIndex` in config file, a
`{"<index>": "<keybind>"}` mapping which by default binds
Alt+1-9 and Alt-0 to focus room 1 to 10 in the current account
- User ID, display names, room ID and room aliases are now
automatically transformed to matrix.to links and will be rendered
as mentions by clients.
In Mirage, this results in user ID/names being colored with the
same color seen when they send messages
- Track the number of times your user was mentioned in rooms.
The visual counter is not yet displayed, since there currently is
no way to mark messages as read and make the counter go down
Fixed:
- Python exceptions occuring in the asyncio loop not being printed
in the terminal
- Extra newline shown after code blocks in messages
- Constant CPU usage due to button loading animations still being
rendered while uneeded and invisible
Theme changes:
- Added `controls.avatar.compactSize` property
- Added `.mention` class styling to `chat.message.styleSheet`
2020-03-23 15:06:57 -04:00
miruka
db1cd13977
Glass.qpl: add .mention to styleSheet
2020-03-23 14:32:43 -04:00
miruka
38e57d2ff9
Color user mentions in local echoes too
2020-03-23 14:23:32 -04:00
miruka
b11bd8331b
Fix constant CPU usage due to HButtonContent
...
Unload the animated HBusyIndicator when not needed
2020-03-23 14:04:00 -04:00
miruka
919edb52ad
Fix /me messages having names on their own lines
2020-03-23 13:49:19 -04:00
miruka
4fdf531631
Fix mention-related KeyError in message callback
2020-03-23 13:43:30 -04:00
miruka
3c64b33cb7
Color user mentions
2020-03-23 13:30:40 -04:00
miruka
688f36b7f1
Event: add [(text, link)] mentions attributes
2020-03-23 15:39:14 -04:00
miruka
8e7cd7bde9
Add data-mention attributes to mention links
2020-03-23 15:23:01 -04:00
miruka
3084745522
Remove extra newline from <pre> elements
2020-03-23 15:11:29 -04:00
miruka
a20cfcffe5
Add special CSS classes to mention links
2020-03-23 15:02:31 -04:00
miruka
710668da5d
Disable unread mention counter *for now*
...
There's currently no way to make it go down, read room markers need to
be implemented first.
2020-03-23 00:50:58 -04:00
miruka
0682990666
Fix compact mode msg names on their own lines
2020-03-23 00:48:39 -04:00
miruka
ef2504ecae
Visual unread mentions counter
2020-03-22 23:55:48 -04:00
miruka
367fff8f4a
Fix mentions incorrectly linked for outgoing html
2020-03-22 23:00:30 -04:00
miruka
b1144572aa
Fix loop exceptions not printed in terminal
2020-03-22 20:58:24 -04:00
miruka
8d5bc45ceb
Safer linkifying for user display names
2020-03-22 20:58:05 -04:00
miruka
8fd7ce4e14
Safer linkifying for user ID, room ID, room alias
...
Don't replace anything in already existing links or <code>.
2020-03-22 19:40:43 -04:00
miruka
2fbfac5e0d
Proper user ID, name, room ID, alias linkifying
2020-03-22 17:38:28 -04:00
miruka
f858e505a6
Linkify typed usernames/id in markdown
2020-03-22 16:21:29 -04:00
miruka
9f52fa86fa
Add Alt+1-0 keybinds to switch to a room at index
2020-03-22 14:08:27 -04:00
miruka
53dfd08131
Add toggleCompactMode keybind, re-rename setting
2020-03-22 13:30:03 -04:00