hrev54380 adds 1 changeset to branch 'master'
old head: 4bfd65a2b73eb65c2bc203cd01d2e70bae543531
new head: a4462d205de643f75a82d4dcabbf2e1e5c74cdbd
overview:
https://git.haiku-os.org/haiku/log/?qt=range&q=a4462d205de6+%5E4bfd65a2b73e
----------------------------------------------------------------------------
a4462d205de6: ShowImage: Reset slide show delay if a user interferes
This change resets the delay when the user moves to next/previous image or
page within an image (e.g. TIFF) or deletes an image while a slide show is
running.
Fixes #16321
Change-Id: If0b8f4caef9c6aa4c0ad5bbb01d65bf43c1f831f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2967
Reviewed-by: Adrien Destugues <pulkomandy@xxxxxxxxx>
[ Humdinger <humdingerb@xxxxxxxxx> ]
----------------------------------------------------------------------------
Revision: hrev54380
Commit: a4462d205de643f75a82d4dcabbf2e1e5c74cdbd
URL: https://git.haiku-os.org/haiku/commit/?id=a4462d205de6
Author: Humdinger <humdingerb@xxxxxxxxx>
Date: Mon Jun 29 14:32:35 2020 UTC
Committer: humdinger <humdingerb@xxxxxxxxx>
Commit-Date: Wed Jul 1 12:35:51 2020 UTC
Ticket: https://dev.haiku-os.org/ticket/16321
----------------------------------------------------------------------------
2 files changed, 13 insertions(+)
src/apps/showimage/ShowImageWindow.cpp | 12 ++++++++++++
src/apps/showimage/ShowImageWindow.h | 1 +
----------------------------------------------------------------------------
diff --git a/src/apps/showimage/ShowImageWindow.cpp
b/src/apps/showimage/ShowImageWindow.cpp
index 724b4ff798..8def063124 100644
--- a/src/apps/showimage/ShowImageWindow.cpp
+++ b/src/apps/showimage/ShowImageWindow.cpp
@@ -1251,6 +1251,10 @@ ShowImageWindow::_ClosePrompt()
status_t
ShowImageWindow::_LoadImage(bool forward)
{
+ // If the user triggered a _LoadImage while in a slide show,
+ // make sure the new image is shown for the set delay:
+ _ResetSlideShowDelay();
+
BMessenger us(this);
status_t status = my_app->DefaultCache().RetrieveImage(
fNavigator.CurrentRef(), fNavigator.CurrentPage(), &us);
@@ -1513,6 +1517,14 @@ ShowImageWindow::_StopSlideShow()
}
+void
+ShowImageWindow::_ResetSlideShowDelay()
+{
+ if (fSlideShowRunner != NULL)
+ fSlideShowRunner->SetInterval(fSlideShowDelay);
+}
+
+
void
ShowImageWindow::_UpdateRatingMenu()
{
diff --git a/src/apps/showimage/ShowImageWindow.h
b/src/apps/showimage/ShowImageWindow.h
index 1fb2871bac..f276647fde 100644
--- a/src/apps/showimage/ShowImageWindow.h
+++ b/src/apps/showimage/ShowImageWindow.h
@@ -101,6 +101,7 @@ private:
void
_SetSlideShowDelay(bigtime_t delay);
void _StartSlideShow();
void _StopSlideShow();
+ void _ResetSlideShowDelay();
void _UpdateRatingMenu();