Пример #1
0
 def renderTimes(self) -> None:
     self.cliplist.clear()
     self.seekSlider.setCutMode(self.inCut)
     if len(self.clipTimes) > 4:
         self.cliplist.setFixedWidth(200)
     else:
         self.cliplist.setFixedWidth(185)
     self.totalRuntime = 0
     for item in self.clipTimes:
         endItem = ''
         if type(item[1]) is QTime:
             endItem = item[1].toString(self.timeformat)
             self.totalRuntime += item[0].msecsTo(item[1])
         listitem = QListWidgetItem()
         listitem.setTextAlignment(Qt.AlignVCenter)
         if type(item[2]) is QPixmap:
             listitem.setIcon(QIcon(item[2]))
         self.cliplist.addItem(listitem)
         marker = QLabel(
             '''<style>b { font-size:8pt; } p { margin:5px; }</style>
                         <p><b>START</b><br/>%s</p><p><b>END</b><br/>%s</p>'''
             % (item[0].toString(self.timeformat), endItem))
         self.cliplist.setItemWidget(listitem, marker)
         listitem.setFlags(Qt.ItemIsSelectable | Qt.ItemIsDragEnabled
                           | Qt.ItemIsEnabled)
     if len(self.clipTimes) and not self.inCut:
         self.saveAction.setEnabled(True)
     if self.inCut or len(self.clipTimes) == 0 or not type(
             self.clipTimes[0][1]) is QTime:
         self.saveAction.setEnabled(False)
     self.setRunningTime(
         self.deltaToQTime(self.totalRuntime).toString(self.timeformat))
Пример #2
0
    def asQListWidgetItem(self):
        listItem = QListWidgetItem(self.text_for_patch, None, 0)
        listItem.setFlags(listItem.flags() | Qt.ItemIsUserCheckable)
        # We can't set the hidden status until the item is actually in a list
        listItem.setData(Qt.UserRole, self.patchid)

        return listItem
Пример #3
0
    def createIcons(self):

        poButton = QListWidgetItem(self.contentsWidget)
        # poButton.setIcon(QIcon('PO.jpg'))
        poButton.setIcon(QIcon('PO.png'))
        poButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)

        nPoButton = QListWidgetItem(self.contentsWidget)
        nPoButton.setIcon(QIcon('NPO.png'))
        nPoButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)

        moreButton = QListWidgetItem(self.contentsWidget)
        moreButton.setIcon(QIcon('MORE.png'))
        moreButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
        moreButton.setToolTip('这是MORE按钮')

        settingButton = QListWidgetItem(self.contentsWidget)
        settingButton.setIcon(QIcon('Setting.png'))
        settingButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
        settingButton.setToolTip('这是设定按钮')

        informationButton = QListWidgetItem(self.contentsWidget)
        informationButton.setIcon(QIcon('information.png'))
        informationButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
        informationButton.setToolTip('这是工具信息按钮')
        # 为contentsWidget界面切换添加changePage响应
        self.contentsWidget.currentItemChanged.connect(self.changePage)
Пример #4
0
 def _add_filter(self):
     _name = GuiUtils.input_dialog(self, 'Filter', 'Add filter:')
     if _name:
         _item = QListWidgetItem(_name)
         _item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsEditable)
         self._filter.addItem(_item)
         self._save_filter()
Пример #5
0
 def display_filter(self, filter_list_):
     """..."""
     self._filter.clear()
     for _name in filter_list_:
         _item = QListWidgetItem(_name)
         _item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsEditable)
         self._filter.addItem(_item)
Пример #6
0
 def fill(self, items, get_name: Callable, get_color: Callable = None):
     self._ui.clear()
     self._items.clear()
     for item in items:
         name = get_name(item)
         q_item = QListWidgetItem(name)
         if get_color:
             size = 13
             image = np.full(shape=(size, size, 3),
                             fill_value=get_color(item),
                             dtype=np.uint8)
             image = QImage(image.data, image.shape[1], image.shape[0],
                            image.strides[0], QImage.Format_RGB888)
             pixmap = QPixmap(image)
             q_item.setIcon(QIcon(pixmap))
         q_item.setData(Qt.UserRole, item)
         if self._checkable:
             q_item.setCheckState(Qt.Unchecked)
         # From 'default item flags' remove flag allowing user to directly change item's checkbox status.
         # The status is exclusively controlled by _on_item_clicked callback,
         #   so if user clicks within list item boundaries (not only checkbox), the status will be changed.
         q_item.setFlags(q_item.flags() & ~Qt.ItemIsUserCheckable)
         # Leaving ItemIsUserCheckable flag enabled, causes problems when user clicks on checkbox
         #   - two callbacks are launched:
         #     - first - controlled by the flag - checks/unchecks checkbox directly,
         #     - second - defined by us (_on_item_clicked) also checks/unchecks checkbox.
         #   In that case user DOES NOT see the change of checkbox status, because
         #       checkbox is checked by first callback and unchecked by second one (or the other way around)
         #       and list of checked items effectively stays unchanged,
         #       while causing side effects (eg. invocation of on_list_item_clicked_callback).
         self._items.append(q_item)
         self._ui.addItem(q_item)
Пример #7
0
 def addPiece(self, pixmap, location):
     pieceItem = QListWidgetItem(self)
     pieceItem.setIcon(QIcon(pixmap))
     pieceItem.setData(Qt.UserRole, pixmap)
     pieceItem.setData(Qt.UserRole + 1, location)
     pieceItem.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable
                        | Qt.ItemIsDragEnabled)
Пример #8
0
 def notify(self):
     self.clear()
     for game_name in self.__view_model.game_names:
         list_item = QListWidgetItem(game_name)
         flags = list_item.flags()
         list_item.setFlags(flags | QtCore.Qt.ItemIsSelectable)
         self.addItem(list_item)
Пример #9
0
Файл: gui.py Проект: wflk/pbtk
    def load_endpoints(self):
        self.choose_endpoint.endpoints.clear()

        for name in listdir(str(BASE_PATH / 'endpoints')):
            if name.endswith('.json'):
                item = QListWidgetItem(
                    name.split('.json')[0], self.choose_endpoint.endpoints)
                item.setFlags(item.flags() & ~Qt.ItemIsEnabled)

                pb_msg_to_endpoints = defaultdict(list)
                with open(str(BASE_PATH / 'endpoints' / name)) as fd:
                    for endpoint in load(fd):
                        pb_msg_to_endpoints[endpoint['request']['proto_msg'].
                                            split('.')[-1]].append(endpoint)

                for pb_msg, endpoints in pb_msg_to_endpoints.items():
                    item = QListWidgetItem(' ' * 4 + pb_msg,
                                           self.choose_endpoint.endpoints)
                    item.setFlags(item.flags() & ~Qt.ItemIsEnabled)

                    for endpoint in endpoints:
                        item = QListWidgetItem(
                            ' ' * 8 +
                            (urlparse(endpoint['request']['url']).path or '/'),
                            self.choose_endpoint.endpoints)
                        item.setData(Qt.UserRole, endpoint)

        self.set_view(self.choose_endpoint)
