Version: 0.9.0 (using KDE 3.5.5 "release 45" , openSUSE 10.2) Compiler: Target: i586-suse-linux OS: Linux (i686) release 2.6.19-17JAN In -> Settings -> Configure -> slideshow I have setup a "x" in "Start from Current image" Now when I try a Tools -> slideshow it gives me two options in the small dialogbox |---------------------------------------| | o Show all images in current album | | o show only selected images | | | |.... blah blah... | |---------------------------------------| I mean what should I select here? * A better way would be to have a toggle button that simply directly goes to slideshow (based on settings made in configure) * Or make a submenu from Tools -> slideshow \ -> show all -> start from current -> show selected.. * I have seperately filed a bug report for changing the Slideshow to View menu. Many thanks (I can provide you screenshots if you want).
At first I was also confused about these settings, until I noticed, that Settiings -> Configure -> Slideshow is talking about the "image editor slide show settings", i.e. if you open the editor for an image, and go to "View -> Slide Show". As a follow up to that confusion: Is it really necessary to have a slideshow in the image editor? Please don't get me wrong, I do not want to remove any feature, if somebody is really using it. But I'd expect people to always run slide shows from the main window. If we don't need the slide show in the editor, this would also reduce clutter (and confusion) in the digikam settings.
Created attachment 19367 [details] Settings -> Configure Digikam -> SlideShow
Created attachment 19368 [details] Tools -> Slideshow -> DialogBox
OK Many thanks for the reply. Let me then rephrase the problem from the main window itself. As said above I have setup: In -> Settings -> Configure -> slideshow I have setup a "x" in "Start from Current image" Album Tag Image Select View Tools Camera Settings Help Tools -> Slideshow it gives me same small window: |---------------------------------------| | o Show all images in current album | | o show only selected images | | | |.... blah blah... | |---------------------------------------| I mean if I have ticked/checked the "Start from current image" it does not follow it! I have put a couple of screenshots to make it clearer. Everything is _main_window_ only Many thanks
Karthik, you misunderstood my comment. To make it clearer: Look at your first screenshot... it says "Image Editor Slide Show Settings", i.e. it is referring to the slideshow that you start from the image editor, not the one you start from the main window (which is actually a plugin, and not part of digikam itself). But I agree, that this situation is confusing, and am still wondering, whether we need a slideshow in the image editor at all. Gilles, and the others... your comments?
Another clarification after reading my last comment: > it is referring to the slideshow that you start from the image editor, not > the one you start from the main window (which is actually a plugin, and not > part of digikam itself). I meant the ladder one, i.e. the one started from Tools -> Slideshow, is a plugin.
OK thanks for the clearer explanation. All this means: 1. The user needs a someway to start a slideshow from the selected image, all images, only selected images (i.e) Some dialog box to adjust settings for kipi? 2. At least as far as _ I _ can think of slideshow in image editor is not necessary (no flames please: May be I am wrong) 3. If case (1) is not possible implementing a slideshow inside Digikam might be a good idea. In case of (3) I will close this bug and open a wish list.
I have to agree with this: having two slideshow functions is just confusing. I also fully agree that slideshow in editor does not make a lot of sense. I would propose the following: - remove slideshow in editor - replace slideshow in ShowFoto with KIPI Slideshow (for consistency) - modify KIPI slideshow to be able to start from current image Note sure though if this is possible with KIPI Slideshow...
SVN commit 631948 by cgilles: digikam from trunk: new Slideshow Tool using Preview feature ! Hi guys, you can slide your RAW files very fast like this !!! This slide show tool is a simplified version of kipi-plugins SlideShow tool. No effect, no OpenGL. Just the picture slided on the screen. But the must important feature is to use Image Preview : RAW files can be slided and pictures saved by digiKam image editor will be loaded very fast because we use preview image embeded in IPTC metadata (that the kipi-plugins cannot do it). This slide show tool run always in fullscreen mode. this have simplified the common EditorWindow class implementation. This slide show tool is available in Image Editor and Showfoto instead the old one. Added it to Album Gui is not a problem. It's very easy to add the right action on the main window menu. Luka, If you want to do it before 0.9.1-Beta1, let's go to, and close files #135655, #140303, #140304. thanks in advance... CCBUGS: 135655, 140303, 140304 BUG: 116518 M +1 -0 digikam/Makefile.am M +2 -0 showfoto/Makefile.am M +20 -13 showfoto/showfoto.cpp M +2 -1 showfoto/showfoto.h M +1 -1 utilities/Makefile.am M +14 -13 utilities/imageeditor/editor/Makefile.am M +9 -51 utilities/imageeditor/editor/editorwindow.cpp M +6 -9 utilities/imageeditor/editor/editorwindow.h M +2 -0 utilities/imageeditor/editor/editorwindowprivate.h M +19 -5 utilities/imageeditor/editor/imagewindow.cpp M +2 -1 utilities/imageeditor/editor/imagewindow.h M +1 -1 utilities/imageeditor/tools/Makefile.am D utilities/imageeditor/tools/slideshow.cpp D utilities/imageeditor/tools/slideshow.h M +14 -14 utilities/setup/setupslideshow.cpp M +4 -4 utilities/setup/setupslideshow.h A utilities/slideshow (directory) A utilities/slideshow/Makefile.am AM utilities/slideshow/slideshow.cpp [License: GPL] AM utilities/slideshow/slideshow.h [License: GPL] AM utilities/slideshow/toolbar.cpp [License: GPL] AM utilities/slideshow/toolbar.h [License: GPL]
SVN commit 632071 by lure: Add Slide Show to View menu and toolbar: - uses own slideshow implementation (same as Showfoto/Image Editor) - implemented with preview, so can be also used as full screen preview - left KIPI-plugin in Tools menu (should be renamed to reduce confusion) TODO: find good keyboard shortcut to assign to Slide Show function - all obvious ones are already used: F5 (powerpoint), F12 (kpresenter) CCBUG: 135655 BUG: 140303, 140304 M +1 -0 Makefile.am M +4 -0 digikamapp.cpp M +2 -0 digikamappprivate.h M +4 -1 digikamui.rc M +30 -0 digikamview.cpp M +1 -0 digikamview.h --- trunk/extragear/graphics/digikam/digikam/Makefile.am #632070:632071 @@ -20,6 +20,7 @@ -I$(top_srcdir)/digikam/utilities/imageeditor/canvas \ -I$(top_srcdir)/digikam/utilities/splashscreen \ -I$(top_srcdir)/digikam/utilities/setup \ + -I$(top_srcdir)/digikam/utilities/slideshow \ -I$(top_srcdir)/digikam/utilities/batch \ $(LIBKIPI_CFLAGS) $(GPHOTO_CFLAGS) $(all_includes) --- trunk/extragear/graphics/digikam/digikam/digikamapp.cpp #632070:632071 @@ -765,6 +765,10 @@ "in full screen mode.")); #endif + d->slideShowAction = new KAction(i18n("Slide Show"), "slideshow", 0, + d->view, SLOT(slotSlideShow()), + actionCollection(), "slideshow"); + d->quitAction = KStdAction::quit(this, SLOT(slotExit()), actionCollection(), --- trunk/extragear/graphics/digikam/digikam/digikamappprivate.h #632070:632071 @@ -99,6 +99,7 @@ thumbSizePlusAction = 0; thumbSizeMinusAction = 0; fullScreenAction = 0; + slideShowAction = 0; rating0Star = 0; rating1Star = 0; rating2Star = 0; @@ -188,6 +189,7 @@ // View Actions KAction *fullScreenAction; + KAction *slideShowAction; KAction *thumbSizePlusAction; KAction *thumbSizeMinusAction; KSelectAction *imageSortAction; --- trunk/extragear/graphics/digikam/digikam/digikamui.rc #632070:632071 @@ -1,5 +1,5 @@ <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> -<kpartgui version="18" name="digikam" > +<kpartgui version="19" name="digikam" > <MenuBar> @@ -60,6 +60,7 @@ <Menu name="View" > <text>&View</text> <Action name="full_screen" /> + <Action name="slideshow" /> <Separator/> <Action name="album_thumbSizeIncrease" /> <Action name="album_thumbSizeDecrease" /> @@ -124,7 +125,9 @@ <Separator/> <Action name="album_thumbSizeIncrease" /> <Action name="album_thumbSizeDecrease" /> + <Separator/> <Action name="full_screen" /> + <Action name="slideshow" /> </ToolBar> <ActionProperties/> --- trunk/extragear/graphics/digikam/digikam/digikamview.cpp #632070:632071 @@ -59,6 +59,7 @@ #include "albumsettings.h" #include "albumhistory.h" #include "batchsyncmetadata.h" +#include "slideshow.h" #include "sidebar.h" #include "imagepropertiessidebardb.h" #include "datefolderview.h" @@ -895,6 +896,35 @@ d->parent->toggledToPreviewMode(t); } +void DigikamView::slotSlideShow() +{ + KConfig* config = kapp->config(); + config->setGroup("ImageViewer Settings"); + bool startWithCurrent = config->readBoolEntry("SlideShowStartCurrent", false); + bool loop = config->readBoolEntry("SlideShowLoop", false); + bool printName = config->readBoolEntry("SlideShowPrintName", true); + int delay = config->readNumEntry("SlideShowDelay", 5); + + bool exifRotate = AlbumSettings::instance()->getExifRotate(); + KURL::List urlList; + + AlbumIconItem* item = 0; + if (startWithCurrent) + item = dynamic_cast<AlbumIconItem*>(d->iconView->currentItem()); + else + item = dynamic_cast<AlbumIconItem*>(d->iconView->firstItem()); + + while (item) + { + urlList.append(item->imageInfo()->kurl()); + + item = dynamic_cast<AlbumIconItem*>(item->nextItem()); + } + + SlideShow *slide = new SlideShow(urlList, exifRotate, delay*1000, printName, loop); + slide->show(); +} + void DigikamView::slotImageEdit() { AlbumIconItem *currItem = dynamic_cast<AlbumIconItem*>(d->iconView->currentItem()); --- trunk/extragear/graphics/digikam/digikam/digikamview.h #632070:632071 @@ -101,6 +101,7 @@ void slotNewAdvancedSearch(); // Image action slots + void slotSlideShow(); void slotImagePreview(); void slotImageEdit(); void slotImageExifOrientation(int orientation);
SVN commit 632368 by lure: Slide Show in Album GUI is now action menu with two options: All and Selection Shortcuts: F9 for slideshow all and ALT-F9 for slideshow selection CCBUG: 140304 M +18 -3 digikamapp.cpp M +2 -1 digikamappprivate.h M +26 -7 digikamview.cpp M +3 -1 digikamview.h --- trunk/extragear/graphics/digikam/digikam/digikamapp.cpp #632367:632368 @@ -768,10 +768,23 @@ "in full screen mode.")); #endif - d->slideShowAction = new KAction(i18n("Slide Show"), "slideshow", Key_F9, - d->view, SLOT(slotSlideShow()), - actionCollection(), "slideshow"); + d->slideShowAction = new KActionMenu(i18n("Slide Show"), "slideshow", + actionCollection(), "slideshow"); + d->slideShowAction->setDelayed(false); + + KAction *ssAction = new KAction(i18n("All"), 0, Key_F9, + d->view, SLOT(slotSlideShowAll()), + actionCollection(), "slideshow_all"); + d->slideShowAction->insert(ssAction); + d->slideShowSelectionAction = new KAction(i18n("Selection"), 0, ALT+Key_F9, + d->view, + SLOT(slotSlideShowSelection()), + actionCollection(), + "slideshow_selected"); + d->slideShowAction->insert(d->slideShowSelectionAction); + + d->quitAction = KStdAction::quit(this, SLOT(slotExit()), actionCollection(), @@ -872,6 +885,7 @@ d->imageRenameAction->setEnabled(false); d->imageDeleteAction->setEnabled(false); d->imageExifOrientationActionMenu->setEnabled(false); + d->slideShowSelectionAction->setEnabled(false); d->albumSortAction->setCurrentItem((int)d->albumSettings->getAlbumSortOrder()); d->imageSortAction->setCurrentItem((int)d->albumSettings->getImageSortOrder()); @@ -1100,6 +1114,7 @@ d->imageRenameAction->setEnabled(val); d->imageDeleteAction->setEnabled(val); d->imageExifOrientationActionMenu->setEnabled(val); + d->slideShowSelectionAction->setEnabled(selection.count() != 0); switch (selection.count()) { --- trunk/extragear/graphics/digikam/digikam/digikamappprivate.h #632367:632368 @@ -189,7 +189,8 @@ // View Actions KAction *fullScreenAction; - KAction *slideShowAction; + KActionMenu *slideShowAction; + KAction *slideShowSelectionAction; KAction *thumbSizePlusAction; KAction *thumbSizeMinusAction; KSelectAction *imageSortAction; --- trunk/extragear/graphics/digikam/digikam/digikamview.cpp #632367:632368 @@ -911,7 +911,7 @@ d->parent->toggledToPreviewMode(t); } -void DigikamView::slotSlideShow() +void DigikamView::slideShow(const KURL::List &urlList) { KConfig* config = kapp->config(); config->setGroup("ImageViewer Settings"); @@ -920,21 +920,40 @@ bool printName = config->readBoolEntry("SlideShowPrintName", true); int delay = config->readNumEntry("SlideShowDelay", 5); + bool exifRotate = AlbumSettings::instance()->getExifRotate(); + + SlideShow *slide = new SlideShow(urlList, exifRotate, delay*1000, printName, loop); + if (startWithCurrent) + slide->setCurrent(dynamic_cast<AlbumIconItem*>(d->iconView->currentItem())->imageInfo()->kurl()); + + slide->show(); +} + +void DigikamView::slotSlideShowAll() +{ KURL::List urlList; - bool exifRotate = AlbumSettings::instance()->getExifRotate(); AlbumIconItem* item = dynamic_cast<AlbumIconItem*>(d->iconView->firstItem()); - while (item) { urlList.append(item->imageInfo()->kurl()); item = dynamic_cast<AlbumIconItem*>(item->nextItem()); } - SlideShow *slide = new SlideShow(urlList, exifRotate, delay*1000, printName, loop); - if (startWithCurrent) - slide->setCurrent(dynamic_cast<AlbumIconItem*>(d->iconView->currentItem())->imageInfo()->kurl()); + slideShow(urlList); +} - slide->show(); +void DigikamView::slotSlideShowSelection() +{ + KURL::List urlList; + AlbumIconItem* item = dynamic_cast<AlbumIconItem*>(d->iconView->firstItem()); + while (item) + { + if (item->isSelected()) + urlList.append(item->imageInfo()->kurl()); + item = dynamic_cast<AlbumIconItem*>(item->nextItem()); + } + + slideShow(urlList); } void DigikamView::slotImageEdit() --- trunk/extragear/graphics/digikam/digikam/digikamview.h #632367:632368 @@ -103,7 +103,8 @@ void slotNewAdvancedSearch(); // Image action slots - void slotSlideShow(); + void slotSlideShowAll(); + void slotSlideShowSelection(); void slotImagePreview(); void slotImageEdit(); void slotImageExifOrientation(int orientation); @@ -133,6 +134,7 @@ void saveViewState(); void changeAlbumFromHistory(Album *album, QWidget *widget); void imageEdit(AlbumIconItem* iconItem=0); + void slideShow(const KURL::List &urlList); private slots: