Skip to content

UmsatzTypInput: Dropdown, Dialog-Auswahl und Pfadanzeige für große Ka… - #155

Open
michaelof wants to merge 1 commit into
willuhn:masterfrom
michaelof:z2-umsatztypinput-dropdown-dialog-pfad
Open

UmsatzTypInput: Dropdown, Dialog-Auswahl und Pfadanzeige für große Ka…#155
michaelof wants to merge 1 commit into
willuhn:masterfrom
michaelof:z2-umsatztypinput-dropdown-dialog-pfad

Conversation

@michaelof

Copy link
Copy Markdown
Contributor

…tegorie-Bäume

Hallo Olaf,

nachdem Du doch tatsächlich meine "Extrameile", n autarke Branches pro PR, mit einem einzigen Merge Feature Branch -> Master obsolet gemacht hast - sequentiell querabhängige PRs hatte ich initial im Februar schon :)

.... gerne wie angeregt von Dir: "2 in 1" Ansatz, damit Nutzer mit nur wenig Kategorien keine Mehrklicks haben

Aber:

Mein Ausgangspunkt war ein Usability-Enhancement für große Umsatzkategorie-Bäume, mit bewusst vorhandenen Dopplungen auf Baum- und Blattebene!

Beispiel Baumkontext:
Saldo privat/Feste Ausgaben/Mobilität/<AutoName>
Saldo privat/Variable Ausgaben/Mobilität/<AutoName> mit jeweils festen/variablen Unterkategorien.

Beispiel Blattebene: Kategorien wie .../Reparaturen können in n Zweigen vorkommen.

Mein Vorschlag hatte hier das "Readonly-Feld" deshalb, da dieses den bei großen Bäumen mit Dopplungen äußerst wichtigen Kategoriepfad anzeigt. Nicht nur den Basename des Knoten oder Blatts, wie Deine originale DropDown.

Deinen Vorschag zu 100% aufgreifend, mit meinem Wunsch vereint, jetzt mein neuer Vorschlag:

  • Wie von Dir gewünscht: Bestehende direkte Auswahl (Dropdown) erhalten
  • Gleichzeitig Deine vorhandene, gut bedienbare Dialog-Auswahl via Button ("...") zur Navigation im Baum wiederverwenden.
  • Meine neue Erweiterung: Die DropDown zeigt jetzt neu pro Listenelement den absoluten Pfad.
  • "Responsive" gekürzt rechtsbündig, der "Basename" der Kategorie soll immer sichtbar bleiben:
grafik grafik

Nach Navigation oder automatischer Zuordnung per Pattern/Regex bleibt durch die Pfadanzeige der Kontext der gewählten Kategorie auf einen Blick sichtbar (mein Haupt-Use-Case).

Umsetzung zentral in UmsatzTypInput und Verwendung in:

  • Umsatzübersicht (Kategoriefilter)
  • Umsatz-Detail (Kategorie)
  • Umsatzkategorie-Detail (Übergeordnete Kategorie)

Keine Änderung an Datenbank, Matching-Logik oder Persistenz.

P.S.: Eigentlich würde ich den absoluten Kategoriepfad auch gerne in der Tabelle "Umsätze" einbauen, Spalte "Kategorie" - ok für Dich? Wenn nicht zu aufwändig, "rechtsbündig", dieses Positionieren ist aber IMHO etwas GUI Hack... Ich war etwas überrascht: Im Februar hattest Du meine PRs als gut strukturiert gelobt - jetzt scheinen sie Dir eher lästige Mehrarbeit "aufgezwzungen" zu haben? Da Hibiscus Dein Baby - bitte Hinweis, ich richte mich danach!

…tegorie-Bäume

Ausgangspunkt ist ein Usability-Enhancement für große Umsatzkategorie-Bäume mit bewusst vorhandenen Dopplungen auf Baum- und Blattebene.

Beispiel Baumkontext:
- Saldo privat/Feste Ausgaben/Mobilität/<AutoName>
- Saldo privat/Variable Ausgaben/Mobilität/<AutoName>
mit jeweils festen/variablen Unterkategorien.

Beispiel Blattebene: Kategorien wie ".../Reparaturen" können in mehreren Zweigen vorkommen.

