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.
|
# has been shown. If it has, we know that our geometry should be saved.
|
||||||
self._shown_once = False
|
self._shown_once = False
|
||||||
self.app.prefs.restoreGeometry("DetailsWindowRect", self)
|
self.app.prefs.restoreGeometry("DetailsWindowRect", self)
|
||||||
self.tableModel = DetailsModel(self.model)
|
self.tableModel = DetailsModel(self.model, app)
|
||||||
# tableView is defined in subclasses
|
# tableView is defined in subclasses
|
||||||
self.tableView.setModel(self.tableModel)
|
self.tableView.setModel(self.tableModel)
|
||||||
self.model.view = self
|
self.model.view = self
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
from PyQt5.QtCore import Qt, QAbstractTableModel
|
from PyQt5.QtCore import Qt, QAbstractTableModel
|
||||||
from PyQt5.QtWidgets import QHeaderView, QTableView
|
from PyQt5.QtWidgets import QHeaderView, QTableView
|
||||||
from PyQt5.QtGui import QFont, QBrush, QColor
|
from PyQt5.QtGui import QFont, QBrush
|
||||||
|
|
||||||
from hscommon.trans import trget
|
from hscommon.trans import trget
|
||||||
|
|
||||||
@ -18,9 +18,10 @@ HEADER = [tr("Selected"), tr("Reference")]
|
|||||||
|
|
||||||
|
|
||||||
class DetailsModel(QAbstractTableModel):
|
class DetailsModel(QAbstractTableModel):
|
||||||
def __init__(self, model, **kwargs):
|
def __init__(self, model, app, **kwargs):
|
||||||
super().__init__(**kwargs)
|
super().__init__(**kwargs)
|
||||||
self.model = model
|
self.model = model
|
||||||
|
self.prefs = app.prefs
|
||||||
|
|
||||||
def columnCount(self, parent):
|
def columnCount(self, parent):
|
||||||
return len(HEADER)
|
return len(HEADER)
|
||||||
@ -43,7 +44,7 @@ class DetailsModel(QAbstractTableModel):
|
|||||||
if role == Qt.DisplayRole:
|
if role == Qt.DisplayRole:
|
||||||
return self.model.row(row)[column]
|
return self.model.row(row)[column]
|
||||||
if role == Qt.ForegroundRole and self.model.row(row)[1] != self.model.row(row)[2]:
|
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]:
|
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 = QFont(self.model.view.font()) # or simply QFont()
|
||||||
font.setBold(True)
|
font.setBold(True)
|
||||||
|
@ -42,6 +42,8 @@ class Preferences(PreferencesBase):
|
|||||||
self.details_dialog_override_theme_icons =\
|
self.details_dialog_override_theme_icons =\
|
||||||
get('DetailsDialogOverrideThemeIcons',
|
get('DetailsDialogOverrideThemeIcons',
|
||||||
self.details_dialog_override_theme_icons) if ISLINUX else True
|
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 =\
|
self.result_table_ref_foreground_color =\
|
||||||
get('ResultTableRefForegroundColor', 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.reference_bold_font = True
|
||||||
self.details_dialog_titlebar_enabled = True
|
self.details_dialog_titlebar_enabled = True
|
||||||
self.details_dialog_vertical_titlebar = 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
|
# 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.details_dialog_override_theme_icons = False if not ISLINUX else True
|
||||||
self.result_table_ref_foreground_color = QColor(Qt.blue)
|
self.result_table_ref_foreground_color = QColor(Qt.blue)
|
||||||
@ -126,6 +129,7 @@ class Preferences(PreferencesBase):
|
|||||||
set_('DetailsDialogTitleBarEnabled', self.details_dialog_titlebar_enabled)
|
set_('DetailsDialogTitleBarEnabled', self.details_dialog_titlebar_enabled)
|
||||||
set_('DetailsDialogVerticalTitleBar', self.details_dialog_vertical_titlebar)
|
set_('DetailsDialogVerticalTitleBar', self.details_dialog_vertical_titlebar)
|
||||||
set_('DetailsDialogOverrideThemeIcons', self.details_dialog_override_theme_icons)
|
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_('ResultTableRefForegroundColor', self.result_table_ref_foreground_color)
|
||||||
set_('ResultTableDeltaForegroundColor', self.result_table_delta_foreground_color)
|
set_('ResultTableDeltaForegroundColor', self.result_table_delta_foreground_color)
|
||||||
set_("ResultWindowIsMaximized", self.resultWindowIsMaximized)
|
set_("ResultWindowIsMaximized", self.resultWindowIsMaximized)
|
||||||
|
@ -203,6 +203,12 @@ class PreferencesDialogBase(QDialog):
|
|||||||
# Prevent changing this on platforms where themes are unpredictable
|
# Prevent changing this on platforms where themes are unpredictable
|
||||||
self.details_dialog_override_theme_icons.setEnabled(False if not ISLINUX else True)
|
self.details_dialog_override_theme_icons.setEnabled(False if not ISLINUX else True)
|
||||||
self.displayVLayout.addWidget(self.details_dialog_override_theme_icons)
|
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):
|
def _setupAddCheckbox(self, name, label, parent=None):
|
||||||
if parent is None:
|
if parent is None:
|
||||||
@ -273,6 +279,8 @@ class PreferencesDialogBase(QDialog):
|
|||||||
self.fontSizeSpinBox.setValue(prefs.tableFontSize)
|
self.fontSizeSpinBox.setValue(prefs.tableFontSize)
|
||||||
setchecked(self.details_dialog_override_theme_icons,
|
setchecked(self.details_dialog_override_theme_icons,
|
||||||
prefs.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(
|
self.result_table_ref_foreground_color.setColor(
|
||||||
prefs.result_table_ref_foreground_color)
|
prefs.result_table_ref_foreground_color)
|
||||||
self.result_table_delta_foreground_color.setColor(
|
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_titlebar_enabled = ischecked(self.details_dialog_titlebar_enabled)
|
||||||
prefs.details_dialog_vertical_titlebar = ischecked(self.details_dialog_vertical_titlebar)
|
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_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_ref_foreground_color = self.result_table_ref_foreground_color.color
|
||||||
prefs.result_table_delta_foreground_color = self.result_table_delta_foreground_color.color
|
prefs.result_table_delta_foreground_color = self.result_table_delta_foreground_color.color
|
||||||
prefs.destination_type = self.copyMoveDestinationComboBox.currentIndex()
|
prefs.destination_type = self.copyMoveDestinationComboBox.currentIndex()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user