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

List:       kde-commits
Subject:    [krita] libs: Don't remove the automatically generated gradients
From:       Sven Langkamp <sven.langkamp () gmail ! com>
Date:       2016-08-28 8:49:43
Message-ID: E1bdvmh-0001sj-8y () code ! kde ! org
[Download RAW message or body]

Git commit c66d72c36272a1cd28636e3918379794a6afd618 by Sven Langkamp.
Committed on 28/08/2016 at 08:49.
Pushed by langkamp into branch 'master'.

Don't remove the automatically generated gradients
BUG:366741

M  +12   -0    libs/pigment/resources/KoResource.cpp
M  +4    -0    libs/pigment/resources/KoResource.h
M  +1    -1    libs/widgets/KoResourceItemChooser.cpp
M  +2    -0    libs/widgets/KoResourceServerProvider.cpp

http://commits.kde.org/krita/c66d72c36272a1cd28636e3918379794a6afd618

diff --git a/libs/pigment/resources/KoResource.cpp b/libs/pigment/resources/KoResource.cpp
index 3ce3bb9..1772867 100644
--- a/libs/pigment/resources/KoResource.cpp
+++ b/libs/pigment/resources/KoResource.cpp
@@ -34,6 +34,7 @@ struct Q_DECL_HIDDEN KoResource::Private {
     bool removable;
     QByteArray md5;
     QImage image;
+    bool permanent;
 };
 
 KoResource::KoResource(const QString& filename)
@@ -43,6 +44,7 @@ KoResource::KoResource(const QString& filename)
     d->valid = false;
     QFileInfo fileInfo(filename);
     d->removable = fileInfo.isWritable();
+    d->permanent = false;
 }
 
 KoResource::~KoResource()
@@ -140,3 +142,13 @@ QString KoResource::defaultFileExtension() const
     return QString();
 }
 
+bool KoResource::permanent() const
+{
+    return d->permanent;
+}
+
+void KoResource::setPermanent(bool permanent)
+{
+    d->permanent = permanent;
+}
+
diff --git a/libs/pigment/resources/KoResource.h b/libs/pigment/resources/KoResource.h
index 88f121b..be20bed 100644
--- a/libs/pigment/resources/KoResource.h
+++ b/libs/pigment/resources/KoResource.h
@@ -97,6 +97,10 @@ public:
     /// @return the default file extension which should be used when saving the resource
     virtual QString defaultFileExtension() const;
 
+    /// @return true if the resource is permanent and can't be removed by the user    
+    bool permanent() const;
+    void setPermanent(bool permanent);
+
 protected:
 
     /// override generateMD5 and in your resource subclass
diff --git a/libs/widgets/KoResourceItemChooser.cpp b/libs/widgets/KoResourceItemChooser.cpp
index 147900c..cdc1587 100644
--- a/libs/widgets/KoResourceItemChooser.cpp
+++ b/libs/widgets/KoResourceItemChooser.cpp
@@ -378,7 +378,7 @@ void KoResourceItemChooser::updateButtonState()
 
     KoResource *resource = currentResource();
     if (resource) {
-        removeButton->setEnabled(true);
+        removeButton->setEnabled(!resource->permanent());
         return;
     }
     removeButton->setEnabled(false);
diff --git a/libs/widgets/KoResourceServerProvider.cpp b/libs/widgets/KoResourceServerProvider.cpp
index 53edd41..3bc1cc7 100644
--- a/libs/widgets/KoResourceServerProvider.cpp
+++ b/libs/widgets/KoResourceServerProvider.cpp
@@ -58,6 +58,7 @@ public:
 
         gradient->setStops(stops);
         gradient->setValid(true);
+        gradient->setPermanent(true);
         addResource(gradient, false, true);
         m_foregroundToTransparent = gradient;
 
@@ -70,6 +71,7 @@ public:
 
         gradient->setStops(stops);
         gradient->setValid(true);
+        gradient->setPermanent(true);
         addResource(gradient, false, true);
         m_foregroundToBackground = gradient;
     }
[prev in list] [next in list] [prev in thread] [next in thread] 

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