Пример #10
0
 def _setSearch(self, ip_addr):
     """ Load the daemon to the search area - inner function """
     _item = QListWidgetItem()
     _item.setText(ip_addr)
     _item.setFlags(_item.flags() | Qt.ItemIsUserCheckable)
     _item.setCheckState(Qt.Checked)
     self.search.addItem(_item)
Пример #11
0
 def _update_items_list(self):
     self.ui.itemsList.clear()
     for item in items_list:
         itm = QListWidgetItem(str(item))
         itm.setFlags(itm.flags() | Qt.ItemIsUserCheckable)
         itm.setCheckState(Qt.Checked if item.is_checked else Qt.Unchecked)
         self.ui.itemsList.addItem(itm)
Пример #12
0
 def updateList(self):
     self.portList.clear()
     self.backup_indixes = list(self.gui.song.outputsPorts)
     for name in self.backup_indixes:
         this_item = QListWidgetItem(name)
         this_item.setFlags(this_item.flags())
         self.portList.addItem(this_item)
Пример #13
0
 def update_table_list(self):
     """Update the list of tables in the docket widget"""
     lw_list = self.parent.populate.get_lw_list()
     if self.tables_in_db != 0:
         model = self.TMD.SATables.model()
         for item in self.items_in_table:
             qIndex = self.TMD.SATables.indexFromItem(item)
             model.removeRow(qIndex.row())
     self.tables_in_db = 0
     for lw, schema in lw_list:
         table_names = self.db.get_tables_in_db(schema)
         for name in table_names:
             if str(name) in [
                     'harrowing_manual', 'plowing_manual', 'manual'
             ]:
                 continue
             item_name = schema + '.' + str(name)
             testcase_name = QtCore.QCoreApplication.translate(
                 "qadashboard", item_name, None)
             item = QListWidgetItem(testcase_name, self.TMD.SATables)
             item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable)
             item.setCheckState(QtCore.Qt.Unchecked)
             self.tables_in_db += 1
     self.items_in_table = self.TMD.SATables.findItems(
         '', QtCore.Qt.MatchContains)
Пример #14
0
    def openDir(self):
        dir_path = QFileDialog.getExistingDirectory(self, 'Open Folder',
                                                    self.path_prefix)
        if not os.path.isdir(dir_path):
            QMessageBox.about(self, 'Warning', '请选择包含用于训练排序的输入图片文件夹!')
            return
        #导入图片到file_list
        if self.curr_dir_path == dir_path:
            return
        self.curr_dir_path = dir_path
        self.curr_img_idx = None
        self.file_list = sorted(
            [name for name in os.listdir(dir_path) if self._is_img(name)])
        self.file_list_order = self.file_list
        #初始化ivs的scribbles大小
        self.scribbles['scribbles'] = [[] for _ in range(len(self.file_list))]
        if not self.file_list:
            QMessageBox.about(self, 'Warning', '输入图片不能为空!')
            return
        self.ui.listWidget_file.clear()
        self.curr_img_idx = None
        for idx, file_path in enumerate(self.file_list):
            item = QListWidgetItem(file_path)
            item.setFlags(item.flags() ^ Qt.ItemIsUserCheckable)
            # if self._has_label_file(idx):
            #     item.setCheckState(Qt.Checked)
            # else:
            #     item.setCheckState(Qt.Unchecked)
            self.ui.listWidget_file.addItem(item)

        init_idx = 0
        self._switch_img(init_idx)
        self.isExisting = False
        self.initAnno()
Пример #15
0
    def finishCompute(self, frames_list):
        self.ui.progressBar.setMaximum(1)
        self.hasCompute = True
        #self.ui.progressBar.setProperty("value",1)
        self.ui.pushButton_open.setEnabled(True)
        self.ui.spinBox_iter.setEnabled(True)
        self.ui.comboBox_model.setEnabled(True)
        self.ui.pushButton_showbubble.setEnabled(True)
        self.isExisting = False
        sys.stdout = self.old_stdout
        sys.stderr = self.old_stderr
        self.framse_rank = frames_list
        top_frame = self.file_list_order[self.framse_rank[0]]
        top_id = top_frame.split('.')[0]

        for i in self.framse_rank:
            self.rank_file_list.append(self.file_list_order[i])

        print('rank_file_list:')
        print(self.rank_file_list)

        self.file_list = self.rank_file_list
        self.ui.label_result.setText('最佳性能帧为:{} {}'.format(top_id, top_frame))
        self.ui.listWidget_file.clear()
        for idx, file_path in enumerate(self.file_list):
            item = QListWidgetItem(file_path)
            item.setFlags(item.flags() ^ Qt.ItemIsUserCheckable)
            # if self._has_label_file(idx):
            #     item.setCheckState(Qt.Checked)
            # else:
            #     item.setCheckState(Qt.Unchecked)
            self.ui.listWidget_file.addItem(item)

        init_idx = 0
        self._switch_img(init_idx)
Пример #16
0
    def loadDir(self, filepath=None):
        if not filepath:
            return
        self.filename = ''
        self.listWidget_files.clear()

        def scanImages(filepath):
            extensions = [
                '.%s' % fmt.data().decode("ascii").lower()
                for fmt in QImageReader.supportedImageFormats()
            ]
            images = []

            for root, dirs, files in os.walk(filepath):
                for file in files:
                    if file.lower().endswith(tuple(extensions)):
                        relativePath = os.path.join(root, file)
                        images.append(relativePath)
            return sorted(images, key=lambda x: x.lower())

        for filename in scanImages(filepath):
            # label_file = osp.splitext(filename)[0] + '.json'
            # if self.output_dir:
            #     label_file_without_path = osp.basename(label_file)
            #     label_file = osp.join(self.output_dir, label_file_without_path)
            item = QListWidgetItem(filename)
            item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
            self.listWidget_files.addItem(item)

        self.filename = self.imageList[0] if self.imageList else ''
Пример #17
0
    def show_jobs_from_hub_dialog(self):
        """
        Opens an new dialog to select available jobs from the openEO Hub.
        The user can then select one of them and adapt them or create a job out of them.
        """
        self.example_hub_jobs = get_hub_jobs()

        # Open a window, where desired job can be selected
        self.hub_jobs_window = QDialog(parent=self)
        hbox6 = QHBoxLayout()
        self.exampleJobBox = QListWidget()
        for job in self.example_hub_jobs:
            job_item = QListWidgetItem(self.exampleJobBox)
            job_item.setFlags(
                job_item.flags() | QtCore.Qt.ItemIsSelectable)  # only one item can be selected this time
            job_item.setSelected(False)
            job_item.setText(job.title)  # add Titles as QListWidgetItems

        self.exampleJobBox.setMinimumWidth(500)

        close_window_btn = QPushButton('Show process graph \n and close window')
        hbox6.addWidget(self.exampleJobBox)
        hbox6.addWidget(close_window_btn)
        close_window_btn.clicked.connect(self.pick_job_from_hub)
        self.hub_jobs_window.setLayout(hbox6)
        self.hub_jobs_window.setWindowTitle('Select a Job')
        self.hub_jobs_window.show()
Пример #18
0
 def renderClips(self, cliptimes: list) -> int:
     self.clear()
     externalCount = 0
     for index, clip in enumerate(cliptimes):
         chapterName, endItem = '', ''
         if isinstance(clip[1], QTime):
             endItem = clip[1].toString(self.parent.timeformat)
             self.parent.totalRuntime += clip[0].msecsTo(clip[1])
         listitem = QListWidgetItem(self)
         listitem.setToolTip('Drag to reorder clips')
         if len(clip[3]):
             listitem.setToolTip(clip[3])
             externalCount += 1
         if self.parent.createChapters:
             chapterName = clip[4] if clip[
                 4] is not None else 'Chapter {}'.format(index + 1)
         listitem.setStatusTip(
             'Reorder clips with mouse drag & drop or right-click menu on the clip to be moved'
         )
         listitem.setTextAlignment(Qt.AlignVCenter)
         listitem.setData(Qt.DecorationRole + 1, clip[2])
         listitem.setData(Qt.DisplayRole + 1,
                          clip[0].toString(self.parent.timeformat))
         listitem.setData(Qt.UserRole + 1, endItem)
         listitem.setData(Qt.UserRole + 2, clip[3])
         listitem.setData(Qt.UserRole + 3, chapterName)
         listitem.setFlags(Qt.ItemIsSelectable | Qt.ItemIsDragEnabled
                           | Qt.ItemIsEnabled)
         self.addItem(listitem)
         if isinstance(clip[1], QTime) and not len(clip[3]):
             self.parent.seekSlider.addRegion(
                 clip[0].msecsSinceStartOfDay(),
                 clip[1].msecsSinceStartOfDay())
     return externalCount
Пример #19
0
    def show_filters(self, filters_dict):
        for index, key in enumerate(filters_dict):
            if key == SEARCH_ITEM_NAME:
                self.filters_list.insertItem(0, key)
            else:
                self.filters_list.addItem(key)
                self.filters_list.item(index).setToolTip(key)
        self.filters_list.item(0).setText(self.filters_list.item(0).text().capitalize())

        # add separator after first item
        separator = QFrame()
        separator.setFrameShape(QFrame.HLine)
        separator.setObjectName('separator')
        item_separator = QListWidgetItem()
        item_separator.setFlags(Qt.NoItemFlags)
        self.filters_list.insertItem(1, item_separator)
        self.filters_list.setItemWidget(item_separator, separator)

        self.filters_list.setCurrentItem(
            self.filters_list.findItems(
                MY_ISSUES_ITEM_NAME, Qt.MatchExactly
            )[0])

        self.filters_list.setSizeAdjustPolicy(QAbstractScrollArea.AdjustToContents)
        self.on_filter_selected(self.filters_list.currentItem())
Пример #20
0
    def load_list(self):

        for char in self.characters:

            li = QListWidgetItem(char.listName)
            li.setFlags(li.flags() | Qt.ItemIsEditable)
            self.listWidget.addItem(li)
Пример #21
0
 def populate_with_montage(self, montage):
     self._clear()
     for i, entry in enumerate(montage.ch_names):
         item = QListWidgetItem(entry)
         item.setData(QtCore.Qt.UserRole, montage.pos[i])
         item.setFlags(item.flags() | QtCore.Qt.ItemIsEditable)
         self.addItem(item)
Пример #22
0
 def updateList(self):
     self.portList.clear()
     self.backup_indixes = list(self.gui.song.outputsPorts)
     for name in self.backup_indixes:
         this_item = QListWidgetItem(name)
         this_item.setFlags(this_item.flags())
         self.portList.addItem(this_item)
Пример #23
0
    def createLeftBind(self):
        bindWidget = QListWidget()
        bindWidget.setSpacing(5)

        azoneButton = QListWidgetItem(bindWidget)
        azoneButton.setText("添加域")
        azoneButton.setTextAlignment(Qt.AlignHCenter)
        azoneButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)

        zoneButton = QListWidgetItem(bindWidget)
        zoneButton.setText("域管理")
        zoneButton.setTextAlignment(Qt.AlignHCenter)
        zoneButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)

        aviewButton = QListWidgetItem(bindWidget)
        aviewButton.setText("添加视图")
        aviewButton.setTextAlignment(Qt.AlignHCenter)
        aviewButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)

        viewButton = QListWidgetItem(bindWidget)
        viewButton.setText("视图管理")
        viewButton.setTextAlignment(Qt.AlignHCenter)
        viewButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)

        ipbeButton = QListWidgetItem(bindWidget)
        ipbeButton.setText("IP归属地")
        ipbeButton.setTextAlignment(Qt.AlignHCenter)
        ipbeButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)

        return bindWidget
Пример #24
0
 def new_equipment(self) -> None:
     item = QListWidgetItem('')
     self.app.ui.EquipmentTemplatesListWidget.addItem(item)
     self.app.ui.EquipmentTemplatesListWidget.setCurrentItem(item)
     item.setFlags(Qt.ItemIsEditable | Qt.ItemIsEnabled
                   | Qt.ItemIsSelectable)
     self.app.ui.EquipmentTemplatesListWidget.editItem(item)
Пример #25
0
 def copy_to_common_tags(self, index: QModelIndex) -> None:
     if not self.tagList.findItems(
             index.data(), Qt.MatchFixedString | Qt.MatchCaseSensitive):
         item = QListWidgetItem(self.tagList)
         item.setText(index.data())
         item.setCheckState(Qt.Unchecked)
         item.setFlags(item.flags() | Qt.ItemIsEditable)
Пример #26
0
 def makeList(self, datelist):
     for dt in datelist:
         item = QListWidgetItem()
         item.setText(dt)
         item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
         item.setCheckState(Qt.Unchecked)
         self.listwdg.addItem(item)
Пример #27
0
 def addItem(self, item: QListWidgetItem) -> None:
     """TODO"""
     prev = self.item(self.count() - 1)
     if prev:
         item.setFlags(prev.flags())
     super().addItem(item)
     self._items.append(item)
Пример #28
0
 def scenario_display(self, scenario):
     """
     This function is called when scenario_selected changed
     """
     # first, clear the scenario_display
     self.scenario_display_clear()
     # display a nice string to explain which is the default output for the whole scenario
     self.scenario_out_display(scenario)
     # display the description of the scenario
     self.scenario_description.setText(scenario.description)
     if scenario.events != []:
         # scenario contains events
         for event in scenario.events:
             line = event.command
             line = self.line_to_command(event.command)
             if event.__class__.__name__ == 'ScenarioPlay':
                 line = "Play Scenario " + line
             if event.__class__.__name__ == 'MidiNote':
                 line = "Play MIDI Note " + line
             line = QListWidgetItem(line)
             line.setFlags(Qt.ItemIsEnabled|Qt.ItemIsEditable|\
                           Qt.ItemIsSelectable|Qt.ItemIsDragEnabled)
             self.scenario_content.addItem(line)
     # add an empty item at the end.
     # It will be used to create a new event, just typing into it.
     empty = QListWidgetItem()
     empty.setFlags(Qt.ItemIsEnabled|Qt.ItemIsEditable|\
                    Qt.ItemIsSelectable|Qt.ItemIsDragEnabled)
     self.scenario_content.addItem(empty)
Пример #29
0
    def displayPicture(self, item):
        pic_id, index = item.data(0)
        picture = self.PL.getPictureWithID(pic_id)
        self.cur_displayed_picture = QPixmap(picture.file_path)
        self.cur_displayed_picture_index = index
        self.cur_displayed_picture_id = pic_id
        picture_scaled = self.cur_displayed_picture.scaled(
            self.view_photo_widget.picture_lb.sizeHint(), Qt.KeepAspectRatio)
        self.view_photo_widget.picture_lb.setPixmap(picture_scaled)

        self.view_photo_widget.face_list.clear()
        faces = self.PL.getFacesInPicture(pic_id)
        if faces is None:
            return
        for face in faces:
            face_item = QListWidgetItem(self.view_photo_widget.face_list)
            icon = QIcon(face.sample_path)
            face_item.setIcon(icon)
            if face.person_id is None:
                face_item.setText('Unknown')
            else:
                person = self.PL.getPersonById(face.person_id)
                face_item.setText(person.name)
            face_item.setData(Qt.UserRole, face)
            face_item.setFlags(Qt.ItemIsEditable | Qt.ItemIsEnabled
                               | Qt.ItemIsSelectable)
            self.view_photo_widget.face_list.addItem(face_item)
        self.view_photo_widget.show()
Пример #30
0
    def __init__(self, parent=None, name=None, modal=False):
        """
        Constructor
        
        @param parent parent widget of this dialog (QWidget)
        @param name name of this dialog (string)
        @param modal flag to indicate a modal dialog (boolean)
        """
        super(VariablesFilterDialog, self).__init__(parent)
        if name:
            self.setObjectName(name)
        self.setModal(modal)
        self.setupUi(self)

        self.defaultButton = self.buttonBox.addButton(
            self.tr("Save Default"), QDialogButtonBox.ActionRole)
        
        #populate the list widgets and set the default selection
        for widget in self.localsList, self.globalsList:
            for varType, varTypeStr in ConfigVarTypeDispStrings.items():
                itm = QListWidgetItem(self.tr(varTypeStr), widget)
                itm.setData(Qt.UserRole, ConfigVarTypeFilters[varType])
                itm.setFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable)
                itm.setCheckState(Qt.Unchecked)
                widget.addItem(itm)
        
        lDefaultFilter, gDefaultFilter = Preferences.getVarFilters()
        self.setSelection(lDefaultFilter, gDefaultFilter)
Пример #31
0
 def initCategories(self):
     generalButton = QListWidgetItem(self.categories)
     generalButton.setIcon(QIcon(':/images/settings-general.png'))
     generalButton.setText('General')
     generalButton.setToolTip('General settings')
     generalButton.setTextAlignment(Qt.AlignHCenter)
     generalButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
     videoButton = QListWidgetItem(self.categories)
     videoButton.setIcon(QIcon(':/images/settings-video.png'))
     videoButton.setText('Video')
     videoButton.setToolTip('Video settings')
     videoButton.setTextAlignment(Qt.AlignHCenter)
     videoButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
     themeButton = QListWidgetItem(self.categories)
     themeButton.setIcon(QIcon(':/images/settings-theme.png'))
     themeButton.setText('Theme')
     themeButton.setToolTip('Theme settings')
     themeButton.setTextAlignment(Qt.AlignHCenter)
     themeButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
     ffmpegButton = QListWidgetItem(self.categories)
     ffmpegButton.setIcon(QIcon(':/images/settings-ffmpeg.png'))
     ffmpegButton.setText('Tools')
     ffmpegButton.setToolTip('Tools settings')
     ffmpegButton.setTextAlignment(Qt.AlignHCenter)
     ffmpegButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
     logsButton = QListWidgetItem(self.categories)
     logsButton.setIcon(QIcon(':/images/settings-logs.png'))
     logsButton.setText('Logs')
     logsButton.setToolTip('Logging settings')
     logsButton.setTextAlignment(Qt.AlignHCenter)
     logsButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
     self.categories.currentItemChanged.connect(self.changePage)
     self.categories.setCurrentRow(0)
     self.categories.setMaximumWidth(
         self.categories.sizeHintForColumn(0) + 2)
