Version: svn (using KDE KDE 3.5.4) Installed from: Compiled From Sources OS: Linux It took me quite some time to realise that there is a "preview/view" mode which can be reached using F3 and not-by doubleclicking (the most common operation). But that will go to a separate usability bug. Anyway, in the preview widget, trying to view the images in fullscreen mode results in improper full-screen. The toolbar at the top, the menu-bar, the left sidebar and the right sidebar are displayed in the full-screen mode. When I press full-screen, I would obviously want proper full-screen (like the one I find in imageeditor) i.e. nothing but the picture on the screen (and possibly with optional toolbar to go forward and backward).
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);
> TODO: find good keyboard shortcut to assign to Slide Show function > - all obvious ones are already used: F5 (powerpoint), F12 (kpresenter) KPDF uses Ctrl+Shift+P. Maybe not nice but it would be used in more than one app. Also... I noticed that F5 is used for Refresh. What is supposed this to do? File changes should be done through FAM. What else should be refreshed?
Mik, The icons item from album, like konqueror do. Gilles
Some issues: - when clicking arrows it starts auto slideshow, IMO users would expect going image by image - file name in lower-left may be not always readable due to character of photo beneath it, maybe some semi transparent background to be sure it will be always readable - file name in lower-left: it sometimes disturbs the viewing, make it visible first few seconds when switching to photo, vanish but show it again when mouse hit bottom of the screen (analog to nav buttons and top of the screen) - keyboard shortcuts for faster going through images and/or buttons for fast forward TIA for consideration of this points
SVN commit 632346 by lure: Implement proper full screen mode for Album GUI Hide menubar, toolbar (configurable), statusbar and left/ride sidebars. BUG: 135655 M +2 -1 NEWS M +25 -0 digikam/digikamapp.cpp M +12 -0 digikam/digikamview.cpp M +2 -0 digikam/digikamview.h --- trunk/extragear/graphics/digikam/NEWS #632345:632346 @@ -493,6 +493,7 @@ 285 ==> 140303 : slideshow must be relocated to View menu from tools menu. 286 ==> 137503 : Tags are not written to image file automatically. 287 ==> 136254 : Editing tags does not change IPTC-keywords. -288 ==> +288 ==> 135655 : Proper full screen mode (no menu, toolbar, statusbar, sidebars) +289 ==> ---------------------------------------------------------------------------------------------------- --- trunk/extragear/graphics/digikam/digikam/digikamapp.cpp #632345:632346 @@ -29,7 +29,9 @@ #include <qstringlist.h> #include <qtimer.h> #include <qsignalmapper.h> +#include <qdockarea.h> + // KDE includes. #include <kaboutdata.h> @@ -44,6 +46,7 @@ #include <ktip.h> #include <kdeversion.h> #include <kapplication.h> +#include <kmenubar.h> #include <kmessagebox.h> #include <kwin.h> #include <dcopref.h> @@ -1511,11 +1514,33 @@ #else showNormal(); #endif + menuBar()->show(); + statusBar()->show(); + topDock()->show(); + bottomDock()->show(); + leftDock()->show(); + rightDock()->show(); + d->view->showSideBars(); + d->fullScreen = false; } else { + KConfig* config = kapp->config(); + config->setGroup("ImageViewer Settings"); + bool fullScreenHideToolBar = config->readBoolEntry("FullScreen Hide ToolBar", false); + + menuBar()->hide(); + statusBar()->hide(); + if (fullScreenHideToolBar) + topDock()->hide(); + bottomDock()->hide(); + leftDock()->hide(); + rightDock()->hide(); + d->view->hideSideBars(); + showFullScreen(); + d->fullScreen = true; } } --- trunk/extragear/graphics/digikam/digikam/digikamview.cpp #632345:632346 @@ -348,6 +348,18 @@ } } +void DigikamView::showSideBars() +{ + d->leftSideBar->restore(); + d->rightSideBar->restore(); +} + +void DigikamView::hideSideBars() +{ + d->leftSideBar->backup(); + d->rightSideBar->backup(); +} + void DigikamView::slotFirstItem(void) { AlbumIconItem *currItem = dynamic_cast<AlbumIconItem*>(d->iconView->firstItem()); --- trunk/extragear/graphics/digikam/digikam/digikamview.h #632345:632346 @@ -57,6 +57,8 @@ void clearHistory(); void getForwardHistory(QStringList &titles); void getBackwardHistory(QStringList &titles); + void showSideBars(); + void hideSideBars(); signals: