xref: /OK3568_Linux_fs/app/forlinx/forlinx_up4_qt/wifi/mainwindow.cpp (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 #include "mainwindow.h"
2 #include "ui_mainwindow.h"
3 #include <QMessageBox>
4 #include <QFile>
5 #include <DWKeyboard/KeyboardGlobal.h>
6 
MainWindow(QWidget * parent)7 MainWindow::MainWindow(QWidget *parent) :
8     QMainWindow(parent),
9     ui(new Ui::MainWindow)
10 {
11     ui->setupUi(this);
12 	GlobalInit();
13 	setWindowState(Qt::WindowMaximized);
14 	setWindowFlags(Qt::FramelessWindowHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint);
15     ui->hostip->installEventFilter(this);
16     ui->ssid->installEventFilter(this);
17     ui->pawd->installEventFilter(this);
18 
19     ui->hostip->setText("192.168.1.111");
20 
21     myprocess = new QProcess(this);
22     connect(myprocess, SIGNAL(readyReadStandardOutput()),this, SLOT(result()));
23     connect(myprocess, SIGNAL(readyReadStandardError()),this, SLOT(result()));
24 
25     connect(ui->exitBtn, &QPushButton::clicked, this, [=](){
26 	close();
27     });
28 }
29 
~MainWindow()30 MainWindow::~MainWindow()
31 {
32     delete ui;
33 }
34 
result()35 void MainWindow::result()
36 {
37     QString abc = myprocess->readAllStandardOutput();
38     ui->result->append(abc.trimmed());
39     QString efg = myprocess->readAllStandardError();
40     if(efg.length()>1)ui->result->append(efg.trimmed());
41 }
42 
eventFilter(QObject * watched,QEvent * event)43 bool MainWindow::eventFilter(QObject *watched, QEvent *event)
44 {
45     static bool mFocusIn = false;
46     if (event->type()==QEvent::FocusIn)
47     {
48 	mFocusIn = true;
49     }
50     else if (event->type()==QEvent::FocusOut)
51     {
52 	PlatformInputContextBase->FocusOut(watched);
53 	mFocusIn = false;
54     }
55     if (mFocusIn && event->type() == QEvent::MouseButtonPress) {
56    	QMouseEvent *e = (QMouseEvent *)event;
57 	PlatformInputContextBase->FocusIn(watched, e->globalPos());
58     }
59 
60     return QMainWindow::eventFilter(watched,event);
61 
62 }
63 
64 
closeEvent(QCloseEvent *)65 void MainWindow::closeEvent(QCloseEvent *)
66 {
67     myprocess->kill();
68     destroy();
69     exit(0);
70 }
71 
72 
on_connect_clicked()73 void MainWindow::on_connect_clicked()
74 {
75     if(ui->ssid->text() == QString(""))
76     {
77         QMessageBox::about(this,"error","ssid cannot be empty!");
78         return;
79     }
80     if(ui->pawd->text() == QString(""))
81     {
82         myprocess->start(tr("/usr/bin/fltest_wifi.sh -i %1 -s %2 -p %3")
83                         .arg(ui->comboBox->currentText())
84                         .arg(ui->ssid->text())
85                         .arg("NONE"));
86     }
87     else
88     {
89         myprocess->start(tr("/usr/bin/fltest_wifi.sh -i %1 -s %2 -p %3")
90                         .arg(ui->comboBox->currentText())
91                         .arg(ui->ssid->text())
92                         .arg(ui->pawd->text()));
93     }
94 }
95 
on_status_clicked()96 void MainWindow::on_status_clicked()
97 {
98     ui->result->clear();
99     myprocess->start(tr("wpa_cli -i%1 status").arg(ui->comboBox->currentText()));
100 }
101 
on_ping_clicked()102 void MainWindow::on_ping_clicked()
103 {
104     ui->result->clear();
105     if(ui->hostip->text() == QString(""))
106     {
107         QMessageBox::about(this,"error","hostname cannot be empty!");
108         return;
109     }
110 
111     myprocess->start(tr("ping %1 -w 5").arg(ui->hostip->text()));
112     ui->result->append(QString("ping ")+ui->hostip->text());
113 }
114