src/eric7/QScintilla/ShellWindow.py

branch
eric7
changeset 10132
66c11ab8fefd
parent 10069
435cc5875135
child 10134
08ca9b336a43
diff -r 4488684d1b7d -r 66c11ab8fefd src/eric7/QScintilla/ShellWindow.py
--- a/src/eric7/QScintilla/ShellWindow.py	Mon Jul 24 11:56:29 2023 +0200
+++ b/src/eric7/QScintilla/ShellWindow.py	Mon Jul 24 14:36:06 2023 +0200
@@ -207,6 +207,7 @@
         self.__createViewActions()
         self.__createHelpActions()
         self.__createHistoryActions()
+        self.__createSettingsActions()
 
         # read the keyboard shortcuts and make them identical to the main
         # eric shortcuts
@@ -1152,6 +1153,30 @@
         )
         self.selectHistoryAct.triggered.connect(self.__shell.selectHistory)
 
+    def __createSettingsActions(self):
+        """
+        Private method to create the Settings actions.
+        """
+        self.prefAct = EricAction(
+            self.tr("Preferences"),
+            EricPixmapCache.getIcon("configure"),
+            self.tr("&Preferences..."),
+            0,
+            0,
+            self,
+            "shell_settings_preferences",
+        )
+        self.prefAct.setStatusTip(self.tr("Set the prefered configuration"))
+        self.prefAct.setWhatsThis(
+            self.tr(
+                """<b>Preferences</b>"""
+                """<p>Set the configuration items of the application"""
+                """ with your prefered values.</p>"""
+            )
+        )
+        self.prefAct.triggered.connect(self.__showPreferences)
+        self.prefAct.setMenuRole(QAction.MenuRole.PreferencesRole)
+
     def __createHelpActions(self):
         """
         Private method to create the Help actions.
@@ -1411,6 +1436,10 @@
         self.__startMenu.aboutToShow.connect(self.__showStartMenu)
         self.__startMenu.triggered.connect(self.__startShell)
 
+        self.__settingsMenu = self.menuBar().addMenu(self.tr("Se&ttings"))
+        self.__settingsMenu.setTearOffEnabled(True)
+        self.__settingsMenu.addAction(self.prefAct)
+
         self.menuBar().addSeparator()
 
         self.__helpMenu = self.menuBar().addMenu(self.tr("&Help"))
@@ -1518,3 +1547,28 @@
         enabled = self.__shell.isHistoryEnabled()
         self.__historyMenu.setEnabled(enabled)
         self.__historyToolbar.setEnabled(enabled)
+
+    @pyqtSlot()
+    def __showPreferences(self):
+        """
+        Private slot to set the preferences.
+        """
+        from eric7.Preferences.ConfigurationDialog import (
+            ConfigurationDialog,
+            ConfigurationMode,
+        )
+
+        dlg = ConfigurationDialog(
+            None,
+            "Configuration",
+            True,
+            fromEric=False,
+            displayMode=ConfigurationMode.SHELLMODE,
+        )
+        dlg.show()
+        dlg.showConfigurationPageByName("shellPage")
+        dlg.exec()
+        if dlg.result() == QDialog.DialogCode.Accepted:
+            dlg.setPreferences()
+            Preferences.syncPreferences()
+            self.__shell.handlePreferencesChanged()

eric ide

mercurial