Fixed broken dgme-cocoa and replaced JOB_* consts with JobType const class.

This commit is contained in:
Virgil Dupras 2011-09-21 13:55:26 -04:00
parent 3b4ea50119
commit 0da1947902
6 changed files with 37 additions and 48 deletions

View File

@ -72,12 +72,6 @@
CEB5E07813225C89009F521D /* ExtraFairwareReminder.m in Sources */ = {isa = PBXBuildFile; fileRef = CEB5E07613225C89009F521D /* ExtraFairwareReminder.m */; }; CEB5E07813225C89009F521D /* ExtraFairwareReminder.m in Sources */ = {isa = PBXBuildFile; fileRef = CEB5E07613225C89009F521D /* ExtraFairwareReminder.m */; };
CEB5E07D13225CA2009F521D /* ExtraFairwareReminder.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEB5E07B13225CA2009F521D /* ExtraFairwareReminder.xib */; }; CEB5E07D13225CA2009F521D /* ExtraFairwareReminder.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEB5E07B13225CA2009F521D /* ExtraFairwareReminder.xib */; };
CEC481F21423FBC600034F91 /* columns.strings in Resources */ = {isa = PBXBuildFile; fileRef = CEC481ED1423FBC600034F91 /* columns.strings */; }; CEC481F21423FBC600034F91 /* columns.strings in Resources */ = {isa = PBXBuildFile; fileRef = CEC481ED1423FBC600034F91 /* columns.strings */; };
CEC481F31423FBC600034F91 /* help in Resources */ = {isa = PBXBuildFile; fileRef = CE073F5409CAE1A3005C1D2F /* help */; };
CEC481F41423FBC600034F91 /* dg_cocoa.plugin in Resources */ = {isa = PBXBuildFile; fileRef = CE381CF509915304003581CE /* dg_cocoa.plugin */; };
CEC481F51423FBC600034F91 /* folder32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFC294509C89E3D00D9F998 /* folder32.png */; };
CECE37A61423EA980005187F /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05330D12E5D3ED0029EF25 /* DetailsPanel.xib */; };
CECE37A71423EA980005187F /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05330F12E5D3ED0029EF25 /* DirectoryPanel.xib */; };
CECE37A81423EA980005187F /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05331112E5D3ED0029EF25 /* MainMenu.xib */; };
CEDF07A3112493B200EE5BC0 /* StatsLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDF07A2112493B200EE5BC0 /* StatsLabel.m */; }; CEDF07A3112493B200EE5BC0 /* StatsLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDF07A2112493B200EE5BC0 /* StatsLabel.m */; };
CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEEB135109C837A2004D2330 /* dupeguru.icns */; }; CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEEB135109C837A2004D2330 /* dupeguru.icns */; };
CEF3185913D8660000B8CDCA /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEF3185513D8660000B8CDCA /* about.xib */; }; CEF3185913D8660000B8CDCA /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEF3185513D8660000B8CDCA /* about.xib */; };
@ -582,13 +576,7 @@
CEF3185913D8660000B8CDCA /* about.xib in Resources */, CEF3185913D8660000B8CDCA /* about.xib in Resources */,
CEF3185A13D8660000B8CDCA /* ErrorReportWindow.xib in Resources */, CEF3185A13D8660000B8CDCA /* ErrorReportWindow.xib in Resources */,
CE84C9BD1423AF200050A6AD /* PrioritizeDialog.xib in Resources */, CE84C9BD1423AF200050A6AD /* PrioritizeDialog.xib in Resources */,
CECE37A61423EA980005187F /* DetailsPanel.xib in Resources */,
CECE37A71423EA980005187F /* DirectoryPanel.xib in Resources */,
CECE37A81423EA980005187F /* MainMenu.xib in Resources */,
CEC481F21423FBC600034F91 /* columns.strings in Resources */, CEC481F21423FBC600034F91 /* columns.strings in Resources */,
CEC481F31423FBC600034F91 /* help in Resources */,
CEC481F41423FBC600034F91 /* dg_cocoa.plugin in Resources */,
CEC481F51423FBC600034F91 /* folder32.png in Resources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };

View File

@ -25,12 +25,6 @@ from hscommon.trans import tr
from . import directories, results, scanner, export, fs from . import directories, results, scanner, export, fs
JOB_SCAN = 'job_scan'
JOB_LOAD = 'job_load'
JOB_MOVE = 'job_move'
JOB_COPY = 'job_copy'
JOB_DELETE = 'job_delete'
HAD_FIRST_LAUNCH_PREFERENCE = 'HadFirstLaunch' HAD_FIRST_LAUNCH_PREFERENCE = 'HadFirstLaunch'
DEBUG_MODE_PREFERENCE = 'DebugMode' DEBUG_MODE_PREFERENCE = 'DebugMode'
@ -42,6 +36,12 @@ class DestType:
Relative = 1 Relative = 1
Absolute = 2 Absolute = 2
class JobType:
Scan = 'job_scan'
Load = 'job_load'
Move = 'job_move'
Copy = 'job_copy'
Delete = 'job_delete'
Column = namedtuple('Column', 'attr display') Column = namedtuple('Column', 'attr display')
@ -158,12 +158,12 @@ class DupeGuru(RegistrableApplication, Broadcaster):
def _job_completed(self, jobid): def _job_completed(self, jobid):
# Must be called by subclasses when they detect that an async job is completed. # Must be called by subclasses when they detect that an async job is completed.
if jobid == JOB_SCAN: if jobid == JobType.Scan:
self._results_changed() self._results_changed()
elif jobid in {JOB_LOAD, JOB_MOVE, JOB_DELETE}: elif jobid in {JobType.Load, JobType.Move, JobType.Delete}:
self._results_changed() self._results_changed()
if jobid in {JOB_COPY, JOB_MOVE, JOB_DELETE}: if jobid in {JobType.Copy, JobType.Move, JobType.Delete}:
self.notify('problems_changed') self.notify('problems_changed')
@staticmethod @staticmethod
@ -256,12 +256,12 @@ class DupeGuru(RegistrableApplication, Broadcaster):
self.results.perform_on_marked(op, not copy) self.results.perform_on_marked(op, not copy)
self.show_extra_fairware_reminder_if_needed() self.show_extra_fairware_reminder_if_needed()
jobid = JOB_COPY if copy else JOB_MOVE jobid = JobType.Copy if copy else JobType.Move
self.view.start_job(jobid, do) self.view.start_job(jobid, do)
def delete_marked(self, replace_with_hardlinks=False): def delete_marked(self, replace_with_hardlinks=False):
self.show_extra_fairware_reminder_if_needed() self.show_extra_fairware_reminder_if_needed()
self.view.start_job(JOB_DELETE, self._do_delete, args=[replace_with_hardlinks]) self.view.start_job(JobType.Delete, self._do_delete, args=[replace_with_hardlinks])
def export_to_xhtml(self, column_ids): def export_to_xhtml(self, column_ids):
column_ids = [colid for colid in column_ids if colid.isdigit()] column_ids = [colid for colid in column_ids if colid.isdigit()]
@ -320,7 +320,7 @@ class DupeGuru(RegistrableApplication, Broadcaster):
def load_from(self, filename): def load_from(self, filename):
def do(j): def do(j):
self.results.load_from_xml(filename, self._get_file, j) self.results.load_from_xml(filename, self._get_file, j)
self.view.start_job(JOB_LOAD, do) self.view.start_job(JobType.Load, do)
def make_selected_reference(self): def make_selected_reference(self):
dupes = self.without_ref(self.selected_dupes) dupes = self.without_ref(self.selected_dupes)
@ -420,7 +420,7 @@ class DupeGuru(RegistrableApplication, Broadcaster):
raise NoScannableFileError() raise NoScannableFileError()
self.results.groups = [] self.results.groups = []
self._results_changed() self._results_changed()
self.view.start_job(JOB_SCAN, do) self.view.start_job(JobType.Scan, do)
def toggle_selected_mark_state(self): def toggle_selected_mark_state(self):
for dupe in self.selected_dupes: for dupe in self.selected_dupes:

View File

@ -26,14 +26,14 @@ from .gui.result_table import ResultTable
from .gui.stats_label import StatsLabel from .gui.stats_label import StatsLabel
from .gui.extra_fairware_reminder import ExtraFairwareReminder from .gui.extra_fairware_reminder import ExtraFairwareReminder
from .gui.prioritize_dialog import PrioritizeDialog from .gui.prioritize_dialog import PrioritizeDialog
from . import app from .app import JobType
JOBID2TITLE = { JOBID2TITLE = {
app.JOB_SCAN: tr("Scanning for duplicates"), JobType.Scan: tr("Scanning for duplicates"),
app.JOB_LOAD: tr("Loading"), JobType.Load: tr("Loading"),
app.JOB_MOVE: tr("Moving"), JobType.Move: tr("Moving"),
app.JOB_COPY: tr("Copying"), JobType.Copy: tr("Copying"),
app.JOB_DELETE: tr("Sending to Trash"), JobType.Delete: tr("Sending to Trash"),
} }
class PyDupeGuruBase(PyFairware): class PyDupeGuruBase(PyFairware):

View File

@ -6,9 +6,9 @@
# http://www.hardcoded.net/licenses/bsd_license # http://www.hardcoded.net/licenses/bsd_license
from hscommon.trans import tr as trbase from hscommon.trans import tr as trbase
from hscommon.util import format_size from hscommon.util import format_size, format_time
from core.app import (DupeGuru as DupeGuruBase, Column, format_time, format_timestamp, from core.app import (DupeGuru as DupeGuruBase, Column, format_timestamp,
format_perc, format_words, format_dupe_count, cmp_value) format_perc, format_words, format_dupe_count, cmp_value)
from . import prioritize from . import prioritize
from . import __appname__ from . import __appname__

View File

@ -14,17 +14,18 @@ import os.path as op
from hscommon.cocoa import as_fetch from hscommon.cocoa import as_fetch
from hscommon.trans import tr from hscommon.trans import tr
from core.app import JobType
from core.app_cocoa import JOBID2TITLE from core.app_cocoa import JOBID2TITLE
from . import scanner, fs from . import scanner, fs
from .app import DupeGuru as DupeGuruBase from .app import DupeGuru as DupeGuruBase
JOB_REMOVE_DEAD_TRACKS = 'jobRemoveDeadTracks' JobType.RemoveDeadTracks = 'jobRemoveDeadTracks'
JOB_SCAN_DEAD_TRACKS = 'jobScanDeadTracks' JobType.ScanDeadTracks = 'jobScanDeadTracks'
JOBID2TITLE.update({ JOBID2TITLE.update({
JOB_REMOVE_DEAD_TRACKS: tr("Removing dead tracks from your iTunes Library"), JobType.RemoveDeadTracks: tr("Removing dead tracks from your iTunes Library"),
JOB_SCAN_DEAD_TRACKS: tr("Scanning the iTunes Library"), JobType.ScanDeadTracks: tr("Scanning the iTunes Library"),
}) })
class DupeGuruME(DupeGuruBase): class DupeGuruME(DupeGuruBase):
@ -47,7 +48,7 @@ class DupeGuruME(DupeGuruBase):
except CommandError as e: except CommandError as e:
logging.warning('Error while trying to remove a track from iTunes: %s' % str(e)) logging.warning('Error while trying to remove a track from iTunes: %s' % str(e))
self._start_job(JOB_REMOVE_DEAD_TRACKS, do) self.view.start_job(JobType.RemoveDeadTracks, do)
def scan_dead_tracks(self): def scan_dead_tracks(self):
def do(j): def do(j):
@ -68,5 +69,5 @@ class DupeGuruME(DupeGuruBase):
self.dead_tracks.append(track) self.dead_tracks.append(track)
logging.info('Found %d dead tracks' % len(self.dead_tracks)) logging.info('Found %d dead tracks' % len(self.dead_tracks))
self._start_job(JOB_SCAN_DEAD_TRACKS, do) self.view.start_job(JobType.ScanDeadTracks, do)

View File

@ -19,7 +19,7 @@ from jobprogress import job
from jobprogress.qt import Progress from jobprogress.qt import Progress
from hscommon.trans import tr, trmsg from hscommon.trans import tr, trmsg
from core.app import JOB_SCAN, JOB_LOAD, JOB_MOVE, JOB_COPY, JOB_DELETE from core.app import JobType
from qtlib.about_box import AboutBox from qtlib.about_box import AboutBox
from qtlib.recent import Recent from qtlib.recent import Recent
@ -33,11 +33,11 @@ from .problem_dialog import ProblemDialog
from .util import createActions from .util import createActions
JOBID2TITLE = { JOBID2TITLE = {
JOB_SCAN: tr("Scanning for duplicates"), JobType.Scan: tr("Scanning for duplicates"),
JOB_LOAD: tr("Loading"), JobType.Load: tr("Loading"),
JOB_MOVE: tr("Moving"), JobType.Move: tr("Moving"),
JOB_COPY: tr("Copying"), JobType.Copy: tr("Copying"),
JOB_DELETE: tr("Sending files to the recycle bin"), JobType.Delete: tr("Sending files to the recycle bin"),
} }
class SysWrapper(io.IOBase): class SysWrapper(io.IOBase):
@ -209,20 +209,20 @@ class DupeGuru(QObject):
def job_finished(self, jobid): def job_finished(self, jobid):
self.model._job_completed(jobid) self.model._job_completed(jobid)
if jobid in (JOB_MOVE, JOB_COPY, JOB_DELETE): if jobid in {JobType.Move, JobType.Copy, JobType.Delete}:
if self.model.results.problems: if self.model.results.problems:
self.problemDialog.show() self.problemDialog.show()
else: else:
msg = trmsg("OperationSuccessMsg") msg = trmsg("OperationSuccessMsg")
QMessageBox.information(self.resultWindow, tr("Operation Complete"), msg) QMessageBox.information(self.resultWindow, tr("Operation Complete"), msg)
elif jobid == JOB_SCAN: elif jobid == JobType.Scan:
if not self.model.results.groups: if not self.model.results.groups:
title = tr("Scan complete") title = tr("Scan complete")
msg = trmsg("NoDuplicateFoundMsg") msg = trmsg("NoDuplicateFoundMsg")
QMessageBox.information(self.resultWindow, title, msg) QMessageBox.information(self.resultWindow, title, msg)
else: else:
self.showResultsWindow() self.showResultsWindow()
elif jobid == JOB_LOAD: elif jobid == JobType.Load:
self.showResultsWindow() self.showResultsWindow()
def openDebugLogTriggered(self): def openDebugLogTriggered(self):