def change_font(self, name): """ Changes the font used throughout the application. Currently triggered via a menu action. name: Used to specify whether the font should be resized or changed to a different font family. """ # Get the context. if name == "": # Case 1: Default Change Font menu option. ok, f = QFontDialog.getFont(self.window) start = False elif name == "+" or name == "-": # Case 2: Increase/Decrease font size menu option. f = self.ui.table_PS.font() f_size = f.pointSize() + 2 if name == "+" else f.pointSize() - 2 f = f.toString().split(",")[0] f = QFont(f, f_size) ok, start = True, False else: if type(name) == str: # Case 3.1: Init with pref.json f = name.split("%") f = QFont(f[0], int(f[1])) else: # Case 3.2: Init without pref.json (first launch). f = name ok, start = True, True if ok: # Change the font for everything (within reason). self.font = f new_font = f big_font = QFont(f.toString().split(",")[0], f.pointSize() + 6) # self.ui.tabs.setFont(new_font) # PS tab self.ui.table_PS.setFont(new_font) self.ui.table_PS.horizontalHeader().setFont(new_font) self.ui.text_browser_PS.setFont(big_font) self.ui.refresh_pch_btn.setFont(new_font) self.ui.btn_dwn_all.setFont(new_font) # Local tab self.ui.table_local.setFont(new_font) self.ui.table_local.horizontalHeader().setFont(new_font) self.ui.text_browser_local.setFont(big_font) self.ui.back_btn_local.setFont(new_font) self.ui.check_for_updates_btn.setFont(new_font) self.ui.update_patch_notes.setFont(new_font) self.ui.page_label.setFont(new_font) self.ui.btn_next_page.setFont(new_font) self.ui.btn_prev_page.setFont(new_font) # SD tab self.ui.sd_tree.setFont(new_font) self.ui.table_sd_left.setFont(new_font) self.ui.table_sd_left.horizontalHeader().setFont(new_font) self.ui.table_sd_left.verticalHeader().setFont(new_font) self.ui.table_sd_right.setFont(new_font) self.ui.table_sd_right.horizontalHeader().setFont(new_font) self.ui.table_sd_right.verticalHeader().setFont(new_font) self.ui.delete_folder_sd_btn.setFont(new_font) self.ui.import_all_btn.setFont(new_font) self.ui.import_all_ver_btn.setFont(new_font) # Bank tab self.ui.table_bank_local.setFont(new_font) self.ui.table_bank_local.horizontalHeader().setFont(new_font) self.ui.table_bank_left.setFont(new_font) self.ui.text_browser_viz.setFont(new_font) self.ui.table_bank_left.horizontalHeader().setFont(new_font) self.ui.table_bank_left.verticalHeader().setFont(new_font) self.ui.table_bank_right.setFont(new_font) self.ui.table_bank_right.horizontalHeader().setFont(new_font) self.ui.table_bank_right.verticalHeader().setFont(new_font) self.ui.back_btn_bank.setFont(new_font) self.ui.btn_save_bank.setFont(new_font) self.ui.btn_load_bank.setFont(new_font) self.ui.btn_clear_bank.setFont(new_font) self.ui.btn_export_bank.setFont(new_font) self.ui.text_browser_bank.setFont(big_font) if not start: for i in range(self.ui.table_PS.rowCount()): self.ui.table_PS.cellWidget(i, 0).setFont(new_font) self.ui.table_PS.cellWidget(i, 4).setFont(new_font) if self.ui.table_local.cellWidget(0, 0) is not None: for i in range(self.ui.table_local.rowCount()): self.ui.table_local.cellWidget(i, 0).setFont(new_font) self.ui.table_local.cellWidget(i, 4).setFont(new_font) self.ui.table_local.cellWidget(i, 5).setFont(new_font) for i in range(32): # Need trys here in case the table does not have a # cell widget there yet. try: self.ui.table_sd_left.cellWidget(i, 1).setFont(new_font) except AttributeError: pass try: self.ui.table_sd_left.cellWidget(i, 2).setFont(new_font) except AttributeError: pass try: self.ui.table_sd_right.cellWidget(i, 1).setFont(new_font) except AttributeError: pass try: self.ui.table_sd_right.cellWidget(i, 2).setFont(new_font) except AttributeError: pass try: self.ui.table_bank_left.cellWidget(i, 1).setFont(new_font) except AttributeError: pass try: self.ui.table_bank_left.cellWidget(i, 2).setFont(new_font) except AttributeError: pass try: self.ui.table_bank_right.cellWidget( i, 1).setFont(new_font) except AttributeError: pass try: self.ui.table_bank_right.cellWidget( i, 2).setFont(new_font) except AttributeError: pass if self.ui.table_bank_local.cellWidget(0, 0) is not None: for i in range(self.ui.table_bank_local.rowCount()): self.ui.table_bank_local.cellWidget( i, 0).setFont(new_font)
def applyChanges(self): """Activate changes selected on Preferences Dialog""" if self.preferences: # # Language # if self.preferences.language is not None: config.data.set(config.ConfigKey.Language, self.preferences.language) self.parent.setLanguage() # # Font & Size # if (self.preferences.font is not None) or (self.preferences.fontSize is not None): font = QFont() font.fromString(config.data.get(config.ConfigKey.Font)) if self.preferences.font is not None: font = self.preferences.font if self.preferences.fontSize is not None: font.setPointSize(self.preferences.fontSize) self.parent.setFont(font) self.parent.setAppFont(font) config.data.set(config.ConfigKey.Font, font.toString()) # # Logging # if self.preferences.enableLogging is not None: config.data.set(config.ConfigKey.Logging, self.preferences.enableLogging) self.parent.enableLogging(self.preferences.enableLogging) # # LogViewer # loggingOn = config.data.get(config.ConfigKey.Logging) if loggingOn: if self.preferences.enableLogViewer is not None: config.data.set(config.ConfigKey.LogViewer, self.preferences.enableLogViewer) if self.preferences.enableLogViewer: if self.parent.logViewerWidget.tab < 0: self.parent.logViewerWidget.unHideTab() self.parent.logViewerWidget.setAsCurrentTab() else: if self.parent.logViewerWidget.tab >= 0: self.parent.logViewerWidget.hideTab() else: config.data.set(config.ConfigKey.LogViewer, False) if self.parent.logViewerWidget.tab >= 0: self.parent.logViewerWidget.hideTab() # # Job History # if config.data.get(config.ConfigKey.JobHistory) is not None: if self.preferences.enableJobHistory is not None: config.data.set(config.ConfigKey.JobHistory, self.preferences.enableJobHistory) if self.preferences.enableJobHistory: if self.parent.historyWidget.tab < 0: self.parent.historyWidget.unHideTab() self.parent.historyWidget.setAsCurrentTab() else: if self.parent.historyWidget.tab >= 0: self.parent.historyWidget.hideTab() # # Algorithm # if config.data.get(config.ConfigKey.Algorithm) is not None: for index, rb in enumerate(self.radioButtons): if rb.isChecked(): config.data.set(config.ConfigKey.Algorithm, index) # # Restore window size # if self.preferences.restoreWindowSize is not None: defaultGeometry = config.data.get( config.ConfigKey.DefaultGeometry) self.parent.setGeometry( defaultGeometry[0], defaultGeometry[1], defaultGeometry[2], defaultGeometry[3], ) # Center window some title bar goes out of screen centerWidget(self.parent) # Update geometry includes position base64Geometry = self.parent.saveGeometry().toBase64() b = base64Geometry.data() # b is a bytes string config.data.set(config.ConfigKey.Geometry, b)