[Digikam-devel] branches/extragear/kde3/graphics/digikam

Gilles Caulier caulier.gilles at gmail.com
Fri Mar 14 10:20:13 CET 2008


SVN commit 785523 by cgilles:

digiKam from KDE3 branch : Showfoto now support Color Theme scheme as digiKam core

CCBUGS: 120309
CCMAIL: digikam-devel at kde.org



 M  +2 -0      showfoto/Makefile.am  
 M  +25 -4     showfoto/setup/setupeditor.cpp  
 M  +5 -1      showfoto/setup/setupeditor.h  
 M  +14 -5     showfoto/showfoto.cpp  
 M  +2 -1      showfoto/showfotoui.rc  
 M  +40 -0     utilities/imageeditor/editor/editorwindow.cpp  
 M  +6 -0      utilities/imageeditor/editor/editorwindow.h  
 M  +3 -35     utilities/imageeditor/editor/imagewindow.cpp  
 M  +0 -2      utilities/imageeditor/editor/imagewindow.h  


--- branches/extragear/kde3/graphics/digikam/showfoto/Makefile.am #785522:785523
@@ -13,6 +13,7 @@
 	   -I$(top_srcdir)/digikam/libs/dimg \
 	   -I$(top_srcdir)/digikam/libs/dmetadata \
 	   -I$(top_srcdir)/digikam/libs/threadimageio \
+	   -I$(top_srcdir)/digikam/libs/themeengine \
 	   -I$(top_srcdir)/digikam/digikam \
 	   -I$(top_srcdir)/digikam/utilities/slideshow \
 	   -I$(top_srcdir)/digikam/utilities/imageeditor/canvas \
@@ -29,6 +30,7 @@
 	           $(top_builddir)/digikam/utilities/imageeditor/editor/libshowfoto.la \
 	           $(top_builddir)/digikam/utilities/slideshow/libslideshow.la \
 	           $(top_builddir)/digikam/libs/threadimageio/libthreadimageio.la \
+	           $(top_builddir)/digikam/libs/themeengine/libthemeengine.la \
 	           $(top_builddir)/digikam/libs/jpegutils/libjpegutils.la \
 	           $(LIB_KUTILS) $(LIB_KPARTS) $(LIBJPEG)  
 
--- branches/extragear/kde3/graphics/digikam/showfoto/setup/setupeditor.cpp #785522:785523
@@ -6,7 +6,7 @@
  * Date        : 2005-04-02
  * Description : setup showfoto tab.
  * 
- * Copyright (C) 2005-2007 by Gilles Caulier <caulier dot gilles at gmail dot com>
+ * Copyright (C) 2005-2008 by Gilles Caulier <caulier dot gilles at gmail dot com>
  *
  * This program is free software; you can redistribute it
  * and/or modify it under the terms of the GNU General
@@ -64,8 +64,12 @@
         exifSetOrientationBox = 0;
         overExposureColor     = 0;
         underExposureColor    = 0;
+        themebackgroundColor  = 0;
+        colorBox              = 0;
     }
 
+    QHBox        *colorBox;
+
     QCheckBox    *hideToolBar;
     QCheckBox    *hideThumbBar;
     QCheckBox    *horizontalThumbBar;
@@ -73,6 +77,7 @@
     QCheckBox    *useTrash;
     QCheckBox    *exifRotateBox;
     QCheckBox    *exifSetOrientationBox;
+    QCheckBox    *themebackgroundColor;
     
     KColorButton *backgroundColor;
     KColorButton *underExposureColor;
@@ -89,9 +94,15 @@
     
     QVGroupBox *interfaceOptionsGroup = new QVGroupBox(i18n("Interface Options"), parent);
     
-    QHBox* colorBox              = new QHBox(interfaceOptionsGroup);    
-    QLabel *backgroundColorlabel = new QLabel( i18n("&Background color:"), colorBox );
-    d->backgroundColor           = new KColorButton(colorBox);
+    d->themebackgroundColor = new QCheckBox(i18n("&Use theme background color"),
+                                            interfaceOptionsGroup);
+
+    QWhatsThis::add( d->themebackgroundColor, i18n("<p>Enable this option to use the background theme "
+                                              "color in the image editor area") );
+
+    d->colorBox                  = new QHBox(interfaceOptionsGroup);    
+    QLabel *backgroundColorlabel = new QLabel( i18n("&Background color:"), d->colorBox);
+    d->backgroundColor           = new KColorButton(d->colorBox);
     backgroundColorlabel->setBuddy(d->backgroundColor);
     QWhatsThis::add( d->backgroundColor, i18n("<p>Select the background color to use "
                                               "for the image editor area.") );
