def viewInBrowser(self):
        dstPath = os.path.join(TemporaryDir.path(), Settings()['template'] + '.htm')
        report = Report(self.model(), Settings()['template'], dstPath, self)
        indexes = self.selectedRows()
        fileName = report.generate(indexes)

        if fileName:
            executor = QDesktopServices()
            executor.openUrl(QtCore.QUrl.fromLocalFile(fileName))
    def save(self):
        settings = Settings()

        settings['colnect_enabled'] = self.enabledGroup.isChecked()
        settings['colnect_locale'] = self.languageSelector.currentData()
        settings['colnect_autoclose'] = self.autoclose.isChecked()
        settings['colnect_skip_currency'] = self.skip_currency.isChecked()

        settings.save()
Beispiel #3
0
    def save(self):
        settings = Settings()

        settings['colnect_enabled'] = self.enabledGroup.isChecked()
        settings['colnect_locale'] = self.languageSelector.currentData()
        settings['colnect_autoclose'] = self.autoclose.isChecked()
        settings['colnect_skip_currency'] = self.skip_currency.isChecked()

        settings.save()
Beispiel #4
0
    def contextMenu(self, pos):
        open_ = QAction(self.tr("Open"), self)
        open_.triggered.connect(self.openImage)

        use_external_viewer = not Settings()['built_in_viewer']
        if use_external_viewer:
            edit = QAction(self.tr("Edit..."), self)
            edit.triggered.connect(self.editImage)

        copy = QAction(self.tr("Copy"), self)
        copy.triggered.connect(self.copyImage)
        copy.setDisabled(self.image.isNull())

        save = QAction(self.tr("Save as..."), self)
        save.triggered.connect(self.saveImage)
        save.setDisabled(self.image.isNull())

        menu = QMenu()
        menu.addAction(open_)
        menu.setDefaultAction(open_)
        if use_external_viewer:
            menu.addAction(edit)
        menu.addAction(save)
        menu.addSeparator()
        menu.addAction(copy)
        menu.exec_(self.mapToGlobal(pos))
Beispiel #5
0
    def __init__(self, treeParam, parent=None):
        super().__init__(parent)

        self.show_tree_icons = treeParam.show_tree_icons
        self.convert_fraction = treeParam.convert_fraction

        self.setHeaderHidden(True)
        self.setAutoScroll(False)

        self.setContextMenuPolicy(Qt.CustomContextMenu)
        self.customContextMenuRequested.connect(self.contextMenuEvent)

        self.currentItemChanged.connect(self.itemActivatedEvent)
        self.itemExpanded.connect(self.expandedEvent)
        self.collapsed.connect(self.collapsedEvent)

        self.treeParam = treeParam

        # Changing of TreeView is enabled (by signals from model or ListView)
        self.changingEnabled = True

        locale = Settings()['locale']
        self.collator = QCollator(QLocale(locale))
        self.collator.setNumericMode(True)

        self.setItemDelegate(AutoToolTipDelegate())
 def setData(self, xx, yy, region):
     data = ','.join(["['%s', %d]" % (x, y) for x, y in zip(xx, yy)])
     header = "['%s', '%s']" % (self.tr("Country"), self.tr("Number of coins"))
     data = ','.join((header, data))
     locale = Settings()['locale']
     self.html_data = self.HTML % (locale, region, data)
     self.setHtml(self.html_data, QUrl.fromLocalFile(OpenNumismat.PRJ_PATH))
Beispiel #7
0
    def viewInBrowser(self, indexes=None):
        if not indexes:
            indexes = self.selectedRows()

        records = []
        for index in indexes:
            records.append(self.model().record(index.row()))

        dstPath = os.path.join(TemporaryDir.path(),
                               Settings()['template'] + '.htm')
        report = Report(self.model(), Settings()['template'], dstPath)
        fileName = report.generate(records)

        if fileName:
            executor = QDesktopServices()
            executor.openUrl(QtCore.QUrl.fromLocalFile(fileName))
    def __init__(self, is_static, parent):
        super().__init__(parent)

        self.language = Settings()['locale']

        self.is_static = is_static
        self.lat = None
        self.lng = None
        self.points = []
        self.activated = False
        self.initialized = False
        self.loadFinished.connect(self.onLoadFinished)

        if importedQtWebEngine:
            self.setPage(WebEnginePage(self))

            channel = QWebChannel(self.page())
            channel.registerObject("qtWidget", self)
            self.page().setWebChannel(channel)
        else:
            self.page().setLinkDelegationPolicy(QWebPage.DelegateAllLinks)
            self.page().linkClicked.connect(self.linkClicked)

            self.page().mainFrame().addToJavaScriptWindowObject(
                "qtWidget", self)

        self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
