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;