1
0
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:
Virgil Dupras
2011-01-13 16:20:03 +01:00
parent 064707db43
commit 3ef118c9fa
26 changed files with 257 additions and 384 deletions

View File

@@ -202,7 +202,6 @@ class DupeGuru(DupeGuruBase, QObject):
self.willSavePrefs.emit()
self.prefs.save()
self.save()
self.save_ignore_list()
def job_finished(self, jobid):
self._job_completed(jobid)

View File

@@ -14,6 +14,7 @@ from PyQt4.QtGui import (QMainWindow, QMenu, QPixmap, QIcon, QToolButton, QLabel
QToolBar, QWidget, QVBoxLayout, QAbstractItemView, QStatusBar)
from hscommon.util import nonone
from qtlib.recent import Recent
from core.app import NoScannableFileError
@@ -63,7 +64,7 @@ class MainWindow(QMainWindow):
('actionInvertMarking', 'Ctrl+Alt+A', '', "Invert Marking", self.markInvertTriggered),
('actionMarkSelected', '', '', "Mark Selected", self.markSelectedTriggered),
('actionClearIgnoreList', '', '', "Clear Ignore List", self.clearIgnoreListTriggered),
('actionQuit', 'Ctrl+Q', '', "Quit", QCoreApplication.instance().quit),
('actionQuit', 'Ctrl+Q', '', "Quit", self.close),
('actionApplyFilter', 'Ctrl+F', '', "Apply Filter", self.applyFilterTriggered),
('actionCancelFilter', 'Ctrl+Shift+F', '', "Cancel Filter", self.cancelFilterTriggered),
('actionShowHelp', 'F1', '', "dupeGuru Help", self.showHelpTriggered),
@@ -105,6 +106,8 @@ class MainWindow(QMainWindow):
self.menuWindow.setTitle("Windows")
self.menuHelp = QMenu(self.menubar)
self.menuHelp.setTitle("Help")
self.menuLoadRecent = QMenu(self.menuFile)
self.menuLoadRecent.setTitle("Load Recent Results")
self.setMenuBar(self.menubar)
self.menuActions.addAction(self.actionDeleteMarked)
@@ -141,6 +144,7 @@ class MainWindow(QMainWindow):
self.menuFile.addAction(self.actionScan)
self.menuFile.addSeparator()
self.menuFile.addAction(self.actionLoadResults)
self.menuFile.addAction(self.menuLoadRecent.menuAction())
self.menuFile.addAction(self.actionSaveResults)
self.menuFile.addAction(self.actionExport)
self.menuFile.addAction(self.actionClearIgnoreList)
@@ -227,6 +231,8 @@ class MainWindow(QMainWindow):
self._setupActions()
self._setupMenu()
self._setupToolbar()
self.recentResults = Recent(self.app, self.menuLoadRecent, 'recentResults')
self.recentResults.mustOpenItem.connect(self.app.load_from)
self.statusbar = QStatusBar(self)
self.statusbar.setSizeGripEnabled(True)
self.setStatusBar(self.statusbar)
@@ -264,6 +270,15 @@ class MainWindow(QMainWindow):
colid = action.column_index
action.setChecked(not h.isSectionHidden(colid))
#--- QWidget overrides
def closeEvent(self, event):
event.accept()
if self.app.results.is_modified:
title = "Unsaved results"
msg = "You have unsaved results, do you really want to quit?"
if not self._confirm(title, msg):
event.ignore()
#--- Actions
def aboutTriggered(self):
self.app.show_about_box()
@@ -348,6 +363,7 @@ class MainWindow(QMainWindow):
destination = QFileDialog.getOpenFileName(self, title, '', files)
if destination:
self.app.load_from(destination)
self.recentResults.insertItem(destination)
def makeReferenceTriggered(self):
self.app.make_selected_reference()
@@ -406,6 +422,7 @@ class MainWindow(QMainWindow):
destination = QFileDialog.getSaveFileName(self, title, '', files)
if destination:
self.app.save_as(destination)
self.recentResults.insertItem(destination)
def scanTriggered(self):
title = "Start a new scan"

View File

@@ -40,6 +40,7 @@ class Preferences(PreferencesBase):
self.mainWindowRect = self.get_rect('MainWindowRect', self.mainWindowRect)
self.detailsWindowRect = self.get_rect('DetailsWindowRect', self.detailsWindowRect)
self.directoriesWindowRect = self.get_rect('DirectoriesWindowRect', self.directoriesWindowRect)
self.recentResults = get('RecentResults', self.recentResults)
self.registration_code = get('RegistrationCode', self.registration_code)
self.registration_email = get('RegistrationEmail', self.registration_email)
@@ -62,6 +63,7 @@ class Preferences(PreferencesBase):
self.mainWindowRect = None
self.detailsWindowRect = None
self.directoriesWindowRect = None
self.recentResults = []
self.registration_code = ''
self.registration_email = ''
@@ -91,6 +93,7 @@ class Preferences(PreferencesBase):
self.set_rect('MainWindowRect', self.mainWindowRect)
self.set_rect('DetailsWindowRect', self.detailsWindowRect)
self.set_rect('DirectoriesWindowRect', self.directoriesWindowRect)
set_('RecentResults', self.recentResults)
set_('RegistrationCode', self.registration_code)
set_('RegistrationEmail', self.registration_email)