def __init__(self, revs, parent=None): super(RevisionTab, self).__init__(parent) layout = QtGui.QGridLayout() layout.addWidget(QtGui.QLabel("Type:"), 1, 0) layout.addWidget(QtGui.QLabel("Modification time:"), 2, 0) layout.addWidget(QtGui.QLabel("Size:"), 3, 0) layout.addWidget(QtGui.QLabel("Stores:"), 4, 0) col = 1 for rev in revs: stat = Connector().stat(rev) layout.addWidget(RevButton(rev, True), 0, col) layout.addWidget(QtGui.QLabel(Registry().getDisplayString(stat.type())), 1, col) layout.addWidget(QtGui.QLabel(str(stat.mtime())), 2, col) size = 0 for part in stat.parts(): size += stat.size(part) for unit in ["Bytes", "KiB", "MiB", "GiB"]: if size < (1 << 10): break else: size = size >> 10 sizeText = "%d %s (%d parts)" % (size, unit, len(stat.parts())) layout.addWidget(QtGui.QLabel(sizeText), 3, col) storeLayout = QtGui.QVBoxLayout() for store in Connector().lookup_rev(rev): storeLayout.addWidget(DocButton(store, True)) layout.addLayout(storeLayout, 4, col) col += 1 self.setLayout(layout)
def __update(self): if self.__seen: self.__unwatch() self.__available = len(Connector().lookup_rev(self.__rev)) > 0 else: self.__available = False try: stat = Connector().stat(self.__rev) self.__mtime = stat.mtime() self.__seen = True self.__available = True self.__view._addParents(stat.parents()) self.__unwatch() except IOError: self.__watch() return
def __init__(self, revs, parent=None): super(HistoryTab, self).__init__(parent) # TODO: implement something nice gitk like... self.__historyList = [] self.__historyRevs = [] heads = revs[:] while len(heads) > 0: newHeads = [] for rev in heads: try: if rev not in self.__historyRevs: stat = Connector().stat(rev) mtime = str(stat.mtime()) comment = "" if 'META' in stat.parts(): try: with Connector().peek(rev) as r: metaData = struct.loads(r.readAll('META')) comment = extractMetaData( metaData, [ "org.hotchpotch.annotation", "comment" ], "") except IOError: pass self.__historyList.append(mtime + " - " + comment) self.__historyRevs.append(rev) newHeads.extend(stat.parents()) except IOError: pass heads = newHeads self.__historyListBox = QtGui.QListWidget() self.__historyListBox.setSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Ignored) self.__historyListBox.insertItems(0, self.__historyList) QtCore.QObject.connect( self.__historyListBox, QtCore.SIGNAL("itemDoubleClicked(QListWidgetItem *)"), self.__open) layout = QtGui.QVBoxLayout() layout.addWidget(self.__historyListBox) self.setLayout(layout)
def __init__(self, revs, parent=None): super(HistoryTab, self).__init__(parent) # TODO: implement something nice gitk like... self.__historyList = [] self.__historyRevs = [] heads = revs[:] while len(heads) > 0: newHeads = [] for rev in heads: try: if rev not in self.__historyRevs: stat = Connector().stat(rev) mtime = str(stat.mtime()) comment = "" if "META" in stat.parts(): try: with Connector().peek(rev) as r: metaData = struct.loads(r.readAll("META")) comment = extractMetaData(metaData, ["org.hotchpotch.annotation", "comment"], "") except IOError: pass self.__historyList.append(mtime + " - " + comment) self.__historyRevs.append(rev) newHeads.extend(stat.parents()) except IOError: pass heads = newHeads self.__historyListBox = QtGui.QListWidget() self.__historyListBox.setSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Ignored) self.__historyListBox.insertItems(0, self.__historyList) QtCore.QObject.connect( self.__historyListBox, QtCore.SIGNAL("itemDoubleClicked(QListWidgetItem *)"), self.__open ) layout = QtGui.QVBoxLayout() layout.addWidget(self.__historyListBox) self.setLayout(layout)
def __init__(self, revs, parent=None): super(RevisionTab, self).__init__(parent) layout = QtGui.QGridLayout() layout.addWidget(QtGui.QLabel("Type:"), 1, 0) layout.addWidget(QtGui.QLabel("Modification time:"), 2, 0) layout.addWidget(QtGui.QLabel("Size:"), 3, 0) layout.addWidget(QtGui.QLabel("Stores:"), 4, 0) col = 1 for rev in revs: stat = Connector().stat(rev) layout.addWidget(RevButton(rev, True), 0, col) layout.addWidget( QtGui.QLabel(Registry().getDisplayString(stat.type())), 1, col) layout.addWidget(QtGui.QLabel(str(stat.mtime())), 2, col) size = 0 for part in stat.parts(): size += stat.size(part) for unit in ['Bytes', 'KiB', 'MiB', 'GiB']: if size < (1 << 10): break else: size = size >> 10 sizeText = "%d %s (%d parts)" % (size, unit, len(stat.parts())) layout.addWidget(QtGui.QLabel(sizeText), 3, col) storeLayout = QtGui.QVBoxLayout() for store in Connector().lookup_rev(rev): storeLayout.addWidget(DocButton(store, True)) layout.addLayout(storeLayout, 4, col) col += 1 self.setLayout(layout)