@@ -139,6 +150,9 @@
     
     // --------------------------------------------------------
     
+    connect(d->themebackgroundColor, SIGNAL(toggled(bool)),
+            this, SLOT(slotThemeBackgroundColor(bool)));
+
     readSettings();
 }
 
@@ -147,12 +161,18 @@
     delete d;
 }
 
+void SetupEditor::slotThemeBackgroundColor(bool e)
+{
+    d->colorBox->setEnabled(!e);
+}
+
 void SetupEditor::readSettings()
 {
     KConfig* config = kapp->config();
     QColor Black(Qt::black);
     QColor White(Qt::white);
     config->setGroup("ImageViewer Settings");
+    d->themebackgroundColor->setChecked(config->readBoolEntry("UseThemeBackgroundColor", true));
     d->backgroundColor->setColor( config->readColorEntry("BackgroundColor", &Black ) );
     d->hideToolBar->setChecked(config->readBoolEntry("FullScreen Hide ToolBar", false));
     d->hideThumbBar->setChecked(config->readBoolEntry("FullScreenHideThumbBar", true));
@@ -169,6 +189,7 @@
 {
     KConfig* config = kapp->config();
     config->setGroup("ImageViewer Settings");
+    config->writeEntry("UseThemeBackgroundColor", d->themebackgroundColor->isChecked());
     config->writeEntry("BackgroundColor", d->backgroundColor->color());
     config->writeEntry("FullScreen Hide ToolBar", d->hideToolBar->isChecked());
     config->writeEntry("FullScreenHideThumbBar", d->hideThumbBar->isChecked());
--- branches/extragear/kde3/graphics/digikam/showfoto/setup/setupeditor.h #785522:785523
@@ -6,7 +6,7 @@
  * Date        : 2005-04-02
  * Description : setup showfoto tab.
  * 
- * Copyright (C) 2005-2007 by Gilles Caulier <caulier dot gilles at gmail dot com>
+ * Copyright (C) 2005-2008 by Gilles Caulier <caulier dot gilles at gmail dot com>
  *
  * This program is free software; you can redistribute it
  * and/or modify it under the terms of the GNU General
@@ -44,6 +44,10 @@
 
     void applySettings();
 
+private slots:
+
+    void slotThemeBackgroundColor(bool);
+
 private:
 
     void readSettings();
--- branches/extragear/kde3/graphics/digikam/showfoto/showfoto.cpp #785522:785523
@@ -9,7 +9,7 @@
  * Copyright (C) 2004-2005 by Renchi Raju <renchi at pooh.tam.uiuc.edu>
  * Copyright (C) 2005-2006 by Tom Albers <tomalbers at kde.nl>
  * Copyright (C) 2004-2008 by Gilles Caulier <caulier dot gilles at gmail dot com>
- * Copyright (C) 2006-2007 by Marcel Wiesweg <marcel.wiesweg at gmx.de>
+ * Copyright (C) 2006-2008 by Marcel Wiesweg <marcel.wiesweg at gmx.de>
  *
  * This program is free software; you can redistribute it
  * and/or modify it under the terms of the GNU General
@@ -94,6 +94,7 @@
 #include "iofilesettingscontainer.h"
 #include "loadingcacheinterface.h"
 #include "savingcontextcontainer.h"
+#include "themeengine.h"
 #include "showfoto.h"
 #include "showfoto.moc"
 
@@ -178,6 +179,13 @@
 
     KDcrawIface::DcrawBinary::instance()->checkSystem();
 
+    // Populate Themes
+
+    if(d->splash)
+        d->splash->message(i18n("Loading themes"), AlignLeft, white);
+
+    Digikam::ThemeEngine::instance()->scanThemes();
+
     // -- Build the GUI -----------------------------------
 
     setupUserArea();
@@ -490,7 +498,9 @@
     if(config->hasKey("Vertical Splitter Sizes") && d->vSplitter)
         d->vSplitter->setSizes(config->readIntListEntry("Vertical Splitter Sizes"));
     else 
-        m_canvas->setSizePolicy(szPolicy);    
+        m_canvas->setSizePolicy(szPolicy);
+
+    Digikam::ThemeEngine::instance()->setCurrentTheme(config->readEntry("Theme", i18n("Default")));
 }
 
 void ShowFoto::saveSettings()
@@ -506,6 +516,8 @@
     if (d->vSplitter)
         config->writeEntry("Vertical Splitter Sizes", d->vSplitter->sizes());
 
+    config->writeEntry("Theme", Digikam::ThemeEngine::instance()->getCurrentThemeName());
+
     config->sync();    
 }
 
@@ -516,9 +528,6 @@
     KConfig* config = kapp->config();
     config->setGroup("ImageViewer Settings");
 
-    m_bgColor = config->readColorEntry("BackgroundColor", &Qt::black);
-    m_canvas->setBackgroundColor(m_bgColor);
-
     // Current image deleted go to trash ?
     d->deleteItem2Trash = config->readBoolEntry("DeleteItem2Trash", true);
     if (d->deleteItem2Trash)
--- branches/extragear/kde3/graphics/digikam/showfoto/showfotoui.rc #785522:785523
@@ -1,5 +1,5 @@
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<gui version="27" name="showfoto" >
+<gui version="28" name="showfoto" >
 
 <MenuBar>
 
@@ -88,6 +88,7 @@
         <Merge name="StandardToolBarMenuHandler" />
         <Action name="options_show_statusbar"/>
         <Separator/>
+        <Action name="theme_menu" />
         <Action name="options_configure_keybinding" />
         <Action name="options_configure_toolbars" />
         <Action name="options_configure" />
--- branches/extragear/kde3/graphics/digikam/utilities/imageeditor/editor/editorwindow.cpp #785522:785523
@@ -102,6 +102,7 @@
 #include "savingcontextcontainer.h"
 #include "loadingcacheinterface.h"
 #include "slideshowsettings.h"
+#include "themeengine.h"
 #include "editorwindowprivate.h"
 #include "editorwindow.h"
 #include "editorwindow.moc"
@@ -117,6 +118,7 @@
 {
     d = new EditorWindowPriv;
 
+    m_themeMenuAction        = 0;
     m_contextMenu            = 0;
     m_canvas                 = 0;
     m_imagePluginLoader      = 0;
@@ -469,6 +471,17 @@
     KStdAction::configureToolbars(this, SLOT(slotConfToolbars()), actionCollection());
     KStdAction::preferences(this, SLOT(slotSetup()),              actionCollection());
 
+    // -----------------------------------------------------------------------------------------
+
+    m_themeMenuAction = new KSelectAction(i18n("&Themes"), 0, actionCollection(), "theme_menu");
+    m_themeMenuAction->setItems(ThemeEngine::instance()->themeNames());
+
+    connect(m_themeMenuAction, SIGNAL(activated(const QString&)),
+            this, SLOT(slotChangeTheme(const QString&)));
+
+    connect(ThemeEngine::instance(), SIGNAL(signalThemeChanged()),
+            this, SLOT(slotThemeChanged()));
+
     // -- Standard 'Help' menu actions ---------------------------------------------
 
     d->donateMoneyAction = new KAction(i18n("Make a donation..."),
@@ -926,6 +939,8 @@
     
     d->fullScreenHideToolBar = config->readBoolEntry("FullScreen Hide ToolBar", false);
 
+    slotThemeChanged();
+
     // -- Exposure Indicators Settings --------------------------------------- 
 
     QColor black(Qt::black);
@@ -1844,4 +1859,29 @@
                                  list, i18n("List of supported RAW camera"));
 }
 
+void EditorWindow::slotThemeChanged()
+{
+    QStringList themes(ThemeEngine::instance()->themeNames());
+    int index = themes.findIndex(ThemeEngine::instance()->getCurrentThemeName());
+    if (index == -1)
+        index = themes.findIndex(i18n("Default"));
+
+    m_themeMenuAction->setCurrentItem(index);
+
+    KConfig* config = kapp->config();
+    config->setGroup("ImageViewer Settings");
+
+    if (!config->readBoolEntry("UseThemeBackgroundColor", true))
+        m_bgColor = config->readColorEntry("BackgroundColor", &Qt::black);
+    else
+        m_bgColor = ThemeEngine::instance()->baseColor();
+
+    m_canvas->setBackgroundColor(m_bgColor);
+}
+
+void EditorWindow::slotChangeTheme(const QString& theme)
+{
+    ThemeEngine::instance()->slotChangeTheme(theme);
+}
+
 }  // namespace Digikam
--- branches/extragear/kde3/graphics/digikam/utilities/imageeditor/editor/editorwindow.h #785522:785523
@@ -46,6 +46,7 @@
 class KToolBarPopupAction;
 class KToggleAction;
 class KAction;
