def __init__(self, parent=None): super(GlobalFontDialog, self).__init__(parent) self._messageLabel.setWordWrap(True) layout = QGridLayout() layout.setContentsMargins(0, 0, 0, 0) self.mainWidget().setLayout(layout) self.romanLabel = QLabel() self.romanCombo = QFontComboBox() self.sansLabel = QLabel() self.sansCombo = QFontComboBox() self.typewriterLabel = QLabel() self.typewriterCombo = QFontComboBox( fontFilters=QFontComboBox.MonospacedFonts) layout.addWidget(self.romanLabel, 0, 0) layout.addWidget(self.romanCombo, 0, 1, 1, 2) layout.addWidget(self.sansLabel, 1, 0) layout.addWidget(self.sansCombo, 1, 1, 1, 2) layout.addWidget(self.typewriterLabel, 2, 0) layout.addWidget(self.typewriterCombo, 2, 1, 1, 2) self.loadSettings() self.finished.connect(self.saveSettings) app.translateUI(self)
def __init__(self, value, parent=None): QGridLayout.__init__(self) font = tuple_to_qfont(value) assert font is not None # Font family self.family = QFontComboBox(parent) self.family.setCurrentFont(font) self.addWidget(self.family, 0, 0, 1, -1) # Font size self.size = QComboBox(parent) self.size.setEditable(True) sizelist = list(range(6, 12)) + list(range(12, 30, 2)) + [36, 48, 72] size = font.pointSize() if size not in sizelist: sizelist.append(size) sizelist.sort() self.size.addItems([str(s) for s in sizelist]) self.size.setCurrentIndex(sizelist.index(size)) self.addWidget(self.size, 1, 0) # Italic or not self.italic = QCheckBox(self.tr("Italic"), parent) self.italic.setChecked(font.italic()) self.addWidget(self.italic, 1, 1) # Bold or not self.bold = QCheckBox(self.tr("Bold"), parent) self.bold.setChecked(font.bold()) self.addWidget(self.bold, 1, 2)
def __init__(self, page): super(LogTool, self).__init__(page) layout = QVBoxLayout() self.setLayout(layout) self.fontLabel = QLabel() self.fontChooser = QFontComboBox(currentFontChanged=self.changed) self.fontSize = QDoubleSpinBox(valueChanged=self.changed) self.fontSize.setRange(6.0, 32.0) self.fontSize.setSingleStep(0.5) self.fontSize.setDecimals(1) box = QHBoxLayout() box.addWidget(self.fontLabel) box.addWidget(self.fontChooser, 1) box.addWidget(self.fontSize) layout.addLayout(box) self.showlog = QCheckBox(toggled=self.changed) layout.addWidget(self.showlog) self.rawview = QCheckBox(toggled=self.changed) layout.addWidget(self.rawview) self.hideauto = QCheckBox(toggled=self.changed) layout.addWidget(self.hideauto) app.translateUI(self)
def __init__(self, page): super(Browser, self).__init__(page) layout = QGridLayout() self.setLayout(layout) self.languagesLabel = QLabel() self.languages = QComboBox(currentIndexChanged=self.changed) layout.addWidget(self.languagesLabel, 0, 0) layout.addWidget(self.languages, 0, 1) items = ['', ''] items.extend( language_names.languageName(l, l) for l in lilydoc.translations) self.languages.addItems(items) self.fontLabel = QLabel() self.fontChooser = QFontComboBox(currentFontChanged=self.changed) self.fontSize = QSpinBox(valueChanged=self.changed) self.fontSize.setRange(6, 32) self.fontSize.setSingleStep(1) layout.addWidget(self.fontLabel, 1, 0) layout.addWidget(self.fontChooser, 1, 1) layout.addWidget(self.fontSize, 1, 2) app.translateUI(self)
def getMonospaceFontList(): " Provides a list of strings with the system installed monospace fonts " result = [] combo = QFontComboBox() combo.setFontFilters(QFontComboBox.MonospacedFonts) for index in xrange(combo.count()): face = str(combo.itemText(index)) if face.lower() != "webdings": result.append(face) return result
def setupGUI(self): self.scrollArea = QScrollArea(self) self.scrollArea.setWidgetResizable(True) self.aWidget = QWidget(self.scrollArea) self._main_layout = QGridLayout(self.aWidget) self.aWidget.setMinimumSize(480, 800) self.aWidget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.scrollArea.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.scrollArea.setWidget(self.aWidget) try: scroller = self.scrollArea.property( "kineticScroller") #.toPyObject() scroller.setEnabled(True) except: pass gridIndex = 0 self._main_layout.addWidget(QLabel('Font :'), gridIndex, 0) gridIndex += 1 self.fontName = QFontComboBox() self._main_layout.addWidget(self.fontName, gridIndex, 0) gridIndex += 1 self.fontSize = QSpinBox() self._main_layout.addWidget(self.fontSize, gridIndex, 0) gridIndex += 1 self._main_layout.addWidget(QLabel('Plugins :'), gridIndex, 0) gridIndex += 1 init_plugin_system() self.plugins_widgets = [] for plugin in find_plugins(): aCheckBox = QCheckBox(plugin.__name__ + ' ' + plugin.__version__) self.plugins_widgets.append(aCheckBox) self._main_layout.addWidget(aCheckBox, gridIndex, 0) gridIndex += 1 self._main_layout.addWidget(QLabel('Others preferences :'), gridIndex, 0) gridIndex += 1 self.wrapLine = QCheckBox('Wrap Lines') self._main_layout.addWidget(self.wrapLine, gridIndex, 0) gridIndex += 1 self.qt18720 = QCheckBox('Work Arround QTBUG-18720') self._main_layout.addWidget(self.qt18720, gridIndex, 0) gridIndex += 1 self.aWidget.setLayout(self._main_layout) self.setCentralWidget(self.scrollArea)
def __init__(self, page): super(CharMap, self).__init__(page) layout = QVBoxLayout() self.setLayout(layout) self.fontLabel = QLabel() self.fontChooser = QFontComboBox(currentFontChanged=self.changed) self.fontSize = QDoubleSpinBox(valueChanged=self.changed) self.fontSize.setRange(6.0, 32.0) self.fontSize.setSingleStep(0.5) self.fontSize.setDecimals(1) box = QHBoxLayout() box.addWidget(self.fontLabel) box.addWidget(self.fontChooser, 1) box.addWidget(self.fontSize) layout.addLayout(box) app.translateUI(self)
def __init__(self, value, parent=None): QHBoxLayout.__init__(self) font = tuple_to_qfont(value) assert font is not None # Font family self.family = QFontComboBox(parent) self.family.setCurrentFont(font) self.addWidget(self.family) # Font size self.size = QComboBox(parent) self.size.setEditable(True) sizelist = list(itertools.chain(range(6, 12), range(12, 30, 2), [36, 48, 72])) size = font.pointSize() if size not in sizelist: sizelist.append(size) sizelist.sort() self.size.addItems([str(s) for s in sizelist]) self.size.setCurrentIndex(sizelist.index(size)) self.addWidget(self.size)
def create_fontgroup(self, option=None, text=None, tip=None, fontfilters=None): """Option=None -> setting plugin font""" fontlabel = QLabel(_("Font: ")) fontbox = QFontComboBox() if fontfilters is not None: fontbox.setFontFilters(fontfilters) sizelabel = QLabel(" "+_("Size: ")) sizebox = QSpinBox() sizebox.setRange(7, 100) self.fontboxes[(fontbox, sizebox)] = option layout = QHBoxLayout() for subwidget in (fontlabel, fontbox, sizelabel, sizebox): layout.addWidget(subwidget) layout.addStretch(1) if text is None: text = _("Font style") group = QGroupBox(text) group.setLayout(layout) if tip is not None: group.setToolTip(tip) return group
def __init__( self, parent, uifile = '' ): uifile = '' super(XSchemeConfigWidget, self).__init__(parent, uifile) # define the font widgets self._applicationFont = QFontComboBox(self) self._applicationFont.setProperty('dataName', wrapVariant('font')) self._applicationFont.setSizePolicy( QSizePolicy.Expanding, QSizePolicy.Preferred ) self._applicationFontSize = QSpinBox(self) self._applicationFontSize.setProperty('dataName', wrapVariant('fontSize')) self._colorButton = XColorButton(self) hbox = QHBoxLayout() hbox.addWidget(QLabel('Font:', self)) hbox.addWidget(self._applicationFont) hbox.addWidget(QLabel('Size:', self)) hbox.addWidget(self._applicationFontSize) hbox.addWidget(QLabel('Quick Color:', self)) hbox.addWidget(self._colorButton) # define the color tree self._colorTree = XColorTreeWidget(self) self._colorTree.setProperty('dataName', wrapVariant('colorSet')) vbox = QVBoxLayout() vbox.addLayout(hbox) vbox.addWidget(self._colorTree) self.setLayout(vbox) # create connections self._colorButton.colorChanged.connect( self._colorTree.setQuickColor )
def __init__(self, item): QDialog.__init__(self) self.gridLayout = QGridLayout(self) self.gridLayout.setObjectName(("gridLayout")) self.horizontalLayout = QHBoxLayout() self.horizontalLayout.setObjectName(("horizontalLayout")) self.mFontComboBox = QFontComboBox(self) self.mFontComboBox.setObjectName(("mFontComboBox")) self.horizontalLayout.addWidget(self.mFontComboBox) spacerItem = QSpacerItem(38, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.mFontSizeSpinBox = QSpinBox(self) self.mFontSizeSpinBox.setObjectName(("mFontSizeSpinBox")) self.horizontalLayout.addWidget(self.mFontSizeSpinBox) self.mBoldPushButton = QPushButton(self) self.mBoldPushButton.setMinimumSize(QSize(50, 0)) self.mBoldPushButton.setCheckable(True) self.mBoldPushButton.setObjectName(("mBoldPushButton")) self.horizontalLayout.addWidget(self.mBoldPushButton) self.mItalicsPushButton = QPushButton(self) self.mItalicsPushButton.setMinimumSize(QSize(50, 0)) self.mItalicsPushButton.setCheckable(True) self.mItalicsPushButton.setObjectName(("mItalicsPushButton")) self.horizontalLayout.addWidget(self.mItalicsPushButton) self.mFontColorButton = QgsColorButton(self) self.mFontColorButton.setText(("")) self.mFontColorButton.setAutoDefault(False) self.mFontColorButton.setObjectName(("mFontColorButton")) self.horizontalLayout.addWidget(self.mFontColorButton) self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 1) self.mButtonBox = QDialogButtonBox(self) self.mButtonBox.setOrientation(Qt.Horizontal) self.mButtonBox.setStandardButtons(QDialogButtonBox.Cancel|QDialogButtonBox.Ok) self.mButtonBox.setObjectName(("mButtonBox")) self.gridLayout.addWidget(self.mButtonBox, 3, 0, 1, 1) self.mTextEdit = QTextEdit(self) self.mTextEdit.setObjectName(("mTextEdit")) self.gridLayout.addWidget(self.mTextEdit, 1, 0, 1, 1) self.mStackedWidget = QStackedWidget(self) self.mStackedWidget.setObjectName(("mStackedWidget")) self.page = QWidget() self.page.setObjectName(("page")) self.mStackedWidget.addWidget(self.page) self.page_2 = QWidget() self.page_2.setObjectName(("page_2")) self.mStackedWidget.addWidget(self.page_2) self.gridLayout.addWidget(self.mStackedWidget, 2, 0, 1, 1) self.setLayout(self.gridLayout) self.mStackedWidget.setCurrentIndex(0) QObject.connect(self.mButtonBox, SIGNAL(("accepted()")), self.accept) QObject.connect(self.mButtonBox, SIGNAL(("rejected()")), self.reject) self.setTabOrder(self.mFontComboBox, self.mFontSizeSpinBox) self.setTabOrder(self.mFontSizeSpinBox, self.mBoldPushButton) self.setTabOrder(self.mBoldPushButton, self.mItalicsPushButton) self.setTabOrder(self.mItalicsPushButton, self.mFontColorButton) self.setTabOrder(self.mFontColorButton, self.mTextEdit) self.setTabOrder(self.mTextEdit, self.mButtonBox) self.setWindowTitle("Annotation text") self.mBoldPushButton.setText("B") self.mItalicsPushButton.setText("I") self.mTextDocument = None self.mItem = item self.mEmbeddedWidget = QgsAnnotationWidget(self, self.mItem ) self.mEmbeddedWidget.show() self.mStackedWidget.addWidget( self.mEmbeddedWidget ) self.mStackedWidget.setCurrentWidget( self.mEmbeddedWidget ) if ( self.mItem != None ): self.mTextDocument = self.mItem.document() self.mTextEdit.setDocument( self.mTextDocument ) self.mFontColorButton.setColorDialogTitle( "Select font color" ) self.mFontColorButton.setColorDialogOptions( QColorDialog.ShowAlphaChannel ) self.setCurrentFontPropertiesToGui() QObject.connect( self.mButtonBox, SIGNAL("accepted()"), self.applyTextToItem) # QObject.connect( self.mFontComboBox, SIGNAL( "currentFontChanged(QFont())"), self.changeCurrentFormat) self.mFontComboBox.currentFontChanged.connect(self.changeCurrentFormat) QObject.connect( self.mFontSizeSpinBox, SIGNAL( "valueChanged( int )" ), self.changeCurrentFormat ) QObject.connect( self.mBoldPushButton, SIGNAL( "toggled( bool )" ), self.changeCurrentFormat) QObject.connect( self.mItalicsPushButton, SIGNAL( "toggled( bool )" ), self.changeCurrentFormat) QObject.connect( self.mTextEdit, SIGNAL( "cursorPositionChanged()" ), self.setCurrentFontPropertiesToGui ) # QObject.connect( self.mButtonBox, SIGNAL( "accepted()" ), self.applySettingsToItem) deleteButton = QPushButton( "Delete" ) QObject.connect( deleteButton, SIGNAL( "clicked()" ), self.deleteItem ) self.mButtonBox.addButton( deleteButton, QDialogButtonBox.RejectRole )
def __init__(self): super(GeneralSection, self).__init__() main_container = QVBoxLayout(self) # Tabs and indentation group_indentation = QGroupBox(self.tr("Indentación y Tabs:")) box = QGridLayout(group_indentation) box.setContentsMargins(20, 5, 20, 5) box.addWidget(QLabel(self.tr("Política:")), 0, 0) self.combo_tabs = QComboBox() self.combo_tabs.setFixedWidth(350) self.combo_tabs.addItems([ self.tr("Solo Espacios"), self.tr("Solo Tabulaciones"), ]) box.addWidget(self.combo_tabs, 0, 1) self.combo_tabs.setCurrentIndex( int(settings.get_setting('editor/usetabs'))) # Auto indent self.check_autoindent = QCheckBox(self.tr("Indentación Automática")) box.addWidget(self.check_autoindent, 1, 0) box.setAlignment(Qt.AlignLeft) self.check_autoindent.setChecked(settings.get_setting('editor/indent')) # Minimap group_minimap = QGroupBox(self.tr("Minimapa:")) box = QGridLayout(group_minimap) box.setContentsMargins(20, 5, 20, 5) self.check_minimap = QCheckBox( self.tr("Activar Minimapa (requiere reiniciar el Editor)")) self.check_minimap.setChecked(settings.get_setting('editor/minimap')) box.addWidget(self.check_minimap, 0, 0) #self.check_minimap_animation = QCheckBox(self.tr("Enable animation")) #self.check_minimap_animation.setChecked( #settings.get_setting('editor/minimap-animation')) #box.addWidget(self.check_minimap_animation, 1, 0) #box.addWidget(QLabel(self.tr("Size Area:")), 2, 0) #self.spin_area_minimap = QSpinBox() #self.spin_area_minimap.setFixedWidth(350) #box.addWidget(self.spin_area_minimap, 2, 1) box.setAlignment(Qt.AlignLeft) # Cursor group_caret = QGroupBox(self.tr("Cursor:")) box = QGridLayout(group_caret) box.setContentsMargins(20, 5, 20, 5) box.setAlignment(Qt.AlignLeft) # Type box.addWidget(QLabel(self.tr("Tipo:")), 0, 0) self.combo_caret = QComboBox() self.combo_caret.setFixedWidth(300) caret_types = [ self.tr('Invisible'), self.tr('Línea'), self.tr('Bloque') ] self.combo_caret.addItems(caret_types) index = settings.get_setting('editor/cursor') self.combo_caret.setCurrentIndex(index) box.addWidget(self.combo_caret, 0, 1) # Width box.addWidget(QLabel(self.tr("Ancho:")), 1, 0) self.spin_caret_width = QSpinBox() self.spin_caret_width.setFixedWidth(300) if index != 1: self.spin_caret_width.setEnabled(False) self.spin_caret_width.setRange(1, 3) self.spin_caret_width.setValue( settings.get_setting('editor/caret-width')) box.addWidget(self.spin_caret_width, 1, 1, Qt.AlignLeft) # Period box.addWidget(QLabel(self.tr("Período (ms):")), 2, 0) self.slider_caret_period = QSlider(Qt.Horizontal) self.slider_caret_period.setMaximum(500) self.slider_caret_period.setFixedWidth(300) box.addWidget(self.slider_caret_period, 2, 1, Qt.AlignLeft) lcd_caret = QLCDNumber() lcd_caret.setSegmentStyle(QLCDNumber.Flat) box.addWidget(lcd_caret, 2, 3) # Font group_typo = QGroupBox(self.tr("Fuente:")) box = QGridLayout(group_typo) box.setContentsMargins(20, 5, 20, 5) box.addWidget(QLabel(self.tr("Familia:")), 0, 0) self.combo_font = QFontComboBox() self.combo_font.setFixedWidth(350) box.addWidget(self.combo_font, 0, 1) self._load_font() box.addWidget(QLabel(self.tr("Tamaño:")), 1, 0) self.spin_size_font = QSpinBox() self.spin_size_font.setValue(settings.get_setting('editor/size-font')) self.spin_size_font.setFixedWidth(350) box.addWidget(self.spin_size_font, 1, 1) box.setAlignment(Qt.AlignLeft) # Scheme group_scheme = QGroupBox(self.tr("Tema:")) box = QVBoxLayout(group_scheme) box.setContentsMargins(20, 5, 20, 5) self.combo_scheme = QComboBox() self.combo_scheme.setFixedWidth(350) self.combo_scheme.addItems(['Dark Edis', 'White Edis']) scheme = settings.get_setting('editor/scheme') index = 0 if scheme != 'dark': index = 1 self.combo_scheme.setCurrentIndex(index) box.addWidget(self.combo_scheme) box.addWidget(QLabel(self.tr("Requiere reiniciar Edis"))) ## Agrupación main_container.addWidget(group_indentation) main_container.addWidget(group_minimap) main_container.addWidget(group_caret) main_container.addWidget(group_typo) main_container.addWidget(group_scheme) main_container.addItem( QSpacerItem(0, 10, QSizePolicy.Expanding, QSizePolicy.Expanding)) EditorConfiguration.install_widget(self.tr("General"), self) # Conexiones self.combo_scheme.currentIndexChanged['const QString&'].connect( self._change_scheme) self.combo_caret.currentIndexChanged[int].connect( self._caret_type_changed) self.slider_caret_period.valueChanged[int].connect(lcd_caret.display) self.slider_caret_period.setValue( settings.get_setting('editor/cursor-period'))
def __init__(self, dialog): super(FontsColors, self).__init__(dialog) layout = QVBoxLayout() layout.setContentsMargins(0, 0, 0, 0) self.setLayout(layout) self.scheme = SchemeSelector(self) layout.addWidget(self.scheme) self.printScheme = QCheckBox() layout.addWidget(self.printScheme) hbox = QHBoxLayout() self.tree = QTreeWidget(self) self.tree.setHeaderHidden(True) self.tree.setAnimated(True) self.stack = QStackedWidget(self) hbox.addWidget(self.tree) hbox.addWidget(self.stack) layout.addLayout(hbox) hbox = QHBoxLayout() self.fontLabel = QLabel() self.fontChooser = QFontComboBox() self.fontSize = QDoubleSpinBox() self.fontSize.setRange(6.0, 32.0) self.fontSize.setSingleStep(0.5) self.fontSize.setDecimals(1) hbox.addWidget(self.fontLabel) hbox.addWidget(self.fontChooser, 1) hbox.addWidget(self.fontSize) layout.addLayout(hbox) # add the items to our list self.baseColorsItem = i = QTreeWidgetItem() self.tree.addTopLevelItem(i) self.defaultStylesItem = i = QTreeWidgetItem() self.tree.addTopLevelItem(i) self.defaultStyles = {} for name in textformats.defaultStyles: self.defaultStyles[name] = i = QTreeWidgetItem() self.defaultStylesItem.addChild(i) i.name = name self.defaultStylesItem.setExpanded(True) self.allStyles = {} for group, styles in ly.colorize.default_mapping(): i = QTreeWidgetItem() children = {} self.allStyles[group] = (i, children) self.tree.addTopLevelItem(i) i.group = group for name, base, clss in styles: j = QTreeWidgetItem() j.name = name j.base = base i.addChild(j) children[name] = j self.baseColorsWidget = BaseColors(self) self.customAttributesWidget = CustomAttributes(self) self.emptyWidget = QWidget(self) self.stack.addWidget(self.baseColorsWidget) self.stack.addWidget(self.customAttributesWidget) self.stack.addWidget(self.emptyWidget) self.tree.currentItemChanged.connect(self.currentItemChanged) self.tree.setCurrentItem(self.baseColorsItem) self.scheme.currentChanged.connect(self.currentSchemeChanged) self.scheme.changed.connect(self.changed) self.baseColorsWidget.changed.connect(self.baseColorsChanged) self.customAttributesWidget.changed.connect(self.customAttributesChanged) self.fontChooser.currentFontChanged.connect(self.fontChanged) self.fontSize.valueChanged.connect(self.fontChanged) self.printScheme.clicked.connect(self.printSchemeChanged) app.translateUI(self)
def __init__(self, parent=None): super().__init__(parent) # Load saved application settings self.recentNotes = [] self.numberOfTabs = 0 # keep track of the total number of tabs in the window self.currentPage = None self.__mediator = MITM.Mediator.Mediator( ) # the mediator object. intermediary btwn view and model # create a timer timer = QTimer(self) # dialogs: saved to avoid eating memory by constant cre- and re- creation self.findDialog = None self.renameDialog = None self.helpAboutDialog = HelpAboutDialog(self) self.helpHelpDialog = HelpHelpDialog(self) self.recentFilesListWidget = QListWidget # create menus first self.fileMenu = self.menuBar().addMenu("File") self.recentNotesMenu = self.fileMenu.addMenu("Open Recent") self.editMenu = self.menuBar().addMenu("Edit") self.syncMenu = self.menuBar().addMenu("Sync") self.helpMenu = self.menuBar().addMenu("Help") # region Actions # create the menu actions # first the file menu actions fileNewAct = self.createAction(self, "&New", shortcut=QKeySequence.New, tooltip="Create a new note", enabled=True, slot=self.onNewClick) fileOpenRecentNotesAct = self.createAction(self, "&Open Recent Note", tooltip="open recent notes", enabled=True, slot=self.onOpenRecentNotes) fileQuitAct = self.createAction(self, "&Exit", shortcut=QKeySequence.Quit, tooltip="Exit the application", enabled=True, slot=self.close) # recent files menu actions self.recentFilesMenuAct = self.createAction(self.recentNotesMenu, "File 1") # edit menu actions editInsertAct = self.createAction(self, "Ins&ert...", shortcut="Ctrl+I", tooltip="Insert a media file", enabled=True) editPreferencesAct = self.createAction( self, "&Preferences", shortcut="Ctrl+Shift+P", tooltip="Set application preferences", enabled=True) editFindAct = self.createAction(self, "&Find", shortcut=QKeySequence.Find, tooltip="Find a text string", slot=self.onFind) editUndoAct = self.createAction( self, "&Undo", shortcut=QKeySequence.Undo, tooltip="Roll back changes to document", slot=self.onUndo) editRedoAct = self.createAction(self, "&Redo", shortcut=QKeySequence.Redo, tooltip="Repeat the last action", slot=self.onRedo) editRenameAct = self.createAction(self, "&Rename...", shortcut="Ctrl+Shift+R", tooltip="Rename current note", slot=self.onRenameNote) # sync menu actions synCloudAcctAct = self.createAction(self, "Cloud &Account", shortcut="Alt+A", tooltip="Sync with cloud accounts", enabled=True) # help menu actions helpHelpAct = self.createAction(self, "Help", shortcut=QKeySequence.HelpContents, tooltip="Display help", enabled=True, slot=self.onHelpHelp) helpAboutAct = self.createAction(self, "A&bout", shortcut="Ctrl+Shift+B", tooltip="About application", enabled=True, slot=self.onHelpAbout) boldTextAction = self.createAction(self, "B", shortcut="Ctrl+B", tooltip="Bold text") italicsTextAction = self.createAction(self, "<i>I</i>", shortcut="Ctrl+I", tooltip="Italics text") # endregion # add actions to corresponding menu self.addActions_( self.fileMenu, (fileNewAct, fileOpenRecentNotesAct, fileQuitAct)) # to file menu self.addActions_(self.editMenu, (editRenameAct, editUndoAct, editRedoAct, editFindAct, editInsertAct, editPreferencesAct)) # to edit menu self.addActions_(self.helpMenu, (helpHelpAct, helpAboutAct)) # to help menu self.addActions_(self.recentNotesMenu, (self.recentFilesMenuAct, )) # create tool bar and add relevant actions allToolBar = self.addToolBar( "All Tools" ) # tool bar that contains all tool;not separated into file/edit/* self.addActions_(allToolBar, (fileNewAct, synCloudAcctAct, editInsertAct, editFindAct, editUndoAct, editRedoAct)) fontDetailsToolBar = self.addToolBar("Font Details") self.fontTypeComboBox = QFontComboBox( fontDetailsToolBar) # get font list present on the user system self.fontSizeSpinBox = QSpinBox(fontDetailsToolBar) # size of the font self.fontSizeSpinBox.setMinimum(7) self.fontSizeSpinBox.setValue(12) self.textBoldButton = QPushButton("B") self.addNewNoteButton = QPushButton("+") self.textItalicsButton = QPushButton("I") maskLabel = QLabel( fontDetailsToolBar) # TODO: experimental, to be removed pixmap = QPixmap("Asset/guit.png") # TODO: experimental, remove maskLabel.setPixmap(pixmap.mask()) # TODO: experimental, remove self.addWidgetToToolBar(fontDetailsToolBar, (self.fontTypeComboBox, self.fontSizeSpinBox, self.textBoldButton, self.textItalicsButton)) # self.addActions_(fontDetailsToolBar, (boldTextAction, italicsTextAction)) # create a QTabWidget self.tabWidget = QTabWidget(self) self.tabWidget.setMovable(True) self.tabWidget.setTabsClosable(True) self.tabWidget.setTabPosition(QTabWidget.South) # self.setTabPosition(Qt.BottomDockWidgetArea, QTabWidget.South) # TODO: not working yet. Handled self.tabWidgetTabBar = self.tabWidget.tabBar() self.tabWidget.setCornerWidget(self.addNewNoteButton, Qt.TopRightCorner) # create pages # TODO: let an event handler handle this job: HANDLED self.onWindowStartOpenNote() # self.page1 = View.TabbedPage.TabbedPage(self, Note("First", "/path")) # # add the pages to the tab Widget # self.tabWidget.addTab(self.page1, "Note 1 ") # self.currentPage = self.tabWidget.currentWidget() self.setCurrentPage() # print("count() returned: ", self.tabWidget.count()) # create "+" bar: TODO: find a better way to create a plus tab: DONE # self.plusTabIndex = self.tabWidgetTabBar.insertTab(self.tabWidget.count() + 1, # "+") # this tab bears the "+" sign that indicates 'create new tab' # self.plusTabWidget = self.tabWidget.widget(self.plusTabIndex) # get a reference to the plus tab widget # create Dock widget that holds find dialog # self.dockWidget = QDockWidget(self) # self.dockWidget.setAllowedAreas(Qt.TopDockWidgetArea) # self.dockWidget.setFeatures(QDockWidget.DockWidgetClosable|QDockWidget.DockWidgetMovable) # self.dockWidget.setWidget(FindDialog.FindDialog(self.currentPage, self)) # self.dockWidget.hide() # do window namings and other stuffs self.statusbar = QStatusBar(self) self.statusbar.setSizeGripEnabled(False) self.setStatusBar(self.statusbar) self.setCentralWidget(self.tabWidget) self.setWindowTitle("Notes") # region Signal And Slot Bindings self.tabWidget.currentChanged.connect(self.setCurrentPage) # self.currentPage.firstTime.connect(self.openPageOnFirstNavigation) self.tabWidget.currentChanged.connect( self.notifyMediatorOfCurrentPageChange) # fileNewAct.triggered.connect(self.onNewClick) # fileQuitAct.triggered.connect(self.close) self.tabWidget.tabCloseRequested.connect( self.confirmTabCloseAndCloseTab) # self.tabWidget.tabCloseRequested.connect(self.holla) self.fontTypeComboBox.currentFontChanged.connect(self.changeFont) self.fontSizeSpinBox.valueChanged.connect(self.changeFontSize) self.textBoldButton.clicked.connect(self.toggleTextBold) self.textItalicsButton.clicked.connect(self.toggleTextItalics) timer.timeout.connect(self.onSaveClick) timer.timeout.connect(self.timed) self.addNewNoteButton.clicked.connect(self.onNewClick) self.currentPage.cursorPositionChanged.connect( self.reportCurrentCursor) self.recentNotesMenu.aboutToShow.connect(self.updateRecentNotesMenu) # editUndoAct.triggered.connect(self.currentPage.undo) # editRedoAct.triggered.connect(self.currentPage.redo) # endregion self.readSettings() # QTimer.singleShot(5000, self.onSaveClick) # Start the timer timer.start(1500000)