Beispiel #9
0
    def mapLayout(self):
        layout = BaseFormLayout()

        layout.addRow(self.items['address'])
        layout.addRow(self.items['latitude'], self.items['longitude'])

        coordinates_enabled = not (self.items['latitude'].isHidden()
                                   or self.items['longitude'].isHidden())

        if importedQtWebKit and coordinates_enabled:
            settings = Settings()
            if settings['map_type'] == 0 or not gmapsAvailable:
                self.map_item = OSMWidget(self)
            else:
                self.map_item = GMapsWidget(self)
            self.map_item.markerMoved.connect(self.mapMarkerMoved)
            self.map_item.markerRemoved.connect(self.mapMarkerRemoved)
            layout.addWidget(self.map_item, layout.row, 0, 1,
                             layout.columnCount)

            self.items['address'].widget().findClicked.connect(
                self.map_item.geocode)
            self.items['latitude'].widget().textChanged.connect(
                self.mapChanged)
            self.items['longitude'].widget().textChanged.connect(
                self.mapChanged)

        return layout
Beispiel #10
0
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setDynamicSortFilter(True)

        locale = Settings()['locale']
        self.collator = QCollator(QLocale(locale))
        self.collator.setNumericMode(True)
Beispiel #11
0
    def openImage(self):
        if Settings()['built_in_viewer']:
            self.editImage()
        else:
            fileName = self._saveTmpImage()

            executor = QDesktopServices()
            executor.openUrl(QUrl.fromLocalFile(fileName))
 def setData(self, xx, yy, region):
     data = ','.join(["['%s', %d]" % (x, y) for x, y in zip(xx, yy)])
     header = "['%s', '%s']" % (self.tr("Country"),
                                self.tr("Number of coins"))
     data = ','.join((header, data))
     locale = Settings()['locale']
     self.html_data = self.HTML % (locale, MAPS_API_KEY, region, data)
     self.setHtml(self.html_data)
Beispiel #13
0
    def save(self):
        settings = Settings()

        settings['locale'] = self.languageSelector.currentData()
        settings['backup'] = self.backupFolder.text()
        settings['autobackup'] = self.autobackup.isChecked()
        settings['autobackup_depth'] = self.autobackupDepth.value()
        settings['reference'] = self.reference.text()
        settings['error'] = self.errorSending.isChecked()
        settings['updates'] = self.checkUpdates.isChecked()
        settings['speedup'] = self.speedup.currentData()
        settings['template'] = self.templateSelector.currentData()
        settings['check_coin_title'] = self.checkTitle.isChecked()
        settings['check_coin_duplicate'] = self.checkDuplicate.isChecked()
        settings['images_by_default'] = self.imagesByDefault.value()
        settings['map_type'] = self.mapSelector.currentIndex()

        settings.save()
    def save(self):
        settings = Settings()

        settings['locale'] = self.languageSelector.currentData()
        settings['backup'] = self.backupFolder.text()
        settings['autobackup'] = self.autobackup.isChecked()
        settings['autobackup_depth'] = self.autobackupDepth.value()
        settings['reference'] = self.reference.text()
        settings['error'] = self.errorSending.isChecked()
        settings['updates'] = self.checkUpdates.isChecked()
        settings['speedup'] = self.speedup.currentData()
        settings['template'] = self.templateSelector.currentData()
        settings['check_coin_title'] = self.checkTitle.isChecked()
        settings['check_coin_duplicate'] = self.checkDuplicate.isChecked()
        settings['images_by_default'] = self.imagesByDefault.value()
        settings['map_type'] = self.mapSelector.currentIndex()
        settings['verify_ssl'] = self.verifySsl.isChecked()

        settings.save()
    def __saveParams(self):
        if self.collection.isOpen():
            for param in self.collection.pages().pagesParam():
                param.listParam.save_lists(only_if_changed=True)

            self.viewTab.savePagePositions(only_if_changed=True)

            if Settings()['autobackup']:
                if self.collection.isNeedBackup():
                    self.collection.backup()
