Commit Graph

1685 Commits

Author SHA1 Message Date
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
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