1
0
mirror of https://github.com/arsenetar/dupeguru.git synced 2025-03-10 05:34:36 +00:00

Removed logic duplication across toolkit code in "Reveal Selected" action.

This commit is contained in:
Virgil Dupras 2010-02-06 15:31:35 +01:00
parent 8edb869fdc
commit 5e57f9cbd6
4 changed files with 17 additions and 13 deletions

View File

@ -111,6 +111,10 @@ class DupeGuru(RegistrableApplication, Broadcaster):
def _recycle_dupe(dupe):
raise NotImplementedError()
@staticmethod
def _reveal_path(path):
raise NotImplementedError()
def _select_dupes(self, dupes):
if dupes == self.selected_dupes:
return
@ -238,6 +242,10 @@ class DupeGuru(RegistrableApplication, Broadcaster):
def remove_selected(self):
self.remove_duplicates(self.selected_dupes)
def reveal_selected(self):
if self.selected_dupes:
self._reveal_path(self.selected_dupes[0].path)
def save(self):
if not op.exists(self.appdata):
os.makedirs(self.appdata)

View File

@ -61,6 +61,10 @@ class DupeGuru(app.DupeGuru):
result, tag = NSWorkspace.sharedWorkspace().performFileOperation_source_destination_files_tag_(
NSWorkspaceRecycleOperation, directory, '', [filename], None)
@staticmethod
def _reveal_path(path):
NSWorkspace.sharedWorkspace().selectFile_inFileViewerRootedAtPath_(unicode(path), '')
def _start_job(self, jobid, func):
try:
j = self.progress.create_job()
@ -115,12 +119,6 @@ class DupeGuru(app.DupeGuru):
logging.warning("dupeGuru Warning: %s" % unicode(e))
return False
def RevealSelected(self):
# local import because first appkit import takes a lot of memory. we want to avoid it.
if self.selected_dupes:
path = unicode(self.selected_dupes[0].path)
NSWorkspace.sharedWorkspace().selectFile_inFileViewerRootedAtPath_(path,'')
def start_scanning(self):
self._select_dupes([])
try:

View File

@ -112,7 +112,7 @@ class PyDupeGuruBase(PyApp):
return self.app.RenameSelected(newname)
def revealSelected(self):
self.app.RevealSelected()
self.app.reveal_selected()
#---Misc
def sortDupesBy_ascending_(self, key, asc):

View File

@ -126,6 +126,10 @@ class DupeGuru(DupeGuruBase, QObject):
def _recycle_dupe(dupe):
platform.recycle_file(dupe.path)
@staticmethod
def _reveal_path(path):
self._open_path(path[:-1])
def _start_job(self, jobid, func):
title = JOBID2TITLE[jobid]
try:
@ -210,12 +214,6 @@ class DupeGuru(DupeGuruBase, QObject):
logging.warning("dupeGuru Warning: %s" % unicode(e))
return False
def reveal_selected(self):
if not self.selected_dupes:
return
url = QUrl.fromLocalFile(unicode(self.selected_dupe[0].path[:-1]))
QDesktopServices.openUrl(url)
def select_dupes(self, dupes):
self._select_dupes(dupes)