Beispiel #16
0
    def __init__(self, pageParam, parent=None):
        super().__init__('0', parent=parent)

        self.imagesAtBottom = pageParam.images_at_bottom

        self._model = None
        self.param = pageParam
        self.id = pageParam.id
        self.treeView = TreeView(pageParam.treeParam, self)
        if self.param.type == CollectionPageTypes.Card:
            self.listView = CardView(self.param.listParam, self)
        elif self.param.type == CollectionPageTypes.Icon:
            self.listView = IconView(self.param.listParam, self)
        else:
            self.listView = ListView(self.param.listParam, self)
        if self.imagesAtBottom:
            self.imageView = ImageView(QBoxLayout.LeftToRight, self)
            self.detailsView = DetailsView(QBoxLayout.TopToBottom, self)
        else:
            self.imageView = ImageView(QBoxLayout.TopToBottom, self)
            self.detailsView = DetailsView(QBoxLayout.LeftToRight, self)

        self.splitter1 = Splitter('1', Qt.Vertical, self)
        splitter2 = Splitter('2', parent=self.splitter1)
        splitter2.addWidget(self.treeView)
        splitter2.addWidget(self.listView)
        self.splitter1.addWidget(splitter2)
        if self.imagesAtBottom:
            self.splitter1.addWidget(self.imageView)
        else:
            self.splitter1.addWidget(self.detailsView)

        if statisticsAvailable:
            self.statisticsView = StatisticsView(pageParam.statisticsParam)
            self.statisticsView.setMinimumHeight(200)

        if importedQtWebKit:
            settings = Settings()
            if settings['map_type'] == 0 or not gmapsAvailable:
                self.mapView = GlobalOSMWidget()
            else:
                self.mapView = GlobalGMapsWidget()
            self.mapView.markerClicked.connect(self.setCurrentCoin)

        self.addWidget(self.splitter1)
        if self.imagesAtBottom:
            self.addWidget(self.detailsView)
        else:
            self.addWidget(self.imageView)

        self.listView.rowChanged.connect(self.imageView.rowChangedEvent)
        self.listView.rowChanged.connect(self.treeView.rowChangedEvent)
        self.listView.rowChanged.connect(self.detailsView.rowChangedEvent)
        self.splitterMoved.connect(self.splitterPosChanged)
Beispiel #17
0
 def autoUpdate(self):
     if Settings()['updates']:
         settings = QSettings()
         lastUpdateDateStr = settings.value('mainwindow/last_update')
         if lastUpdateDateStr:
             lastUpdateDate = QDate.fromString(lastUpdateDateStr,
                                               Qt.ISODate)
             currentDate = QDate.currentDate()
             if lastUpdateDate.addDays(10) < currentDate:
                 self.checkUpdates()
         else:
             self.checkUpdates()
Beispiel #18
0
    def __init__(self, collection, parent=None):
        super().__init__(parent)

        settings = Settings()

        fLayout = QFormLayout()
        fLayout.setRowWrapPolicy(QFormLayout.WrapLongRows)

        default_locale = settings['colnect_locale']
        current = 9
        self.languageSelector = QComboBox(self)
        for i, lang in enumerate(self.Languages):
            self.languageSelector.addItem(lang[1], lang[0])
            if default_locale == lang[0]:
                current = i
        self.languageSelector.setCurrentIndex(current)
        self.languageSelector.setSizePolicy(QSizePolicy.Fixed,
                                            QSizePolicy.Fixed)

        fLayout.addRow(self.tr("Language"), self.languageSelector)

        self.autoclose = QCheckBox(self.tr("Close dialog after adding item"),
                                   self)
        self.autoclose.setChecked(settings['colnect_autoclose'])
        fLayout.addRow(self.autoclose)

        self.skip_currency = QCheckBox(self.tr("Skip currency symbol"),
                                       self)
        self.skip_currency.setChecked(settings['colnect_skip_currency'])
        fLayout.addRow(self.skip_currency)

        clearCacheBtn = QPushButton(self.tr("Clear cache"), self)
        clearCacheBtn.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        clearCacheBtn.clicked.connect(self.clearCache)

        hLayout = QHBoxLayout()
        hLayout.addWidget(clearCacheBtn, alignment=Qt.AlignRight)

        vLayout = QVBoxLayout()
        vLayout.addLayout(fLayout)
        vLayout.addLayout(hLayout)

        self.enabledGroup = QGroupBox(self.tr("Use Colnect"), self)
        self.enabledGroup.setCheckable(True)
        self.enabledGroup.setChecked(settings['colnect_enabled'])
        self.enabledGroup.setLayout(vLayout)

        layout = QVBoxLayout()
        layout.addWidget(self.enabledGroup)

        self.setLayout(layout)
    def mapLayout(self):
        self.map_item = None

        coordinates_enabled = not (self.items['latitude'].isHidden() or
                                   self.items['longitude'].isHidden())

        if importedQtWebKit and coordinates_enabled:
            settings = Settings()
            if settings['map_type'] == 0 or not gmapsAvailable:
                self.map_item = StaticOSMWidget(self)
            else:
                self.map_item = StaticGMapsWidget(self)

        return self.map_item
