示例#1
0
    def open_dir(self):
        """ show open dir dialog and open repo """
        last_dir = self.settings.value('last_fileopen_dir', '')

        fd = QFileDialog(self, 'Open .git', last_dir)
        fd.setFileMode(QFileDialog.DirectoryOnly)
        fd.setFilter(
            QDir.Filters(QDir.Dirs | QDir.Hidden | QDir.NoDot | QDir.NoDotDot))

        while True:
            if not fd.exec():
                return
            self.dir_name = fd.selectedFiles()[0]
            parent = os.path.dirname(self.dir_name)
            self.settings.setValue('last_fileopen_dir', parent)
            self.settings.setValue('last_opened_repo', self.dir_name)

            try:
                pygit2.Repository(self.dir_name)
                break
            except pygit2.GitError:
                QMessageBox(self,
                            text='Cannot open repo: ' + self.dir_name).exec()

        self.open_repo()
示例#2
0
    def sizeString(self, fInfo):
        if (not fInfo.isDir()):
            return ""
        dir = QDir(fInfo.filePath())
        fileFilters = QDir.Filters(QDir.Files | QDir.System | QDir.Hidden)
        size = 0
        for filePath in dir.entryList(fileFilters):
            fi = QFileInfo(dir, filePath)
            size += fi.size()

        if (size > 1024 * 1024 * 10):
            return str("%4.1f" % (size / (1024 * 1024))) + 'MB'
        if (size > 1024 * 10):
            return str("%4.1f" % (size / 1024)) + 'KB'
        return str(size)