mirror of
				https://github.com/arsenetar/dupeguru.git
				synced 2025-09-11 17:58:17 +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