Beispiel #20
0
def exceptHook(type_, value, tback):
    stack = ''.join(traceback.format_exception(type_, value, tback))

    title = QApplication.translate("ExcpHook", "System error")
    text = QApplication.translate(
        "ExcpHook", "A system error occurred.\n"
        "Do you want to send an error message to the author?")
    msgBox = QMessageBox(QMessageBox.Information, title, text)
    msgBox.setDetailedText(stack)
    msgBox.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
    if msgBox.exec_() == QMessageBox.Yes:
        line = traceback.extract_tb(tback)[-1]
        subject = "[v%s] %s - %s:%d" % (version.Version, type_.__name__,
                                        line[0], line[1])

        errorMessage = []
        # errorMessage.append(QApplication.translate(
        #    "ExcpHook",
        #    "PLEASE ADD A COMMENT, IT WILL HELP IN SOLVING THE PROBLEM"))
        # errorMessage.append('')
        errorMessage.append("%s: %s" % (version.AppName, version.Version))
        errorMessage.append(
            "OS: %s %s (%s)" %
            (platform.system(), platform.release(), platform.version()))
        errorMessage.append(
            "Python: %s (%s)" %
            (platform.python_version(), platform.architecture()[0]))
        errorMessage.append("Qt: %s" % PYQT_VERSION_STR)
        try:
            errorMessage.append("Locale: %s" % Settings()['locale'])
        except:
            pass

        errorMessage.append('')
        errorMessage.append(stack)

        url = QUrl('http://opennumismat.idea.informer.com/proj/')
        query = QUrlQuery()
        query.addQueryItem('mod', 'add')
        query.addQueryItem('cat', '3')
        query.addQueryItem('idea', subject)
        query.addQueryItem('descr', '\n'.join(errorMessage))
        url.setQuery(query)

        executor = QDesktopServices()
        executor.openUrl(url)

    # Call the default handler
    sys.__excepthook__(type_, value, tback)
Beispiel #21
0
    def __init__(self, parent):
        super().__init__(parent,
                         Qt.WindowCloseButtonHint | Qt.WindowSystemMenuHint)

        if Settings()['locale'] == 'fr':
            self.language = Settings()['locale']
        else:
            self.language = 'en'

        self.page = QWebView(self)
        if importedQtWebEngine:
            self.page.setPage(WebEnginePage(self))
        else:
            self.page.linkClicked.connect(self.onLinkClicked)
            self.page.page().setLinkDelegationPolicy(QWebPage.DelegateAllLinks)
        self.page.urlChanged.connect(self.onUrlChanged)

        redirect_uri = 'local'  # Should normally be a URL to your application
        url_template = ('https://{language}.numista.com/api/oauth_authorize.php'
                        '?response_type=code'
                        '&client_id={client_id}'
                        '&redirect_uri={redirect_uri}'
                        '&scope={scope}')
        authorization_url = url_template.format(
          language=self.language,
          client_id='opennumismat',
          redirect_uri=redirect_uri,
          scope='view_collection')
        self.page.load(QUrl(authorization_url))

        layout = QVBoxLayout()
        layout.addWidget(self.page)
        layout.setContentsMargins(QMargins())
        self.setLayout(layout)

        self.setWindowTitle(self.tr("Numista"))
Beispiel #22
0
    def __init__(self, is_static, parent):
        super().__init__(parent)

        self.language = Settings()['locale']

        self.is_static = is_static
        self.lat = None
        self.lng = None
        self.points = []
        self.activated = False
        self.initialized = False
        self.loadFinished.connect(self.onLoadFinished)
        self.page().mainFrame().addToJavaScriptWindowObject("qtWidget", self)

        self.page().setLinkDelegationPolicy(QWebPage.DelegateAllLinks)
        self.page().linkClicked.connect(self.linkClicked)
Beispiel #23
0
    def setModel(self, model):
        model.rowInserted.connect(self.rowInserted)

        self.proxyModel = SortFilterProxyModel(self)
        self.proxyModel.setSourceModel(model)
        super(ListView, self).setModel(self.proxyModel)
        model.proxy = self.proxyModel

        self.headerButtons = []
        for param in self.listParam.columns:
            btn = FilterMenuButton(param, self.listParam, self.model(),
                                   self.horizontalHeader())
            self.headerButtons.append(btn)

        filtersSql = FilterMenuButton.filtersToSql(
            self.listParam.filters.values())
        self.model().setFilter(filtersSql)

        self.horizontalHeader().sectionResized.disconnect(self.columnResized)

        self._moveColumns()

        for i in range(model.columnCount()):
            self.hideColumn(i)

        apply_sorting = Settings()['store_sorting']
        for param in self.listParam.columns:
            if param.enabled:
                self.showColumn(param.fieldid)

                if apply_sorting:
                    if param.sortorder in [
                            Qt.AscendingOrder, Qt.DescendingOrder
                    ]:
                        self.horizontalHeader().setSortIndicator(
                            param.fieldid, param.sortorder)
                        self.sortByColumn(param.fieldid, Qt.AscendingOrder)

        for param in self.listParam.columns:
            if param.width:
                self.horizontalHeader().resizeSection(param.fieldid,
                                                      param.width)

        self.horizontalHeader().sectionResized.connect(self.columnResized)

        self._updateHeaderButtons()
Beispiel #24
0
 def viewInBrowser(self, template=None):
     if not template:
         template = Settings()['template']
     template_name = os.path.basename(template)
     dstPath = os.path.join(TemporaryDir.path(), template_name + '.htm')
     report = Report(self.model(), template, dstPath, self)
     indexes = self.selectedRows()
     if indexes:
         fileName = report.generate(indexes)
         if fileName:
             executor = QDesktopServices()
             executor.openUrl(QtCore.QUrl.fromLocalFile(fileName))
     else:
         QMessageBox.information(
             self, self.tr("Report preview"),
             self.tr("Nothing selected.\nSelect required coins by clicking "
                     "with Ctrl or Shift, or Ctrl+A for select all coins."))
    def setCollection(self, collection):
        self.collection.loadReference(Settings()['reference'])

        self.__setEnabledActs(True)

        self.collectionFileLabel.setText(collection.getFileName())
        title = "%s - %s" % (collection.getCollectionName(), version.AppName)
        self.setWindowTitle(title)

        latest = LatestCollections(self)
        latest.add(collection.getFileName())
        self.__updateLatest()

        self.viewTab.setCollection(collection)

        self.referenceMenu.clear()
        for action in self.collection.referenceMenu(self):
            self.referenceMenu.addAction(action)
Beispiel #26
0
    def backup(self):
        backupDir = QtCore.QDir(Settings()['backup'])
        if not backupDir.exists():
            backupDir.mkpath(backupDir.path())

        backupFileName = backupDir.filePath(
            "%s_%s.db" %
            (self.getCollectionName(),
             QtCore.QDateTime.currentDateTime().toString('yyMMddhhmm')))
        srcFile = QtCore.QFile(self.fileName)
        if not srcFile.copy(backupFileName):
            QMessageBox.critical(
                self.parent(), self.tr("Backup collection"),
                self.tr("Can't make a collection backup at %s") %
                backupFileName)
            return False

        return True
Beispiel #27
0
    def __init__(self, treeParam, parent=None):
        super(TreeView, self).__init__(parent)

        self.settings = Settings()

        self.setHeaderHidden(True)
        self.setAutoScroll(False)

        self.setContextMenuPolicy(Qt.CustomContextMenu)
        self.customContextMenuRequested.connect(self.contextMenuEvent)

        self.currentItemChanged.connect(self.itemActivatedEvent)
        self.itemExpanded.connect(self.expandedEvent)
        self.collapsed.connect(self.collapsedEvent)

        self.treeParam = treeParam

        # Changing of TreeView is enabled (by signals from model or ListView)
        self.changingEnabled = True
