mirror of
				https://projects.vdr-developer.org/git/vdr-plugin-tvguide.git
				synced 2023-10-05 13:01:48 +00:00 
			
		
		
		
	Fixed dayOfWeek error in RecMenuSearchTimerEdit
This commit is contained in:
		| @@ -2148,7 +2148,6 @@ cRecMenuItemDayChooser::cRecMenuItemDayChooser(cString text, | |||||||
|     this->callback = callback; |     this->callback = callback; | ||||||
|     this->indent = indent; |     this->indent = indent; | ||||||
|     height = 3 * font->Height() / 2; |     height = 3 * font->Height() / 2; | ||||||
| //    height = 2 * font->Height(); |  | ||||||
|     selectedDay = 0; |     selectedDay = 0; | ||||||
|     pixmapWeekdays = NULL; |     pixmapWeekdays = NULL; | ||||||
|     pixmapWeekdaysSelect = NULL; |     pixmapWeekdaysSelect = NULL; | ||||||
| @@ -2189,13 +2188,13 @@ void cRecMenuItemDayChooser::Show(void) { | |||||||
| void cRecMenuItemDayChooser::SetSizes(void) { | void cRecMenuItemDayChooser::SetSizes(void) { | ||||||
|     days = trVDR("MTWTFSS"); |     days = trVDR("MTWTFSS"); | ||||||
|     int maxWidth = 0; |     int maxWidth = 0; | ||||||
|     for (unsigned i=0; i<days.length(); ++i) { |     for (unsigned i = 0; i < days.length(); ++i) { | ||||||
|         int charWidth = font->Width(days.at(i)); |         int charWidth = font->Width(days.at(i)); | ||||||
|         if (charWidth > maxWidth) |         if (charWidth > maxWidth) | ||||||
|             maxWidth = charWidth; |             maxWidth = charWidth; | ||||||
|     }     |     }     | ||||||
|     daysSize = min(maxWidth + 15, height-4); |     daysSize = min(maxWidth + 15, height - 4); | ||||||
|     daysX = width - 10 - 7*daysSize; |     daysX = width - 10 - 7 * daysSize; | ||||||
|     daysY = (height  - daysSize) / 2; |     daysY = (height  - daysSize) / 2; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -2217,13 +2216,13 @@ void cRecMenuItemDayChooser::Draw(void) { | |||||||
| void cRecMenuItemDayChooser::DrawDays(void) { | void cRecMenuItemDayChooser::DrawDays(void) { | ||||||
|     pixmapWeekdays->Fill(clrTransparent); |     pixmapWeekdays->Fill(clrTransparent); | ||||||
|     int textY = (height - font->Height()) / 2; |     int textY = (height - font->Height()) / 2; | ||||||
|     pixmapWeekdays->DrawRectangle(cRect(daysX, daysY, 7*daysSize, daysSize), theme.Color(clrBorder)); |     pixmapWeekdays->DrawRectangle(cRect(daysX, daysY, 7 * daysSize, daysSize), theme.Color(clrBorder)); | ||||||
|     int currentX = daysX; |     int currentX = daysX; | ||||||
|     for (unsigned day=0; day<days.length(); ++day) { |     for (unsigned day = 0; day < days.length(); ++day) { | ||||||
|         cString strDay = cString::sprintf("%c", days.at(day)); |         cString strDay = cString::sprintf("%c", days.at(day)); | ||||||
|         pixmapWeekdays->DrawRectangle(cRect(currentX+2, daysY+2, daysSize-4, daysSize-4), theme.Color(clrBackground)); |         pixmapWeekdays->DrawRectangle(cRect(currentX + 2, daysY + 2, daysSize - 4, daysSize - 4), theme.Color(clrBackground)); | ||||||
|         tColor colorDay = WeekDaySet(day)?theme.Color(clrRecMenuDayActive) |         tColor colorDay = WeekDaySet(day) ? theme.Color(clrRecMenuDayActive) | ||||||
|                                          :theme.Color(clrRecMenuDayInactive); |                                           : theme.Color(clrRecMenuDayInactive); | ||||||
|         int textX = currentX + (daysSize - font->Width(*strDay)) / 2; |         int textX = currentX + (daysSize - font->Width(*strDay)) / 2; | ||||||
|         pixmapWeekdays->DrawText(cPoint(textX, textY), *strDay, colorDay, clrTransparent, font); |         pixmapWeekdays->DrawText(cPoint(textX, textY), *strDay, colorDay, clrTransparent, font); | ||||||
|         currentX += daysSize; |         currentX += daysSize; | ||||||
| @@ -2233,7 +2232,7 @@ void cRecMenuItemDayChooser::DrawDays(void) { | |||||||
| void cRecMenuItemDayChooser::DrawHighlight(int day) { | void cRecMenuItemDayChooser::DrawHighlight(int day) { | ||||||
|     pixmapWeekdaysSelect->Fill(clrTransparent); |     pixmapWeekdaysSelect->Fill(clrTransparent); | ||||||
|     if (day > -1) { |     if (day > -1) { | ||||||
|         int currentX = daysX + day*daysSize; |         int currentX = daysX + day * daysSize; | ||||||
|         pixmapWeekdaysSelect->DrawRectangle(cRect(currentX, daysY, daysSize, daysSize), theme.Color(clrRecMenuDayHighlight)); |         pixmapWeekdaysSelect->DrawRectangle(cRect(currentX, daysY, daysSize, daysSize), theme.Color(clrRecMenuDayHighlight)); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @@ -2259,13 +2258,13 @@ eRecMenuState cRecMenuItemDayChooser::ProcessKey(eKeys Key) { | |||||||
|     switch (Key & ~k_Repeat) { |     switch (Key & ~k_Repeat) { | ||||||
|         case kLeft: { |         case kLeft: { | ||||||
|             selectedDay--; |             selectedDay--; | ||||||
|             if (selectedDay<0) |             if (selectedDay < 0) | ||||||
|                 selectedDay += 7; |                 selectedDay += 7; | ||||||
|             DrawHighlight(selectedDay); |             DrawHighlight(selectedDay); | ||||||
|             return rmsConsumed; |             return rmsConsumed; | ||||||
|             break; } |             break; } | ||||||
|         case kRight: { |         case kRight: { | ||||||
|             selectedDay = (selectedDay+1)%7; |             selectedDay = (selectedDay + 1) % 7; | ||||||
|             DrawHighlight(selectedDay); |             DrawHighlight(selectedDay); | ||||||
|             return rmsConsumed; |             return rmsConsumed; | ||||||
|             break; } |             break; } | ||||||
|   | |||||||
| @@ -728,6 +728,7 @@ cRecMenuSearchTimerEdit::cRecMenuSearchTimerEdit(cTVGuideSearchTimer searchTimer | |||||||
|     channelgroupIndex = -1; |     channelgroupIndex = -1; | ||||||
|     std::string dir = sT.directory; |     std::string dir = sT.directory; | ||||||
|     strncpy(directory, dir.c_str(), TEXTINPUTLENGTH); |     strncpy(directory, dir.c_str(), TEXTINPUTLENGTH); | ||||||
|  |     dayOfWeek = sT.DayOfWeek(); | ||||||
|  |  | ||||||
|     sT.GetSearchModes(&searchModes); |     sT.GetSearchModes(&searchModes); | ||||||
|     sT.GetUseChannelModes(&useChannelModes); |     sT.GetUseChannelModes(&useChannelModes); | ||||||
| @@ -832,7 +833,7 @@ void cRecMenuSearchTimerEdit::CreateMenuItems(void) { | |||||||
|     } |     } | ||||||
|     mainMenuItems.push_back(new cRecMenuItemBool(tr("Use day of week"), sT.useDayOfWeek, true, false, &sT.useDayOfWeek, rmsSearchTimerSave)); |     mainMenuItems.push_back(new cRecMenuItemBool(tr("Use day of week"), sT.useDayOfWeek, true, false, &sT.useDayOfWeek, rmsSearchTimerSave)); | ||||||
|     if (sT.useDayOfWeek) |     if (sT.useDayOfWeek) | ||||||
|         mainMenuItems.push_back(new cRecMenuItemDayChooser(tr("Day of week"), sT.dayOfWeek, false, &sT.dayOfWeek, 1)); |         mainMenuItems.push_back(new cRecMenuItemDayChooser(tr("Day of week"), dayOfWeek, false, &dayOfWeek, 1)); | ||||||
|     mainMenuItems.push_back(new cRecMenuItemBool(tr("Use in Favorites"), sT.useInFavorites, false, false, &sT.useInFavorites, rmsSearchTimerSave)); |     mainMenuItems.push_back(new cRecMenuItemBool(tr("Use in Favorites"), sT.useInFavorites, false, false, &sT.useInFavorites, rmsSearchTimerSave)); | ||||||
|     mainMenuItems.push_back(new cRecMenuItemBool(tr("Use as search timer"), sT.useAsSearchTimer, true, false, &sT.useAsSearchTimer, rmsSearchTimerSave)); |     mainMenuItems.push_back(new cRecMenuItemBool(tr("Use as search timer"), sT.useAsSearchTimer, true, false, &sT.useAsSearchTimer, rmsSearchTimerSave)); | ||||||
|     if (sT.useAsSearchTimer) { |     if (sT.useAsSearchTimer) { | ||||||
| @@ -949,7 +950,7 @@ cTVGuideSearchTimer cRecMenuSearchTimerEdit::GetSearchTimer(void) { | |||||||
|     } |     } | ||||||
|     searchTimer.SetUseDayOfWeek(sT.useDayOfWeek); |     searchTimer.SetUseDayOfWeek(sT.useDayOfWeek); | ||||||
|     if (sT.useDayOfWeek) { |     if (sT.useDayOfWeek) { | ||||||
|         searchTimer.SetDayOfWeek(sT.dayOfWeek); |         searchTimer.SetDayOfWeek(dayOfWeek); | ||||||
|     } |     } | ||||||
|     searchTimer.SetUseAsSearchTimer(sT.useAsSearchTimer); |     searchTimer.SetUseAsSearchTimer(sT.useAsSearchTimer); | ||||||
|     searchTimer.SetAction(sT.action); |     searchTimer.SetAction(sT.action); | ||||||
|   | |||||||
| @@ -237,6 +237,7 @@ private: | |||||||
|     int startChannel; |     int startChannel; | ||||||
|     int stopChannel; |     int stopChannel; | ||||||
|     int channelgroupIndex; |     int channelgroupIndex; | ||||||
|  |     int dayOfWeek; | ||||||
|     char directory[TEXTINPUTLENGTH]; |     char directory[TEXTINPUTLENGTH]; | ||||||
|     int SplitChannelGroups(std::vector<std::string> *channelGroups, std::vector<std::string> *channelgroups); |     int SplitChannelGroups(std::vector<std::string> *channelGroups, std::vector<std::string> *channelgroups); | ||||||
| public: | public: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user