Rabbit Remote Control 0.0.37
Loading...
Searching...
No Matches
ParameterTerminalUI.cpp
1#include <QCoreApplication>
2#include <QLocale>
3#include <QDebug>
4#include <QTranslator>
5#include <QFont>
6#include <QLoggingCategory>
7
8#include "qtermwidget.h"
9
10#include "ParameterTerminalUI.h"
11#include "ui_ParameterTerminalUI.h"
12
13#include "RabbitCommonDir.h"
14#include "RabbitCommonTools.h"
15
16static Q_LOGGING_CATEGORY(log, "Parameter.Terminal.UI")
17
19 CParameterUI(parent),
20 ui(new Ui::CParameterTerminalUI),
21 m_pPara(nullptr)
22{
23 ui->setupUi(this);
24}
25
26CParameterTerminalUI::~CParameterTerminalUI()
27{
28 delete ui;
29}
30
31void CParameterTerminalUI::on_fontComboBox_currentFontChanged(const QFont &f)
32{
33 QFont font = f;
34 font.setPointSize(ui->spFontSize->value());
35 ui->lbFont->setFont(font);
36 ui->lbFont->setText(tr("Example: Display font"));
37}
38
39void CParameterTerminalUI::on_spFontSize_valueChanged(int size)
40{
41 QFont font = ui->fontComboBox->currentFont();
42 font.setPointSize(size);
43 ui->lbFont->setFont(font);
44 ui->lbFont->setText(tr("Example: Display font"));
45}
46
48{
49 if(!m_pPara) return -1;
50 m_pPara->SetFont(ui->fontComboBox->currentFont());
51 QFont font = m_pPara->GetFont();
52 font.setPointSize(ui->spFontSize->value());
53 m_pPara->SetFont(font);
54 m_pPara->SetSizeHint(ui->cbShowResize->isChecked());
55 m_pPara->SetColorScheme(ui->cbColorScheme->currentText());
56 m_pPara->SetCursorShape(static_cast<Konsole::Emulation::KeyboardCursorShape>(ui->cbCursorShape->currentData().toInt()));
57 m_pPara->SetScrollBarPosition(static_cast<QTermWidget::ScrollBarPosition>(ui->cbScrollBarPositioin->currentData().toInt()));
58 m_pPara->SetTransparency(ui->spTerminalTransparecy->value());
59 m_pPara->SetFlowControl(ui->cbFlowControl->isChecked());
60 m_pPara->SetBackgroupImage(ui->leImage->text());
61 m_pPara->SetDirectional(ui->cbBiDirectional->isChecked());
62 m_pPara->SetKeyBindings(ui->cbKeyBinding->currentText());
63
64 if(ui->cbHistoryUnlimited->isChecked())
65 m_pPara->SetHistorySize(-1);
66 else
67 m_pPara->SetHistorySize(ui->sbHistorySize->value());
68
69 return 0;
70}
71
72void CParameterTerminalUI::on_pbBrowser_clicked()
73{
74 QString file = QFileDialog::getOpenFileName(this,
75 tr("Backgroup image"), QString(),
76 tr("Images (*.png *.xpm *.jpg *.bmp *.jpeg);;All files (*.*)"));
77 if(!file.isEmpty())
78 ui->leImage->setText(file);
79}
80
82{
83 m_pPara = qobject_cast<CParameterTerminal*>(pParameter);
84 Q_ASSERT(m_pPara);
85 if(!m_pPara) return -1;
86
87 QFont f = m_pPara->GetFont();
88 ui->spFontSize->setValue(f.pointSize());
89 ui->lbFont->setFont(f);
90
91 ui->fontComboBox->setFontFilters(QFontComboBox::MonospacedFonts
92 | QFontComboBox::NonScalableFonts
93 | QFontComboBox::ScalableFonts);
94 ui->fontComboBox->setCurrentFont(f);
95 ui->fontComboBox->setEditable(false);
96
97 ui->cbShowResize->setChecked(m_pPara->GetSizeHint());
98
99 ui->cbCursorShape->addItem(tr("BlockCursor"), (int)Konsole::Emulation::KeyboardCursorShape::BlockCursor);
100 ui->cbCursorShape->addItem(tr("UnderlineCursor"), (int)Konsole::Emulation::KeyboardCursorShape::UnderlineCursor);
101 ui->cbCursorShape->addItem(tr("IBeamCursor"), (int)Konsole::Emulation::KeyboardCursorShape::BlockCursor);
102 ui->cbCursorShape->setCurrentIndex((int)m_pPara->GetCursorShape());
103
104 ui->cbColorScheme->addItems(QTermWidget::availableColorSchemes());
105 if(!m_pPara->GetColorScheme().isEmpty())
106 ui->cbColorScheme->setCurrentText(m_pPara->GetColorScheme());
107
108 ui->cbScrollBarPositioin->addItem(tr("No"), QTermWidget::NoScrollBar);
109 ui->cbScrollBarPositioin->addItem(tr("Left"), QTermWidget::ScrollBarLeft);
110 ui->cbScrollBarPositioin->addItem(tr("Right"), QTermWidget::ScrollBarRight);
111 ui->cbScrollBarPositioin->setCurrentIndex(m_pPara->GetScrollBarPosition());
112
113 ui->spTerminalTransparecy->setValue(m_pPara->GetTransparency());
114 ui->cbFlowControl->setChecked(m_pPara->GetFlowControl());
115 ui->cbBiDirectional->setChecked(m_pPara->GetDirectional());
116 ui->leImage->setText(m_pPara->GetBackgroupImage());
117
118 ui->cbKeyBinding->addItems(QTermWidget::availableKeyBindings());
119 ui->cbKeyBinding->setCurrentText(m_pPara->GetKeyBindings());
120
121 if(0 > m_pPara->GetHistorySize())
122 {
123 ui->cbHistoryUnlimited->setChecked(true);
124 ui->sbHistorySize->setValue(1000);
125 }
126 else
127 {
128 ui->cbHistorySize->setChecked(true);
129 ui->sbHistorySize->setValue(m_pPara->GetHistorySize());
130 }
131 return 0;
132}
virtual int SetParameter(CParameter *pParameter) override
[override functions]
virtual int Accept() override
Accept parameters.
The parameter UI interface.
Definition ParameterUI.h:15
Parameter interface.
Definition Parameter.h:209