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