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