Пример #32
0
    def list_jobs(self):
        self.lwJobs.clear()
        self.jobs = handler.list_jobs()

        if self.jobs is None:
            self.lwJobs.addItem(f'Nothing running for {USERNAME} now')
            return

        # Group jobs by their name.
        # This step is required as jobs belonging together are not necessarily
        # allocated together: it might be that a job launches a related job
        # at a later point.
        groups: Dict[str, List[Tuple[int, Dict[str, str]]]] = defaultdict(list)
        for job_id, properties in self.jobs.items():
            groups[properties['JobName']].append((job_id, properties))

        for group in groups.values():
            for job_id, properties in group:
                line = job_id + '    '
                line += properties['JobState'].ljust(12)
                line += properties['StartTime'].ljust(22)
                line += properties['RunTime'].ljust(12)
                line += properties['NodeList'].ljust(14)
                line += properties['JobName']

                item = QListWidgetItem()
                item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
                item.setCheckState(Qt.Unchecked)
                item.setText(line)

                self.lwJobs.addItem(item)
            self.lwJobs.addItem('')  # Add a blank line between groups
Пример #33
0
 def readSettings(self):
     self.inputTextList.clear()
     entries = settings.metricsWindowComboBoxItems()
     for entry in entries:
         item = QListWidgetItem(entry, self.inputTextList)
         item.setFlags(item.flags() | Qt.ItemIsEditable)
     if not len(entries):
         self.removeItemButton.setEnabled(False)
Пример #34
0
 def addCategory(self, title):
     item = QListWidgetItem(title)
     item.setBackground(QBrush(lightBlue()))
     item.setForeground(QBrush(Qt.darkBlue))
     item.setFlags(Qt.ItemIsEnabled)
     f = item.font()
     f.setBold(True)
     item.setFont(f)
     self.list.addItem(item)
 def refresh_list(self):
     self.input.clear()
     if not self._parameter.ordering == InputListParameter.NotOrdered:
         self._value_cache.sort()
     if self._parameter.ordering == InputListParameter.DescendingOrder:
         self._value_cache.reverse()
     for opt in self._value_cache:
         item = QListWidgetItem()
         item.setText(str(opt))
         item.setFlags(item.flags() | Qt.ItemIsEditable)
         self.input.addItem(item)
Пример #36
0
    def __init__(self, parameter, parent=None):
        """Constructor

        .. versionadded:: 2.2

        :param parameter: A ListParameter object.
        :type parameter: ListParameter

        """
        super().__init__(parameter, parent)

        self._input = QListWidget()

        self._input.setSelectionMode(QAbstractItemView.MultiSelection)

        if self._parameter.maximum_item_count != \
                self._parameter.minimum_item_count:
            tool_tip = 'Select between %d and %d items' % (
                self._parameter.minimum_item_count,
                self._parameter.maximum_item_count)
        else:
            tool_tip = 'Select exactly %d items' % (
                       self._parameter.maximum_item_count)

        self._input.setToolTip(tool_tip)

        for opt in self._parameter.options_list:
            item = QListWidgetItem()
            item.setFlags(item.flags() | Qt.ItemIsEditable)
            item.setText(str(opt))
            self._input.addItem(item)
            if opt in self._parameter.value:
                item.setSelected(True)

        self.inner_input_layout.addWidget(self._input)

        # override self._input_layout arrangement to make the label at the top
        # reset the layout
        self.input_layout.setParent(None)
        self.help_layout.setParent(None)

        self.label.setParent(None)
        self.inner_input_layout.setParent(None)

        self.input_layout = QVBoxLayout()
        self.input_layout.setSpacing(0)

        # put element into layout
        self.input_layout.addWidget(self.label)
        self.input_layout.addLayout(self.inner_input_layout)

        self.main_layout.addLayout(self.input_layout)
        self.main_layout.addLayout(self.help_layout)
Пример #37
0
 def _groupAdd(self):
     groupName = "New group"
     if groupName in self.font.groups:
         index = 1
         while "%s %d" % (groupName, index) in self.font.groups:
             index += 1
         groupName = "%s %d" % (groupName, index)
     self.font.groups[groupName] = []
     item = QListWidgetItem(groupName, self.groupsList)
     item.setFlags(item.flags() | Qt.ItemIsEditable)
     self.groupsList.setCurrentItem(item)
     self.groupsList.editItem(item)
     self.removeGroupButton.setEnabled(True)
Пример #38
0
 def addGlyphSet(self, glyphNames=[], glyphSetName=None):
     if glyphSetName is None:
         glyphSetName = self.tr("New glyph set")
     if glyphSetName in self.glyphSets:
         index = 1
         while "%s %d" % (glyphSetName, index) in self.glyphSets:
             index += 1
         glyphSetName = "%s %d" % (glyphSetName, index)
     self.glyphSets[glyphSetName] = glyphNames
     item = QListWidgetItem(glyphSetName, self.glyphSetList)
     item.setFlags(item.flags() | Qt.ItemIsEditable)
     self.glyphSetList.setCurrentItem(item)
     self.glyphSetList.editItem(item)
     self.removeGlyphSetButton.setEnabled(True)
Пример #39
0
  def init_list(self):
    #读取配置歌曲目录里面的音乐文件
    try:
      listfile = os.listdir(conf['mp3dir'])
    except Exception:
      return False
    x = 0
    for name in listfile:
      # print(name)
      s = os.path.splitext(name)[1][1:]
      if(s.upper() == 'MP3'):
        x+=1
        songname = name[0:-4]
        item = QListWidgetItem()
        item.setFlags(Qt.NoItemFlags)

        item.setSizeHint(QSize(210,40))
        lwg = youjianWidget()
        

        lwg.deletesong.connect(self.deletesong)
        # print(dir(lwg))
        # return False
        # lwg.setObjectName("songlist")
        lwg.setGeometry(20,0,140,30)
        # lwg.setObjectName("songitem")
        # lwg.clicked.connect(self.playit)
        # lwg.setStyleSheet("QWidget#songitem:hover{background:#A448C4;margin-left:-5px} \
        #   QWidget#songitem{border-radius:0px;} \
        #   ")
        
        # 使用自定义list组件  响应自定义信号
        ql = listlabel()
        ql.setObjectName("songitem")
        ql.setText(songname)
        ql.setParent(lwg)
        ql.setGeometry(0,0,240,40)  #transparent
        ql.setStyleSheet("QLabel{ font-weight:100;color:#2D2D2D;background:transparent ;font-size:14px;padding-left:40px;} \
         QLabel:hover{ color:#fff;background:#A448C4  }")
        ql.doubleclicked.connect(self.playit)
        btn = QPushButton(str(x),ql)
        btn.setGeometry(5,8,24,24)
        btn.setStyleSheet("QPushButton{ border-radius:12px;background:#3698DB;color:#DDD;font-size:12px;font-weight:blod }")

        self.music.songList.addItem(item)
        self.music.songList.setItemWidget(item, lwg)

        url = QUrl.fromLocalFile(os.path.join(conf['mp3dir'],name))
        self.music.playlist.addMedia(QMediaContent(url))
Пример #40
0
 def listItemClicked(self):
     item = self.mainText.currentItem()
     flags = item.flags()
     if flags & Qt.ItemIsEnabled:
         if self.rowStore != None:
             self.mainText.takeItem(self.rowStore + 1)
             self.mainText.takeItem(self.rowStore + 1)
         tenCuts = self.gen.getSystem()[int(item.text().split(":")[0]) - 1]
         tenCuts = list(map(int, tenCuts))
         output = self.gen.bittingCalc(tenCuts)
         row = self.mainText.currentRow()
         self.rowStore = row
         flags = item.flags()
         flags ^= Qt.ItemIsEnabled
         item = QListWidgetItem("        " + self.formatText(output[0]))
         item.setFlags(flags)
         item2 = QListWidgetItem("        " + self.formatText(output[1]))
         item2.setFlags(flags)
         self.mainText.insertItem(row + 1, item)
         self.mainText.insertItem(row + 2, item2)
 def __loadScripts(self):
     """
     Private method to load all the available scripts.
     """
     for script in self.__manager.allScripts():
         itm = QListWidgetItem(
             UI.PixmapCache.getIcon("greaseMonkeyScript.png"),
             script.name(), self.scriptsList)
         itm.setData(
             GreaseMonkeyConfigurationDialog.ScriptVersionRole,
             script.version())
         itm.setData(
             GreaseMonkeyConfigurationDialog.ScriptDescriptionRole,
             script.description())
         itm.setFlags(itm.flags() | Qt.ItemIsUserCheckable)
         if script.isEnabled():
             itm.setCheckState(Qt.Checked)
         else:
             itm.setCheckState(Qt.Unchecked)
         itm.setData(GreaseMonkeyConfigurationDialog.ScriptRole, script)
         self.scriptsList.addItem(itm)
     
     self.scriptsList.sortItems()
     
     itemMoved = True
     while itemMoved:
         itemMoved = False
         for row in range(self.scriptsList.count()):
             topItem = self.scriptsList.item(row)
             bottomItem = self.scriptsList.item(row + 1)
             if topItem is None or bottomItem is None:
                 continue
             
             if topItem.checkState() == Qt.Unchecked and \
                bottomItem.checkState == Qt.Checked:
                 itm = self.scriptsList.takeItem(row + 1)
                 self.scriptsList.insertItem(row, itm)
                 itemMoved = True
Пример #42
0
    def _makeItem(self, layer):
        isDefault = layer is self._layerSet.defaultLayer
        name = layer.name
        color = layer.color
        item = QListWidgetItem()
        item.setText(name)
        if color:
            pixmap = QPixmap(100, 100)
            # change color
            pixmap.fill(QColor.fromRgbF(*color))
            icon = QIcon(pixmap)
        else:
            icon = QIcon(":/resources/defaultColor.svg")
        item.setIcon(icon)

        if isDefault:
            font = item.font()
            font.setBold(True)
            item.setFont(font)

        item.setFlags(item.flags() | Qt.ItemIsEditable)

        return item;
Пример #43
0
    def readSettings(self):
        defaultGlyphSet = settings.defaultGlyphSet()
        self.defaultGlyphSetBox.setChecked(len(defaultGlyphSet))

        self.glyphSets = settings.readGlyphSets()
        self.defaultGlyphSetDrop.clear()
        self.defaultGlyphSetDrop.addItems(self.glyphSets.keys())

        self.glyphSetList.clear()
        glyphSetNames = self.glyphSets.keys()
        # Normally we should be enforcing this rather decently in the interface
        # already
        if glyphSetNames:
            for glyphSetName in glyphSetNames:
                item = QListWidgetItem(glyphSetName, self.glyphSetList)
                item.setFlags(item.flags() | Qt.ItemIsEditable)
            self.glyphSetList.setCurrentRow(0)
        self.removeGlyphSetButton.setEnabled(len(self.glyphSets) > 1)

        glyphListPath = settings.glyphListPath()
        self.glyphListBox.setChecked(bool(glyphListPath))
        self.glyphListEdit.setEnabled(bool(glyphListPath))
        self.glyphListEdit.setText(glyphListPath)
        self.glyphListButton.setEnabled(bool(glyphListPath))
Пример #44
0
    def list_items(self):
        """List all of the pages available to the user."""
        media_library_options = QListWidgetItem(self.contents)
        media_library_options.setText('Media Library')
        media_library_options.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
        self.contents.setCurrentRow(0)

        playback_options = QListWidgetItem(self.contents)
        playback_options.setText('Playback')
        playback_options.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)

        view_options = QListWidgetItem(self.contents)
        view_options.setText('View Options')
        view_options.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
Пример #45
0
    def createIcons(self):
        basicButton = QListWidgetItem(self.contentsWidget)
        basicButton.setIcon(QIcon('app/ui/images/settings.png'))
        basicButton.setText("Základní filtry")
        basicButton.setTextAlignment(Qt.AlignHCenter)
        basicButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)

        timeButton = QListWidgetItem(self.contentsWidget)
        timeButton.setIcon(QIcon('app/ui/images/time.png'))
        timeButton.setText("Datum a čas")
        timeButton.setTextAlignment(Qt.AlignHCenter)
        timeButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)

        locationButton = QListWidgetItem(self.contentsWidget)
        locationButton.setIcon(QIcon('app/ui/images/location.png'))
        locationButton.setText("Lokace")
        locationButton.setTextAlignment(Qt.AlignHCenter)
        locationButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)

        self.contentsWidget.currentItemChanged.connect(self.changePage)
Пример #46
0
    def createIcons(self):
        configButton = QListWidgetItem(self.contentsWidget)
        configButton.setIcon(QIcon(':/images/config.png'))
        configButton.setText("Configuration")
        configButton.setTextAlignment(Qt.AlignHCenter)
        configButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)

        updateButton = QListWidgetItem(self.contentsWidget)
        updateButton.setIcon(QIcon(':/images/update.png'))
        updateButton.setText("Update")
        updateButton.setTextAlignment(Qt.AlignHCenter)
        updateButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)

        queryButton = QListWidgetItem(self.contentsWidget)
        queryButton.setIcon(QIcon(':/images/query.png'))
        queryButton.setText("Query")
        queryButton.setTextAlignment(Qt.AlignHCenter)
        queryButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)

        self.contentsWidget.currentItemChanged.connect(self.changePage)
 def addCheckableItem(self, item, listView, state=False):
     newItem = QListWidgetItem(item, listView)
     newItem.setCheckState(state)
     newItem.setFlags(newItem.flags() | QtCore.Qt.ItemIsUserCheckable)
Пример #48
0
 def addPiece(self, pixmap, location):
     pieceItem = QListWidgetItem(self)
     pieceItem.setIcon(QIcon(pixmap))
     pieceItem.setData(Qt.UserRole, pixmap)
     pieceItem.setData(Qt.UserRole+1, location)
     pieceItem.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsDragEnabled)
Пример #49
0
 def fillGroupNames(self, groupNames):
     for groupName in groupNames:
         item = QListWidgetItem(groupName, self)
         item.setFlags(item.flags() | Qt.ItemIsEditable)
Пример #50
0
 def createIcons(self):
     SOButton = QListWidgetItem(self.nav_listWidget)
     SOButton.setIcon(QIcon('./images/sales.png'))
     SOButton.setText(u"销售管理")
     SOButton.setTextAlignment(Qt.AlignHCenter)
     SOButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
     
     SOButton = QListWidgetItem(self.nav_listWidget)
     SOButton.setIcon(QIcon('./images/produce.png'))
     SOButton.setText(u"生产管理")
     SOButton.setTextAlignment(Qt.AlignHCenter)
     SOButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
     
     POButton=QListWidgetItem(self.nav_listWidget)
     POButton.setIcon(QIcon('./images/purchase.png'))
     POButton.setText(u"采购管理")  
     POButton.setTextAlignment(Qt.AlignHCenter)
     POButton.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled)
     
     EngineerButton=QListWidgetItem(self.nav_listWidget)
     EngineerButton.setIcon(QIcon('./images/engineer.png'))
     EngineerButton.setText(u"工程管理")  
     EngineerButton.setTextAlignment(Qt.AlignHCenter)
     EngineerButton.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled)
     
     
     WarehouseButton=QListWidgetItem(self.nav_listWidget)
     WarehouseButton.setIcon(QIcon('./images/warehouse.png'))
     WarehouseButton.setText(u"库存管理")  
     WarehouseButton.setTextAlignment(Qt.AlignHCenter)
     WarehouseButton.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled)
     
     FianceButton=QListWidgetItem(self.nav_listWidget)
     FianceButton.setIcon(QIcon('./images/fiance.png'))
     FianceButton.setText(u"财务管理")  
     FianceButton.setTextAlignment(Qt.AlignHCenter)
     FianceButton.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled)
     
     HumanButton=QListWidgetItem(self.nav_listWidget)
     HumanButton.setIcon(QIcon('./images/human.png'))
     HumanButton.setText(u"人员管理")  
     HumanButton.setTextAlignment(Qt.AlignHCenter)
     HumanButton.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled)
     
     CostButton=QListWidgetItem(self.nav_listWidget)
     CostButton.setIcon(QIcon('./images/cost.png'))
     CostButton.setText(u"成本管理")  
     CostButton.setTextAlignment(Qt.AlignHCenter)
     CostButton.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled)
     
     BasicMessageButton=QListWidgetItem(self.nav_listWidget)
     BasicMessageButton.setIcon(QIcon('./images/basicsetting.png'))
     BasicMessageButton.setText(u"基本信息")  
     BasicMessageButton.setTextAlignment(Qt.AlignHCenter)
     BasicMessageButton.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled)
     self.nav_listWidget.currentItemChanged.connect(self.changePage)
Пример #51
0
    def __init__(self, _format, parent=None):
        QWidget.__init__(self, parent)
        self.setupUi(self)
        self.toolBox.setStyleSheet(S.toolBoxSS())

        self.mw = mainWindow()
        self._format = _format
        self.settings = {}

        #################################################################
        # Content

        self.grpContentFilters.button.setChecked(False)

        h = self.tblContent.horizontalHeader()
        h.setSectionResizeMode(h.ResizeToContents)
        h.setSectionResizeMode(0, h.Stretch)

        self.contentUpdateTable()
        self.chkContentMore.toggled.connect(self.contentTableToggle)
        self.contentTableToggle(False)

        # Labels
        self.lstContentLabels.clear()
        h = QFontMetrics(self.font()).height()
        for i in range(0, self.mw.mdlLabels.rowCount()):
            item = self.mw.mdlLabels.item(i, 0)
            if item:
                item = QListWidgetItem(item.icon(), item.text())
                item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
                item.setCheckState(Qt.Checked)
                item.setSizeHint(QSize(100, h))
                self.lstContentLabels.addItem(item)

        self.chkContentLabels.toggled.connect(self.lstContentLabels.setVisible)
        self.chkContentLabels.toggled.connect(lambda: self.listWidgetAdjustToContent(self.lstContentLabels))
        self.lstContentLabels.setVisible(False)

        # Status
        self.lstContentStatus.clear()
        h = QFontMetrics(self.font()).height()
        for i in range(0, self.mw.mdlStatus.rowCount()):
            item = self.mw.mdlStatus.item(i, 0)
            if item:
                item = QListWidgetItem(item.icon(), item.text())
                item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
                item.setCheckState(Qt.Checked)
                item.setSizeHint(QSize(100, h))
                self.lstContentStatus.addItem(item)

        self.chkContentStatus.toggled.connect(self.lstContentStatus.setVisible)
        self.chkContentStatus.toggled.connect(lambda: self.listWidgetAdjustToContent(self.lstContentStatus))
        self.lstContentStatus.setVisible(False)

        # Root item
        self.cmbContentParent.setModel(self.mw.mdlOutline)
        v = QTreeView()
        self.cmbContentParent.setView(v)
        v.setHeaderHidden(True)
        for i in range(1, self.mw.mdlOutline.columnCount()):
            v.hideColumn(i)
        self.chkContentParent.toggled.connect(self.cmbContentParent.setVisible)
        self.cmbContentParent.hide()

        #################################################################
        # Separations

        for cmb in [self.cmbSepFF, self.cmbSepTT, self.cmbSepFT, self.cmbSepTF]:
            cmb.clear()

            cmb.addItem(self.tr("Empty line"), "empty")
            cmb.addItem(self.tr("Custom"), "custom")
            cmb.currentIndexChanged.connect(self.sepCmbChanged)

        #################################################################
        # Transformations

        h = self.tblReplacements.horizontalHeader()
        h.setSectionResizeMode(h.ResizeToContents)
        h.setSectionResizeMode(1, h.Stretch)
        h.setSectionResizeMode(2, h.Stretch)

        # Cf. https://en.wikipedia.org/wiki/Quotation_mark
        self.cmbTransDoubleQuotes.clear()
        self.cmbTransDoubleQuotes.addItems(["”___“", "“___”", "«___»"])
        self.cmbTransSingleQuote.clear()
        self.cmbTransSingleQuote.addItems(["‘___’", "‹___›"])

        for cmb in [self.cmbTransDoubleQuotes, self.cmbTransSingleQuote]:
            cmb.addItem(self.tr("Custom"), "custom")
            cmb.currentIndexChanged.connect(self.transCmbChanged)
            cmb.currentIndexChanged.emit(0)

        self.btnTransAdd.clicked.connect(lambda: self.transAddTableRow(checked=True))
        self.btnTransRemove.clicked.connect(self.transRemoveTableRow)
        self.tableWidgetAdjustToContent(self.tblReplacements)

        #################################################################
        # Preview

        self.cmbPreviewFont.setCurrentFont(self.font())
        self.spnPreviewSize.setValue(self.font().pointSize())

        #################################################################
        # Final stuff

        self.toolBox.setCurrentIndex(0)
