miruka
eb11e7a13a
Disable invite and room sidepane expand icon
...
Their functions are not implemented yet.
2019-08-27 19:51:25 -04:00
miruka
0a0e11e1f4
Rework the LoadingScreen and HBusyIndicator
2019-08-27 19:47:58 -04:00
miruka
410a42bc59
Show EditAccount page loading until profile ready
2019-08-27 15:07:08 -04:00
miruka
6cb7589cca
Loading icon for accounts until synced
2019-08-27 15:00:50 -04:00
miruka
b457f46247
Close HTTP session when logging in fails
...
Avoids "Unclosed client session" error messages in the terminal
2019-08-27 14:23:09 -04:00
miruka
0c0ede8b40
Disable buttons when they're loading
2019-08-27 14:21:10 -04:00
miruka
bf3847dd66
Animate button loading
2019-08-27 14:11:33 -04:00
miruka
f5e52aed4e
Fix qrc resources not working
2019-08-25 15:39:00 -04:00
miruka
8ebd7189cc
Disable SidePane shortcuts when no account present
2019-08-23 11:06:19 -04:00
miruka
7eda87217c
Add keybind to add new account
2019-08-23 11:03:18 -04:00
miruka
9077ea3925
Fix timer setting current AccountsRoomList index
2019-08-23 10:53:54 -04:00
miruka
2ff65af6ab
Prevent alt+letter from writting text in fields
2019-08-22 14:31:13 -04:00
miruka
a47351a5ad
Adapt auto-repeat shortcuts to new system
2019-08-22 14:16:49 -04:00
miruka
8de26c11a1
HShortcutHandler & HShortcut components
...
Provide more powerful shortcuts handling than what's available with
QML's Shortcut component, notably being able to react differently to key
presses, releases and auto-repeats.
2019-08-22 13:03:26 -04:00
miruka
3749d1e135
Allow pressing escape to cancel in edit profile
2019-08-22 10:22:21 -04:00
miruka
cc7fbc5ab7
Fix invite icon size when room side pane collapsed
2019-08-22 10:03:43 -04:00
miruka
627a186700
Add tooltips to buttons and room invite button
2019-08-22 09:27:41 -04:00
miruka
3082c64666
Show user ID as member tile subtitle
...
Also move member styling in theme to the right place
2019-08-22 05:42:48 -04:00
miruka
6b64800ed7
Fix highlight not set when logging in new account
2019-08-21 17:55:27 -04:00
miruka
b8d43ecfec
Add account logout feature via context menu
2019-08-21 17:45:05 -04:00
miruka
7331c1fa1c
MenuItem: don't take space when not visible
2019-08-21 16:41:52 -04:00
miruka
26b01be23c
Add accept invite to room context menu
2019-08-21 16:38:34 -04:00
miruka
076ff743ad
Add forget to room context menu
...
Also show Leave only if not already left, and rename forget-room.svg to
room-forget.svg
2019-08-21 16:29:44 -04:00
miruka
437324bd64
Improve HMenu/HMenuItem style
2019-08-21 16:23:22 -04:00
miruka
ed96409645
Split HButton components, add HMenu/HMenuItem
2019-08-21 15:45:13 -04:00
miruka
6067c8ec96
Add room context menu with Leave/Decline invite
2019-08-21 14:58:57 -04:00
miruka
fea2178461
Make linkify regex work with port in URL
2019-08-21 14:22:34 -04:00
miruka
d2938f8730
Don't linkify image links for outgoing html
2019-08-21 14:14:44 -04:00
miruka
206f5494c8
Use hsluv for display names & remove hsl funcs
2019-08-21 12:43:07 -04:00
miruka
9332eadbbf
Use hsluv instead of hsla for avatar colors
2019-08-21 12:35:55 -04:00
miruka
7624ce5fcb
hsluv/hsl(a) functions: wrap around hue
2019-08-21 12:32:14 -04:00
miruka
1886303481
Fix member filtering
2019-08-21 12:17:12 -04:00
miruka
8ef3a6dc33
Fix expand icon size and startup highlight
...
Remove "hide hover highlight when keyboard pressed" feature, too hacky.
2019-08-21 06:02:00 -04:00
miruka
1f5b46c257
Merge HListView and HFixedListView components
2019-08-21 05:02:37 -04:00
miruka
6e3924ca4e
Add ListView highlight color to theme
2019-08-21 04:58:53 -04:00
miruka
bd94cc3625
Fix button icon position
2019-08-21 04:52:34 -04:00
miruka
713aaf3635
Set padding for HCheckBox
2019-08-21 04:46:40 -04:00
miruka
bdf7a63e6f
Increase sign in login method icons size
2019-08-21 04:43:37 -04:00
miruka
46e685847f
Replace HInteractiveRectangle by HTiledelegate
2019-08-21 04:39:07 -04:00
miruka
4abf57c8d4
Make HCheckBox themable
2019-08-20 18:31:20 -04:00
miruka
e012cf6e31
Highlight HButton when tab-focused
2019-08-20 17:43:59 -04:00
miruka
ce128d5ab5
Refactor HButton
2019-08-20 17:41:24 -04:00
miruka
7e7852b51e
Hide hover highlight when moving with keybinds
2019-08-20 14:39:37 -04:00
miruka
073a2eacee
Add arrow navigation to sidepane when focused
2019-08-20 13:55:20 -04:00
miruka
203eb3b299
Make focus sidepane keybind swipe if reduced
2019-08-20 13:27:13 -04:00
miruka
e127b96158
Fix collapsed sidepane spacing for the nth time
2019-08-20 13:12:40 -04:00
miruka
c865de6dc7
Fix wrong collapse keybind: Alt+Shift+(R → L)
2019-08-20 13:01:22 -04:00
miruka
57b13131a0
Fix ListView transition bugs?
2019-08-19 20:50:14 -04:00
miruka
16ac335d43
Fix last account always being hidden
2019-08-19 18:49:56 -04:00
miruka
5c75de68ea
Don't run ToggleCollapseAccount() if filter active
2019-08-19 18:40:23 -04:00
miruka
d427465425
Don't animate highlight rectangle sliding on click
2019-08-19 18:32:43 -04:00
miruka
de4d984ded
Use smart case for filters
2019-08-19 18:25:00 -04:00
miruka
aba01d54e8
Rate-limit next/previous room activation
2019-08-19 18:17:59 -04:00
miruka
109082c8d8
Use a Loader instead of StackView for pageStack
2019-08-19 15:38:45 -04:00
miruka
99bbe7f3ee
Keep the highlighted ListView item centered
2019-08-19 14:46:40 -04:00
miruka
c841a7a841
Add keybind to toggle collapsing account
2019-08-19 14:28:12 -04:00
miruka
e713eb7e24
Hide harmless error when no matches for filter
2019-08-19 14:06:11 -04:00
miruka
314b2c30ad
Add keybind to clear room filter
2019-08-19 14:05:59 -04:00
miruka
af14038909
Rename filterRooms keybind to FocusSidePane
2019-08-19 13:58:31 -04:00
miruka
36dd6457ea
Change focus filter rooms keybind to (Alt/Ctrl)+S
2019-08-19 13:18:45 -04:00
miruka
98803e8c23
Hide PyOtherSide error when EventList is destroyed
2019-08-19 13:14:25 -04:00
miruka
5e5a658173
Add keybinds to go to previous/next room
2019-08-19 13:09:05 -04:00
miruka
6ec193d554
obj.__dict__ calls → obj.serialized or vars(obj)
2019-08-19 11:52:52 -04:00
miruka
9220a75980
DelegateAccount: don't force collapsed to false
2019-08-19 11:42:24 -04:00
miruka
4349643345
filter_string is now a class property
...
- Support serializing class properties instead of just dataclass fields
- filter_string is now a property that's always up-to-date
- Account display names matching the current SidePane filter are shown
2019-08-19 11:34:51 -04:00
miruka
d1eec2ee6b
Set client max timeout retry wait time to 10s
2019-08-19 10:31:53 -04:00
miruka
165c1b797e
Repair room filter, performance improvements
...
Chnaging delegate heights is a terrible idea that leads to graphic bugs.
Handle filtering (both room and accounts) and collapsing from a function
that sets the JsonListModel source.
2019-08-19 10:28:49 -04:00
miruka
2865d86d19
Refactor SidePane ListView in a flat way
...
Also adjust some colors (accentBackground)
TODO: Repair Filter rooms field
2019-08-18 03:35:28 -04:00
miruka
543f7ac747
Smarter adjust of messages line height
...
Increase line height is the message is multiline, except if there's an
<img> tag in it (due to a bug in Qt, workaround will be to implement
proper images support)
2019-08-18 03:25:56 -04:00
miruka
d0e77eb061
Increase messages line height again to 1.3
2019-08-17 23:54:32 -04:00
miruka
4067d8c4ab
Get flat SidePane data on Account/Room models sync
...
QML: Get the data from Python and print it (for now)
Also:
- Remove useless Model.sortable field, all models/items are sortable
- Change SyncId type hint for less mypy complaints
- Remove ModelItem.main_key class attributes, useless since last big
refactor
2019-08-17 22:46:54 -04:00
miruka
3cc39210b4
Work in progress keybard sidepane navigation
2019-08-17 20:29:56 -04:00
miruka
4e14828004
Fix Room inviter_avatar getting set to None
2019-08-17 18:17:14 -04:00
miruka
1663b166c7
HInteractiveRectangle: add missing pressed effect
2019-08-17 17:05:52 -04:00
miruka
7319c8d7b4
Highlight currently select account/room delegate
2019-08-17 16:59:13 -04:00
miruka
2e89dcae9e
Add shortcut to focus filter rooms field
2019-08-17 15:58:32 -04:00
miruka
43f8f4131d
Slightly increase messages line height
2019-08-17 15:49:33 -04:00
miruka
bfbcc73c43
Hide expand arrows when rooms are filtering
...
Any account with matching rooms is expanded until there is no more
active filter.
2019-08-17 15:42:56 -04:00
miruka
c5d5768f2e
Adjust RoomDelegates opacity when filtering
...
Accounts with no matching rooms to show will have their opacity reduced.
2019-08-17 15:30:25 -04:00
miruka
ec17e36911
Better plain text to html conversion
...
Replace \n and space characters instead of just wrapping the whole text
in pre and having to set a css style
2019-08-17 15:05:05 -04:00
miruka
5e63331f8b
Increase h6 titles font size
2019-08-17 14:54:34 -04:00
miruka
d98b215c0f
Fix plain text messages newlines being ignored
2019-08-17 14:51:04 -04:00
miruka
717680bf0c
No leading 0 for RoomDelegate last event time
...
To save some pixels
2019-08-17 14:22:32 -04:00
miruka
72b5954ce3
Simplify startup and improve its animation
...
- Remove Python.loadingAccounts/willLoadAccounts
- Fix HPage SwipeView bug that caused its inner SidePane to steal focus
- Use overshoot for animation
- Get rid of sidepane flickering
- Set default HNumberAnimation easing.type to OutQuad, specify InOutQuad
for HCheckBox
2019-08-17 14:14:18 -04:00
miruka
1ab79347e9
Refactor HInterfaceBox and SignIn page
...
- Cleaned up code
- Sizes are standardized
- New HCheckBox component
- Replace RememberAccount page by a checkbox on the SignIn page
- The page can now be flicked if it's not tall enough to display
everything
- HNumberAnimation now has an overshoot property that will set the right
easing type, overshoot and adapt the animation factor/duration.
- HImage can now be colorized
2019-08-17 13:04:43 -04:00
miruka
3e48d63cf3
Show date instead of "Yesterday" for RoomDelegate
...
"Yesterday" takes too much space
2019-08-17 13:00:32 -04:00
miruka
28b5fbd267
Disable login button until ID & password entered
2019-08-16 16:44:28 -04:00
miruka
c7adb5b02f
Show error messages on login screen
2019-08-16 16:30:18 -04:00
miruka
e920299db4
Update JSON config file if it lacks keys
2019-08-16 15:12:14 -04:00
miruka
be18a5db41
Make alert show for time set in cfg (default 4s)
2019-08-16 15:07:30 -04:00
miruka
0c493f88d8
Don't set alert if window already focused
2019-08-16 14:44:45 -04:00
miruka
1061498160
Alert (set urgency hint) on new messages
2019-08-16 14:27:25 -04:00
miruka
da4bb55f43
RoomDelegate last event time year
2019-08-16 13:44:44 -04:00
miruka
656dbbdf4a
Make room filter field consider room's last event
2019-08-16 13:31:53 -04:00
miruka
186d42a45e
Change accentText hue
2019-08-16 13:24:48 -04:00
miruka
2d031a3fd2
After remember dialog, show edit account page
2019-08-16 13:20:12 -04:00
miruka
f9ef75714d
Increase padding between RoomDelegates
2019-08-16 13:10:40 -04:00
miruka
7d4da8952f
Reduce RoomDelegate opacity for left rooms
2019-08-16 13:04:54 -04:00
miruka
e8b173163d
Add icon to RoomDelegate for invited rooms
2019-08-16 12:55:54 -04:00
miruka
cf8ae13eae
Set local echoes as room last events
2019-08-16 12:23:34 -04:00
miruka
9ca66b6044
Sort rooms by last event date again
2019-08-16 12:19:43 -04:00
miruka
2bb3952225
Show last event time in RoomDelegate
...
Also respect locale for message times
2019-08-16 12:07:22 -04:00
miruka
c76ebe4fe2
Improve some texts
2019-08-16 09:47:44 -04:00
miruka
564ad4fa8f
Fix invited/left rooms sorting
2019-08-16 03:01:40 -04:00
miruka
653934be71
Fix declining invitation being ignored
2019-08-16 02:12:37 -04:00
miruka
8baf336cf9
Room subtitle: show member but not profile events
...
Instead of not showing any kind of RoomMemberEvent.
2019-08-16 01:51:42 -04:00
miruka
729235fe6a
When a room is left, set UI state to default page
2019-08-16 01:31:46 -04:00
miruka
69a3f4377d
Show Default.qml from forget room button callback
2019-08-16 01:26:32 -04:00
miruka
6a7376d498
Update LeftBanner, fix forget button crash
2019-08-15 13:00:15 -04:00
miruka
3270c6dd19
Have inviter display name and avatar for rooms
2019-08-15 12:13:41 -04:00
miruka
2ac484b8f5
Remove now broken "don't read user theme if debug"
2019-08-15 12:08:43 -04:00
miruka
ea4ba38056
Give pane toolbar a stronger background
2019-08-15 12:06:51 -04:00
miruka
947c706638
Improve "nothing events to show yet" message
2019-08-15 11:56:28 -04:00
miruka
34edf923d0
Fix past events loading error for invited room
2019-08-15 11:46:40 -04:00
miruka
626f464c53
Save/load the sidepane filter text in ui state
2019-08-15 11:31:24 -04:00
miruka
710a5c0914
Keep filter bars from different sidePanes in sync
2019-08-15 11:30:22 -04:00
miruka
24ea8fa673
Register invited rooms
2019-08-15 10:51:37 -04:00
miruka
e027c56047
Add/improve ModelStore and Model __str__
2019-08-15 09:57:58 -04:00
miruka
5f72397afe
HLoader component, use Loader.asynchronous prop
2019-08-11 23:25:22 -04:00
miruka
fbd7c45fe4
Fix MemberDelegate v padding when collapsed
2019-08-11 23:01:14 -04:00
miruka
9924b0565a
Fix RoomDelegates v padding when collapsed
2019-08-11 22:57:36 -04:00
miruka
3c35616eaa
Remove copyright headers in code
2019-08-11 08:34:36 -04:00
miruka
67dde68126
Big performance refactoring & various improvements
...
Instead of passing all sorts of events for the JS to handle and manually
add to different data models, we now handle everything we can in Python.
For any change, the python models send a sync event with their
contents (no more than 4 times per second) to JS, and the QSyncable
library's JsonListModel takes care of converting it to a QML ListModel
and sending the appropriate signals.
The SortFilterProxyModel library is not used anymore, the only case
where we need to filter/sort something now is when the user interacts
with the "Filter rooms" or "Filter members" fields. These cases are
handled by a simple JS function.
We now keep separated room and timeline models for different accounts,
the previous approach of sharing all the data we could between accounts
created a lot of complications (local echoes, decrypted messages
replacing others, etc).
The users's own account profile changes are now hidden in the timeline.
On startup, if all events for a room were only own profile changes, more
events will be loaded.
Any kind of image format supported by Qt is now handled by the
pyotherside image provider, instead of just PNG/JPG.
SVGs which previously caused errors are supported as well.
The typing members bar paddings/margins are fixed.
The behavior of the avatar/"upload a profile picture" overlay is fixed.
Config files read from disk are now cached (TODO: make them reloadable
again).
Pylint is not used anymore because of all its annoying false warnings
and lack of understanding for dataclasses, it is replaced by flake8 with
a custom config and various plugins.
Debug mode is now considered on if the program was compiled with
the right option, instead of taking an argument from CLI.
When on, C++ will set a flag in the Window QML component.
The loading screen is now unloaded after the UI is ready, where
previously it just stayed in the background invisible and wasted CPU.
The overall refactoring and improvements make us now able to handle
rooms with thousand of members and no lazy-loading, where previously
everything would freeze and simply scrolling up to load past events
in any room would block the UI for a few seconds.
2019-08-11 08:27:53 -04:00
miruka
7e9106ee9c
Utils.hsla(): use py.callSync
2019-07-25 19:19:24 -04:00
miruka
858c9f337d
Add decryption keys import in account settings
2019-07-25 02:43:52 -04:00
miruka
93a6867735
Set own messages color
2019-07-25 00:10:07 -04:00
miruka
f5aa2c194a
"ui-settings.json", "ui-state.json": no ui- prefix
2019-07-24 20:02:31 -04:00
miruka
99c3cc7d9f
Put nio encryption files in an encryption subdir
2019-07-24 20:00:01 -04:00
miruka
504644e641
Fix JSONConfigFile read() when no file exists
2019-07-24 19:56:23 -04:00
miruka
a2469bd994
Don't use user theme in debug mode
2019-07-24 18:46:13 -04:00
miruka
b6290ad3c9
Fix SignIn circle buttons colors
2019-07-24 18:41:40 -04:00
miruka
607d1d8f5a
Remove license header from theme file
2019-07-24 18:27:26 -04:00
miruka
6638a66578
Finish replacing light-thin icons
2019-07-24 18:25:12 -04:00
miruka
de11b53c4e
Copy default theme to user data dir if not exist
2019-07-24 18:14:43 -04:00
miruka
5dc6c071d6
Add animation when reloading config file
2019-07-24 17:40:06 -04:00
miruka
eb97f08d6a
Add keybind to reload config file (default Alt+R)
2019-07-24 17:26:40 -04:00
miruka
cf5d76dd10
Recursively merge default and user config
2019-07-24 17:20:21 -04:00
miruka
efa4ad0ae0
Add keybinds to config file
2019-07-24 17:05:27 -04:00
miruka
2be23128b1
Fix button hover overlay colors
2019-07-24 16:44:35 -04:00
miruka
cb25c30cb9
Fix EditAccount currentSpacing
2019-07-24 16:41:32 -04:00
miruka
47d30352fa
EditAccount header: match Display name field
2019-07-24 16:37:14 -04:00
miruka
c3746fa106
Set display name saturation to match base colors
2019-07-24 16:28:56 -04:00
miruka
9c7a7e256d
Fix green text color
2019-07-24 16:24:46 -04:00
miruka
72eff47012
Adjust/fix header, fields and buttons colors
2019-07-24 16:21:34 -04:00
miruka
29107ca7f2
Hide tooltips when they're not hovered anymore
...
Fix hovered avatar staying visible when cursor goes outside of window
(in most cases)
2019-07-24 15:59:34 -04:00
miruka
3439a74dab
Add color animation to HBusyIndicator
2019-07-24 15:34:29 -04:00
miruka
8ad62eff58
Remove old default background image
2019-07-24 15:03:17 -04:00
miruka
921a0586cf
Add background image variable to theme
2019-07-24 14:58:16 -04:00
miruka
ec27ecf498
Initial themes implementation, new default theme
2019-07-24 02:14:34 -04:00
miruka
345b17b21f
Catch ErrorResponse json.dumps error
2019-07-23 14:48:37 -04:00
miruka
9397687122
Parse theme from a custom simpler format
2019-07-23 03:14:02 -04:00
miruka
cb1b95766c
Remove indents in sendbox with backspace
2019-07-22 18:06:34 -04:00
miruka
4c7815554c
Auto-indent new line in sendbox
2019-07-21 19:12:32 -04:00
miruka
67e06aa739
Remove debug print
2019-07-21 18:26:53 -04:00
miruka
5a1d974702
SendBox: insert 4 space on tab instead of huge \t
2019-07-21 18:23:45 -04:00
miruka
ab2a73dbfc
Set html style for code
2019-07-21 18:17:51 -04:00
miruka
95c05356da
Set style for html titles
2019-07-21 17:58:48 -04:00
miruka
2bd8514e9b
Label link colors
2019-07-21 17:50:01 -04:00
miruka
843d40ca26
Fix > parsing and local echo
2019-07-21 17:41:43 -04:00
miruka
459880903d
Message stylesheet; turn "> ..." into greentext
2019-07-21 16:53:34 -04:00
miruka
6e65376612
markdown: don't parse "> ..." as blockquote
2019-07-21 16:08:40 -04:00
miruka
238f38c9f0
Save/load which room categories are collapsed
2019-07-21 09:35:52 -04:00
miruka
f7d286cdc2
Save/load which accounts are collapsed
2019-07-21 09:26:47 -04:00
miruka
3287888a5c
JSON configs read(): Merge default and user data
2019-07-21 09:24:11 -04:00
miruka
daa2c36af1
Save/load sidePane manually-set width
2019-07-21 09:08:22 -04:00
miruka
c0b51b574c
ui-settings: Rename write_aliases to writeAliases
2019-07-21 08:57:17 -04:00
miruka
df920da2a6
Save & restore previous page when relaunching app
2019-07-21 08:55:25 -04:00
miruka
246058e647
Make Chat show spinner until ready
...
Like EditAccount, instead of crashing if the room isn't loaded yet.
2019-07-21 08:38:49 -04:00
miruka
5b421f02d8
Avoid some more avatar errors when forgetting room
2019-07-21 07:48:56 -04:00
miruka
853bb350b4
Make EditAccount show a spinner until ready
...
Instead of crashing if userInfo is not yet available.
statusMessage is removed for now from UserUpdated events,
and the users model items will have a "loading" property.
2019-07-21 07:14:16 -04:00
miruka
71f78feec6
Define UIState config file
2019-07-21 06:05:01 -04:00
miruka
414082d258
Make EditAccount keyboard-flickable, fix function
2019-07-20 18:28:00 -04:00
miruka
41eea44fff
Add keyboard shortcuts to flick the events list
2019-07-20 18:08:58 -04:00
miruka
d033ea84e8
Add scrollbars to flickable and listviews
2019-07-20 15:07:31 -04:00
miruka
1ffca37021
Fix sendbox modifier+enter for newline not working
2019-07-20 14:37:21 -04:00
miruka
cf54c0a29f
Never show our own users in typing bar
2019-07-20 02:33:02 -04:00
miruka
7a959115ef
Have bottom padding again for DayBreak
2019-07-20 02:27:17 -04:00
miruka
3e1e924147
Fix messed up delegate positions on new message
2019-07-20 02:21:12 -04:00
miruka
0488a7dde8
Fix nameLabel binding loop
2019-07-20 01:35:25 -04:00
miruka
cea586120e
Rework how messages and events are handled
...
- No more translatable, content_type, show_name_line attrs for
TimelineEventReceived.
Since they are UI concerns, they are handled directly in QML.
- Refactor the EventDelegate and get rid of errors when new items
are added to the timeline
- Messages, events and emotes all combine correctly.
- No more 28px wide avatars for events, to make them uniform with
messages.
2019-07-20 01:30:58 -04:00
miruka
ecc2c099f1
Add /me command
2019-07-19 20:55:52 -04:00
miruka
58079a4ac2
Support RoomMessageEmote events
2019-07-19 19:19:43 -04:00
miruka
a10a395e0b
Only send a formatted_body if it's truly needed
2019-07-19 18:13:04 -04:00
miruka
2ce45e8059
Convert option button into add account button
...
Temporary
2019-07-19 00:22:31 -04:00
miruka
db3a9efe8a
Hide status field for now, adjust big font size
2019-07-19 00:12:23 -04:00
miruka
a3e2233391
Fix window/content sizes for EditAccount page
2019-07-18 23:59:05 -04:00
miruka
28b6114218
Make profile edit avatar 256px instead of 240
2019-07-18 23:52:51 -04:00
miruka
2cf0864b18
Implement multi-account writing for sendbox
2019-07-18 23:50:23 -04:00
miruka
93bc2ff5a9
Add multiaccount write-as alias account setting
2019-07-18 21:58:21 -04:00
miruka
4f1884b121
Animate button enabled state change
2019-07-18 21:43:18 -04:00
miruka
ff7c2413df
Change "Save" button to "Apply" in EditAccount
2019-07-18 20:58:38 -04:00
miruka
329c34cf94
Limit concurrent thumbnail downloads to 8
2019-07-18 20:49:47 -04:00
miruka
9decd58992
Use aiofiles for image provider file writes
2019-07-18 20:44:17 -04:00
miruka
519d3610ef
Change HTextField borders, SignIn disable buttons
...
By default now, fields have a transparent border if not focused and
accent-color border if focused.
Set `bordered: false` for no border at all.
The register and forgot buttons on the SignIn screen are now disabled,
since their functions aren't implemented yet.
2019-07-18 20:39:13 -04:00
miruka
d597e1dda8
Refactor Backend and config file operations
2019-07-18 20:30:41 -04:00
miruka
31184071db
call(Client)Coro: support nested.getattr.retrieval
2019-07-18 20:24:59 -04:00
miruka
50930aec36
Fix profile cancel button not restoring avatar
2019-07-18 18:48:32 -04:00
miruka
a842981406
Improve README
2019-07-18 18:35:47 -04:00
miruka
4d32adaa41
Animate event side change
2019-07-18 07:22:41 -04:00
miruka
67efde9116
Show own events on right only under certain width
2019-07-18 06:33:09 -04:00
miruka
1fa8b70359
ES5 → 7: Use for in/of and let
2019-07-18 05:18:13 -04:00
miruka
8a38274280
Make all JS functions and variables camelCase
...
According to conventions.
2019-07-18 04:48:34 -04:00
miruka
3939470679
Add "use strict" directive to all .js files
2019-07-18 04:38:22 -04:00
miruka
240885c32a
Fix bad icon_names → icon-names
2019-07-18 04:23:23 -04:00
miruka
ea02ce2316
ES5 → 7: Use enhanced object properties
...
http://es6-features.org/#PropertyShorthand
Instead of doing {"foo": foo, "bar": bar, ...}, we can just do
{foo, bar} now.
The function parameters of EventHandlers have all been renamed to
camelCase to make use of this, as the JS style conventions intend.
Other functions will follow in a later commit.
2019-07-18 04:17:35 -04:00
miruka
4920ff6212
ES5 → 7: Use function default parameters
2019-07-18 03:35:30 -04:00
miruka
8f53d2e018
Qt 5.12 ES5 → 7: Use "() =>" and array.includes
2019-07-18 03:13:34 -04:00
miruka
f5d747cbc4
Fix wrong avatar for unamed rooms
2019-07-18 02:36:08 -04:00
miruka
4c0b947d1a
Handle nio.ThumbnailError cases
...
Return a 1x1 transparent PNG for now.
2019-07-18 02:08:01 -04:00
miruka
44a998f31b
Rename HHighlightRectangle → HInteractiveRectangle
2019-07-18 01:56:58 -04:00
miruka
d8295302a5
HTextField active color, HColorAnimation + factor
2019-07-18 01:53:28 -04:00
miruka
271b3e3829
Change all colors to use the new hsl(a) functions
2019-07-18 01:31:51 -04:00
miruka
cf13315d4f
Add normal hsl and hsla functions
2019-07-18 01:27:14 -04:00
miruka
fa61e8f0e3
Standard way of knowing if window "is wide"
2019-07-18 01:18:06 -04:00
miruka
902ac250b0
Fix file names to respect conventions
...
Important markdown/text files: UPPERCASE.ext
QML module dirs, qml files: PascalCase
Python module dirs, py files, js files: snake_case
Everything else (including icons): hyphen-case
2019-07-17 13:40:28 -04:00
miruka
332b6f1c0d
Big improvements on sidepane auto/manual sizing
...
See gui-tests.md for the expected sidepane behaviors.
2019-07-17 13:34:56 -04:00
miruka
e173253f74
Sidebar size fixes
2019-07-16 17:08:06 -04:00
miruka
96745902f3
Move header definition from EditAccount to HPage
2019-07-16 12:53:52 -04:00
miruka
a813b1c715
HPage with SwipeView to show reduced side pane
2019-07-16 12:37:11 -04:00
miruka
29e21bc7c2
Fix avatar upload overlay overflow at small size
2019-07-16 11:48:57 -04:00
miruka
9f4aadfd83
Reduce (make invisible) pane if window too small
2019-07-16 09:27:38 -04:00
miruka
797d63b988
Big code cleanup for SidePane.qml
2019-07-16 09:22:20 -04:00
miruka
4be4834883
Move side pane props and stuff to SidePane.qml
2019-07-16 08:52:26 -04:00
miruka
522b689ce7
Add sidePane settings to theme
2019-07-16 08:36:11 -04:00
miruka
5cc701113e
Fix banners, adapt to app width
2019-07-16 08:10:37 -04:00
miruka
1abec4cf2c
Remove some useless Layout.maximumWidth props
2019-07-16 05:55:07 -04:00
miruka
d2dfafb4e7
Standardize spacings
2019-07-16 05:29:47 -04:00
miruka
d302a5cf5f
Rename bottomElementsHeight to baseElementsHeight
2019-07-16 05:13:19 -04:00
miruka
d5dd1292ff
wrap/elide: use Layout.fillWidth when possible
2019-07-16 05:08:27 -04:00
miruka
7f46bafc9e
Use HRowLayout for typingMembersBar
2019-07-16 04:54:12 -04:00
miruka
4b2cbffc83
Auto-set maximumLineCount for elide in HLabel
2019-07-16 04:47:56 -04:00
miruka
6ae37dc31f
Always center button text (for now)
2019-07-16 04:41:26 -04:00
miruka
aef777d853
Fix image selection and overlay bugs
2019-07-16 04:37:39 -04:00
miruka
73ecbaad10
Add upload avatar hover overlay
...
Also fix name colors and always use fit-crop mode for avatars.
2019-07-15 20:10:43 -04:00
miruka
83cc148cdc
Prevent flicking page when it 100% fits in window
2019-07-15 18:54:21 -04:00
miruka
18c9ff30cb
Hide edit account header when page too small
2019-07-15 18:10:11 -04:00
miruka
503252f1c7
Make edit account UI more scalable
...
Put content in flickable, reduce avatar height as needed.
The minimum supported resolution of the app should now be 240x120.
2019-07-15 17:43:53 -04:00
miruka
62056b6124
Avatar change working
2019-07-15 16:14:08 -04:00
miruka
751a27157c
Add account settings page
...
Display name change working
2019-07-13 20:15:20 -04:00
miruka
eeea0af4cd
Change every QtQuick import versions to 2.12
2019-07-13 05:39:01 -04:00
miruka
6916039546
Add "Edit Account" interface skeleton
2019-07-13 05:34:58 -04:00
miruka
6dab79ae9a
Remove uneeded HEntityButton
2019-07-12 19:01:27 -04:00
miruka
3a05d9bd60
Fix side panes spacing animation
2019-07-12 18:17:02 -04:00
miruka
338986f022
Highlighting and cleanup for MemberDelegate
2019-07-12 18:15:06 -04:00
miruka
cc937b38c4
Replace MouseAreas by input handlers
2019-07-12 18:02:14 -04:00
miruka
cb0d7e8a77
Highlight account and room delegates
2019-07-12 17:07:45 -04:00
miruka
4b45c119ff
Fix side pane artifacts when collapsed
2019-07-11 22:25:50 -04:00
miruka
a2136dfe3c
Rename HButton to HUIButton
2019-07-10 15:03:05 -04:00
miruka
a2ae569511
Split HButton into HBaseButton and HButton
2019-07-10 15:00:57 -04:00
miruka
eb9f02df31
Fix text overflowing from compacted HButton
2019-07-10 15:00:34 -04:00
miruka
e2696ea928
Prevent TypingMembersBar text from overflowing
2019-07-10 00:18:50 -04:00
miruka
58ebe6475e
Use uvloop to make asyncio faster
2019-07-10 00:05:42 -04:00
miruka
d091f3bcb6
Propagate mouse click events on avatars
2019-07-09 23:49:59 -04:00
miruka
7e4cee31c7
Prevent avatar tooltip from going out of bound
2019-07-09 23:42:03 -04:00
miruka
eeca8b639d
HToolTip component, enter/exit fade effect
2019-07-09 22:51:52 -04:00
miruka
3dd16ba072
Add avatar tooltips
2019-07-09 22:48:59 -04:00
miruka
9af9e88b0d
Support room avatars
2019-07-09 21:54:53 -04:00
miruka
2ced310ce1
Add initial support for user avatar thumbnails
2019-07-09 21:46:21 -04:00
miruka
faccc7ba90
Fix decrypted events replaced by encrypted ones
2019-07-08 13:29:05 -04:00
miruka
861347ce64
Fix "tarfindId" sed rename mistakes
2019-07-08 13:24:05 -04:00
miruka
4472d44320
Enable encryption
2019-07-08 13:08:46 -04:00
miruka
7f7a7621cf
Cleanup TODO.md
2019-07-08 12:52:07 -04:00
miruka
e827c9fba2
Fix debug initialRoomTimer causing segfaults
2019-07-08 12:39:58 -04:00
miruka
4314767ac2
Fix creating UserUpdated events from nio rooms
2019-07-08 12:28:49 -04:00
miruka
0f6474532b
Add LGPL license headers
2019-07-07 23:53:08 -04:00
miruka
8dccfffc8b
Drop kwargs support for callCoro/callClientCoro
2019-07-07 23:38:37 -04:00
miruka
4f0ba24373
Send typing notifications from sendbox
2019-07-07 23:28:10 -04:00
miruka
d26f087df9
More checks to avoid errors on forgetting room
2019-07-07 22:49:28 -04:00
miruka
2170b16175
Rename users.getUser to users.find
2019-07-07 22:41:32 -04:00
miruka
f64a2c68e9
Fix undefined profile being requested
2019-07-07 22:36:12 -04:00
miruka
fcd492ff2d
Fix room categories sorting
2019-07-07 22:25:30 -04:00
miruka
b02fc11903
Remove forgotten rooms from the view
2019-07-07 22:19:45 -04:00
miruka
47327c64cf
Working filter field for room members
2019-07-07 05:50:42 -04:00
miruka
1af8c97734
Sort the room members
2019-07-07 05:25:03 -04:00
miruka
ea600a1450
Reintroduce RoomSidePane with members list
2019-07-07 05:15:18 -04:00
miruka
735707bade
Add members to room updates
2019-07-07 05:12:17 -04:00
miruka
0ac4874ddf
Sort typing members by display name
2019-07-07 03:53:32 -04:00
miruka
2923d440d0
Fix html filter autolink regex
...
Two links in the text like "http://foo.org ... http://bar.org "
were seen as a single match.
2019-07-07 03:19:51 -04:00
miruka
472b8fe993
Fix "joined room" event shown as "declined invite"
2019-07-07 02:48:28 -04:00
miruka
a47e6b5c07
When room changes category, affect the Chat too
2019-07-07 02:35:22 -04:00
miruka
be152c3acf
Fix getUser binding loops & coro race conditions
2019-07-07 01:37:13 -04:00
miruka
683ee3e1cf
Add HUserAvatar and HRoomAvatar components
2019-07-07 00:24:23 -04:00
miruka
064fb6e9a2
Remove now uneeded Chat/utils.js
2019-07-06 23:58:41 -04:00
miruka
1ec660807e
Rename Chat "sender" prop to "senderInfo"
2019-07-06 23:46:06 -04:00
miruka
03d9079d63
Show LeftBanner with a generic left text
2019-07-06 23:43:51 -04:00
miruka
3ff0e1bd70
Use nio RoomMemberEvent new attrs
2019-07-06 22:38:56 -04:00
miruka
cf04f8ad2f
Display Left rooms, shorter onSyncResponse func
2019-07-06 22:35:42 -04:00
miruka
2ac1d6da17
Remove "readonly"s from Theme for readability
2019-07-06 21:06:18 -04:00
miruka
708488545e
Change some property types
2019-07-06 17:59:19 -04:00
miruka
34d68af51f
Rename SendBox root id
2019-07-06 17:56:04 -04:00
miruka
1981a0f79a
Colored names for typingMembersBar
2019-07-06 17:53:51 -04:00
miruka
d83508742c
Replace HStyle singleton by global Theme in Window
2019-07-06 17:50:55 -04:00
miruka
6db870a372
HNumberAnimation component for standard duration
2019-07-06 17:42:04 -04:00
miruka
7b92264ef6
Animate TypingMembersBar
2019-07-06 17:35:51 -04:00
miruka
388967c737
Improve TypingMembersBar
2019-07-06 17:29:45 -04:00
miruka
556749aa35
LimitExceededError → ErrorResponse
2019-07-06 17:29:00 -04:00
miruka
ecd7768c70
Change how our own messages are displayed
...
Avatar and name won't be shown for our messages
(the avatar is still visible in sendbox), but they will have a different
background color.
Also make bottom UI elements 36px tall, for avatars to match size with
the rest of the UI.
2019-07-05 21:38:32 -04:00
miruka
4c4603691f
Working typing users bar
2019-07-05 19:54:16 -04:00
miruka
f09e1491c4
Fix spacing when sidepane is collapsed
2019-07-05 16:55:25 -04:00
miruka
ee4e6470a9
Invite banner (callbacks not implemented yet)
2019-07-05 16:48:30 -04:00
miruka
c95308106b
Increase small font size (12 → 13)
2019-07-05 03:27:32 -04:00
miruka
c70c7d555d
Load only 25 past events at once until lag solved
2019-07-05 03:18:24 -04:00
miruka
57577ba8b8
Fix arrows and other keys not working in sendbox
2019-07-05 03:16:52 -04:00
miruka
ecba7c47ec
Past events loading (with two bugs)
2019-07-05 03:12:27 -04:00
miruka
83694d387b
Prevent HRichLabel from stealing any mouse event
2019-07-05 01:54:29 -04:00
miruka
78663df09e
Always linkify <img> tags, no matter the src
2019-07-04 23:21:27 -04:00
miruka
dbcfad1c50
Keep local echo delegates at the bottom
2019-07-04 23:12:21 -04:00
miruka
1db406d9af
Add LimitExceededError nio callback
2019-07-04 22:49:37 -04:00
miruka
55e14e96bc
Ensure msgs are sent in right order, fix echo bug
...
bug: only one local echo message delegate could be seen because all
echo eventId were the same
2019-07-04 21:37:20 -04:00
miruka
13266303ff
Fix room subtitle not passing click events
2019-07-04 19:23:40 -04:00
miruka
5812dcb051
Eliminate room delegate subtitile binding loop
2019-07-04 19:21:07 -04:00
miruka
634796b7d9
Don't put our own profile changes in the timeline
2019-07-04 19:11:22 -04:00
miruka
e97773dc97
Sort rooms lexically
2019-07-04 18:53:10 -04:00
miruka
07438150db
Optimize model upsert, ensure right type for roles
2019-07-04 18:41:08 -04:00
miruka
6b83d79f16
stripRoomName: don't return "" if name is just "#"
2019-07-04 17:11:00 -04:00
miruka
22dfd83d32
Rename avatar/nameHue funcs to avatar/nameColor
2019-07-04 16:56:34 -04:00
miruka
fde7f4aee6
Move models to their own files
2019-07-04 16:01:44 -04:00
miruka
c27480d395
timelines lastEventOf func, clickable subtitle <a>
2019-07-04 14:43:09 -04:00
miruka
63645b73a5
RoomDelegate subtitle, take only 1 arg for getUser
2019-07-04 00:28:13 -04:00
miruka
5fa2892fda
Move various functions in QML code to new utils.js
2019-07-03 22:31:29 -04:00
miruka
8ac731149d
Sending messages and local echo
2019-07-03 21:20:49 -04:00
miruka
1f73f634e8
Strip leading/trailing \n from html filter output
2019-07-03 18:36:03 -04:00
miruka
441c9d0c1d
Have different background for events and messages
2019-07-02 23:48:36 -04:00
miruka
c8347647b9
Fix messages and non-messages getting combined
2019-07-02 23:32:39 -04:00
miruka
f0c5afe8c7
Rename RoomEventList components
2019-07-02 22:29:09 -04:00
miruka
9d5701da19
Add support for non-message room events
2019-07-02 22:24:21 -04:00
miruka
a6653179e5
nio.AsyncClient can now have event callbacks
2019-07-02 15:06:45 -04:00
miruka
5e7ce561b0
Sort accounts and room categories models
2019-07-02 14:13:45 -04:00
miruka
06c823aa67
Build system, messages support and more
2019-07-02 13:59:52 -04:00
miruka
933341b7e6
Implement avatar hue from name
2019-06-28 18:39:00 -04:00
miruka
a1b4d8900f
New backend work
...
Models, account connection, fetching user profiles,
show connected accounts in sidebar
2019-06-28 18:12:45 -04:00
miruka
e5bdf6a497
Rename "system events" to "app events"
2019-06-27 02:36:31 -04:00
miruka
3344debbbf
Start rewriting backend with pyotherside+asyncio
2019-06-27 02:31:03 -04:00