[Patch] Personalisierung ohne Neustart

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

[Patch] Personalisierung ohne Neustart

Beitrag von dbt »

Hier mal der Versuch die Einstellungen der Personalisierung ohne Neustart zu übernehmen.

neutriono_personalize_apply_settings_without_restart_2011_10_04_2330.patch
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] Personalisierung ohne Neustart

Beitrag von GetAway »

Hi Thilo,

scheint halbwegs zu funktionieren. Bei Aufruf aller Haupt-, Einstellungs- und Service Menü Einträge erfolgt eine PIN-Abfrage!
Die zusätzliche Abfrage, ob die Einstellungen übernommen werden sollen, halte ich jetzt für überflüssig, da ja kein
langatmiger Reboot mehr durchgeführt werden muss. Mal eben wieder rein in die Einstellungen und nochmals umändern
ist ja kein Aufwand.
Sollte das Speichern nicht besser nur beim Rebooten bzw shutdown durchgeführt werden? Schont die Flashbausteine.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: [Patch] Personalisierung ohne Neustart

Beitrag von dbt »

GetAway hat geschrieben:...Bei Aufruf aller Haupt-, Einstellungs- und Service Menü Einträge erfolgt eine PIN-Abfrage!
Ja das sollte nicht so sein, hab ich grad geändert.
Was noch nicht geht ist die Übernahme der PIN-Abfrage für die Personalisierung selbst. Da müsste man noch was drehen.
GetAway hat geschrieben:Die zusätzliche Abfrage, ob die Einstellungen übernommen werden sollen, halte ich jetzt für überflüssig, da ja kein
langatmiger Reboot mehr durchgeführt werden muss. Mal eben wieder rein in die Einstellungen und nochmals umändern
ist ja kein Aufwand.
Sollte das Speichern nicht besser nur beim Rebooten bzw shutdown durchgeführt werden? Schont die Flashbausteine.
Kann man ja auskommentieren, aber grundsätzlich sollte das eine GUI machen. Da hab' ich aber eine Idee :wink: .

Mal nebenbei, die Methode eines Widget-Resets und der anschließende Neuaufbau der Elemente wäre möglicherweise ein Ansatz, um auf den einen oder anderen Notifier zu verzichten, wenn nicht sogar fast überflüssig machen. Geschwindigkeitsprobleme beim Menüaufbau dürfte es da eigentlich auch nicht geben, eher weniger, weil ja im Gegensatz zu Notifiers eigentlich nichts gemalt wird. Man müsste das nur irgendwie in einer Art Container packen, wo das abgewickelt wird. :gruebel:

Edit: Hab das ganze jetzt mal reingenommen. Soweit hat das funktioniert.
Sollte das Speichern nicht besser nur beim Rebooten bzw shutdown durchgeführt werden? Schont die Flashbausteine.
Speichern wird momentan nur beim runterfahren gemacht, das hab ich rauskommentiert.
Die Abrage an sich habe ich noch drin gelassen, weil es ja noch die Rücknahme erlaubt. So oft macht man das auch nicht und wie gesagt eine GUI sollte sowas anbieten.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: [Patch] Personalisierung ohne Neustart

Beitrag von Gaucho316 »

Danke dafür. Ich werde es auch mal die Tage ausprobieren.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] Personalisierung ohne Neustart

Beitrag von GetAway »

dbt hat geschrieben: Speichern wird momentan nur beim runterfahren gemacht, das hab ich rauskommentiert.
Die Abrage an sich habe ich noch drin gelassen, weil es ja noch die Rücknahme erlaubt. So oft macht man das auch nicht und wie gesagt eine GUI sollte sowas anbieten.
Zum Speichern gibt es doch den Menüpunkt "Einstellungen jetzt speichern".
Wieso sollte die Personalisierung eine Extrawurst bekommen? :wink:

So wie es jetzt ist, mit "Änderungen übernehmen", ist es doch OK. Übrigens blitzt das Popup für's Speichern noch kurz auf.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] Personalisierung ohne Neustart

Beitrag von GetAway »

Was wohl noch nicht ohne Neustart geht ist, das die MenuSeparatoren sich nicht rühren.

Ebenfalls ist mir beim Testen aufgefallen, das im Hauptmenü von "nicht sichtbar" auf "sichtbar"
gestellte Menüpunkte zur Folge haben, das die Hauptmenühöhe bleibt und sich die Menüpunkte
dann auf 2 Seiten verteilen. Ebenfalls werden in dieser Situation die Shortcuts falsch durchnummeriert.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: [Patch] Personalisierung ohne Neustart

Beitrag von Gaucho316 »

@dbt