Пример #52
0
 def new_item(self, text):
     widget = QListWidgetItem(str(text))
     widget.setFlags(QtCore.Qt.ItemIsEditable |
                     QtCore.Qt.ItemIsEnabled |
                     QtCore.Qt.ItemIsSelectable)
     return widget
Пример #53
0
 def addItem(self):
     item = QListWidgetItem(self.inputTextList)
     item.setFlags(item.flags() | Qt.ItemIsEditable)
     self.inputTextList.setCurrentItem(item)
     self.inputTextList.editItem(item)
     self.removeItemButton.setEnabled(True)
Пример #54
0
 def addCategory(self, title):
     item = QListWidgetItem(title)
     item.setBackground(QBrush(QColor(S.highlightLight)))
     item.setForeground(QBrush(QColor(S.highlightedTextDark)))
     item.setFlags(Qt.ItemIsEnabled)
     self.list.addItem(item)
Пример #55
0
 def __init__(self, browser, parent=None):
     """
     Constructor
     
     @param browser reference to the browser window (HelpBrowser)
     @param parent reference to the parent widget (QWidget)
     """
     super(SiteInfoDialog, self).__init__(parent)
     self.setupUi(self)
     self.setWindowFlags(Qt.Window)
     
     # put icons
     self.tabWidget.setTabIcon(
         0, UI.PixmapCache.getIcon("siteinfo-general.png"))
     self.tabWidget.setTabIcon(
         1, UI.PixmapCache.getIcon("siteinfo-media.png"))
     self.tabWidget.setTabIcon(
         2, UI.PixmapCache.getIcon("siteinfo-databases.png"))
     if SSL:
         self.tabWidget.setTabIcon(
             3, UI.PixmapCache.getIcon("siteinfo-security.png"))
     
     self.__mainFrame = browser.page().mainFrame()
     title = browser.title()
     sslInfo = browser.page().getSslCertificateChain()
     
     # populate General tab
     self.heading.setText("<b>{0}</b>".format(title))
     self.siteAddressLabel.setText(self.__mainFrame.baseUrl().toString())
     self.sizeLabel.setText(dataString(browser.page().totalBytes()))
     encoding = ""
     
     # populate Meta tags
     meta = self.__mainFrame.findAllElements("meta")
     for element in meta:
         content = element.attribute("content")
         name = element.attribute("name")
         if not name:
             name = element.attribute("http-equiv")
         if element.attribute("charset"):
             encoding = element.attribute("charset")
         if "charset=" in content:
             encoding = content[content.index("charset=") + 8:]
         
         if not content or not name:
             continue
         
         QTreeWidgetItem(self.tagsTree, [name, content])
     for col in range(self.tagsTree.columnCount()):
         self.tagsTree.resizeColumnToContents(col)
     
     if not encoding:
         encoding = QWebSettings.globalSettings().defaultTextEncoding()
     self.encodingLabel.setText(encoding)
     
     # populate the Security info and the Security tab
     if sslInfo and \
        ((qVersion() >= "5.0.0" and not sslInfo[0].isBlacklisted()) or
             (qVersion() < "5.0.0" and sslInfo[0].isValid())):
         self.securityLabel.setStyleSheet(SiteInfoDialog.okStyle)
         self.securityLabel.setText('<b>Connection is encrypted.</b>')
         if SSL:
             self.sslWidget.showCertificateChain(sslInfo)
             self.securityDetailsButton.setEnabled(True)
         else:
             self.securityDetailsButton.setEnabled(False)
     else:
         self.securityLabel.setStyleSheet(SiteInfoDialog.nokStyle)
         self.securityLabel.setText('<b>Connection is not encrypted.</b>')
         self.securityDetailsButton.setEnabled(False)
         self.tabWidget.setTabEnabled(
             self.tabWidget.indexOf(self.securityTab), False)
     
     # populate Media tab
     images = self.__mainFrame.findAllElements("img")
     for element in images:
         src = element.attribute("src")
         alt = element.attribute("alt")
         if src and src.startswith("data:"):
             continue
         if not alt:
             if src.find("/") == -1:
                 alt = src
             else:
                 pos = src.find("/")
                 alt = src[pos + 1:]
         
         if not src or not alt:
             continue
         
         QTreeWidgetItem(self.imagesTree, [alt, src])
     for col in range(self.imagesTree.columnCount()):
         self.imagesTree.resizeColumnToContents(col)
     if self.imagesTree.columnWidth(0) > 300:
         self.imagesTree.setColumnWidth(0, 300)
     self.imagesTree.setCurrentItem(self.imagesTree.topLevelItem(0))
     self.imagesTree.setContextMenuPolicy(Qt.CustomContextMenu)
     self.imagesTree.customContextMenuRequested.connect(
         self.__imagesTreeContextMenuRequested)
     
     # populate the Databases tab
     databases = self.__mainFrame.securityOrigin().databases()
     counter = 0
     for database in databases:
         itm = QListWidgetItem(self.databasesList)
         itm.setText(database.displayName())
         itm.setData(Qt.UserRole, counter)
         counter += 1
     
     if counter == 0:
         itm = QListWidgetItem(self.databasesList)
         itm.setText(self.tr("No databases are used by this page."))
         itm.setFlags(itm.flags() & Qt.ItemIsSelectable)
Пример #56
0
 def addDisabledGenPaths(self):
     """Add global paths, but set as disabled."""
     genPaths = self.fetchGenPaths()
     for p in genPaths:
         i = QListWidgetItem(p, self.include.listBox)
         i.setFlags(Qt.NoItemFlags)