Rabbit Remote Control 0.0.37
Loading...
Searching...
No Matches
ParameterTerminal.cpp
1#include "ParameterTerminal.h"
2#include <QApplication>
3#include <QDebug>
4#include <QSettings>
5
6CParameterTerminal::CParameterTerminal(QObject *parent, const QString& szPrefix)
7 : CParameter(parent, szPrefix)
8{
9 m_Font = QApplication::font();
10#ifdef Q_OS_MACOS
11 m_Font.setFamily(QStringLiteral("Monaco"));
12#elif defined(Q_WS_QWS)
13 m_Font.setFamily(QStringLiteral("fixed"));
14#else
15 m_Font.setFamily(QStringLiteral("Monospace"));
16#endif
17 m_Font.setStyleHint(QFont::TypeWriter);
18 m_Font.setPointSize(12);
19
20 m_bSizeHint = false;
21 m_szColorScheme = "GreenOnBlack";
22 m_CursorShape = Konsole::Emulation::KeyboardCursorShape::BlockCursor;
23 m_ScrollBarPosition = QTermWidget::ScrollBarRight;
24 m_nTransparency = 0;
25 m_bFlowControl = false;
26 m_bFlowControlWarning = false;
27 m_bMotionAfterPasting = false;
28 m_bDisableBracketedPasteMode = false;
29 m_bDirectional = true;
30
31 m_szTextCodec = "UTF-8";
32 m_nHistorySize = 1000;
33}
34
35CParameterTerminal& CParameterTerminal::operator=(const CParameterTerminal& in)
36{
37 if(this == &in)
38 return *this;
39 m_Font = in.m_Font;
40 m_bSizeHint = in.m_bSizeHint;
41 m_szColorScheme = in.m_szColorScheme;
42 m_CursorShape = in.m_CursorShape;
43 m_ScrollBarPosition = in.m_ScrollBarPosition;
44 m_nTransparency = in.m_nTransparency;
45 m_BackgroupImage = in.m_BackgroupImage;
46 m_bFlowControl = in.m_bFlowControl;
47 m_bFlowControlWarning = in.m_bFlowControlWarning;
48 m_bMotionAfterPasting = in.m_bMotionAfterPasting;
49 m_bDisableBracketedPasteMode = in.m_bDisableBracketedPasteMode;
50 m_bDirectional = in.m_bDirectional;
51 m_szKeyBindings = in.m_szKeyBindings;
52 m_szTextCodec = in.m_szTextCodec;
53 m_nHistorySize = in.m_nHistorySize;
54 return *this;
55}
56
57int CParameterTerminal::OnLoad(QSettings &set)
58{
59 m_Font.fromString(set.value("Terminal/Font", m_Font.toString()).toString());
60 SetSizeHint(set.value("Terminal/SizeHint", GetSizeHint()).toBool());
61 m_szColorScheme = set.value("Terminal/ColorScheme", m_szColorScheme).toString();
62 m_nTransparency = set.value("Terminal/Transparency",
63 m_nTransparency).toInt();
64 m_bFlowControl = set.value("Terminal/flowControl", m_bFlowControl).toBool();
65 m_bFlowControlWarning = set.value("Terminal/flowControlWarning",
66 m_bFlowControlWarning).toBool();
67 m_bMotionAfterPasting = set.value("Terminal/motionAfterPasting",
68 m_bMotionAfterPasting).toBool();
69 m_bDirectional = set.value("Terminal/Directional", m_bDirectional).toBool();
70 m_bDisableBracketedPasteMode = set.value("Terminal/disableBracketedPasteMode",
71 m_bDisableBracketedPasteMode).toBool();
72 m_BackgroupImage = set.value("Terminal/BackgroupImage",
73 m_BackgroupImage).toString();
74 m_CursorShape = static_cast<Konsole::Emulation::KeyboardCursorShape>(
75 set.value("Terminal/cursorShape",static_cast<int>(m_CursorShape)).toInt());
76 m_ScrollBarPosition = static_cast<QTermWidget::ScrollBarPosition>
77 (set.value("Terminal/scrollBarPosition",
78 static_cast<int>(m_ScrollBarPosition)).toInt());
79 m_szKeyBindings = set.value("Terminal/KeyBindings", m_szKeyBindings).toString();
80 m_szTextCodec = set.value("Terminal/TextCodec", m_szTextCodec).toString();
81 m_nHistorySize = set.value("Terminal/HistorySize", m_nHistorySize).toInt();
82 return 0;
83}
84
85int CParameterTerminal::OnSave(QSettings &set)
86{
87 set.setValue("Terminal/Font", m_Font.toString());
88 set.setValue("Terminal/SizeHint", GetSizeHint());
89 set.setValue("Terminal/ColorScheme", m_szColorScheme);
90 set.setValue("Terminal/Transparency", m_nTransparency);
91 set.setValue("Terminal/flowControl", m_bFlowControl);
92 set.setValue("Terminal/flowControlWarning", m_bFlowControlWarning);
93 set.setValue("Terminal/motionAfterPasting", m_bMotionAfterPasting);
94 set.setValue("Terminal/Directional", m_bDirectional);
95 set.setValue("Terminal/disableBracketedPasteMode", m_bDisableBracketedPasteMode);
96 set.setValue("Terminal/BackgroupImage", m_BackgroupImage);
97 set.setValue("Terminal/cursorShape", static_cast<int>(m_CursorShape));
98 set.setValue("Terminal/scrollBarPosition",
99 static_cast<int>(m_ScrollBarPosition));
100 set.setValue("Terminal/KeyBindings", m_szKeyBindings);
101 set.setValue("Terminal/TextCodec", m_szTextCodec);
102 set.setValue("Terminal/HistorySize", m_nHistorySize);
103 return 0;
104}
105
106int CParameterTerminal::GetHistorySize() const
107{
108 return m_nHistorySize;
109}
110
111void CParameterTerminal::SetHistorySize(int newHistorySize)
112{
113 if(m_nHistorySize == newHistorySize)
114 return;
115 m_nHistorySize = newHistorySize;
116 SetModified(true);
117}
118
119const QString &CParameterTerminal::GetTextCodec() const
120{
121 return m_szTextCodec;
122}
123
124void CParameterTerminal::SetTextCodec(const QString &newTextCodec)
125{
126 if(m_szTextCodec == newTextCodec)
127 return;
128 m_szTextCodec = newTextCodec;
129 SetModified(true);
130}
131
132const QString &CParameterTerminal::GetKeyBindings() const
133{
134 return m_szKeyBindings;
135}
136
137void CParameterTerminal::SetKeyBindings(const QString &newSzKeyBindings)
138{
139 if(m_szKeyBindings == newSzKeyBindings)
140 return;
141 m_szKeyBindings = newSzKeyBindings;
142 SetModified(true);
143}
144
145bool CParameterTerminal::GetDirectional() const
146{
147 return m_bDirectional;
148}
149
150void CParameterTerminal::SetDirectional(bool newBiDirectional)
151{
152 if(m_bDirectional == newBiDirectional)
153 return;
154 m_bDirectional = newBiDirectional;
155 SetModified(true);
156}
157
158bool CParameterTerminal::GetDisableBracketedPasteMode() const
159{
160 return m_bDisableBracketedPasteMode;
161}
162
163void CParameterTerminal::SetDisableBracketedPasteMode(bool newDisableBracketedPasteMode)
164{
165 if(m_bDisableBracketedPasteMode == newDisableBracketedPasteMode)
166 return;
167 m_bDisableBracketedPasteMode = newDisableBracketedPasteMode;
168 SetModified(true);
169}
170
171bool CParameterTerminal::GetMotionAfterPasting() const
172{
173 return m_bMotionAfterPasting;
174}
175
176void CParameterTerminal::SetMotionAfterPasting(bool newMotionAfterPasting)
177{
178 if(m_bMotionAfterPasting == newMotionAfterPasting)
179 return;
180 m_bMotionAfterPasting = newMotionAfterPasting;
181 SetModified(true);
182}
183
184bool CParameterTerminal::GetFlowControlWarning() const
185{
186 return m_bFlowControlWarning;
187}
188
189void CParameterTerminal::SetFlowControlWarning(bool newFlowControlWarning)
190{
191 if(m_bFlowControlWarning == newFlowControlWarning)
192 return;
193 m_bFlowControlWarning = newFlowControlWarning;
194 SetModified(true);
195}
196
197bool CParameterTerminal::GetFlowControl() const
198{
199 return m_bFlowControl;
200}
201
202void CParameterTerminal::SetFlowControl(bool newFlowControl)
203{
204 if(m_bFlowControl == newFlowControl)
205 return;
206 m_bFlowControl = newFlowControl;
207 SetModified(true);
208}
209
210const QString &CParameterTerminal::GetBackgroupImage() const
211{
212 return m_BackgroupImage;
213}
214
215void CParameterTerminal::SetBackgroupImage(const QString &newBackgroupImage)
216{
217 if(m_BackgroupImage == newBackgroupImage)
218 return;
219 m_BackgroupImage = newBackgroupImage;
220 SetModified(true);
221}
222
223int CParameterTerminal::GetTransparency() const
224{
225 return m_nTransparency;
226}
227
228void CParameterTerminal::SetTransparency(int newTermTransparency)
229{
230 if(m_nTransparency == newTermTransparency)
231 return;
232 m_nTransparency = newTermTransparency;
233 SetModified(true);
234}
235
236QTermWidget::ScrollBarPosition CParameterTerminal::GetScrollBarPosition() const
237{
238 return m_ScrollBarPosition;
239}
240
241void CParameterTerminal::SetScrollBarPosition(QTermWidget::ScrollBarPosition newScrollBarPosition)
242{
243 if(m_ScrollBarPosition == newScrollBarPosition)
244 return;
245 m_ScrollBarPosition = newScrollBarPosition;
246 SetModified(true);
247}
248
249Konsole::Emulation::KeyboardCursorShape CParameterTerminal::GetCursorShape() const
250{
251 return m_CursorShape;
252}
253
254void CParameterTerminal::SetCursorShape(Konsole::Emulation::KeyboardCursorShape newCursorShape)
255{
256 if(m_CursorShape == newCursorShape)
257 return;
258 m_CursorShape = newCursorShape;
259 SetModified(true);
260}
261
262const QString &CParameterTerminal::GetColorScheme() const
263{
264 return m_szColorScheme;
265}
266
267void CParameterTerminal::SetColorScheme(const QString &newColorScheme)
268{
269 if(m_szColorScheme == newColorScheme)
270 return;
271 m_szColorScheme = newColorScheme;
272 SetModified(true);
273}
274
275bool CParameterTerminal::GetSizeHint() const
276{
277 return m_bSizeHint;
278}
279
280void CParameterTerminal::SetSizeHint(bool newSizeHint)
281{
282 if(m_bSizeHint == newSizeHint)
283 return;
284 m_bSizeHint = newSizeHint;
285 SetModified(true);
286}
287
288const QFont &CParameterTerminal::GetFont() const
289{
290 return m_Font;
291}
292
293void CParameterTerminal::SetFont(const QFont &newFont)
294{
295 if(m_Font == newFont)
296 return;
297 m_Font = newFont;
298 SetModified(true);
299}
Parameter interface.
Definition Parameter.h:209
int SetModified(bool bModified=true)
When setting parameters, if there is a modification, it is called.