Mercurial > octave
diff libgui/src/documentation-dock-widget.h @ 29330:b92614cfdfed
add bookmark functionality to the documentation browser (bug #54938)
* libgui/src/documentation-bookmarks.cc: new file for the bookmarks tab;
(documentation_bookmarks): initialize the tab, the filter and the tree;
prepare the bookmark file and read existing bookmarks;
(~documentation_bookmarks): empty destructor;
(add_bookmark): slot for the adding bookmark action, get current title
and url;
(add_bookmark): do the adding, possibly as child of a parent item;
(add_folder): slot for context menu action for adding a folder, check
current position where to insert the new folder;
(add_folder): do the folder adding;
(filter_bookmarks): filter bookmarks following the changed filter text;
(filter_activate): enable/disable filter;
(update_filter_history): save a search term when acknowledged by return;
(handle_double_click): open the clicked bookmark;
(ctx_menu): show context menu at current mouse position;
(open): open a bookmark via context menu;
(edit): edit a bookmark via context menu;
(remove): remove selected bookmarks via context menu;
(show_filter): toggle visibility of the filter;
(save_settings): save settings and initiate writing the bookmarks;
(write_bookmarks): open file and initiate writing all top level items;
(write_tree_item): write a single item and its children;
(read_bookmarks): open the file, check if it is valid and loop over
all top level items for reading them from the file;
(read_next_item): read an item and its children in case of a folder;
* documentation-bookmarks.h: class documentation_bookmarks derived
from QWidget, declaration of all required functions and class variables;
* documentation-dock-widget.cc (save_settings): new derived method,
emitting a signal for saving setting in child widgets and callinf the
original method
* documentation-dock-widget.h: derived method save_settings and signal
for child widgets
* documentation.cc: include documentation-bookmarks.h;
(documentation): add bookmark tab, connect signal for saving settings;
(add_action): check reveiver before connection the actions signal;
(construct_tool_bar): add toolbar button for adding a bookmark, connect
its signal the add_bookmark slot and connect signal for saving settings;
(notice_settings): add shortcut for adding a bookmark;
(update_history): move combining page title and current anchor into a
more specific title ...
(title_and_anchor): to here;
* documentation.h: new function title_and_anchor, new action
* gui-preferences-dc.h: new file with constants for some bookmark settings
and for the xbel file syntax
* gui-preferences-sc.h: default value for bookmark action
* bookmark-new.png/bookmark-new.svg: icon for tool bar button
* icons_license: add new icon
* module.mk: add new files
* shortcut-manager.cc (init_data): initialize new short for bookmarking
author | Torsten Lilge <ttl-octave@mailbox.org> |
---|---|
date | Sun, 10 Jan 2021 14:04:35 +0100 |
parents | bd51beb6205e |
children | 7854d5752dd2 |
line wrap: on
line diff
--- a/libgui/src/documentation-dock-widget.h Tue Jan 26 16:41:36 2021 +0100 +++ b/libgui/src/documentation-dock-widget.h Sun Jan 10 14:04:35 2021 +0100 @@ -42,9 +42,14 @@ documentation_dock_widget (QWidget *parent, base_qobject& oct_qobj); ~documentation_dock_widget (void); + signals: + + void save_settings_signal (void); + public slots: void notice_settings (const gui_settings *settings); + void save_settings (void); protected slots: