Some optimizations.
This commit is contained in:
parent
06983a506c
commit
bbc4fedd20
|
@ -115,58 +115,49 @@ Drawer {
|
|||
room: roomDrawer.room
|
||||
}
|
||||
|
||||
delegate: Column {
|
||||
property bool expanded: false
|
||||
delegate: SwipeDelegate {
|
||||
width: userListView.width
|
||||
height: 48
|
||||
|
||||
ItemDelegate {
|
||||
width: userListView.width
|
||||
height: 48
|
||||
RowLayout {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 8
|
||||
spacing: 12
|
||||
|
||||
RowLayout {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 8
|
||||
spacing: 12
|
||||
ImageItem {
|
||||
Layout.preferredWidth: height
|
||||
Layout.fillHeight: true
|
||||
|
||||
ImageItem {
|
||||
Layout.preferredWidth: height
|
||||
Layout.fillHeight: true
|
||||
|
||||
source: paintable
|
||||
hint: name
|
||||
}
|
||||
|
||||
Label {
|
||||
Layout.fillWidth: true
|
||||
|
||||
text: name
|
||||
}
|
||||
source: paintable
|
||||
hint: name
|
||||
}
|
||||
|
||||
onClicked: expanded = !expanded
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
width: parent.width - 32
|
||||
height: expanded ? implicitHeight : 0
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
|
||||
spacing: 0
|
||||
|
||||
clip: true
|
||||
|
||||
Button {
|
||||
Label {
|
||||
Layout.fillWidth: true
|
||||
|
||||
text: "Kick"
|
||||
highlighted: true
|
||||
|
||||
onClicked: room.kickMember(userId)
|
||||
}
|
||||
|
||||
Behavior on height {
|
||||
PropertyAnimation { easing.type: Easing.InOutCubic; duration: 200 }
|
||||
text: name
|
||||
}
|
||||
}
|
||||
|
||||
swipe.right: Rectangle {
|
||||
width: height
|
||||
height: parent.height
|
||||
anchors.right: parent.right
|
||||
color: Material.accent
|
||||
|
||||
MaterialIcon {
|
||||
anchors.fill: parent
|
||||
icon: "\ue879"
|
||||
color: "white"
|
||||
}
|
||||
|
||||
SwipeDelegate.onClicked: {
|
||||
room.kickMember(userId)
|
||||
swipe.close()
|
||||
}
|
||||
}
|
||||
|
||||
onClicked: swipe.open(SwipeDelegate.Right)
|
||||
}
|
||||
|
||||
ScrollBar.vertical: ScrollBar {}
|
||||
|
|
|
@ -40,6 +40,13 @@ Controller::Controller(QObject* parent)
|
|||
QTimer::singleShot(0, this, SLOT(invokeLogin()));
|
||||
}
|
||||
|
||||
Controller::~Controller() {
|
||||
for (Connection* c : m_connections) {
|
||||
c->saveState();
|
||||
c->stopSync();
|
||||
}
|
||||
}
|
||||
|
||||
inline QString accessTokenFileName(const AccountSettings& account) {
|
||||
QString fileName = account.userId();
|
||||
fileName.replace(':', '_');
|
||||
|
@ -103,8 +110,10 @@ void Controller::addConnection(Connection* c) {
|
|||
m_connections.push_back(c);
|
||||
|
||||
connect(c, &Connection::syncDone, this, [=] {
|
||||
c->saveState();
|
||||
c->sync(30000);
|
||||
|
||||
static int counter = 0;
|
||||
if (++counter % 17 == 2) c->saveState();
|
||||
});
|
||||
connect(c, &Connection::loggedOut, this, [=] { dropConnection(c); });
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ class Controller : public QObject {
|
|||
|
||||
public:
|
||||
explicit Controller(QObject* parent = nullptr);
|
||||
~Controller(){};
|
||||
~Controller();
|
||||
|
||||
// All the Q_INVOKABLEs.
|
||||
Q_INVOKABLE void loginWithCredentials(QString, QString, QString);
|
||||
|
|
Loading…
Reference in New Issue