#include "softkeyboard.h" #include "ui_softkeyboard.h" #include "QLineEdit" #include "QTextEdit" #include SoftKeyBoard::SoftKeyBoard(QWidget *parent) : QWidget(parent), ui(new Ui::SoftKeyBoard), m_master(nullptr) { ui->setupUi(this); A_a_flag = 0; } SoftKeyBoard::~SoftKeyBoard() { delete ui; } void SoftKeyBoard :: SetMaster(QWidget * widget) { if(widget != nullptr) { m_master = widget; } ui->stackedWidget->setCurrentIndex(0); set_lower(); A_a_flag = 0; } void SoftKeyBoard::on_p_q_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_q->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_q->text()); return; } } void SoftKeyBoard::on_p_w_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_w->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_w->text()); return; } } void SoftKeyBoard::on_p_e_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_e->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_e->text()); return; } } void SoftKeyBoard::on_p_r_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_r->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_r->text()); return; } } void SoftKeyBoard::on_p_t_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_t->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_t->text()); return; } } void SoftKeyBoard::on_p_y_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_y->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_y->text()); return; } } void SoftKeyBoard::on_p_u_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_u->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_u->text()); return; } } void SoftKeyBoard::on_p_i_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_i->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_i->text()); return; } } void SoftKeyBoard::on_p_o_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_o->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_o->text()); return; } } void SoftKeyBoard::on_p_p_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_p->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_p->text()); return; } } void SoftKeyBoard::on_p_a_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_a->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_a->text()); return; } } void SoftKeyBoard::on_p_s_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_s->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_s->text()); return; } } void SoftKeyBoard::on_p_d_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_d->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_d->text()); return; } } void SoftKeyBoard::on_p_f_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_f->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_f->text()); return; } } void SoftKeyBoard::on_p_g_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_g->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_g->text()); return; } } void SoftKeyBoard::on_p_h_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_h->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_h->text()); return; } } void SoftKeyBoard::on_p_j_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_j->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_j->text()); return; } } void SoftKeyBoard::on_p_k_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_k->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_k->text()); return; } } void SoftKeyBoard::on_p_l_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_l->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_l->text()); return; } } void SoftKeyBoard::on_p_z_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_z->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_z->text()); return; } } void SoftKeyBoard::on_p_x_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_x->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_x->text()); return; } } void SoftKeyBoard::on_p_c_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_c->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_c->text()); return; } } void SoftKeyBoard::on_p_v_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_v->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_v->text()); return; } } void SoftKeyBoard::on_p_b_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_b->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_b->text()); return; } } void SoftKeyBoard::on_p_n_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_n->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_n->text()); return; } } void SoftKeyBoard::on_p_m_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_m->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_m->text()); return; } } void SoftKeyBoard::on_p_code_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_code->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_code->text()); return; } } void SoftKeyBoard::on_p_none_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(" "); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(" "); return; } } void SoftKeyBoard::on_p_tip_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_tip->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_tip->text()); return; } } void SoftKeyBoard::on_p_newLine_clicked() { m_master->setFocus(); QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText("\n"); return; } } void SoftKeyBoard::on_p_num_clicked() { ui->stackedWidget->setCurrentIndex(1); } void SoftKeyBoard::on_p_1_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_1->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_1->text()); return; } } void SoftKeyBoard::on_p_2_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_2->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_2->text()); return; } } void SoftKeyBoard::on_p_3_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_3->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_3->text()); return; } } void SoftKeyBoard::on_p_4_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_4->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_4->text()); return; } } void SoftKeyBoard::on_p_5_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_5->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_5->text()); return; } } void SoftKeyBoard::on_p_6_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_6->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_6->text()); return; } } void SoftKeyBoard::on_p_7_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_7->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_7->text()); return; } } void SoftKeyBoard::on_p_8_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_8->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_8->text()); return; } } void SoftKeyBoard::on_p_9_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_9->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_9->text()); return; } } void SoftKeyBoard::on_p_0_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_0->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_0->text()); return; } } void SoftKeyBoard::on_p_return_clicked() { ui->stackedWidget->setCurrentIndex(0); if(A_a_flag) { set_lower(); A_a_flag = 0; } } void SoftKeyBoard::on_p_space_clicked() { on_p_none_clicked(); } void SoftKeyBoard::on_p_newLine_1_clicked() { on_p_newLine_clicked(); } void SoftKeyBoard::on_p_Del_1_clicked() { on_p_Del_clicked(); } void SoftKeyBoard::on_p_close_1_clicked() { on_p_close_clicked(); } void SoftKeyBoard::on_p_at_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->insert(ui->p_at->text()); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { t_edit->insertPlainText(ui->p_at->text()); return; } } void SoftKeyBoard::on_p_Del_clicked() { if(m_master == nullptr) return; m_master->setFocus(); QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { l_edit->backspace(); return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { QTextCursor cursor = t_edit->textCursor(); cursor.deletePreviousChar(); return; } } void SoftKeyBoard ::set_lower() { ui->p_q->setText(ui->p_q->text().toLower()); ui->p_w->setText(ui->p_w->text().toLower()); ui->p_e->setText(ui->p_e->text().toLower()); ui->p_r->setText(ui->p_r->text().toLower()); ui->p_t->setText(ui->p_t->text().toLower()); ui->p_y->setText(ui->p_y->text().toLower()); ui->p_u->setText(ui->p_u->text().toLower()); ui->p_i->setText(ui->p_i->text().toLower()); ui->p_o->setText(ui->p_o->text().toLower()); ui->p_p->setText(ui->p_p->text().toLower()); ui->p_a->setText(ui->p_a->text().toLower()); ui->p_s->setText(ui->p_s->text().toLower()); ui->p_d->setText(ui->p_d->text().toLower()); ui->p_f->setText(ui->p_f->text().toLower()); ui->p_g->setText(ui->p_g->text().toLower()); ui->p_h->setText(ui->p_h->text().toLower()); ui->p_j->setText(ui->p_j->text().toLower()); ui->p_k->setText(ui->p_k->text().toLower()); ui->p_l->setText(ui->p_l->text().toLower()); ui->p_z->setText(ui->p_z->text().toLower()); ui->p_x->setText(ui->p_x->text().toLower()); ui->p_c->setText(ui->p_c->text().toLower()); ui->p_v->setText(ui->p_v->text().toLower()); ui->p_b->setText(ui->p_b->text().toLower()); ui->p_n->setText(ui->p_n->text().toLower()); ui->p_m->setText(ui->p_m->text().toLower()); } void SoftKeyBoard ::set_upper() { ui->p_q->setText(ui->p_q->text().toUpper()); ui->p_w->setText(ui->p_w->text().toUpper()); ui->p_e->setText(ui->p_e->text().toUpper()); ui->p_r->setText(ui->p_r->text().toUpper()); ui->p_t->setText(ui->p_t->text().toUpper()); ui->p_y->setText(ui->p_y->text().toUpper()); ui->p_u->setText(ui->p_u->text().toUpper()); ui->p_i->setText(ui->p_i->text().toUpper()); ui->p_o->setText(ui->p_o->text().toUpper()); ui->p_p->setText(ui->p_p->text().toUpper()); ui->p_a->setText(ui->p_a->text().toUpper()); ui->p_s->setText(ui->p_s->text().toUpper()); ui->p_d->setText(ui->p_d->text().toUpper()); ui->p_f->setText(ui->p_f->text().toUpper()); ui->p_g->setText(ui->p_g->text().toUpper()); ui->p_h->setText(ui->p_h->text().toUpper()); ui->p_j->setText(ui->p_j->text().toUpper()); ui->p_k->setText(ui->p_k->text().toUpper()); ui->p_l->setText(ui->p_l->text().toUpper()); ui->p_z->setText(ui->p_z->text().toUpper()); ui->p_x->setText(ui->p_x->text().toUpper()); ui->p_c->setText(ui->p_c->text().toUpper()); ui->p_v->setText(ui->p_v->text().toUpper()); ui->p_b->setText(ui->p_b->text().toUpper()); ui->p_n->setText(ui->p_n->text().toUpper()); ui->p_m->setText(ui->p_m->text().toUpper()); } void SoftKeyBoard::on_p_Caps_clicked() { if(A_a_flag == 0) { set_upper(); A_a_flag = 1; }else { set_lower(); A_a_flag = 0; } } void SoftKeyBoard::on_p_close_clicked() { //deselect() if(m_master == nullptr) return; QLineEdit *l_edit = dynamic_cast(m_master); if(l_edit != nullptr) { //l_edit->selectionEnd(); m_master = nullptr; set_lower(); qDebug() << "kaixinmagua"; hide(); qDebug() << "kaixinmagua11111111111"; return; } QTextEdit *t_edit = dynamic_cast(m_master); if(t_edit != nullptr) { m_master = nullptr; set_lower(); qDebug() << "kaixinmagua"; hide(); qDebug() << "kaixinmgua2222222222222222"; return; } } void SoftKeyBoard::on_p_tip_1_clicked() { on_p_tip_clicked(); }