+class KSelectAction;
 
 namespace Digikam
 {
@@ -100,6 +101,8 @@
 
     KToggleAction           *m_fullScreenAction;
 
+    KSelectAction           *m_themeMenuAction;
+
     KToolBarPopupAction     *m_undoAction;
     KToolBarPopupAction     *m_redoAction;
 
@@ -181,11 +184,14 @@
 
     void slotNameLabelCancelButtonPressed();
 
+    void slotThemeChanged();
+
     virtual void slotLoadingStarted(const QString& filename);
     virtual void slotLoadingFinished(const QString &filename, bool success);
     virtual void slotSavingStarted(const QString &filename);
 
     virtual void slotSetup(){ setup(); };
+    virtual void slotChangeTheme(const QString& theme);
 
     virtual void slotFilePrint()=0;
     virtual void slotDeleteCurrentItem()=0;
--- branches/extragear/kde3/graphics/digikam/utilities/imageeditor/editor/imagewindow.cpp #785522:785523
@@ -68,7 +68,6 @@
 #include "dragobjects.h"
 #include "canvas.h"
 #include "dimginterface.h"
-#include "themeengine.h"
 #include "dimg.h"
 #include "dmetadata.h"
 #include "imageplugin.h"
@@ -93,6 +92,7 @@
 #include "imageattributeswatch.h"
 #include "deletedialog.h"
 #include "metadatahub.h"
+#include "themeengine.h"
 #include "imagewindow.h"
 #include "imagewindow.moc"
 
@@ -118,7 +118,6 @@
         fileTrashDirectlyAction             = 0;
         imageInfoCurrent                    = 0;
         rightSidebar                        = 0;
-        themeMenuAction                     = 0;
     }
 
     // If image editor is launched by camera interface, current
@@ -141,8 +140,6 @@
     KAction                  *fileDeletePermanentlyDirectlyAction;
     KAction                  *fileTrashDirectlyAction;
 
-    KSelectAction            *themeMenuAction;
-
     ImageInfoList             imageInfoList;
     ImageInfo                *imageInfoCurrent;
 
@@ -195,6 +192,8 @@
     readSettings();
     applySettings();
     setAutoSaveSettings("ImageViewer Settings");
+    m_themeMenuAction->setItems(ThemeEngine::instance()->themeNames());
+    slotThemeChanged();
 
     //-------------------------------------------------------------
 
@@ -266,9 +265,6 @@
 
     connect(watch, SIGNAL(signalFileMetadataChanged(const KURL &)),
             this, SLOT(slotFileMetadataChanged(const KURL &)));
-
-    connect(ThemeEngine::instance(), SIGNAL(signalThemeChanged()),
-            this, SLOT(slotThemeChanged()));
 }
 
 void ImageWindow::setupUserArea()
@@ -327,15 +323,6 @@
                           d->rightSidebar, SLOT(slotAssignRatingFiveStar()),
                           actionCollection(), "imageview_ratefivestar");
 
-    // -----------------------------------------------------------------------------------------
-
-    d->themeMenuAction = new KSelectAction(i18n("&Themes"), 0, actionCollection(), "theme_menu");
-    connect(d->themeMenuAction, SIGNAL(activated(const QString&)),
-            this, SLOT(slotChangeTheme(const QString&)));
-
-    d->themeMenuAction->setItems(ThemeEngine::instance()->themeNames());
-    slotThemeChanged();
-
     // -- Special Delete actions ---------------------------------------------------------------
 
     // Pop up dialog to ask user whether to permanently delete
@@ -381,13 +368,6 @@
     KConfig* config = kapp->config();
     config->setGroup("ImageViewer Settings");
 
-    if (!config->readBoolEntry("UseThemeBackgroundColor", true))
-        m_bgColor = config->readColorEntry("BackgroundColor", &Qt::black);
-    else
-        m_bgColor = ThemeEngine::instance()->baseColor();
-
-    m_canvas->setBackgroundColor(m_bgColor);
-
     AlbumSettings *settings = AlbumSettings::instance();
     m_canvas->setExifOrient(settings->getExifRotate());
     m_setExifOrientationTag = settings->getExifSetOrientation();
@@ -1240,18 +1220,6 @@
     m_canvas->slotRestore();
 }
 
-void ImageWindow::slotThemeChanged()
-{
-    QStringList themes(ThemeEngine::instance()->themeNames());
-    int index = themes.findIndex(AlbumSettings::instance()->getCurrentTheme());
-    if (index == -1)
-        index = themes.findIndex(i18n("Default"));
-
-    d->themeMenuAction->setCurrentItem(index);
-
-    m_canvas->setBackgroundColor(ThemeEngine::instance()->baseColor());
-}
-
 void ImageWindow::slotChangeTheme(const QString& theme)
 {
     AlbumSettings::instance()->setCurrentTheme(theme);
--- branches/extragear/kde3/graphics/digikam/utilities/imageeditor/editor/imagewindow.h #785522:785523
@@ -131,8 +131,6 @@
     void slotAssignRating(int rating);
 
     void slotFileMetadataChanged(const KURL &);
-
-    void slotThemeChanged();
     void slotChangeTheme(const QString& theme);
 
 private:


More information about the Digikam-devel mailing list