Commit Graph

1512 Commits

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