src/eric7/UI/FindFileWidget.py

branch
eric7
changeset 10484
ad7a6d699a0d
parent 10469
3b0ba2aba1fb
child 10486
157f119cd10d
diff -r f919fa592ca9 -r ad7a6d699a0d src/eric7/UI/FindFileWidget.py
--- a/src/eric7/UI/FindFileWidget.py	Sun Jan 07 11:19:50 2024 +0100
+++ b/src/eric7/UI/FindFileWidget.py	Sun Jan 07 11:42:41 2024 +0100
@@ -949,35 +949,45 @@
         @param pos position the context menu shall be shown
         @type QPoint
         """
-        menu = QMenu(self)
+        if (
+            self.findList.topLevelItemCount()
+            and (self.findList.selectedItems() or self.__replaceMode)
+        ):
+            menu = QMenu(self)
 
-        menu.addAction(self.tr("Open"), self.__openFile)
-        menu.addAction(self.tr("Copy Path to Clipboard"), self.__copyToClipboard)
-        if self.__replaceMode:
-            menu.addSeparator()
-            menu.addAction(self.tr("Select All"), self.__selectAll)
-            menu.addAction(self.tr("Deselect All"), self.__deselectAll)
+            if self.findList.selectedItems():
+                menu.addAction(self.tr("Open"), self.__openFile)
+                menu.addAction(
+                    self.tr("Copy Path to Clipboard"), self.__copyToClipboard
+                )
+            if self.__replaceMode:
+                menu.addSeparator()
+                menu.addAction(self.tr("Select All"), self.__selectAll)
+                menu.addAction(self.tr("Deselect All"), self.__deselectAll)
 
-        menu.exec(QCursor.pos())
+            menu.exec(QCursor.pos())
 
     @pyqtSlot()
     def __openFile(self):
         """
         Private slot to open the currently selected entry.
         """
-        itm = self.findList.selectedItems()[0]
-        self.on_findList_itemDoubleClicked(itm, 0)
+        selectedItems = self.findList.selectedItems()
+        if selectedItems:
+            self.on_findList_itemDoubleClicked(selectedItems[0], 0)
 
     @pyqtSlot()
     def __copyToClipboard(self):
         """
         Private slot to copy the path of an entry to the clipboard.
         """
-        itm = self.findList.selectedItems()[0]
-        fn = itm.parent().text(0) if itm.parent() else itm.text(0)
+        selectedItems = self.findList.selectedItems()
+        if selectedItems:
+            itm = selectedItems[0]
+            fn = itm.parent().text(0) if itm.parent() else itm.text(0)
 
-        cb = QApplication.clipboard()
-        cb.setText(fn)
+            cb = QApplication.clipboard()
+            cb.setText(fn)
 
     @pyqtSlot()
     def __deselectAll(self):

eric ide

mercurial