Menüs aufgeräumt
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Menüs aufgeräumt
Bei meinen letzten Code-Studien ist mir aufgefallen, dass die Membervariable "AlwaysAsk" der Klasse CLockedMenuForwarder überflüssig geworden ist. Diese wird sowieso an allen Stellen, an denen ein LockedMenuForwarder erzeugt wird, auf true gesetzt. Ich habe deshalb den Code der Klasse CLockedMenuForwarder vereinfacht. Im Prinzip habe ich mir die Änderungen vom 02.02.2003 angesehen und sie wieder rückgängig gemacht. Der Patch ist leider wieder ungetestet.
Patch entfernt
Patch entfernt
Zuletzt geändert von Gaucho316 am Dienstag 23. November 2010, 19:19, insgesamt 1-mal geändert.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: Menüs aufgeräumt
Ob das code-technisch einfacher ist, kann ich nicht beurteilen. Im Sinne des Erfinders (esd-Unterstützung) istGaucho316 hat geschrieben:sondern nur ausgegraut, wenn keine Spiele bzw. Skripte vorhanden sind bzw. das ESD-Binary nicht vorhanden ist.
das allerdings nicht. Wenn das esd-binary nicht da ist, soll in Neutrino nichts von esd-Unterstützung zu sehen
sein, unabhängig von Personalisierungseinstellungen.
-
- Einsteiger
- Beiträge: 247
- Registriert: Sonntag 24. August 2008, 03:44
Re: Menüs aufgeräumt
ich habe jetzt alle Menü mit einen Pin-Code darauf getestet, es funktioniert jetzt (Image am 09.11.2010 18:50 Uhr ausgescheckt und gebaut)
denke, das es auch ausreicht und es "als erfüllt und abgehakt" bezeichnet werden kann
mit meinen Hinweiss, wie ich Spiele behandele, wenn keine da sind in der neutrino_menu.cpp, kann ich es so behandeln, wie mit nicht vorhandenen Scripten:
Code: Alles auswählen
//games mit Pruefung ob Spiele-Plugins vorhanden
if (g_PluginList->hasPlugin(CPlugins::P_TYPE_GAME))
personalize->addItem(&menu, new CMenuForwarder(LOCALE_MAINMENU_GAMES, true, NULL, new CPluginList(LOCALE_MAINMENU_GAMES,CPlugins::P_TYPE_GAME), "", CRCInput::RC_blue, NEUTRINO_ICON_BUTTON_BLUE), &g_settings.personalize_games);
Tom
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Menüs aufgeräumt
Schade, ich habe das wirklich für 'ne gute Idee gehalten, aber wenn das nicht gewünscht ist, muss es natürlich nicht sein. Konsequenterweise müsste dann aber im Medienwiedergabeeinstellungsmenü der Esound-Eintrag auch rausfliegen, wenn das ESD-Binary nicht vorhanden ist.rhabarber1848 hat geschrieben:Wenn das esd-binary nicht da ist, soll in Neutrino nichts von esd-Unterstützung zu sehen sein, unabhängig von Personalisierungseinstellungen.Gaucho316 hat geschrieben:sondern nur ausgegraut, wenn keine Spiele bzw. Skripte vorhanden sind bzw. das ESD-Binary nicht vorhanden ist.
Edit: @dbt
Bist du dir sicher? Ich hab's jetzt nicht getestet, aber laut Code müsste "Esound" jetzt ausgegraut im Hauptmenü angezeigt werden, wenn das ESD-Binary nicht vorhanden ist und man den Esound-Eintrag in der Personalisierung auf "sichtbar" gestellt hat. Oder liege ich falsch?dbt hat geschrieben:Nebenbei habe ich auch noch die Behandlung des Esoundeintrags etwas optimiert. Der wird im Hauptmenü wie gehabt nicht angezeigt, ...
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: Menüs aufgeräumt
So hat es zu dem Zeitpunkt funktioniert, als ich die esd-Patches committed habe.Gaucho316 hat geschrieben: Konsequenterweise müsste dann aber im Medienwiedergabeeinstellungsmenü der Esound-Eintrag auch rausfliegen, wenn das ESD-Binary nicht vorhanden ist.
Ob das heute noch der Fall ist, kann ich nicht sagen, da ich Images immer mit
esd-Support erstelle.
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: Menüs aufgeräumt
Hast schon recht, aber ich ging von einem jungfäulichem Image aus, dann ist das weg. Nur im Personalisierungsmenü sollte es nur informativ, also ausgegraut sein und kann auch nicht geändert werden und wenn es nicht mit gebaut wurde, also das #ifdef false ist, dann ist es in jedem Fall, also auch im Personalisierungsmenü so wie es rhabarber gesagt hat komplett weg.Bist du dir sicher? Ich hab's jetzt nicht getestet, aber laut Code müsste "Esound" jetzt ausgegraut im Hauptmenü angezeigt werden, wenn das ESD-Binary nicht vorhanden ist und man den Esound-Eintrag in der Personalisierung auf "sichtbar" gestellt hat. Oder liege ich falsch?
In dem Beispiel von hier mit den Games ist es aber so gelöst, dass es wirklich nicht mehr zum Vorschein kommt, weil dort die Einstellung zurückgesetzt wird.Wenn das esd-binary nicht da ist, soll in Neutrino nichts von esd-Unterstützung zu sehen
sein, unabhängig von Personalisierungseinstellungen.
Code: Alles auswählen
g_settings.personalize_games = CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE;
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: Menüs aufgeräumt
Mein Gedanke beim esd-Patch war die Nachrüstbarkeit von /var/bin/esd.
Ein Image mit vollem esd-Support, ohne esd-binary, soll genauso aussehen
wie ein Image ohne esd-Support. Wenn die esd-binary dann nachgerüstet
wird, sollen die esd-Menüpunkte automatisch erscheinen.
Ein Image mit vollem esd-Support, ohne esd-binary, soll genauso aussehen
wie ein Image ohne esd-Support. Wenn die esd-binary dann nachgerüstet
wird, sollen die esd-Menüpunkte automatisch erscheinen.
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Menüs aufgeräumt
Ahh ok, mir war entgangen, dass personalize_esound standardmäßig auf PERSONALIZE_MODE_NOTVISIBLE steht. Ich dachte, dass hätte ich selbst so konfiguriert. Dann bedeutet das aber, dass es jetzt schon so ist, dass Esound nicht automatisch auftaucht.dbt hat geschrieben:Hast schon recht, aber ich ging von einem jungfäulichem Image aus, dann ist das weg.
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: Menüs aufgeräumt
Ja eigentlich ist alles wie vorher, man muss es auf sichtbar stellen, wenn man es nutzen will, auch wenn es drin ist. Daran hat sich so nicht wirklich etwas geändert. Anderer Weg, gleiches Ziel...Gaucho316 hat geschrieben:[... Dann bedeutet das aber, dass es jetzt schon so ist, dass Esound nicht automatisch auftaucht.
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Menüs aufgeräumt
Vom automatischen Ändern von Personalisierungseinstellungen während der Hauptmenüerstellung halte ich nichts. Das Ausgrauen und händische Unsichtbarmachen nicht benötigter Einträge fände ich besser. Vielleicht können wir ja rhabarber1848 doch noch überzeugen. Der aktuelle Stand ist ja auch nicht mehr so, wie er es erwartet.dbt hat geschrieben:In dem Beispiel von hier mit den Games ist es aber so gelöst, dass es wirklich nicht mehr zum Vorschein kommt, weil dort die Einstellung zurückgesetzt wird.Code: Alles auswählen
g_settings.personalize_games = CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE;
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: Menüs aufgeräumt
Ich schaue es mir noch mal an und melde mich.Gaucho316 hat geschrieben:Vielleicht können wir ja rhabarber1848 doch noch überzeugen. Der aktuelle Stand ist ja auch nicht mehr so, wie er es erwartet.
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Menüs aufgeräumt
Man könnte auch folgendes machen: In Zeile 441 von personalize.cpp müsste noch "v_item[ i ].menuItem->active" reingebastelt werden, so dass ein deaktivierter Menüpunkt tatsächlich nicht nur ausgegraut sondern gar nicht gezeichnet wird. Dann kann man auch das Ausgrauen in der Personalisierung drin lassen. Dann sollte noch "personalize_esound" standardmäßig auf PERSONALIZE_MODE_VISIBLE stehen. Nun müsste es so sein, wie von rhabarber1848 gedacht und gewünscht. So kann man das dann auch für Spiele und Skripte machen. Ich hoffe, dass ich es verständlich genug beschrieben habe. Probiert habe ich das allerdings nicht, sondern mir nur überlegt.
Edit: Ein (ungetesteter) Code sagt mehr als tausend Worte:
Link entfernt, da Patch im CVS
Edit: Ich habe den Patch eben aktualisiert und das hier mit eingebaut.
Edit: Ich habe die 2 Patches, also den aus diesem Posting und den aus dem Posting weiter oben, endlich testen können. Sie funktionieren und können, wenn nichts dagegen spricht, ins CVS eingecheckt werden.
Edit: Ein (ungetesteter) Code sagt mehr als tausend Worte:
Link entfernt, da Patch im CVS
Edit: Ich habe den Patch eben aktualisiert und das hier mit eingebaut.
Konsequenterweise müsste dann aber im Medienwiedergabeeinstellungsmenü der Esound-Eintrag auch rausfliegen, wenn das ESD-Binary nicht vorhanden ist.
Edit: Ich habe die 2 Patches, also den aus diesem Posting und den aus dem Posting weiter oben, endlich testen können. Sie funktionieren und können, wenn nichts dagegen spricht, ins CVS eingecheckt werden.
Zuletzt geändert von Gaucho316 am Donnerstag 18. November 2010, 22:05, insgesamt 2-mal geändert.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: Menüs aufgeräumt
@dbt
Ich muss hier eine Fehlfunktion von personalize->addSeparator(menu); feststellen.
Werden Menüpunkte auf nicht sichtbar gestellt, so dass dadurch in den Menü's auch die Sepatorline
verschwindet, so verschwinden diese ebenfalls im Personalisierungsmenü. Da sollten sie doch erhalten bleiben,
da sich das Personalisierungsmenü ja nie ändert.
Ich muss hier eine Fehlfunktion von personalize->addSeparator(menu); feststellen.
Werden Menüpunkte auf nicht sichtbar gestellt, so dass dadurch in den Menü's auch die Sepatorline
verschwindet, so verschwinden diese ebenfalls im Personalisierungsmenü. Da sollten sie doch erhalten bleiben,
da sich das Personalisierungsmenü ja nie ändert.
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: Menüs aufgeräumt
Danke für die Info, sollte jetzt gehen.GetAway hat geschrieben:...
Werden Menüpunkte auf nicht sichtbar gestellt, so dass dadurch in den Menü's auch die Sepatorline
verschwindet, so verschwinden diese ebenfalls im Personalisierungsmenü. Da sollten sie doch erhalten bleiben,
da sich das Personalisierungsmenü ja nie ändert.
Ich habe das jetzt so wie in deinem Patch reingenommen.Gaucho316 hat geschrieben:Man könnte auch folgendes machen: In Zeile 441 von personalize.cpp müsste noch "v_item[ i ].menuItem->active" reingebastelt werden, so dass ein deaktivierter Menüpunkt tatsächlich nicht nur ausgegraut sondern gar nicht gezeichnet wird. Dann kann man auch das Ausgrauen in der Personalisierung drin lassen. Dann sollte noch "personalize_esound" standardmäßig auf PERSONALIZE_MODE_VISIBLE stehen. Nun müsste es so sein, wie von rhabarber1848 gedacht und gewünscht. So kann man das dann auch für Spiele und Skripte machen. Ich hoffe, dass ich es verständlich genug beschrieben habe. Probiert habe ich das allerdings nicht, sondern mir nur überlegt.
Edit: Ein (ungetesteter) Code sagt mehr als tausend Worte:
Link entfernt, da Patch im CVS
Edit: Ich habe den Patch eben aktualisiert und das hier mit eingebaut.
Zitat:
Konsequenterweise müsste dann aber im Medienwiedergabeeinstellungsmenü der Esound-Eintrag auch rausfliegen, wenn das ESD-Binary nicht vorhanden ist.
Also manchmal sieht man den Wald vor leuter Bäumen nicht. Ich lasse das drin und habe das auch gleich für die Übergabe des Personalisierungsmenüs im Einstellungsmenü hergenommen. Hat wieder 7 Zeilen an Code gespart.Gaucho316 hat geschrieben:Bei meinen letzten Code-Studien ist mir aufgefallen, dass die Membervariable "AlwaysAsk" der Klasse CLockedMenuForwarder überflüssig geworden ist. Diese wird sowieso an allen Stellen, an denen ein LockedMenuForwarder erzeugt wird, auf true gesetzt. Ich habe deshalb den Code der Klasse CLockedMenuForwarder vereinfacht. Im Prinzip habe ich mir die Änderungen vom 02.02.2003 angesehen und sie wieder rückgängig gemacht. Der Patch ist leider wieder ungetestet.
Link entfernt, da Patch im CVS
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Menüs aufgeräumt
Ist es jetzt nicht aber so, dass, wenn man "PIN verwenden" ausgeschaltet und den Jugendschutz eingeschaltet hat, trotzdem nach der Personalisierungs-PIN gefragt wird, wenn man ins Personalisierungsmenü will? So ist das doch falsch.dbt hat geschrieben:Also manchmal sieht man den Wald vor leuter Bäumen nicht. Ich lasse das drin und habe das auch gleich für die Übergabe des Personalisierungsmenüs im Einstellungsmenü hergenommen.
Edit: Wie wäre es hiermit?
Link entfernt, da Patch im CVS
Edit: Ich hab den Patch eben noch geändert und auch die Stelle vereinfacht, an der CLockedMenuForwarder im Moviebrowser genutzt wird.
Zuletzt geändert von Gaucho316 am Dienstag 23. November 2010, 19:20, insgesamt 1-mal geändert.
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: Menüs aufgeräumt
Müsste gehen, aber wäre es nicht naheliegend die Pinabfrage direkt in die CParentalSetup()-Klasse, evtl. mit Parameter zu bauen, dann reicht der einfache Aufruf dieser Klasse im normalen Forwarder ohne was drumrum zu basteln. Genauso dann auch in CPersonalizeGui.
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Menüs aufgeräumt
Da kann man ja bei Gelegenheit nochmal genauer drüber nachdenken. Ansonsten könnte mein Patch doch erst einmal ins CVS, damit es wieder richtig funktioniert.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: Menüs aufgeräumt
Hi, also das ist schon besser, aber im Umkehrschluss sollte dann personalize->addSeparator(menu)dbt hat geschrieben:Danke für die Info, sollte jetzt gehen.GetAway hat geschrieben:...
Werden Menüpunkte auf nicht sichtbar gestellt, so dass dadurch in den Menü's auch die Sepatorline
verschwindet, so verschwinden diese ebenfalls im Personalisierungsmenü. Da sollten sie doch erhalten bleiben,
da sich das Personalisierungsmenü ja nie ändert.
auch nur im Menü (CPersonalizeGui::PERSONALIZE_SHOW_ONLY_IN_NORMAL_MENU)gemalt werden,
sonst fängt man ja wieder mit if;then für beides an, damit nicht beide im Personalisierungsmenü auftauchen.
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: Menüs aufgeräumt
erledigtGaucho316 hat geschrieben: Edit: Wie wäre es hiermit?
Link entfernt, da Patch im CVS
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Menüs aufgeräumt
Eine kleine Sache habe ich noch entdeckt. Wäre es nicht besser, wenn in Zeile 241 von neutrino_menu.cpp CPersonalizeGui::PERSONALIZE_SHOW_NO statt false stehen würde?
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: Menüs aufgeräumt
Kein Problem ;-)
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: Menüs aufgeräumt
Hi,GetAway hat geschrieben:Hi, also das ist schon besser, aber im Umkehrschluss sollte dann personalize->addSeparator(menu)dbt hat geschrieben:Danke für die Info, sollte jetzt gehen.GetAway hat geschrieben:...
Werden Menüpunkte auf nicht sichtbar gestellt, so dass dadurch in den Menü's auch die Sepatorline
verschwindet, so verschwinden diese ebenfalls im Personalisierungsmenü. Da sollten sie doch erhalten bleiben,
da sich das Personalisierungsmenü ja nie ändert.
auch nur im Menü (CPersonalizeGui::PERSONALIZE_SHOW_ONLY_IN_NORMAL_MENU)gemalt werden,
sonst fängt man ja wieder mit if;then für beides an, damit nicht beide im Personalisierungsmenü auftauchen.
da ich bis jetzt keine Anwort auf meine Bemerkung bekommen habe, möchte ich das Thema noch einmal ansprechen.
Wie gesagt, wäre es sinnvoll, das so zu machen, dass
personalize->addSeparator(menu) nur im Normalen Menü aber mit if,then aus-/einblendbar ist?
personalize->addSeparator(menu) wir immer noch in beiden Menü's gemalt.
personalize->addSeparator(menu, NONEXISTANT_LOCALE, CPersonalizeGui::PERSONALIZE_SHOW_ONLY_IN_PERSONALIZE_MENU);
wird ja auch nur noch dort gemalt.
Achja, da ist jetzt ein Menüseparator über TV im Hauptmenü.
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: Menüs aufgeräumt
Ich hab damals nicht verstanden, was du wolltest und deshalb nicht darauf reagiert. Und ehrlich gesagt, weiß ich's immer noch nicht. Wenn du 'nen Separator nur im Hauptmenü haben willst, kannst du das doch mit
personalize->addSeparator(menu, NONEXISTANT_LOCALE, PersonalizeGui::PERSONALIZE_SHOW_NO);
erreichen.
personalize->addSeparator(menu, NONEXISTANT_LOCALE, PersonalizeGui::PERSONALIZE_SHOW_NO);
erreichen.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: Menüs aufgeräumt
@Gaucho316
Danke für die Info, ich habe nicht explizit danach gesucht, habe aber jetzt einen einzelnen Eintrag in neutrino_menu.cpp
gefunden. Das heißt es ist eingebaut, wird aber nicht grundsätzlich angewendet. Statt dessen finde ich immer wieder
Code, der den Separator des Personal-Menü's, durch "if, then" im normalen Menü ausblendet und umgekehrt.
Danke für die Info, ich habe nicht explizit danach gesucht, habe aber jetzt einen einzelnen Eintrag in neutrino_menu.cpp
gefunden. Das heißt es ist eingebaut, wird aber nicht grundsätzlich angewendet. Statt dessen finde ich immer wieder
Code, der den Separator des Personal-Menü's, durch "if, then" im normalen Menü ausblendet und umgekehrt.
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: Menüs aufgeräumt
Meinst du das :GetAway hat geschrieben:... durch "if, then" im normalen Menü ausblendet und umgekehrt.
Code: Alles auswählen
//separator
if ( g_settings.personalize_sleeptimer == CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE &&
g_settings.personalize_reboot == CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE &&
g_settings.personalize_shutdown == CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE)
personalize->addSeparator(menu, NONEXISTANT_LOCALE, CPersonalizeGui::PERSONALIZE_SHOW_ONLY_IN_PERSONALIZE_MENU);// Stop seperator from appearing when menu entries have been hidden
else
personalize->addSeparator(menu);