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)
This commit is contained in:
miruka
2020-06-25 08:32:08 -04:00
parent 72bd78c77e
commit da4a5ab5cd
66 changed files with 1594 additions and 1173 deletions

25
TODO.md
View File

@@ -1,19 +1,27 @@
# TODO
- sessions page size
- menu click-through padding to close it easily
- clear listview checked on message clear
- unregister popup/menu when destroyed without being closed
- flickshortcuts
- Account: wait until accountInfo available
- avatar upload/change component
- show scrollbars for a few secs if there's content to scroll on beginning
- can leave room with a reason?
- field/area focus line in popups weird
- use new nio `restore_login()`
## Refactoring
- Rewrite account settings using `HTabbedContainer`
- Use new default/reset controls system
- Display name field text should be colored
- Drop the `HBox` `buttonModel`/`buttonCallbacks` `HBox` approach,
be more declarative
- Reorder QML object declarations,
conform to https://doc-snapshots.qt.io/qt5-dev/qml-codingconventions.html
## Issues
- Bottom focus line for an `HTextArea` inside a `ScrollView` is invisible,
put the background on `ScrollView` instead?
- Don't send typing notification when switching to a room where the composer
has preloaded text
@@ -21,9 +29,6 @@
the marker will only be updated for accounts that have already received
it (server lag)
- Popups can't be scrolled when not enough height to show all
- `TextArea`s in Popups grow past window height instead of being scrollable
- Jumping between accounts (clicking in account bar or alt+(Shift+)N) is
laggy with hundreds of rooms in between
- On startup, if a room's last event is a membership change,