mirror of
https://github.com/arsenetar/dupeguru.git
synced 2024-10-31 22:05:58 +00:00
b11b97dd7c
Delta values now work for non-numerical values. Any column, when its value differs from its ref, becomes orange. A column that was already a "delta column" keeps its previous behavior (dupe cells for these columns are always displayed in orange). Sorting behavior, when Dupes Only and Delta Values are enabled at the same time, has also been extended to non-numerical values, making it easy to mass-mark dupe rows with orange values. Documentation was updated, unit tests were added. Fixes #213
50 lines
1.5 KiB
Python
50 lines
1.5 KiB
Python
from objp.util import dontwrap
|
|
from cocoa.inter import PyTable, TableView
|
|
|
|
class ResultTableView(TableView):
|
|
def invalidateMarkings(self): pass
|
|
|
|
class PyResultTable(PyTable):
|
|
def powerMarkerMode(self) -> bool:
|
|
return self.model.power_marker
|
|
|
|
def setPowerMarkerMode_(self, value: bool):
|
|
self.model.power_marker = value
|
|
|
|
def deltaValuesMode(self) -> bool:
|
|
return self.model.delta_values
|
|
|
|
def setDeltaValuesMode_(self, value: bool):
|
|
self.model.delta_values = value
|
|
|
|
def valueForRow_column_(self, row_index: int, column: str) -> object:
|
|
return self.model.get_row_value(row_index, column)
|
|
|
|
def isDeltaAtRow_column_(self, row_index: int, column: str) -> bool:
|
|
row = self.model[row_index]
|
|
return row.is_cell_delta(column)
|
|
|
|
def renameSelected_(self, newname: str) -> bool:
|
|
return self.model.rename_selected(newname)
|
|
|
|
def sortBy_ascending_(self, key: str, asc: bool):
|
|
self.model.sort(key, asc)
|
|
|
|
def markSelected(self):
|
|
self.model.app.toggle_selected_mark_state()
|
|
|
|
def removeSelected(self):
|
|
self.model.app.remove_selected()
|
|
|
|
def selectedDupeCount(self) -> int:
|
|
return self.model.selected_dupe_count
|
|
|
|
def pathAtIndex_(self, index: int) -> str:
|
|
row = self.model[index]
|
|
return str(row._dupe.path)
|
|
|
|
# python --> cocoa
|
|
@dontwrap
|
|
def invalidate_markings(self):
|
|
self.callback.invalidateMarkings()
|
|
|