From 7aa51c84c323424ba693bdc6bfb1911cac8c3bbf Mon Sep 17 00:00:00 2001 From: Charlie Fenton Date: Thu, 24 Nov 2011 02:04:21 +0000 Subject: [PATCH] MGR: In Simple View, reload slide show when task selection changed svn path=/trunk/boinc/; revision=24646 --- checkin_notes | 3 ++- clientgui/sg_TaskPanel.cpp | 13 +++++++++---- clientgui/sg_TaskPanel.h | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/checkin_notes b/checkin_notes index f267e087ee..9cf1c5fb1f 100644 --- a/checkin_notes +++ b/checkin_notes @@ -8644,6 +8644,7 @@ David 21 Nov 2011 Charlie 23 Nov 2011 - MGR: In Simple View, if deleting a task above the current selection, decrement the index of the current selection. + - MGR: In Simple View, reload slide show when task selection changed. clientgui/ - sg_TaskPanel.cpp + sg_TaskPanel.cpp,.h diff --git a/clientgui/sg_TaskPanel.cpp b/clientgui/sg_TaskPanel.cpp index a2596410eb..5b031a2a7c 100755 --- a/clientgui/sg_TaskPanel.cpp +++ b/clientgui/sg_TaskPanel.cpp @@ -76,15 +76,20 @@ CSlideShowPanel::~CSlideShowPanel() void CSlideShowPanel::OnSlideShowTimer(wxTimerEvent& WXUNUSED(event)) { - AdvanceSlideShow(true); + AdvanceSlideShow(true, false); } -void CSlideShowPanel::AdvanceSlideShow(bool changeSlide) { +void CSlideShowPanel::AdvanceSlideShow(bool changeSlide, bool reload) { double xRatio, yRatio, ratio; TaskSelectionData* selData = ((CSimpleTaskPanel*)GetParent())->GetTaskSelectionData(); if (selData == NULL) return; + if (reload) { + m_bCurrentSlideIsDefault = false; + selData->lastSlideShown = -1; + } + int numSlides = (int)selData->slideShowFileNames.size(); if (numSlides <= 0) { @@ -478,7 +483,7 @@ void CSimpleTaskPanel::UpdatePanel(bool delayShow) { GetApplicationAndProjectNames(result, NULL, &projName); #endif UpdateStaticText(&m_TaskProjectName, projName); - m_SlideShowArea->AdvanceSlideShow(false); + m_SlideShowArea->AdvanceSlideShow(false, true); m_bStableTaskInfoChanged = false; } float f = result->elapsed_time; @@ -528,7 +533,7 @@ void CSimpleTaskPanel::UpdatePanel(bool delayShow) { void CSimpleTaskPanel::ReskinInterface() { wxLogTrace(wxT("Function Start/End"), wxT("CSimpleTaskPanel::ReskinInterface - Function Begin")); CSimplePanelBase::ReskinInterface(); - m_SlideShowArea->AdvanceSlideShow(false); + m_SlideShowArea->AdvanceSlideShow(false, false); UpdateTaskSelectionList(true); wxLogTrace(wxT("Function Start/End"), wxT("CSimpleTaskPanel::ReskinInterface - Function Begin")); } diff --git a/clientgui/sg_TaskPanel.h b/clientgui/sg_TaskPanel.h index 8f0ea8de68..3d05cc8ee8 100755 --- a/clientgui/sg_TaskPanel.h +++ b/clientgui/sg_TaskPanel.h @@ -50,7 +50,7 @@ class CSlideShowPanel : public wxPanel ~CSlideShowPanel(); void OnSlideShowTimer(wxTimerEvent& WXUNUSED(event)); - void AdvanceSlideShow(bool changeSlide); + void AdvanceSlideShow(bool changeSlide, bool reload); void OnPaint(wxPaintEvent& WXUNUSED(event)); private: