Пример #1
0
    def __generateItem(self, index, status, name, summary, error=False):
        """
        Private method to generate a patch item in the list of patches.
        
        @param index index of the patch (integer, -1 for missing)
        @param status status of the patch (string)
        @param name name of the patch (string)
        @param summary first line of the patch header (string)
        @param error flag indicating an error entry (boolean)
        """
        if error:
            itm = QTreeWidgetItem(self.patchesList, ["", name, "", summary])
        else:
            if index == -1:
                index = ""
            try:
                statusStr = self.__statusDict[status]
            except KeyError:
                statusStr = self.tr("unknown")
            itm = QTreeWidgetItem(self.patchesList)
            itm.setData(0, Qt.DisplayRole, index)
            itm.setData(1, Qt.DisplayRole, name)
            itm.setData(2, Qt.DisplayRole, statusStr)
            itm.setData(3, Qt.DisplayRole, summary)
            if status == "A":
                # applied
                for column in range(itm.columnCount()):
                    itm.setForeground(column, Qt.blue)
            elif status == "D":
                # missing
                for column in range(itm.columnCount()):
                    itm.setForeground(column, Qt.red)

        itm.setTextAlignment(0, Qt.AlignRight)
        itm.setTextAlignment(2, Qt.AlignHCenter)
Пример #2
0
    def __generateItem(self, index, status, name, summary, error=False):
        """
        Private method to generate a patch item in the list of patches.
        
        @param index index of the patch (integer, -1 for missing)
        @param status status of the patch (string)
        @param name name of the patch (string)
        @param summary first line of the patch header (string)
        @param error flag indicating an error entry (boolean)
        """
        if error:
            itm = QTreeWidgetItem(self.patchesList, ["", name, "", summary])
        else:
            if index == -1:
                index = ""
            try:
                statusStr = self.__statusDict[status]
            except KeyError:
                statusStr = self.tr("unknown")
            itm = QTreeWidgetItem(self.patchesList)
            itm.setData(0, Qt.DisplayRole, index)
            itm.setData(1, Qt.DisplayRole, name)
            itm.setData(2, Qt.DisplayRole, statusStr)
            itm.setData(3, Qt.DisplayRole, summary)
            if status == "A":
                # applied
                for column in range(itm.columnCount()):
                    itm.setForeground(column, Qt.blue)
            elif status == "D":
                # missing
                for column in range(itm.columnCount()):
                    itm.setForeground(column, Qt.red)

        itm.setTextAlignment(0, Qt.AlignRight)
        itm.setTextAlignment(2, Qt.AlignHCenter)
Пример #3
0
 def __createResultItem(self, file, statements, executed, coverage,
                        excluded, missing):
     """
     Private method to create an entry in the result list.
     
     @param file filename of file (string)
     @param statements amount of statements (integer)
     @param executed amount of executed statements (integer)
     @param coverage percent of coverage (integer)
     @param excluded list of excluded lines (string)
     @param missing list of lines without coverage (string)
     """
     itm = QTreeWidgetItem(self.resultList, [
         file,
         str(statements),
         str(executed),
         "{0:.0f}%".format(coverage),
         excluded,
         missing
     ])
     for col in range(1, 4):
         itm.setTextAlignment(col, Qt.AlignRight)
     if statements != executed:
         font = itm.font(0)
         font.setBold(True)
         for col in range(itm.columnCount()):
             itm.setFont(col, font)
Пример #4
0
    def populateMovieListWidget(self):
        allMovies = Movie.getAllMovies(self.currentPage * self.getPerPage(),
                                       self.getPerPage())
        self.trwMovieList.clear()

        for movie in allMovies:
            item = QTreeWidgetItem(self.trwMovieList)
            item.setText(0, movie.title)
            item.setText(1, str(movie.length))
            item.setText(2, str(movie.mediums))
            item.setText(3, str(movie.rated))
            item.setText(4, movie.getCategoriesAsCommaSeparatedString())
            item.setText(5, movie.getActorsAsCommaSeparatedString())
            item.setText(6, "%.2f €" % movie.cost)
            item.setData(0, roles.UserRoles.MOVIE_ID.value, movie.id)
            self.trwMovieList.addTopLevelItem(item)

            for i in range(0, self.trwMovieList.columnCount()):
                item.setTextAlignment(
                    i,
                    self.trwMovieList.headerItem().textAlignment(i))

            item.setTextAlignment(item.columnCount() - 1, Qt.AlignRight)

        allMovies.clear()
Пример #5
0
    def __populateVenvList(self):
        """
        Private method to populate the list of virtual environments.
        """
        environments = self.__manager.getEnvironmentEntries()
        for venvName in environments:
            itm = QTreeWidgetItem(self.venvList, [
                venvName,
                environments[venvName]["path"],
                environments[venvName]["interpreter"],
            ])
            itm.setData(0, VirtualenvManagerDialog.PythonVariantRole,
                        environments[venvName]["variant"])
            itm.setData(0, VirtualenvManagerDialog.IsGlobalRole,
                        environments[venvName]["is_global"])
            itm.setData(0, VirtualenvManagerDialog.IsCondaRole,
                        environments[venvName]["is_conda"])
            itm.setData(0, VirtualenvManagerDialog.IsRemoteRole,
                        environments[venvName]["is_remote"])
            itm.setData(0, VirtualenvManagerDialog.ExecPathRole,
                        environments[venvName]["exec_path"])

            # show remote environments with underlined font
            if environments[venvName]["is_remote"]:
                font = itm.font(0)
                font.setUnderline(True)
                for column in range(itm.columnCount()):
                    itm.setFont(column, font)
            else:
                # local environments

                # show global environments with bold font
                if environments[venvName]["is_global"]:
                    font = itm.font(0)
                    font.setBold(True)
                    for column in range(itm.columnCount()):
                        itm.setFont(column, font)

                # show Anaconda environments with italic font
                if environments[venvName]["is_conda"]:
                    font = itm.font(0)
                    font.setItalic(True)
                    for column in range(itm.columnCount()):
                        itm.setFont(column, font)

        self.__resizeSections()
Пример #6
0
 def __createResultItem(self, file, statements, executed, coverage,
                        excluded, missing):
     """
     Private method to create an entry in the result list.
     
     @param file filename of file (string)
     @param statements amount of statements (integer)
     @param executed amount of executed statements (integer)
     @param coverage percent of coverage (integer)
     @param excluded list of excluded lines (string)
     @param missing list of lines without coverage (string)
     """
     itm = QTreeWidgetItem(self.resultList, [
         file,
         str(statements),
         str(executed), "{0:.0f}%".format(coverage), excluded, missing
     ])
     for col in range(1, 4):
         itm.setTextAlignment(col, Qt.AlignRight)
     if statements != executed:
         font = itm.font(0)
         font.setBold(True)
         for col in range(itm.columnCount()):
             itm.setFont(col, font)
Пример #7
0
 def __createResultItem(self, filename, line, pos, message, fixed,
                        autofixing, ignored):
     """
     Private method to create an entry in the result list.
     
     @param filename file name of the file (string)
     @param line line number of issue (integer or string)
     @param pos character position of issue (integer or string)
     @param message message text (string)
     @param fixed flag indicating a fixed issue (boolean)
     @param autofixing flag indicating, that we are fixing issues
         automatically (boolean)
     @param ignored flag indicating an ignored issue (boolean)
     @return reference to the created item (QTreeWidgetItem)
     """
     from .CodeStyleFixer import FixableCodeStyleIssues
     
     if self.__lastFileItem is None:
         # It's a new file
         self.__lastFileItem = QTreeWidgetItem(self.resultList, [
             self.__project.getRelativePath(filename)])
         self.__lastFileItem.setFirstColumnSpanned(True)
         self.__lastFileItem.setExpanded(True)
         self.__lastFileItem.setData(0, self.filenameRole, filename)
     
     fixable = False
     code, message = message.split(None, 1)
     itm = QTreeWidgetItem(
         self.__lastFileItem,
         ["{0:6}".format(line), code, message])
     if code.startswith(("W", "-", "C", "M")):
         itm.setIcon(1, UI.PixmapCache.getIcon("warning.png"))
     elif code.startswith("N"):
         itm.setIcon(1, UI.PixmapCache.getIcon("namingError.png"))
     elif code.startswith("D"):
         itm.setIcon(1, UI.PixmapCache.getIcon("docstringError.png"))
     else:
         itm.setIcon(1, UI.PixmapCache.getIcon("syntaxError.png"))
     if fixed:
         itm.setIcon(0, UI.PixmapCache.getIcon("issueFixed.png"))
     elif code in FixableCodeStyleIssues and not autofixing and \
             code not in self.__noFixCodesList:
         itm.setIcon(0, UI.PixmapCache.getIcon("issueFixable.png"))
         fixable = True
     
     itm.setTextAlignment(0, Qt.AlignRight)
     itm.setTextAlignment(1, Qt.AlignHCenter)
     
     itm.setTextAlignment(0, Qt.AlignVCenter)
     itm.setTextAlignment(1, Qt.AlignVCenter)
     itm.setTextAlignment(2, Qt.AlignVCenter)
     
     itm.setData(0, self.filenameRole, filename)
     itm.setData(0, self.lineRole, int(line))
     itm.setData(0, self.positionRole, int(pos))
     itm.setData(0, self.messageRole, message)
     itm.setData(0, self.fixableRole, fixable)
     itm.setData(0, self.codeRole, code)
     itm.setData(0, self.ignoredRole, ignored)
     
     if ignored:
         font = itm.font(0)
         font.setItalic(True)
         for col in range(itm.columnCount()):
             itm.setFont(col, font)
     
     return itm
 def __createResultItem(self, file, line, pos, message, fixed, autofixing,
                        ignored):
     """
     Private method to create an entry in the result list.
     
     @param file file name of the file (string)
     @param line line number of issue (integer or string)
     @param pos character position of issue (integer or string)
     @param message message text (string)
     @param fixed flag indicating a fixed issue (boolean)
     @param autofixing flag indicating, that we are fixing issues
         automatically (boolean)
     @param ignored flag indicating an ignored issue (boolean)
     @return reference to the created item (QTreeWidgetItem)
     """
     from .CodeStyleFixer import FixableCodeStyleIssues
     
     if self.__lastFileItem is None:
         # It's a new file
         self.__lastFileItem = QTreeWidgetItem(self.resultList, [file])
         self.__lastFileItem.setFirstColumnSpanned(True)
         self.__lastFileItem.setExpanded(True)
         self.__lastFileItem.setData(0, self.filenameRole, file)
     
     fixable = False
     code, message = message.split(None, 1)
     itm = QTreeWidgetItem(
         self.__lastFileItem,
         ["{0:6}".format(line), code, message])
     if code.startswith(("W", "-")):
         itm.setIcon(1, UI.PixmapCache.getIcon("warning.png"))
     elif code.startswith("N"):
         itm.setIcon(1, UI.PixmapCache.getIcon("namingError.png"))
     elif code.startswith("D"):
         itm.setIcon(1, UI.PixmapCache.getIcon("docstringError.png"))
     else:
         itm.setIcon(1, UI.PixmapCache.getIcon("syntaxError.png"))
     if fixed:
         itm.setIcon(0, UI.PixmapCache.getIcon("issueFixed.png"))
     elif code in FixableCodeStyleIssues and not autofixing:
         itm.setIcon(0, UI.PixmapCache.getIcon("issueFixable.png"))
         fixable = True
     
     itm.setTextAlignment(0, Qt.AlignRight)
     itm.setTextAlignment(1, Qt.AlignHCenter)
     
     itm.setTextAlignment(0, Qt.AlignVCenter)
     itm.setTextAlignment(1, Qt.AlignVCenter)
     itm.setTextAlignment(2, Qt.AlignVCenter)
     
     itm.setData(0, self.filenameRole, file)
     itm.setData(0, self.lineRole, int(line))
     itm.setData(0, self.positionRole, int(pos))
     itm.setData(0, self.messageRole, message)
     itm.setData(0, self.fixableRole, fixable)
     itm.setData(0, self.codeRole, code)
     itm.setData(0, self.ignoredRole, ignored)
     
     if ignored:
         font = itm.font(0)
         font.setItalic(True)
         for col in range(itm.columnCount()):
             itm.setFont(col, font)
     
     return itm