[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdeplasma-addons] applets/comic: Makes sure that the saving dir actually exists.
From:       Matthias Fuchs <mat69 () gmx ! net>
Date:       2012-02-05 11:46:44
Message-ID: 20120205114644.0F87DA60BE () git ! kde ! org
[Download RAW message or body]

Git commit f47a53ad92101ab026687aed2e896112d4b5965a by Matthias Fuchs.
Committed on 05/02/2012 at 11:36.
Pushed by mfuchs into branch 'master'.

Makes sure that the saving dir actually exists.

Also deletes the d ptr.

M  +11   -4    applets/comic/comicinfo.cpp

http://commits.kde.org/kdeplasma-addons/f47a53ad92101ab026687aed2e896112d4b5965a

diff --git a/applets/comic/comicinfo.cpp b/applets/comic/comicinfo.cpp
index 1709c25..c7372ae 100644
--- a/applets/comic/comicinfo.cpp
+++ b/applets/comic/comicinfo.cpp
@@ -33,11 +33,11 @@ class SavingDir::SavingDirPrivate
 
         QString getDir() const;
         void setDir(const QString &dir);
-        SavingDir *instance();
 
     private:
         void load();
         void save();
+        bool isValid();
 
     private:
         KConfigGroup mCfg;
@@ -71,13 +71,13 @@ void SavingDir::SavingDirPrivate::setDir(const QString &dir)
 void SavingDir::SavingDirPrivate::load()
 {
     mDir = mCfg.readEntry("savingDir", QString());
-    if (mDir.isEmpty()) {
+    if (!isValid()) {
         mDir = KGlobalSettings::picturesPath();
     }
-    if (mDir.isEmpty()) {
+    if (!isValid()) {
         mDir = KGlobalSettings::downloadPath();
     }
-    if (mDir.isEmpty()) {
+    if (!isValid()) {
         mDir = QDir::homePath();
     }
 }
@@ -87,6 +87,12 @@ void SavingDir::SavingDirPrivate::save()
      mCfg.writeEntry("savingDir", mDir);
 }
 
+bool SavingDir::SavingDirPrivate::isValid()
+{
+    QDir dir;
+    return (!mDir.isEmpty() && dir.exists(mDir));
+}
+
 SavingDir::SavingDir(const KConfigGroup &cfg)
   : d(new SavingDirPrivate(cfg))
 {
@@ -95,6 +101,7 @@ SavingDir::SavingDir(const KConfigGroup &cfg)
 
 SavingDir::~SavingDir()
 {
+    delete d;
 }
 
 QString SavingDir::getDir() const

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic