diff --git a/LEKTIONEN_2026-06-03.md b/LEKTIONEN_2026-06-03.md new file mode 100644 index 0000000..7b21e81 --- /dev/null +++ b/LEKTIONEN_2026-06-03.md @@ -0,0 +1,230 @@ +# Lektionen & Erkenntnisse - 03.06.2026 + +## 📌 Projekt: FortuneCookie App (Ubuntu Touch 24.04 / Lomiri) + +--- + +## 🎯 Heute erreichte Meilensteine + +| Aufgabe | Status | Lösung | +|---------|--------|--------| +| Aktive Liste unten links anzeigen | ✅ | `Label` mit `currentFortuneListDescription` | +| Nur Beschreibung (ohne Name/Anzahl) | ✅ | Eigene Property fĂŒr reine Beschreibung | +| Listen-Beschreibung auf Icon-Höhe | ✅ | `verticalCenter: musicButton.verticalCenter` | +| Audio-Button verkleinern | ✅ | 10×10 gu → 8×8 gu, Font: xxx-large → xx-large | +| LautstĂ€rke-Regelung (SW) | ❌ | **Funktioniert nicht in Ubuntu Touch** | +| LautstĂ€rke-Anpassung (HW) | ✅ | `chinese_music.mp3` per FFmpeg auf 30% reduziert | +| Alle Listen ≄100 SprĂŒche | ✅ | farmer wisdom, UNfortune, sandman, famous quotes ergĂ€nzt | +| Neue Listen hinzufĂŒgen | ✅ | sandman (Bettgehzeit!), famous quotes (BerĂŒhmte Zitate) | +| Autoren zu Zitaten | ✅ | Format: "Zitat - Autor" | + +--- + +## 🔧 Technische Erkenntnisse + +### 1. **Lomiri/Ubuntu Touch - Medienwiedergabe** + +| Problem | Erkenntnis | Lösung | +|---------|-----------|--------| +| `MediaPlayer.volume` wirkt nicht | QtMultimedia Volume-Property wird in Ubuntu Touch ignoriert | **Dateiebene anpassen** mit FFmpeg | +| PyOtherSide sync-Aufrufe blockieren UI | Deadlock-Gefahr | **Asynchrone** `py.call()` verwenden | +| LautstĂ€rke-Slider ohne Effekt | Plattform-Limitierung | Slider entfernt, feste Volumes | + +**FFmpeg-Befehl zum LautstĂ€rke reduzieren:** +```bash +ffmpeg -i input.mp3 -af "volume=0.3" -y output.mp3 +``` + +### 2. **Qt/QML Best Practices** + +#### ✅ Funktioniert: +```qml +// Property-Binding fĂŒr automatische Synchronisation +MediaPlayer { + volume: root.musicVolume // Wird automatisch aktualisiert +} +``` + +#### ❌ Problem: Binding wird gebrochen durch: +```qml +// Direkte Zuweisung zerstört das Binding! +mediaPlayer.volume = value; // ❌ +``` + +#### ✅ Richtig: +```qml +// Nur die Property setzen, Binding ĂŒbertrĂ€gt automatisch +root.musicVolume = value; // ✅ +``` + +#### Anker-Positionierung: +```qml +// Vertikal zentriert mit anderem Element +Label { + anchors { + left: parent.left + verticalCenter: musicButton.verticalCenter // ✅ + leftMargin: units.gu(2) + } +} +``` + +--- + +## 🌿 Branches-System + +### Aktuelle Struktur: +``` +main → Stabil (Releases) +└── daily → Entwicklung (aktuell) +``` + +### Regeln: +1. **Daily-Branch** fĂŒr alle Entwicklungen nutzen +2. **Main-Branch** nur fĂŒr getestete Releases +3. **Vor Merge:** + - App testen auf GerĂ€t + - Alle Funktionen prĂŒfen + - Keine debug-Logs im Production-Code +4. **Versionierung:** + - `manifest.json.in`: App-Version (1.0.x) + - `fortunecookie.py`: Modul-Version (1.1.x) + +### Heute genutzt: +```bash +# Im daily-branch arbeiten +git checkout daily + +# Ändern, bauen, installieren +clickable build && clickable install +``` + +--- + +## 📚 Referenzquellen & Zeitersparnis + +### 🔍 **Referenz-Apps studieren!** +- **metime** (Lomiri) - Gute Beispiele fĂŒr: + - UI/UX-Patterns + - MediaPlayer-Integration + - Einstellungen-Handling + - Python-QML-Kommunikation + +### ⏱ **Fehlerbehebung beschleunigen:** +1. **Zuerst Referenz-Apps prĂŒfen** (metime, andere Lomiri-Apps) +2. **Lomiri-Dokumentation:** https://docs.ubuntu-touch.io/ +3. **QtMultimedia Limitations:** Ubuntu Touch hat EinschrĂ€nkungen bei Volume-Control +4. **PyOtherSide:** Immer asynchron arbeiten + +### 📖 **Wichtige Dateien im Projekt:** +``` +qml/Main.qml # Haupt-UI +src/fortunecookie.py # Python-Backend +assets/fortunes/*.json # Spruchlisten +manifest.json.in # App-Metadaten +fortunecookie.apparmor # Berechtigungen +``` + +--- + +## 📁 Dateistruktur FortuneCookie + +``` +fortunecookie-neu/ +├── testing/ # Entwicklungszweig +│ ├── qml/ +│ │ └── Main.qml # Haupt-UI (Navigation, MediaPlayer, Einstellungen) +│ ├── src/ +│ │ └── fortunecookie.py # Backend (SprĂŒche laden, Einstellungen) +│ ├── assets/ +│ │ ├── fortunes/ # Spruchlisten +│ │ │ ├── fortune.json (140 SprĂŒche) +│ │ │ ├── farmer wisdom.json (114 SprĂŒche) +│ │ │ ├── UNfortune.json (100 SprĂŒche) +│ │ │ ├── sandman.json (100 SprĂŒche - Bettgehzeit!) +│ │ │ └── famous quotes.json (121 SprĂŒche - BerĂŒhmte Zitate) +│ │ ├── chinese_music.mp3 # Hintergrundmusik (30% LautstĂ€rke) +│ │ └── cookie_crack.mp3 # Knack-GerĂ€usch (100% LautstĂ€rke) +│ └── manifest.json.in # App-Version: 1.0.8 +└── build/ # Build-Output +``` + +--- + +## 🎓 Gelernte Lektionen + +### 1. **Ubuntu Touch spezifisch** +- MediaPlayer.volume wird **ignoriert** → LautstĂ€rke in Datei anpassen +- PyOtherSide: **Immer async** (`py.call()`, nicht `py.syncCall()`) +- UI-Elemente: `units.gu()` fĂŒr konsistente GrĂ¶ĂŸen +- Icons: Emoji-Shortcodes funktionieren (z. B. `\uD83D\uDD0A` = 🎆) + +### 2. **QML Best Practices** +- **Property-Bindings** nutzen statt manueller Zuweisungen +- **Anker** statt absoluter Positionen +- **Component.onCompleted** mit `Qt.callLater()` fĂŒr verzögerte Initialisierung +- **Visible vs. Opacity:** `visible: false` entfernt Element komplett + +### 3. **Python Backend** +- **Settings speichern:** `save_setting()` / `load_setting()` +- **JSON-Listen laden:** Automatisch aus `assets/fortunes/` +- **AVAILABLE_FORTUNE_LISTS** muss alle Listen enthalten + +### 4. **Projektmanagement** +- **Referenz-Apps vor Implementierung prĂŒfen** (spart Stunden!) +- **Branches diszipliniert nutzen** (daily fĂŒr Entwicklung) +- **Kleine, testbare Änderungen** statt großer Refactorings +- **Fehler dokumentieren** fĂŒr zukĂŒnftige Referenz + +--- + +## 🚀 Empfehlungen fĂŒr zukĂŒnftige Sessions + +### ✅ DO: +- [ ] Vor Implementierung: Referenz-Apps (metime) prĂŒfen +- [ ] QtMultimedia-Limitations in Ubuntu Touch beachten +- [ ] Immer im **daily-branch** arbeiten +- [ ] Änderungen in kleinen Schritten testen +- [ ] FFmpeg fĂŒr Audio-Bearbeitung nutzen +- [ ] Property-Bindings statt direkter Zuweisungen + +### ❌ DON'T: +- [ ] `MediaPlayer.volume` fĂŒr LautstĂ€rke-Regelung erwarten +- [ ] Sync PyOtherSide-Aufrufe in Timern +- [ ] Direkte MediaPlayer-Property-Zuweisungen (bricht Bindings) +- [ ] Main-Branch fĂŒr Entwicklung nutzen +- [ ] Ohne Test auf GerĂ€t deployen + +--- + +## 📊 Versionen & Änderungen + +| Datum | Version (App) | Version (Modul) | Änderungen | +|-------|---------------|------------------|-----------| +| 03.06.2026 | 1.0.8 | 1.1.1 | Listen-Beschreibung, LautstĂ€rke-Fix, neue Listen | + +### Detailed Changelog: +``` +1.0.8 (03.06.2026): +- FEAT: sandman-List (100 SprĂŒche, "Bettgehzeit!") +- FEAT: famous quotes-List (121 Zitate mit Autoren) +- FEAT: Alle Listen auf ≄100 SprĂŒche ergĂ€nzt +- FIX: Musik-LautstĂ€rke via FFmpeg auf 30% reduziert +- FIX: Listen-Beschreibung vertikal zentriert mit Audio-Button +- FIX: Audio-Button verkleinert (8×8 gu) +- FIX: LautstĂ€rke-Slider entfernt (funktioniert nicht in UT) +- REFACTOR: Property-Bindings fĂŒr MediaPlayer.volume +``` + +--- + +## 🔗 NĂŒtzliche Links + +- [Lomiri Documentation](https://docs.ubuntu-touch.io/) +- [QtMultimedia Documentation](https://doc.qt.io/qt-5/qtmultimedia-index.html) +- [PyOtherSide GitHub](https://github.com/thp/pyotherside) +- [Ubuntu Touch Forum](https://forums.ubports.com/) + +--- + +*Dokument erstellt: 03.06.2026 | Letzte Aktualisierung: 03.06.2026* diff --git a/assets/chinese_music.mp3 b/assets/chinese_music.mp3 index dcfad50..203d8f7 100644 Binary files a/assets/chinese_music.mp3 and b/assets/chinese_music.mp3 differ diff --git a/assets/chinese_music_original.mp3 b/assets/chinese_music_original.mp3 new file mode 100644 index 0000000..dcfad50 Binary files /dev/null and b/assets/chinese_music_original.mp3 differ diff --git a/assets/fortunes/UNfortune.json b/assets/fortunes/UNfortune.json index 81b2cd3..677cbe2 100644 --- a/assets/fortunes/UNfortune.json +++ b/assets/fortunes/UNfortune.json @@ -19,5 +19,82 @@ "Das Leben ist wie eine Zitrone: sauer, bitter und am Ende macht es deine Lippen nur noch trockener.", "Hoffnung ist der Traum eines wachen Mannes - und TrĂ€ume sind LĂŒgen.", "Du bist perfekt - perfekt falsch am falschen Ort zur falschen Zeit.", - "Alles was glĂ€nzt ist nicht Gold - meistens ist es nur der letzte Funke Hoffnung, bevor das Licht ausgeht." -] \ No newline at end of file + "Alles was glĂ€nzt ist nicht Gold - meistens ist es nur der letzte Funke Hoffnung, bevor das Licht ausgeht.", + "Dein Optimismus wird dich eines Tages töten.", + "Die RealitĂ€t ist nur eine Illusion, aber eine sehr hartnĂ€ckige.", + "Du denkst, du hast Probleme? Warte, es kommt noch schlimmer.", + "Das Universum hat einen Plan fĂŒr dich - und er ist schrecklich.", + "Jeder Tag ist ein neuer Anfang - zu einem neuen Desaster.", + "Die beste Zeit deines Lebens war gestern. Heute wird es bergab gehen.", + "Alles, was schiefgehen kann, wird schiefgehen - und zwar genau dann, wenn du es am wenigsten brauchst.", + "Du bist nicht paranoid. Alle sind wirklich hinter dir her.", + "Das Leben ist wie ein Test. Leider gibt es keine Noten, nur EnttĂ€uschungen.", + "Deine TrĂ€ume werden wahr - in deinen schlimmsten AlbtrĂ€umen.", + "Der frĂŒhe Vogel fĂ€ngt den Wurm. Der spĂ€te Vogel wird vom Leben zerquetscht.", + "Alles Gute hat ein Ende. Das Schlechte geht ewig weiter.", + "Die Hölle ist leer - alle DĂ€monen sind hier.", + "Dein GlĂŒck ist nur eine temporĂ€re Unterbrechung deines normalen Elends.", + "Das Leben ist kurz. Die meisten davon wirst du unglĂŒcklich sein.", + "Jeder hat ein Talent. Deins ist es, alles zu vermasseln.", + "Die Welt dreht sich weiter. Leider nicht in deine Richtung.", + "Du bist nicht der Hauptdarsteller in deinem Leben - du bist der Kompars, der am Ende stirbt.", + "Alles, wofĂŒr du hart gearbeitet hast, wird eines Tages von jemandem zerstört, der es nicht schĂ€tzt.", + "Das Universum lacht ĂŒber deine PlĂ€ne.", + "Dein Leben ist wie ein schlechter Witz. Der Punchline kommt nie.", + "Jeder Tag ist eine neue Chance, alles noch schlimmer zu machen.", + "Die Liebe deines Lebens wird dich nie zurĂŒcklieben. Gewöhn dich daran.", + "Deine TrĂ€ume sind nur Halluzinationen, verursacht durch Schlafmangel und Verzweiflung.", + "Alles, was du berĂŒhrst, verwandelt sich in Mist. Das ist dein besonderes Geschenk.", + "Das Leben ist wie ein schlechter Film. Du kennst das Ende schon, aber du musst es trotzdem durchsitzen.", + "Deine Zukunft sieht dunkel aus. Aber hey, wenigstens ist sie konsistent.", + "Jeder hat einen Seelenverwandten irgendwo da draußen. Deiner hasst dich wahrscheinlich.", + "Das GlĂŒck ist wie ein Bus. Du verpasst es immer, und wenn du es endlich erwischst, ist es ĂŒberfĂŒllt.", + "Alles, was du willst, ist gerade außerhalb deiner Reichweite. FĂŒr immer.", + "Dein Leben ist ein zyklischer Albtraum aus Hoffnung und EnttĂ€uschung.", + "Die Welt ist voller Möglichkeiten. Leider sind alle schlecht fĂŒr dich.", + "Du wirst nie reich sein, nie berĂŒhmte, nie geliebt. Aber hey, du hast niedrige Erwartungen!", + "Jeder Tag ist ein neuer Anfang, um die gleichen Fehler zu machen.", + "Deine grĂ¶ĂŸte StĂ€rke ist deine FĂ€higkeit, Leid zu ertragen.", + "Das Universum hat einen Plan. Du bist nicht Teil davon.", + "Alles, wofĂŒr du lebst, wird eines Tages sinnlos erscheinen.", + "Dein Schicksal ist besiegelt. Und es ist nicht gut.", + "Das Leben ist wie ein schlechter Kaffee. Bitter, kalt und am Ende macht es dich nur mĂŒde.", + "Jeder hat einen Engel auf der Schulter. Deiner schlĂ€ft. Oder lacht.", + "Deine Hoffnungen und TrĂ€ume werden wie Seifenblasen zerplatzen. Wieder und wieder.", + "Alles, was du tust, wird fĂŒr nichts sein. Aber zumindest warst du beschĂ€ftigt.", + "Die Welt ist grausam, unfair und gleichgĂŒltig. Gewöhn dich daran.", + "Dein Leben ist ein Countdown zu etwas, das du nicht kennen willst.", + "Jeder hat eine Bestimmung. Deine ist es, unglĂŒcklich zu sein.", + "Das GlĂŒck ist wie ein Schmetterling. Wenn du versuchst, es zu fangen, zerquetschst du es. Wenn du es ignorierst, landet es auf dem Mist.", + "Alles, was du liebst, wird dir genommen werden. Mehrmals.", + "Deine Zukunft ist so dunkel wie dein Humor.", + "Das Leben ist wie ein Labyrinth. Du wirst den Ausgang nie finden, weil es keinen gibt.", + "Jeder Tag ist eine neue Gelegenheit, von vorne anzufangen - genau dort, wo du gescheitert bist.", + "Deine TrĂ€ume werden wahr. In den AlbtrĂ€umen anderer.", + "Alles Gute kommt zu einem Ende. Das Schlechte auch - aber nur, um durch etwas noch Schlimmeres ersetzt zu werden.", + "Du bist nicht der Held dieser Geschichte. Du bist der Typ, der im ersten Akt stirbt.", + "Das Universum ist wie ein schlechter Schiedsrichter. Es ist immer gegen dich.", + "Dein Leben ist ein zyklischer Prozess von Hoffnung, EnttĂ€uschung und Resignation.", + "Alles, was du aufbaust, wird eines Tages einstĂŒrzen. Wahrscheinlich auf dich.", + "Die Zeit heilt keine Wunden. Sie macht sie nur unsichtbar, bis sie eines Tages wieder aufbrechen.", + "Jeder hat einen Platz in dieser Welt. Deiner ist im Abfluss.", + "Das GlĂŒck ist wie ein Regenschirm. Wenn du einen brauchst, ist er immer kaputt.", + "Dein Leben ist wie ein schlechter Roman. Voll von Klischees und vorhersagbaren Tragödien.", + "Alles, was du tust, wird falsch verstanden werden. Immer.", + "Die Welt dreht sich. Du nicht. Du fĂ€llst nur.", + "Deine grĂ¶ĂŸte Angst wird wahr werden. Aber hey, wenigstens warst du vorbereitet.", + "Das Leben ist wie ein Puppenhaus. Jemand anderes zieht an den FĂ€den.", + "Jeder Tag ist ein neuer Anfang, um die gleichen Fehler zu wiederholen.", + "Deine Hoffnungen sind wie Sand durch deine Finger. Du kannst sie nicht festhalten, und am Ende bleibst du mit leeren HĂ€nden zurĂŒck.", + "Alles, was du versuchst, wird scheitern. Aber wenigstens warst du mutig genug, um es zu versuchen.", + "Die Welt ist voller Möglichkeiten. Alle fĂŒhren zu EnttĂ€uschung.", + "Dein Schicksal ist wie ein schlechter Film. Du kennst alle Twists, aber du kannst nichts dagegen tun.", + "Dein Leben ist ein zyklischer Kreislauf aus Hoffnung und Verzweiflung.", + "Alles, was du anfasst, verwandelt sich in Asche.", + "Die Welt ist voller LĂŒgen. Die grĂ¶ĂŸte ist, dass alles gut wird.", + "Deine TrĂ€ume sind nur Illusionen, die dich wach halten.", + "Das Leben ist ein schlechter Scherz. Und du bist der Punchline.", + "Jeder Tag ist eine neue Gelegenheit, zu leiden.", + "Deine Zukunft ist so dunkel wie deine Vergangenheit.", + "Das Universum hat dich vergessen. Und das ist auch gut so." +] diff --git a/assets/fortunes/famous quotes.json b/assets/fortunes/famous quotes.json new file mode 100644 index 0000000..409b439 --- /dev/null +++ b/assets/fortunes/famous quotes.json @@ -0,0 +1,119 @@ +[ + "Das Leben ist wie Fahrradfahren. Um die Balance zu halten, musst du in Bewegung bleiben. - Albert Einstein", + "In drei Worten kann ich dir alles sagen, was ich ĂŒber das Leben weiß: Es geht weiter. - Robert Frost", + "Der Weg ist das Ziel. - Konfuzius", + "Was mich nicht umbringt, macht mich stĂ€rker. - Friedrich Nietzsche", + "Denke global, handle lokal. - Patrick Geddes", + "Wissen ist Macht. - Francis Bacon", + "In der Einfachheit liegt die grĂ¶ĂŸte Vollendung. - Leonardo da Vinci", + "Der frĂŒhe Vogel fĂ€ngt den Wurm. - Englisches Sprichwort", + "Alles, was ich weiß, ist, dass ich nichts weiß. - Sokrates", + "Tu anderen, was du willst, dass sie dir tun. - Bibel / Goldene Regel", + "Ehre, wem Ehre gebĂŒhrt. - Bibel / Römer 13,7", + "Wer rastet, der rostet. - Deutsche Redensart", + "Morgenstund hat Gold im Mund. - Deutsche Redensart", + "Aller Anfang ist schwer. - Horaz", + "Eile mit Weile. - Deutsche Redensart", + "Wer andere belĂŒgt, belĂŒgt sich selbst am meisten. - Friedrich Schiller", + "Ein kluger Mann macht nicht alle Fehler selbst. Er gibt auch anderen eine Chance. - Voltaire", + "Man sieht nur mit dem Herzen gut. Das Wesentliche ist fĂŒr die Augen unsichtbar. - Antoine de Saint-ExupĂ©ry", + "Der beste Weg, die Zukunft vorauszusagen, ist, sie zu gestalten. - Alan Kay", + "Lebe so, als wĂŒrdest du morgen sterben. Lerne so, als wĂŒrdest du ewig leben. - Mahatma Gandhi", + "Das GlĂŒck ist die Summe kleiner GlĂŒcksmomente. - Johann Wolfgang von Goethe", + "Alles, was du tun kannst oder trĂ€umst zu tun, fang damit an. - Johann Wolfgang von Goethe", + "Sei du selbst die VerĂ€nderung, die du in der Welt sehen möchtest. - Mahatma Gandhi", + "Die grĂ¶ĂŸte Gefahr fĂŒr die meisten von uns liegt nicht darin, dass unser Ziel zu hoch ist und wir es verfehlen, sondern darin, dass es zu niedrig ist und wir es erreichen. - Michelangelo", + "Der einzige Ort, an dem Erfolg vor Arbeit kommt, ist im Wörterbuch. - Vidal Sassoon", + "Die beste Rache ist ein gut gefĂŒhrtes Leben. - George Herbert", + "GlĂŒck ist kein Zustand, sondern eine Entscheidung. - Unbekannt", + "Ein Leben ohne Abenteuer ist wahrscheinlich kein Leben. - Helen Keller", + "Die beste Zeit, einen Baum zu pflanzen, war vor 20 Jahren. Die zweitbeste Zeit ist jetzt. - Chinesisches Sprichwort", + "Was du nicht willst, das man dir tu, das fĂŒg auch keinem anderen zu. - Konfuzius", + "Wer im Glashaus sitzt, sollte nicht mit Steinen werfen. - Englisches Sprichwort", + "Alles hat seine Zeit. - Bibel / Prediger 3,1", + "Man soll den Tag nicht vor dem Abend loben. - Deutsche Redensart", + "Wer anderen eine Grube grĂ€bt, fĂ€llt selbst hinein. - Bibel / SprĂŒche 26,27", + "Der KlĂŒgere gibt nach. - Friedrich Schiller", + "Ehrlich wĂ€hrt am lĂ€ngsten. - Deutsche Redensart", + "Not bricht Eisen. - Deutsche Redensart", + "Gemeinsam ist man weniger allein. - Deutsche Redensart", + "Ein jeder ist seines GlĂŒckes Schmied. - Friedrich Schiller", + "Wer nicht wagt, der nicht gewinnt. - Deutsche Redensart", + "Gut Ding will Weile haben. - Deutsche Redensart", + "Der Apfel fĂ€llt nicht weit vom Stamm. - Deutsche Redensart", + "Was der Bauer nicht kennt, das isst er nicht. - Deutsche Redensart", + "Alte Liebe rostet nicht. - Deutsche Redensart", + "Alles hat ein Ende, nur die Wurst hat zwei. - Deutsche Redensart", + "Wer rastet, der rostet. - Deutsche Redensart", + "Ein blindes Huhn findet auch mal ein Korn. - Deutsche Redensart", + "Hochmut kommt vor dem Fall. - Bibel / SprĂŒche 16,18", + "Stolz kommt vor dem Sturz. - Deutsche Redensart", + "Selbst ist der Mann. - Deutsche Redensart", + "FrĂŒh ĂŒbt sich, was ein Meister werden will. - Deutsche Redensart", + "Erst denken, dann handeln. - Deutsche Redensart", + "Faulheit ist des Teufels Kissen. - Deutsche Redensart", + "Gleich und gleich gesellt sich gern. - Deutsche Redensart", + "Kleider machen Leute. - Gottfried Keller", + "Mit Speck fĂ€ngt man MĂ€use. - Deutsche Redensart", + "Morgenstund hat Gold im Mund. - Deutsche Redensart", + "Nachts sind alle Katzen grau. - Deutsche Redensart", + "Nichts wird so heiß gegessen, wie es gekocht wird. - Deutsche Redensart", + "Viele Köche verderben den Brei. - Deutsche Redensart", + "Alles hat ein Ende. - Deutsche Redensart", + "Der frĂŒhe Vogel fĂ€ngt den Wurm. - Englisches Sprichwort", + "Was du heute kannst besorgen, das verschiebe nicht auf morgen. - Deutsche Redensart", + "Man lernt nie aus. - Deutsche Redensart", + "Wer A sagt, muss auch B sagen. - Deutsche Redensart", + "Ein ungerechter Friede ist besser als ein gerechter Krieg. - Marcus Tullius Cicero", + "Die Wahrheit wird euch frei machen. - Bibel / Johannes 8,32", + "Lieben Sie Ihren NĂ€chsten wie sich selbst. - Bibel / MatthĂ€us 22,39", + "Gott wĂŒrfelt nicht. - Albert Einstein", + "In Gottes Namen. - Bibel", + "Die Feder ist mĂ€chtiger als das Schwert. - Edward Bulwer-Lytton", + "Unwissenheit ist die Nacht des Geistes. - Immanuel Kant", + "Der Mensch ist, was er isst. - Ludwig Feuerbach", + "In der Ruhe liegt die Kraft. - Friedrich Schiller", + "Wer nicht arbeiten will, soll auch nicht essen. - Paulus / 2. Thessalonicher 3,10", + "Die Hoffnung stirbt zuletzt. - Deutsche Redensart", + "Alles fĂŒr alle. - Karl Marx", + "Freiheit, Gleichheit, BrĂŒderlichkeit. - Französische Revolution", + "Wage es, weise zu sein. - Immanuel Kant", + "Denke nach und handle. - Immanuel Kant", + "Die Welt ist eine BĂŒhne und alle Fraun und MĂ€nner bloße Spieler. - William Shakespeare", + "Sein oder Nichtsein, das ist hier die Frage. - William Shakespeare", + "Liebe ist die Antwort, aber was war nochmal die Frage? - Unbekannt", + "Im Anfang schuf Gott Himmel und Erde. - Bibel / 1. Mose 1,1", + "Und das Wort ward Fleisch und wohnte unter uns. - Bibel / Johannes 1,14", + "Selig sind, die da geistlich arm sind. - Bibel / MatthĂ€us 5,3", + "Was ihr wollt, dass euch die Leute tun, das tut ihr ihnen auch! - Bibel / MatthĂ€us 7,12", + "Suchet, so werdet ihr finden. - Bibel / MatthĂ€us 7,7", + "Gebt dem Kaiser, was des Kaisers ist. - Bibel / MatthĂ€us 22,21", + "Der Sabbat ist um des Menschen willen gemacht und nicht der Mensch um des Sabbats willen. - Bibel / Markus 2,27", + "Was nĂŒtzt es dem Menschen, wenn er die ganze Welt gewinnt, aber seine Seele verliert? - Bibel / Markus 8,36", + "Richtet nicht, damit ihr nicht gerichtet werdet. - Bibel / MatthĂ€us 7,1", + "Alles ist erleuchtet. - Joseph Roth", + "Der Mensch ist frei geboren, und liegt doch ĂŒberall in Ketten. - Jean-Jacques Rousseau", + "Die Feder ist des Menschen Zunge. - Johann Wolfgang von Goethe", + "Besser ein lebendiger Hund als ein toter Löwe. - Bibel / Prediger 9,4", + "Alles fließt und nichts bleibt. - Heraklit", + "Erkenne dich selbst. - Sokrates", + "Der Mensch ist das Maß aller Dinge. - Protagoras", + "In der Mitte liegt die Tugend. - Aristoteles", + "Handle so, dass die Maxime deines Willens jederzeit zugleich als Prinzip einer allgemeinen Gesetzgebung gelten könnte. - Immanuel Kant", + "Himmel und Erde werden vergehen, aber meine Worte werden nicht vergehen. - Bibel / Markus 13,31", + "Die Sonne geht auf fĂŒr Gerechte und Ungerechte. - Bibel / MatthĂ€us 5,45", + "Wer von euch ohne SĂŒnde ist, der werfe den ersten Stein. - Bibel / Johannes 8,7", + "Ich denke, also bin ich. - RenĂ© Descartes", + "Gott ist tot. - Friedrich Nietzsche", + "Du sollst dir kein Bildnis machen. - Bibel / 2. Mose 20,4", + "Der Weg zur Hölle ist mit guten VorsĂ€tzen gepflastert. - Englisches Sprichwort", + "In Treue fest. - Deutsches Motto", + "Einigkeit und Recht und Freiheit. - Deutsche Nationalhymne", + "Das Vaterland ruft. - Deutsches Motto", + "Arbeit adelt. - Deutsches Sprichwort", + "Ehrenhaft und treu. - Deutsches Motto", + "Gott mit uns. - Preußisches Motto", + "Durchhalten und durchkommen. - Deutsche Redensart", + "Wer nicht mit der Zeit geht, geht mit der Zeit. - Deutsche Redensart", + "Alles hat seine Zeit, und alles Vorhaben unter dem Himmel hat seine Stunde. - Bibel / Prediger 3,1" +] diff --git a/assets/fortunes/farmer wisdom.json b/assets/fortunes/farmer wisdom.json index 1b952b8..e9f5e23 100644 --- a/assets/fortunes/farmer wisdom.json +++ b/assets/fortunes/farmer wisdom.json @@ -18,5 +18,97 @@ "Was du heute kannst besorgen, das verschiebe nicht auf morgen.", "Wer zu viel will, der hat am Ende nichts.", "Ein guter Rat kommt selten zur Unzeit.", - "Der Hunger kommt beim Essen." -] \ No newline at end of file + "Der Hunger kommt beim Essen.", + "Morgen, morgen, nur nicht heute, sagen alle faulen Leute.", + "Übst du dich im Fluchen, so kommst du vom Fluchen nicht zum Schweigen.", + "Wer anderen eine Grube grĂ€bt, fĂ€llt selbst hinein.", + "Wie man in den Wald hineinruft, so schallt es heraus.", + "Alte Liebe rostet nicht.", + "Aller Anfang ist schwer.", + "Alles hat ein Ende, nur die Wurst hat zwei.", + "Ein blindes Huhn findet auch mal ein Korn.", + "Der Apfel fĂ€llt nicht weit vom Stamm.", + "Das Billige ist am Ende das Teuerste.", + "Der Dumasche Bauer erntet die dicksten Kartoffeln.", + "Ehrlich wĂ€hrt am lĂ€ngsten.", + "Eile mit Weile.", + "Ein jeder ist seines GlĂŒckes Schmied.", + "Erst denken, dann handeln.", + "Faulheit ist des Teufels Kissen.", + "FrĂŒh ĂŒbt sich, was ein Meister werden will.", + "Geborgte Federn putzt der Hahn sich am schönsten.", + "Gemeinsam ist man weniger allein.", + "Gleich und gleich gesellt sich gern.", + "Gut Ding will Weile haben.", + "Hast du es eilig, so geh langsam.", + "Hochmut kommt vor dem Fall.", + "If the maid with the flaxen hair plucks it, it will grow the longer.", + "In der Not frisst der Teufel Fliegen.", + "Jeder Topf findet seinen Deckel.", + "Kleine Kinder, kleine Sorgen; große Kinder, große Sorgen.", + "Kleider machen Leute.", + "Kummer macht alt, Sorge macht falben Haar.", + "LĂŒgen haben kurze Beine.", + "Man kann den Brush nicht scheren, ohne den Bock zu verprellen.", + "Man soll den BĂ€ren nicht vor dem Schuss verkaufen.", + "Mit Speck fĂ€ngt man MĂ€use.", + "Morgenstund hat Gold im Mund.", + "Nachts sind alle Katzen grau.", + "Not bricht Eisen.", + "Nichts wird so heiß gegessen, wie es gekocht wird.", + "Old sins cast long shadows.", + "Red sky at night, shepherd's delight. Red sky in the morning, shepherd's warning.", + "Selbst ist der Mann.", + "Stolz kommt vor dem Sturz.", + "The early bird catches the worm.", + "The proof of the pudding is in the eating.", + "Too many cooks spoil the broth.", + "Unkraut vergeht nicht.", + "Viele Köche verderben den Brei.", + "Viel LĂ€rm um nichts.", + "Was du nicht willst, das man dir tu, das fĂŒg auch keinem anderen zu.", + "Was einem zu schwer wird, das soll man den Nachkommenden ĂŒberlassen.", + "Wer a says, muss auch b sagen.", + "Wer andern eine Grube grĂ€bt, fĂ€llt selbst hinein.", + "Wer nicht wagt, der nicht gewinnt.", + "Wer rastet, der rostet.", + "Wer schuldig wird, der werden auch schuldig.", + "Wer sein Brot in Demut isst, ißt lĂ€nger mit Appetit.", + "Wenn der Wind der VerĂ€nderung weht, bauen die einen Mauern und die anderen WindmĂŒhlen.", + "Wenn die Sauer kraht auf dem Mist, dann Ă€ndert sich das Wetter oder es bleibt wie es ist.", + "Wenn die Sonne scheint, machen auch die HĂŒhner HĂ€hnchengesichter.", + "Wenn der Esel schreit, dann kommt bald Regen.", + "Wer im Januar Schnee will, der muss ihn im Dezember bestellen.", + "MĂ€rzen-Schnee tut den Saaten weh.", + "April, April, der macht, was er will.", + "Mai kĂŒhl und nass fĂŒllt Scheuer und Fass.", + "Juni warm und trocken macht Bauern die Herzen froh.", + "Juli heiß macht das Brot weiß.", + "August heiß macht den Winter nicht leich.", + "September lĂŒstern, regenreich und fruchtbar, dem Bauern angenehm und wunderbar.", + "Oktoberluft ist KĂ€sewert, macht die BĂ€ume bunt und leer.", + "Novembernebel sind dem Bauern hold, sie bringen nasses, aber auch kaltes Gold.", + "Dezember kalt mit Schnee, gibt Korn und Weizen in Höh.", + "Januar trocken und kalt, gut fĂŒr Getreide im Wald.", + "Februar mit Schnee und Frost, fĂŒr die Saat ist's am besten lost.", + "MĂ€rzenschnee tut den Saaten weh, aber der Bauern Hoffnung steht.", + "Aprilregenschauer bringen Maiensblumen den Schmuck heraus.", + "Im Mai die Schafe scheren, dann regnet's nicht so sehr.", + "Juni warm und trocken macht die Bauernherzen froh.", + "Heißer Juli mit Donnerschall, bringt reiche Ernte fĂŒr uns all.", + "August heiß und trocken, lĂ€sst die Äpfel an den BĂ€umen stocken.", + "Septembernebel, die sind dem Bauern hold, sie bringen Feuchtigkeit fĂŒr Feld und Wald.", + "Oktoberwind, der weht so wild, reißt die letzten BlĂ€tter vom Baum.", + "Novembernebel, die sind kalt und grau, bringen den Winter ins Land genau.", + "Dezember mit Schnee und Eis, schĂŒtzt die Saat vor Frost und Reif.", + "Wer sein Brot in Demut isst, der hat es lĂ€nger und mit mehr Lust.", + "Wer nicht hören will, der muss fĂŒhlen.", + "Was der Bauer nicht kennt, das frisst er nicht.", + "Was hinter dir liegt und was vor dir liegt, ist nicht so wichtig wie das, was in dir liegt.", + "Ein Bauer ohne Land ist wie ein Fisch ohne Wasser.", + "Guter Rat ist teuer, aber ein guter Freund ist unbezahlbar.", + "Wer die Ernte einbringt, hat den Lohn verdient.", + "Die Erde gibt, was man ihr gibt.", + "Ein kluger Bauer kennt den Wert der Geduld.", + "Die beste Ernte bringt der Fleiß, nicht das GlĂŒck allein." +] diff --git a/assets/fortunes/sandman.json b/assets/fortunes/sandman.json new file mode 100644 index 0000000..97d711d --- /dev/null +++ b/assets/fortunes/sandman.json @@ -0,0 +1,100 @@ +[ + "Schlaf ist die beste Medizin - nimm deine Dosis jetzt!", + "Die Nacht ist jung, aber du bist mĂŒde. Zeit fĂŒrs Bett!", + "Morgen wird ein neuer Tag sein - aber nur, wenn du jetzt schlĂ€fst.", + "Dein Bett vermisst dich. Geh zu ihm zurĂŒck!", + "Die besten TrĂ€ume kommen zu denen, die frĂŒh schlafen gehen.", + "Dein Körper braucht Ruhe. Dein Geist auch. Gehorche ihnen!", + "Schlaf ist der natĂŒrliche Reset-Knopf fĂŒr deinen Körper.", + "Je frĂŒher du schlĂ€fst, desto mehr Energie hast du morgen.", + "Die Nacht ist da, um zu schlafen, nicht um wach zu bleiben.", + "Dein Kissen sehnt sich nach deinem Kopf. ErfĂŒlle ihm diesen Wunsch!", + "Schlafmangel ist kein Zeichen von StĂ€rke, sondern von Dummheit.", + "Die besten Entscheidungen treffen wir nach einer guten Nacht.", + "Dein Körper repariert sich im Schlaf. Gib ihm die Chance!", + "Morgens aufstehen ist leichter, wenn man abends schlafen geht.", + "Die Sterne funkeln am schönsten fĂŒr die, die schlafen.", + "Dein Bett ist der beste Ort, um die Probleme von morgen zu lösen.", + "Schlaf ist der Luxus, den sich jeder leisten kann.", + "Dein Geist braucht Pausen. Schlafen ist die beste Pause.", + "Je lĂ€nger du wach bleibst, desto weniger produktiv wirst du.", + "Die Nacht gehört dem Schlaf, der Tag dem Handeln.", + "Dein Körper ist ein Tempel. Schlaf ist die Reinigung.", + "Die besten Ideen kommen im Halbschlaf. Probier es aus!", + "Schlaf ist die natĂŒrliche Art, Energie zu tanken.", + "Dein Immunsystem braucht Schlaf, um stark zu bleiben.", + "Je frĂŒher du schlĂ€fst, desto mehr vom Leben hast du.", + "Die Nacht ist nicht dafĂŒr da, um durchzuarbeiten, sondern um durchzuschlafen.", + "Dein Gehirn sortiert im Schlaf die EindrĂŒcke des Tages.", + "Schlaf ist kein Zeitverlust, sondern eine Investition in deine Gesundheit.", + "Dein Körper schreit nach Ruhe. Hör auf ihn!", + "Die besten TrĂ€ume erlebt man im Tiefschlaf.", + "Schlaf ist der natĂŒrliche Weg, um Stress abzubauen.", + "Dein Herz braucht Ruhe. Schlaf gibt sie ihm.", + "Je mehr du schlĂ€fst, desto jĂŒnger bleibst du.", + "Die Nacht ist die beste Zeit, um neue Kraft zu schöpfen.", + "Dein Bett ist der sicherste Ort der Welt.", + "Schlaf ist der beste Weg, um dem Alltag zu entfliehen.", + "Dein Körper braucht Schlaf wie eine Blume Wasser.", + "Die besten PlĂ€ne fĂŒr morgen entstehen im Schlaf von heute.", + "Schlaf ist die natĂŒrliche Heilung fĂŒr Körper und Geist.", + "Dein Geist braucht Schlaf, um kreativ zu bleiben.", + "Je frĂŒher du schlĂ€fst, desto mehr kannst du morgen erleben.", + "Die Nacht ist da, um zu ruhen, nicht um zu kĂ€mpfen.", + "Dein Körper verdient eine Pause. Gib sie ihm!", + "Schlaf ist der beste Weg, um den nĂ€chsten Tag vorzubereiten.", + "Dein Gehirn braucht Schlaf, um zu lernen und zu vergessen.", + "Die besten Erinnerungen entstehen nach einer guten Nacht.", + "Schlaf ist der natĂŒrliche Reset fĂŒr deine Laune.", + "Dein Körper ist mĂŒde. Dein Geist auch. Zeit fĂŒrs Bett!", + "Je mehr du schlĂ€fst, desto besser siehst du aus.", + "Die Nacht ist die beste Zeit, um zur Ruhe zu kommen.", + "Dein Bett wartet auf dich. Lass es nicht lĂ€nger warten!", + "Schlaf ist der beste Weg, um den nĂ€chsten Tag zu meistern.", + "Dein Körper braucht Schlaf, um stark zu bleiben.", + "Die besten Entscheidungen treffen wir ausgeruht.", + "Schlaf ist die natĂŒrliche Art, Energie zu regenerieren.", + "Dein Geist braucht Schlaf, um klar zu denken.", + "Je frĂŒher du schlĂ€fst, desto mehr Zeit hast du morgen.", + "Die Nacht gehört dem Schlaf. Nutze sie!", + "Dein Körper ist ein Wunderwerk. Schlaf ist die Pflege.", + "Schlaf ist der beste Weg, um den Alltagsstress zu vergessen.", + "Dein Herz braucht Ruhe. Schlaf gibt sie ihm.", + "Die besten TrĂ€ume kommen zu denen, die rechtzeitig schlafen gehen.", + "Schlaf ist kein Luxus, sondern eine Notwendigkeit.", + "Dein Geist braucht Pausen. Schlaf ist die beste Pause.", + "Je lĂ€nger du wach bleibst, desto weniger wirst du morgen schaffen.", + "Die Nacht ist da, um neue Kraft zu tanken.", + "Dein Bett ist der beste Freund, den du heute Nacht haben kannst.", + "Schlaf ist der natĂŒrliche Weg, um gesund zu bleiben.", + "Dein Körper braucht Schlaf wie die Erde Regen.", + "Die besten PlĂ€ne entstehen im Schlaf.", + "Schlaf ist der Reset-Knopf fĂŒr deinen Körper und Geist.", + "Dein Geist braucht Ruhe. Schlaf gibt sie ihm.", + "Je frĂŒher du schlĂ€fst, desto mehr kannst du morgen genießen.", + "Die Nacht ist die beste Zeit, um zur Ruhe zu kommen und neue Kraft zu schöpfen.", + "Dein Körper verdient eine Pause. Schlaf ist die beste Pause.", + "Schlaf ist der beste Weg, um den nĂ€chsten Tag mit Energie zu beginnen.", + "Dein Gehirn braucht Schlaf, um alles zu verarbeiten.", + "Die besten Erinnerungen entstehen nach einer erholsamen Nacht.", + "Schlaf ist der natĂŒrliche Heilungsprozess fĂŒr Körper und Seele.", + "Dein Körper ist mĂŒde. Dein Geist auch. Zeit zum Schlafen!", + "Je mehr du schlĂ€fst, desto besser fĂŒhlst du dich.", + "Die Nacht ist da, um zu ruhen und zu regenerieren.", + "Dein Bett sehnt sich nach dir. Geh zu ihm!", + "Schlaf ist der beste Weg, um gestresst aufzuwachen.", + "Dein Körper braucht Schlaf, um zu funktionieren.", + "Die besten TrĂ€ume erlebt man, wenn man frĂŒh ins Bett geht.", + "Schlaf ist kein Zeitverlust, sondern eine Investition in dich selbst.", + "Dein Geist braucht Schlaf, um kreativ und produktiv zu sein.", + "Je frĂŒher du schlĂ€fst, desto mehr vom Leben kannst du erleben.", + "Die Nacht gehört dem Schlaf. Genieße sie!", + "Dein Körper ist ein Tempel. Schlaf ist die Reinigung und Pflege.", + "Schlaf ist der beste Weg, um den Alltag hinter sich zu lassen.", + "Dein Herz braucht Ruhe. Schlaf gibt sie ihm.", + "Die besten Entscheidungen treffen wir nach einer guten Nacht.", + "Schlaf ist die natĂŒrliche Art, um Energie zu tanken und gesund zu bleiben.", + "Dein Geist braucht Schlaf wie eine Blume das Licht.", + "Schlaf ist der beste Arzt fĂŒr Körper und Seele.", + "Je mehr du schlĂ€fst, desto besser kannst du morgen lĂ€cheln." +] diff --git a/manifest.json.in b/manifest.json.in index 75a490b..bb34496 100644 --- a/manifest.json.in +++ b/manifest.json.in @@ -1,7 +1,7 @@ { "name": "fortunecookie.darklithium", "title": "Fortune Cookie", - "version": "1.0.7", + "version": "1.0.8", "description": "GlĂŒckskeks App mit SprĂŒchen, Musik und einfacher Listenverwaltung", "maintainer": "darklithium ", "architecture": "all", diff --git a/qml/Main.qml b/qml/Main.qml index 160300b..55e394f 100644 --- a/qml/Main.qml +++ b/qml/Main.qml @@ -20,8 +20,7 @@ MainView { property string currentFortune: "" property bool musicPlaying: false property bool appInitialized: false - property real musicVolume: 0.5 - property real crackVolume: 1.0 + property string currentFortuneListDescription: "" Python { id: py @@ -49,14 +48,14 @@ MainView { objectName: "mediaPlayer" source: Qt.resolvedUrl("../assets/chinese_music.mp3") loops: MediaPlayer.Infinite - volume: root.musicVolume + volume: 1.0 } MediaPlayer { id: crackMediaPlayer objectName: "crackMediaPlayer" source: Qt.resolvedUrl("../assets/cookie_crack.mp3") - volume: root.crackVolume + volume: 1.0 } // ==================================================================== @@ -107,15 +106,16 @@ MainView { } }); - // Volumes laden - py.call("fortunecookie.get_music_volume", [], function(result) { - root.musicVolume = result; - mediaPlayer.volume = result; - }); - - py.call("fortunecookie.get_crack_volume", [], function(result) { - root.crackVolume = result; - crackMediaPlayer.volume = result; + // Aktuelle Liste laden und Beschreibung setzen + py.call("fortunecookie.get_current_fortune_list", [], function(listName) { + var descriptions = { + "fortune": "GlĂŒckskeks-SprĂŒche", + "farmer wisdom": "Bauernweisheiten", + "UNfortune": "Darkside-SprĂŒche", + "sandman": "Bettgehzeit!", + "famous quotes": "BerĂŒhmte Zitate" + }; + root.currentFortuneListDescription = descriptions[listName] || listName; }); appInitialized = true; @@ -214,6 +214,20 @@ MainView { } } + // AKTIVE LISTE ANZEIGE (unten links) + Label { + id: activeListLabel + anchors { + left: parent.left + verticalCenter: musicButton.verticalCenter + leftMargin: units.gu(2) + } + text: currentFortuneListDescription + fontSize: "medium" + color: theme.palette.normalText || "white" + visible: currentFortuneListDescription !== "" + } + // MUSIK-BUTTON Label { id: musicButton @@ -222,10 +236,10 @@ MainView { bottom: parent.bottom margins: units.gu(2) } - width: units.gu(10) - height: units.gu(10) + width: units.gu(8) + height: units.gu(8) text: musicPlaying ? "\uD83D\uDD0A" : "\uD83D\uDD07" - fontSize: "xxx-large" + fontSize: "xx-large" horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter color: theme.palette.normalText || "white" @@ -265,29 +279,20 @@ MainView { // Verzögerte Initialisierung Qt.callLater(function() { try { - // Einstellungen laden + // Spruchlisten ComboBox fĂŒllen py.call("fortunecookie.get_current_fortune_list", [], function(currentFortuneList) { - py.call("fortunecookie.get_music_volume", [], function(musicVol) { - py.call("fortunecookie.get_crack_volume", [], function(crackVol) { - // Slider Werte setzen - musicVolumeSlider.value = musicVol; - crackVolumeSlider.value = crackVol; + py.call("fortunecookie.get_fortune_lists_with_description", [], function(lists) { + fortuneListCombo.model = lists; - // Spruchlisten ComboBox fĂŒllen - py.call("fortunecookie.get_fortune_lists_with_description", [], function(lists) { - fortuneListCombo.model = lists; - - // Aktuelle Liste auswĂ€hlen - for (var i = 0; i < fortuneListCombo.count; i++) { - var text = fortuneListCombo.textAt(i); - var listName = text.split(" - ")[0]; - if (listName === currentFortuneList) { - fortuneListCombo.currentIndex = i; - break; - } - } - }); - }); + // Aktuelle Liste auswĂ€hlen + for (var i = 0; i < fortuneListCombo.count; i++) { + var text = fortuneListCombo.textAt(i); + var listName = text.split(" - ")[0]; + if (listName === currentFortuneList) { + fortuneListCombo.currentIndex = i; + break; + } + } }); }); @@ -326,84 +331,19 @@ MainView { py.call("fortunecookie.set_fortune_list", [newList], function() { console.log("Spruchliste gewaehlt: " + newList); reloadFortune(); + // Aktualisiere die Anzeige im Hauptbildschirm + var descriptions = { + "fortune": "GlĂŒckskeks-SprĂŒche", + "farmer wisdom": "Bauernweisheiten", + "UNfortune": "Darkside-SprĂŒche", + "sandman": "Bettgehzeit!", + "famous quotes": "BerĂŒhmte Zitate" + }; + root.currentFortuneListDescription = descriptions[newList] || newList; }); } } - // LAUTSTÄRKE - MUSIK - Label { - text: "Musik-LautstĂ€rke:" - Layout.fillWidth: true - fontSize: "large" - } - - RowLayout { - Layout.fillWidth: true - spacing: units.gu(2) - - Slider { - id: musicVolumeSlider - Layout.fillWidth: true - minimumValue: 0.0 - maximumValue: 1.0 - stepSize: 0.1 - value: 0.5 - - onValueChanged: { - var volume = musicVolumeSlider.value; - root.musicVolume = volume; - mediaPlayer.volume = volume; - py.call("fortunecookie.set_music_volume", [volume]); - musicVolumeLabel.text = Math.round(volume * 100) + "%"; - } - } - - Label { - id: musicVolumeLabel - text: Math.round(musicVolumeSlider.value * 100) + "%" - width: units.gu(10) - horizontalAlignment: Text.AlignHCenter - fontSize: "medium" - } - } - - // LAUTSTÄRKE - KNACK-GERÄUSCH - Label { - text: "Knack-LautstĂ€rke:" - Layout.fillWidth: true - fontSize: "large" - } - - RowLayout { - Layout.fillWidth: true - spacing: units.gu(2) - - Slider { - id: crackVolumeSlider - Layout.fillWidth: true - minimumValue: 0.0 - maximumValue: 1.0 - stepSize: 0.1 - value: 1.0 - - onValueChanged: { - var volume = crackVolumeSlider.value; - root.crackVolume = volume; - crackMediaPlayer.volume = volume; - py.call("fortunecookie.set_crack_volume", [volume]); - crackVolumeLabel.text = Math.round(volume * 100) + "%"; - } - } - - Label { - id: crackVolumeLabel - text: Math.round(crackVolumeSlider.value * 100) + "%" - width: units.gu(10) - horizontalAlignment: Text.AlignHCenter - fontSize: "medium" - } - } - // ZURÜCK-BUTTON Item { Layout.fillWidth: true diff --git a/src/fortunecookie.py b/src/fortunecookie.py index 6f73938..7856fc8 100644 --- a/src/fortunecookie.py +++ b/src/fortunecookie.py @@ -15,7 +15,7 @@ import platform # APP-METADATEN # ============================================================================ APP_NAME = "fortunecookie" -APP_VERSION = "1.1.0" +APP_VERSION = "1.1.1" MAINTAINER = "darklithium " @@ -40,6 +40,8 @@ AVAILABLE_FORTUNE_LISTS = [ "fortune", # Standard GlĂŒckskeks-Sprueche "farmer wisdom", # Bauernweisheiten "UNfortune", # Gothic/UNfortune-Sprueche + "sandman", # Bettgehzeit-Sprueche + "famous quotes", # BerĂŒhmte Zitate ] # Aktuelle Spruchliste (Standard: fortune) @@ -269,7 +271,9 @@ def get_fortune_lists_with_description(): descriptions = { "fortune": "GlĂŒckskeks-SprĂŒche", "farmer wisdom": "Bauernweisheiten", - "UNfortune": "Darkside-SprĂŒche" + "UNfortune": "Darkside-SprĂŒche", + "sandman": "Bettgehzeit!", + "famous quotes": "BerĂŒhmte Zitate" } for list_name in AVAILABLE_FORTUNE_LISTS: count = len(_fortunes.get(list_name, []))