def __init__(self, parent=None): super(Dialog, self).__init__(parent) self._info = None self._text = '' self._convertedtext = '' self._encoding = None self.mainwindow = parent self.fromVersionLabel = QLabel() self.fromVersion = QLineEdit() self.reason = QLabel() self.toVersionLabel = QLabel() self.toVersion = QLineEdit() self.lilyChooser = lilychooser.LilyChooser() self.messages = QTextBrowser() self.diff = QTextBrowser(lineWrapMode=QTextBrowser.NoWrap) self.uni_diff = QTextBrowser(lineWrapMode=QTextBrowser.NoWrap) self.copyCheck = QCheckBox(checked= QSettings().value('convert_ly/copy_messages', True, bool)) self.tabw = QTabWidget() self.tabw.addTab(self.messages, '') self.tabw.addTab(self.diff, '') self.tabw.addTab(self.uni_diff, '') self.buttons = QDialogButtonBox( QDialogButtonBox.Reset | QDialogButtonBox.Save | QDialogButtonBox.Ok | QDialogButtonBox.Cancel) self.buttons.button(QDialogButtonBox.Ok).clicked .connect(self.accept) self.buttons.rejected.connect(self.reject) self.buttons.button(QDialogButtonBox.Reset).clicked.connect(self.run) self.buttons.button(QDialogButtonBox.Save).clicked.connect(self.saveFile) layout = QVBoxLayout() self.setLayout(layout) grid = QGridLayout() grid.addWidget(self.fromVersionLabel, 0, 0) grid.addWidget(self.fromVersion, 0, 1) grid.addWidget(self.reason, 0, 2, 1, 3) grid.addWidget(self.toVersionLabel, 1, 0) grid.addWidget(self.toVersion, 1, 1) grid.addWidget(self.lilyChooser, 1, 3, 1, 2) layout.addLayout(grid) layout.addWidget(self.tabw) layout.addWidget(self.copyCheck) layout.addWidget(widgets.Separator()) layout.addWidget(self.buttons) app.translateUI(self) qutil.saveDialogSize(self, 'convert_ly/dialog/size', QSize(600, 300)) app.settingsChanged.connect(self.readSettings) self.readSettings() self.finished.connect(self.saveCopyCheckSetting) self.lilyChooser.currentIndexChanged.connect(self.slotLilyPondVersionChanged) self.slotLilyPondVersionChanged()
def __createDescription(self): " Creates the description browser " browser = QTextBrowser() browser.setHtml(""" <p align="justify"> Codimension is a free experimental Python IDE. </p> <p align="justify"> Codimension aims to provide an integrated system for: <ul> <li>traditional text-based code editing, and</li> <li>diagram-based code analysis (e.g. imports and classes diagrams, profiling results etc).</li> </ul> </p> <p align="justify"> Many Python developers will find codimension useful as-is, even though not all of its features have been implemented yet. </p> <p align="justify"> More information could be found on <a href='http://codimension.org'> Codimension home page</a>.<br> Happy coding with Codimension! </p> """) browser.setOpenExternalLinks(True) return browser
def __createVersioning(self): " Creates the versioning section " components = getComponentInfo() text = "<p>The major Codimension components are listed below:</p>" \ "<ul>" for (prettyName, version, homeURL, patched, license, licenseLink, localPath) in components: text += "<li><a href='" + homeURL + "'>" + prettyName + "</a><br>" \ "Version: " if version is not None and version[0].isdigit(): text += version elif version is not None and version.lower() == "not installed": text += version.lower() elif version is None: text += "n/a" else: text += str(version) if patched: text += " (patched for codimension)" text += "<br>" text += "License: " if licenseLink.startswith("http"): text += "<a href='" + licenseLink + "'>" + license + "</a>" else: text += license + " (" + licenseLink + ")" if localPath: text += "<br/>Local path: " + localPath text += "<br></li>" text += "</ul>" browser = QTextBrowser() browser.setHtml(text) browser.setOpenExternalLinks(True) return browser
def __init__(self, parent): super(MainWidget, self).__init__(parent) self.dataDirLineEdit = QLineEdit() self.dataLabel = QLabel(self.tr("Data Directory:")) self.dataLabel.setBuddy(self.dataDirLineEdit) self.dataBrowseButton = QPushButton(self.tr("&Browse...")) self.connect(self.dataBrowseButton, SIGNAL('clicked()'), parent.browseClicked) self.closeButton = QPushButton(self.tr("Close")) self.connect(self.closeButton, SIGNAL('clicked()'), parent.onClose) self.trainButton = QPushButton(self.tr("&Train")) self.connect(self.trainButton, SIGNAL('clicked()'), parent.trainClicked) self.textBrowser = QTextBrowser() self.dataLayout = QHBoxLayout() self.dataLayout.addWidget(self.dataLabel) self.dataLayout.addWidget(self.dataDirLineEdit) self.dataLayout.addWidget(self.dataBrowseButton) self.buttonLayout = QHBoxLayout() self.buttonLayout.addWidget(self.closeButton) self.buttonLayout.addWidget(self.trainButton) self.mainLayout = QVBoxLayout() self.mainLayout.addLayout(self.dataLayout) self.mainLayout.addWidget(self.textBrowser) self.mainLayout.addLayout(self.buttonLayout) self.setLayout(self.mainLayout)
def __init__(self): QWidget.__init__(self) self.tray = Tray(self) self.setMinimumSize(QSize(320, 200)) self.setWindowFlags(Qt.Popup | Qt.FramelessWindowHint) self.verticalLayout = QVBoxLayout(self) self.verticalLayout.setMargin(1) self.text = QTextBrowser(self) self.text.setReadOnly(True) self.text.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) self.text.setOpenExternalLinks(True) self.verticalLayout.addWidget(self.text) self.text.textChanged.connect(self.on_text_changed) self.notify = Notify(self) self.movie = QMovie() dev = QBuffer() dev.setData(QByteArray.fromBase64(CHECK_IMAGE)) dev.open(QBuffer.ReadOnly) dev.setParent(self.movie) self.movie.setDevice(dev) self.movie.frameChanged.connect(self.on_frame_changed) self.realized = False self.show()
def __init__(self, page, parent=None): super(HelpForm, self).__init__(parent) self.setAttribute(Qt.WA_DeleteOnClose) self.setAttribute(Qt.WA_GroupLeader) backAction = QAction(QIcon(":/back.png"), "&Back", self) backAction.setShortcut(QKeySequence.Back) homeAction = QAction(QIcon(":/home.png"), "&Home", self) homeAction.setShortcut("Home") self.pageLabel = QLabel() toolBar = QToolBar() toolBar.addAction(backAction) toolBar.addAction(homeAction) toolBar.addWidget(self.pageLabel) self.textBrowser = QTextBrowser() layout = QVBoxLayout() layout.addWidget(toolBar) layout.addWidget(self.textBrowser, 1) self.setLayout(layout) self.connect(backAction, SIGNAL("triggered()"), self.textBrowser, SLOT("backward()")) self.connect(homeAction, SIGNAL("triggered()"), self.textBrowser, SLOT("home()")) self.connect(self.textBrowser, SIGNAL("sourceChanged(QUrl)"), self.updatePageTitle) self.textBrowser.setSearchPaths([":/help"]) self.textBrowser.setSource(QUrl(page)) self.resize(400, 600) self.setWindowTitle("{0} Help".format(QApplication.applicationName()))
def __init__(self, exctype, excvalue, exctb): super(ExceptionDialog, self).__init__() self._tbshort = ''.join( traceback.format_exception_only(exctype, excvalue)) self._tbfull = ''.join( traceback.format_exception(exctype, excvalue, exctb)) layout = QVBoxLayout() self.setLayout(layout) self.errorLabel = QLabel() layout.addWidget(self.errorLabel) textview = QTextBrowser() layout.addWidget(textview) textview.setText(self._tbfull) textview.moveCursor(QTextCursor.End) layout.addWidget(widgets.Separator()) b = self.buttons = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) b.button(QDialogButtonBox.Ok).setIcon(icons.get("tools-report-bug")) layout.addWidget(b) b.accepted.connect(self.accept) b.rejected.connect(self.reject) self.resize(600, 300) app.translateUI(self) self.exec_()
def _add_log_box(self): box = QGroupBox("Application log") box.setLayout(QHBoxLayout(box)) self.log_area = QTextBrowser(box) self.log_area.setLineWrapMode(QTextEdit.NoWrap) box.layout().addWidget(self.log_area) self.layout().addWidget(box)
def __init__(self, parent=None, **kwargs): super(AddonManagerWidget, self).__init__(parent, **kwargs) self.setLayout(QVBoxLayout()) self.__header = QLabel( wordWrap=True, textFormat=Qt.RichText ) self.__search = QLineEdit( placeholderText=self.tr("Filter") ) self.layout().addWidget(self.__search) self.__view = view = QTreeView( rootIsDecorated=False, editTriggers=QTreeView.NoEditTriggers, selectionMode=QTreeView.SingleSelection, alternatingRowColors=True ) self.__view.setItemDelegateForColumn(0, TristateCheckItemDelegate()) self.layout().addWidget(view) self.__model = model = QStandardItemModel() model.setHorizontalHeaderLabels(["", "Name", "Version", "Action"]) model.dataChanged.connect(self.__data_changed) proxy = QSortFilterProxyModel( filterKeyColumn=1, filterCaseSensitivity=Qt.CaseInsensitive ) proxy.setSourceModel(model) self.__search.textChanged.connect(proxy.setFilterFixedString) view.setModel(proxy) view.selectionModel().selectionChanged.connect( self.__update_details ) header = self.__view.header() header.setResizeMode(0, QHeaderView.Fixed) header.setResizeMode(2, QHeaderView.ResizeToContents) self.__details = QTextBrowser( frameShape=QTextBrowser.NoFrame, readOnly=True, lineWrapMode=QTextBrowser.WidgetWidth, openExternalLinks=True, ) self.__details.setWordWrapMode(QTextOption.WordWrap) palette = QPalette(self.palette()) palette.setColor(QPalette.Base, Qt.transparent) self.__details.setPalette(palette) self.layout().addWidget(self.__details)
def create_widgets(self): self.backAction = QAction(QIcon(":/back.png"), self.tr("&Back"), self) self.backAction.setShortcut(QKeySequence.Back) self.homeAction = QAction(QIcon(":/home.png"), self.tr("&Home"), self) self.homeAction.setShortcut(self.tr("Home")) self.pageLabel = QLabel() self.toolBar = QToolBar() self.toolBar.addAction(self.backAction) self.toolBar.addAction(self.homeAction) self.toolBar.addWidget(self.pageLabel) self.textBrowser = QTextBrowser()
def create_widgets(self): self.backAction = QAction(QIcon(":/back.png"), "&Atras", self) self.backAction.setShortcut(QKeySequence.Back) self.homeAction = QAction(QIcon(":/home.png"), "&Inicio", self) self.homeAction.setShortcut("Inicio") self.pageLabel = QLabel() self.toolBar = QToolBar() self.toolBar.addAction(self.backAction) self.toolBar.addAction(self.homeAction) self.toolBar.addWidget(self.pageLabel) self.textBrowser = QTextBrowser()
def __init__(self, parent): QDialog.__init__(self, parent) self.prm = self.parent().prm self.currLocale = self.parent().prm['currentLocale'] self.currLocale.setNumberOptions( self.currLocale.OmitGroupSeparator | self.currLocale.RejectGroupSeparator) #self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.vBoxSizer = QVBoxLayout() self.hBoxSizer = QVBoxLayout() self.browser = QTextBrowser() self.browser.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.buttonBox = QDialogButtonBox(QDialogButtonBox.Ok) self.buttonBox.accepted.connect(self.accept) self.buttonBox.setMinimumHeight(80) self.buttonBox.buttons()[0].setMinimumHeight(80) self.hBoxSizer.addWidget(self.buttonBox) cw = self.parent().parent() if cw.prm["storedBlocks"] > 0: storedInstr = cw.prm['b' + str(cw.prm['currentBlock'])]['instructions'] if len(storedInstr) > 0: self.browser.append(storedInstr) else: self.browser.append( self.tr("Sorry, there are no instructions for this task.")) else: storedInstr = self.parent().parent().instructionsTF.toPlainText() if len(storedInstr) > 0: self.browser.append(storedInstr) else: self.browser.append( self.tr("Sorry, there are no instructions for this task.")) self.browser.append("\n\nPress the ESC key to exit this screen.") font = QFont() font.setFamily("Arial") font.setPointSize(22) self.browser.setFont(font) self.vBoxSizer.addWidget(self.browser) self.vBoxSizer.addLayout(self.hBoxSizer) #self.vBoxSizer.setSizeConstraint(QLayout.SetFixedSize) self.setLayout(self.vBoxSizer) self.setWindowTitle(self.tr("Task Instructions")) #self.resize(900, 600) self.showFullScreen()
def createGUI(self): ## help tool bar self.toolBar = QToolBar(self) ## help text Browser self.textBrowser = QTextBrowser(self) layout = QVBoxLayout(self) layout.addWidget(self.toolBar) layout.addWidget(self.textBrowser, 1) self.setLayout(layout) self.textBrowser.setSearchPaths([":/help"]) self.textBrowser.setSource(QUrl(self._page)) self.resize(660, 700) self.setWindowTitle("%s Help" % (QApplication.applicationName()))
def __init__(self, connectionManager, parent=None): QWidget.__init__(self, parent) self.connectionManager = connectionManager self.isDisabled = False self.wasCleared = False self.urlRegex = re.compile(constants.URL_REGEX) self.chatLog = QTextBrowser() self.chatLog.setOpenExternalLinks(True) self.chatInput = QTextEdit() self.chatInput.textChanged.connect(self.chatInputTextChanged) self.sendButton = QPushButton("Send") self.sendButton.clicked.connect(self.sendMessage) # Set the min height for the chatlog and a matching fixed height for the send button chatInputFontMetrics = QFontMetrics(self.chatInput.font()) self.chatInput.setMinimumHeight(chatInputFontMetrics.lineSpacing() * 3) self.sendButton.setFixedHeight(chatInputFontMetrics.lineSpacing() * 3) hbox = QHBoxLayout() hbox.addWidget(self.chatInput) hbox.addWidget(self.sendButton) # Put the chatinput and send button in a wrapper widget so they may be added to the splitter chatInputWrapper = QWidget() chatInputWrapper.setLayout(hbox) chatInputWrapper.setMinimumHeight(chatInputFontMetrics.lineSpacing() * 3.7) # Put the chat log and chat input into a splitter so the user can resize them at will splitter = QSplitter(Qt.Vertical) splitter.addWidget(self.chatLog) splitter.addWidget(chatInputWrapper) splitter.setSizes([int(parent.height()), 1]) hbox = QHBoxLayout() hbox.addWidget(splitter) self.setLayout(hbox) self.typingTimer = QTimer() self.typingTimer.setSingleShot(True) self.typingTimer.timeout.connect(self.stoppedTyping)
def __init__(self, parent): QDialog.__init__(self, parent, Qt.Dialog) self.setWindowTitle(translations.TR_PLUGIN_MANAGER) self.resize(700, 600) vbox = QVBoxLayout(self) self._tabs = QTabWidget() vbox.addWidget(self._tabs) self._txt_data = QTextBrowser() self._txt_data.setOpenLinks(False) vbox.addWidget(QLabel(translations.TR_PROJECT_DESCRIPTION)) vbox.addWidget(self._txt_data) # Footer hbox = QHBoxLayout() btn_close = QPushButton(translations.TR_CLOSE) btnReload = QPushButton(translations.TR_RELOAD) hbox.addWidget(btn_close) hbox.addSpacerItem(QSpacerItem(1, 0, QSizePolicy.Expanding)) hbox.addWidget(btnReload) vbox.addLayout(hbox) self.overlay = ui_tools.Overlay(self) self.overlay.hide() self._oficial_available = [] self._community_available = [] self._locals = [] self._updates = [] self._loading = True self._requirements = {} self.connect(btnReload, SIGNAL("clicked()"), self._reload_plugins) self.thread = ThreadLoadPlugins(self) self.connect(self.thread, SIGNAL("finished()"), self._load_plugins_data) self.connect(self.thread, SIGNAL("plugin_downloaded(PyQt_PyObject)"), self._after_download_plugin) self.connect(self.thread, SIGNAL("plugin_manually_installed(PyQt_PyObject)"), self._after_manual_install_plugin) self.connect(self.thread, SIGNAL("plugin_uninstalled(PyQt_PyObject)"), self._after_uninstall_plugin) self.connect(self._txt_data, SIGNAL("anchorClicked(const QUrl&)"), self._open_link) self.connect(btn_close, SIGNAL('clicked()'), self.close) self.overlay.show() self._reload_plugins()
def __init__(self, parent): super(HeaderWidget, self).__init__(parent) layout = QHBoxLayout() self.setLayout(layout) # The html view with the score layout example t = self.htmlView = QTextBrowser() t.setOpenLinks(False) t.setOpenExternalLinks(False) t.setSearchPaths(__path__) t.setTextInteractionFlags(Qt.LinksAccessibleByMouse) t.setFocusPolicy(Qt.NoFocus) # ensure that the full HTML example page is displayed t.setContentsMargins(2, 2, 2, 2) t.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) t.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) t.setMinimumSize(QSize(350, 350)) layout.addWidget(t) t.anchorClicked.connect(self.slotAnchorClicked) grid = QGridLayout() layout.addLayout(grid) grid.setVerticalSpacing(1) grid.setColumnMinimumWidth(1, 200) self.labels = {} self.edits = {} for row, (name, desc) in enumerate(headers()): l = QLabel() e = QLineEdit() l.setBuddy(e) grid.addWidget(l, row, 0) grid.addWidget(e, row, 1) self.labels[name] = l self.edits[name] = e completionmodel.complete(e, "scorewiz/completion/header/" + name) e.completer().setCaseSensitivity(Qt.CaseInsensitive) app.settingsChanged.connect(self.readSettings) self.readSettings() app.translateUI(self)
def __init__(self, event_handler, app_status_file_path): QtGui.QWidget.__init__(self) self.buttons_status_tag = "BUTTONS STATUS" self.app_status_file_path = app_status_file_path self.event_handler = event_handler self.setWindowTitle("TEST PANEL") self.x_siz, self.y_siz = 600, 400 self.read_sram_button = PushButton("READ SRAM", tip_msg=READ_SRAM_BTN_TIP) self.read_sram_button.clicked.connect( self.event_handler.read_sram_button_slot) self.test_sram_button = PushButton("TEST SRAM", tip_msg=TEST_SRAM_BTN_TIP) self.test_sram_button.clicked.connect( self.event_handler.test_sram_chip_slot) self.test_upload_button = PushButton("TEST UPLOAD", tip_msg=TEST_UPLOAD_BTN_TIP) self.test_upload_button.clicked.connect( self.event_handler.test_upload_slot) self.text_browser = QTextBrowser() self.digidiag_on_checkbox = CheckBox("Show dididiag data panels", tip_msg="Enable digidiag") self.digidiag_on_checkbox.clicked.connect(self.show_digidiag) config = configparser.ConfigParser() config.read(self.app_status_file_path) try: if config[self.buttons_status_tag]['digidiag_show'] == 'True': self.digidiag_on_checkbox.setChecked(True) self.show_digidiag() except KeyError: pass mainGrid = QtGui.QGridLayout() mainGrid.setSpacing(10) mainGrid.addWidget(self.read_sram_button, 0, 0) mainGrid.addWidget(self.test_sram_button, 0, 1) mainGrid.addWidget(self.test_upload_button, 0, 2) mainGrid.addWidget(self.digidiag_on_checkbox, 1, 0) mainGrid.addWidget(self.text_browser, 2, 0, 10, 3) self.setLayout(mainGrid) self.resize(self.x_siz, self.y_siz)
def __init__(self, parent=None): super(NewProjectManager, self).__init__(parent, Qt.Dialog) self.setWindowTitle(translations.TR_NEW_PROJECT) self.setMinimumHeight(500) vbox = QVBoxLayout(self) vbox.addWidget(QLabel(translations.TR_CHOOSE_TEMPLATE)) vbox.addWidget(QLabel(translations.TR_TAB_PROJECTS)) hbox = QHBoxLayout() self.list_projects = QListWidget() self.list_projects.setProperty("wizard", True) hbox.addWidget(self.list_projects) self.list_templates = QListWidget() self.list_templates.setProperty("wizard", True) hbox.addWidget(self.list_templates) self.text_info = QTextBrowser() self.text_info.setProperty("wizard", True) hbox.addWidget(self.text_info) vbox.addLayout(hbox) hbox2 = QHBoxLayout() cancel = QPushButton(translations.TR_CANCEL) choose = QPushButton(translations.TR_CHOOSE) hbox2.addSpacerItem(QSpacerItem(1, 0, QSizePolicy.Expanding, QSizePolicy.Fixed)) hbox2.addWidget(cancel) hbox2.addWidget(choose) vbox.addLayout(hbox2) self.template_registry = IDE.get_service("template_registry") categories = self.template_registry.list_project_categories() for category in categories: self.list_projects.addItem(category) self.connect(cancel, SIGNAL("clicked()"), self.close) self.connect(choose, SIGNAL("clicked()"), self._start_wizard) self.connect(self.list_projects, SIGNAL("itemSelectionChanged()"), self._project_selected) self.connect(self.list_templates, SIGNAL("itemSelectionChanged()"), self._template_selected)
def __createAuthors(self): " Creates the authors section " addr1 = "<a href='mailto:[email protected]'>[email protected]</a>" addr2 = "<a href='mailto:[email protected]'>[email protected]</a>" addr3 = "<a href='mailto:[email protected]'>[email protected]</a>" addr4 = "<a href='mailto:[email protected]'>[email protected]</a>" addr5 = "<a href='mailto:[email protected]'>[email protected]</a>" text = "<p>Author: Sergey Satskiy <" + addr1 + "></p>" \ "<p>Packaging and CI (travis): Sergey Fukanchik <" + addr5 + "></p>" \ "<p>Packaging: Ilya Loginov <" + addr2 + "></p>" \ "<p>Discussions, ideas, testing: David McElhany <" + addr4 + "></p>" \ "<p>Initial packaging and logo: Dmitry Kazimirov <" + addr3 + "></p>" \ "<p align='justify'>Special thanks: Detlev Offenbach - the author of the Eric Python IDE." \ " Codimension borrows some code and some ideas from Eric 4.</p>" browser = QTextBrowser() browser.setHtml(text) browser.setOpenExternalLinks(True) return browser
def run(filename): tree, changes = ut.get_changes(xml_filename=filename, encoding='utf8', window_size=128) application = QtGui.QApplication(sys.argv) win = QtGui.QWidget() table_view = TableView() model = Model(tree, changes, filename) proxyModel = QtGui.QSortFilterProxyModel() proxyModel.setSourceModel(model) proxyModel.save = model.save proxyModel._data = model._data table_view.setModel(proxyModel) table_view.setSortingEnabled(True) table_view.setAlternatingRowColors(True) for i, col in enumerate(COLS): if col in COL_SIZES: table_view.setColumnWidth(i, COL_SIZES[col]) table_view.horizontalHeader().setStretchLastSection(True) table_view.setColumnHidden(NUM2COLS['id'], True) table_view.setColumnHidden(NUM2COLS['diff'], True) text_view = QTextBrowser() DIFF_COL = NUM2COLS['diff'] def update_diff(item): text_view.setHtml(item.model().index(item.row(), DIFF_COL).data().toString()) table_view.doubleClicked.connect(update_diff) layout = QtGui.QVBoxLayout() layout.addWidget(table_view) text_view.setFixedHeight(150) layout.addWidget(text_view) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) win.setLayout(layout) win.setWindowTitle('Medite Tagger') win.setGeometry(100, 100, 1600, 800) win.show() sys.exit(application.exec_())
def __init__(self, browser): super(SourceViewer, self).__init__(browser.parentWidget()) layout = QVBoxLayout() layout.setContentsMargins(4, 4, 4, 4) self.setLayout(layout) self.urlLabel = QLabel(wordWrap=True) layout.addWidget(self.urlLabel) self.textbrowser = QTextBrowser() layout.addWidget(self.textbrowser) self.urlLabel.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) self.textbrowser.setLineWrapMode(QTextBrowser.NoWrap) app.settingsChanged.connect(self.readSettings) self.readSettings() app.translateUI(self) qutil.saveDialogSize(self, "helpbrowser/sourceviewer/size", QSize(400, 300))
def __createVersionWidget(self): " Creates the version tab content " ver = pysvn.svn_version svnVersion = ".".join([str(ver[0]), str(ver[1]), str(ver[2])]) ver = pysvn.version pysvnVersion = ".".join([str(ver[0]), str(ver[1]), str(ver[2])]) text = "<p>The major Codimension SVN plugin components are listed below:</p>" \ "<ul>" \ "<li><a href='http://subversion.apache.org/'>Subversion</a><br>" \ "Version: " + svnVersion + "<br></li>" \ "<li><a href='http://pysvn.tigris.org/docs/pysvn.html'>PySvn</a><br>" \ "Version: " + pysvnVersion + "<br>" \ "License: <a href='http://www.apache.org/licenses/LICENSE-1.1'>Apache License 1.1</a>" \ "<br></li>" \ "</ul>" browser = QTextBrowser() browser.setHtml(text) browser.setOpenExternalLinks(True) return browser
def __init__(self, parent, diffText): QDialog.__init__(self, parent) self.prm = self.parent().prm self.currLocale = self.parent().prm['currentLocale'] self.currLocale.setNumberOptions( self.currLocale.OmitGroupSeparator | self.currLocale.RejectGroupSeparator) self.vBoxSizer = QVBoxLayout() self.browser = QTextBrowser() self.browser.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.browser.append(diffText) self.browser.verticalScrollBar().setValue( self.browser.verticalScrollBar().minimum()) cursor = self.browser.textCursor() cursor.setPosition(0) self.browser.setTextCursor(cursor) font = QFont() font.setFamily("Arial") font.setPointSize(12) self.browser.setFont(font) self.vBoxSizer.addWidget(self.browser) buttonBox = QDialogButtonBox(QDialogButtonBox.Ok) buttonBox.accepted.connect(self.accept) self.vBoxSizer.addWidget(buttonBox) self.setLayout(self.vBoxSizer) self.setWindowTitle(self.tr("Diff")) screen = QDesktopWidget().screenGeometry() wd = screen.width() / 4 ht = screen.height() / 3 self.resize(wd, ht) self.show()
def __init__(self, parent): QDialog.__init__(self, parent) self.prm = self.parent().prm self.currLocale = self.parent().prm['currentLocale'] self.currLocale.setNumberOptions( self.currLocale.OmitGroupSeparator | self.currLocale.RejectGroupSeparator) #self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.vBoxSizer = QVBoxLayout() self.hBoxSizer = QVBoxLayout() self.browser = QTextBrowser() self.browser.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.anotherFortuneButton = QPushButton(self.tr("One More!"), self) self.anotherFortuneButton.clicked.connect( self.onClickAnotherFortuneButton) self.hBoxSizer.addWidget(self.anotherFortuneButton) idx = random.choice(range(len(self.prm['appData']['fortunesList']))) self.browser.append(self.prm['appData']['fortunesList'][idx]['quote']) self.browser.append('\n') self.browser.append(self.prm['appData']['fortunesList'][idx]['author']) self.browser.append("In:" + self.prm['appData']['fortunesList'][idx]['source']) font = QFont() font.setFamily("Arial") font.setPointSize(12) self.browser.setFont(font) self.vBoxSizer.addWidget(self.browser) self.vBoxSizer.addLayout(self.hBoxSizer) #self.vBoxSizer.setSizeConstraint(QLayout.SetFixedSize) self.setLayout(self.vBoxSizer) self.setWindowTitle(self.tr("pychoacoustics - fortunes")) self.resize(450, 450) self.show()
def __init__(self, parent, help): QDialog.__init__(self, parent) self.setWindowTitle(i18n("Package Manager Help")) self.resize(700, 500) self.setModal(True) self.layout = QGridLayout(self) self.htmlPart = QTextBrowser(self) self.layout.addWidget(self.htmlPart, 1, 1) locale = setSystemLocale(justGet=True) if locale in ["tr", "es", "en", "fr", "nl", "de", "sv"]: self.htmlPart.setSource( QUrl("/usr/share/kde4/apps/package-manager/help/%s/%s" % (locale, help_files[help]))) else: self.htmlPart.setSource( QUrl("/usr/share/kde4/apps/package-manager/help/en/%s" % help_files[help]))
def slotButtonShowDiff(self): """Called when the user clicks Show Difference.""" docs = self.selectedDocuments() or self.allDocuments() if not docs: return d = docs[0] if documentwatcher.DocumentWatcher.instance(d).isdeleted(): return filename = d.url().toLocalFile() try: with open(filename, 'rb') as f: disktext = util.decode(f.read()) except (IOError, OSError): return currenttext = d.toPlainText() html = htmldiff.htmldiff(currenttext, disktext, _("Current Document"), _("Document on Disk"), numlines=5) dlg = widgets.dialog.Dialog(self, buttons=('close', )) view = QTextBrowser(lineWrapMode=QTextBrowser.NoWrap) view.setHtml(html) dlg.setMainWidget(view) dlg.setWindowTitle(app.caption("Differences")) dlg.setMessage( _("Document: {url}\n" "Difference between the current document and the file on disk:"). format(url=filename)) dlg.setWindowModality(Qt.NonModal) dlg.setAttribute(Qt.WA_QuitOnClose, False) dlg.setAttribute(Qt.WA_DeleteOnClose) qutil.saveDialogSize(dlg, "externalchanges/diff/dialog/size", QSize(600, 300)) dlg.show()
def __init__(self, parent): QDialog.__init__(self, parent, Qt.Dialog) self.setWindowTitle(self.tr("Plugins Manager")) self.resize(700, 600) vbox = QVBoxLayout(self) self._tabs = QTabWidget() vbox.addWidget(self._tabs) self._txt_data = QTextBrowser() self._txt_data.setOpenLinks(False) vbox.addWidget(QLabel(self.tr("Description:"))) vbox.addWidget(self._txt_data) btnReload = QPushButton(self.tr("Reload")) btnReload.setMaximumWidth(100) vbox.addWidget(btnReload) self.overlay = ui_tools.Overlay(self) self.overlay.hide() self._oficial_available = [] self._community_available = [] self._locals = [] self._updates = [] self._loading = True self.connect(btnReload, SIGNAL("clicked()"), self._reload_plugins) self.thread = ThreadLoadPlugins(self) self.connect(self.thread, SIGNAL("finished()"), self._load_plugins_data) self.connect(self.thread, SIGNAL("plugin_downloaded(PyQt_PyObject)"), self._after_download_plugin) self.connect(self.thread, SIGNAL("plugin_uninstalled(PyQt_PyObject)"), self._after_uninstall_plugin) self.connect(self._txt_data, SIGNAL("anchorClicked(const QUrl&)"), self._open_link) self.overlay.show() self._reload_plugins()
def __init__(self, iface): QDialog.__init__(self) self.setupUi(self) self.iface = iface self.previewUrl = None self.layer_search_combo = None self.exporter_combo = None self.feedback = FeedbackDialog(self) self.feedback.setModal(True) stgs = QSettings() self.restoreGeometry(stgs.value("qgis2web/MainDialogGeometry", QByteArray(), type=QByteArray)) if stgs.value("qgis2web/previewOnStartup", Qt.Checked) == Qt.Checked: self.previewOnStartup.setCheckState(Qt.Checked) else: self.previewOnStartup.setCheckState(Qt.Unchecked) if (stgs.value("qgis2web/closeFeedbackOnSuccess", Qt.Checked) == Qt.Checked): self.closeFeedbackOnSuccess.setCheckState(Qt.Checked) else: self.closeFeedbackOnSuccess.setCheckState(Qt.Unchecked) self.previewFeatureLimit.setText( stgs.value("qgis2web/previewFeatureLimit", "1000")) self.paramsTreeOL.setSelectionMode(QAbstractItemView.SingleSelection) self.preview = None if webkit_available: widget = QWebView() self.preview = widget webview = self.preview.page() webview.setNetworkAccessManager(QgsNetworkAccessManager.instance()) self.preview.settings().setAttribute( QWebSettings.DeveloperExtrasEnabled, True) else: widget = QTextBrowser() widget.setText(self.tr('Preview is not available since QtWebKit ' 'dependency is missing on your system')) self.right_layout.insertWidget(0, widget) self.populateConfigParams(self) self.populate_layers_and_groups(self) self.populateLayerSearch() self.populateBasemaps() writer = WRITER_REGISTRY.createWriterFromProject() self.setStateToWriter(writer) self.exporter = EXPORTER_REGISTRY.createFromProject() self.exporter_combo.setCurrentIndex( self.exporter_combo.findText(self.exporter.name())) self.exporter_combo.currentIndexChanged.connect( self.exporterTypeChanged) self.toggleOptions() if webkit_available: if self.previewOnStartup.checkState() == Qt.Checked: self.autoUpdatePreview() self.buttonPreview.clicked.connect(self.previewMap) else: self.buttonPreview.setDisabled(True) self.layersTree.model().dataChanged.connect(self.populateLayerSearch) self.ol3.clicked.connect(self.changeFormat) self.leaflet.clicked.connect(self.changeFormat) self.buttonExport.clicked.connect(self.saveMap) readme = os.path.join(os.path.dirname(os.path.realpath(__file__)), "README.md") helpText = os.path.join(os.path.dirname(os.path.realpath(__file__)), "helpFile.md") lines = open(readme, 'r').readlines() with open(helpText, 'w') as helpFile: for ct, line in enumerate(lines): if ct > 4: helpFile.write(line) helpFile.close() self.helpField.setSource(QUrl.fromLocalFile(helpText)) if webkit_available: self.devConsole = QWebInspector(self.verticalLayoutWidget_2) self.devConsole.setFixedHeight(0) self.devConsole.setObjectName("devConsole") self.devConsole.setPage(self.preview.page()) self.right_layout.insertWidget(1, self.devConsole) self.filter = devToggleFilter() self.installEventFilter(self.filter) self.setModal(False)
def viewDatasetAction(self): #print "viewDatasetAction" model = self.model table_name = str(model.fileName(self.currentIndex)) table_name_full = str(model.filePath(self.currentIndex)) parentIndex = model.parent(self.currentIndex) parent_name = str(model.fileName(parentIndex)) parent_name_full = str(model.filePath(parentIndex)) storage = StorageFactory().get_storage( 'flt_storage', storage_location=parent_name_full) columns = storage.get_column_names(table_name) # temporarily use the table name for the dataset name # dataset_name = DatasetFactory().dataset_name_for_table(table_name) # Aaron - please check this way of getting the XMLConfiguration -- is this the best way? # general = self.mainwindow.toolboxBase.opus_core_xml_configuration.get_section('general') # # problem: this gets the package order for the current project, but the viewer shows all the data # package_order = general['dataset_pool_configuration'].package_order # PREVIOUS HACK: # package_order = ['seattle_parcel','urbansim_parcel', 'eugene', 'urbansim', 'opus_core'] # temporary code: just use a generic dataset for now data = Dataset(in_storage=storage, dataset_name=table_name, in_table_name=table_name, id_name=[]) # code to get a more specialized dataset if possible (doesn't work with table names not ending in 's' # unless they are in the exceptions list in DatasetFactory) # data = DatasetFactory().search_for_dataset_with_hidden_id(dataset_name, package_order, # arguments={'in_storage': storage, 'in_table_name': table_name}) # Need to add a new tab to the main tabs for display of the data container = QWidget() widgetLayout = QVBoxLayout(container) summaryGroupBox = QGroupBox(container) summaryGroupBox.setTitle( QString("Year: %s Run name: %s" % (parent_name, table_name_full.split('/')[-3]))) summaryGroupBox.setFlat(True) summaryGroupBoxLayout = QVBoxLayout(summaryGroupBox) # Grab the summary data buffer = StringIO() data.summary(output=buffer, unload_after_each_attribute=True) strng = buffer.getvalue() buffer.close() textBrowser = QTextBrowser() # textBrowser.insertPlainText(strng) textBrowser.insertHtml(self.parse_dataset_summary(strng)) summaryGroupBoxLayout.addWidget(textBrowser) widgetLayout.addWidget(summaryGroupBox) tableGroupBox = QGroupBox(container) tableGroupBox.setTitle(QString("Table View")) tableGroupBox.setFlat(True) tableGroupBoxLayout = QVBoxLayout(tableGroupBox) tv = QTableView() header = columns tabledata_tmp = [] for column in columns: tabledata_tmp.append(data.get_attribute(column)) # Transpose the lists tabledata = map(None, *tabledata_tmp) # If the table data is not empty then we display it if tabledata: #tv.resizeColumnsToContents() tm = TableModel(tabledata, header, container) tv.setModel(tm) tv.setSortingEnabled(True) tableGroupBoxLayout.addWidget(tv) widgetLayout.addWidget(tableGroupBox) container.tabIcon = IconLibrary.icon('inspect') container.tabLabel = QString(table_name) self.manager._attach_tab(container)
def __init__(self): super(TimeDialog, self).__init__() self.timer_tv = QTextBrowser(self) self.init_ui() self.timer_t = TimeThread() self.timer_t.signal_time.connect(self.update_timer_tv)