mirror of
https://github.com/arsenetar/dupeguru.git
synced 2025-03-10 05:34:36 +00:00
Add color preference for delta in details table
This commit is contained in:
parent
da8c493c9f
commit
eab5003e61
@ -25,7 +25,7 @@ class DetailsDialog(QDockWidget):
|
||||
# has been shown. If it has, we know that our geometry should be saved.
|
||||
self._shown_once = False
|
||||
self.app.prefs.restoreGeometry("DetailsWindowRect", self)
|
||||
self.tableModel = DetailsModel(self.model)
|
||||
self.tableModel = DetailsModel(self.model, app)
|
||||
# tableView is defined in subclasses
|
||||
self.tableView.setModel(self.tableModel)
|
||||
self.model.view = self
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
from PyQt5.QtCore import Qt, QAbstractTableModel
|
||||
from PyQt5.QtWidgets import QHeaderView, QTableView
|
||||
from PyQt5.QtGui import QFont, QBrush, QColor
|
||||
from PyQt5.QtGui import QFont, QBrush
|
||||
|
||||
from hscommon.trans import trget
|
||||
|
||||
@ -18,9 +18,10 @@ HEADER = [tr("Selected"), tr("Reference")]
|
||||
|
||||
|
||||
class DetailsModel(QAbstractTableModel):
|
||||
def __init__(self, model, **kwargs):
|
||||
def __init__(self, model, app, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
self.model = model
|
||||
self.prefs = app.prefs
|
||||
|
||||
def columnCount(self, parent):
|
||||
return len(HEADER)
|
||||
@ -43,7 +44,7 @@ class DetailsModel(QAbstractTableModel):
|
||||
if role == Qt.DisplayRole:
|
||||
return self.model.row(row)[column]
|
||||
if role == Qt.ForegroundRole and self.model.row(row)[1] != self.model.row(row)[2]:
|
||||
return QBrush(QColor(250, 20, 20)) # red
|
||||
return QBrush(self.prefs.details_table_delta_foreground_color)
|
||||
if role == Qt.FontRole and self.model.row(row)[1] != self.model.row(row)[2]:
|
||||
font = QFont(self.model.view.font()) # or simply QFont()
|
||||
font.setBold(True)
|
||||
|
@ -42,6 +42,8 @@ class Preferences(PreferencesBase):
|
||||
self.details_dialog_override_theme_icons =\
|
||||
get('DetailsDialogOverrideThemeIcons',
|
||||
self.details_dialog_override_theme_icons) if ISLINUX else True
|
||||
self.details_table_delta_foreground_color =\
|
||||
get('DetailsTableDeltaForegroundColor', self.details_table_delta_foreground_color)
|
||||
|
||||
self.result_table_ref_foreground_color =\
|
||||
get('ResultTableRefForegroundColor', self.result_table_ref_foreground_color)
|
||||
@ -86,6 +88,7 @@ class Preferences(PreferencesBase):
|
||||
self.reference_bold_font = True
|
||||
self.details_dialog_titlebar_enabled = True
|
||||
self.details_dialog_vertical_titlebar = True
|
||||
self.details_table_delta_foreground_color = QColor(250, 20, 20) # red
|
||||
# By default use internal icons on platforms other than Linux for now
|
||||
self.details_dialog_override_theme_icons = False if not ISLINUX else True
|
||||
self.result_table_ref_foreground_color = QColor(Qt.blue)
|
||||
@ -126,6 +129,7 @@ class Preferences(PreferencesBase):
|
||||
set_('DetailsDialogTitleBarEnabled', self.details_dialog_titlebar_enabled)
|
||||
set_('DetailsDialogVerticalTitleBar', self.details_dialog_vertical_titlebar)
|
||||
set_('DetailsDialogOverrideThemeIcons', self.details_dialog_override_theme_icons)
|
||||
set_('DetailsTableDeltaForegroundColor', self.details_table_delta_foreground_color)
|
||||
set_('ResultTableRefForegroundColor', self.result_table_ref_foreground_color)
|
||||
set_('ResultTableDeltaForegroundColor', self.result_table_delta_foreground_color)
|
||||
set_("ResultWindowIsMaximized", self.resultWindowIsMaximized)
|
||||
|
@ -203,6 +203,12 @@ class PreferencesDialogBase(QDialog):
|
||||
# Prevent changing this on platforms where themes are unpredictable
|
||||
self.details_dialog_override_theme_icons.setEnabled(False if not ISLINUX else True)
|
||||
self.displayVLayout.addWidget(self.details_dialog_override_theme_icons)
|
||||
gridlayout = QGridLayout()
|
||||
self.details_table_delta_foreground_color_label = QLabel(tr("Delta foreground color:"))
|
||||
gridlayout.addWidget(self.details_table_delta_foreground_color_label, 4, 0)
|
||||
self.details_table_delta_foreground_color = ColorPickerButton(self)
|
||||
gridlayout.addWidget(self.details_table_delta_foreground_color, 4, 1, 1, 1, Qt.AlignLeft)
|
||||
self.displayVLayout.addLayout(gridlayout)
|
||||
|
||||
def _setupAddCheckbox(self, name, label, parent=None):
|
||||
if parent is None:
|
||||
@ -273,6 +279,8 @@ class PreferencesDialogBase(QDialog):
|
||||
self.fontSizeSpinBox.setValue(prefs.tableFontSize)
|
||||
setchecked(self.details_dialog_override_theme_icons,
|
||||
prefs.details_dialog_override_theme_icons)
|
||||
self.details_table_delta_foreground_color.setColor(
|
||||
prefs.details_table_delta_foreground_color)
|
||||
self.result_table_ref_foreground_color.setColor(
|
||||
prefs.result_table_ref_foreground_color)
|
||||
self.result_table_delta_foreground_color.setColor(
|
||||
@ -297,6 +305,7 @@ class PreferencesDialogBase(QDialog):
|
||||
prefs.details_dialog_titlebar_enabled = ischecked(self.details_dialog_titlebar_enabled)
|
||||
prefs.details_dialog_vertical_titlebar = ischecked(self.details_dialog_vertical_titlebar)
|
||||
prefs.details_dialog_override_theme_icons = ischecked(self.details_dialog_override_theme_icons)
|
||||
prefs.details_table_delta_foreground_color = self.details_table_delta_foreground_color.color
|
||||
prefs.result_table_ref_foreground_color = self.result_table_ref_foreground_color.color
|
||||
prefs.result_table_delta_foreground_color = self.result_table_delta_foreground_color.color
|
||||
prefs.destination_type = self.copyMoveDestinationComboBox.currentIndex()
|
||||
|
Loading…
x
Reference in New Issue
Block a user