def make_help_actions(self): self.help_action = make_action(self, get_icon(HELP_SVG), '&Help', self.help, QKeySequence.HelpContents, 'Show the online help') self.help_about_action = make_action(self, get_icon(ICON_SVG), '&About', self.help_about, tip=f"Show {APPNAME}'s about box")
def make_options_actions(self): self.options_restore_toolbars_action = make_action( self, get_icon(EMBLEM_SYMBOLIC_LINK_SVG), 'Restore &Toolbars', self.options_restore_toolbars, tip='Make every toolbar visible')
def file_populate_open_recent_menu(self): self.file_open_recent_menu.clear() filenames = [str(filename) for filename in list(self.recent_files)] self.file_open_recent_menu.setEnabled(bool(filenames)) icon = get_icon(DOCUMENT_OPEN_SVG) for i, filename in enumerate(filenames, 1): action = make_action( self, icon, '&{} {}'.format(i, filename), lambda *_, filename=filename: self.file_load(filename), tip=f'Open {filename}') self.file_open_recent_menu.addAction(action) if filenames: self.file_open_recent_menu.addSeparator() self.file_open_recent_menu.addAction( make_action(self, get_icon(EDIT_CLEAR_SVG), '&Clear', self.file_clear_recent_files, tip='Clear the list of recently opened databases'))
def make_file_actions(self): self.file_new_action = make_action( self, get_icon(DOCUMENT_NEW_SVG), '&New...', self.file_new, QKeySequence.New, f'Create a new SQLite or {APPNAME} database') self.file_open_action = make_action( self, get_icon(DOCUMENT_OPEN_SVG), '&Open...', self.file_open, QKeySequence.Open, f'Open an existing SQLite or {APPNAME} database') self.file_open_recent_action = make_action(self, get_icon(DOCUMENT_OPEN_SVG), 'Open &Recent') self.file_open_recent_menu = QMenu(self) self.file_open_recent_action.setMenu(self.file_open_recent_menu) self.file_save_action = make_action( self, get_icon(FILESAVE_SVG), '&Save', self.file_save, QKeySequence.Save, 'Save any unsaved changes to the database') self.file_saveas_action = make_action( self, get_icon(FILESAVEAS_SVG), 'Save &As...', self.file_saveas, QKeySequence.SaveAs, 'Save the database under a new name and ' 'open the database with the new name') self.file_backup_action = make_action( self, get_icon(FILESAVEAS_SVG), '&Backup...', self.file_backup, tip='Save a copy of the database') self.file_import_action = make_action( self, get_icon(IMPORT_SVG), '&Import...', self.file_import, tip='Import an external data file (e.g., CSV) as a new ' 'table in the current database') self.file_export_action = make_action( self, get_icon(EXPORT_SVG), '&Export...', self.file_export, tip="Export a table, view or SELECT query's data as an " 'external data file (e.g., CSV)') self.file_quit_action = make_action( self, get_icon(SHUTDOWN_SVG), '&Quit', self.close, QKeySequence(Qt.CTRL + Qt.Key_Q), 'Save any unsaved changes and quit')
def make_view_actions(self): self.view_show_item_action = make_action( self, get_icon(WINDOW_NEW_SVG), '&Show Item', self.view_show_item, QKeySequence.AddTab, "Show the current item tree's item either by creating a tab " 'or window or by bringing an existing tab or window to the ' 'front') self.view_items_tree_toggle_action = ( self.itemsTreeDock.toggleViewAction()) self.view_items_tree_toggle_action.setIcon(get_icon(FOLDER_SVG)) self.view_items_tree_toggle_action.setText('Show Items &Tree') tip = 'Show or hide the tree of queries and database items' self.view_items_tree_toggle_action.setToolTip(tip) self.view_items_tree_toggle_action.setStatusTip(tip) self.view_items_tree_toggle_action.toggled.connect( self.view_update_toggle_action) self.view_items_tree_toggle_tabs_action = make_action( self, get_icon(TOGGLETABS_SVG), 'Show &Items in Tabs', self.view_items_tree_toggle_tabs) self.view_items_tree_toggle_tabs_action.setCheckable(True) tip = 'Show items in tabs or in windows' self.view_items_tree_toggle_tabs_action.setToolTip(tip) self.view_items_tree_toggle_tabs_action.setStatusTip(tip) self.view_pragmas_toggle_action = (self.pragmasDock.toggleViewAction()) self.view_pragmas_toggle_action.setIcon( get_icon(PREFERENCES_DESKTOP_SVG)) self.view_pragmas_toggle_action.setText('Show &Pragmas') self.view_pragmas_toggle_action.setChecked(False) # Starts hid tip = "Show or hide the database's pragmas" self.view_pragmas_toggle_action.setToolTip(tip) self.view_pragmas_toggle_action.setStatusTip(tip) self.view_pragmas_toggle_action.toggled.connect( self.view_pragmas_update_toggle_action) self.view_goto_item_tree_action = make_action( self, get_icon(GOTOTREE_SVG), '&Goto Item Tree', self.view_goto_item_tree, QKeySequence(Qt.CTRL + Qt.SHIFT + Qt.Key_T), 'Put the keyboard focus in the Items Tree')
def make_edit_actions(self): self.edit_refresh_action = make_action( self, get_icon(VIEW_REFRESH_SVG), '&Refresh', self.edit_refresh, QKeySequence.Refresh, '(Re)-execute the current query') self.edit_replace_star_action = make_action( self, get_icon(FORMAT_INDENT_MORE_SVG), "Replace &SELECT's *", self.edit_replace_star, tip="Replace the SELECT's * with " "the table or view's field names") self.edit_copy_action = make_action(self, get_icon(EDIT_COPY_SVG), '&Copy', self.edit_copy, QKeySequence.Copy, 'Copy the selected text') self.edit_cut_action = make_action(self, get_icon(EDIT_CUT_SVG), 'C&ut', self.edit_cut, QKeySequence.Cut, 'Cut the selected text') self.edit_paste_action = make_action(self, get_icon(EDIT_PASTE_SVG), '&Paste', self.edit_paste, QKeySequence.Paste, 'Paste text from the clipboard')