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 =3D false; QFileInfo fileInfo(filename); d->removable =3D fileInfo.isWritable(); + d->permanent =3D 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 =3D permanent; +} + diff --git a/libs/pigment/resources/KoResource.h b/libs/pigment/resources/K= oResource.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 savin= g 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/KoResour= ceItemChooser.cpp index 147900c..cdc1587 100644 --- a/libs/widgets/KoResourceItemChooser.cpp +++ b/libs/widgets/KoResourceItemChooser.cpp @@ -378,7 +378,7 @@ void KoResourceItemChooser::updateButtonState() = KoResource *resource =3D currentResource(); if (resource) { - removeButton->setEnabled(true); + removeButton->setEnabled(!resource->permanent()); return; } removeButton->setEnabled(false); diff --git a/libs/widgets/KoResourceServerProvider.cpp b/libs/widgets/KoRes= ourceServerProvider.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 =3D gradient; = @@ -70,6 +71,7 @@ public: = gradient->setStops(stops); gradient->setValid(true); + gradient->setPermanent(true); addResource(gradient, false, true); m_foregroundToBackground =3D gradient; }