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

List:       kde-commits
Subject:    kdegraphics/kuickshow/src
From:       Bernhard Rosenkraenzer <bero () arklinux ! org>
Date:       2005-04-28 21:23:22
Message-ID: 20050428212322.33CBD629 () office ! kde ! org
[Download RAW message or body]

CVS commit by bero: 

Add possibility to switch to the next slide using key presses instead of
(or in addition to) the timer.
Manual slideshows can be useful for ppl who are too lazy to use kpresenter ;)


  M +4 -1      imagewindow.cpp   1.64
  M +2 -1      imagewindow.h   1.20
  M +8 -4      kuickshow.cpp   1.93
  M +2 -1      slideshowwidget.cpp   1.9


--- kdegraphics/kuickshow/src/imagewindow.cpp  #1.63:1.64
@@ -535,4 +535,8 @@ void ImageWindow::keyPressEvent( QKeyEve
     else if ( KStdAccel::save().contains( KKey( e ) ) )
         saveImage();
+    else if ( key == Key_Right || key == Key_Down )
+        emit nextSlideRequested();
+    else if ( key == Key_Left || key == Key_Up )
+        emit prevSlideRequested(); // For future use...
 
     else {

--- kdegraphics/kuickshow/src/imagewindow.h  #1.19:1.20
@@ -86,4 +86,6 @@ signals:
   // go advance images back/forth
   void          requestImage( ImageWindow *, int advance );
+  void          nextSlideRequested();
+  void          prevSlideRequested();
 
 protected:

--- kdegraphics/kuickshow/src/kuickshow.cpp  #1.92:1.93
@@ -493,4 +493,5 @@ void KuickShow::showImage( const KFileIt
             s_viewers.append( m_viewer );
 
+            connect( m_viewer, SIGNAL( nextSlideRequested() ), this, SLOT( nextSlide() ));
             connect( m_viewer, SIGNAL( destroyed() ), SLOT( viewerDeleted() ));
             connect( m_viewer, SIGNAL( sigFocusWindow( ImageWindow *) ),
@@ -562,4 +563,5 @@ void KuickShow::startSlideShow()
         showImage( item, !oneWindowAction->isChecked(),
                    kdata->slideshowFullscreen );
+        if(kdata->slideDelay)
         m_slideTimer->start( kdata->slideDelay );
     }
@@ -569,4 +571,5 @@ void KuickShow::pauseSlideShow()
 {
     if(m_slideShowStopped) {
+        if(kdata->slideDelay)
         m_slideTimer->start( kdata->slideDelay );
         m_slideShowStopped = false;
@@ -609,4 +612,5 @@ void KuickShow::nextSlide( KFileItem *it
 {
     m_viewer->showNextImage( item->url().path() );
+    if(kdata->slideDelay)
     m_slideTimer->start( kdata->slideDelay );
 }
@@ -719,5 +723,5 @@ void KuickShow::slotAdvanceImage( ImageW
         KIO::NetAccess::download(item->url(), filename, this);
         view->showNextImage( filename );
-        if (m_slideTimer->isActive())
+        if (m_slideTimer->isActive() && kdata->slideDelay)
             m_slideTimer->start( kdata->slideDelay );
 

--- kdegraphics/kuickshow/src/slideshowwidget.cpp  #1.8:1.9
@@ -41,5 +41,6 @@ SlideShowWidget::SlideShowWidget( QWidge
     m_delayTime->setLabel( i18n("De&lay between slides:") );
     m_delayTime->setSuffix( i18n(" sec") );
-    m_delayTime->setRange( 1, 60 * 60 ); // 1 hour
+    m_delayTime->setRange( 0, 60 * 60 ); // 1 hour
+    m_delayTime->setSpecialValueText( i18n("Wait for key") );
 
     m_cycles = new KIntNumInput( m_delayTime, 1, this );


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

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