def path_from_index(self, index): """ Reimplemented. Finds part of a path given the index of the last part required. """ data_list = QStringList() while index.isValid(): data_list.prepend(self.model().data(index).toString()) index = index.parent() ret = data_list.join("/") print "path from index: %s" % (data_list.join(" :: ")) return ret
def __qtReorderFilter(filter, selectedFilter = None): """ Private function to reorder the file filter to cope with a KDE issue introduced by distributors usage of KDE file dialogs. @param filter Qt file filter (QString or string) @param selectedFilter this is set to the selected filter (QString or string) @return the rearranged Qt file filter (QString) """ if selectedFilter is not None and not Globals.isMacPlatform(): fileFilters = QStringList(filter.split(';;')) ## fileFilters.removeAll(selectedFilter) fileFilters.prepend(selectedFilter) return fileFilters.join(";;") else: return filter
def saveAccountData(self): collId = self.collectionID.text() if self.enabledBox.checkState() == Qt.Checked : enable = '1' else : enable = '0' collRes = self.collectionResource.text() accCommand = self.accountCommand.text() params = QStringList() << collId << enable << \ collRes << self.nameColl << accCommand data = params.join(dlm) item = self.Parent.editList.accountListBox.currentItem() self.Settings.beginGroup('Akonadi account') data = self.Settings.setValue(item.text(), data) self.Settings.endGroup() # data saved self.blink(True, False)
def __convertFilter(filter, selectedFilter = None): """ Private function to convert a Qt file filter to a KDE file filter. @param filter Qt file filter (QString or string) @param selectedFilter this is set to the selected filter @return the corresponding KDE file filter (QString) """ rx = QRegExp("^[^(]*\(([^)]*)\).*$") fileFilters = filter.split(';;') newfilter = QStringList() for fileFilter in fileFilters: sf = selectedFilter and selectedFilter.compare(fileFilter) == 0 namefilter = QString(fileFilter).replace(rx, "\\1") fileFilter = QString(fileFilter).replace('/', '\\/') if sf: newfilter.prepend("%s|%s" % (namefilter, fileFilter)) else: newfilter.append("%s|%s" % (namefilter, fileFilter)) return newfilter.join('\n')
def data(self, index, role=Qt.DisplayRole): if not index.isValid(): return QVariant() if role != Qt.DisplayRole: return QVariant() item = index.internalPointer() node = item.node attributeMap = node.attributes() # if node.nodeName() == 'xml': # return if index.column() == 0: name = None if attributeMap.contains("name"): name = attributeMap.namedItem("name").nodeValue() if name is not None: return QVariant(node.nodeName() + ": " + name) else: return QVariant(node.nodeName()) elif index.column() == 1: if self.__allAttributes: attributes = QStringList() for i in range(attributeMap.count()): attribute = attributeMap.item(i) attributes.append(attribute.nodeName() + "=\"" + attribute.nodeValue() + "\"") return QVariant(attributes.join(" ") + " ") else: return QVariant(( attributeMap.namedItem("type").nodeValue() + " ") if attributeMap.contains("type") else QString(" ")) elif index.column() == 2: return QVariant(node.nodeValue().split("\n").join(" ")) else: return QVariant()
def getSaveFileFiltersList(includeAll = False, asString = False, withAdditional = True): """ Module function to get the file filter list for a save file operation. @param includeAll flag indicating the inclusion of the All Files filter (boolean) @param asString flag indicating the list should be returned as a string (boolean) @keyparam withAdditional flag indicating to include additional filters defined by the user (boolean) @return file filter list (QStringList or QString) """ saveFileFiltersList = QStringList() \ << QApplication.translate('Lexers', "Python Files (*.py)") \ << QApplication.translate('Lexers', "Python3 Files (*.py3)") \ << QApplication.translate('Lexers', "Python GUI Files (*.pyw)") \ << QApplication.translate('Lexers', "Python3 GUI Files (*.pyw3)") \ << QApplication.translate('Lexers', "Pyrex Files (*.pyx)") \ << QApplication.translate('Lexers', "Quixote Template Files (*.ptl)") \ << QApplication.translate('Lexers', "Ruby Files (*.rb)") \ << QApplication.translate('Lexers', "IDL Files (*.idl)") \ << QApplication.translate('Lexers', "C Files (*.c)") \ << QApplication.translate('Lexers', "C++ Files (*.cpp)") \ << QApplication.translate('Lexers', "C++/C Header Files (*.h)") \ << QApplication.translate('Lexers', "C# Files (*.cs)") \ << QApplication.translate('Lexers', "HTML Files (*.html)") \ << QApplication.translate('Lexers', "PHP Files (*.php)") \ << QApplication.translate('Lexers', "ASP Files (*.asp)") \ << QApplication.translate('Lexers', "CSS Files (*.css)") \ << QApplication.translate('Lexers', "QSS Files (*.qss)") \ << QApplication.translate('Lexers', "XML Files (*.xml)") \ << QApplication.translate('Lexers', "XSL Files (*.xsl)") \ << QApplication.translate('Lexers', "DTD Files (*.dtd)") \ << QApplication.translate('Lexers', "Qt Resource Files (*.qrc)") \ << QApplication.translate('Lexers', "D Files (*.d)") \ << QApplication.translate('Lexers', "D Interface Files (*.di)") \ << QApplication.translate('Lexers', "Java Files (*.java)") \ << QApplication.translate('Lexers', "JavaScript Files (*.js)") \ << QApplication.translate('Lexers', "SQL Files (*.sql)") \ << QApplication.translate('Lexers', "Docbook Files (*.docbook)") \ << QApplication.translate('Lexers', "Perl Files (*.pl)") \ << QApplication.translate('Lexers', "Perl Module Files (*.pm)") \ << QApplication.translate('Lexers', "Lua Files (*.lua)") \ << QApplication.translate('Lexers', "Shell Files (*.sh)") \ << QApplication.translate('Lexers', "Batch Files (*.bat)") \ << QApplication.translate('Lexers', "TeX Files (*.tex)") \ << QApplication.translate('Lexers', "TeX Template Files (*.sty)") \ << QApplication.translate('Lexers', "Diff Files (*.diff)") \ << QApplication.translate('Lexers', "Make Files (*.mak)") \ << QApplication.translate('Lexers', "Properties Files (*.ini)") \ << QApplication.translate('Lexers', "Configuration Files (*.cfg)") \ << QApplication.translate('Lexers', 'Povray Files (*.pov)') \ << QApplication.translate('Lexers', 'CMake Files (CMakeLists.txt)') \ << QApplication.translate('Lexers', 'CMake Macro Files (*.cmake)') \ << QApplication.translate('Lexers', 'VHDL Files (*.vhd)') if QSCINTILLA_VERSION() >= 0x020201: saveFileFiltersList \ << QApplication.translate('Lexers', 'TCL Files (*.tcl)') \ << QApplication.translate('Lexers', 'Tk Files (*.tk)') \ << QApplication.translate('Lexers', 'Fortran Files (*.f95)') \ << QApplication.translate('Lexers', 'Fortran77 Files (*.f)') \ << QApplication.translate('Lexers', 'Pascal Files (*.pas)') \ << QApplication.translate('Lexers', 'PostScript Files (*.ps)') \ << QApplication.translate('Lexers', 'YAML Files (*.yml)') if QSCINTILLA_VERSION() >= 0x020501: saveFileFiltersList \ << QApplication.translate('Lexers', 'Matlab Files (*.m)') \ << QApplication.translate('Lexers', 'Octave Files (*.m.octave)') for name in LexerRegistry: saveFileFiltersList << LexerRegistry[name][4] if withAdditional: saveFileFiltersList += Preferences.getEditor("AdditionalSaveFilters") saveFileFiltersList.sort() if includeAll: saveFileFiltersList.append(QApplication.translate('Lexers', 'All Files (*)')) if asString: return saveFileFiltersList.join(';;') else: return saveFileFiltersList
def getOpenFileFiltersList(includeAll = False, asString = False, withAdditional = True): """ Module function to get the file filter list for an open file operation. @param includeAll flag indicating the inclusion of the All Files filter (boolean) @param asString flag indicating the list should be returned as a string (boolean) @keyparam withAdditional flag indicating to include additional filters defined by the user (boolean) @return file filter list (QStringList or QString) """ openFileFiltersList = QStringList() \ << QApplication.translate('Lexers', 'Python Files (*.py *.py3)') \ << QApplication.translate('Lexers', 'Python GUI Files (*.pyw *.pyw3)') \ << QApplication.translate('Lexers', 'Pyrex Files (*.pyx)') \ << QApplication.translate('Lexers', 'Quixote Template Files (*.ptl)') \ << QApplication.translate('Lexers', 'Ruby Files (*.rb)') \ << QApplication.translate('Lexers', 'IDL Files (*.idl)') \ << QApplication.translate('Lexers', 'C Files (*.h *.c)') \ << QApplication.translate('Lexers', 'C++ Files (*.h *.hpp *.hh *.cxx *.cpp *.cc)') \ << QApplication.translate('Lexers', 'C# Files (*.cs)') \ << QApplication.translate('Lexers', 'HTML Files (*.html *.htm *.asp *.shtml)') \ << QApplication.translate('Lexers', 'CSS Files (*.css)') \ << QApplication.translate('Lexers', 'QSS Files (*.qss)') \ << QApplication.translate('Lexers', 'PHP Files (*.php *.php3 *.php4 *.php5 *.phtml)') \ << QApplication.translate('Lexers', 'XML Files (*.xml *.xsl *.xslt *.dtd *.svg *.xul *.xsd)') \ << QApplication.translate('Lexers', 'Qt Resource Files (*.qrc)') \ << QApplication.translate('Lexers', 'D Files (*.d *.di)') \ << QApplication.translate('Lexers', 'Java Files (*.java)') \ << QApplication.translate('Lexers', 'JavaScript Files (*.js)') \ << QApplication.translate('Lexers', 'SQL Files (*.sql)') \ << QApplication.translate('Lexers', 'Docbook Files (*.docbook)') \ << QApplication.translate('Lexers', 'Perl Files (*.pl *.pm *.ph)') \ << QApplication.translate('Lexers', 'Lua Files (*.lua)') \ << QApplication.translate('Lexers', 'Tex Files (*.tex *.sty *.aux *.toc *.idx)') \ << QApplication.translate('Lexers', 'Shell Files (*.sh)') \ << QApplication.translate('Lexers', 'Batch Files (*.bat *.cmd)') \ << QApplication.translate('Lexers', 'Diff Files (*.diff *.patch)') \ << QApplication.translate('Lexers', 'Makefiles (*.mak)') \ << QApplication.translate('Lexers', 'Properties Files (*.properties *.ini *.inf *.reg *.cfg *.cnf *.rc)') \ << QApplication.translate('Lexers', 'Povray Files (*.pov)') \ << QApplication.translate('Lexers', 'CMake Files (CMakeLists.txt *.cmake *.ctest)') \ << QApplication.translate('Lexers', 'VHDL Files (*.vhd *.vhdl)') if QSCINTILLA_VERSION() >= 0x020201: openFileFiltersList \ << QApplication.translate('Lexers', 'TCL/Tk Files (*.tcl *.tk)') \ << QApplication.translate('Lexers', 'Fortran Files (*.f90 *.f95 *.f2k)') \ << QApplication.translate('Lexers', 'Fortran77 Files (*.f *.for)') \ << QApplication.translate('Lexers', 'Pascal Files (*.dpr *.dpk *.pas *.dfm *.inc *.pp)') \ << QApplication.translate('Lexers', 'PostScript Files (*.ps)') \ << QApplication.translate('Lexers', 'YAML Files (*.yaml *.yml)') if QSCINTILLA_VERSION() >= 0x020501: openFileFiltersList \ << QApplication.translate('Lexers', 'Matlab Files (*.m *.m.matlab)') \ << QApplication.translate('Lexers', 'Octave Files (*.m *.m.octave)') for name in LexerRegistry: openFileFiltersList << LexerRegistry[name][3] if withAdditional: openFileFiltersList += Preferences.getEditor("AdditionalOpenFilters") openFileFiltersList.sort() if includeAll: openFileFiltersList.append(QApplication.translate('Lexers', 'All Files (*)')) if asString: return openFileFiltersList.join(';;') else: return openFileFiltersList
class SCJProgress(QHBoxLayout): def __init__(self, parent=None, file=None, format=None, createDir=False ): super(SCJProgress, self).__init__(parent) self.format = format self.filename = file self.createDir = createDir self.process = SCJ(self.filename, self.format, createDir) self.output = QString(self.process.output) self.command = QStringList(self.process.command) self.log = QStringList() self.label = QLabel(self.output) self.label.setToolTip(self.trUtf8("Destination: %s" % self.output)) self.bar = QProgressBar(parent) self.bar.setToolTip(self.trUtf8("Source: %s" % self.filename)) self.bar.setValue(0) self.startbtn = QPushButton(parent) self.stopbtn = QPushButton(parent) self.cancelbtn = QPushButton(parent) self.logbtn = QPushButton(parent) self.cancelbtn.setMinimumSize(32,32) self.cancelbtn.setFlat(True) self.startbtn.setMinimumSize(32,32) self.startbtn.setFlat(True) self.stopbtn.setMinimumSize(32,32) self.stopbtn.setFlat(True) self.label.setMinimumSize(200,32) self.bar.setMinimumSize(100,16) self.bar.setMaximumHeight(16) self.addWidget(self.logbtn) self.logbtn.hide() self.addWidget(self.label) self.addWidget(self.bar) self.addWidget(self.startbtn) self.addWidget(self.stopbtn) self.addWidget(self.cancelbtn) self.retranslateUi() self.connect(self.startbtn, SIGNAL("clicked()"), self.start) self.connect(self.stopbtn, SIGNAL("clicked()"), self.stop) self.connect(self.cancelbtn, SIGNAL("clicked()"), self.remove) self.connect(self.logbtn, SIGNAL('clicked()'), self.showLog) self.connect(self.process, SIGNAL('progress(int)'), self.bar.setValue) self.connect(self.process, SIGNAL('error(QString)'), self.addLog) self.connect(self.process, SIGNAL('finished()'), self.enable) def retranslateUi(self): self.startbtn.setIcon(QIcon(u"images/play.png")) self.startbtn.setToolTip(self.trUtf8("Demarrer")) self.stopbtn.setIcon(QIcon(u"images/stop.png")) self.stopbtn.setToolTip(self.trUtf8("Stopper")) self.cancelbtn.setIcon(QIcon(u"images/remove.png")) self.cancelbtn.setToolTip(self.trUtf8("Annuler")) self.logbtn.setIcon(QIcon(u"images/log.png")) self.logbtn.setToolTip(self.trUtf8("Voir les details")) def start(self): self.log.clear() self.logbtn.hide() self.disable() self.process.start() self.process.resume() def stop(self): self.process.cancel() self.process.terminate() self.enable() def remove(self): self.removeWidget(self.label) self.removeWidget(self.bar) self.removeWidget(self.startbtn) self.removeWidget(self.stopbtn) self.removeWidget(self.cancelbtn) self.removeWidget(self.logbtn) self.label.hide() self.bar.hide() self.startbtn.hide() self.stopbtn.hide() self.cancelbtn.hide() self.logbtn.hide() self.emit(SIGNAL("void removed(QString)"), self.output) def showLog(self): QMessageBox.critical(None, u"Ooops", self.log.join("\n")) def addLog(self, log): self.log.append(log) self.logbtn.show() palette = QPalette() brush = QBrush(QColor(240, 100, 100)) brush.setStyle(Qt.SolidPattern) palette.setBrush(QPalette.Normal, QPalette.Background, brush) self.label.setPalette(palette) self.label.setAutoFillBackground(True) def enable(self): self.process = SCJ(self.filename, self.format, self.createDir) self.output = QString(self.process.output) self.command = QStringList(self.process.output) self.connect(self.process, SIGNAL('progress(int)'), self.bar.setValue) self.connect(self.process, SIGNAL('error(QString)'), self.addLog) self.connect(self.process, SIGNAL('finished()'), self.enable) self.cancelbtn.setEnabled(True) self.startbtn.setEnabled(True) def disable(self): self.cancelbtn.setEnabled(False) self.startbtn.setEnabled(False) self.label.setAutoFillBackground(False)