[Patch] Mo. bis Fr. vorauswählen bei Wochentagstimern

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

[Patch] Mo. bis Fr. vorauswählen bei Wochentagstimern

Beitrag von GetAway »

Timerlist: automatic set mo.-fr. when selected weekdays. Ported from Neutrino-HD.
auto_set_mo_to_fri_when_selected_weekdays_timerlist.diff
Mourice

Re: Commit-Wünsche für das CVS II

Beitrag von Mourice »

GetAway hat geschrieben:Timerlist: automatic set mo.-fr. when selected weekdays. Ported from Neutrino-HD.
auto_set_mo_to_fri_when_selected_weekdays_timerlist.diff
Hi,

getestet --> geht schon ganz gut.

Nur beim Aufrufen der Timerliste --> Neuer Timer ist ja standardmässig "einmalig" aktiv.
Da sind dann schon die Wochentage "markiert".

Schaltet man einmal durch sind dann auch bei "einmalig" wieder die Wochentage deaktiviert.

MfG

Edit:
vielleicht besser weglassen ...
.
.
.
@@ -1049,8 +1055,8 @@ int CTimerList::newTimer()
CIntInput timerSettings_repeatCount(LOCALE_TIMERLIST_REPEATCOUNT, (long&)timerNew.repeatCount,3, LOCALE_TIMERLIST_REPEATCOUNT_HELP1, LOCALE_TIMERLIST_REPEATCOUNT_HELP2);
CMenuForwarder *m5 = new CMenuForwarder(LOCALE_TIMERLIST_REPEATCOUNT, false,timerSettings_repeatCount.getValue() , &timerSettings_repeatCount);

- CTimerListRepeatNotifier notifier((int *)&timerNew.eventRepeat,m4,m5);
- strcpy(m_weekdaysStr,"-------");
+ CTimerListRepeatNotifier notifier((int *)&timerNew.eventRepeat, m4, m5, m_weekdaysStr);
+ strcpy(m_weekdaysStr,"XXXXX--");
CMenuOptionChooser* m3 = new CMenuOptionChooser(LOCALE_TIMERLIST_REPEAT, (int *)&timerNew.eventRepeat, TIMERLIST_REPEAT_OPTIONS, TIMERLIST_REPEAT_OPTION_COUNT, true, &notifier);
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Commit-Wünsche für das CVS II

Beitrag von GetAway »

@Mourice

Danke fürs Testen. Ich hatte nur mit einem bereits angelegten Timer geprüft.
Der Bug müsste dann auch in Neutrino-HD gefixt werden.

Patch aktualisiert:
auto_set_mo_to_fri_when_selected_weekdays_timerlist.diff
Mourice

Re: Commit-Wünsche für das CVS II

Beitrag von Mourice »

GetAway hat geschrieben:@Mourice

Danke fürs Testen. Ich hatte nur mit einem bereits angelegten Timer geprüft.
Der Bug müsste dann auch in Neutrino-HD gefixt werden.

Patch aktualisiert:
auto_set_mo_to_fri_when_selected_weekdays_timerlist.diff
Hi,

jetzt haste eine Zeile zuviel wegoptimiert ...

strcpy(m_weekdaysStr,"-------"); muss schon bleiben


der Patch müsste so aussehen ...

Code: Alles auswählen

.
.
.
@@ -975,7 +981,7 @@ int CTimerList::modifyTimer()

 	CMenuForwarder *m5 = new CMenuForwarder(LOCALE_TIMERLIST_REPEATCOUNT, timer->eventRepeat != (int)CTimerd::TIMERREPEAT_ONCE ,timerSettings_repeatCount.getValue() , &timerSettings_repeatCount);

-	CTimerListRepeatNotifier notifier((int *)&timer->eventRepeat,m4,m5);
+	CTimerListRepeatNotifier notifier((int *)&timer->eventRepeat, m4, m5, m_weekdaysStr);
 	CMenuOptionChooser* m3 = new CMenuOptionChooser(LOCALE_TIMERLIST_REPEAT, (int *)&timer->eventRepeat, TIMERLIST_REPEAT_OPTIONS, TIMERLIST_REPEAT_OPTION_COUNT, true, &notifier);

 	CRecDirChooser recDirs(LOCALE_TIMERLIST_RECORDING_DIR,NEUTRINO_ICON_SETTINGS,NULL,timer->recordingDir);