Ziel ist, die bestehende direkte Auswahl (Dropdown) zu erhalten und gleichzeitig die vorhandene, gut bedienbare Dialog-Auswahl ("...") zur Navigation im Baum wiederzuverwenden.

Nach Navigation oder automatischer Zuordnung per Pattern/Regex bleibt durch die Pfadanzeige der Kontext der gewählten Kategorie auf einen Blick sichtbar (Haupt-Use-Case).

Umsetzung zentral in UmsatzTypInput und Verwendung in:
- Umsatzübersicht (Kategoriefilter)
- Umsatz-Detail (Kategorie)
- Umsatzkategorie-Detail (Übergeordnete Kategorie)

Keine Änderung an Datenbank, Matching-Logik oder Persistenz.
@willuhn

willuhn commented May 20, 2026

Copy link
Copy Markdown
Owner

nachdem Du doch tatsächlich meine "Extrameile", n autarke Branches pro PR, mit einem einzigen Merge Feature Branch -> Master obsolet gemacht hast - sequentiell querabhängige PRs hatte ich initial im Februar schon :)

Sorry für die verursachten Umstände. Das war nicht meine Absicht. Ich wollte genau verstehen, was die Patches machen und habe sie mir in einen lokalen Branch gemerged, um sie testen zu können. Dann fing ich spontan an, Änderungen am Code vorzunehmen und hatte dann irgendwann den Überblick verloren, wie ich das wieder sauber den einzelnen PRs zuordnen konnte. Wichtig war mir, dass ich die Patches vollständig verstehe. In der Vergangenheit habe ich immer mal wieder Patches mit geänderten Funktionen übernommen, wo ich erst im Nachinein festgestellt habe, dass User damit Probleme hatten, weil es deren Workflow änderte. Das wollte ich diesmal vermeiden.

P.S.: Eigentlich würde ich den absoluten Kategoriepfad auch gerne in der Tabelle "Umsätze" einbauen, Spalte "Kategorie" - ok für Dich?

Das gibt es doch schon, wenn du in der Umsatzliste oben rechts auf das Werkzeug-Symbol klickst und dort die Option "[x] Gesamten Pfad der Umsatzkategorie anzeigen" aktivierst. Oder meinst du etwas anderes?

@michaelof

Copy link
Copy Markdown
Contributor Author

Sorry für die verursachten Umstände. Das war nicht meine Absicht.

Siehe Smiley, das war kein Vorwurf. Es ist umgekehrt mein Anspruch, Deine Zeit als HibiscusNetterweiseAlsOpensourceAllenZurVerfügungStellender minimal zu beanspruchen, siehe https://github.com/michaelof/hibiscus-work/blob/main/project/CONTRACT.md#pr-zielbild-5-minuten-review-f%C3%BCr-olaf

Daher DANKE dass Du Dir die Mühe machst, mehr als diese "5 Mins" den Code zu prüfen und ihn nicht ablehnst!

P.S.: Eigentlich würde ich den absoluten Kategoriepfad auch gerne in der Tabelle "Umsätze" einbauen, Spalte "Kategorie" - ok für Dich?

Das gibt es doch schon, wenn du in der Umsatzliste oben rechts auf das Werkzeug-Symbol klickst und dort die Option "[x] Gesamten Pfad der Umsatzkategorie anzeigen" aktivierst. Oder meinst du etwas anderes?

Erwischt, RTFM.... auch nach >10 Jahren gibt es Hibiscusfunktionen, die ich nie bewusst gesehen habe.
Von diesen Settings an sich wusste ich aus Foren-Posts tatsächlich nur von "Umsätze beim Beenden als gelesen markieren". Und hätte diese Option unter Hibiscus -> Einstellungen vermutet, dass da rechts oben kontextsensitiv bei Umsätze ein Schraubenschlüssel sichtbar wird - noch nie gesehen :)

Habs direkt mal ausprobiert, da es nach exakt dem Gewünschten klingt. Funktional ist es das auch, danke für den Tipp!

Optisch finde ich es mit den Tab-Zeichen nicht schön, zumal es in der Mitte kürzt, immer, egal wie breit die Kategoriespalte ist, siehe Screenshots mit beiden Varianten direkt zum Vergleich :
grafik
grafik

