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

@@ -20,7 +20,7 @@ Rectangle {
Base.Avatar {
id: "avatar"
name: Backend.getUserDisplayName(chatPage.user_id)
name: Backend.getUserDisplayName(chatPage.userId)
dimmension: root.Layout.minimumHeight
//visible: textArea.text === ""
visible: textArea.height <= root.Layout.minimumHeight
@@ -43,13 +43,13 @@ Rectangle {
font.pixelSize: 16
focus: true
function set_typing(typing) {
Backend.clientManager.clients[chatPage.user_id]
.setTypingState(chatPage.room.room_id, typing)
function setTyping(typing) {
Backend.clientManager.clients[chatPage.userId]
.setTypingState(chatPage.roomId, typing)
}
onTypedTextChanged: set_typing(Boolean(text))
onEditingFinished: set_typing(false) // when lost focus
onTypedTextChanged: setTyping(Boolean(text))
onEditingFinished: setTyping(false) // when lost focus
Keys.onReturnPressed: {
event.accepted = true
@@ -62,8 +62,8 @@ Rectangle {
}
if (textArea.text === "") { return }
Backend.clientManager.clients[chatPage.user_id]
.sendMarkdown(chatPage.room.room_id, textArea.text)
Backend.clientManager.clients[chatPage.userId]
.sendMarkdown(chatPage.roomId, textArea.text)
textArea.clear()
}