[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdegraphics/kuickshow/src
From:       Michael Goettsche <michael.goettsche () kdemail ! net>
Date:       2004-10-25 20:46:14
Message-ID: 20041025204614.5450016C4A () office ! kde ! org
[Download RAW message or body]

CVS commit by goettsche: 

Implement "Pause Slideshow" function.


  M +10 -0     imagewindow.cpp   1.62
  M +3 -0      imagewindow.h   1.19
  M +16 -1     kuickshow.cpp   1.90
  M +2 -0      kuickshow.h   1.21


--- kdegraphics/kuickshow/src/imagewindow.cpp  #1.61:1.62
@@ -216,4 +216,8 @@ void ImageWindow::setupActions()
                  this, SLOT( scrollRight() ),
                  m_actions, "scroll_right" );
+    // --------
+    KAction *pause = new KAction( i18n("Pause Slideshow"), Key_P,
+                                  this, SLOT( pauseSlideShow() ),
+                                  m_actions, "kuick_slideshow_pause" );
 
     KShortcut cut(Key_Return);
@@ -390,4 +394,9 @@ void ImageWindow::reload()
 }
 
+void ImageWindow::pauseSlideShow()
+{
+    emit pauseSlideShowSignal();
+}
+
 void ImageWindow::addBrightness( int factor )
 {

--- kdegraphics/kuickshow/src/imagewindow.h  #1.18:1.19
@@ -138,5 +138,8 @@ protected slots:
   void          reload();
   void          slotProperties();
+  void          pauseSlideShow();
 
+signals:
+  void          pauseSlideShowSignal();
 
 private:

--- kdegraphics/kuickshow/src/kuickshow.cpp  #1.89:1.90
@@ -97,5 +97,6 @@ KuickShow::KuickShow( const char *name )
       oneWindowAction( 0L ),
       m_accel( 0L ),
-      m_delayedRepeatItem( 0L )
+      m_delayedRepeatItem( 0L ),
+      m_slideShowStopped(false)
 {
     aboutWidget = 0L;
@@ -498,4 +499,6 @@ void KuickShow::showImage( const KFileIt
             connect( m_viewer, SIGNAL( requestImage( ImageWindow *, int )),
                      this, SLOT( slotAdvanceImage( ImageWindow *, int )));
+            connect( m_viewer, SIGNAL( pauseSlideShowSignal() ), 
+                     this, SLOT( pauseSlideShow() ) );
             if ( s_viewers.count() == 1 && moveToTopLeft ) {
                 // we have to move to 0x0 before showing _and_
@@ -562,4 +565,16 @@ void KuickShow::startSlideShow()
 }
 
+void KuickShow::pauseSlideShow()
+{
+    if(m_slideShowStopped) {
+        m_slideTimer->start( kdata->slideDelay );
+        m_slideShowStopped = false;
+    }
+    else {
+        m_slideTimer->stop();
+        m_slideShowStopped = true;
+    }
+}
+
 void KuickShow::nextSlide()
 {

--- kdegraphics/kuickshow/src/kuickshow.h  #1.20:1.21
@@ -104,4 +104,5 @@ private slots:
     void                about();
     void                startSlideShow();
+    void                pauseSlideShow();
     void                nextSlide();
     void                nextSlide( KFileItem *item );
@@ -144,4 +145,5 @@ private:
     DelayedRepeatEvent  *m_delayedRepeatItem;
     QTimer              *m_slideTimer;
+    bool                m_slideShowStopped;
     KToggleAction       *m_toggleBrowserAction;
     QGuardedPtr<AboutWidget> aboutWidget;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic