Summary: | proper full screen mode in preview (F3) - no sidebar, toolbar | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Debajyoti Bera <dbera.web> |
Component: | Preview-Image | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | CC: | lure |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 0.9.1 | |
Sentry Crash Report: |
Description
Debajyoti Bera
2006-10-14 22:29:21 UTC
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: |