annotate libgui/languages/build_ts/octave-qsci/qsciscintillabase.cpp @ 31537:5ceb4bfcdb0f stable

add tools and files for updating the gui's language files for translation * libgui/languages/build_ts/README.md: readme for updating language files * libgui/languages/build_ts/octave-qsci: QScintilla source files for languages without translation provided by QScintilla * libgui/languages/build_ts/octave-qt: Qt source files for languages without translation provided by Qt
author Torsten Lilge <ttl-octave@mailbox.org>
date Thu, 24 Nov 2022 06:48:25 +0100
parents
children dd5ece3664ed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31537
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
1 // This module implements the "official" low-level API.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
2 //
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
3 // Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
4 //
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
5 // This file is part of QScintilla.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
6 //
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
7 // This file may be used under the terms of the GNU General Public License
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
8 // version 3.0 as published by the Free Software Foundation and appearing in
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
9 // the file LICENSE included in the packaging of this file. Please review the
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
10 // following information to ensure the GNU General Public License version 3.0
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
11 // requirements will be met: http://www.gnu.org/copyleft/gpl.html.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
12 //
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
13 // If you do not wish to use this file under the terms of the GPL version 3.0
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
14 // then you may purchase a commercial license. For more information contact
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
15 // info@riverbankcomputing.com.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
16 //
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
17 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
18 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
19
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
20
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
21 #include "Qsci/qsciscintillabase.h"
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
22
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
23 #include <QApplication>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
24 #include <QClipboard>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
25 #include <QColor>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
26 #include <QContextMenuEvent>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
27 #include <QDragEnterEvent>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
28 #include <QDragMoveEvent>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
29 #include <QDropEvent>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
30 #include <QDragLeaveEvent>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
31 #include <QFocusEvent>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
32 #include <QKeyEvent>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
33 #include <QList>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
34 #include <QMimeData>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
35 #include <QMouseEvent>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
36 #include <QPaintEvent>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
37 #include <QScrollBar>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
38 #include <QStyle>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
39 #include <QTextCodec>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
40
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
41 #include "SciAccessibility.h"
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
42 #include "ScintillaQt.h"
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
43
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
44
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
45 // The #defines in Scintilla.h and the enums in qsciscintillabase.h conflict
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
46 // (because we want to use the same names) so we have to undefine those we use
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
47 // in this file.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
48 #undef SCI_SETCARETPERIOD
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
49 #undef SCK_DOWN
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
50 #undef SCK_UP
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
51 #undef SCK_LEFT
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
52 #undef SCK_RIGHT
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
53 #undef SCK_HOME
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
54 #undef SCK_END
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
55 #undef SCK_PRIOR
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
56 #undef SCK_NEXT
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
57 #undef SCK_DELETE
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
58 #undef SCK_INSERT
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
59 #undef SCK_ESCAPE
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
60 #undef SCK_BACK
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
61 #undef SCK_TAB
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
62 #undef SCK_RETURN
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
63 #undef SCK_ADD
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
64 #undef SCK_SUBTRACT
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
65 #undef SCK_DIVIDE
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
66 #undef SCK_WIN
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
67 #undef SCK_RWIN
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
68 #undef SCK_MENU
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
69 #undef SCN_URIDROPPED
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
70
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
71
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
72 // Remember if we have linked the lexers.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
73 static bool lexersLinked = false;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
74
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
75 // The list of instances.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
76 static QList<QsciScintillaBase *> poolList;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
77
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
78 // Mime support.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
79 static const QLatin1String mimeTextPlain("text/plain");
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
80 static const QLatin1String mimeRectangularWin("MSDEVColumnSelect");
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
81 static const QLatin1String mimeRectangular("text/x-qscintilla-rectangular");
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
82
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
83 #if (QT_VERSION >= 0x040200 && QT_VERSION < 0x050000 && defined(Q_OS_MAC)) || (QT_VERSION >= 0x050200 && defined(Q_OS_OSX))
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
84 extern void initialiseRectangularPasteboardMime();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
85 #endif
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
86
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
87
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
88 // The ctor.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
89 QsciScintillaBase::QsciScintillaBase(QWidget *parent)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
90 : QAbstractScrollArea(parent), preeditPos(-1), preeditNrBytes(0)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
91 #if QT_VERSION >= 0x050000
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
92 , clickCausedFocus(false)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
93 #endif
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
94 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
95 #if !defined(QT_NO_ACCESSIBILITY)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
96 QsciAccessibleScintillaBase::initialise();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
97 #endif
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
98
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
99 connectVerticalScrollBar();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
100 connectHorizontalScrollBar();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
101
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
102 setAcceptDrops(true);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
103 setFocusPolicy(Qt::WheelFocus);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
104 setAttribute(Qt::WA_KeyCompression);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
105 setAttribute(Qt::WA_InputMethodEnabled);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
106 #if QT_VERSION >= 0x050100
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
107 setInputMethodHints(
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
108 Qt::ImhNoAutoUppercase|Qt::ImhNoPredictiveText|Qt::ImhMultiLine);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
109 #elif QT_VERSION >= 0x040600
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
110 setInputMethodHints(Qt::ImhNoAutoUppercase|Qt::ImhNoPredictiveText);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
111 #endif
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
112
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
113 viewport()->setBackgroundRole(QPalette::Base);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
114 viewport()->setMouseTracking(true);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
115 viewport()->setAttribute(Qt::WA_NoSystemBackground);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
116
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
117 triple_click.setSingleShot(true);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
118
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
119 #if (QT_VERSION >= 0x040200 && QT_VERSION < 0x050000 && defined(Q_OS_MAC)) || (QT_VERSION >= 0x050200 && defined(Q_OS_OSX))
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
120 initialiseRectangularPasteboardMime();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
121 #endif
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
122
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
123 sci = new QsciScintillaQt(this);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
124
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
125 SendScintilla(SCI_SETCARETPERIOD, QApplication::cursorFlashTime() / 2);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
126
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
127 // Make sure the lexers are linked in.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
128 if (!lexersLinked)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
129 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
130 Scintilla_LinkLexers();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
131 lexersLinked = true;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
132 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
133
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
134 // Add it to the pool.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
135 poolList.append(this);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
136 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
137
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
138
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
139 // The dtor.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
140 QsciScintillaBase::~QsciScintillaBase()
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
141 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
142 // The QsciScintillaQt object isn't a child so delete it explicitly.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
143 delete sci;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
144
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
145 // Remove it from the pool.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
146 poolList.removeAt(poolList.indexOf(this));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
147 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
148
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
149
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
150 // Return an instance from the pool.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
151 QsciScintillaBase *QsciScintillaBase::pool()
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
152 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
153 return poolList.first();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
154 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
155
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
156
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
157 // Tell Scintilla to update the scroll bars. Scintilla should be doing this
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
158 // itself.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
159 void QsciScintillaBase::setScrollBars()
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
160 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
161 sci->SetScrollBars();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
162 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
163
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
164
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
165 // Send a message to the real Scintilla widget using the low level Scintilla
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
166 // API.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
167 long QsciScintillaBase::SendScintilla(unsigned int msg, unsigned long wParam,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
168 long lParam) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
169 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
170 return sci->WndProc(msg, wParam, lParam);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
171 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
172
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
173
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
174 // Overloaded message send.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
175 long QsciScintillaBase::SendScintilla(unsigned int msg, unsigned long wParam,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
176 void *lParam) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
177 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
178 return sci->WndProc(msg, wParam, reinterpret_cast<sptr_t>(lParam));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
179 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
180
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
181
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
182 // Overloaded message send.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
183 long QsciScintillaBase::SendScintilla(unsigned int msg, uintptr_t wParam,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
184 const char *lParam) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
185 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
186 return sci->WndProc(msg, wParam, reinterpret_cast<sptr_t>(lParam));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
187 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
188
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
189
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
190 // Overloaded message send.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
191 long QsciScintillaBase::SendScintilla(unsigned int msg,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
192 const char *lParam) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
193 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
194 return sci->WndProc(msg, static_cast<uptr_t>(0),
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
195 reinterpret_cast<sptr_t>(lParam));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
196 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
197
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
198
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
199 // Overloaded message send.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
200 long QsciScintillaBase::SendScintilla(unsigned int msg, const char *wParam,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
201 const char *lParam) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
202 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
203 return sci->WndProc(msg, reinterpret_cast<uptr_t>(wParam),
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
204 reinterpret_cast<sptr_t>(lParam));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
205 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
206
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
207
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
208 // Overloaded message send.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
209 long QsciScintillaBase::SendScintilla(unsigned int msg, long wParam) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
210 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
211 return sci->WndProc(msg, static_cast<uptr_t>(wParam),
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
212 static_cast<sptr_t>(0));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
213 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
214
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
215
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
216 // Overloaded message send.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
217 long QsciScintillaBase::SendScintilla(unsigned int msg, int wParam) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
218 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
219 return sci->WndProc(msg, static_cast<uptr_t>(wParam),
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
220 static_cast<sptr_t>(0));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
221 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
222
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
223
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
224 // Overloaded message send.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
225 long QsciScintillaBase::SendScintilla(unsigned int msg, long cpMin, long cpMax,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
226 char *lpstrText) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
227 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
228 Sci_TextRange tr;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
229
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
230 tr.chrg.cpMin = cpMin;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
231 tr.chrg.cpMax = cpMax;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
232 tr.lpstrText = lpstrText;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
233
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
234 return sci->WndProc(msg, static_cast<uptr_t>(0),
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
235 reinterpret_cast<sptr_t>(&tr));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
236 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
237
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
238
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
239 // Overloaded message send.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
240 long QsciScintillaBase::SendScintilla(unsigned int msg, unsigned long wParam,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
241 const QColor &col) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
242 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
243 sptr_t lParam = (col.blue() << 16) | (col.green() << 8) | col.red();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
244
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
245 return sci->WndProc(msg, wParam, lParam);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
246 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
247
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
248
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
249 // Overloaded message send.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
250 long QsciScintillaBase::SendScintilla(unsigned int msg, const QColor &col) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
251 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
252 uptr_t wParam = (col.blue() << 16) | (col.green() << 8) | col.red();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
253
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
254 return sci->WndProc(msg, wParam, static_cast<sptr_t>(0));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
255 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
256
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
257
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
258 // Overloaded message send.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
259 long QsciScintillaBase::SendScintilla(unsigned int msg, unsigned long wParam,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
260 QPainter *hdc, const QRect &rc, long cpMin, long cpMax) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
261 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
262 Sci_RangeToFormat rf;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
263
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
264 rf.hdc = rf.hdcTarget = reinterpret_cast<Scintilla::SurfaceID>(hdc);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
265
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
266 rf.rc.left = rc.left();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
267 rf.rc.top = rc.top();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
268 rf.rc.right = rc.right() + 1;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
269 rf.rc.bottom = rc.bottom() + 1;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
270
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
271 rf.chrg.cpMin = cpMin;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
272 rf.chrg.cpMax = cpMax;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
273
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
274 return sci->WndProc(msg, wParam, reinterpret_cast<sptr_t>(&rf));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
275 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
276
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
277
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
278 // Overloaded message send.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
279 long QsciScintillaBase::SendScintilla(unsigned int msg, unsigned long wParam,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
280 const QPixmap &lParam) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
281 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
282 return sci->WndProc(msg, wParam, reinterpret_cast<sptr_t>(&lParam));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
283 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
284
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
285
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
286 // Overloaded message send.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
287 long QsciScintillaBase::SendScintilla(unsigned int msg, unsigned long wParam,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
288 const QImage &lParam) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
289 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
290 return sci->WndProc(msg, wParam, reinterpret_cast<sptr_t>(&lParam));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
291 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
292
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
293
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
294 // Send a message to the real Scintilla widget using the low level Scintilla
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
295 // API that returns a pointer result.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
296 void *QsciScintillaBase::SendScintillaPtrResult(unsigned int msg) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
297 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
298 return reinterpret_cast<void *>(sci->WndProc(msg, static_cast<uptr_t>(0),
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
299 static_cast<sptr_t>(0)));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
300 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
301
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
302
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
303 // Re-implemented to handle font changes
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
304 void QsciScintillaBase::changeEvent(QEvent *e)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
305 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
306 if (e->type() == QEvent::FontChange || e->type() == QEvent::ApplicationFontChange)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
307 sci->InvalidateStyleRedraw();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
308
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
309 QAbstractScrollArea::changeEvent(e);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
310 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
311
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
312
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
313 // Re-implemented to handle the context menu.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
314 void QsciScintillaBase::contextMenuEvent(QContextMenuEvent *e)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
315 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
316 sci->ContextMenu(Scintilla::Point(e->globalX(), e->globalY()));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
317 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
318
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
319
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
320 // Re-implemented to tell the widget it has the focus.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
321 void QsciScintillaBase::focusInEvent(QFocusEvent *e)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
322 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
323 sci->SetFocusState(true);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
324
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
325 #if QT_VERSION >= 0x050000
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
326 clickCausedFocus = (e->reason() == Qt::MouseFocusReason);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
327 #endif
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
328
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
329 QAbstractScrollArea::focusInEvent(e);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
330 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
331
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
332
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
333 // Re-implemented to tell the widget it has lost the focus.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
334 void QsciScintillaBase::focusOutEvent(QFocusEvent *e)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
335 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
336 if (e->reason() == Qt::ActiveWindowFocusReason)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
337 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
338 // Only tell Scintilla we have lost focus if the new active window
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
339 // isn't our auto-completion list. This is probably only an issue on
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
340 // Linux and there are still problems because subsequent focus out
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
341 // events don't always seem to get generated (at least with Qt5).
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
342
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
343 QWidget *aw = QApplication::activeWindow();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
344
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
345 if (!aw || aw->parent() != this || !aw->inherits("QsciSciListBox"))
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
346 sci->SetFocusState(false);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
347 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
348 else
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
349 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
350 sci->SetFocusState(false);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
351 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
352
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
353 QAbstractScrollArea::focusOutEvent(e);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
354 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
355
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
356
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
357 // Re-implemented to make sure tabs are passed to the editor.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
358 bool QsciScintillaBase::focusNextPrevChild(bool next)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
359 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
360 if (!sci->pdoc->IsReadOnly())
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
361 return false;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
362
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
363 return QAbstractScrollArea::focusNextPrevChild(next);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
364 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
365
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
366
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
367 // Handle key presses.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
368 void QsciScintillaBase::keyPressEvent(QKeyEvent *e)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
369 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
370 int modifiers = 0;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
371
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
372 if (e->modifiers() & Qt::ShiftModifier)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
373 modifiers |= SCMOD_SHIFT;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
374
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
375 if (e->modifiers() & Qt::ControlModifier)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
376 modifiers |= SCMOD_CTRL;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
377
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
378 if (e->modifiers() & Qt::AltModifier)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
379 modifiers |= SCMOD_ALT;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
380
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
381 if (e->modifiers() & Qt::MetaModifier)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
382 modifiers |= SCMOD_META;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
383
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
384 int key = commandKey(e->key(), modifiers);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
385
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
386 if (key)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
387 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
388 bool consumed = false;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
389
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
390 sci->KeyDownWithModifiers(key, modifiers, &consumed);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
391
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
392 if (consumed)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
393 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
394 e->accept();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
395 return;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
396 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
397 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
398
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
399 QString text = e->text();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
400
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
401 if (!text.isEmpty() && text[0].isPrint())
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
402 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
403 ScintillaBytes bytes = textAsBytes(text);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
404 sci->AddCharUTF(bytes.data(), bytes.length());
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
405 e->accept();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
406 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
407 else
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
408 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
409 QAbstractScrollArea::keyPressEvent(e);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
410 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
411 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
412
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
413
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
414 // Map a Qt key to a valid Scintilla command key, or 0 if none.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
415 int QsciScintillaBase::commandKey(int qt_key, int &modifiers)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
416 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
417 int key;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
418
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
419 switch (qt_key)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
420 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
421 case Qt::Key_Down:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
422 key = SCK_DOWN;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
423 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
424
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
425 case Qt::Key_Up:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
426 key = SCK_UP;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
427 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
428
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
429 case Qt::Key_Left:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
430 key = SCK_LEFT;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
431 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
432
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
433 case Qt::Key_Right:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
434 key = SCK_RIGHT;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
435 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
436
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
437 case Qt::Key_Home:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
438 key = SCK_HOME;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
439 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
440
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
441 case Qt::Key_End:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
442 key = SCK_END;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
443 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
444
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
445 case Qt::Key_PageUp:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
446 key = SCK_PRIOR;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
447 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
448
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
449 case Qt::Key_PageDown:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
450 key = SCK_NEXT;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
451 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
452
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
453 case Qt::Key_Delete:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
454 key = SCK_DELETE;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
455 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
456
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
457 case Qt::Key_Insert:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
458 key = SCK_INSERT;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
459 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
460
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
461 case Qt::Key_Escape:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
462 key = SCK_ESCAPE;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
463 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
464
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
465 case Qt::Key_Backspace:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
466 key = SCK_BACK;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
467 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
468
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
469 case Qt::Key_Tab:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
470 key = SCK_TAB;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
471 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
472
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
473 case Qt::Key_Backtab:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
474 // Scintilla assumes a backtab is shift-tab.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
475 key = SCK_TAB;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
476 modifiers |= SCMOD_SHIFT;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
477 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
478
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
479 case Qt::Key_Return:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
480 case Qt::Key_Enter:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
481 key = SCK_RETURN;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
482 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
483
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
484 case Qt::Key_Super_L:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
485 key = SCK_WIN;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
486 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
487
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
488 case Qt::Key_Super_R:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
489 key = SCK_RWIN;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
490 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
491
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
492 case Qt::Key_Menu:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
493 key = SCK_MENU;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
494 break;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
495
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
496 default:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
497 if ((key = qt_key) > 0x7f)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
498 key = 0;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
499 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
500
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
501 return key;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
502 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
503
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
504
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
505 // Encode a QString as bytes.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
506 QsciScintillaBase::ScintillaBytes QsciScintillaBase::textAsBytes(const QString &text) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
507 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
508 if (sci->IsUnicodeMode())
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
509 return text.toUtf8();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
510
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
511 return text.toLatin1();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
512 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
513
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
514
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
515 // Decode bytes as a QString.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
516 QString QsciScintillaBase::bytesAsText(const char *bytes) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
517 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
518 if (sci->IsUnicodeMode())
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
519 return QString::fromUtf8(bytes);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
520
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
521 return QString::fromLatin1(bytes);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
522 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
523
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
524
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
525 // Handle a mouse button double click.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
526 void QsciScintillaBase::mouseDoubleClickEvent(QMouseEvent *e)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
527 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
528 if (e->button() != Qt::LeftButton)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
529 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
530 e->ignore();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
531 return;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
532 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
533
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
534 setFocus();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
535
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
536 // Make sure Scintilla will interpret this as a double-click.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
537 unsigned clickTime = sci->lastClickTime + Scintilla::Platform::DoubleClickTime() - 1;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
538
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
539 sci->ButtonDownWithModifiers(Scintilla::Point(e->x(), e->y()), clickTime,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
540 eventModifiers(e));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
541
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
542 // Remember the current position and time in case it turns into a triple
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
543 // click.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
544 triple_click_at = e->globalPos();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
545 triple_click.start(QApplication::doubleClickInterval());
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
546 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
547
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
548
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
549 // Handle a mouse move.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
550 void QsciScintillaBase::mouseMoveEvent(QMouseEvent *e)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
551 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
552 sci->ButtonMoveWithModifiers(Scintilla::Point(e->x(), e->y()), 0,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
553 eventModifiers(e));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
554 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
555
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
556
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
557 // Handle a mouse button press.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
558 void QsciScintillaBase::mousePressEvent(QMouseEvent *e)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
559 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
560 setFocus();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
561
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
562 Scintilla::Point pt(e->x(), e->y());
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
563
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
564 if (e->button() == Qt::LeftButton || e->button() == Qt::RightButton)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
565 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
566 unsigned clickTime;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
567
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
568 // It is a triple click if the timer is running and the mouse hasn't
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
569 // moved too much.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
570 if (triple_click.isActive() && (e->globalPos() - triple_click_at).manhattanLength() < QApplication::startDragDistance())
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
571 clickTime = sci->lastClickTime + Scintilla::Platform::DoubleClickTime() - 1;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
572 else
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
573 clickTime = sci->lastClickTime + Scintilla::Platform::DoubleClickTime() + 1;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
574
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
575 triple_click.stop();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
576
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
577 // Scintilla uses the Alt modifier to initiate rectangular selection.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
578 // However the GTK port (under X11, not Windows) uses the Control
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
579 // modifier (by default, although it is configurable). It does this
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
580 // because most X11 window managers hijack Alt-drag to move the window.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
581 // We do the same, except that (for the moment at least) we don't allow
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
582 // the modifier to be configured.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
583 bool shift = e->modifiers() & Qt::ShiftModifier;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
584 bool ctrl = e->modifiers() & Qt::ControlModifier;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
585 #if defined(Q_OS_MAC) || defined(Q_OS_WIN)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
586 bool alt = e->modifiers() & Qt::AltModifier;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
587 #else
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
588 bool alt = ctrl;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
589 #endif
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
590
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
591 if (e->button() == Qt::LeftButton)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
592 sci->ButtonDownWithModifiers(pt, clickTime,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
593 QsciScintillaQt::ModifierFlags(shift, ctrl, alt));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
594 else
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
595 sci->RightButtonDownWithModifiers(pt, clickTime,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
596 QsciScintillaQt::ModifierFlags(shift, ctrl, alt));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
597 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
598 else if (e->button() == Qt::MidButton)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
599 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
600 QClipboard *cb = QApplication::clipboard();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
601
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
602 if (cb->supportsSelection())
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
603 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
604 int pos = sci->PositionFromLocation(pt);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
605
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
606 sci->sel.Clear();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
607 sci->SetSelection(pos, pos);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
608
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
609 sci->pasteFromClipboard(QClipboard::Selection);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
610 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
611 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
612 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
613
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
614
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
615 // Handle a mouse button releases.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
616 void QsciScintillaBase::mouseReleaseEvent(QMouseEvent *e)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
617 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
618 if (e->button() != Qt::LeftButton)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
619 return;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
620
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
621 Scintilla::Point pt(e->x(), e->y());
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
622
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
623 if (sci->HaveMouseCapture())
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
624 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
625 bool ctrl = e->modifiers() & Qt::ControlModifier;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
626
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
627 sci->ButtonUpWithModifiers(pt, 0,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
628 QsciScintillaQt::ModifierFlags(false, ctrl, false));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
629 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
630
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
631 #if QT_VERSION >= 0x050000
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
632 if (!sci->pdoc->IsReadOnly() && !sci->PointInSelMargin(pt) && qApp->autoSipEnabled())
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
633 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
634 QStyle::RequestSoftwareInputPanel rsip = QStyle::RequestSoftwareInputPanel(style()->styleHint(QStyle::SH_RequestSoftwareInputPanel));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
635
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
636 if (!clickCausedFocus || rsip == QStyle::RSIP_OnMouseClick)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
637 qApp->inputMethod()->show();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
638 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
639
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
640 clickCausedFocus = false;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
641 #endif
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
642 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
643
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
644
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
645 // Handle paint events.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
646 void QsciScintillaBase::paintEvent(QPaintEvent *e)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
647 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
648 sci->paintEvent(e);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
649 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
650
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
651
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
652 // Handle resize events.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
653 void QsciScintillaBase::resizeEvent(QResizeEvent *)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
654 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
655 sci->ChangeSize();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
656 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
657
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
658
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
659 // Re-implemented to suppress the default behaviour as Scintilla works at a
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
660 // more fundamental level. Note that this means that replacing the scrollbars
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
661 // with custom versions does not work.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
662 void QsciScintillaBase::scrollContentsBy(int, int)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
663 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
664 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
665
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
666
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
667 // Handle the vertical scrollbar.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
668 void QsciScintillaBase::handleVSb(int value)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
669 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
670 sci->ScrollTo(value);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
671 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
672
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
673
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
674 // Handle the horizontal scrollbar.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
675 void QsciScintillaBase::handleHSb(int value)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
676 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
677 sci->HorizontalScrollTo(value);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
678 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
679
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
680
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
681 // Handle drag enters.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
682 void QsciScintillaBase::dragEnterEvent(QDragEnterEvent *e)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
683 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
684 QsciScintillaBase::dragMoveEvent(e);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
685 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
686
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
687
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
688 // Handle drag leaves.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
689 void QsciScintillaBase::dragLeaveEvent(QDragLeaveEvent *)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
690 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
691 sci->SetDragPosition(Scintilla::SelectionPosition());
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
692 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
693
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
694
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
695 // Handle drag moves.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
696 void QsciScintillaBase::dragMoveEvent(QDragMoveEvent *e)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
697 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
698 if (e->mimeData()->hasUrls())
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
699 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
700 e->acceptProposedAction();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
701 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
702 else
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
703 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
704 sci->SetDragPosition(
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
705 sci->SPositionFromLocation(
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
706 Scintilla::Point(e->pos().x(), e->pos().y()), false,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
707 false, sci->UserVirtualSpace()));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
708
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
709 acceptAction(e);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
710 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
711 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
712
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
713
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
714 // Handle drops.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
715 void QsciScintillaBase::dropEvent(QDropEvent *e)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
716 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
717 if (e->mimeData()->hasUrls())
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
718 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
719 e->acceptProposedAction();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
720
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
721 foreach (const QUrl &url, e->mimeData()->urls())
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
722 emit SCN_URIDROPPED(url);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
723
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
724 return;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
725 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
726
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
727 acceptAction(e);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
728
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
729 if (!e->isAccepted())
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
730 return;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
731
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
732 bool moving;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
733 int len;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
734 const char *s;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
735 bool rectangular;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
736
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
737 moving = (e->dropAction() == Qt::MoveAction);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
738
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
739 QByteArray text = fromMimeData(e->mimeData(), rectangular);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
740 len = text.length();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
741 s = text.data();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
742
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
743 std::string dest = Scintilla::Document::TransformLineEnds(s, len,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
744 sci->pdoc->eolMode);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
745
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
746 sci->DropAt(sci->posDrop, dest.c_str(), dest.length(), moving,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
747 rectangular);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
748
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
749 sci->Redraw();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
750 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
751
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
752
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
753 void QsciScintillaBase::acceptAction(QDropEvent *e)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
754 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
755 if (sci->pdoc->IsReadOnly() || !canInsertFromMimeData(e->mimeData()))
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
756 e->ignore();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
757 else
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
758 e->acceptProposedAction();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
759 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
760
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
761
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
762 // See if a MIME data object can be decoded.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
763 bool QsciScintillaBase::canInsertFromMimeData(const QMimeData *source) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
764 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
765 return source->hasFormat(mimeTextPlain);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
766 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
767
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
768
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
769 // Create text from a MIME data object.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
770 QByteArray QsciScintillaBase::fromMimeData(const QMimeData *source, bool &rectangular) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
771 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
772 // See if it is rectangular. We try all of the different formats that
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
773 // Scintilla supports in case we are working across different platforms.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
774 if (source->hasFormat(mimeRectangularWin))
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
775 rectangular = true;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
776 else if (source->hasFormat(mimeRectangular))
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
777 rectangular = true;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
778 else
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
779 rectangular = false;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
780
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
781 // Note that we don't support Scintilla's hack of adding a '\0' as Qt
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
782 // strips it off under the covers when pasting from another process.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
783 QString utf8 = source->text();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
784 QByteArray text;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
785
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
786 if (sci->IsUnicodeMode())
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
787 text = utf8.toUtf8();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
788 else
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
789 text = utf8.toLatin1();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
790
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
791 return text;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
792 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
793
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
794
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
795 // Create a MIME data object for some text.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
796 QMimeData *QsciScintillaBase::toMimeData(const QByteArray &text, bool rectangular) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
797 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
798 QMimeData *mime = new QMimeData;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
799
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
800 QString utf8;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
801
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
802 if (sci->IsUnicodeMode())
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
803 utf8 = QString::fromUtf8(text.constData(), text.size());
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
804 else
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
805 utf8 = QString::fromLatin1(text.constData(), text.size());
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
806
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
807 mime->setText(utf8);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
808
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
809 if (rectangular)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
810 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
811 // Use the platform specific "standard" for specifying a rectangular
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
812 // selection.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
813 #if defined(Q_OS_WIN)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
814 mime->setData(mimeRectangularWin, QByteArray());
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
815 #else
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
816 mime->setData(mimeRectangular, QByteArray());
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
817 #endif
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
818 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
819
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
820 return mime;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
821 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
822
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
823
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
824 // Connect up the vertical scroll bar.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
825 void QsciScintillaBase::connectVerticalScrollBar()
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
826 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
827 connect(verticalScrollBar(), SIGNAL(valueChanged(int)),
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
828 SLOT(handleVSb(int)));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
829 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
830
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
831
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
832 // Connect up the horizontal scroll bar.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
833 void QsciScintillaBase::connectHorizontalScrollBar()
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
834 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
835 connect(horizontalScrollBar(), SIGNAL(valueChanged(int)),
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
836 SLOT(handleHSb(int)));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
837 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
838
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
839
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
840 //! Replace the vertical scroll bar.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
841 void QsciScintillaBase::replaceVerticalScrollBar(QScrollBar *scrollBar)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
842 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
843 setVerticalScrollBar(scrollBar);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
844 connectVerticalScrollBar();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
845 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
846
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
847
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
848 // Replace the horizontal scroll bar.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
849 void QsciScintillaBase::replaceHorizontalScrollBar(QScrollBar *scrollBar)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
850 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
851 setHorizontalScrollBar(scrollBar);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
852 connectHorizontalScrollBar();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
853 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
854
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
855
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
856 // Return true if a context menu should be displayed. This is provided as a
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
857 // helper to QsciScintilla::contextMenuEvent(). A proper design would break
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
858 // backwards compatibility.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
859 bool QsciScintillaBase::contextMenuNeeded(int x, int y) const
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
860 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
861 Scintilla::Point pt(x, y);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
862
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
863 // Clear any selection if the mouse is outside.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
864 if (!sci->PointInSelection(pt))
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
865 sci->SetEmptySelection(sci->PositionFromLocation(pt));
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
866
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
867 // Respect SC_POPUP_*.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
868 return sci->ShouldDisplayPopup(pt);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
869 }
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
870
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
871
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
872 // Return the Scintilla keyboard modifiers set for a mouse event.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
873 int QsciScintillaBase::eventModifiers(QMouseEvent *e)
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
874 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
875 bool shift = e->modifiers() & Qt::ShiftModifier;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
876 bool ctrl = e->modifiers() & Qt::ControlModifier;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
877 bool alt = e->modifiers() & Qt::AltModifier;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
878
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
879 return QsciScintillaQt::ModifierFlags(shift, ctrl, alt);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
880 }