@@ -1049,8 +1055,8 @@ int CTimerList::newTimer()
 	CIntInput timerSettings_repeatCount(LOCALE_TIMERLIST_REPEATCOUNT, (long&)timerNew.repeatCount,3, LOCALE_TIMERLIST_REPEATCOUNT_HELP1, LOCALE_TIMERLIST_REPEATCOUNT_HELP2);
 	CMenuForwarder *m5 = new CMenuForwarder(LOCALE_TIMERLIST_REPEATCOUNT, false,timerSettings_repeatCount.getValue() , &timerSettings_repeatCount);

-	CTimerListRepeatNotifier notifier((int *)&timerNew.eventRepeat,m4,m5);
+	CTimerListRepeatNotifier notifier((int *)&timerNew.eventRepeat, m4, m5, m_weekdaysStr);
 	CMenuOptionChooser* m3 = new CMenuOptionChooser(LOCALE_TIMERLIST_REPEAT, (int *)&timerNew.eventRepeat, TIMERLIST_REPEAT_OPTIONS, TIMERLIST_REPEAT_OPTION_COUNT, true, &notifier);

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

Re: Commit-Wünsche für das CVS II

Beitrag von GetAway »

Was geht denn nicht?
Mourice

Re: Commit-Wünsche für das CVS II

Beitrag von Mourice »

GetAway hat geschrieben:Was geht denn nicht?
Hi,

wenn Du diese Zeile weglässt, fehlen auch die "-----" bei Wochentag beim ersten anstarten.

MfG

Edit:
Index: apps/tuxbox/neutrino/src/gui/timerlist.cpp
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/src/gui/timerlist.cpp,v
retrieving revision 1.115
diff -u -p -r1.115 timerlist.cpp
--- a/apps/tuxbox/neutrino/src/gui/timerlist.cpp 10 Apr 2012 13:03:49 -0000 1.115
+++ b/apps/tuxbox/neutrino/src/gui/timerlist.cpp 6 Jun 2012 10:21:11 -0000
@@ -158,20 +158,26 @@ private:
CMenuForwarder* m2;

int* iRepeat;
+ char * weekdays;
public:
- CTimerListRepeatNotifier( int* repeat, CMenuForwarder* a1, CMenuForwarder *a2)
+ CTimerListRepeatNotifier( int* repeat, CMenuForwarder* a1, CMenuForwarder *a2, char * wstr)
{
m1 = a1;
m2 = a2;
iRepeat=repeat;
+ weekdays = wstr;
}

