eric6/UI/UserInterface.py

branch
maintenance
changeset 8400
b3eefd7e58d1
parent 8273
698ae46f40a4
parent 8362
2b9eaba83d99
child 8450
be7369a19dc9
equal deleted inserted replaced
8274:197414ba11cc 8400:b3eefd7e58d1
128 """ 128 """
129 self.buffer += str(s) 129 self.buffer += str(s)
130 self.__nWrite(self.__bufferedWrite()) 130 self.__nWrite(self.__bufferedWrite())
131 131
132 132
133 # TODO: add support for QSessionManager to save changed files
133 class UserInterface(E5MainWindow): 134 class UserInterface(E5MainWindow):
134 """ 135 """
135 Class implementing the main user interface. 136 Class implementing the main user interface.
136 137
137 @signal appendStderr(str) emitted to write data to stderr logger 138 @signal appendStderr(str) emitted to write data to stderr logger
401 self.projectBrowser.poBrowser.closeSourceWindow.connect( 402 self.projectBrowser.poBrowser.closeSourceWindow.connect(
402 self.viewmanager.closeWindow) 403 self.viewmanager.closeWindow)
403 self.projectBrowser.poBrowser.pixmapEditFile.connect(self.__editPixmap) 404 self.projectBrowser.poBrowser.pixmapEditFile.connect(self.__editPixmap)
404 self.projectBrowser.poBrowser.pixmapFile.connect(self.__showPixmap) 405 self.projectBrowser.poBrowser.pixmapFile.connect(self.__showPixmap)
405 self.projectBrowser.poBrowser.svgFile.connect(self.__showSvg) 406 self.projectBrowser.poBrowser.svgFile.connect(self.__showSvg)
407 self.projectBrowser.poBrowser.umlFile.connect(self.__showUml)
406 self.projectBrowser.poBrowser.binaryFile.connect(self.__openHexEditor) 408 self.projectBrowser.poBrowser.binaryFile.connect(self.__openHexEditor)
407 409
408 self.project.sourceFile.connect(self.viewmanager.openSourceFile) 410 self.project.sourceFile.connect(self.viewmanager.openSourceFile)
409 self.project.designerFile.connect(self.__designer) 411 self.project.designerFile.connect(self.__designer)
410 self.project.linguistFile.connect(self.__linguist) 412 self.project.linguistFile.connect(self.__linguist)
502 self.browser.multiProjectFile.connect( 504 self.browser.multiProjectFile.connect(
503 self.multiProject.openMultiProject) 505 self.multiProject.openMultiProject)
504 self.browser.pixmapEditFile.connect(self.__editPixmap) 506 self.browser.pixmapEditFile.connect(self.__editPixmap)
505 self.browser.pixmapFile.connect(self.__showPixmap) 507 self.browser.pixmapFile.connect(self.__showPixmap)
506 self.browser.svgFile.connect(self.__showSvg) 508 self.browser.svgFile.connect(self.__showSvg)
509 self.browser.umlFile.connect(self.__showUml)
507 self.browser.binaryFile.connect(self.__openHexEditor) 510 self.browser.binaryFile.connect(self.__openHexEditor)
508 self.browser.unittestOpen.connect(self.__unittestScript) 511 self.browser.unittestOpen.connect(self.__unittestScript)
509 self.browser.trpreview.connect(self.__TRPreviewer) 512 self.browser.trpreview.connect(self.__TRPreviewer)
510 513
511 self.debuggerUI.debuggingStarted.connect( 514 self.debuggerUI.debuggingStarted.connect(
5429 """ 5432 """
5430 from Graphics.SvgDiagram import SvgDiagram 5433 from Graphics.SvgDiagram import SvgDiagram
5431 dlg = SvgDiagram(fn, self) 5434 dlg = SvgDiagram(fn, self)
5432 dlg.show() 5435 dlg.show()
5433 5436
5437 @pyqtSlot(str)
5438 def __showUml(self, fn):
5439 """
5440 Private slot to show an eric graphics file in a dialog.
5441
5442 @param fn name of the file to be shown
5443 @type str
5444 """
5445 from Graphics.UMLDialog import UMLDialog, UMLDialogType
5446 dlg = UMLDialog(UMLDialogType.NO_DIAGRAM, self.project, parent=self)
5447 if dlg.load(fn):
5448 dlg.show(fromFile=True)
5449
5434 def __snapshot(self): 5450 def __snapshot(self):
5435 """ 5451 """
5436 Private slot to start the snapshot tool. 5452 Private slot to start the snapshot tool.
5437 """ 5453 """
5438 proc = QProcess() 5454 proc = QProcess()
6799 6815
6800 @param pluginFileNames list of plugin files suggested for 6816 @param pluginFileNames list of plugin files suggested for
6801 installation list of strings 6817 installation list of strings
6802 """ 6818 """
6803 from PluginManager.PluginInstallDialog import PluginInstallDialog 6819 from PluginManager.PluginInstallDialog import PluginInstallDialog
6804 dlg = PluginInstallDialog( 6820 self.__pluginInstallDialog = PluginInstallDialog(
6805 self.pluginManager, 6821 self.pluginManager,
6806 [] if pluginFileNames is None else pluginFileNames[:], 6822 [] if pluginFileNames is None else pluginFileNames[:],
6807 self) 6823 self)
6808 dlg.exec() 6824 self.__pluginInstallDialog.setModal(False)
6809 if dlg.restartNeeded(): 6825 self.__pluginInstallDialog.finished.connect(
6826 self.__pluginInstallFinished)
6827 self.__pluginInstallDialog.show()
6828
6829 @pyqtSlot()
6830 def __pluginInstallFinished(self):
6831 """
6832 Private slot to handle the finishing of the plugin install dialog.
6833 """
6834 if self.__pluginInstallDialog.restartNeeded():
6835 self.__pluginInstallDialog.deleteLater()
6836 del self.__pluginInstallDialog
6810 self.__restart(ask=True) 6837 self.__restart(ask=True)
6811 6838
6812 def __deinstallPlugin(self): 6839 def __deinstallPlugin(self):
6813 """ 6840 """
6814 Private slot to show a dialog to uninstall a plugin. 6841 Private slot to show a dialog to uninstall a plugin.

eric ide

mercurial