Seite 1 von 1

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

Verfasst: Mittwoch 30. Mai 2012, 22:42
von GetAway
Timerlist: automatic set mo.-fr. when selected weekdays. Ported from Neutrino-HD.
auto_set_mo_to_fri_when_selected_weekdays_timerlist.diff

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

Verfasst: Mittwoch 6. Juni 2012, 09:07
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);

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

Verfasst: Mittwoch 6. Juni 2012, 12:37
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

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

Verfasst: Mittwoch 6. Juni 2012, 13:04
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

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

Verfasst: Mittwoch 6. Juni 2012, 13:14
von GetAway
Was geht denn nicht?

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

Verfasst: Mittwoch 6. Juni 2012, 14:09
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.

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

Verfasst: Mittwoch 6. Juni 2012, 16:39
von GetAway
Stimmt. Bitte beim einchecken dran denken .

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

Verfasst: Samstag 9. Juni 2012, 20:28
von rhabarber1848
Steht die strcpy-Zeile vor oder nach der CTimerListRepeatNotifier-Zeile?

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

Verfasst: Samstag 9. Juni 2012, 20:38
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);

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

Verfasst: Sonntag 24. Juni 2012, 08:44
von GetAway

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

Verfasst: Montag 25. Juni 2012, 19:46
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

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

Verfasst: Samstag 30. Juni 2012, 13:24
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