Mercurial > octave-dspies
view libgui/src/m-editor/octave-qscintilla.h @ 18684:86eca5d178a6 gui-release
disable some global shortcuts when editor gets focus to prevent conflicts
* file-editor-tab.cc (constructor): connect signal from the qscintilla edit
area about focus with the related new slot;
(edit_area_has_focus): new slot for the focus signal from qscintilla edit
area emitting a signal for enabling/disabling the common edit shortcuts
* file-editor-tab.h: new slot edit_area_has_focus,
new signal set_global_edit_shortcuts_signal
* file-editor.cc (add_file_editor_tab ): connect new tab signal
set_global_edit_shortcuts_signal with the related slot in main_window;
(copyClipboard, pasteClipboard, selectAll): removed these functions because
the related actions are triggered editor shortcuts
* file-editor.h: remove copyClipboard, pasteClipboard, selectAll
* octave-qscintilla.cc (focusInEvent, focusOutEvent): handlers emitting the
signal about the focus state of the edit area
* octave-qscintilla.h: new focus signal qsci_has_focus_signal, focus event
handlers
* main-window.cc (set_global_edit_shortcuts): new slot dis-/enabling the common
edit shortcuts depending on focus of edit area
* main-window.h: new slot set_global_edit_shortcuts
author | Torsten <ttl@justmail.de> |
---|---|
date | Sun, 27 Apr 2014 13:03:08 +0200 |
parents | f959c63934e6 |
children | 99e26cb0f87f |
line wrap: on
line source
/* Copyright (C) 2013 Torsten This file is part of Octave. Octave is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <http://www.gnu.org/licenses/>. */ // Author: Torsten <ttl@justmail.de> #if !defined (octave_octave_qscintilla_h) #define octave_octave_qscintilla_h 1 #include <Qsci/qsciscintilla.h> #include <QMenu> #include <QContextMenuEvent> class octave_qscintilla : public QsciScintilla { Q_OBJECT public: octave_qscintilla (QWidget *p); ~octave_qscintilla (); #ifdef HAVE_QSCI_VERSION_2_6_0 virtual void contextMenuEvent (QContextMenuEvent *e); #endif void context_help_doc (bool); void context_edit (); void context_run (); void get_global_textcursor_pos (QPoint *global_pos, QPoint *local_pos); bool get_actual_word (); signals: void execute_command_in_terminal_signal (const QString&); void qsci_has_focus_signal (bool); private slots: void contextmenu_help (bool); void contextmenu_doc (bool); void contextmenu_help_doc (bool); void contextmenu_edit (bool); void contextmenu_run (bool); protected: void focusInEvent (QFocusEvent *focusEvent); void focusOutEvent (QFocusEvent *focusEvent); private: QString _word_at_cursor; }; #endif