def __init__(self): QtWidgets.QDialog.__init__(self) self.setMinimumWidth(600) self.setMinimumHeight(450) self.helpFile = os.path.join(os.path.dirname(__file__), 'README.html') self.setWindowTitle('VectorBender') txt = QTextBrowser() txt.setReadOnly(True) txt.setSearchPaths([os.path.dirname(__file__)]) txt.setOpenExternalLinks(True) txt.setText(open(self.helpFile, 'r').read()) cls = QPushButton('Close') cls.pressed.connect(self.accept) lay = QVBoxLayout() lay.addWidget(txt) lay.addWidget(cls) self.setLayout(lay)
def __init__(self): QtWidgets.QDialog.__init__(self) self.setMinimumWidth(600) self.setMinimumHeight(450) self.helpFile = os.path.join(os.path.dirname(__file__),'README.html') self.setWindowTitle('VectorBender') txt = QTextBrowser() txt.setReadOnly(True) txt.setSearchPaths([os.path.dirname(__file__)]) txt.setOpenExternalLinks(True) txt.setText( open(self.helpFile, 'r').read() ) cls = QPushButton('Close') cls.pressed.connect(self.accept) lay = QVBoxLayout() lay.addWidget(txt) lay.addWidget(cls) self.setLayout(lay)
class BlameDialog(QDialog): def __init__(self, repo, path): QDialog.__init__(self, None, Qt.WindowSystemMenuHint | Qt.WindowTitleHint) versions = repo.log(path = path, limit = 1) if not versions: raise GeoGigException("The selected feature is not versioned yet") self.blamedata = repo.blame(path) self.repo = repo self.commitText = {} self.setupUi() def setupUi(self): self.resize(800, 600) self.setWindowTitle("Authorship") layout = QVBoxLayout() splitter = QSplitter(self) splitter.setOrientation(Qt.Vertical) self.table = QTableWidget(splitter) self.table.setColumnCount(3) self.table.setShowGrid(False) self.table.verticalHeader().hide() self.table.setHorizontalHeaderLabels(["Attribute", "Author", "Value"]) self.table.setRowCount(len(self.blamedata)) self.table.setSelectionBehavior(QAbstractItemView.SelectRows) self.table.setSelectionMode(QAbstractItemView.SingleSelection); self.table.selectionModel().selectionChanged.connect(self.selectionChanged) for i, name in enumerate(self.blamedata.keys()): values = self.blamedata[name] self.table.setItem(i, 0, QTableWidgetItem(name)); self.table.setItem(i, 1, QTableWidgetItem(values[1].authorname)); self.table.setItem(i, 2, QTableWidgetItem(values[0])); self.table.resizeRowsToContents() self.table.horizontalHeader().setMinimumSectionSize(250) self.table.horizontalHeader().setStretchLastSection(True) self.text = QTextBrowser(splitter) layout.addWidget(splitter) self.setLayout(layout) QMetaObject.connectSlotsByName(self) def selectionChanged(self): idx = self.table.currentRow() commit = self.blamedata[self.table.item(idx, 0).text()][1] self.text.setText(str(commit))