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
This commit is contained in:
miruka
2019-04-20 17:36:21 -04:00
parent b33f5f1d34
commit 8f35e60801
34 changed files with 304 additions and 250 deletions

View File

@@ -3,16 +3,23 @@ import QtQuick.Controls 2.2
import QtQuick.Layouts 1.4
ColumnLayout {
property var user_id: null
property var room: null
property var userId: null
property var roomId: null
property var roomInfo:
Backend.models.rooms.get(userId).getWhere("roomId", roomId)
id: chatPage
id: "chatPage"
spacing: 0
onFocusChanged: sendBox.setFocus()
RoomHeader {}
RoomHeader {
id: "roomHeader"
displayName: roomInfo.displayName
topic: roomInfo.topic
}
MessageList {}
TypingUsersBar {}
SendBox { id: sendBox }
SendBox { id: "sendBox" }
}