fix: SettingsPage import und Python-ID-Kollision beheben

- Import '.' hinzugefügt, um SettingsPage.qml in Main.qml verfügbar zu machen
- Doppelte Python-Definition aus SettingsPage.qml entfernt (verwendet py von Main.qml)
- Settings.qml durch SettingsPage.qml ersetzt

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
darklithium
2026-06-03 00:12:27 +02:00
parent c4e7d4bd55
commit 7c32796712
2 changed files with 5 additions and 41 deletions
+2 -12
View File
@@ -4,6 +4,7 @@ import QtMultimedia 5.0
import Lomiri.Components 1.3
import Lomiri.Components.Popups 1.3
import io.thp.pyotherside 1.4
import "."
MainView {
id: root
@@ -20,10 +21,6 @@ MainView {
property bool musicPlaying: false
property bool appInitialized: false
// Medien-Player als globale Properties für Zugriff aus Settings
property MediaPlayer globalMediaPlayer: mediaPlayer
property MediaPlayer globalCrackPlayer: crackMediaPlayer
Python {
id: py
Component.onCompleted: {
@@ -55,10 +52,6 @@ MainView {
anchors.fill: parent
currentIndex: 0
// Medien-Player für Settings zugänglich machen
property MediaPlayer stackMediaPlayer: root.globalMediaPlayer
property MediaPlayer stackCrackPlayer: root.globalCrackPlayer
// ================================================================
// SEITE 0: HAUPTSPIELBILDSCHIRM
// ================================================================
@@ -241,11 +234,8 @@ MainView {
// ================================================================
// SEITE 1: EINSTELLUNGEN
// ================================================================
Settings {
SettingsPage {
id: settingsPage
// Zugriff auf Medien-Player ueber parent
property MediaPlayer settingsMediaPlayer: mainStack.stackMediaPlayer
property MediaPlayer settingsCrackPlayer: mainStack.stackCrackPlayer
}
}
}
+3 -29
View File
@@ -1,6 +1,7 @@
import QtQuick 2.7
import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3
import QtMultimedia 5.0
import Lomiri.Components 1.3
import Lomiri.Components.Popups 1.3
import io.thp.pyotherside 1.4
@@ -37,13 +38,11 @@ Page {
// Spruchlisten ComboBox füllen
var lists = py.call_sync("fortunecookie.get_fortune_lists", []);
for (var i = 0; i < lists.length; i++) {
fortuneListCombo.model.append(lists[i]);
}
fortuneListCombo.model = lists;
// Aktuelle Liste auswählen
for (var i = 0; i < fortuneListCombo.count; i++) {
if (fortuneListCombo.itemAt(i) === currentFortuneList) {
if (fortuneListCombo.textAt(i) === currentFortuneList) {
fortuneListCombo.currentIndex = i;
break;
}
@@ -57,16 +56,6 @@ Page {
}
}
Python {
id: py
Component.onCompleted: {
addImportPath(Qt.resolvedUrl("../src"));
importModule("fortunecookie", function() {
console.log("Python-Modul in Settings geladen");
});
}
}
ColumnLayout {
anchors.fill: parent
anchors.margins: units.gu(2)
@@ -86,7 +75,6 @@ Page {
id: fortuneListCombo
Layout.fillWidth: true
Layout.preferredHeight: units.gu(8)
fontSize: "medium"
onActivated: {
var newList = fortuneListCombo.currentText;
@@ -121,13 +109,6 @@ Page {
onMoved: {
var volume = musicVolumeSlider.value;
py.call("fortunecookie.set_music_volume", [volume]);
// Aktualisiere MediaPlayer ueber parent
if (parent && parent.parent && parent.parent.parent) {
var mainView = parent.parent.parent;
if (mainView && mainView.globalMediaPlayer) {
mainView.globalMediaPlayer.volume = volume;
}
}
musicVolumeLabel.text = Math.round(volume * 100) + "%";
}
}
@@ -166,13 +147,6 @@ Page {
onMoved: {
var volume = crackVolumeSlider.value;
py.call("fortunecookie.set_crack_volume", [volume]);
// Aktualisiere MediaPlayer ueber parent
if (parent && parent.parent && parent.parent.parent) {
var mainView = parent.parent.parent;
if (mainView && mainView.globalCrackPlayer) {
mainView.globalCrackPlayer.volume = volume;
}
}
crackVolumeLabel.text = Math.round(volume * 100) + "%";
}
}