From f5006af977b20be0fb8d0f37674d3d2afbe58b54 Mon Sep 17 00:00:00 2001 From: arcan1s Date: Mon, 9 Feb 2015 14:08:51 +0300 Subject: [PATCH] add remove button --- sources/awesome-widget-kf5/plugin/awkeys.cpp | 30 ++++++++++++++++++++ sources/awesome-widget-kf5/plugin/awkeys.h | 1 + sources/desktop-panel-kf5/plugin/dpadds.cpp | 8 ++++-- 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/sources/awesome-widget-kf5/plugin/awkeys.cpp b/sources/awesome-widget-kf5/plugin/awkeys.cpp index 46d1480..0a08168 100644 --- a/sources/awesome-widget-kf5/plugin/awkeys.cpp +++ b/sources/awesome-widget-kf5/plugin/awkeys.cpp @@ -55,6 +55,7 @@ AWKeys::AWKeys(QObject *parent) Qt::Vertical, dialog); copyButton = dialogButtons->addButton(i18n("Copy"), QDialogButtonBox::ActionRole); createButton = dialogButtons->addButton(i18n("Create"), QDialogButtonBox::ActionRole); + deleteButton = dialogButtons->addButton(i18n("Remove"), QDialogButtonBox::ActionRole); QHBoxLayout *layout = new QHBoxLayout(dialog); layout->addWidget(widgetDialog); layout->addWidget(dialogButtons); @@ -823,6 +824,35 @@ void AWKeys::editItemButtonPressed(QAbstractButton *button) default: break; } + } else if (dynamic_cast(button) == deleteButton) { + if (item == nullptr) return; + QString current = item->text(); + switch (requestedItem) { + case RequestedExtScript: + for (int i=0; ifileName() != current) continue; + extScripts[i]->tryDelete(); + break; + } + break; + case RequestedExtUpgrade: + for (int i=0; ifileName() != current) continue; + extUpgrade[i]->tryDelete(); + break; + } + break; + case RequestedGraphicalItem: + for (int i=0; ifileName() != current) continue; + graphicalItems[i]->tryDelete(); + break; + } + break; + case Nothing: + default: + break; + } } else if (dialogButtons->buttonRole(button) == QDialogButtonBox::AcceptRole) { if (item == nullptr) return; QString current = item->text(); diff --git a/sources/awesome-widget-kf5/plugin/awkeys.h b/sources/awesome-widget-kf5/plugin/awkeys.h index 6446b0d..0835609 100644 --- a/sources/awesome-widget-kf5/plugin/awkeys.h +++ b/sources/awesome-widget-kf5/plugin/awkeys.h @@ -102,6 +102,7 @@ private: QDialogButtonBox *dialogButtons = nullptr; QPushButton *copyButton = nullptr; QPushButton *createButton = nullptr; + QPushButton *deleteButton = nullptr; RequestedItem requestedItem = Nothing; // variables bool debug = false; diff --git a/sources/desktop-panel-kf5/plugin/dpadds.cpp b/sources/desktop-panel-kf5/plugin/dpadds.cpp index 3ed599c..13cd374 100644 --- a/sources/desktop-panel-kf5/plugin/dpadds.cpp +++ b/sources/desktop-panel-kf5/plugin/dpadds.cpp @@ -459,11 +459,13 @@ QList DPAdds::getPanels() { if (debug) qDebug() << PDEBUG; + ScriptEngine *env = new ScriptEngine(this); + Plasma::Corona *corona = env->corona(); // Plasma::Corona *corona = new Plasma::Corona(this); QList panels; -// for (int i=0; icontainments().count(); i++) -// if (corona->containments()[i]->containmentType() == Plasma::Types::ContainmentType::PanelContainment) -// panels.append(corona->containments()[i]); + for (int i=0; icontainments().count(); i++) + if (corona->containments()[i]->containmentType() == Plasma::Types::ContainmentType::PanelContainment) + panels.append(corona->containments()[i]); // delete corona; return panels;