Changeset 7e256fd179a1…
Parent e9a74148270f…
by
Changes to 4 files · Browse files at 7e256fd179a1 Showing diff from parent e9a74148270f Diff from another changeset...
@@ -38,10 +38,11 @@
contextmenu = None
- def __init__(self, repo, parent):
+ def __init__(self, repo, parent, multiselectable):
QWidget.__init__(self, parent)
self.repo = repo
+ self.multiselectable = multiselectable
self.currentFile = None
layout = QVBoxLayout(self)
@@ -55,7 +56,7 @@ self.splitter.setChildrenCollapsible(False)
self.layout().addWidget(self.splitter)
- self.filelist = filelistview.HgFileListView(repo, self)
+ self.filelist = filelistview.HgFileListView(repo, self, multiselectable)
self.filelistmodel = filelistmodel.HgFileListModel(self)
self.filelist.setModel(self.filelistmodel)
self.filelist.setContextMenuPolicy(Qt.CustomContextMenu)
@@ -215,6 +216,9 @@ return self.currentFile, [chunks[0]] + dchunks
else:
return self.currentFile, []
+
+ def getSelectedFiles(self):
+ return self.filelist.getSelectedFiles()
def deleteSelectedChunks(self):
'delete currently selected chunks'
|
@@ -32,14 +32,18 @@ linkActivated = pyqtSignal(QString)
clearDisplay = pyqtSignal()
- def __init__(self, repo, parent):
+ def __init__(self, repo, parent, multiselectable):
QTableView.__init__(self, parent)
self.repo = repo
+ self.multiselectable = multiselectable
self.setShowGrid(False)
self.horizontalHeader().hide()
self.verticalHeader().hide()
self.verticalHeader().setDefaultSectionSize(20)
- self.setSelectionMode(QAbstractItemView.SingleSelection)
+ if multiselectable:
+ self.setSelectionMode(QAbstractItemView.ExtendedSelection)
+ else:
+ self.setSelectionMode(QAbstractItemView.SingleSelection)
self.setSelectionBehavior(QAbstractItemView.SelectRows)
self.setTextElideMode(Qt.ElideLeft)
@@ -59,7 +63,13 @@ def currentFile(self):
index = self.currentIndex()
return self.model().fileFromIndex(index)
-
+
+ def getSelectedFiles(self):
+ model = self.model()
+ sf = [model.fileFromIndex(eachIndex)
+ for eachIndex in self.selectedRows()]
+ return sf
+
def layoutChanged(self):
'file model has new contents'
index = self.currentIndex()
|
@@ -92,7 +92,7 @@
self.filelisttbar = QToolBar(_('File List Toolbar'))
self.filelisttbar.setIconSize(QSize(16,16))
- self.filelist = HgFileListView(self.repo, self)
+ self.filelist = HgFileListView(self.repo, self, False)
self.filelist.linkActivated.connect(self.linkActivated)
self.filelist.setContextMenuPolicy(Qt.CustomContextMenu)
self.filelist.customContextMenuRequested.connect(self.menuRequest)
|
@@ -72,7 +72,7 @@ ahbox.addWidget(self.clearShelfButtonA)
ahbox.addWidget(self.delShelfButtonA)
- self.browsea = chunks.ChunksWidget(repo, self)
+ self.browsea = chunks.ChunksWidget(repo, self, True)
self.browsea.splitter.splitterMoved.connect(self.linkSplitters)
self.browsea.linkActivated.connect(self.linkActivated)
self.browsea.showMessage.connect(self.showMessage)
@@ -101,7 +101,7 @@ bhbox.addWidget(self.clearShelfButtonB)
bhbox.addWidget(self.delShelfButtonB)
- self.browseb = chunks.ChunksWidget(repo, self)
+ self.browseb = chunks.ChunksWidget(repo, self, True)
self.browseb.splitter.splitterMoved.connect(self.linkSplitters)
self.browseb.linkActivated.connect(self.linkActivated)
self.browseb.showMessage.connect(self.showMessage)
@@ -194,17 +194,17 @@ def moveFileRight(self):
if self.combob.currentIndex() == -1:
self.newShelf(False)
- file, _ = self.browsea.getSelectedFileAndChunks()
- chunks = self.browsea.getChunksForFile(file)
- if self.browseb.mergeChunks(file, chunks):
- self.browsea.removeFile(file)
+ for file in self.browsea.getSelectedFiles():
+ chunks = self.browsea.getChunksForFile(file)
+ if self.browseb.mergeChunks(file, chunks):
+ self.browsea.removeFile(file)
@pyqtSlot()
def moveFileLeft(self):
- file, _ = self.browseb.getSelectedFileAndChunks()
- chunks = self.browseb.getChunksForFile(file)
- if self.browsea.mergeChunks(file, chunks):
- self.browseb.removeFile(file)
+ for file in self.browseb.getSelectedFiles():
+ chunks = self.browseb.getChunksForFile(file)
+ if self.browsea.mergeChunks(file, chunks):
+ self.browseb.removeFile(file)
@pyqtSlot()
def moveFilesRight(self):
|
Loading...