--- a/eric7/UI/UserInterface.py Fri Apr 29 15:40:17 2022 +0200 +++ b/eric7/UI/UserInterface.py Fri Apr 29 17:49:47 2022 +0200 @@ -944,7 +944,7 @@ self.__virtualenvManagerWidget = VirtualenvManagerWidget( self.virtualenvManager, self) - self.__FindFileDialog = None + self.__findFileDialog = None self.__replaceFileDialog = None if Preferences.getUI("ShowFindFileWidget"): # Create the find in files widget @@ -961,18 +961,21 @@ else: self.__findFileWidget = None - # TODO: add separate dialog variant - # Create the find location (file) widget - from .FindLocationWidget import FindLocationWidget - self.__findLocationWidget = FindLocationWidget(self.project, self) - self.__findLocationWidget.sourceFile.connect( - self.viewmanager.openSourceFile) - self.__findLocationWidget.designerFile.connect(self.__designer) - self.__findLocationWidget.linguistFile.connect(self.__linguist) - self.__findLocationWidget.trpreview.connect(self.__TRPreviewer) - self.__findLocationWidget.pixmapFile.connect(self.__showPixmap) - self.__findLocationWidget.svgFile.connect(self.__showSvg) - self.__findLocationWidget.umlFile.connect(self.__showUml) + self.__findLocationDialog = None + if Preferences.getUI("ShowFindLocationWidget"): + # Create the find location (file) widget + from .FindLocationWidget import FindLocationWidget + self.__findLocationWidget = FindLocationWidget(self.project, self) + self.__findLocationWidget.sourceFile.connect( + self.viewmanager.openSourceFile) + self.__findLocationWidget.designerFile.connect(self.__designer) + self.__findLocationWidget.linguistFile.connect(self.__linguist) + self.__findLocationWidget.trpreview.connect(self.__TRPreviewer) + self.__findLocationWidget.pixmapFile.connect(self.__showPixmap) + self.__findLocationWidget.svgFile.connect(self.__showSvg) + self.__findLocationWidget.umlFile.connect(self.__showUml) + else: + self.__findLocationWidget = None # Create the VCS Status widget from VCS.StatusWidget import StatusWidget @@ -1095,9 +1098,10 @@ UI.PixmapCache.getIcon("find"), self.tr("Find/Replace In Files")) - self.lToolbox.addItem(self.__findLocationWidget, - UI.PixmapCache.getIcon("findLocation"), - self.tr("Find File")) + if self.__findLocationWidget: + self.lToolbox.addItem(self.__findLocationWidget, + UI.PixmapCache.getIcon("findLocation"), + self.tr("Find File")) self.lToolbox.addItem(self.__vcsStatusWidget, UI.PixmapCache.getIcon("tbVcsStatus"), @@ -1246,10 +1250,11 @@ UI.PixmapCache.getIcon("sbFind96"), self.tr("Find/Replace In Files")) - self.leftSidebar.addTab( - self.__findLocationWidget, - UI.PixmapCache.getIcon("sbFindLocation96"), - self.tr("Find File")) + if self.__findLocationWidget: + self.leftSidebar.addTab( + self.__findLocationWidget, + UI.PixmapCache.getIcon("sbFindLocation96"), + self.tr("Find File")) self.leftSidebar.addTab( self.__vcsStatusWidget, @@ -2339,24 +2344,25 @@ self.__activateFindFileWidget) self.actions.append(self.findFileActivateAct) self.addAction(self.findFileActivateAct) - - self.findLocationActivateAct = EricAction( - self.tr("Find File"), - self.tr("Find File"), - QKeySequence(self.tr("Ctrl+Alt+Shift+L")), - 0, self, - 'find_location_activate') - self.findLocationActivateAct.setStatusTip(self.tr( - "Switch the input focus to the Find File window.")) - self.findLocationActivateAct.setWhatsThis(self.tr( - """<b>Find File</b>""" - """<p>This switches the input focus to the Find File window.""" - """</p>""" - )) - self.findLocationActivateAct.triggered.connect( - self.__activateFindLocationWidget) - self.actions.append(self.findLocationActivateAct) - self.addAction(self.findLocationActivateAct) + + if self.__findLocationWidget is not None: + self.findLocationActivateAct = EricAction( + self.tr("Find File"), + self.tr("Find File"), + QKeySequence(self.tr("Ctrl+Alt+Shift+L")), + 0, self, + 'find_location_activate') + self.findLocationActivateAct.setStatusTip(self.tr( + "Switch the input focus to the Find File window.")) + self.findLocationActivateAct.setWhatsThis(self.tr( + """<b>Find File</b>""" + """<p>This switches the input focus to the Find File window.""" + """</p>""" + )) + self.findLocationActivateAct.triggered.connect( + self.__activateFindLocationWidget) + self.actions.append(self.findLocationActivateAct) + self.addAction(self.findLocationActivateAct) self.vcsStatusListActivateAct = EricAction( self.tr("VCS Status List"), @@ -3477,7 +3483,8 @@ self.__menus["subwindow"].addAction(self.pbActivateAct) if self.__findFileWidget is not None: self.__menus["subwindow"].addAction(self.findFileActivateAct) - self.__menus["subwindow"].addAction(self.findLocationActivateAct) + if self.__findLocationWidget is not None: + self.__menus["subwindow"].addAction(self.findLocationActivateAct) self.__menus["subwindow"].addAction(self.vcsStatusListActivateAct) if not self.rightSidebar: self.__menus["subwindow"].addAction(self.debugViewerActivateAct) @@ -7179,18 +7186,18 @@ openFiles=openFiles) else: # external dialog - if self.__FindFileDialog is None: + if self.__findFileDialog is None: from .FindFileWidget import FindFileDialog - self.__FindFileDialog = FindFileDialog(self.project) - self.__FindFileDialog.sourceFile.connect( + self.__findFileDialog = FindFileDialog(self.project, self) + self.__findFileDialog.sourceFile.connect( self.viewmanager.openSourceFile) - self.__FindFileDialog.designerFile.connect(self.__designer) - self.__FindFileDialog.linguistFile.connect(self.__linguist) - self.__FindFileDialog.trpreview.connect(self.__TRPreviewer) - self.__FindFileDialog.pixmapFile.connect(self.__showPixmap) - self.__FindFileDialog.svgFile.connect(self.__showSvg) - self.__FindFileDialog.umlFile.connect(self.__showUml) - self.__FindFileDialog.activate( + self.__findFileDialog.designerFile.connect(self.__designer) + self.__findFileDialog.linguistFile.connect(self.__linguist) + self.__findFileDialog.trpreview.connect(self.__TRPreviewer) + self.__findFileDialog.pixmapFile.connect(self.__showPixmap) + self.__findFileDialog.svgFile.connect(self.__showSvg) + self.__findFileDialog.umlFile.connect(self.__showUml) + self.__findFileDialog.activate( replaceMode=False, txt=txt, searchDir=searchDir, openFiles=openFiles) @@ -7207,6 +7214,7 @@ @type bool (optional) """ if Preferences.getUI("ShowFindFileWidget"): + # embedded tool self.__activateFindFileWidget() self.__findFileWidget.activate( replaceMode=True, txt=txt, searchDir=searchDir, @@ -7215,7 +7223,7 @@ # external dialog if self.__replaceFileDialog is None: from .FindFileWidget import FindFileDialog - self.__replaceFileDialog = FindFileDialog(self.project) + self.__replaceFileDialog = FindFileDialog(self.project, self) self.__replaceFileDialog.sourceFile.connect( self.viewmanager.openSourceFile) self.__replaceFileDialog.designerFile.connect(self.__designer) @@ -7247,8 +7255,24 @@ """ Public method to show the Find File widget. """ - # TODO: add separate dialog variant - self.__activateFindLocationWidget() + if Preferences.getUI("ShowFindLocationWidget"): + # embedded tool + self.__activateFindLocationWidget() + else: + # external dialog + if self.__findLocationDialog is None: + from .FindLocationWidget import FindLocationDialog + self.__findLocationDialog = FindLocationDialog(self.project, + self) + self.__findLocationDialog.sourceFile.connect( + self.viewmanager.openSourceFile) + self.__findLocationDialog.designerFile.connect(self.__designer) + self.__findLocationDialog.linguistFile.connect(self.__linguist) + self.__findLocationDialog.trpreview.connect(self.__TRPreviewer) + self.__findLocationDialog.pixmapFile.connect(self.__showPixmap) + self.__findLocationDialog.svgFile.connect(self.__showSvg) + self.__findLocationDialog.umlFile.connect(self.__showUml) + self.__findLocationDialog.activate() def __activateFindLocationWidget(self): """