summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--resources/qml/RoomList.qml4
-rw-r--r--resources/qml/Root.qml34
-rw-r--r--resources/qml/TimelineView.qml4
-rw-r--r--resources/qml/ui/TimelineEffects.qml28
4 files changed, 37 insertions, 33 deletions
diff --git a/resources/qml/RoomList.qml b/resources/qml/RoomList.qml
index 615c67fa..92e7ef6d 100644
--- a/resources/qml/RoomList.qml
+++ b/resources/qml/RoomList.qml
@@ -126,7 +126,7 @@ Page {
                     width: 22
 
                     onClicked: {
-                        var component = Qt.createComponent("qrc:/qml/QuickSwitcher.qml");
+                        var component = Qt.createComponent("qrc:/resources/qml/QuickSwitcher.qml");
                         if (component.status == Component.Ready) {
                             var quickSwitch = component.createObject(timelineRoot);
                             quickSwitch.open();
@@ -162,7 +162,7 @@ Page {
 
             function openUserProfile() {
                 Nheko.updateUserProfile();
-                var component = Qt.createComponent("qrc:/qml/dialogs/UserProfile.qml");
+                var component = Qt.createComponent("qrc:/resources/qml/dialogs/UserProfile.qml");
                 if (component.status == Component.Ready) {
                     var userProfile = component.createObject(timelineRoot, {
                             "profile": Nheko.currentUser
diff --git a/resources/qml/Root.qml b/resources/qml/Root.qml
index 85c10ddd..2880a0c7 100644
--- a/resources/qml/Root.qml
+++ b/resources/qml/Root.qml
@@ -36,7 +36,7 @@ Pane {
     //    repeat: true
     //}
     function showAliasEditor(settings) {
-        var component = Qt.createComponent("qrc:/qml/dialogs/AliasEditor.qml");
+        var component = Qt.createComponent("qrc:/resources/qml/dialogs/AliasEditor.qml");
         if (component.status == Component.Ready) {
             var dialog = component.createObject(timelineRoot, {
                     "roomSettings": settings
@@ -48,7 +48,7 @@ Pane {
         }
     }
     function showAllowedRoomsEditor(settings) {
-        var component = Qt.createComponent("qrc:/qml/dialogs/AllowedRoomsSettingsDialog.qml");
+        var component = Qt.createComponent("qrc:/resources/qml/dialogs/AllowedRoomsSettingsDialog.qml");
         if (component.status == Component.Ready) {
             var dialog = component.createObject(timelineRoot, {
                     "roomSettings": settings
@@ -60,7 +60,7 @@ Pane {
         }
     }
     function showPLEditor(settings) {
-        var component = Qt.createComponent("qrc:/qml/dialogs/PowerLevelEditor.qml");
+        var component = Qt.createComponent("qrc:/resources/qml/dialogs/PowerLevelEditor.qml");
         if (component.status == Component.Ready) {
             var dialog = component.createObject(timelineRoot, {
                     "roomSettings": settings
@@ -72,7 +72,7 @@ Pane {
         }
     }
     function showSpacePLApplyPrompt(settings, editingModel) {
-        var component = Qt.createComponent("qrc:/qml/dialogs/PowerLevelSpacesApplyDialog.qml");
+        var component = Qt.createComponent("qrc:/resources/qml/dialogs/PowerLevelSpacesApplyDialog.qml");
         if (component.status == Component.Ready) {
             var dialog = component.createObject(timelineRoot, {
                     "roomSettings": settings,
@@ -114,7 +114,7 @@ Pane {
         sequence: "Ctrl+K"
 
         onActivated: {
-            var component = Qt.createComponent("qrc:/qml/QuickSwitcher.qml");
+            var component = Qt.createComponent("qrc:/resources/qml/QuickSwitcher.qml");
             if (component.status == Component.Ready) {
                 var quickSwitch = component.createObject(timelineRoot);
                 quickSwitch.open();
@@ -142,7 +142,7 @@ Pane {
     }
     Connections {
         function onOpenJoinRoomDialog() {
-            var component = Qt.createComponent("qrc:/qml/dialogs/JoinRoomDialog.qml");
+            var component = Qt.createComponent("qrc:/resources/qml/dialogs/JoinRoomDialog.qml");
             if (component.status == Component.Ready) {
                 var dialog = component.createObject(timelineRoot);
                 dialog.show();
@@ -152,7 +152,7 @@ Pane {
             }
         }
         function onOpenLogoutDialog() {
-            var component = Qt.createComponent("qrc:/qml/dialogs/LogoutDialog.qml");
+            var component = Qt.createComponent("qrc:/resources/qml/dialogs/LogoutDialog.qml");
             if (component.status == Component.Ready) {
                 var dialog = component.createObject(timelineRoot);
                 dialog.open();
@@ -162,7 +162,7 @@ Pane {
             }
         }
         function onShowRoomJoinPrompt(summary) {
-            var component = Qt.createComponent("qrc:/qml/dialogs/ConfirmJoinRoomDialog.qml");
+            var component = Qt.createComponent("qrc:/resources/qml/dialogs/ConfirmJoinRoomDialog.qml");
             if (component.status == Component.Ready) {
                 var dialog = component.createObject(timelineRoot, {
                         "summary": summary
@@ -178,7 +178,7 @@ Pane {
     }
     Connections {
         function onNewDeviceVerificationRequest(flow) {
-            var component = Qt.createComponent("qrc:/qml/device-verification/DeviceVerification.qml");
+            var component = Qt.createComponent("qrc:/resources/qml/device-verification/DeviceVerification.qml");
             if (component.status == Component.Ready) {
                 var dialog = component.createObject(timelineRoot, {
                         "flow": flow
@@ -194,7 +194,7 @@ Pane {
     }
     Connections {
         function onOpenInviteUsersDialog(invitees) {
-            var component = Qt.createComponent("qrc:/qml/dialogs/InviteDialog.qml");
+            var component = Qt.createComponent("qrc:/resources/qml/dialogs/InviteDialog.qml");
             if (component.status == Component.Ready) {
                 var dialog = component.createObject(timelineRoot, {
                         "invitees": invitees
@@ -206,7 +206,7 @@ Pane {
             }
         }
         function onOpenLeaveRoomDialog(roomid, reason) {
-            var component = Qt.createComponent("qrc:/qml/dialogs/LeaveRoomDialog.qml");
+            var component = Qt.createComponent("qrc:/resources/qml/dialogs/LeaveRoomDialog.qml");
             if (component.status == Component.Ready) {
                 var dialog = component.createObject(timelineRoot, {
                         "roomId": roomid,
@@ -219,7 +219,7 @@ Pane {
             }
         }
         function onOpenProfile(profile) {
-            var component = Qt.createComponent("qrc:/qml/dialogs/UserProfile.qml");
+            var component = Qt.createComponent("qrc:/resources/qml/dialogs/UserProfile.qml");
             if (component.status == Component.Ready) {
                 var userProfile = component.createObject(timelineRoot, {
                         "profile": profile
@@ -231,7 +231,7 @@ Pane {
             }
         }
         function onOpenRoomMembersDialog(members, room) {
-            var component = Qt.createComponent("qrc:/qml/dialogs/RoomMembers.qml");
+            var component = Qt.createComponent("qrc:/resources/qml/dialogs/RoomMembers.qml");
             if (component.status == Component.Ready) {
                 var membersDialog = component.createObject(timelineRoot, {
                         "members": members,
@@ -244,7 +244,7 @@ Pane {
             }
         }
         function onOpenRoomSettingsDialog(settings) {
-            var component = Qt.createComponent("qrc:/qml/dialogs/RoomSettings.qml");
+            var component = Qt.createComponent("qrc:/resources/qml/dialogs/RoomSettings.qml");
             if (component.status == Component.Ready) {
                 var roomSettings = component.createObject(timelineRoot, {
                         "roomSettings": settings
@@ -256,7 +256,7 @@ Pane {
             }
         }
         function onShowImageOverlay(room, eventId, url, originalWidth, proportionalHeight) {
-            var component = Qt.createComponent("qrc:/qml/dialogs/ImageOverlay.qml");
+            var component = Qt.createComponent("qrc:/resources/qml/dialogs/ImageOverlay.qml");
             if (component.status == Component.Ready) {
                 var dialog = component.createObject(timelineRoot, {
                         "room": room,
@@ -272,7 +272,7 @@ Pane {
             }
         }
         function onShowImagePackSettings(room, packlist) {
-            var component = Qt.createComponent("qrc:/qml/dialogs/ImagePackSettingsDialog.qml");
+            var component = Qt.createComponent("qrc:/resources/qml/dialogs/ImagePackSettingsDialog.qml");
             if (component.status == Component.Ready) {
                 var packSet = component.createObject(timelineRoot, {
                         "room": room,
@@ -290,7 +290,7 @@ Pane {
     Connections {
         function onNewInviteState() {
             if (CallManager.haveCallInvite && Settings.mobileMode) {
-                var component = Qt.createComponent("qrc:/qml/voip/CallInvite.qml");
+                var component = Qt.createComponent("qrc:/resources/qml/voip/CallInvite.qml");
                 if (component.status == Component.Ready) {
                     var dialog = component.createObject(timelineRoot);
                     dialog.open();
diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml
index 7b89eb4b..5528bd98 100644
--- a/resources/qml/TimelineView.qml
+++ b/resources/qml/TimelineView.qml
@@ -367,6 +367,8 @@ Item {
     TimelineEffects {
         id: timelineEffects
 
+        shouldEffectsRun: timelineView.shouldEffectsRun
+
         anchors.fill: parent
     }
     NhekoDropArea {
@@ -416,7 +418,7 @@ Item {
             effectsTimer.restart();
         }
         function onShowRawMessageDialog(rawMessage) {
-            var component = Qt.createComponent("qrc:/qml/dialogs/RawMessageDialog.qml");
+            var component = Qt.createComponent("qrc:/resources/qml/dialogs/RawMessageDialog.qml");
             if (component.status == Component.Ready) {
                 var dialog = component.createObject(timelineRoot, {
                         "rawMessage": rawMessage
diff --git a/resources/qml/ui/TimelineEffects.qml b/resources/qml/ui/TimelineEffects.qml
index aaff04a0..72237e31 100644
--- a/resources/qml/ui/TimelineEffects.qml
+++ b/resources/qml/ui/TimelineEffects.qml
@@ -6,34 +6,36 @@ import QtQuick 2.15
 import QtQuick.Particles 2.15
 
 Item {
+    id: effectRoot
     readonly property int maxLifespan: Math.max(confettiEmitter.lifeSpan, rainfallEmitter.lifeSpan)
+    required property bool shouldEffectsRun
 
     function pulseConfetti()
     {
-        confettiEmitter.pulse(parent.height * 2)
+        confettiEmitter.pulse(effectRoot.height * 2)
     }
 
     function pulseRainfall()
     {
-        rainfallEmitter.pulse(parent.height * 3.3)
+        rainfallEmitter.pulse(effectRoot.height * 3.3)
     }
 
     ParticleSystem {
         id: particleSystem
 
         Component.onCompleted: pause();
-        paused: !shouldEffectsRun
+        paused: !effectRoot.shouldEffectsRun
     }
 
     Emitter {
         id: confettiEmitter
 
         group: "confetti"
-        width: parent.width * 3/4
+        width: effectRoot.width * 3/4
         enabled: false
-        anchors.horizontalCenter: parent.horizontalCenter
-        y: parent.height
-        emitRate: Math.min(400 * Math.sqrt(parent.width * parent.height) / 870, 1000)
+        anchors.horizontalCenter: effectRoot.horizontalCenter
+        y: effectRoot.height
+        emitRate: Math.min(400 * Math.sqrt(effectRoot.width * effectRoot.height) / 870, 1000)
         lifeSpan: 15000
         system: particleSystem
         maximumEmitted: 500
@@ -42,8 +44,8 @@ Item {
         sizeVariation: 4
         velocity: PointDirection {
             x: 0
-            y: -Math.min(450 * parent.height / 700, 1000)
-            xVariation: Math.min(4 * parent.width / 7, 450)
+            y: -Math.min(450 * effectRoot.height / 700, 1000)
+            xVariation: Math.min(4 * effectRoot.width / 7, 450)
             yVariation: 250
         }
     }
@@ -74,7 +76,7 @@ Item {
     Gravity {
         system: particleSystem
         groups: ["confetti"]
-        anchors.fill: parent
+        anchors.fill: effectRoot
         magnitude: 350
         angle: 90
     }
@@ -83,11 +85,11 @@ Item {
         id: rainfallEmitter
 
         group: "rain"
-        width: parent.width
+        width: effectRoot.width
         enabled: false
-        anchors.horizontalCenter: parent.horizontalCenter
+        anchors.horizontalCenter: effectRoot.horizontalCenter
         y: -60
-        emitRate: parent.width / 50
+        emitRate: effectRoot.width / 50
         lifeSpan: 10000
         system: particleSystem
         velocity: PointDirection {