Commit Graph

19 Commits

Author SHA1 Message Date
miruka
80067b5060 Add HScrollableTextArea and make SendBox use it 2019-04-28 11:53:47 -04:00
miruka
25badb693d Use HImage for HStatusAvatar 2019-04-28 11:34:05 -04:00
miruka
83272b9580 Update and improve HAvatar code 2019-04-28 11:32:02 -04:00
miruka
be4b15e484 Add missing H prefix to some base componants 2019-04-28 11:21:19 -04:00
miruka
5650234e3b Restyle the chat UI 2019-04-28 11:03:08 -04:00
miruka
d3749af4bc Boxes blur, more styling 2019-04-28 00:46:40 -04:00
miruka
8a714fb7a0 Add Default and RememberAccount? pages 2019-04-27 21:07:20 -04:00
miruka
e09efaecda Refactor LoginPage into separate components 2019-04-27 18:00:28 -04:00
miruka
102baccbe5 Login loading icon
Add standard mechanism in HButton for loading icon display;
have HImage and HIcon base components.
2019-04-26 21:16:57 -04:00
miruka
c7dd602687 Fix room forget and buttons bugs 2019-04-26 16:52:26 -04:00
miruka
5988eccdbb Add login page and forget room system 2019-04-26 16:02:20 -04:00
miruka
bbf29e29b1 Add InviteOffer component 2019-04-21 10:44:04 -04:00
miruka
c866ac87a9 Remove quotes from id: properties
As suggested in the Qt Quick coding style
2019-04-20 17:45:51 -04:00
miruka
8f35e60801 Capitalization, list model and room header work
- Standardized capitalization for variables and file names everywhere in
  QML and JS, get rid of mixed camelCase/snakeCase,
  use camelCase like everywhere in Qt

- ListModel items are now stored and returned as real QObjects with
  PyQt properties and signals.
  This makes dynamic property binding a lot easier and eliminates the need
  for many hacks.

- New update(), updateOrAppendWhere() methods and roles property
  for ListModel

- RoomHeader now properly updates when the room title or topic changes

- Add Backend.pdb(), to make it easier to start the debugger from QML
2019-04-20 17:43:57 -04:00
miruka
1d0cce402e Proper display name retrieval implementation
For any name not found in rooms data, rely on new
nio.HttpClient.get_displayname() function to get and cache it,
e.g. for our own name if no room is joined and past events from users
who left the room.

@futurize now returns PyQtFuture objects, wrapper for the
concurrent.futures.Future objects that can be used from QML,
to ensure name retrieval does not block the GUI.
2019-04-19 02:26:29 -04:00
miruka
aa105e0c2c Make links in messages clickable 2019-04-17 10:54:55 -04:00
miruka
13fca98838 Rooms and threads fixes
- Fix roomList height again, now based on model.count().
  All delegates are assumed to be the same height

- Properly update room list when a room is joined or left

- Catch exceptions happening in threads (futures), which previously
  passed silently

- Show "Empty room?" as "<i>Empty Room</i>" + gray [?] avatar
2019-04-13 08:59:10 -04:00
miruka
e4a9fb40ac Add avatar with status icon componant
Will be used later for 1-to-1 user room delegates and room members pane
2019-03-27 19:24:23 -04:00
miruka
76b699ad64 Organize project files
Put QML components into folders, remove unused ones, split __init__.py
with engine.py.
2019-03-26 05:52:43 -04:00