From f7425038e2999df966972f674db3d83c43060861 Mon Sep 17 00:00:00 2001 From: Matt Gibbs Date: Fri, 30 Nov 2018 12:15:03 -0800 Subject: [PATCH 1/3] Apply stylesheet to MainWindow, not to the whole application. --- pydm/application.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pydm/application.py b/pydm/application.py index 323826ac9..5302e1aa9 100644 --- a/pydm/application.py +++ b/pydm/application.py @@ -106,11 +106,10 @@ def __init__(self, ui_file=None, command_line_args=[], display_args=[], # Open a window if required. if ui_file is not None: - apply_stylesheet(stylesheet_path) - self.make_main_window() + self.make_main_window(stylesheet_path=stylesheet_path) self.make_window(ui_file, macros, command_line_args) elif use_main_window: - self.make_main_window() + self.make_main_window(stylesheet_path=stylesheet_path) self.had_file = ui_file is not None # Re-enable sigint (usually blocked by pyqt) @@ -226,7 +225,7 @@ def new_window(self, ui_file, macros=None, command_line_args=None): # All new windows are spawned as new processes. self.new_pydm_process(ui_file, macros, command_line_args) - def make_main_window(self): + def make_main_window(self, stylesheet_path=None): """ Instantiate a new PyDMMainWindow, add it to the application's list of windows. Typically, this function is only called as part @@ -238,6 +237,8 @@ def make_main_window(self): hide_status_bar=self.hide_status_bar) self.main_window = main_window + if stylesheet_path: + apply_stylesheet(stylesheet_path, widget=self.main_window) self.main_window.update_tools_menu() if self.fullscreen: From 01b3d25a67adcfb299bcb1e6fbeed309f1a7a4d8 Mon Sep 17 00:00:00 2001 From: Matt Gibbs Date: Fri, 30 Nov 2018 12:37:24 -0800 Subject: [PATCH 2/3] Add menu option to reset font size to default. --- pydm/main_window.py | 9 +++++++++ pydm/pydm.ui | 9 +++++++++ pydm/pydm_ui.py | 7 ++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/pydm/main_window.py b/pydm/main_window.py index 8511b0cbb..c654ae439 100644 --- a/pydm/main_window.py +++ b/pydm/main_window.py @@ -27,6 +27,7 @@ def __init__(self, parent=None, hide_nav_bar=False, hide_menu_bar=False, hide_st self.ui.setupUi(self) self._display_widget = None self._showing_file_path_in_title_bar = False + self.default_font_size = QApplication.instance().font().pointSizeF() self.ui.navbar.setIconSize(QSize(24, 24)) self.ui.navbar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) # No search bar for now, since there isn't really any capability to search yet. @@ -49,6 +50,7 @@ def __init__(self, parent=None, hide_nav_bar=False, hide_menu_bar=False, hide_st self.ui.actionReload_Display.triggered.connect(self.reload_display) self.ui.actionIncrease_Font_Size.triggered.connect(self.increase_font_size) self.ui.actionDecrease_Font_Size.triggered.connect(self.decrease_font_size) + self.ui.actionDefault_Font_Size.triggered.connect(self.reset_font_size) self.ui.actionEnter_Fullscreen.triggered.connect(self.enter_fullscreen) self.ui.actionShow_File_Path_in_Title_Bar.triggered.connect(self.toggle_file_path_in_title_bar) self.ui.actionShow_Navigation_Bar.triggered.connect(self.toggle_nav_bar) @@ -415,6 +417,13 @@ def decrease_font_size(self, checked): current_font.setPointSizeF(current_font.pointSizeF() / 1.1) QApplication.instance().setFont(current_font) QTimer.singleShot(0, self.resizeForNewDisplayWidget) + + @Slot(bool) + def reset_font_size(self, checked): + current_font = QApplication.instance().font() + current_font.setPointSizeF(self.default_font_size) + QApplication.instance().setFont(current_font) + QTimer.singleShot(0, self.resizeForNewDisplayWidget) @Slot(bool) def enter_fullscreen(self, checked=False): diff --git a/pydm/pydm.ui b/pydm/pydm.ui index 0e2a4235a..97fccfe01 100644 --- a/pydm/pydm.ui +++ b/pydm/pydm.ui @@ -50,6 +50,7 @@ + @@ -272,6 +273,14 @@ F11 + + + Default Font Size + + + Ctrl+0 + + diff --git a/pydm/pydm_ui.py b/pydm/pydm_ui.py index 2fe69cd6a..031bdb2c0 100644 --- a/pydm/pydm_ui.py +++ b/pydm/pydm_ui.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'pydm.ui' # -# Created by: PyQt5 UI code generator 5.6 +# Created by: PyQt5 UI code generator 5.11.3 # # WARNING! All changes made in this file will be lost! @@ -93,6 +93,8 @@ def setupUi(self, MainWindow): self.actionLoadTool.setObjectName("actionLoadTool") self.actionEnter_Fullscreen = QtWidgets.QAction(MainWindow) self.actionEnter_Fullscreen.setObjectName("actionEnter_Fullscreen") + self.actionDefault_Font_Size = QtWidgets.QAction(MainWindow) + self.actionDefault_Font_Size.setObjectName("actionDefault_Font_Size") self.menuFile.addAction(self.actionOpen_File) self.menuFile.addSeparator() self.menuFile.addAction(self.actionEdit_in_Designer) @@ -102,6 +104,7 @@ def setupUi(self, MainWindow): self.menuView.addAction(self.actionEnter_Fullscreen) self.menuView.addAction(self.actionIncrease_Font_Size) self.menuView.addAction(self.actionDecrease_Font_Size) + self.menuView.addAction(self.actionDefault_Font_Size) self.menuView.addSeparator() self.menuView.addAction(self.actionShow_File_Path_in_Title_Bar) self.menuView.addAction(self.actionShow_Navigation_Bar) @@ -158,4 +161,6 @@ def retranslateUi(self, MainWindow): self.actionLoadTool.setText(_translate("MainWindow", "Load...")) self.actionEnter_Fullscreen.setText(_translate("MainWindow", "Enter Fullscreen")) self.actionEnter_Fullscreen.setShortcut(_translate("MainWindow", "F11")) + self.actionDefault_Font_Size.setText(_translate("MainWindow", "Default Font Size")) + self.actionDefault_Font_Size.setShortcut(_translate("MainWindow", "Ctrl+0")) From 1631739b11378afdf83a9ebf16c415482bd34d56 Mon Sep 17 00:00:00 2001 From: Matt Gibbs Date: Fri, 30 Nov 2018 12:39:23 -0800 Subject: [PATCH 3/3] Don't resize the window if in fullscreen mode. --- pydm/main_window.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pydm/main_window.py b/pydm/main_window.py index c654ae439..6b13bc4b3 100644 --- a/pydm/main_window.py +++ b/pydm/main_window.py @@ -443,7 +443,8 @@ def show_about_window(self, checked): a.show() def resizeForNewDisplayWidget(self): - self.resize(self._new_widget_size) + if not self.isFullScreen(): + self.resize(self._new_widget_size) def closeEvent(self, event): self.clear_display_widget()