Kann es sein, dass da noch irgendetwas durcheinander ist im Code? Die Einstellung g_settings.personalize_pinstatus kann man nirgends mehr setzen. Wird die überhaupt noch benutzt? Dafür gibt es jetzt die Einstellung g_settings.personalize. Wofür ist die denn gut?
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: [Patch] Personalisierung ohne Neustart

Beitrag von dbt »

Gaucho316 hat geschrieben:. Wird die überhaupt noch benutzt?... Wofür ist die denn gut?
Nein, die kann weg. Die neue ersetzt die besagte Pinstatus Option. Die Einstellung zur Personalisation erfolgt genau wie bei Einstellungen und Service mit Pin On/OFF und taucht nicht mehr im Einstigesmenü auf, sondern als normaler Eintrag. Lediglich die PIN kann man im Einstiegsmenü festlegen. Im Moment ist das aber noch nicht ganz rund. Ich versuche das noch etwas zu vereinfachen. zB, haut es mit den Shortcuts noch nicht ganz hin. Aber das ist nur ein Problem was mir noch aufgefallen ist. Aber das sollte die Tage noch gerade gebogen werden :wink:
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: [Patch] Personalisierung ohne Neustart

Beitrag von Gaucho316 »

Was mir nicht gefällt, ist, dass ich jedes mal beim Verlassen des Menüs gefragt werde, ob ich die Änderungen speichern möchte, selbst, wenn ich nichts geändert habe. Kann es sein, dass die Werte old_val nicht initialisiert werden?
dbt hat geschrieben:Nein, die kann weg. Die neue ersetzt die besagte Pinstatus Option.
Warum hast du g_settings.personalize_pinstatus nicht einfach weiterverwendet?
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: [Patch] Personalisierung ohne Neustart

Beitrag von dbt »

Gaucho316 hat geschrieben:Was mir nicht gefällt, ist, dass ich jedes mal beim Verlassen des Menüs gefragt werde, ob ich die Änderungen speichern möchte, selbst, wenn ich nichts geändert habe. Kann es sein, dass die Werte old_val nicht initialisiert werden?
Ist mir bekannt, da fehlt eine Auswertung in addItem(). Hab ich lokal bereits gefixt. Auch einige andere Details habe ich noch optimiert, gefällt mir aber immer noch nicht so ganz. Die Ostertage war allerdings kaum Zeit dafür, kommt aber noch was nach.
Warum hast du g_settings.personalize_pinstatus nicht einfach weiterverwendet?
In Nachhinein gesehen, hätte man das lassen können, aber ich wollte das global halten und den Namen deswegen ändern. Am liebsten würde ich die Settings in ein Struct packen...
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: [Patch] Personalisierung ohne Neustart

Beitrag von Gaucho316 »

Ich habe mal über die neu eingecheckten Änderungen drüber geguckt. In Zeile 104 von personalize.h ist das Komma am Ende zu viel.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: [Patch] Personalisierung ohne Neustart

Beitrag von Gaucho316 »

Und noch etwas. In Zeile 484 von personalize.cpp geschieht eine Umwandlung in einen LockedMenuForwarder. In Zeile 565 wird das dann nochmals gemacht. Ist der Code in Zeile 484 nicht überflüssig?
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] Personalisierung ohne Neustart

Beitrag von GetAway »

Von mir gibt es auch nochmal eine Rückmeldung.
Das Personalisieren der Menüseparatoren funktioniert jetzt. Ich habe dazu noch einen Vorschlag.
Könntest du den letzten Menüseparator auch ausblenden, wenn danach kein Menüeintrag mehr folgt?

Beim Sichtbar stellen von Menüpunkten ist es leider immer noch so, das sich die Einträge vor einem Neustart
auf 2 Seiten verteilen.

Ansonsten TOP.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: [Patch] Personalisierung ohne Neustart

Beitrag von dbt »

GetAway hat geschrieben:Von mir gibt es auch nochmal eine Rückmeldung.
Das Personalisieren der Menüseparatoren funktioniert jetzt. Ich habe dazu noch einen Vorschlag.
Könntest du den letzten Menüseparator auch ausblenden, wenn danach kein Menüeintrag mehr folgt?
Die sind aber auch lästig wie...
GetAway hat geschrieben:Beim Sichtbar stellen von Menüpunkten ist es leider immer noch so, das sich die Einträge vor einem Neustart
auf 2 Seiten verteilen.
Hast du dafür mal ein genaues Szenario? Also wenn ich einen Eintrag sichtbar stelle, das Menü verlasse und die Anfrage zur Übernahme bestätige, habe ich den eben geänderten Eintrag da wo er sein sollte und nicht in den anderen beiden Menüs. Ich kann nicht genau sehen wie du das meinst :gruebel:
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: [Patch] Personalisierung ohne Neustart

