mirror of
https://github.com/arsenetar/dupeguru.git
synced 2025-03-10 05:34:36 +00:00
Implemented super() inheritance style suggested by PyQt5
This commit is contained in:
parent
664d630b96
commit
5a8cb6f5e3
@ -43,8 +43,8 @@ class DupeGuru(QObject):
|
|||||||
PREFERENCES_CLASS = None
|
PREFERENCES_CLASS = None
|
||||||
PREFERENCES_DIALOG_CLASS = None
|
PREFERENCES_DIALOG_CLASS = None
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self, **kwargs):
|
||||||
QObject.__init__(self)
|
super().__init__(**kwargs)
|
||||||
self.prefs = self.PREFERENCES_CLASS()
|
self.prefs = self.PREFERENCES_CLASS()
|
||||||
self.prefs.load()
|
self.prefs.load()
|
||||||
self.model = self.MODELCLASS(view=self)
|
self.model = self.MODELCLASS(view=self)
|
||||||
|
@ -15,9 +15,9 @@ from qtlib.radio_box import RadioBox
|
|||||||
tr = trget('ui')
|
tr = trget('ui')
|
||||||
|
|
||||||
class DeletionOptions(QDialog):
|
class DeletionOptions(QDialog):
|
||||||
def __init__(self, parent, model):
|
def __init__(self, parent, model, **kwargs):
|
||||||
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
||||||
QDialog.__init__(self, parent, flags)
|
super().__init__(parent, flags, **kwargs)
|
||||||
self.model = model
|
self.model = model
|
||||||
self._setupUi()
|
self._setupUi()
|
||||||
self.model.view = self
|
self.model.view = self
|
||||||
|
@ -12,8 +12,8 @@ from PyQt5.QtWidgets import QDialog
|
|||||||
from .details_table import DetailsModel
|
from .details_table import DetailsModel
|
||||||
|
|
||||||
class DetailsDialog(QDialog):
|
class DetailsDialog(QDialog):
|
||||||
def __init__(self, parent, app):
|
def __init__(self, parent, app, **kwargs):
|
||||||
QDialog.__init__(self, parent, Qt.Tool)
|
super().__init__(parent, Qt.Tool, **kwargs)
|
||||||
self.app = app
|
self.app = app
|
||||||
self.model = app.model.details_panel
|
self.model = app.model.details_panel
|
||||||
self._setupUi()
|
self._setupUi()
|
||||||
@ -33,7 +33,7 @@ class DetailsDialog(QDialog):
|
|||||||
|
|
||||||
def show(self):
|
def show(self):
|
||||||
self._shown_once = True
|
self._shown_once = True
|
||||||
QDialog.show(self)
|
super().show()
|
||||||
|
|
||||||
#--- Events
|
#--- Events
|
||||||
def appWillSavePrefs(self):
|
def appWillSavePrefs(self):
|
||||||
|
@ -16,8 +16,8 @@ tr = trget('ui')
|
|||||||
HEADER = [tr("Attribute"), tr("Selected"), tr("Reference")]
|
HEADER = [tr("Attribute"), tr("Selected"), tr("Reference")]
|
||||||
|
|
||||||
class DetailsModel(QAbstractTableModel):
|
class DetailsModel(QAbstractTableModel):
|
||||||
def __init__(self, model):
|
def __init__(self, model, **kwargs):
|
||||||
QAbstractTableModel.__init__(self)
|
super().__init__(**kwargs)
|
||||||
self.model = model
|
self.model = model
|
||||||
|
|
||||||
def columnCount(self, parent):
|
def columnCount(self, parent):
|
||||||
|
@ -22,8 +22,8 @@ from .directories_model import DirectoriesModel, DirectoriesDelegate
|
|||||||
tr = trget('ui')
|
tr = trget('ui')
|
||||||
|
|
||||||
class DirectoriesDialog(QMainWindow):
|
class DirectoriesDialog(QMainWindow):
|
||||||
def __init__(self, parent, app):
|
def __init__(self, parent, app, **kwargs):
|
||||||
QMainWindow.__init__(self, None)
|
super().__init__(None, **kwargs)
|
||||||
self.app = app
|
self.app = app
|
||||||
self.lastAddedFolder = platform.INITIAL_FOLDER_IN_DIALOGS
|
self.lastAddedFolder = platform.INITIAL_FOLDER_IN_DIALOGS
|
||||||
self.recentFolders = Recent(self.app, 'recentFolders')
|
self.recentFolders = Recent(self.app, 'recentFolders')
|
||||||
|
@ -43,7 +43,7 @@ class DirectoriesDelegate(QStyledItemDelegate):
|
|||||||
rect.setLeft(rect.left()+4)
|
rect.setLeft(rect.left()+4)
|
||||||
painter.drawText(rect, Qt.AlignLeft, option.text)
|
painter.drawText(rect, Qt.AlignLeft, option.text)
|
||||||
else:
|
else:
|
||||||
QStyledItemDelegate.paint(self, painter, option, index)
|
super().paint(painter, option, index)
|
||||||
|
|
||||||
def setEditorData(self, editor, index):
|
def setEditorData(self, editor, index):
|
||||||
value = index.model().data(index, Qt.EditRole)
|
value = index.model().data(index, Qt.EditRole)
|
||||||
@ -59,8 +59,8 @@ class DirectoriesDelegate(QStyledItemDelegate):
|
|||||||
|
|
||||||
|
|
||||||
class DirectoriesModel(TreeModel):
|
class DirectoriesModel(TreeModel):
|
||||||
def __init__(self, model, view):
|
def __init__(self, model, view, **kwargs):
|
||||||
TreeModel.__init__(self)
|
super().__init__(**kwargs)
|
||||||
self.model = model
|
self.model = model
|
||||||
self.model.view = self
|
self.model.view = self
|
||||||
self.view = view
|
self.view = view
|
||||||
|
@ -16,9 +16,9 @@ from .ignore_list_table import IgnoreListTable
|
|||||||
tr = trget('ui')
|
tr = trget('ui')
|
||||||
|
|
||||||
class IgnoreListDialog(QDialog):
|
class IgnoreListDialog(QDialog):
|
||||||
def __init__(self, parent, model):
|
def __init__(self, parent, model, **kwargs):
|
||||||
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
||||||
QDialog.__init__(self, parent, flags)
|
super().__init__(parent, flags, **kwargs)
|
||||||
self._setupUi()
|
self._setupUi()
|
||||||
self.model = model
|
self.model = model
|
||||||
self.model.view = self
|
self.model.view = self
|
||||||
@ -50,5 +50,5 @@ class IgnoreListDialog(QDialog):
|
|||||||
|
|
||||||
#--- model --> view
|
#--- model --> view
|
||||||
def show(self):
|
def show(self):
|
||||||
QDialog.show(self)
|
super().show()
|
||||||
|
|
||||||
|
@ -20,9 +20,9 @@ tr = trget('ui')
|
|||||||
SUPPORTED_LANGUAGES = ['en', 'fr', 'de', 'zh_CN', 'cs', 'it', 'hy', 'ru', 'uk', 'pt_BR', 'vi']
|
SUPPORTED_LANGUAGES = ['en', 'fr', 'de', 'zh_CN', 'cs', 'it', 'hy', 'ru', 'uk', 'pt_BR', 'vi']
|
||||||
|
|
||||||
class PreferencesDialogBase(QDialog):
|
class PreferencesDialogBase(QDialog):
|
||||||
def __init__(self, parent, app):
|
def __init__(self, parent, app, **kwargs):
|
||||||
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
||||||
QDialog.__init__(self, parent, flags)
|
super().__init__(parent, flags, **kwargs)
|
||||||
self.app = app
|
self.app = app
|
||||||
self._setupUi()
|
self._setupUi()
|
||||||
|
|
||||||
|
@ -52,9 +52,9 @@ class PrioritizationList(ListviewModel):
|
|||||||
return Qt.MoveAction
|
return Qt.MoveAction
|
||||||
|
|
||||||
class PrioritizeDialog(QDialog):
|
class PrioritizeDialog(QDialog):
|
||||||
def __init__(self, parent, app):
|
def __init__(self, parent, app, **kwargs):
|
||||||
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
||||||
QDialog.__init__(self, parent, flags)
|
super().__init__(parent, flags, **kwargs)
|
||||||
self._setupUi()
|
self._setupUi()
|
||||||
self.model = PrioritizeDialogModel(app=app.model)
|
self.model = PrioritizeDialogModel(app=app.model)
|
||||||
self.categoryList = ComboboxModel(model=self.model.category_list, view=self.categoryCombobox)
|
self.categoryList = ComboboxModel(model=self.model.category_list, view=self.categoryCombobox)
|
||||||
|
@ -16,9 +16,9 @@ from .problem_table import ProblemTable
|
|||||||
tr = trget('ui')
|
tr = trget('ui')
|
||||||
|
|
||||||
class ProblemDialog(QDialog):
|
class ProblemDialog(QDialog):
|
||||||
def __init__(self, parent, model):
|
def __init__(self, parent, model, **kwargs):
|
||||||
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
||||||
QDialog.__init__(self, parent, flags)
|
super().__init__(parent, flags, **kwargs)
|
||||||
self._setupUi()
|
self._setupUi()
|
||||||
self.model = model
|
self.model = model
|
||||||
self.model.view = self
|
self.model.view = self
|
||||||
|
@ -15,8 +15,8 @@ class ProblemTable(Table):
|
|||||||
Column('msg', defaultWidth=150),
|
Column('msg', defaultWidth=150),
|
||||||
]
|
]
|
||||||
|
|
||||||
def __init__(self, model, view):
|
def __init__(self, model, view, **kwargs):
|
||||||
Table.__init__(self, model, view)
|
super().__init__(model, view, **kwargs)
|
||||||
# we have to prevent Return from initiating editing.
|
# we have to prevent Return from initiating editing.
|
||||||
# self.view.editSelected = lambda: None
|
# self.view.editSelected = lambda: None
|
||||||
|
|
@ -21,8 +21,8 @@ from .prioritize_dialog import PrioritizeDialog
|
|||||||
tr = trget('ui')
|
tr = trget('ui')
|
||||||
|
|
||||||
class ResultWindow(QMainWindow):
|
class ResultWindow(QMainWindow):
|
||||||
def __init__(self, app):
|
def __init__(self, app, **kwargs):
|
||||||
QMainWindow.__init__(self, None)
|
super().__init__(None, **kwargs)
|
||||||
self.app = app
|
self.app = app
|
||||||
self._setupUi()
|
self._setupUi()
|
||||||
self.resultsModel = app.RESULT_MODEL_CLASS(self.app, self.resultsView)
|
self.resultsModel = app.RESULT_MODEL_CLASS(self.app, self.resultsView)
|
||||||
|
@ -13,9 +13,9 @@ from PyQt5.QtWidgets import QTableView
|
|||||||
from qtlib.table import Table
|
from qtlib.table import Table
|
||||||
|
|
||||||
class ResultsModel(Table):
|
class ResultsModel(Table):
|
||||||
def __init__(self, app, view):
|
def __init__(self, app, view, **kwargs):
|
||||||
model = app.model.result_table
|
model = app.model.result_table
|
||||||
Table.__init__(self, model, view)
|
super().__init__(model, view, **kwargs)
|
||||||
view.horizontalHeader().setSortIndicator(1, Qt.AscendingOrder)
|
view.horizontalHeader().setSortIndicator(1, Qt.AscendingOrder)
|
||||||
|
|
||||||
app.prefsChanged.connect(self.appPrefsChanged)
|
app.prefsChanged.connect(self.appPrefsChanged)
|
||||||
@ -109,7 +109,7 @@ class ResultsView(QTableView):
|
|||||||
if event.text() == ' ':
|
if event.text() == ' ':
|
||||||
self.spacePressed.emit()
|
self.spacePressed.emit()
|
||||||
return
|
return
|
||||||
QTableView.keyPressEvent(self, event)
|
super().keyPressEvent(event)
|
||||||
|
|
||||||
def mouseDoubleClickEvent(self, event):
|
def mouseDoubleClickEvent(self, event):
|
||||||
self.doubleClicked.emit(None)
|
self.doubleClicked.emit(None)
|
||||||
|
@ -29,8 +29,8 @@ SCAN_TYPE_ORDER = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
class PreferencesDialog(PreferencesDialogBase):
|
class PreferencesDialog(PreferencesDialogBase):
|
||||||
def __init__(self, parent, app):
|
def __init__(self, parent, app, **kwargs):
|
||||||
PreferencesDialogBase.__init__(self, parent, app)
|
super().__init__(parent, app, **kwargs)
|
||||||
|
|
||||||
self.scanTypeComboBox.currentIndexChanged[int].connect(self.scanTypeChanged)
|
self.scanTypeComboBox.currentIndexChanged[int].connect(self.scanTypeChanged)
|
||||||
|
|
||||||
|
@ -16,9 +16,9 @@ from hscommon.trans import trget
|
|||||||
tr = trget('qtlib')
|
tr = trget('qtlib')
|
||||||
|
|
||||||
class AboutBox(QDialog):
|
class AboutBox(QDialog):
|
||||||
def __init__(self, parent, app, withreg=True):
|
def __init__(self, parent, app, withreg=True, **kwargs):
|
||||||
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint | Qt.MSWindowsFixedSizeDialogHint
|
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint | Qt.MSWindowsFixedSizeDialogHint
|
||||||
QDialog.__init__(self, parent, flags)
|
super().__init__(parent, flags, **kwargs)
|
||||||
self.app = app
|
self.app = app
|
||||||
self.withreg = withreg
|
self.withreg = withreg
|
||||||
self._setupUi()
|
self._setupUi()
|
||||||
|
@ -21,9 +21,9 @@ from .util import horizontalSpacer
|
|||||||
tr = trget('qtlib')
|
tr = trget('qtlib')
|
||||||
|
|
||||||
class ErrorReportDialog(QDialog):
|
class ErrorReportDialog(QDialog):
|
||||||
def __init__(self, parent, error):
|
def __init__(self, parent, error, **kwargs):
|
||||||
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
||||||
QDialog.__init__(self, parent, flags)
|
super().__init__(parent, flags, **kwargs)
|
||||||
self._setupUi()
|
self._setupUi()
|
||||||
name = QCoreApplication.applicationName()
|
name = QCoreApplication.applicationName()
|
||||||
version = QCoreApplication.applicationVersion()
|
version = QCoreApplication.applicationVersion()
|
||||||
@ -68,7 +68,7 @@ class ErrorReportDialog(QDialog):
|
|||||||
text = self.errorTextEdit.toPlainText()
|
text = self.errorTextEdit.toPlainText()
|
||||||
url = QUrl("mailto:support@hardcoded.net?SUBJECT=Error Report&BODY=%s" % text)
|
url = QUrl("mailto:support@hardcoded.net?SUBJECT=Error Report&BODY=%s" % text)
|
||||||
QDesktopServices.openUrl(url)
|
QDesktopServices.openUrl(url)
|
||||||
QDialog.accept(self)
|
super().accept()
|
||||||
|
|
||||||
|
|
||||||
def install_excepthook():
|
def install_excepthook():
|
||||||
|
@ -10,9 +10,9 @@ from PyQt5.QtCore import Qt, QTimer
|
|||||||
from PyQt5.QtWidgets import QProgressDialog
|
from PyQt5.QtWidgets import QProgressDialog
|
||||||
|
|
||||||
class ProgressWindow(QProgressDialog):
|
class ProgressWindow(QProgressDialog):
|
||||||
def __init__(self, parent, model):
|
def __init__(self, parent, model, **kwargs):
|
||||||
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
||||||
QProgressDialog.__init__(self, '', "Cancel", 0, 100, parent, flags)
|
super().__init__('', "Cancel", 0, 100, parent, flags, **kwargs)
|
||||||
self.model = model
|
self.model = model
|
||||||
model.view = self
|
model.view = self
|
||||||
# We don't have access to QProgressDialog's labels directly, so we se the model label's view
|
# We don't have access to QProgressDialog's labels directly, so we se the model label's view
|
||||||
@ -35,7 +35,7 @@ class ProgressWindow(QProgressDialog):
|
|||||||
|
|
||||||
def show(self):
|
def show(self):
|
||||||
self.reset()
|
self.reset()
|
||||||
QProgressDialog.show(self)
|
super().show()
|
||||||
self.canceled.connect(self.model.cancel)
|
self.canceled.connect(self.model.cancel)
|
||||||
self._timer.start(500)
|
self._timer.start(500)
|
||||||
|
|
||||||
@ -44,5 +44,5 @@ class ProgressWindow(QProgressDialog):
|
|||||||
# For some weird reason, canceled() signal is sent upon close, whether the user canceled
|
# For some weird reason, canceled() signal is sent upon close, whether the user canceled
|
||||||
# or not. If we don't want a false cancellation, we have to disconnect it.
|
# or not. If we don't want a false cancellation, we have to disconnect it.
|
||||||
self.canceled.disconnect()
|
self.canceled.disconnect()
|
||||||
QProgressDialog.close(self)
|
super().close()
|
||||||
|
|
||||||
|
@ -11,12 +11,12 @@ from PyQt5.QtWidgets import QWidget, QHBoxLayout, QRadioButton
|
|||||||
from .util import horizontalSpacer
|
from .util import horizontalSpacer
|
||||||
|
|
||||||
class RadioBox(QWidget):
|
class RadioBox(QWidget):
|
||||||
def __init__(self, parent=None, items=None, spread=True):
|
def __init__(self, parent=None, items=None, spread=True, **kwargs):
|
||||||
# If spread is False, insert a spacer in the layout so that the items don't use all the
|
# If spread is False, insert a spacer in the layout so that the items don't use all the
|
||||||
# space they're given but rather align left.
|
# space they're given but rather align left.
|
||||||
if items is None:
|
if items is None:
|
||||||
items = []
|
items = []
|
||||||
QWidget.__init__(self, parent)
|
super().__init__(parent, **kwargs)
|
||||||
self._buttons = []
|
self._buttons = []
|
||||||
self._labels = items
|
self._labels = items
|
||||||
self._selected_index = 0
|
self._selected_index = 0
|
||||||
|
@ -19,8 +19,8 @@ tr = trget('qtlib')
|
|||||||
MenuEntry = namedtuple('MenuEntry', 'menu fixedItemCount')
|
MenuEntry = namedtuple('MenuEntry', 'menu fixedItemCount')
|
||||||
|
|
||||||
class Recent(QObject):
|
class Recent(QObject):
|
||||||
def __init__(self, app, prefName, maxItemCount=10):
|
def __init__(self, app, prefName, maxItemCount=10, **kwargs):
|
||||||
QObject.__init__(self)
|
super().__init__(**kwargs)
|
||||||
self._app = app
|
self._app = app
|
||||||
self._menuEntries = []
|
self._menuEntries = []
|
||||||
self._prefName = prefName
|
self._prefName = prefName
|
||||||
|
@ -18,9 +18,9 @@ from hscommon.trans import trget
|
|||||||
tr = trget('qtlib')
|
tr = trget('qtlib')
|
||||||
|
|
||||||
class RegDemoDialog(QDialog):
|
class RegDemoDialog(QDialog):
|
||||||
def __init__(self, parent, reg, prompt):
|
def __init__(self, parent, reg, prompt, **kwargs):
|
||||||
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
||||||
QDialog.__init__(self, parent, flags)
|
super().__init__(parent, flags, **kwargs)
|
||||||
self.reg = reg
|
self.reg = reg
|
||||||
self._setupUi()
|
self._setupUi()
|
||||||
self.descLabel.setText(prompt)
|
self.descLabel.setText(prompt)
|
||||||
|
@ -17,9 +17,9 @@ from hscommon.trans import trget
|
|||||||
tr = trget('qtlib')
|
tr = trget('qtlib')
|
||||||
|
|
||||||
class RegSubmitDialog(QDialog):
|
class RegSubmitDialog(QDialog):
|
||||||
def __init__(self, parent, reg):
|
def __init__(self, parent, reg, **kwargs):
|
||||||
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
||||||
QDialog.__init__(self, parent, flags)
|
super().__init__(parent, flags, **kwargs)
|
||||||
self._setupUi()
|
self._setupUi()
|
||||||
self.reg = reg
|
self.reg = reg
|
||||||
|
|
||||||
|
@ -18,8 +18,8 @@ tr = trget('qtlib')
|
|||||||
# "images" folder in your resources.
|
# "images" folder in your resources.
|
||||||
|
|
||||||
class LineEditButton(QToolButton):
|
class LineEditButton(QToolButton):
|
||||||
def __init__(self, parent):
|
def __init__(self, parent, **kwargs):
|
||||||
QToolButton.__init__(self, parent)
|
super().__init__(parent, **kwargs)
|
||||||
pixmap = QPixmap(':/search_clear_13')
|
pixmap = QPixmap(':/search_clear_13')
|
||||||
self.setIcon(QIcon(pixmap))
|
self.setIcon(QIcon(pixmap))
|
||||||
self.setIconSize(pixmap.size())
|
self.setIconSize(pixmap.size())
|
||||||
@ -30,9 +30,9 @@ class LineEditButton(QToolButton):
|
|||||||
|
|
||||||
|
|
||||||
class SearchEdit(QLineEdit):
|
class SearchEdit(QLineEdit):
|
||||||
def __init__(self, parent=None, immediate=False):
|
def __init__(self, parent=None, immediate=False, **kwargs):
|
||||||
# immediate: send searchChanged signals at each keystroke.
|
# immediate: send searchChanged signals at each keystroke.
|
||||||
QLineEdit.__init__(self, parent)
|
super().__init__(parent, **kwargs)
|
||||||
self._clearButton = LineEditButton(self)
|
self._clearButton = LineEditButton(self)
|
||||||
frameWidth = self.style().pixelMetric(QStyle.PM_DefaultFrameWidth)
|
frameWidth = self.style().pixelMetric(QStyle.PM_DefaultFrameWidth)
|
||||||
paddingRight = self._clearButton.sizeHint().width() + frameWidth + 1
|
paddingRight = self._clearButton.sizeHint().width() + frameWidth + 1
|
||||||
|
@ -9,8 +9,8 @@
|
|||||||
from PyQt5.QtCore import Qt, QAbstractListModel, QItemSelection, QItemSelectionModel
|
from PyQt5.QtCore import Qt, QAbstractListModel, QItemSelection, QItemSelectionModel
|
||||||
|
|
||||||
class SelectableList(QAbstractListModel):
|
class SelectableList(QAbstractListModel):
|
||||||
def __init__(self, model, view):
|
def __init__(self, model, view, **kwargs):
|
||||||
QAbstractListModel.__init__(self)
|
super().__init__(**kwargs)
|
||||||
self._updating = False
|
self._updating = False
|
||||||
self.view = view
|
self.view = view
|
||||||
self.model = model
|
self.model = model
|
||||||
@ -49,8 +49,8 @@ class SelectableList(QAbstractListModel):
|
|||||||
self._restoreSelection()
|
self._restoreSelection()
|
||||||
|
|
||||||
class ComboboxModel(SelectableList):
|
class ComboboxModel(SelectableList):
|
||||||
def __init__(self, model, view):
|
def __init__(self, model, view, **kwargs):
|
||||||
SelectableList.__init__(self, model, view)
|
super().__init__(model, view, **kwargs)
|
||||||
self.view.currentIndexChanged[int].connect(self.selectionChanged)
|
self.view.currentIndexChanged[int].connect(self.selectionChanged)
|
||||||
|
|
||||||
#--- Override
|
#--- Override
|
||||||
@ -70,8 +70,8 @@ class ComboboxModel(SelectableList):
|
|||||||
self._updateSelection()
|
self._updateSelection()
|
||||||
|
|
||||||
class ListviewModel(SelectableList):
|
class ListviewModel(SelectableList):
|
||||||
def __init__(self, model, view):
|
def __init__(self, model, view, **kwargs):
|
||||||
SelectableList.__init__(self, model, view)
|
super().__init__(model, view, **kwargs)
|
||||||
self.view.selectionModel().selectionChanged[(QItemSelection, QItemSelection)].connect(
|
self.view.selectionModel().selectionChanged[(QItemSelection, QItemSelection)].connect(
|
||||||
self.selectionChanged)
|
self.selectionChanged)
|
||||||
|
|
||||||
|
@ -15,8 +15,8 @@ class Table(QAbstractTableModel):
|
|||||||
INVALID_INDEX_FLAGS = Qt.ItemIsEnabled
|
INVALID_INDEX_FLAGS = Qt.ItemIsEnabled
|
||||||
COLUMNS = []
|
COLUMNS = []
|
||||||
|
|
||||||
def __init__(self, model, view):
|
def __init__(self, model, view, **kwargs):
|
||||||
QAbstractTableModel.__init__(self)
|
super().__init__(**kwargs)
|
||||||
self.model = model
|
self.model = model
|
||||||
self.view = view
|
self.view = view
|
||||||
self.view.setModel(self)
|
self.view.setModel(self)
|
||||||
|
@ -79,9 +79,8 @@ class DummyNode(TreeNode):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
class TreeModel(QAbstractItemModel, NodeContainer):
|
class TreeModel(QAbstractItemModel, NodeContainer):
|
||||||
def __init__(self):
|
def __init__(self, **kwargs):
|
||||||
QAbstractItemModel.__init__(self)
|
super().__init__(**kwargs)
|
||||||
NodeContainer.__init__(self)
|
|
||||||
self._dummyNodes = set() # dummy nodes' reference have to be kept to avoid segfault
|
self._dummyNodes = set() # dummy nodes' reference have to be kept to avoid segfault
|
||||||
|
|
||||||
#--- Private
|
#--- Private
|
||||||
@ -128,11 +127,11 @@ class TreeModel(QAbstractItemModel, NodeContainer):
|
|||||||
return self.createIndex(node.parent.row, 0, node.parent)
|
return self.createIndex(node.parent.row, 0, node.parent)
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
QAbstractItemModel.beginResetModel(self)
|
super().beginResetModel()
|
||||||
self.invalidate()
|
self.invalidate()
|
||||||
self._ref2node = {}
|
self._ref2node = {}
|
||||||
self._dummyNodes = set()
|
self._dummyNodes = set()
|
||||||
QAbstractItemModel.endResetModel(self)
|
super().endResetModel()
|
||||||
|
|
||||||
def rowCount(self, parent=QModelIndex()):
|
def rowCount(self, parent=QModelIndex()):
|
||||||
node = parent.internalPointer() if parent.isValid() else self
|
node = parent.internalPointer() if parent.isValid() else self
|
||||||
|
Loading…
x
Reference in New Issue
Block a user