feat: v1.0.8 mit Lautstärke-Fix und neuen Listen
This commit is contained in:
@@ -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*
|
||||||
Binary file not shown.
Binary file not shown.
@@ -19,5 +19,82 @@
|
|||||||
"Das Leben ist wie eine Zitrone: sauer, bitter und am Ende macht es deine Lippen nur noch trockener.",
|
"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.",
|
"Hoffnung ist der Traum eines wachen Mannes - und Träume sind Lügen.",
|
||||||
"Du bist perfekt - perfekt falsch am falschen Ort zur falschen Zeit.",
|
"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."
|
"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."
|
||||||
|
]
|
||||||
|
|||||||
@@ -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"
|
||||||
|
]
|
||||||
@@ -18,5 +18,97 @@
|
|||||||
"Was du heute kannst besorgen, das verschiebe nicht auf morgen.",
|
"Was du heute kannst besorgen, das verschiebe nicht auf morgen.",
|
||||||
"Wer zu viel will, der hat am Ende nichts.",
|
"Wer zu viel will, der hat am Ende nichts.",
|
||||||
"Ein guter Rat kommt selten zur Unzeit.",
|
"Ein guter Rat kommt selten zur Unzeit.",
|
||||||
"Der Hunger kommt beim Essen."
|
"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."
|
||||||
|
]
|
||||||
|
|||||||
@@ -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."
|
||||||
|
]
|
||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "fortunecookie.darklithium",
|
"name": "fortunecookie.darklithium",
|
||||||
"title": "Fortune Cookie",
|
"title": "Fortune Cookie",
|
||||||
"version": "1.0.7",
|
"version": "1.0.8",
|
||||||
"description": "Glückskeks App mit Sprüchen, Musik und einfacher Listenverwaltung",
|
"description": "Glückskeks App mit Sprüchen, Musik und einfacher Listenverwaltung",
|
||||||
"maintainer": "darklithium <dev@darklithium.de>",
|
"maintainer": "darklithium <dev@darklithium.de>",
|
||||||
"architecture": "all",
|
"architecture": "all",
|
||||||
|
|||||||
+51
-111
@@ -20,8 +20,7 @@ MainView {
|
|||||||
property string currentFortune: ""
|
property string currentFortune: ""
|
||||||
property bool musicPlaying: false
|
property bool musicPlaying: false
|
||||||
property bool appInitialized: false
|
property bool appInitialized: false
|
||||||
property real musicVolume: 0.5
|
property string currentFortuneListDescription: ""
|
||||||
property real crackVolume: 1.0
|
|
||||||
|
|
||||||
Python {
|
Python {
|
||||||
id: py
|
id: py
|
||||||
@@ -49,14 +48,14 @@ MainView {
|
|||||||
objectName: "mediaPlayer"
|
objectName: "mediaPlayer"
|
||||||
source: Qt.resolvedUrl("../assets/chinese_music.mp3")
|
source: Qt.resolvedUrl("../assets/chinese_music.mp3")
|
||||||
loops: MediaPlayer.Infinite
|
loops: MediaPlayer.Infinite
|
||||||
volume: root.musicVolume
|
volume: 1.0
|
||||||
}
|
}
|
||||||
|
|
||||||
MediaPlayer {
|
MediaPlayer {
|
||||||
id: crackMediaPlayer
|
id: crackMediaPlayer
|
||||||
objectName: "crackMediaPlayer"
|
objectName: "crackMediaPlayer"
|
||||||
source: Qt.resolvedUrl("../assets/cookie_crack.mp3")
|
source: Qt.resolvedUrl("../assets/cookie_crack.mp3")
|
||||||
volume: root.crackVolume
|
volume: 1.0
|
||||||
}
|
}
|
||||||
|
|
||||||
// ====================================================================
|
// ====================================================================
|
||||||
@@ -107,15 +106,16 @@ MainView {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Volumes laden
|
// Aktuelle Liste laden und Beschreibung setzen
|
||||||
py.call("fortunecookie.get_music_volume", [], function(result) {
|
py.call("fortunecookie.get_current_fortune_list", [], function(listName) {
|
||||||
root.musicVolume = result;
|
var descriptions = {
|
||||||
mediaPlayer.volume = result;
|
"fortune": "Glückskeks-Sprüche",
|
||||||
});
|
"farmer wisdom": "Bauernweisheiten",
|
||||||
|
"UNfortune": "Darkside-Sprüche",
|
||||||
py.call("fortunecookie.get_crack_volume", [], function(result) {
|
"sandman": "Bettgehzeit!",
|
||||||
root.crackVolume = result;
|
"famous quotes": "Berühmte Zitate"
|
||||||
crackMediaPlayer.volume = result;
|
};
|
||||||
|
root.currentFortuneListDescription = descriptions[listName] || listName;
|
||||||
});
|
});
|
||||||
|
|
||||||
appInitialized = true;
|
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
|
// MUSIK-BUTTON
|
||||||
Label {
|
Label {
|
||||||
id: musicButton
|
id: musicButton
|
||||||
@@ -222,10 +236,10 @@ MainView {
|
|||||||
bottom: parent.bottom
|
bottom: parent.bottom
|
||||||
margins: units.gu(2)
|
margins: units.gu(2)
|
||||||
}
|
}
|
||||||
width: units.gu(10)
|
width: units.gu(8)
|
||||||
height: units.gu(10)
|
height: units.gu(8)
|
||||||
text: musicPlaying ? "\uD83D\uDD0A" : "\uD83D\uDD07"
|
text: musicPlaying ? "\uD83D\uDD0A" : "\uD83D\uDD07"
|
||||||
fontSize: "xxx-large"
|
fontSize: "xx-large"
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
color: theme.palette.normalText || "white"
|
color: theme.palette.normalText || "white"
|
||||||
@@ -265,29 +279,20 @@ MainView {
|
|||||||
// Verzögerte Initialisierung
|
// Verzögerte Initialisierung
|
||||||
Qt.callLater(function() {
|
Qt.callLater(function() {
|
||||||
try {
|
try {
|
||||||
// Einstellungen laden
|
// Spruchlisten ComboBox füllen
|
||||||
py.call("fortunecookie.get_current_fortune_list", [], function(currentFortuneList) {
|
py.call("fortunecookie.get_current_fortune_list", [], function(currentFortuneList) {
|
||||||
py.call("fortunecookie.get_music_volume", [], function(musicVol) {
|
py.call("fortunecookie.get_fortune_lists_with_description", [], function(lists) {
|
||||||
py.call("fortunecookie.get_crack_volume", [], function(crackVol) {
|
fortuneListCombo.model = lists;
|
||||||
// Slider Werte setzen
|
|
||||||
musicVolumeSlider.value = musicVol;
|
|
||||||
crackVolumeSlider.value = crackVol;
|
|
||||||
|
|
||||||
// Spruchlisten ComboBox füllen
|
// Aktuelle Liste auswählen
|
||||||
py.call("fortunecookie.get_fortune_lists_with_description", [], function(lists) {
|
for (var i = 0; i < fortuneListCombo.count; i++) {
|
||||||
fortuneListCombo.model = lists;
|
var text = fortuneListCombo.textAt(i);
|
||||||
|
var listName = text.split(" - ")[0];
|
||||||
// Aktuelle Liste auswählen
|
if (listName === currentFortuneList) {
|
||||||
for (var i = 0; i < fortuneListCombo.count; i++) {
|
fortuneListCombo.currentIndex = i;
|
||||||
var text = fortuneListCombo.textAt(i);
|
break;
|
||||||
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() {
|
py.call("fortunecookie.set_fortune_list", [newList], function() {
|
||||||
console.log("Spruchliste gewaehlt: " + newList);
|
console.log("Spruchliste gewaehlt: " + newList);
|
||||||
reloadFortune();
|
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
|
// ZURÜCK-BUTTON
|
||||||
Item {
|
Item {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import platform
|
|||||||
# APP-METADATEN
|
# APP-METADATEN
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
APP_NAME = "fortunecookie"
|
APP_NAME = "fortunecookie"
|
||||||
APP_VERSION = "1.1.0"
|
APP_VERSION = "1.1.1"
|
||||||
MAINTAINER = "darklithium <dev@darklithium.de>"
|
MAINTAINER = "darklithium <dev@darklithium.de>"
|
||||||
|
|
||||||
|
|
||||||
@@ -40,6 +40,8 @@ AVAILABLE_FORTUNE_LISTS = [
|
|||||||
"fortune", # Standard Glückskeks-Sprueche
|
"fortune", # Standard Glückskeks-Sprueche
|
||||||
"farmer wisdom", # Bauernweisheiten
|
"farmer wisdom", # Bauernweisheiten
|
||||||
"UNfortune", # Gothic/UNfortune-Sprueche
|
"UNfortune", # Gothic/UNfortune-Sprueche
|
||||||
|
"sandman", # Bettgehzeit-Sprueche
|
||||||
|
"famous quotes", # Berühmte Zitate
|
||||||
]
|
]
|
||||||
|
|
||||||
# Aktuelle Spruchliste (Standard: fortune)
|
# Aktuelle Spruchliste (Standard: fortune)
|
||||||
@@ -269,7 +271,9 @@ def get_fortune_lists_with_description():
|
|||||||
descriptions = {
|
descriptions = {
|
||||||
"fortune": "Glückskeks-Sprüche",
|
"fortune": "Glückskeks-Sprüche",
|
||||||
"farmer wisdom": "Bauernweisheiten",
|
"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:
|
for list_name in AVAILABLE_FORTUNE_LISTS:
|
||||||
count = len(_fortunes.get(list_name, []))
|
count = len(_fortunes.get(list_name, []))
|
||||||
|
|||||||
Reference in New Issue
Block a user