Menüs aufgeräumt

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Menüs aufgeräumt

Beitrag von GetAway »

Genau, diese...

Code: Alles auswählen

      personalize->addSeparator(menu, NONEXISTANT_LOCALE, CPersonalizeGui::PERSONALIZE_SHOW_ONLY_IN_PERSONALIZE_MENU);// Stop seperator from appearing when menu entries have been hidden
...könnte man aus der if, then Konstruktion raus nehmen und darüber legen(ist ja fix), wenn für...

Code: Alles auswählen

personalize->addSeparator(menu);
grundsätzlich

Code: Alles auswählen

personalize->addSeparator(menu, NONEXISTANT_LOCALE, PersonalizeGui::PERSONALIZE_SHOW_NO);
genommen wird. Das ist meiner Meinung nach auch besser lesbar.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Menüs aufgeräumt

Beitrag von Gaucho316 »

Dann hast du aber unnötigerweise zwei Separatoren in v_item von CPersonalizeGui, wenn ein Separator zugleich im normalen Menü und im Personalisierungsmenü zu sehen sein soll.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Menüs aufgeräumt

Beitrag von GetAway »

Gaucho316 hat geschrieben:Dann hast du aber unnötigerweise zwei Separatoren in v_item von CPersonalizeGui, wenn ein Separator zugleich im normalen Menü und im Personalisierungsmenü zu sehen sein soll.
Jetzt weiss ich nicht wie Du das meinst. Ich mach nochmal ein Beispiel.
Jetzt ist es so:

Code: Alles auswählen

	//games
	bool show_games = g_PluginList->hasPlugin(CPlugins::P_TYPE_GAME);
	personalize->addItem(&menu, new CMenuForwarder(LOCALE_MAINMENU_GAMES, show_games, NULL, new CPluginList(LOCALE_MAINMENU_GAMES,CPlugins::P_TYPE_GAME), "", CRCInput::RC_blue, NEUTRINO_ICON_BUTTON_BLUE), &g_settings.personalize_games);

	//separator
	if (	g_settings.personalize_tvmode		== CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE && 
		g_settings.personalize_radiomode	== CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE && 
		g_settings.personalize_scartmode	== CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE && 
		g_settings.personalize_games		== CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE)
		personalize->addSeparator(menu, NONEXISTANT_LOCALE, CPersonalizeGui::PERSONALIZE_SHOW_ONLY_IN_PERSONALIZE_MENU);
	else
		personalize->addSeparator(menu); 
Logischer ist diese Variante, die ja möglich ist und auch funktioniert:

Code: Alles auswählen

	//games
	bool show_games = g_PluginList->hasPlugin(CPlugins::P_TYPE_GAME);
	personalize->addItem(&menu, new CMenuForwarder(LOCALE_MAINMENU_GAMES, show_games, NULL, new CPluginList(LOCALE_MAINMENU_GAMES,CPlugins::P_TYPE_GAME), "", CRCInput::RC_blue, NEUTRINO_ICON_BUTTON_BLUE), &g_settings.personalize_games);
		personalize->addSeparator(menu, NONEXISTANT_LOCALE, PersonalizeGui::PERSONALIZE_SHOW_ONLY_IN_PERSONALIZE_MENU);
	//separator
	if (	g_settings.personalize_tvmode		== CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE && 
		g_settings.personalize_radiomode	== CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE && 
		g_settings.personalize_scartmode	== CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE && 
		g_settings.personalize_games		== CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE)
	else
		personalize->addSeparator(menu, NONEXISTANT_LOCALE, CPersonalizeGui::PERSONALIZE_SHOW_NO); 
Der erste Separator ist fix im Personlisierungsmenü, da braucht nichts ein- oder ausgeblendet zu werden. Der 2. wird
durch ein if,then nur im normalen Menü ein-/ausgeblendet.
Schlussfolgernd muss ich mich nur darum kümmern wie sich der 2. verhalten soll.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Menüs aufgeräumt

Beitrag von dbt »

OK, kommt aufs gleiche raus, sieht aber nicht viel anders aus. Kann man natürlich auch machen.

Edit: Schön wärs, wenn man das irgendwie noch klein bekommt:

Code: Alles auswählen

g_settings.personalize_tvmode      == CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE &&
      g_settings.personalize_radiomode   == CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE &&
      g_settings.personalize_scartmode   == CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE &&
      g_settings.personalize_games      == CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE)
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Menüs aufgeräumt

Beitrag von Gaucho316 »

