diff --git a/qml.qrc b/qml.qrc index 207d886d..d8bacb3c 100644 --- a/qml.qrc +++ b/qml.qrc @@ -13,6 +13,12 @@ qml/panes/SplashPane.qml qml/panes/ProfileManagerPane.qml qml/panes/ProfileAddEditPane.qml + qml/widgets/ContactList.qml + qml/widgets/ContactRow.qml + qml/widgets/Message.qml + qml/widgets/MyProfile.qml + qml/widgets/ProfileList.qml + qml/widgets/ProfileRow.qml i18n/translation_de.qm i18n/translation_en.qm i18n/translation_fr.qm diff --git a/qml/main.qml b/qml/main.qml index 872155b4..0fe47487 100644 --- a/qml/main.qml +++ b/qml/main.qml @@ -13,6 +13,7 @@ import "opaque/theme" import "overlays" import "panes" +import "widgets" import "utils.js" as Utils @@ -158,7 +159,7 @@ ApplicationWindow { visible: (windowItem.width >= Theme.doublePaneMinSize && !Qt.inputMethod.visible) || theStack.pane == theStack.emptyPane - ContactList{ + ContactList { anchors.fill: parent dualPane: theStack.pane != theStack.emptyPane || theStack.pane == undefined } diff --git a/qml/opaque b/qml/opaque index 9a88a124..133a7697 160000 --- a/qml/opaque +++ b/qml/opaque @@ -1 +1 @@ -Subproject commit 9a88a124e52ad68a0e32ae23d9e9247020b0266b +Subproject commit 133a7697f159c2699fe46d9fc03148d85e6466a3 diff --git a/qml/overlays/ChatOverlay.qml b/qml/overlays/ChatOverlay.qml index bf0565c6..b380b3c4 100644 --- a/qml/overlays/ChatOverlay.qml +++ b/qml/overlays/ChatOverlay.qml @@ -8,6 +8,7 @@ import "../opaque" as Widgets import "../opaque/controls" as Awesome import "../opaque/fonts/Twemoji.js" as T import "../utils.js" as Utils +import "../widgets" Item { width: parent.width @@ -29,7 +30,7 @@ Item { ScrollBar.vertical: ScrollBar {} maximumFlickVelocity: 1250 - delegate: Widgets.Message { + delegate: Message { handle: _handle from: _from displayName: _displayName diff --git a/qml/overlays/MembershipOverlay.qml b/qml/overlays/MembershipOverlay.qml index 111e073e..75025398 100644 --- a/qml/overlays/MembershipOverlay.qml +++ b/qml/overlays/MembershipOverlay.qml @@ -10,6 +10,7 @@ import "../opaque/controls" as Awesome import "../opaque/fonts/Twemoji.js" as T import "../opaque/styles" import "../utils.js" as Utils +import "../widgets" ColumnLayout { Text { diff --git a/qml/panes/ProfileManagerPane.qml b/qml/panes/ProfileManagerPane.qml index 96a05c6f..dbb23cc3 100644 --- a/qml/panes/ProfileManagerPane.qml +++ b/qml/panes/ProfileManagerPane.qml @@ -8,6 +8,8 @@ import QtQuick.Window 2.11 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 +import "../widgets" + import "../opaque" as Widgets import "../opaque/controls" import "../opaque/styles" @@ -80,7 +82,7 @@ ColumnLayout { Layout.minimumWidth: Layout.maximumWidth //Layout.maximumWidth: theStack.pane == theStack.emptyPane ? parent.width : 450 - Widgets.ProfileList { + ProfileList { anchors.fill: parent } } diff --git a/qml/widgets/ContactList.qml b/qml/widgets/ContactList.qml index cfac63ba..01168889 100644 --- a/qml/widgets/ContactList.qml +++ b/qml/widgets/ContactList.qml @@ -3,7 +3,9 @@ import QtQuick 2.7 import QtQuick.Controls 2.4 import QtQuick.Controls.Material 2.0 import QtQuick.Layouts 1.3 -import "theme" + +import "../opaque" as Widgets +import "../opaque/theme" ColumnLayout { id: root @@ -25,7 +27,7 @@ ColumnLayout { } - IconTextField { + Widgets.IconTextField { id: searchAddText anchors.horizontalCenter: parent.horizontalCenter diff --git a/qml/widgets/ContactRow.qml b/qml/widgets/ContactRow.qml index cee9f203..9ac34c2f 100644 --- a/qml/widgets/ContactRow.qml +++ b/qml/widgets/ContactRow.qml @@ -4,14 +4,14 @@ import QtQuick.Controls 2.4 import QtQuick.Controls.Material 2.0 import QtQuick.Layouts 1.3 import CustomQmlTypes 1.0 -import "styles" -import "." as Widgets -import "theme" import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 -PortraitRow { +import "../opaque" as Widgets +import "../opaque/styles" +import "../opaque/theme" +Widgets.PortraitRow { property int status: 0 property int badge property bool loading diff --git a/qml/widgets/Message.qml b/qml/widgets/Message.qml index d9f6e3c6..af4d7709 100644 --- a/qml/widgets/Message.qml +++ b/qml/widgets/Message.qml @@ -4,7 +4,8 @@ import QtQuick.Controls 2.4 import QtQuick.Controls.Material 2.0 import QtQuick.Layouts 1.3 -import "controls" as Awesome +import "../opaque" as Widgets +import "../opaque/controls" as Awesome Item { id: root @@ -42,7 +43,7 @@ Item { } - Portrait { + Widgets.Portrait { id: imgProfile anchors.left: parent.left // TODO: currently unused? diff --git a/qml/widgets/MyProfile.qml b/qml/widgets/MyProfile.qml index 0dbea35a..5fcf436f 100644 --- a/qml/widgets/MyProfile.qml +++ b/qml/widgets/MyProfile.qml @@ -7,9 +7,9 @@ import QtQuick.Layouts 1.3 import QtQuick.Window 2.11 import QtQuick.Controls 1.4 -import "." as Widgets -import "styles" -import "theme" +import "../opaque" as Widgets +import "../opaque/styles" +import "../opaque/theme" Item { id: root @@ -78,7 +78,7 @@ Item { id: profile color: Theme.backgroundMainColor - Portrait { + Widgets.Portrait { id: portrait source: root.image @@ -105,7 +105,7 @@ Item { id: nameCenter width: name.width + addBtn.width - EllipsisLabel { + Widgets.EllipsisLabel { id: name anchors.right: undefined diff --git a/qml/widgets/ProfileList.qml b/qml/widgets/ProfileList.qml index 6e8364e3..da8c7f1c 100644 --- a/qml/widgets/ProfileList.qml +++ b/qml/widgets/ProfileList.qml @@ -3,7 +3,9 @@ import QtQuick 2.7 import QtQuick.Controls 2.4 import QtQuick.Controls.Material 2.0 import QtQuick.Layouts 1.3 -import "theme" + +import "../opaque" as Widgets +import "../opaque/theme" ColumnLayout { id: root @@ -101,7 +103,7 @@ ColumnLayout { } } - PortraitRow { + Widgets.PortraitRow { handle: "" displayName: qsTr("add-new-profile-btn") nameColor: Theme.mainTextColor diff --git a/qml/widgets/ProfileRow.qml b/qml/widgets/ProfileRow.qml index 4accf5d0..0479ef3b 100644 --- a/qml/widgets/ProfileRow.qml +++ b/qml/widgets/ProfileRow.qml @@ -4,14 +4,14 @@ import QtQuick.Controls 2.4 import QtQuick.Controls.Material 2.0 import QtQuick.Layouts 1.3 import CustomQmlTypes 1.0 -import "styles" -import "." as Widgets -import "theme" import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 -PortraitRow { +import "../opaque" as Widgets +import "../opaque/styles" +import "../opaque/theme" +Widgets.PortraitRow { badgeColor: Theme.portraitProfileBadgeColor portraitBorderColor: Theme.portraitOnlineBorderColor