1
0
mirror of https://github.com/arsenetar/dupeguru.git synced 2026-01-22 14:41:39 +00:00

Began a long overdue overhaul of the columns system. Cocoa-only so far, but it will affect the Qt part.

This commit is contained in:
Virgil Dupras
2011-11-26 10:55:14 -05:00
parent 0b1bf79796
commit eb83b830df
17 changed files with 233 additions and 428 deletions

View File

@@ -41,8 +41,6 @@ class JobType:
Copy = 'job_copy'
Delete = 'job_delete'
Column = namedtuple('Column', 'attr display')
def format_timestamp(t, delta):
if delta:
return format_time_decimal(t)
@@ -68,10 +66,10 @@ def format_dupe_count(c):
return str(c) if c else '---'
def cmp_value(dupe, column):
if column.attr == 'name':
if column.name == 'name':
value = rem_file_ext(dupe.name)
else:
value = getattr(dupe, column.attr, '')
value = getattr(dupe, column.name, '')
return value.lower() if isinstance(value, str) else value
class DupeGuru(RegistrableApplication, Broadcaster):
@@ -411,6 +409,7 @@ class DupeGuru(RegistrableApplication, Broadcaster):
self.directories.save_to_file(op.join(self.appdata, 'last_directories.xml'))
p = op.join(self.appdata, 'ignore_list.xml')
self.scanner.ignore_list.save_to_xml(p)
self.notify('save_session')
def save_as(self, filename):
self.results.save_to_xml(filename)

View File

@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
# Created By: Virgil Dupras
# Created On: 2010-02-11
# Copyright 2011 Hardcoded Software (http://www.hardcoded.net)
@@ -10,6 +9,7 @@
from operator import attrgetter
from hscommon.gui.table import GUITable, Row
from hscommon.gui.column import Columns
from .base import GUIObject
@@ -55,6 +55,8 @@ class ResultTable(GUIObject, GUITable):
def __init__(self, view, app):
GUIObject.__init__(self, view, app)
GUITable.__init__(self)
self.COLUMNS = app.COLUMNS
self.columns = Columns(self, prefaccess=app, savename='ResultTable')
self._power_marker = False
self._delta_values = False
self._sort_descriptors = (0, True)
@@ -63,6 +65,7 @@ class ResultTable(GUIObject, GUITable):
def connect(self):
GUIObject.connect(self)
self._refresh_with_view()
self.columns.restore_columns()
def _restore_selection(self, previous_selection):
if self.app.selected_dupes:
@@ -162,3 +165,6 @@ class ResultTable(GUIObject, GUITable):
self.select(indexes)
self.view.refresh()
def save_session(self):
self.columns.save_columns()