Mercurial > octave-libgccjit
diff libgui/src/m-editor/octave-qscintilla.cc @ 18656:1b289f45187f gui-release
add some qscintilla actions to the menu and to the shortcut manager
* file-editor.cc (request_delete_start_word, request_delete_end_word,
request_delete_start_line, request_delete_end_line, request_delete_line,
request_copy_line, request_cut_line, request_dupllicate_delection,
request_transpose_line, request_upper_case, request_lower_case): new slots
for the added actions;
(construct): added submenus "Commands" and "Format" witht the new actions
to the edit menu;
(set_shortcuts): settings shortcuts for the new actions;
(check_actions): enabling actions depending on existence of editor tabs;
* file-editor.h: new slots, menus and actions
* file-editor-tab.cc (scintilla_command): new slot for signals from file_editor
indicating scintilla commands
* file-editor-tab.h: new slot scintilla_command
* octave_qscintilla (constructor): disabling shortcuts for actions handled by
the gui editor;
(get_global_textcursor_pos): remove unecessary namespace specification
* shortcut-manager.cc (constructor): store settings objects in class variable;
(do_init_data): initialization of new actions;
(init, do_write_shortcuts, do_set_shortcut): code cleanup accessing settings;
(shortcut_dialog_finished) fix writing to wring column of tree view
* shortcut-manager.h: settings stored as class variable
author | Torsten <ttl@justmail.de> |
---|---|
date | Fri, 18 Apr 2014 13:43:55 +0200 |
parents | 26d15a57f45b |
children | c199304dfb2a 6113e0c6920b |
line wrap: on
line diff
--- a/libgui/src/m-editor/octave-qscintilla.cc Thu Apr 17 09:01:03 2014 -0400 +++ b/libgui/src/m-editor/octave-qscintilla.cc Fri Apr 18 13:43:55 2014 +0200 @@ -29,18 +29,33 @@ #ifdef HAVE_QSCINTILLA #include <Qsci/qscilexer.h> +#include <Qsci/qscicommandset.h> #include <QShortcut> #include "octave-qscintilla.h" #include "file-editor-tab.h" +#include "shortcut-manager.h" octave_qscintilla::octave_qscintilla (QWidget *p) : QsciScintilla (p) { - // disable zoom-in/out shortcuts, these are handled by octave - SendScintilla (QsciScintillaBase::SCI_CLEARCMDKEY, '+' + (QsciScintillaBase::SCMOD_CTRL << 16) ); - SendScintilla (QsciScintillaBase::SCI_CLEARCMDKEY, '-' + (QsciScintillaBase::SCMOD_CTRL << 16) ); - SendScintilla (QsciScintillaBase::SCI_CLEARCMDKEY, '/' + (QsciScintillaBase::SCMOD_CTRL << 16) ); + // clear scintilla edit shortcuts that are handled by the editor + QsciCommandSet *cmd_set = standardCommands (); + cmd_set->find (QsciCommand::SelectionDuplicate)->setKey (0); + cmd_set->find (QsciCommand::LineTranspose)->setKey (0); + cmd_set->find (QsciCommand::Undo)->setKey (0); + cmd_set->find (QsciCommand::Redo)->setKey (0); + cmd_set->find (QsciCommand::SelectionUpperCase)->setKey (0); + cmd_set->find (QsciCommand::SelectionLowerCase)->setKey (0); + cmd_set->find (QsciCommand::ZoomIn)->setKey (0); + cmd_set->find (QsciCommand::ZoomOut)->setKey (0); + cmd_set->find (QsciCommand::DeleteWordLeft)->setKey (0); + cmd_set->find (QsciCommand::DeleteWordRight)->setKey (0); + cmd_set->find (QsciCommand::DeleteLineLeft)->setKey (0); + cmd_set->find (QsciCommand::DeleteLineRight)->setKey (0); + cmd_set->find (QsciCommand::LineDelete)->setKey (0); + cmd_set->find (QsciCommand::LineCut)->setKey (0); + cmd_set->find (QsciCommand::LineCopy)->setKey (0); } octave_qscintilla::~octave_qscintilla () @@ -50,11 +65,11 @@ octave_qscintilla::get_global_textcursor_pos (QPoint *global_pos, QPoint *local_pos) { - long position = SendScintilla (QsciScintillaBase::SCI_GETCURRENTPOS); + long position = SendScintilla (SCI_GETCURRENTPOS); long point_x = SendScintilla - (QsciScintillaBase::SCI_POINTXFROMPOSITION,0,position); + (SCI_POINTXFROMPOSITION,0,position); long point_y = SendScintilla - (QsciScintillaBase::SCI_POINTYFROMPOSITION,0,position); + (SCI_POINTYFROMPOSITION,0,position); *local_pos = QPoint (point_x,point_y); // local cursor position *global_pos = mapToGlobal (*local_pos); // global position of cursor }