Darf ich mich irgendwann wenn ich Zeit habe dransetzen, die "[x] Gesamten Pfad der Umsatzkategorie anzeigen" Pfade optisch mit den Änderungen meiner jetzigen PRs zu harmonisieren, damit es einheitlich aussieht?

Meine geänderten Pfad-Dropdowns haben übrigens - weil sie ja gekürzt werden können, einen MouseOver, der den ungekürzten Pfad anzeigt. Bekomme ich aber unter Linux via "Spectacle" nicht in einen Screenshot :)

@willuhn

willuhn commented May 21, 2026

Copy link
Copy Markdown
Owner

Siehe Smiley, das war kein Vorwurf. Es ist umgekehrt mein Anspruch, Deine Zeit als HibiscusNetterweiseAlsOpensourceAllenZurVerfügungStellender minimal zu beanspruchen, siehe

Deine Einstellung ehrt mich sehr! 🙂

Ich habe das Patch gerade bei mir lokal ausprobiert. Eine Sache verstehe ich aber nicht. Warum kürzt du in der Selectbox den Text auf die Breite der Selectbox? Ist das vielleicht Betriebssystem-abhängig oder nur auf deinem System sonst nicht lesbar? Hier mal 2 Screenshots. Einmal das bisherige ungekürzte Verhalten und einmal das gekürzte:

Screenshot 2026-05-21 105837 Screenshot 2026-05-21 105928

Ich finde die ursprüngliche ungekürzte Version ehrlicherweise deutlich lesbarer. Insbesondere auch, weil da die Pfad-Trennzeichen gleichmäßig untereinander stehen.

@willuhn

willuhn commented May 27, 2026

Copy link
Copy Markdown
Owner

Hattest du schon Gelegenheit, dir die beiden Screenshots mal anzuschauen?

@michaelof

Copy link
Copy Markdown
Contributor Author

Ja, klar. Die hatte ich mir sofort angeschaut.

Ich hatte bisher nur schlicht keine Zeit, mich darum zu kümmern. Mir geht es dabei auch nicht um einen GTK-spezifischen Fix, sondern um eine möglichst OS-agnostische Lösung. Die muss ich erst finden, implementieren und anschließend auch unter Windows testen.

Aktuell vermute ich, dass wir hier weniger ein GTK-Problem haben, sondern eher unterschiedliche SWT-/Native-Implementierungen der Combo auf den jeweiligen Plattformen. Unter Linux/GTK lief der Text sichtbar unter den Drop-Down-Pfeil, daher der aktuelle Fix. Deine Screenshots deuten aber darauf hin, dass sich die Combo unter Windows hinsichtlich Breitenberechnung bzw. Layout deutlich anders verhält als unter GTK.

Bevor ich da jetzt einen schnellen Linux-Fix merge, würde ich gerne verstehen, welche Breiten SWT auf den verschiedenen Plattformen tatsächlich liefert und an welcher Stelle die unterschiedliche Darstellung entsteht. Sonst beheben wir das Problem auf Linux und handeln uns gleichzeitig ein neues auf Windows ein.

Da ich selbst kein Windows-System nutze, muss ich für reproduzierbare Tests erst das private Windows-Laptop meiner Frau ausleihen.

Wieviel Zeit habe ich? :)

@willuhn

willuhn commented May 29, 2026

Copy link
Copy Markdown
Owner

Wieviel Zeit habe ich? :)

Alles gut! Kein Stress - die existierende Implementierung funktioniert ja. Also besteht ja kein Druck, einen Defekt zu beheben. Ich werd mir das auch mal unter Linux anschauen.

@willuhn

willuhn commented Jun 2, 2026

Copy link
Copy Markdown
Owner
image image

Ich hab jetzt mal noch einen Test unter Linux in Plasma 6 mit dem Breeze GTK Theme gemacht. Da wird die Combo-Box zwar über die komplette Bildschirmhöhe gezeichnet, wenn entsprechend viele Kategorien existieren. Übersichtlicher finde ich aber auch hier die Variante ohne die Kürzungen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants