[digikam] fix fullscreen settings loading kde#320016

nucleo nucleo at fedoraproject.org
Tue May 28 22:48:17 UTC 2013


commit f02982f0ff0d05194fe2eecfd4e738f733876d24
Author: nucleo <nucleo at fedoraproject.org>
Date:   Wed May 29 01:48:07 2013 +0300

    fix fullscreen settings loading kde#320016

 digikam-3.2.0-fullscreen.patch |  193 ++++++++++++++++++++++++++++++++++++++++
 digikam.spec                   |   13 +++-
 2 files changed, 205 insertions(+), 1 deletions(-)
---
diff --git a/digikam-3.2.0-fullscreen.patch b/digikam-3.2.0-fullscreen.patch
new file mode 100644
index 0000000..1487d34
--- /dev/null
+++ b/digikam-3.2.0-fullscreen.patch
@@ -0,0 +1,193 @@
+commit 439316380574b6dc8b3c3ed37efa1e74656c342f
+Author: Gilles Caulier <caulier.gilles at gmail.com>
+Date:   Tue May 28 14:01:58 2013 +0200
+
+    factoring everywhere Genreal config group used to store main windows settings in RC file
+    Ensure that full screen settings is loaded at initialization of AlbumGUI.
+    CCBUGS: 320371
+    CCBUGS: 320016
+    CCBUGS: 319876
+
+diff --git a/digikam/main/digikamapp.cpp b/digikam/main/digikamapp.cpp
+index 9e38514..782e64c 100644
+--- a/digikam/main/digikamapp.cpp
++++ b/digikam/main/digikamapp.cpp
+@@ -190,7 +190,9 @@ DigikamApp::DigikamApp()
+ 
+     setObjectName("Digikam");
+ 
+-    if (d->config->group("General Settings").readEntry("Show Splash", true) &&
++    KConfigGroup group = AlbumSettings::instance()->generalConfigGroup();
++
++    if (group.readEntry("Show Splash", true) &&
+         !kapp->isSessionRestored())
+     {
+         d->splashScreen = new SplashScreen();
+@@ -208,7 +210,7 @@ DigikamApp::DigikamApp()
+             + QString::number(QCoreApplication::instance()->applicationPid()));
+ 
+     // collection scan
+-    if (d->config->group("General Settings").readEntry("Scan At Start", true) ||
++    if (group.readEntry("Scan At Start", true) ||
+         !CollectionScanner::databaseInitialScanDone())
+     {
+         ScanController::instance()->completeCollectionScanDeferFiles(d->splashScreen);
+@@ -220,7 +222,6 @@ DigikamApp::DigikamApp()
+     }
+ 
+     // ensure creation
+-    AlbumSettings::instance();
+     AlbumManager::instance();
+     LoadingCacheInterface::initialize();
+     IccSettings::instance()->loadAllProfilesProperties();
+@@ -266,7 +267,7 @@ DigikamApp::DigikamApp()
+     // This manager must be created after collection setup.
+     d->tagsActionManager = new TagsActionMngr(this);
+ 
+-    applyMainWindowSettings(d->config->group("General Settings"));
++    applyMainWindowSettings(group);
+ 
+     // Check ICC profiles repository availability
+ 
+@@ -291,10 +292,11 @@ DigikamApp::DigikamApp()
+     // preload additional windows
+     preloadWindows();
+ 
+-    setAutoSaveSettings("General Settings", true);
++    readFullScreenSettings(group);
++    setAutoSaveSettings(group, true);
+ 
+     // Now, enable finished the collection scan as deferred process
+-    NewItemsFinder* tool = new NewItemsFinder(NewItemsFinder::ScanDeferredFiles);
++    NewItemsFinder* const tool = new NewItemsFinder(NewItemsFinder::ScanDeferredFiles);
+     tool->start();
+ 
+     LoadSaveThread::setInfoProvider(new DatabaseLoadSaveFileInfoProvider);
+@@ -2414,7 +2416,7 @@ void DigikamApp::slotSetupChanged()
+     }
+ 
+     // Load full-screen options
+-    KConfigGroup group = AlbumSettings::instance()->defaultConfigGroup();
++    KConfigGroup group = AlbumSettings::instance()->generalConfigGroup();
+     readFullScreenSettings(group);
+ 
+     d->view->applySettings();
+@@ -2446,7 +2448,7 @@ void DigikamApp::slotEditKeys()
+ 
+ void DigikamApp::slotConfToolbars()
+ {
+-    saveMainWindowSettings(d->config->group("General Settings"));
++    saveMainWindowSettings(AlbumSettings::instance()->generalConfigGroup());
+     KEditToolBar dlg(factory(), this);
+ 
+     connect(&dlg, SIGNAL(newToolBarConfig()),
+@@ -2457,7 +2459,7 @@ void DigikamApp::slotConfToolbars()
+ 
+ void DigikamApp::slotNewToolbarConfig()
+ {
+-    applyMainWindowSettings(d->config->group("General Settings"));
++    applyMainWindowSettings(AlbumSettings::instance()->generalConfigGroup());
+ }
+ 
+ void DigikamApp::slotConfNotifications()
+diff --git a/digikam/utils/albumsettings.cpp b/digikam/utils/albumsettings.cpp
+index a7db340..6cda14d 100644
+--- a/digikam/utils/albumsettings.cpp
++++ b/digikam/utils/albumsettings.cpp
+@@ -552,9 +552,9 @@ void AlbumSettings::init()
+             this, SLOT(applyNepomukSettings()));
+ }
+ 
+-KConfigGroup AlbumSettings::defaultConfigGroup() const
++KConfigGroup AlbumSettings::generalConfigGroup() const
+ {
+-    return d->config->group(d->configGroupDefault);
++    return d->config->group(d->configGroupGeneral);
+ }
+ 
+ void AlbumSettings::readSettings()
+@@ -563,7 +563,7 @@ void AlbumSettings::readSettings()
+ 
+     // ---------------------------------------------------------------------
+ 
+-    KConfigGroup group  = defaultConfigGroup();
++    KConfigGroup group = config->group(d->configGroupDefault);
+ 
+     QStringList collectionList = group.readEntry(d->configAlbumCollectionsEntry, QStringList());
+ 
+@@ -655,7 +655,7 @@ void AlbumSettings::readSettings()
+ 
+     // ---------------------------------------------------------------------
+ 
+-    group = config->group(d->configGroupGeneral);
++    group = generalConfigGroup();
+ 
+     d->showSplash                = group.readEntry(d->configShowSplashEntry,                      true);
+     d->useTrash                  = group.readEntry(d->configUseTrashEntry,                        true);
+@@ -701,7 +701,7 @@ void AlbumSettings::saveSettings()
+ 
+     // ---------------------------------------------------------------------
+ 
+-    KConfigGroup group = defaultConfigGroup();
++    KConfigGroup group = config->group(d->configGroupDefault);
+ 
+     group.writeEntry(d->configAlbumCollectionsEntry,             d->albumCategoryNames);
+     group.writeEntry(d->configAlbumSortOrderEntry,               (int)d->albumSortOrder);
+@@ -775,7 +775,7 @@ void AlbumSettings::saveSettings()
+ 
+     // ---------------------------------------------------------------------
+ 
+-    group = config->group(d->configGroupGeneral);
++    group = generalConfigGroup();
+ 
+     group.writeEntry(d->configShowSplashEntry,                   d->showSplash);
+     group.writeEntry(d->configUseTrashEntry,                     d->useTrash);
+diff --git a/digikam/utils/albumsettings.h b/digikam/utils/albumsettings.h
+index 90197d3..e0b3816 100644
+--- a/digikam/utils/albumsettings.h
++++ b/digikam/utils/albumsettings.h
+@@ -393,7 +393,7 @@ public:
+     void setApplicationStyle(const QString& style);
+     QString getApplicationStyle() const;
+ 
+-    KConfigGroup defaultConfigGroup() const;
++    KConfigGroup generalConfigGroup() const;
+ 
+ public Q_SLOTS:
+ 
+diff --git a/utilities/setup/setupalbumview.cpp b/utilities/setup/setupalbumview.cpp
+index 166de47..8039650 100644
+--- a/utilities/setup/setupalbumview.cpp
++++ b/utilities/setup/setupalbumview.cpp
+@@ -110,11 +110,11 @@ public:
+ SetupAlbumView::SetupAlbumView(QWidget* const parent)
+     : QScrollArea(parent), d(new Private)
+ {
+-    QWidget* panel      = new QWidget(viewport());
++    QWidget* const panel      = new QWidget(viewport());
+     setWidget(panel);
+     setWidgetResizable(true);
+ 
+-    QVBoxLayout* layout = new QVBoxLayout(panel);
++    QVBoxLayout* const layout = new QVBoxLayout(panel);
+ 
+     // --------------------------------------------------------
+ 
+@@ -306,7 +306,7 @@ void SetupAlbumView::applySettings()
+     settings->setShowFolderTreeViewItemsCount(d->showFolderTreeViewItemsCount->isChecked());
+     settings->saveSettings();
+ 
+-    KConfigGroup group = settings->defaultConfigGroup();
++    KConfigGroup group = settings->generalConfigGroup();
+     d->fullScreenSettings->saveSettings(group);
+ }
+ 
+@@ -357,7 +357,7 @@ void SetupAlbumView::readSettings()
+     d->previewShowIcons->setChecked(settings->getPreviewShowIcons());
+     d->showFolderTreeViewItemsCount->setChecked(settings->getShowFolderTreeViewItemsCount());
+ 
+-    KConfigGroup group = settings->defaultConfigGroup();
++    KConfigGroup group = settings->generalConfigGroup();
+     d->fullScreenSettings->readSettings(group);
+ }
+ 
diff --git a/digikam.spec b/digikam.spec
index 58087bb..3b5c0f2 100644
--- a/digikam.spec
+++ b/digikam.spec
@@ -6,7 +6,7 @@
 
 Name:	 digikam
 Version: 3.2.0