Beitrag von dbt »

Gaucho316 hat geschrieben:Und noch etwas. In Zeile 484 von personalize.cpp geschieht eine Umwandlung in einen LockedMenuForwarder. In Zeile 565 wird das dann nochmals gemacht. Ist der Code in Zeile 484 nicht überflüssig?
.
Ich glaube du hast recht. Das erste kann glaube ich raus. Das war noch ein Rest vom 'mit Neustart'. Was ja jetzt alles erst zum Schluß erledigt wird und nicht beim Füttern.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] Personalisierung ohne Neustart

Beitrag von GetAway »

dbt hat geschrieben:
GetAway hat geschrieben:Beim Sichtbar stellen von Menüpunkten ist es leider immer noch so, das sich die Einträge vor einem Neustart
auf 2 Seiten verteilen.
Hast du dafür mal ein genaues Szenario? Also wenn ich einen Eintrag sichtbar stelle, das Menü verlasse und die Anfrage zur Übernahme bestätige, habe ich den eben geänderten Eintrag da wo er sein sollte und nicht in den anderen beiden Menüs. Ich kann nicht genau sehen wie du das meinst :gruebel:
z.B. in Service, 3 entfernt, alles übernommen, danach wieder hinzugefügt. Sieht dann so bei mir aus...
Bild
Bild
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: [Patch] Personalisierung ohne Neustart

Beitrag von dbt »

Kann es sein, dass du nicht alle Änderungen mitgenommen hast?
Das frag' ich mich weil die Scrollbars bei dir drin sind, das hatte ich noch nie :gruebel:

service1.png
service2.png
PS: für Bildanhänge nehmt einfach die Anhangfunktion, die Bilderanzeige über tuxbox.ulc ist irgendwie buggy
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: [Patch] Personalisierung ohne Neustart

Beitrag von Gaucho316 »

Ich kann GetAways Fehler auch nicht nachvollziehen. Bei mir funktioniert es ohne Probleme. Nur die Sache mit dem Separator kann ich bestätigen.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] Personalisierung ohne Neustart

Beitrag von GetAway »

Die Änderungen habe ich alle drin.
Mir ist nur gerade aufgefallen, dass ich noch ein zusätzliches Menü, Marke Eigenbau, mit drin hatte.
Ohne dem, geht es. Da muss ich mir den Code doch noch genauer ansehen, damit die Personalisierung
damit auch klar kommt. Sorry for the noise. :wink:
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: [Patch] Personalisierung ohne Neustart

Beitrag von dbt »

Nur die Sache mit dem Separator kann ich bestätigen.
Sollte jetzt gehen. Auch die unnötigen Zeilen sind raus. Bitte mal schauen ob das zur Zufriedenheit lüppt. Für NeutrinoHD hab ich das inzwischen auch portiert und könnte da im Prinzip auch rein.
GetAway hat geschrieben:dass ich noch ein zusätzliches Menü, Marke Eigenbau, mit drin hatte.
Ohne dem, geht es.
Kein Problem. In den Hauptmenüs müssen nur alle Elemente vefüttert werden, sonst gibts Probleme. Es sollten aber genug Beispiele da sein, wie man das macht.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: [Patch] Personalisierung ohne Neustart

Beitrag von Gaucho316 »

Super Arbeit. :up: Ich werde das morgen mal ausprobieren.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: [Patch] Personalisierung ohne Neustart

Beitrag von Gaucho316 »

Ich habe jetzt mal den letzten Stand ausprobiert. Er funktioniert ohne Probleme. Zwei Sachen habe ich aber noch. Erstens muss in Zeile 573 von neutrino.cpp PERSONALIZE_MODE_VISIBLE in PROTECT_MODE_NOT_PROTECTED geändert werden. Und zweitens habe ich die Änderungen auch in yWeb übernommen. Dann müsste es aber endlich komplett sein.

Link zum Patch entfernt
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: [Patch] Personalisierung ohne Neustart

Beitrag von dbt »

Danke, yWeb schieb ich dann noch rein.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: [Patch] Personalisierung ohne Neustart

Beitrag von Gaucho316 »

Mist, ich habe noch Textänderungen vergessen. Ich habe den Patch aktualisiert. Ich hoffe, dass es noch nicht zu spät ist. :oops:

Link entfernt, da Patch im CVS
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: [Patch] Personalisierung ohne Neustart

Beitrag von dbt »

Gerade noch richtig erwischt. 8)