mirror of
https://github.com/arsenetar/dupeguru.git
synced 2026-01-22 06:37:17 +00:00
Added an Ignore List dialog.
This commit is contained in:
@@ -31,6 +31,7 @@ from . import platform
|
||||
from .result_window import ResultWindow
|
||||
from .directories_dialog import DirectoriesDialog
|
||||
from .problem_dialog import ProblemDialog
|
||||
from .ignore_list_dialog import IgnoreListDialog
|
||||
|
||||
tr = trget('ui')
|
||||
|
||||
@@ -87,6 +88,7 @@ class DupeGuru(QObject):
|
||||
self.directories_dialog = DirectoriesDialog(self.resultWindow, self)
|
||||
self.details_dialog = self.DETAILS_DIALOG_CLASS(self.resultWindow, self)
|
||||
self.problemDialog = ProblemDialog(parent=self.resultWindow, model=self.model.problem_dialog)
|
||||
self.ignoreListDialog = IgnoreListDialog(parent=self.resultWindow, model=self.model.ignore_list_dialog)
|
||||
self.preferences_dialog = self.PREFERENCES_DIALOG_CLASS(self.resultWindow, self)
|
||||
self.about_box = AboutBox(self.resultWindow, self)
|
||||
|
||||
@@ -107,6 +109,7 @@ class DupeGuru(QObject):
|
||||
ACTIONS = [
|
||||
('actionQuit', 'Ctrl+Q', '', tr("Quit"), self.quitTriggered),
|
||||
('actionPreferences', 'Ctrl+P', '', tr("Preferences"), self.preferencesTriggered),
|
||||
('actionIgnoreList', '', '', tr("Ignore List"), self.ignoreListTriggered),
|
||||
('actionShowHelp', 'F1', '', tr("dupeGuru Help"), self.showHelpTriggered),
|
||||
('actionAbout', '', '', tr("About dupeGuru"), self.showAboutBoxTriggered),
|
||||
('actionRegister', '', '', tr("Register dupeGuru"), self.registerTriggered),
|
||||
@@ -173,6 +176,9 @@ class DupeGuru(QObject):
|
||||
def checkForUpdateTriggered(self):
|
||||
QProcess.execute('updater.exe', ['/checknow'])
|
||||
|
||||
def ignoreListTriggered(self):
|
||||
self.model.ignore_list_dialog.show()
|
||||
|
||||
def job_finished(self, jobid):
|
||||
result = self.model._job_completed(jobid, self._progress.last_error)
|
||||
if not result:
|
||||
|
||||
@@ -79,6 +79,7 @@ class DirectoriesDialog(QMainWindow):
|
||||
self.menuFile.addAction(self.app.actionQuit)
|
||||
self.menuView.addAction(self.app.actionPreferences)
|
||||
self.menuView.addAction(self.actionShowResultsWindow)
|
||||
self.menuView.addAction(self.app.actionIgnoreList)
|
||||
self.menuHelp.addAction(self.app.actionShowHelp)
|
||||
self.menuHelp.addAction(self.app.actionRegister)
|
||||
self.menuHelp.addAction(self.app.actionCheckForUpdate)
|
||||
|
||||
52
qt/base/ignore_list_dialog.py
Normal file
52
qt/base/ignore_list_dialog.py
Normal file
@@ -0,0 +1,52 @@
|
||||
# Created By: Virgil Dupras
|
||||
# Created On: 2012-03-13
|
||||
# Copyright 2012 Hardcoded Software (http://www.hardcoded.net)
|
||||
#
|
||||
# This software is licensed under the "BSD" License as described in the "LICENSE" file,
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
from PyQt4.QtCore import Qt
|
||||
from PyQt4.QtGui import QDialog, QVBoxLayout, QPushButton, QTableView, QAbstractItemView
|
||||
|
||||
from hscommon.trans import trget
|
||||
from qtlib.util import horizontalWrap
|
||||
from .ignore_list_table import IgnoreListTable
|
||||
|
||||
tr = trget('ui')
|
||||
|
||||
class IgnoreListDialog(QDialog):
|
||||
def __init__(self, parent, model):
|
||||
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
||||
QDialog.__init__(self, parent, flags)
|
||||
self._setupUi()
|
||||
self.model = model
|
||||
self.model.view = self
|
||||
self.table = IgnoreListTable(self.model.ignore_list_table, view=self.tableView)
|
||||
|
||||
self.removeSelectedButton.clicked.connect(self.model.remove_selected)
|
||||
self.clearButton.clicked.connect(self.model.clear)
|
||||
|
||||
def _setupUi(self):
|
||||
self.setWindowTitle(tr("Ignore List"))
|
||||
self.resize(540, 330)
|
||||
self.verticalLayout = QVBoxLayout(self)
|
||||
self.tableView = QTableView()
|
||||
self.tableView.setEditTriggers(QAbstractItemView.NoEditTriggers)
|
||||
self.tableView.setSelectionMode(QAbstractItemView.ExtendedSelection)
|
||||
self.tableView.setSelectionBehavior(QAbstractItemView.SelectRows)
|
||||
self.tableView.setShowGrid(False)
|
||||
self.tableView.horizontalHeader().setStretchLastSection(True)
|
||||
self.tableView.verticalHeader().setDefaultSectionSize(18)
|
||||
self.tableView.verticalHeader().setHighlightSections(False)
|
||||
self.tableView.verticalHeader().setVisible(False)
|
||||
self.verticalLayout.addWidget(self.tableView)
|
||||
self.removeSelectedButton = QPushButton(tr("Remove Selected"))
|
||||
self.clearButton = QPushButton(tr("Clear"))
|
||||
self.verticalLayout.addLayout(horizontalWrap([self.removeSelectedButton, self.clearButton,
|
||||
None]))
|
||||
|
||||
#--- model --> view
|
||||
def show(self):
|
||||
QDialog.show(self)
|
||||
|
||||
15
qt/base/ignore_list_table.py
Normal file
15
qt/base/ignore_list_table.py
Normal file
@@ -0,0 +1,15 @@
|
||||
# Created On: 2012-03-13
|
||||
# Copyright 2012 Hardcoded Software (http://www.hardcoded.net)
|
||||
#
|
||||
# This software is licensed under the "BSD" License as described in the "LICENSE" file,
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
from qtlib.column import Column
|
||||
from qtlib.table import Table
|
||||
|
||||
class IgnoreListTable(Table):
|
||||
COLUMNS = [
|
||||
Column('path1', defaultWidth=230),
|
||||
Column('path2', defaultWidth=230),
|
||||
]
|
||||
@@ -64,7 +64,6 @@ class ResultWindow(QMainWindow):
|
||||
('actionMarkNone', 'Ctrl+Shift+A', '', tr("Mark None"), self.markNoneTriggered),
|
||||
('actionInvertMarking', 'Ctrl+Alt+A', '', tr("Invert Marking"), self.markInvertTriggered),
|
||||
('actionMarkSelected', '', '', tr("Mark Selected"), self.markSelectedTriggered),
|
||||
('actionClearIgnoreList', '', '', tr("Clear Ignore List"), self.clearIgnoreListTriggered),
|
||||
('actionExport', '', '', tr("Export To HTML"), self.exportTriggered),
|
||||
('actionSaveResults', 'Ctrl+S', '', tr("Save Results..."), self.saveResultsTriggered),
|
||||
('actionInvokeCustomCommand', 'Ctrl+Alt+I', '', tr("Invoke Custom Command"), self.app.invokeCustomCommand),
|
||||
@@ -116,6 +115,7 @@ class ResultWindow(QMainWindow):
|
||||
self.menuView.addAction(self.actionDelta)
|
||||
self.menuView.addSeparator()
|
||||
self.menuView.addAction(self.actionDetails)
|
||||
self.menuView.addAction(self.app.actionIgnoreList)
|
||||
self.menuView.addAction(self.app.actionPreferences)
|
||||
self.menuHelp.addAction(self.app.actionShowHelp)
|
||||
self.menuHelp.addAction(self.app.actionRegister)
|
||||
@@ -124,7 +124,6 @@ class ResultWindow(QMainWindow):
|
||||
self.menuHelp.addAction(self.app.actionAbout)
|
||||
self.menuFile.addAction(self.actionSaveResults)
|
||||
self.menuFile.addAction(self.actionExport)
|
||||
self.menuFile.addAction(self.actionClearIgnoreList)
|
||||
self.menuFile.addSeparator()
|
||||
self.menuFile.addAction(self.app.actionQuit)
|
||||
|
||||
@@ -226,9 +225,6 @@ class ResultWindow(QMainWindow):
|
||||
def addToIgnoreListTriggered(self):
|
||||
self.app.model.add_selected_to_ignore_list()
|
||||
|
||||
def clearIgnoreListTriggered(self):
|
||||
self.app.model.clear_ignore_list()
|
||||
|
||||
def copyTriggered(self):
|
||||
self.app.model.copy_or_move_marked(True)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user