-Release: 1%{?pre}%{?dist}
+Release: 2%{?pre}%{?dist}
 Summary: A digital camera accessing & photo management application
 
 License: GPLv2+
@@ -24,6 +24,10 @@ Patch51:  digikam-3.1.0-opencv20.patch
 
 ## upstream patches
 
+# Ensure that full screen settings is loaded at initialization of AlbumGUI.
+https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/439316380574b6dc8b3c3ed37efa1e74656c342f
+Patch100: digikam-3.2.0-fullscreen.patch
+
 BuildRequires: eigen3-devel
 BuildRequires: desktop-file-utils
 BuildRequires: doxygen
@@ -225,6 +229,10 @@ BuildArch: noarch
 %patch51 -p1 -b .opencv20
 %endif
 
+pushd core
+%patch100 -p1 -b .fullscreen
+popd
+
 # don't use bundled/old FindKipi.cmake in favor of kdelibs' version
 # see http:/bugs.kde.org/307213
 mv cmake/modules/FindKipi.cmake cmake/modules/FindKipi.cmake.ORIG
@@ -525,6 +533,9 @@ update-desktop-database -q &> /dev/null
 
 
 %changelog
+* Wed May 29 2013 Alexey Kurov <nucleo at fedoraproject.org> - 3.2.0-2
+- fix fullscreen settings loading kde#320016
+
 * Tue May 14 2013 Alexey Kurov <nucleo at fedoraproject.org> - 3.2.0-1
 - digikam-3.2.0
 


More information about the scm-commits mailing list