Beispiel #28
0
    def setModel(self, model):
        self.model = model

        self.imageFields = []
        for field in self.model.fields.userFields:
            if field.type in (Type.Image, Type.EdgeImage):
                self.imageFields.append(field)

        # By default show only first 2 images
        self.showedCount = Settings()['images_by_default']

        self.imageButtons = []
        for field in self.imageFields:
            button = QCheckBox(self)
            button.setToolTip(field.title)
            button.setDisabled(True)
            button.stateChanged.connect(self.buttonClicked)
            self.imageButtons.append(button)
            self.buttonLayout.addWidget(button)
Beispiel #29
0
    def __init__(self, listParam, parent=None):
        super(ListView, self).__init__(parent)

        self.listParam = listParam

        self.setSelectionBehavior(QAbstractItemView.SelectRows)
        self.setSelectionMode(QAbstractItemView.ExtendedSelection)
        self.setEditTriggers(QAbstractItemView.NoEditTriggers)
        self.doubleClicked.connect(self.itemDClicked)
        self.setContextMenuPolicy(Qt.CustomContextMenu)
        self.customContextMenuRequested.connect(self.contextMenuEvent)
        self.setSortingEnabled(True)
        self.horizontalHeader().setSectionsMovable(True)
        self.horizontalHeader().sectionDoubleClicked.connect(
            self.sectionDoubleClicked)
        self.horizontalHeader().sectionResized.connect(self.columnResized)
        self.horizontalHeader().sectionMoved.connect(self.columnMoved)
        self.horizontalHeader().setContextMenuPolicy(Qt.CustomContextMenu)
        self.horizontalHeader().customContextMenuRequested.connect(
            self.headerContextMenuEvent)
        if Settings()['store_sorting']:
            self.horizontalHeader().sortIndicatorChanged.connect(
                self.sortChangedEvent)
        self.horizontalScrollBar().valueChanged.connect(self.scrolled)
        self.horizontalHeader().setDefaultAlignment(Qt.AlignLeft)
        # Make header font always bold
        font = self.horizontalHeader().font()
        font.setBold(True)
        self.horizontalHeader().setFont(font)

        self.verticalHeader().setVisible(False)
        self.defaultHeight = self.verticalHeader().defaultSectionSize()

        self.listCountLabel = QLabel()
        self.listSelectedLabel = QLabel(self.tr("0 coin(s) selected"))

        # Show image data as images
        for field in listParam.fields:
            if field.type in Type.ImageTypes:
                self.setItemDelegateForColumn(field.id, ImageDelegate(self))

        self.selectedRowId = None
    def mapLayout(self):
        self.map_item = None

        coordinates_enabled = not (self.items['latitude'].isHidden() or
                                   self.items['longitude'].isHidden())

        if importedQtWebKit and coordinates_enabled:
            settings = Settings()
            if settings['map_type'] == 0 or not gmapsAvailable:
                self.map_item = OSMWidget(self)
            else:
                self.map_item = GMapsWidget(self)

            self.map_item.markerMoved.connect(self.mapMarkerMoved)
            self.map_item.markerRemoved.connect(self.mapMarkerRemoved)
            self.items['address'].widget().findClicked.connect(self.map_item.geocode)
            self.items['latitude'].widget().textChanged.connect(self.mapChanged)
            self.items['longitude'].widget().textChanged.connect(self.mapChanged)

        return self.map_item
    def __init__(self, columnParam, listParam, model, parent):
        super(FilterMenuButton, self).__init__(parent)

        self.db = model.database()
        self.model = model
        self.columnName = self.model.fields.fields[columnParam.fieldid].name
        self.fieldid = columnParam.fieldid
        self.filters = listParam.filters
        self.listParam = listParam
        self.settings = Settings()

        menu = QMenu()

        self.setToolTip(self.tr("Filter items"))

        self.setFixedHeight(self.parent().height() - 2)
        self.setFixedWidth(self.height())
        self.setMenu(menu)
        if self.fieldid in self.filters.keys():
            self.setIcon(createIcon('filters.ico'))

        menu.aboutToShow.connect(self.prepareMenu)
Beispiel #32
0
 def __init__(self, parent=None):
     super().__init__(parent)
     self.settings = Settings()