[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