GetAway hat geschrieben:
Gaucho316 hat geschrieben:Dann hast du aber unnötigerweise zwei Separatoren in v_item von CPersonalizeGui, wenn ein Separator zugleich im normalen Menü und im Personalisierungsmenü zu sehen sein soll.
Jetzt weiss ich nicht wie Du das meinst.
Dazu müsstest du dir mal den Code von CPersonalizeGui ansehen. In der Klasse werden alle Elemente im Vector v_item gespeichert. Mit addSeparator() fügst du diesem Vector ein Element hinzu. In deinem ersten Beispiel (CVS-Stand) wird immer nur maximal ein Separator hinzugefügt, der dann entweder nur im Personalisierungsmenü oder aber in den normalen Menüs und im Personalisierungsmenü zu sehen ist. Im zweiten Beispiel fügst du fast immer zwei Separatoren in den Vector ein, außer der then-Fall der if-Abfrage tritt ein. In der Anzeige auf dem Fernseher wirst du natürlich keinen Unterschied zwischen beiden Beispielen bemerken. Es geht nur um den Speicherverbrauch. Mehr wollte ich damit nicht sagen. Ich hoffe, ich habe es jetzt etwas verständlicher erklärt.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Menüs aufgeräumt

Beitrag von GetAway »

Gaucho316 hat geschrieben:
GetAway hat geschrieben:
Gaucho316 hat geschrieben:Dann hast du aber unnötigerweise zwei Separatoren in v_item von CPersonalizeGui, wenn ein Separator zugleich im normalen Menü und im Personalisierungsmenü zu sehen sein soll.
Jetzt weiss ich nicht wie Du das meinst.
Dazu müsstest du dir mal den Code von CPersonalizeGui ansehen. In der Klasse werden alle Elemente im Vector v_item gespeichert. Mit addSeparator() fügst du diesem Vector ein Element hinzu. In deinem ersten Beispiel (CVS-Stand) wird immer nur maximal ein Separator hinzugefügt, der dann entweder nur im Personalisierungsmenü oder aber in den normalen Menüs und im Personalisierungsmenü zu sehen ist. Im zweiten Beispiel fügst du fast immer zwei Separatoren in den Vector ein, außer der then-Fall der if-Abfrage tritt ein. In der Anzeige auf dem Fernseher wirst du natürlich keinen Unterschied zwischen beiden Beispielen bemerken. Es geht nur um den Speicherverbrauch. Mehr wollte ich damit nicht sagen. Ich hoffe, ich habe es jetzt etwas verständlicher erklärt.
Ja, jetzt ist es mir klar was Du meintest. Ist halt nicht soo schön. :wink:

@dbt

Unter Einstellungen/OSD, werden anstatt der Ziffern-Button, nur die alternativen Ziffern angezeigt, wenn sie den Fokus haben.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Menüs aufgeräumt

Beitrag von dbt »

GetAway hat geschrieben:Unter Einstellungen/OSD, werden anstatt der Ziffern-Button, nur die alternativen Ziffern angezeigt, wenn sie den Fokus haben.
Schau ich mir noch an.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Menüs aufgeräumt

Beitrag von Gaucho316 »

Hat sich hier schon etwas ergeben? Ich habe versucht, den Code zu verstehen, bin aber bis jetzt leider gescheitert.

Allerdings ist mir aufgefallen, dass in menue.cpp etwas fehlt.

Code: Alles auswählen

int CMenuOptionNumberChooser::paint(bool selected)
{
	...
	paintItemButton(stringstartposName, height, selected, NEUTRINO_ICON_BUTTON_OKAY);
	...
}
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Menüs aufgeräumt

Beitrag von dbt »

Bin noch nicht dazu gekommen falls du das meinst:
Unter Einstellungen/OSD, werden anstatt der Ziffern-Button, nur die alternativen Ziffern angezeigt, wenn sie den Fokus haben.
Wenn das fehlt, muss es natürlich noch rein.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Menüs aufgeräumt

Beitrag von Gaucho316 »

Ja, meinte ich. Mir ist auch noch aufgefallen, dass an einigen Menüeinträgen überhaupt kein Icon angezeigt wird, wenn es markiert ist (z.B. alle Einträge in Einstellungen -> Erweiterte Einstellungen -> EPG). Ist das Absicht?
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Menüs aufgeräumt

Beitrag von dbt »

Gaucho316 hat geschrieben:... Mir ist auch noch aufgefallen, dass an einigen Menüeinträgen überhaupt kein Icon angezeigt wird, wenn es markiert ist (z.B. alle Einträge in Einstellungen -> Erweiterte Einstellungen -> EPG). Ist das Absicht?
...weil keine Tasten bzw. Icons festgelegt sind. Kann man natürlich auch zuweisen.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Menüs aufgeräumt

Beitrag von Gaucho316 »

Vielleicht wäre es eine gute Idee, bei MenuForwardern ohne zugewiesene Tasten bzw. Icons den "großen" Rechtspfeil anzuzeigen.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Menüs aufgeräumt

Beitrag von Gaucho316 »

Also, gedacht hatte ich mir das so. Markierte MenuForwarder ohne zugewiesene Taste bzw. Icon bekommen das "große" Rechtspfeil-Icon und andere markierte Menüeinträge ohne zugewiesene Taste bzw. Icon das OK-Icon. Alle markierten Menüeinträge mit zugewiesener Taste bzw. Icon bekommen das kleine Rechtspfeil-Icon.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Menüs aufgeräumt

Beitrag von GetAway »

Alle Menüs mit Icons zuzupflastern halte ich für keine besonders gute Idee.
Das wirkt überladen und macht die Menüs auch noch langsam, da jedes Icon
gemalt werden muss. Weniger ist da, meiner Meinung nach, mehr.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Menüs aufgeräumt

Beitrag von Gaucho316 »

Es geht ja nur um den gerade markierten Eintrag. Und außerdem ist es doch jetzt schon fast so, wie ich es beschrieben habe. Es ist nur leider teilweise etwas fehlerhaft.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Menüs aufgeräumt

Beitrag von Gaucho316 »

GetAway hat geschrieben:Unter Einstellungen/OSD, werden anstatt der Ziffern-Button, nur die alternativen Ziffern angezeigt, wenn sie den Fokus haben.
Gaucho316 hat geschrieben:Also, gedacht hatte ich mir das so. Markierte MenuForwarder ohne zugewiesene Taste bzw. Icon bekommen das "große" Rechtspfeil-Icon und andere markierte Menüeinträge ohne zugewiesene Taste bzw. Icon das OK-Icon. Alle markierten Menüeinträge mit zugewiesener Taste bzw. Icon bekommen das kleine Rechtspfeil-Icon.
Der folgende kleine Patch löst das obere Problem und malt die Icons so, wie ich es erklärt hatte. Ich hab's natürlich auch getestet und für funktionstüchtig befunden. Probiert's einfach aus. Es ist nicht viel anders als jetzt schon im CVS.

Link entfernt, da Patch im CVS
Zuletzt geändert von Gaucho316 am Donnerstag 9. Dezember 2010, 20:53, insgesamt 1-mal geändert.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Menüs aufgeräumt

Beitrag von dbt »

Unermüdlich :wink: ...Danke! Langsam müsste das geschliffen sein.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Menüs aufgeräumt

Beitrag von Gaucho316 »

Gaucho316 hat geschrieben:Weiterhin könnte man die Einstellungen für die Benutzermenüs von "Tasten" nach "Personalisierung" verschieben. Was haltet ihr davon?
Ich habe mal 'nen Patch dafür gebaut, kurz getestet und für funktionstüchtig befunden.

Link zum Patch entfernt
Zuletzt geändert von Gaucho316 am Donnerstag 16. Dezember 2010, 21:26, insgesamt 1-mal geändert.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Menüs aufgeräumt

Beitrag von dbt »

Ja, das wurde schon von diversen Stellen angetragen.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Menüs aufgeräumt

Beitrag von Gaucho316 »

Ich habe den Patch noch etwas vereinfacht, da ich mitbekommen habe, dass es für die Farbtasten schon enums gibt.

Link entfernt, da Patch im CVS
Zuletzt geändert von Gaucho316 am Donnerstag 16. Dezember 2010, 21:26, insgesamt 1-mal geändert.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Menüs aufgeräumt

Beitrag von dbt »

danke! erledigt
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Menüs aufgeräumt

Beitrag von Tommy »

moin,
Ein Bekannter der eine Farbsehschwäche hat, hat mich darauf hingewiesen das es wohl in den Menüs bei denen unten Farbtasten Optionen vorhanden sind nicht konsequent die gleiche Reihenfolge wie auf der FB verwendet wird. Bei den meisten Menüs paßt es wohl aber bei einigen halt nicht. Ich habe das persönlich noch nicht nachgeprüft und kann somit nicht sagen welche Menüs betroffen sind.

Es wäre nett wenn bei der Aufräumaktion auch darauf geachtet wird. Es haben viele Menschen eine Farbsehschwäche - die könnte man mit der immer selben Reihenfolge unterstützen.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Menüs aufgeräumt

Beitrag von dbt »

:gruebel: Gerade darauf habe ich eigentlich geachtet, dass die Reihenfolge Rot, Grün, Gelb, Blau eingehalten wurde. Shortcuts und andere jetzt mal nicht mitgerechnet, aber da stehts ja dann eigentlich drauf.
Da wüsste ich schon gerne wo das nicht passt.
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Menüs aufgeräumt

Beitrag von Tommy »

Die Shortcuts sind egal - es geht nur um die untere Leiste. Ich versuch das nochmal zu erorieren. Wird aber dies Jahr glaub ich nix mehr :wink:

Edit: ich glaube im Bouqueteditor?!
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Menüs aufgeräumt

Beitrag von dbt »

Aha, die Buttonleisten, da ist das zwar auch in der Regel richtig, aber die werden teilweise dynamisch generiert, so dass es durchaus vorkommen kann, dass nur die Buttons eingeblendet werden, die gerade aktiv sind. Da kann es natürlich vorkommen, dass das Schema mit der FB nicht zusammenpasst. Das geht aber nicht ganz so ohne weiteres umzustricken.