diff libgui/src/m-editor/file-editor.cc @ 17627:811019b9ef57

Add help and documentation on actual keyword to the editor menu * octave-qscintilla.cc(context_help_doc): new function for editor menu action; (get_global_textcursor_pos): new function for calculationg the cursor pos; (contextMenuEvent): uses get_global_textcursor_pos now, added context menu entry for documentation; (contextmenu_help,contextmenu_doc): slots for context menu; (contextmenu_help_doc): new common function used from context_help_doc and the context menu slots * octave-qscintilla.h: new functions context_help_doc, contextmenu_doc, contextmenu_help_doc, get_global_textcursor_pos * file-editor-tab.cc(context_help): new slot for editor menu action * file-editor-tab.h: new slot context_help * file-editor.cc(request_context_help,request_context_doc): new slots for help menu entries; (construct): new help menu with keyword help and documentation; (add_file_editor_tab): connect new signal fetab_context_help to the new slot context_help in file_editor_tab; (set_shortcuts): enable/disable new shortcuts when editor focus changes (check_actions): enable/disable new actions depending on existing tabs * file-editor.h: new signal fetab_context_help, new slots request_context_help and request_contest_doc, new help and doc actions
author Torsten <ttl@justmail.de>
date Fri, 11 Oct 2013 13:05:06 +0200
parents adf06e03fbdd
children 99ffa521ecec
line wrap: on
line diff
--- a/libgui/src/m-editor/file-editor.cc
+++ b/libgui/src/m-editor/file-editor.cc
@@ -467,6 +467,17 @@
 }
 
 void
+file_editor::request_context_help (bool)
+{
+  emit fetab_context_help (_tab_widget->currentWidget (), false);
+}
+void
+file_editor::request_context_doc (bool)
+{
+  emit fetab_context_help (_tab_widget->currentWidget (), true);
+}
+
+void
 file_editor::request_save_file (void)
 {
   emit fetab_save_file (_tab_widget->currentWidget ());
@@ -927,6 +938,15 @@
   _run_menu->addAction (_run_action);
   _menu_bar->addMenu (_run_menu);
 
+  QMenu *_help_menu = new QMenu (tr ("&Help"), _menu_bar);
+  _context_help_action =
+    _help_menu->addAction (QIcon (), tr ("&Help on Keyword"),
+                           this, SLOT (request_context_help (bool)));
+  _context_doc_action =
+    _help_menu->addAction (QIcon (), tr ("&Documentation on Keyword"),
+                           this, SLOT (request_context_doc (bool)));
+  _menu_bar->addMenu (_help_menu);
+
   // shortcuts
   set_shortcuts (true);
 
@@ -1107,6 +1127,9 @@
   connect (this, SIGNAL (fetab_paste (const QWidget*)),
            f, SLOT (paste (const QWidget*)));
 
+  connect (this, SIGNAL (fetab_context_help (const QWidget*, bool)),
+           f, SLOT (context_help (const QWidget*, bool)));
+
   connect (this, SIGNAL (fetab_save_file (const QWidget*)),
            f, SLOT (save_file (const QWidget*)));
 
@@ -1205,6 +1228,8 @@
       _copy_action->setShortcut (QKeySequence::Copy);
       _cut_action->setShortcut (QKeySequence::Cut);
       _paste_action->setShortcut (QKeySequence::Paste);
+      _context_help_action->setShortcut (QKeySequence::HelpContents);
+      _context_doc_action->setShortcut (Qt::SHIFT + Qt::Key_F1);
 
       _find_action->setShortcut (QKeySequence::Find);
       _goto_line_action->setShortcut (Qt::ControlModifier+ Qt::Key_G);
@@ -1233,6 +1258,7 @@
       _copy_action->setShortcut (no_key);
       _cut_action->setShortcut (no_key);
       _paste_action->setShortcut (no_key);
+      _context_help_action->setShortcut (no_key);
 
       _find_action->setShortcut (no_key);
       _goto_line_action->setShortcut (no_key);
@@ -1264,6 +1290,8 @@
   _copy_action->setEnabled (have_tabs);
   _cut_action->setEnabled (have_tabs);
   _paste_action->setEnabled (have_tabs);
+  _context_help_action->setEnabled (have_tabs);
+  _context_doc_action->setEnabled (have_tabs);
 
   _find_action->setEnabled (have_tabs);
   _goto_line_action->setEnabled (have_tabs);