mirror of
https://github.com/arsenetar/dupeguru.git
synced 2025-03-10 05:34:36 +00:00
[#82] Added table font size pref (Qt).
This commit is contained in:
parent
b8ac192d2a
commit
2c260742f6
@ -67,6 +67,7 @@ class DupeGuru(QObject):
|
||||
self.prefs.load()
|
||||
self.model = self.MODELCLASS(view=self, appdata=appdata)
|
||||
self._setup()
|
||||
self.prefsChanged.emit(self.prefs)
|
||||
|
||||
#--- Private
|
||||
def _setup(self):
|
||||
@ -193,6 +194,7 @@ class DupeGuru(QObject):
|
||||
|
||||
#--- Signals
|
||||
willSavePrefs = pyqtSignal()
|
||||
prefsChanged = pyqtSignal(object)
|
||||
|
||||
#--- Events
|
||||
def finishedLaunching(self):
|
||||
@ -237,6 +239,7 @@ class DupeGuru(QObject):
|
||||
self.preferences_dialog.save()
|
||||
self.prefs.save()
|
||||
self._update_options()
|
||||
self.prefsChanged.emit(self.prefs)
|
||||
|
||||
def quitTriggered(self):
|
||||
self.directories_dialog.close()
|
||||
|
@ -6,6 +6,8 @@
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
from PyQt4.QtGui import QApplication
|
||||
|
||||
from qtlib.preferences import Preferences as PreferencesBase
|
||||
|
||||
class Preferences(PreferencesBase):
|
||||
@ -39,6 +41,7 @@ class Preferences(PreferencesBase):
|
||||
self.columns_width[index] = width
|
||||
self.columns_visible = get('ColumnsVisible', self.columns_visible)
|
||||
|
||||
self.tableFontSize = get('TableFontSize', self.tableFontSize)
|
||||
self.resultWindowIsMaximized = get('ResultWindowIsMaximized', self.resultWindowIsMaximized)
|
||||
self.resultWindowRect = self.get_rect('ResultWindowRect', self.resultWindowRect)
|
||||
self.detailsWindowRect = self.get_rect('DetailsWindowRect', self.detailsWindowRect)
|
||||
@ -65,6 +68,7 @@ class Preferences(PreferencesBase):
|
||||
self.custom_command = ''
|
||||
self.language = ''
|
||||
|
||||
self.tableFontSize = QApplication.font().pointSize()
|
||||
self.resultWindowIsMaximized = False
|
||||
self.resultWindowRect = None
|
||||
self.detailsWindowRect = None
|
||||
@ -98,6 +102,7 @@ class Preferences(PreferencesBase):
|
||||
set_('ColumnsVisible', self.columns_visible)
|
||||
set_('Language', self.language)
|
||||
|
||||
set_('TableFontSize', self.tableFontSize)
|
||||
set_('ResultWindowIsMaximized', self.resultWindowIsMaximized)
|
||||
self.set_rect('ResultWindowRect', self.resultWindowRect)
|
||||
self.set_rect('DetailsWindowRect', self.detailsWindowRect)
|
||||
|
@ -8,10 +8,11 @@
|
||||
|
||||
from PyQt4.QtCore import SIGNAL, Qt, QSize
|
||||
from PyQt4.QtGui import (QDialog, QDialogButtonBox, QVBoxLayout, QHBoxLayout, QLabel, QComboBox,
|
||||
QSlider, QSizePolicy, QSpacerItem, QCheckBox, QLineEdit, QMessageBox)
|
||||
QSlider, QSizePolicy, QSpacerItem, QCheckBox, QLineEdit, QMessageBox, QSpinBox)
|
||||
|
||||
from hscommon.plat import ISOSX, ISLINUX
|
||||
from hscommon.trans import tr, trmsg
|
||||
from qtlib.util import horizontalWrap
|
||||
|
||||
class PreferencesDialogBase(QDialog):
|
||||
def __init__(self, parent, app):
|
||||
@ -79,14 +80,17 @@ class PreferencesDialogBase(QDialog):
|
||||
|
||||
def _setupBottomPart(self):
|
||||
# The bottom part of the pref panel is always the same in all editions.
|
||||
self.fontSizeLabel = QLabel(tr("Font size:"))
|
||||
self.fontSizeSpinBox = QSpinBox()
|
||||
self.fontSizeSpinBox.setMinimum(5)
|
||||
self.widgetsVLayout.addLayout(horizontalWrap([self.fontSizeLabel, self.fontSizeSpinBox, None]))
|
||||
self.languageLabel = QLabel(tr("Language:"), self)
|
||||
self.widgetsVLayout.addWidget(self.languageLabel)
|
||||
self.languageComboBox = QComboBox(self)
|
||||
self.languageComboBox.addItem(tr("English"))
|
||||
self.languageComboBox.addItem(tr("French"))
|
||||
self.languageComboBox.addItem(tr("German"))
|
||||
self.languageComboBox.addItem(tr("Chinese (Simplified)"))
|
||||
self.widgetsVLayout.addWidget(self.languageComboBox)
|
||||
self.widgetsVLayout.addLayout(horizontalWrap([self.languageLabel, self.languageComboBox, None]))
|
||||
self.copyMoveLabel = QLabel(self)
|
||||
self.copyMoveLabel.setText(tr("Copy and Move:"))
|
||||
self.widgetsVLayout.addWidget(self.copyMoveLabel)
|
||||
@ -149,6 +153,7 @@ class PreferencesDialogBase(QDialog):
|
||||
setchecked(self.debugModeBox, prefs.debug_mode)
|
||||
self.copyMoveDestinationComboBox.setCurrentIndex(prefs.destination_type)
|
||||
self.customCommandEdit.setText(prefs.custom_command)
|
||||
self.fontSizeSpinBox.setValue(prefs.tableFontSize)
|
||||
langindex = {
|
||||
'fr': 1,
|
||||
'de': 2,
|
||||
@ -168,6 +173,7 @@ class PreferencesDialogBase(QDialog):
|
||||
prefs.debug_mode = ischecked(self.debugModeBox)
|
||||
prefs.destination_type = self.copyMoveDestinationComboBox.currentIndex()
|
||||
prefs.custom_command = str(self.customCommandEdit.text())
|
||||
prefs.tableFontSize = self.fontSizeSpinBox.value()
|
||||
langs = ['en', 'fr', 'de', 'zh_CN']
|
||||
lang = langs[self.languageComboBox.currentIndex()]
|
||||
oldlang = self.app.prefs.language
|
||||
|
@ -177,7 +177,6 @@ class ResultWindow(QMainWindow):
|
||||
self.resultsView.setSelectionBehavior(QAbstractItemView.SelectRows)
|
||||
self.resultsView.setSortingEnabled(True)
|
||||
self.resultsView.verticalHeader().setVisible(False)
|
||||
self.resultsView.verticalHeader().setDefaultSectionSize(18)
|
||||
h = self.resultsView.horizontalHeader()
|
||||
h.setHighlightSections(False)
|
||||
h.setMovable(True)
|
||||
|
@ -6,8 +6,8 @@
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
from PyQt4.QtCore import SIGNAL, Qt
|
||||
from PyQt4.QtGui import QBrush, QFont, QTableView, QColor
|
||||
from PyQt4.QtCore import SIGNAL, Qt, QSize
|
||||
from PyQt4.QtGui import QBrush, QFont, QFontMetrics, QTableView, QColor
|
||||
|
||||
from qtlib.table import Table
|
||||
|
||||
@ -20,6 +20,8 @@ class ResultsModel(Table):
|
||||
self._delta_columns = app.model.DELTA_COLUMNS
|
||||
Table.__init__(self, model, view)
|
||||
self.model.connect()
|
||||
|
||||
app.prefsChanged.connect(self.appPrefsChanged)
|
||||
|
||||
def columnCount(self, parent):
|
||||
return len(self._app.COLUMNS)
|
||||
@ -61,8 +63,9 @@ class ResultsModel(Table):
|
||||
return flags
|
||||
|
||||
def headerData(self, section, orientation, role):
|
||||
if orientation == Qt.Horizontal and role == Qt.DisplayRole and section < len(self._app.COLUMNS):
|
||||
return self._app.COLUMNS[section].display
|
||||
if role == Qt.DisplayRole:
|
||||
if orientation == Qt.Horizontal and section < len(self._app.COLUMNS):
|
||||
return self._app.COLUMNS[section].display
|
||||
return None
|
||||
|
||||
def setData(self, index, value, role):
|
||||
@ -99,6 +102,14 @@ class ResultsModel(Table):
|
||||
def delta_values(self, value):
|
||||
self.model.delta_values = value
|
||||
|
||||
#--- Events
|
||||
def appPrefsChanged(self, prefs):
|
||||
font = self.view.font()
|
||||
font.setPointSize(prefs.tableFontSize)
|
||||
self.view.setFont(font)
|
||||
fm = QFontMetrics(font)
|
||||
self.view.verticalHeader().setDefaultSectionSize(fm.height()+2)
|
||||
|
||||
#--- model --> view
|
||||
def invalidate_markings(self):
|
||||
# redraw view
|
||||
|
Loading…
x
Reference in New Issue
Block a user