bool changeNotify(const neutrino_locale_t, void *)
{
- if(*iRepeat >= (int)CTimerd::TIMERREPEAT_WEEKDAYS)
+ if(*iRepeat >= (int)CTimerd::TIMERREPEAT_WEEKDAYS) {
m1->setActive (true);
- else
+ strcpy(weekdays, "XXXXX--");
+ }
+ else {
m1->setActive (false);
+ strcpy(weekdays, "-------");
+ }
if (*iRepeat != (int)CTimerd::TIMERREPEAT_ONCE)
m2->setActive(true);
else
@@ -975,7 +981,7 @@ int CTimerList::modifyTimer()

CMenuForwarder *m5 = new CMenuForwarder(LOCALE_TIMERLIST_REPEATCOUNT, timer->eventRepeat != (int)CTimerd::TIMERREPEAT_ONCE ,timerSettings_repeatCount.getValue() , &timerSettings_repeatCount);

- CTimerListRepeatNotifier notifier((int *)&timer->eventRepeat,m4,m5);
+ CTimerListRepeatNotifier notifier((int *)&timer->eventRepeat, m4, m5, m_weekdaysStr);
CMenuOptionChooser* m3 = new CMenuOptionChooser(LOCALE_TIMERLIST_REPEAT, (int *)&timer->eventRepeat, TIMERLIST_REPEAT_OPTIONS, TIMERLIST_REPEAT_OPTION_COUNT, true, &notifier);

CRecDirChooser recDirs(LOCALE_TIMERLIST_RECORDING_DIR,NEUTRINO_ICON_SETTINGS,NULL,timer->recordingDir);
@@ -1049,8 +1055,7 @@ int CTimerList::newTimer()
CIntInput timerSettings_repeatCount(LOCALE_TIMERLIST_REPEATCOUNT, (long&)timerNew.repeatCount,3, LOCALE_TIMERLIST_REPEATCOUNT_HELP1, LOCALE_TIMERLIST_REPEATCOUNT_HELP2);
CMenuForwarder *m5 = new CMenuForwarder(LOCALE_TIMERLIST_REPEATCOUNT, false,timerSettings_repeatCount.getValue() , &timerSettings_repeatCount);

- CTimerListRepeatNotifier notifier((int *)&timerNew.eventRepeat,m4,m5);
- strcpy(m_weekdaysStr,"-------");
+ CTimerListRepeatNotifier notifier((int *)&timerNew.eventRepeat, m4, m5, m_weekdaysStr);
CMenuOptionChooser* m3 = new CMenuOptionChooser(LOCALE_TIMERLIST_REPEAT, (int *)&timerNew.eventRepeat, TIMERLIST_REPEAT_OPTIONS, TIMERLIST_REPEAT_OPTION_COUNT, true, &notifier);

//bouquets
Die rot markierte Zeile muss aus dem Diff raus, da diese Zeile in der Quelle drin bleiben muss.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Commit-Wünsche für das CVS II

Beitrag von GetAway »

Stimmt. Bitte beim einchecken dran denken .
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: [Patch] Mo. bis Fr. vorauswählen bei Wochentagstimern

Beitrag von rhabarber1848 »

Steht die strcpy-Zeile vor oder nach der CTimerListRepeatNotifier-Zeile?
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] Mo. bis Fr. vorauswählen bei Wochentagstimern

Beitrag von GetAway »

Danach:

Code: Alles auswählen

	CTimerListRepeatNotifier notifier((int *)&timerNew.eventRepeat, m4, m5, m_weekdaysStr);
	strcpy(m_weekdaysStr,"-------");
	CMenuOptionChooser* m3 = new CMenuOptionChooser(LOCALE_TIMERLIST_REPEAT, (int *)&timerNew.eventRepeat, TIMERLIST_REPEAT_OPTIONS, TIMERLIST_REPEAT_OPTION_COUNT, true, &notifier);
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] Mo. bis Fr. vorauswählen bei Wochentagstimern

Beitrag von GetAway »

Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: [Patch] Mo. bis Fr. vorauswählen bei Wochentagstimern

Beitrag von Gaucho316 »

Ich habe eine Bitte. Es wäre schön, wenn der Patch mit einer kleineren Änderung der Reihenfolge eingecheckt werden würde. Die Zeilen

Code: Alles auswählen

m1->setActive(...);
und

Code: Alles auswählen

strcpy(weekdays, ...);
sind vertauscht. Funktionstechnisch ändert sich dabei nichts. Es ist aber Voraussetzung für einen zweiten Patch, der das unnötige Neuzeichnen des gesamten Menuwidgets verhindert.

Timerlist: auto set Mon to Fri when selected weekdays
Link entfernt, da Patch im CVS

Timerlist: remove unnecessary repaint calls in notifiers
Link entfernt, da Patch im CVS
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: [Patch] Mo. bis Fr. vorauswählen bei Wochentagstimern

Beitrag von rhabarber1848 »

committed:
Gaucho316 hat geschrieben:timerlist_auto-set-mo-to-fri-when-selected-weekdays_2012-06-25_1813.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3515
Gaucho316 hat geschrieben:timerlist_remove-unnecessary-repaint-calls-in-notifiers_2012-06-25_1816.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3516