Beispiel #1
0
    def update_filename_box(self):
        doing_multiple = self.doing_multiple

        model = QStandardItemModel()
        self.filename_box.setModel(model)
        self.icon_file_names.sort(key=sort_key)
        if doing_multiple:
            item = QStandardItem(_('Open to see checkboxes'))
            item.setIcon(QIcon(I('blank.png')))
        else:
            item = QStandardItem('')
        item.setFlags(Qt.ItemFlag(0))
        model.appendRow(item)

        for i, filename in enumerate(self.icon_file_names):
            item = QStandardItem(filename)
            if doing_multiple:
                item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
                item.setData(Qt.Unchecked, Qt.CheckStateRole)
            else:
                item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
            icon = QIcon(
                QPixmap(os.path.join(self.icon_folder, filename)).scaled(
                    self.filenamebox_view.iconSize(),
                    transformMode=Qt.SmoothTransformation))
            item.setIcon(icon)
            model.appendRow(item)
Beispiel #2
0
    def initialise (self, univers):
        model = QStandardItemModel (3,1)
    
        i = 0
        for faction in univers.faction_list :
            item = QStandardItem(faction.name)
            item.setFlags(QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled);
            item.setData(QtCore.Qt.Unchecked, QtCore.Qt.CheckStateRole);

            model.setItem(i, 0, item)
            i = i + 1

        combo = QComboBox()
        combo.setModel(model)

        list_v = QListView()
        list_v.setModel(model)

        table = QTableView()
        table.setModel(model)

        container = QWidget()
        containerLayout = QVBoxLayout()
        container.setLayout(containerLayout)
        containerLayout.addWidget(combo)
        containerLayout.addWidget(list_v)
        containerLayout.addWidget(table)
Beispiel #3
0
    def _addSuggestions(self, suggestions):
        '''
        @param: sugesstions QStringList
        '''
        suggestionItems = self._s_model.suggestionItems()

        # Delete existing suggestions
        for item in suggestionItems:
            self._s_model.takeRow(item.row())

        # Add new suggestions
        items = []  # QList<QStandardItem>
        for suggestion in suggestions:
            item = QStandardItem()
            item.setText(suggestion)
            item.setData(suggestion, LocationCompleterModel.TitleRole)
            item.setData(suggestion, LocationCompleterModel.UrlRole)
            item.setData(self._suggestionsTerm, LocationCompleterModel.SearchStringRole)
            item.setData(True, LocationCompleterModel.SearchSuggestionRole)
            items.append(item)
        self._s_model.addCompletions(items)
        self._oldSuggestions = suggestions

        if not self._popupClosed:
            self._showPopup()
Beispiel #4
0
    def get_output_tableitem(item):
        """
        Return centered QTableWidgetItem with output

        :param item: host or service item
        :type item: alignak_app.items.host.Host | alignak_app.items.service.Service
        :return: table item with text
        :rtype: QStandardItem
        """

        if not item.data['ls_output']:
            item.data['ls_output'] = 'n\\a'
        tableitem = QStandardItem(item.data['ls_output'])
        tableitem.setData(item, Qt.UserRole)

        tableitem.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter)

        return tableitem
Beispiel #5
0
    def get_tableitem(self, item):
        """
        Return centered QTableWidgetItem with problem

        :param item: host or service item
        :type item: alignak_app.items.host.Host | alignak_app.items.service.Service
        :return: table item with text
        :rtype: QStandardItem
        """

        tableitem = QStandardItem(self.get_item_text(item))
        tableitem.setData(item, Qt.UserRole)

        icon = QIcon(settings.get_image(
            get_icon_name_from_state(item.item_type, item.data['ls_state'])
        ))
        tableitem.setIcon(icon)
        tableitem.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter)

        return tableitem
Beispiel #6
0
    def _completeMostVisited(self):
        qs = HistoryDbModel.select().order_by(
            HistoryDbModel.count.desc()).limit(15)
        for history in qs:
            item = QStandardItem()
            url = QUrl(history.url)

            item.setText(url.toEncoded().data().decode())
            item.setData(history.id, LocationCompleterModel.IdRole)
            item.setData(history.title, LocationCompleterModel.TitleRole)
            item.setData(url, LocationCompleterModel.UrlRole)
            item.setData(True, LocationCompleterModel.HistoryRole)

            self._items.append(item)
Beispiel #7
0
    def update_filename_box(self):
        doing_multiple = self.doing_multiple

        model = QStandardItemModel()
        self.filename_box.setModel(model)
        self.icon_file_names.sort(key=sort_key)
        if doing_multiple:
            item = QStandardItem(_('Open to see checkboxes'))
        else:
            item = QStandardItem('')
        model.appendRow(item)

        for i,filename in enumerate(self.icon_file_names):
            item = QStandardItem(filename)
            if doing_multiple:
                item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
                item.setData(Qt.Unchecked, Qt.CheckStateRole)
            else:
                item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
            icon = QIcon(os.path.join(self.icon_folder, filename))
            item.setIcon(icon)
            model.appendRow(item)
Beispiel #8
0
    def update_filename_box(self):
        doing_multiple = self.doing_multiple

        model = QStandardItemModel()
        self.filename_box.setModel(model)
        self.icon_file_names.sort(key=sort_key)
        if doing_multiple:
            item = QStandardItem(_('Open to see checkboxes'))
        else:
            item = QStandardItem('')
        model.appendRow(item)

        for i, filename in enumerate(self.icon_file_names):
            item = QStandardItem(filename)
            if doing_multiple:
                item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
                item.setData(Qt.Unchecked, Qt.CheckStateRole)
            else:
                item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
            icon = QIcon(os.path.join(self.icon_folder, filename))
            item.setIcon(icon)
            model.appendRow(item)
Beispiel #9
0
    def update_filename_box(self):
        doing_multiple = self.doing_multiple

        model = QStandardItemModel()
        self.filename_box.setModel(model)
        self.icon_file_names.sort(key=sort_key)
        if doing_multiple:
            item = QStandardItem(_('Open to see checkboxes'))
            item.setIcon(QIcon(I('blank.png')))
        else:
            item = QStandardItem('')
        item.setFlags(Qt.ItemFlag(0))
        model.appendRow(item)

        for i,filename in enumerate(self.icon_file_names):
            item = QStandardItem(filename)
            if doing_multiple:
                item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
                item.setData(Qt.Unchecked, Qt.CheckStateRole)
            else:
                item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
            icon = QIcon(QPixmap(os.path.join(self.icon_folder, filename)).scaled(self.filenamebox_view.iconSize(), transformMode=Qt.SmoothTransformation))
            item.setIcon(icon)
            model.appendRow(item)
Beispiel #10
0
    def _runJob(self):
        if self._jobCancelled or gVar.app.isClosing():
            return

        if not self._searchString:
            self._completeMostVisited()
        else:
            self._completeFromHistory()

        # Load all icons into QImage
        for item in self._items:
            if self._jobCancelled:
                return

            # QUrl
            url = item.data(LocationCompleterModel.UrlRole)
            item.setData(IconProvider.imageForUrl(url),
                         LocationCompleterModel.ImageRole)

        if self._jobCancelled:
            return

        # Get domain completion
        if self._searchString and gVar.appSettings.useInlineCompletion:
            domainQuery = LocationCompleterModel.createDomainQuery(
                self._searchString)
            history = domainQuery.first()
            if history:
                self._domainCompletion = QUrl(history.url).host()

        if self._jobCancelled:
            return

        # Add search/visit item
        if self._searchString:
            item = QStandardItem()
            item.setText(self._searchString)
            item.setData(self._searchString, LocationCompleterModel.UrlRole)
            item.setData(self._searchString,
                         LocationCompleterModel.SearchStringRole)
            item.setData(True, LocationCompleterModel.VisitSearchItemRole)
            if self._domainCompletion:
                url = QUrl('http://%s' % self._domainCompletion)
                item.setData(IconProvider.imageForDomain(url),
                             LocationCompleterModel.ImageRole)
            self._items.insert(0, item)
Beispiel #11
0
 def func():
     index = self._s_model.index(0, 0)
     if index.data(LocationCompleterModel.VisitSearchItemRole):
         self._s_model.setData(index, trimmedStr, Qt.DisplayRole)
         self._s_model.setData(index, trimmedStr, LocationCompleterModel.UrlRole)
         self._s_model.setData(index, self._locationBar.text(), LocationCompleterModel.SearchStringRole)
     else:
         item = QStandardItem()
         item.setText(trimmedStr)
         item.setData(trimmedStr, LocationCompleterModel.UrlRole)
         item.setData(self._locationBar.text(), LocationCompleterModel.SearchStringRole)
         item.setData(True, LocationCompleterModel.VisitSearchItemRole)
         self._s_model.setCompletions([item])
         self._addSuggestions(self._oldSuggestions)
     self._showPopup()
     if not self._s_view.currentIndex().isValid():
         self._ignoreCurrentChanged = True
         self._s_view.setCurrentIndex(self._s_model.index(0, 0))
         self._ignoreCurrentChanged = False
Beispiel #12
0
 def addItems(parent, elements, t=""):
     for xref, name in elements:
         item = QStandardItem(name)
         data = xref
         item.setData(data)
         parent.appendRow(item)
Beispiel #13
0
 def _addItemListener(self, key, item_data):
     item = QStandardItem(item_data.name)
     item.setData(key)  # Set my custom index as a payload
     item.setSelectable(True)
     item.setEditable(True)
     self.model.appendRow(item)
Beispiel #14
0
    def _completeFromHistory(self):
        urlList = []  # QList<QUrl>
        showType = gVar.appSettings.showLocationSuggestions

        # Search in bookmarks
        if showType == self.HistoryAndBookmarks or showType == self.Bookmarks:
            bookmarksLimit = 20
            bookmarks = gVar.app.bookmarks().searchBookmarksByString(
                self._searchString, bookmarksLimit)

            for bookmark in bookmarks:
                assert (bookmark.isUrl())

                # Keyword bookmark replaces visit/search item
                if bookmark.keyword() == self._searchString:
                    continue

                item = QStandardItem()
                item.setText(bookmark.url().toEncoded().data().decode())
                item.setData(-1, LocationCompleterModel.IdRole)
                item.setData(bookmark.title(),
                             LocationCompleterModel.TitleRole)
                item.setData(bookmark.url(), LocationCompleterModel.UrlRole)
                item.setData(bookmark.visitCount(),
                             LocationCompleterModel.CountRole)
                item.setData(True, LocationCompleterModel.BookmarkRole)
                item.setData(bookmark, LocationCompleterModel.BookmarkItemRole)
                item.setData(self._searchString,
                             LocationCompleterModel.SearchStringRole)

                urlList.append(bookmark.url())
                self._items.append(item)

        # Sort by count
        self._items.sort(
            key=lambda item: item.data(LocationCompleterModel.CountRole),
            reverse=True)

        # Search in history
        if showType == self.HistoryAndBookmarks or showType == self.History:
            historyLimit = 20
            qs = LocationCompleterModel.createHistoryQuery(
                self._searchString, historyLimit)

            for history in qs:
                url = QUrl(history.url)

                if url in urlList:
                    continue

                item = QStandardItem()
                item.setText(url.toEncoded().data().decode())
                item.setData(history.id, LocationCompleterModel.IdRole)
                item.setData(history.title, LocationCompleterModel.TitleRole)
                item.setData(url, LocationCompleterModel.UrlRole)
                item.setData(history.count, LocationCompleterModel.CountRole)
                item.setData(True, LocationCompleterModel.HistoryRole)
                item.setData(self._searchString,
                             LocationCompleterModel.SearchStringRole)

                self._items.append(item)