diff --git a/asset/img/icon.icns b/asset/img/icon.icns
new file mode 100644
index 000000000..2a1597de2
Binary files /dev/null and b/asset/img/icon.icns differ
diff --git a/asset/img/icon.ico b/asset/img/icon.ico
new file mode 100644
index 000000000..206f184da
Binary files /dev/null and b/asset/img/icon.ico differ
diff --git a/matrique.pro b/matrique.pro
index eb9c525eb..d1ed1dd5a 100644
--- a/matrique.pro
+++ b/matrique.pro
@@ -46,6 +46,24 @@ unix:target.path = $$PREFIX/bin
win32:target.path = $$PREFIX
!isEmpty(target.path): INSTALLS += target
+unix:!mac {
+ metainfo.files = $$PWD/org.eu.encom.matrique.appdata.xml
+ metainfo.path = $$PREFIX/share/metainfo
+ desktop.files = $$PWD/org.eu.encom.matrique.desktop
+ desktop.path = $$PREFIX/share/applications
+ icons.files = $$PWD/icons/org.eu.encom.matrique.png
+ icons.path = $$PREFIX/share/icons/hicolor/128x128/apps
+ INSTALLS += metainfo desktop icons
+}
+
+win32 {
+ RC_ICONS = asset/img/icon.ico
+}
+
+mac {
+ ICON = asset/img/icon.icns
+}
+
DISTFILES += \
ChatForm.qml \
LoginForm.qml \
@@ -69,13 +87,3 @@ HEADERS += \
src/imageproviderconnection.h \
src/emojimodel.h \
src/matriqueroom.h
-
-unix:!mac {
- metainfo.files = $$PWD/org.eu.encom.matrique.appdata.xml
- metainfo.path = $$PREFIX/share/metainfo
- desktop.files = $$PWD/org.eu.encom.matrique.desktop
- desktop.path = $$PREFIX/share/applications
- icons.files = $$PWD/icons/org.eu.encom.matrique.png
- icons.path = $$PREFIX/share/icons/hicolor/128x128/apps
- INSTALLS += metainfo desktop mime icons
-}
diff --git a/qml/Room.qml b/qml/Room.qml
index 3b1acb1e8..448cd8643 100644
--- a/qml/Room.qml
+++ b/qml/Room.qml
@@ -6,15 +6,13 @@ import Matrique 0.1
import "qrc:/qml/form"
Page {
- property var connection
+ property alias connection: roomListModel.connection
id: page
RoomListModel {
id: roomListModel
- connection: page.connection
-
onRoomAdded: setting.lazyLoad ? {} : room.getPreviousContent(20)
onNewMessage: window.active ? {} : matriqueController.showMessage(roomName, content, icon)
}
diff --git a/qml/form/RoomListForm.qml b/qml/form/RoomListForm.qml
index 7086a7c5e..a9bd3bd8f 100644
--- a/qml/form/RoomListForm.qml
+++ b/qml/form/RoomListForm.qml
@@ -240,6 +240,4 @@ Item {
}
}
}
-
- onCurrentRoomChanged: setting.lazyLoad && currentRoom && !currentRoom.timelineSize ? currentRoom.getPreviousContent(20) : {}
}
diff --git a/qml/form/SettingGeneralForm.qml b/qml/form/SettingGeneralForm.qml
index da37dcc9b..71650d8be 100644
--- a/qml/form/SettingGeneralForm.qml
+++ b/qml/form/SettingGeneralForm.qml
@@ -10,6 +10,7 @@ Page {
Switch {
id: lazyLoadSwitch
text: "Lazy load at initial sync"
+ checked: true
}
Switch {
id: asyncMessageDelegateSwitch
diff --git a/qml/main.qml b/qml/main.qml
index 57d837cce..1914640b1 100644
--- a/qml/main.qml
+++ b/qml/main.qml
@@ -73,7 +73,7 @@ ApplicationWindow {
parent: null
- connection: matriqueController.isLogin ? window.connection : undefined
+ connection: matriqueController.isLogin ? window.connection : null
}
Setting {
diff --git a/res.qrc b/res.qrc
index 3365c4dd6..51bec6a0f 100644
--- a/res.qrc
+++ b/res.qrc
@@ -32,5 +32,7 @@
qml/component/EmojiPicker.qml
qml/component/EmojiButton.qml
qml/component/AutoImage.qml
+ asset/img/icon.ico
+ asset/img/icon.icns
diff --git a/src/roomlistmodel.cpp b/src/roomlistmodel.cpp
index 621689e90..d43c7f9ae 100644
--- a/src/roomlistmodel.cpp
+++ b/src/roomlistmodel.cpp
@@ -14,9 +14,7 @@ RoomListModel::RoomListModel(QObject* parent) : QAbstractListModel(parent) {}
RoomListModel::~RoomListModel() {}
void RoomListModel::setConnection(Connection* connection) {
- Q_ASSERT(connection);
-
- if (connection == m_connection) return;
+ if (!connection && connection == m_connection) return;
using QMatrixClient::Room;
m_connection = connection;