Branch: master

7ea414a2 2019-05-31 14:40:00 Michele Calgaro
kdcop: added popup menu to result list to conveniently copy the selected
item (functionality was already available from Edit menu but not so user
friendly).

Signed-off-by: Michele Calgaro <michele.calgaro@...>
M kdcop/kdcopwindow.cpp
M kdcop/kdcopwindow.h

kdcop/kdcopwindow.cpp

diff --git a/kdcop/kdcopwindow.cpp b/kdcop/kdcopwindow.cpp
index 9d77698..b096ddd 100644
--- a/kdcop/kdcopwindow.cpp
+++ b/kdcop/kdcopwindow.cpp
@@ -46,6 +46,7 @@
 #include <tqvbox.h>
 #include <tqimage.h>
 #include <tqheader.h>
+#include <tqpopupmenu.h>
 
 #include <kdebug.h>
 #include <kkeydialog.h>
@@ -296,20 +297,10 @@
 //	mainView->lv->addColumn(i18n("Function"));
 	mainView->lv->setDragAutoScroll( FALSE );
 	mainView->lv->setRootIsDecorated( TRUE );
-  connect
-    (
-     mainView->lv,
-     TQT_SIGNAL(doubleClicked(TQListViewItem *)),
-     TQT_SLOT(slotCallFunction(TQListViewItem *))
-    );
-
-  connect
-    (
-     mainView->lv,
-     TQT_SIGNAL(currentChanged(TQListViewItem *)),
-     TQT_SLOT(slotCurrentChanged(TQListViewItem *))
-    );
-
+  connect(mainView->lv, TQT_SIGNAL(doubleClicked(TQListViewItem *)), TQT_SLOT(slotCallFunction(TQListViewItem *)));
+  connect(mainView->lv, TQT_SIGNAL(currentChanged(TQListViewItem *)), TQT_SLOT(slotCurrentChanged(TQListViewItem *)));
+  connect(mainView->lb_replyData, TQT_SIGNAL(contextMenuRequested(TQListBoxItem*, const TQPoint&)),
+          TQT_SLOT(slotResultListContextMenu(TQListBoxItem*, const TQPoint&)));
 
   // set up the actions
   KStdAction::quit( TQT_TQOBJECT(this), TQT_SLOT( close() ), actionCollection() );
@@ -1105,8 +1096,10 @@
 	isValid = false;
   }
 
-      if (!ret.isEmpty())
-      	theList->insertStringList(ret);
+	if (!ret.isEmpty())
+	{
+		theList->insertStringList(ret);
+	}
 	return isValid;
 }
 
@@ -1238,4 +1231,11 @@
 	mainView->lv->setMode(langmode->currentText());
 }
 
+void KDCOPWindow::slotResultListContextMenu(TQListBoxItem *item, const TQPoint &point)
+{
+	TQPopupMenu* contextMenu = new TQPopupMenu(this);
+	contextMenu->insertItem(i18n("&Copy"), this, TQT_SLOT(slotCopy()));
+	contextMenu->exec(point);
+}
+
 #include "kdcopwindow.moc"

kdcop/kdcopwindow.h

diff --git a/kdcop/kdcopwindow.h b/kdcop/kdcopwindow.h
index ed5988b..ddc5c2b 100644
--- a/kdcop/kdcopwindow.h
+++ b/kdcop/kdcopwindow.h
@@ -8,6 +8,7 @@
 #define __KDCOPWINDOW_H__
 
 class DCOPClient;
+class TQListBoxItem;
 class TQListViewItem;
 class TDEAction;
 class TDESelectAction;
@@ -38,6 +39,8 @@
     void slotCopy();
     void slotMode();
     void slotReload();
+    void slotResultListContextMenu(TQListBoxItem *item, const TQPoint &point);
+
   private:
     void fillObjects( DCOPBrowserItem*, const char* app );
     void fillFunctions( DCOPBrowserItem*, const char* app, const char* obj );