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

@@ -8,7 +8,7 @@ Item {
property var imageSource: null
property int dimmension: 48
readonly property string resolved_name:
readonly property string resolvedName:
! name ? "?" :
typeof(name) == "string" ? name :
(name.value ? name.value : "?")
@@ -21,13 +21,13 @@ Item {
id: "letterRectangle"
anchors.fill: parent
visible: ! invisible && imageSource === null
color: resolved_name === "?" ?
color: resolvedName === "?" ?
Qt.hsla(0, 0, 0.22, 1) :
Qt.hsla(Backend.hueFromString(resolved_name), 0.22, 0.5, 1)
Qt.hsla(Backend.hueFromString(resolvedName), 0.22, 0.5, 1)
HLabel {
anchors.centerIn: parent
text: resolved_name.charAt(0)
text: resolvedName.charAt(0)
color: "white"
font.pixelSize: letterRectangle.height / 1.4
}

View File

@@ -14,7 +14,7 @@ ToolButton {
onClicked: toolTip.hide()
ToolTip {
id: "toolTip"
id: toolTip
text: tooltip
delay: Qt.styleHints.mousePressAndHoldInterval
visible: text ? toolTipZone.containsMouse : false

View File

@@ -2,11 +2,14 @@ import QtQuick 2.7
import QtQuick.Controls 2.0
HLabel {
property string toolTipText: ""
id: text
ToolTip {
delay: Qt.styleHints.mousePressAndHoldInterval
visible: text ? toolTipZone.containsMouse : false
text: user_id
text: toolTipText
}
MouseArea {
id: toolTipZone