mirror of
https://github.com/arsenetar/dupeguru.git
synced 2026-01-22 06:37:17 +00:00
Results are not automatically saved/load anymore. There's a reminder on quitting if you haven't saved your results. Also, for easier re-loading, there's a 'open recent results' menu item.
This commit is contained in:
27
core/app.py
27
core/app.py
@@ -67,11 +67,6 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
os.link(str(ref.path), str(dupe.path))
|
||||
self.clean_empty_dirs(dupe.path[:-1])
|
||||
|
||||
def _do_load(self, j):
|
||||
self.directories.load_from_file(op.join(self.appdata, 'last_directories.xml'))
|
||||
self.notify('directories_changed')
|
||||
self.results.load_from_xml(op.join(self.appdata, 'last_results.xml'), self._get_file, j)
|
||||
|
||||
def _get_display_info(self, dupe, group, delta=False):
|
||||
if (dupe is None) or (group is None):
|
||||
return ['---'] * len(self.data.COLUMNS)
|
||||
@@ -244,18 +239,16 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
subprocess.Popen(cmd, shell=True)
|
||||
|
||||
def load(self):
|
||||
self._start_job(JOB_LOAD, self._do_load)
|
||||
self.load_ignore_list()
|
||||
self.directories.load_from_file(op.join(self.appdata, 'last_directories.xml'))
|
||||
self.notify('directories_changed')
|
||||
p = op.join(self.appdata, 'ignore_list.xml')
|
||||
self.scanner.ignore_list.load_from_xml(p)
|
||||
|
||||
def load_from(self, filename):
|
||||
def do(j):
|
||||
self.results.load_from_xml(filename, self._get_file, j)
|
||||
self._start_job(JOB_LOAD, do)
|
||||
|
||||
def load_ignore_list(self):
|
||||
p = op.join(self.appdata, 'ignore_list.xml')
|
||||
self.scanner.ignore_list.load_from_xml(p)
|
||||
|
||||
def make_selected_reference(self):
|
||||
dupes = self.without_ref(self.selected_dupes)
|
||||
changed_groups = set()
|
||||
@@ -327,19 +320,11 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
if not op.exists(self.appdata):
|
||||
os.makedirs(self.appdata)
|
||||
self.directories.save_to_file(op.join(self.appdata, 'last_directories.xml'))
|
||||
if self.results.is_modified:
|
||||
self.results.save_to_xml(op.join(self.appdata, 'last_results.xml'))
|
||||
p = op.join(self.appdata, 'ignore_list.xml')
|
||||
self.scanner.ignore_list.save_to_xml(p)
|
||||
|
||||
def save_as(self, filename):
|
||||
self.results.save_to_xml(filename)
|
||||
# It's not because we saved it here that we don't want to save it in appdata when we quit
|
||||
self.results.is_modified = True
|
||||
|
||||
def save_ignore_list(self):
|
||||
if not op.exists(self.appdata):
|
||||
os.makedirs(self.appdata)
|
||||
p = op.join(self.appdata, 'ignore_list.xml')
|
||||
self.scanner.ignore_list.save_to_xml(p)
|
||||
|
||||
def start_scanning(self):
|
||||
def do(j):
|
||||
|
||||
@@ -40,10 +40,7 @@ class PyDupeGuruBase(PyFairware):
|
||||
def exportToXHTMLwithColumns_(self, column_ids):
|
||||
return self.py.export_to_xhtml(column_ids)
|
||||
|
||||
def loadIgnoreList(self):
|
||||
self.py.load_ignore_list()
|
||||
|
||||
def loadResults(self):
|
||||
def loadSession(self):
|
||||
self.py.load()
|
||||
|
||||
def loadResultsFrom_(self, filename):
|
||||
@@ -64,10 +61,7 @@ class PyDupeGuruBase(PyFairware):
|
||||
def toggleSelectedMark(self):
|
||||
self.py.toggle_selected_mark_state()
|
||||
|
||||
def saveIgnoreList(self):
|
||||
self.py.save_ignore_list()
|
||||
|
||||
def saveResults(self):
|
||||
def saveSession(self):
|
||||
self.py.save()
|
||||
|
||||
def saveResultsAs_(self, filename):
|
||||
@@ -118,6 +112,10 @@ class PyDupeGuruBase(PyFairware):
|
||||
def scanWasProblematic(self):
|
||||
return bool(self.py.results.problems)
|
||||
|
||||
@signature('i@:')
|
||||
def resultsAreModified(self):
|
||||
return self.py.results.is_modified
|
||||
|
||||
#---Properties
|
||||
@signature('v@:c')
|
||||
def setMixFileKind_(self, mix_file_kind):
|
||||
|
||||
Reference in New Issue
Block a user