diff --git a/sources/awesome-widget/advanced.ui b/sources/awesome-widget/advanced.ui
index 43b3018..1b298e4 100644
--- a/sources/awesome-widget/advanced.ui
+++ b/sources/awesome-widget/advanced.ui
@@ -7,7 +7,7 @@
0
0
700
- 592
+ 590
@@ -41,9 +41,9 @@
0
- -225
- 677
- 801
+ -239
+ 675
+ 813
@@ -469,7 +469,11 @@ $m - uptime minutes without zero
-
-
+
+
+ Qt::CustomContextMenu
+
+
diff --git a/sources/awesome-widget/awesome-widget.h b/sources/awesome-widget/awesome-widget.h
index 977957a..98b9423 100644
--- a/sources/awesome-widget/awesome-widget.h
+++ b/sources/awesome-widget/awesome-widget.h
@@ -82,6 +82,8 @@ private slots:
void addBar();
void addCustomScript();
void addNewPkgCommand(QTableWidgetItem *item);
+ void contextMenuBars(const QPoint pos);
+ void contextMenuCustomCommand(const QPoint pos);
void contextMenuPkgCommand(const QPoint pos);
void editBar(QListWidgetItem *item);
void editCustomCommand(QListWidgetItem *item);
diff --git a/sources/awesome-widget/configuration.cpp b/sources/awesome-widget/configuration.cpp
index 020b564..eb5be8f 100644
--- a/sources/awesome-widget/configuration.cpp
+++ b/sources/awesome-widget/configuration.cpp
@@ -451,8 +451,12 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent)
this, SLOT(editTempItem(QListWidgetItem *)));
connect(uiAdvancedConfig.listWidget_bars, SIGNAL(itemActivated(QListWidgetItem *)),
this, SLOT(editBar(QListWidgetItem *)));
+ connect(uiAdvancedConfig.listWidget_bars, SIGNAL(customContextMenuRequested(QPoint)),
+ this, SLOT(contextMenuBars(QPoint)));
connect(uiDEConfig.listWidget_custom, SIGNAL(itemActivated(QListWidgetItem *)),
this, SLOT(editCustomCommand(QListWidgetItem *)));
+ connect(uiDEConfig.listWidget_custom, SIGNAL(customContextMenuRequested(QPoint)),
+ this, SLOT(contextMenuCustomCommand(QPoint)));
connect(uiDEConfig.tableWidget_pkgCommand, SIGNAL(itemChanged(QTableWidgetItem *)),
this, SLOT(addNewPkgCommand(QTableWidgetItem *)));
connect(uiDEConfig.tableWidget_pkgCommand, SIGNAL(customContextMenuRequested(QPoint)),
@@ -763,6 +767,50 @@ void AwesomeWidget::addNewPkgCommand(QTableWidgetItem *item)
}
+void AwesomeWidget::contextMenuBars(const QPoint pos)
+{
+ if (debug) qDebug() << PDEBUG;
+ if (uiAdvancedConfig.listWidget_bars->currentItem() == 0) return;
+
+ QMenu menu(uiAdvancedConfig.listWidget_bars);
+ QAction *edit = menu.addAction(QIcon::fromTheme("document-edit"), i18n("Edit"));
+ QAction *remove = menu.addAction(QIcon::fromTheme("edit-delete"), i18n("Remove"));
+ QAction *action = menu.exec(uiAdvancedConfig.listWidget_bars->viewport()->mapToGlobal(pos));
+ if (action == edit)
+ editBar(uiAdvancedConfig.listWidget_bars->currentItem());
+ else if (action == remove)
+ for (int i=0; igetFileName() != uiAdvancedConfig.listWidget_bars->currentItem()->text())
+ continue;
+ graphicalItems[i]->tryDelete();
+ graphicalItems.takeAt(i);
+ uiAdvancedConfig.listWidget_bars->takeItem(uiAdvancedConfig.listWidget_bars->currentRow());
+ break;
+ }
+}
+
+
+void AwesomeWidget::contextMenuCustomCommand(const QPoint pos)
+{
+ if (debug) qDebug() << PDEBUG;
+ if (uiDEConfig.listWidget_custom->currentItem() == 0) return;
+
+ QMenu menu(uiDEConfig.listWidget_custom);
+ QAction *edit = menu.addAction(QIcon::fromTheme("document-edit"), i18n("Edit"));
+ QAction *remove = menu.addAction(QIcon::fromTheme("edit-delete"), i18n("Remove"));
+ QAction *action = menu.exec(uiDEConfig.listWidget_custom->viewport()->mapToGlobal(pos));
+ if (action == edit)
+ editCustomCommand(uiDEConfig.listWidget_custom->currentItem());
+ else if (action == remove) {
+ QStringList dirs = KGlobal::dirs()->findDirs("data", "plasma_engine_extsysmon/scripts");
+ ExtScript *script = new ExtScript(0, uiDEConfig.listWidget_custom->currentItem()->text(), dirs, debug);
+ script->tryDelete();
+ delete script;
+ uiDEConfig.listWidget_custom->takeItem(uiDEConfig.listWidget_custom->currentRow());
+ }
+}
+
+
void AwesomeWidget::contextMenuPkgCommand(const QPoint pos)
{
if (debug) qDebug() << PDEBUG;
diff --git a/sources/awesome-widget/deconfig.ui b/sources/awesome-widget/deconfig.ui
index d930a94..177e509 100644
--- a/sources/awesome-widget/deconfig.ui
+++ b/sources/awesome-widget/deconfig.ui
@@ -7,7 +7,7 @@
0
0
700
- 584
+ 582
@@ -43,7 +43,7 @@
0
0
684
- 568
+ 566
@@ -507,7 +507,11 @@ del - remove item
-
-
+
+
+ Qt::CustomContextMenu
+
+