Solve the problem of round corner in frosted glass effect
This commit is contained in:
parent
460122d671
commit
4d19e113ad
10
confform.cpp
10
confform.cpp
|
@ -36,7 +36,15 @@ ConfForm::ConfForm(QWidget *parent) :
|
|||
this->setWindowTitle(tr("edit network"));//"网络设置"
|
||||
this->setAttribute(Qt::WA_TranslucentBackground);
|
||||
//需要添加 void paintEvent(QPaintEvent *event) 函数
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
QPainterPath path;
|
||||
auto rect = this->rect();
|
||||
rect.adjust(0, 0, -0, -0);
|
||||
path.addRoundedRect(rect, 6, 6);
|
||||
setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
|
||||
|
||||
// this->setStyleSheet("QWidget{border-radius:6px;border:none;}");
|
||||
ui->centralWidget->setStyleSheet("#centralWidget{border:1px solid rgba(255,255,255,0.05);border-radius:6px;background:rgba(19,19,20,0.9);}");
|
||||
|
||||
ui->lbName->setText(tr("Network name: "));//"网络名称:"
|
||||
ui->lbTxt1->setText(tr("Method: "));//"编辑IP设置:"
|
||||
|
|
|
@ -367,6 +367,8 @@ void KylinDBus::onNewConnection(QDBusObjectPath objPath)
|
|||
void KylinDBus::onLanPropertyChanged(QVariantMap qvm)
|
||||
{
|
||||
if (!isRunningFunction) {
|
||||
syslog(LOG_DEBUG, "kylin-nm receive a signal about interface 'Device.Wired' propertiesChanged.");
|
||||
qDebug()<<"kylin-nm receive a signal about interface 'Device.Wired' propertiesChanged.";
|
||||
isRunningFunction = true;
|
||||
time->start(3000);
|
||||
|
||||
|
|
|
@ -55,6 +55,7 @@ SOURCES += \
|
|||
backthread.cpp \
|
||||
onelancform.cpp \
|
||||
loadingdiv.cpp \
|
||||
utils.cpp \
|
||||
wireless-security/dlgconnhidwifi.cpp \
|
||||
wireless-security/dlgconnhidwifisecfast.cpp \
|
||||
wireless-security/dlgconnhidwifisectunneltls.cpp \
|
||||
|
@ -66,8 +67,7 @@ SOURCES += \
|
|||
wireless-security/dlgconnhidwifileap.cpp \
|
||||
wireless-security/dlgconnhidwifiwpa.cpp \
|
||||
kylin-dbus-interface.cpp \
|
||||
hot-spot/dlghotspotcreate.cpp \
|
||||
networkspeed.cpp
|
||||
hot-spot/dlghotspotcreate.cpp
|
||||
|
||||
HEADERS += \
|
||||
mainwindow.h \
|
||||
|
@ -78,6 +78,7 @@ HEADERS += \
|
|||
backthread.h \
|
||||
onelancform.h \
|
||||
loadingdiv.h \
|
||||
utils.h \
|
||||
wireless-security/dlgconnhidwifi.h \
|
||||
wireless-security/dlgconnhidwifisecfast.h \
|
||||
wireless-security/dlgconnhidwifisectunneltls.h \
|
||||
|
@ -90,8 +91,7 @@ HEADERS += \
|
|||
wireless-security/dlgconnhidwifiwpa.h \
|
||||
wireless-security/kylinheadfile.h \
|
||||
kylin-dbus-interface.h \
|
||||
hot-spot/dlghotspotcreate.h \
|
||||
networkspeed.h
|
||||
hot-spot/dlghotspotcreate.h
|
||||
|
||||
FORMS += \
|
||||
mainwindow.ui \
|
||||
|
|
307
mainwindow.cpp
307
mainwindow.cpp
|
@ -34,14 +34,19 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
|
||||
checkSingle();
|
||||
|
||||
// 如果使用Qt::Popup 任务栏不显示且保留X事件如XCB_FOCUS_OUT, 但如果indicator点击鼠标右键触发,XCB_FOCUS_OUT事件依然会失效
|
||||
// 如果使用Qt::ToolTip, Qt::Tool + Qt::WindowStaysOnTopHint, Qt::X11BypassWindowManagerHint等flag则会导致X事件失效
|
||||
// 如果使用Qt::Popup 任务栏不显示且保留X事件如XCB_FOCUS_OUT, 但如果indicator点击鼠标右键触发,XCB_FOCUS_OUT事件依然会失效
|
||||
// 如果使用Qt::ToolTip, Qt::Tool + Qt::WindowStaysOnTopHint, Qt::X11BypassWindowManagerHint等flag则会导致X事件失效
|
||||
this->setWindowFlags(Qt::FramelessWindowHint | Qt::Popup);//QTool
|
||||
// this->setWindowFlags(Qt::FramelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHint);
|
||||
// this->setWindowFlags(Qt::FramelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHint);
|
||||
|
||||
//this->setWindowOpacity(0.7);
|
||||
this->setAttribute(Qt::WA_TranslucentBackground);//设置窗口背景透明
|
||||
//this->setStyleSheet("QWidget{border-top-left-radius:6px;border-top-right-radius:6px;}");
|
||||
|
||||
QPainterPath path;
|
||||
auto rect = this->rect();
|
||||
rect.adjust(0, 0, -0, -0);
|
||||
path.addRoundedRect(rect, 6, 6);
|
||||
setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
|
||||
|
||||
this->setStyleSheet("QWidget{border:none;border-radius:6px;}");
|
||||
this->setStyleSheet("QToolTip{background:rgba(26,26,26,0.7);"
|
||||
"font: 14px;"
|
||||
|
@ -51,7 +56,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
"padding: 0px 5px;"
|
||||
"outline:none;}");
|
||||
|
||||
ui->centralWidget->setStyleSheet("#centralWidget{border:1px solid rgba(255,255,255,0.05);border-radius:6px;background:rgba(19,19,20,0.95);}");
|
||||
ui->centralWidget->setStyleSheet("#centralWidget{border:1px solid rgba(255,255,255,0.05);border-radius:6px;background:rgba(19,19,20,0.9);}");
|
||||
|
||||
lname = "-1";
|
||||
wname = "-1";
|
||||
|
@ -61,6 +66,28 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
currentActWifiSignalLv = -1;
|
||||
count_loop = 0;
|
||||
|
||||
btnOffQss = "QLabel{min-width: 37px; min-height: 37px;max-width:37px; max-height: 37px;border-radius: 4px; background-color:rgba(255,255,255,0)}";
|
||||
btnOnQss = "QLabel{min-width: 37px; min-height: 37px;max-width:37px; max-height: 37px;border-radius: 4px; background-color:rgba(61,107,229,1)}";
|
||||
btnBgOffQss = "QLabel{min-width: 48px; min-height: 22px;max-width:48px; max-height: 22px;border-radius: 10px; background-color:rgba(255,255,255,0.2)}";
|
||||
btnBgOnQss = "QLabel{min-width: 48px; min-height: 22px;max-width:48px; max-height: 22px;border-radius: 10px; background-color:rgba(61,107,229,1);}";
|
||||
scrollBarQss = "QScrollBar:vertical{width:10px;background:rgba(48,48,51,1);border-radius:6px;}"
|
||||
"QScrollBar::up-arrow:vertical{height:0px;}"
|
||||
"QScrollBar::sub-line:vertical{border:0px solid;height:0px}"
|
||||
"QScrollBar::sub-page:vertical{background:transparent;}"
|
||||
"QScrollBar::handle:vertical{width:4px;background:rgba(72,72,76,1);border-radius:3px;}"
|
||||
"QScrollBar::handle:vertical:hover{width:4px;background:rgba(97,97,102,1);border-radius:3px;}"
|
||||
"QScrollBar::handle:vertical:pressed{width:4px;background:rgba(133,133,140,1);border-radius:3px;}"
|
||||
"QScrollBar::add-page:vertical{background:transparent;}"
|
||||
"QScrollBar::add-line:vertical{border:0px solid;height:0px}"
|
||||
"QScrollBar::down-arrow:vertical{height:0px;}";
|
||||
leftBtnQss = "QPushButton{border:0px;border-radius:4px;background-color:rgba(255,255,255,0.12);color:white;font-size:14px;}"
|
||||
"QPushButton:Hover{border:0px solid rgba(255,255,255,0.2);border-radius:4px;background-color:rgba(255,255,255,0.2);}"
|
||||
"QPushButton:Pressed{border-radius:4px;background-color:rgba(255,255,255,0.08);}";
|
||||
funcBtnQss = "QPushButton{border:0px;border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(107,142,235,0.97);font-size:14px;}"
|
||||
"QPushButton:Hover{border:0px;border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(151,175,241,0.97);font-size:14px;}"
|
||||
"QPushButton:Pressed{border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(61,107,229,0.97);font-size:14px;}";
|
||||
|
||||
|
||||
this->confForm = new ConfForm();
|
||||
this->ksnm = new KSimpleNM();
|
||||
|
||||
|
@ -81,9 +108,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
btnCreateNet->resize(57, 14);
|
||||
btnCreateNet->move(365, 77 + 10);
|
||||
btnCreateNet->setText(tr("Create Lan Net"));//"新建网络"
|
||||
btnCreateNet->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(107,142,235,0.97);font-size:14px;}"
|
||||
"QPushButton:Hover{border:0px;border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(151,175,241,0.97);font-size:14px;}"
|
||||
"QPushButton:Pressed{border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(61,107,229,0.97);font-size:14px;}");
|
||||
btnCreateNet->setStyleSheet(funcBtnQss);
|
||||
btnCreateNet->setFocusPolicy(Qt::NoFocus);
|
||||
btnCreateNet->show();
|
||||
connect(btnCreateNet,SIGNAL(clicked()),this,SLOT(onBtnCreateNetClicked()));
|
||||
|
@ -103,28 +128,31 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
btnAddNet->resize(57, 14);
|
||||
btnAddNet->move(365, 77 + 10);
|
||||
btnAddNet->setText(tr("Add Hide Network"));//"加入网络"
|
||||
btnAddNet->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(107,142,235,0.97);font-size:14px;}"
|
||||
"QPushButton:Hover{border:0px;border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(151,175,241,0.97);font-size:14px;}"
|
||||
"QPushButton:Pressed{border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(61,107,229,0.97);font-size:14px;}");
|
||||
btnAddNet->setStyleSheet(funcBtnQss);
|
||||
btnAddNet->setFocusPolicy(Qt::NoFocus);
|
||||
btnAddNet->show();
|
||||
connect(btnAddNet,SIGNAL(clicked()),this,SLOT(onBtnAddNetClicked()));
|
||||
|
||||
lbLoadDown = new QLabel(ui->centralWidget);
|
||||
lbLoadDown->move(41 + 132, 57 + 32);
|
||||
lbLoadDown->move(46 + 132, 57 + 32);
|
||||
lbLoadDown->resize(65, 20);
|
||||
lbLoadUp = new QLabel(ui->centralWidget);
|
||||
lbLoadUp->move(41 + 217, 57 + 32);
|
||||
lbLoadUp->resize(65, 20);
|
||||
lbLoadDownImg = new QLabel(ui->centralWidget);
|
||||
lbLoadDownImg->move(46 + 115, 57 + 35);
|
||||
lbLoadDownImg->resize(16, 16);
|
||||
|
||||
lbLoadUp = new QLabel(ui->centralWidget);
|
||||
lbLoadUp->move(46 + 217, 57 + 32);
|
||||
lbLoadUp->resize(65, 20);
|
||||
lbLoadUpImg = new QLabel(ui->centralWidget);
|
||||
lbLoadUpImg->move(46 + 200, 57 + 35);
|
||||
lbLoadUpImg->resize(16, 16);
|
||||
|
||||
lbLoadDownImg->setStyleSheet("QLabel{background-image:url(:/res/x/load-down.png);}");
|
||||
lbLoadUpImg->setStyleSheet("QLabel{background-image:url(:/res/x/load-up.png);}");
|
||||
|
||||
lbNoItemImg = new QLabel(ui->centralWidget);
|
||||
lbNoItemImg->resize(96, 96);
|
||||
lbNoItemImg->move(this->width()/2 - 96/2 + 41/2, this->height()/2 - 10);
|
||||
lbNoItemImg->setStyleSheet("QLabel{background-image:url(:/res/s/nonet.png);}");
|
||||
lbNoItemImg->hide();
|
||||
lbNoItemTip = new QLabel(ui->centralWidget);
|
||||
lbNoItemTip->resize(200, 20);
|
||||
lbNoItemTip->move(this->width()/2 - 200/2 + 41/2, this->height()/2 + 96);
|
||||
lbNoItemTip->resize(220, 20);
|
||||
lbNoItemTip->move(this->width()/2 - 200/2 + 41/2, this->height()/2);
|
||||
lbNoItemTip->setStyleSheet("QLabel{border:none;background:transparent;font-size:14px;color:rgba(255,255,255,0.91);}");
|
||||
lbNoItemTip->setText(tr("No usable network in the list"));//列表暂无可连接网络
|
||||
lbNoItemTip->setAlignment(Qt::AlignCenter);
|
||||
|
@ -147,11 +175,6 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
lbLanList = new QLabel(lanListWidget);
|
||||
lbWifiList = new QLabel(wifiListWidget);
|
||||
|
||||
btnOffQss = "QLabel{min-width: 37px; min-height: 37px;max-width:37px; max-height: 37px;border-radius: 4px; background-color:rgba(255,255,255,0)}";
|
||||
btnOnQss = "QLabel{min-width: 37px; min-height: 37px;max-width:37px; max-height: 37px;border-radius: 4px; background-color:rgba(61,107,229,1)}";
|
||||
btnBgOffQss = "QLabel{min-width: 48px; min-height: 22px;max-width:48px; max-height: 22px;border-radius: 10px; background-color:rgba(255,255,255,0.2)}";
|
||||
btnBgOnQss = "QLabel{min-width: 48px; min-height: 22px;max-width:48px; max-height: 22px;border-radius: 10px; background-color:rgba(61,107,229,1);}";
|
||||
|
||||
ui->lbNetwork->setStyleSheet("QLabel{font-size:20px;color:rgba(255,255,255,0.97);}");
|
||||
ui->lbNetwork->show();
|
||||
|
||||
|
@ -168,30 +191,12 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
|
||||
scrollAreal->setStyleSheet("QScrollArea{border:none;}");
|
||||
scrollAreal->viewport()->setStyleSheet("background-color:transparent;");
|
||||
scrollAreal->verticalScrollBar()->setStyleSheet("QScrollBar:vertical{width:10px;background:rgba(48,48,51,1);border-radius:6px;}"
|
||||
"QScrollBar::up-arrow:vertical{height:0px;}"
|
||||
"QScrollBar::sub-line:vertical{border:0px solid;height:0px}"
|
||||
"QScrollBar::sub-page:vertical{background:transparent;}"
|
||||
"QScrollBar::handle:vertical{width:4px;background:rgba(72,72,76,1);border-radius:3px;}"
|
||||
"QScrollBar::handle:vertical:hover{width:4px;background:rgba(97,97,102,1);border-radius:3px;}"
|
||||
"QScrollBar::handle:vertical:pressed{width:4px;background:rgba(133,133,140,1);border-radius:3px;}"
|
||||
"QScrollBar::add-page:vertical{background:transparent;}"
|
||||
"QScrollBar::add-line:vertical{border:0px solid;height:0px}"
|
||||
"QScrollBar::down-arrow:vertical{height:0px;}");
|
||||
scrollAreal->verticalScrollBar()->setStyleSheet(scrollBarQss);
|
||||
|
||||
|
||||
scrollAreaw->setStyleSheet("QScrollArea{border:none;}");
|
||||
scrollAreaw->viewport()->setStyleSheet("background-color:transparent;");
|
||||
scrollAreaw->verticalScrollBar()->setStyleSheet("QScrollBar:vertical{width:10px;background:rgba(48,48,51,1);border-radius:6px;}"
|
||||
"QScrollBar::up-arrow:vertical{height:0px;}"
|
||||
"QScrollBar::sub-line:vertical{border:0px solid;height:0px}"
|
||||
"QScrollBar::sub-page:vertical{background:transparent;}"
|
||||
"QScrollBar::handle:vertical{width:4px;background:rgba(72,72,76,1);border-radius:3px;}"
|
||||
"QScrollBar::handle:vertical:hover{width:4px;background:rgba(97,97,102,1);border-radius:3px;}"
|
||||
"QScrollBar::handle:vertical:pressed{width:4px;background:rgba(133,133,140,1);border-radius:3px;}"
|
||||
"QScrollBar::add-page:vertical{background:transparent;}"
|
||||
"QScrollBar::add-line:vertical{border:0px solid;height:0px}"
|
||||
"QScrollBar::down-arrow:vertical{height:0px;}");
|
||||
scrollAreaw->verticalScrollBar()->setStyleSheet(scrollBarQss);
|
||||
|
||||
ui->btnNetList->setFocusPolicy(Qt::NoFocus);
|
||||
QString txtEthernet(tr("Ethernet"));
|
||||
|
@ -213,9 +218,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
ui->lbBtnWifiBall->setStyleSheet("QLabel{min-width: 16px; min-height: 16px;max-width:16px; max-height: 16px;"
|
||||
"border-radius: 8px; border:1px solid white;background:white;}");
|
||||
|
||||
ui->btnHotspot->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(255,255,255,0.12);color:white;font-size:14px;}"
|
||||
"QPushButton:Hover{border:0px solid rgba(255,255,255,0.2);border-radius:4px;background-color:rgba(255,255,255,0.2);}"
|
||||
"QPushButton:Pressed{border-radius:4px;background-color:rgba(255,255,255,0.08);}");
|
||||
ui->btnHotspot->setStyleSheet(leftBtnQss);
|
||||
ui->btnHotspot->setFocusPolicy(Qt::NoFocus);
|
||||
QString txtHotSpot(tr("HotSpot"));
|
||||
ui->btnHotspot->setToolTip(txtHotSpot);
|
||||
|
@ -225,9 +228,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
ui->lbHotBG->hide();
|
||||
ui->lbHotBG->setStyleSheet(btnOffQss);
|
||||
|
||||
ui->btnFlyMode->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(255,255,255,0.12);color:white;font-size:14px;}"
|
||||
"QPushButton:Hover{border:0px solid rgba(255,255,255,0.2);border-radius:4px;background-color:rgba(255,255,255,0.2);}"
|
||||
"QPushButton:Pressed{border-radius:4px;background-color:rgba(255,255,255,0.08);}");
|
||||
ui->btnFlyMode->setStyleSheet(leftBtnQss);
|
||||
ui->btnFlyMode->setFocusPolicy(Qt::NoFocus);
|
||||
QString txtFlyMode(tr("FlyMode"));
|
||||
ui->btnFlyMode->setToolTip(txtFlyMode);
|
||||
|
@ -237,9 +238,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
ui->lbFlyBG->hide();
|
||||
ui->lbFlyBG->setStyleSheet(btnOffQss);
|
||||
|
||||
ui->btnAdvConf->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(255,255,255,0.12);color:white;font-size:14px;}"
|
||||
"QPushButton:Hover{border:0px solid rgba(255,255,255,0.2);border-radius:4px;background-color:rgba(255,255,255,0.2);}"
|
||||
"QPushButton:Pressed{border-radius:4px;background-color:rgba(255,255,255,0.08);}");
|
||||
ui->btnAdvConf->setStyleSheet(leftBtnQss);
|
||||
ui->btnAdvConf->setFocusPolicy(Qt::NoFocus);
|
||||
QString txtAdvanced(tr("Advanced"));
|
||||
ui->btnAdvConf->setToolTip(txtAdvanced);
|
||||
|
@ -268,6 +267,9 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
trayIcon->show();
|
||||
|
||||
connect(ui->btnNetList, &QPushButton::clicked, this, &MainWindow::onBtnNetListClicked);
|
||||
|
||||
auto app = static_cast<QApplication*>(QCoreApplication::instance());
|
||||
app->setStyle(new CustomStyle());
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
|
@ -424,10 +426,10 @@ void MainWindow::handleIconClicked()
|
|||
QRect availableGeometry = qApp->primaryScreen()->availableGeometry();
|
||||
QRect screenGeometry = qApp->primaryScreen()->geometry();
|
||||
|
||||
qDebug()<<" ";
|
||||
qDebug()<<"trayIcon:"<<trayIcon->geometry();
|
||||
qDebug()<<"screenGeometry: "<<screenGeometry;
|
||||
qDebug()<<"availableGeometry: "<<availableGeometry;
|
||||
// qDebug()<<" ";
|
||||
// qDebug()<<"trayIcon:"<<trayIcon->geometry();
|
||||
// qDebug()<<"screenGeometry: "<<screenGeometry;
|
||||
// qDebug()<<"availableGeometry: "<<availableGeometry;
|
||||
|
||||
if (screenGeometry.width() == availableGeometry.width() && screenGeometry.height() == availableGeometry.height()){
|
||||
QDesktopWidget* desktopWidget = QApplication::desktop();
|
||||
|
@ -437,11 +439,11 @@ void MainWindow::handleIconClicked()
|
|||
QRect deskDupRect = desktopWidget->availableGeometry(1);//获取可用桌面大小
|
||||
QRect screenDupRect = desktopWidget->screenGeometry(1);//获取设备屏幕大小
|
||||
|
||||
qDebug()<<" ";
|
||||
qDebug()<<"deskMainRect: "<<deskMainRect;
|
||||
qDebug()<<"screenMainRect: "<<screenMainRect;
|
||||
qDebug()<<"deskDupRect: "<<deskDupRect;
|
||||
qDebug()<<"screenDupRect: "<<screenDupRect;
|
||||
// qDebug()<<" ";
|
||||
// qDebug()<<"deskMainRect: "<<deskMainRect;
|
||||
// qDebug()<<"screenMainRect: "<<screenMainRect;
|
||||
// qDebug()<<"deskDupRect: "<<deskDupRect;
|
||||
// qDebug()<<"screenDupRect: "<<screenDupRect;
|
||||
|
||||
int n = objKyDBus->getTaskbarPos("position");
|
||||
int m = objKyDBus->getTaskbarHeight("height");
|
||||
|
@ -457,14 +459,14 @@ void MainWindow::handleIconClicked()
|
|||
if (screenGeometry.x() == 0){
|
||||
this->move(screenGeometry.width() - availableGeometry.width() + m, screenMainRect.height() - this->height());//主屏在左侧
|
||||
}else{
|
||||
this->move(screenGeometry.width() - availableGeometry.width() + m, screenDupRect.height() - this->height());//主屏在右侧
|
||||
this->move(screenGeometry.width() - availableGeometry.width() + m,screenDupRect.y() + screenDupRect.height() - this->height());//主屏在右侧
|
||||
}
|
||||
} else if (n == 3){
|
||||
//任务栏在右侧
|
||||
if (screenGeometry.x() == 0){
|
||||
this->move(availableGeometry.x() + availableGeometry.width() - this->width() - m, screenDupRect.height() - this->height());//主屏在左侧
|
||||
}else{
|
||||
this->move(availableGeometry.x() + availableGeometry.width() - this->width() - m, screenMainRect.height() - this->height());//主屏在右侧
|
||||
if (screenGeometry.x() == 0){//主屏在左侧
|
||||
this->move(screenMainRect.width() + screenDupRect.width() - this->width() - m, screenDupRect.y() + screenDupRect.height() - this->height());
|
||||
}else{//主屏在右侧
|
||||
this->move(availableGeometry.x() + availableGeometry.width() - this->width() - m, screenMainRect.height() - this->height());
|
||||
}
|
||||
}
|
||||
} else if(screenGeometry.width() == availableGeometry.width() ){
|
||||
|
@ -687,7 +689,7 @@ void MainWindow::changeTimerState()
|
|||
}
|
||||
}
|
||||
|
||||
//由kylin-dbus-interface.cpp调用
|
||||
//网线插拔处理,由kylin-dbus-interface.cpp调用
|
||||
void MainWindow::onPhysicalCarrierChanged(bool flag)
|
||||
{
|
||||
is_stop_check_net_state = 1;
|
||||
|
@ -941,9 +943,7 @@ void MainWindow::getLanListDone(QStringList slist)
|
|||
btnCreateNet->resize(57, 14);
|
||||
btnCreateNet->move(365, 77 + 10);
|
||||
btnCreateNet->setText(tr("Create Lan Net"));//"新建网络"
|
||||
btnCreateNet->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(107,142,235,0.97);font-size:14px;}"
|
||||
"QPushButton:Hover{border:0px;border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(151,175,241,0.97);font-size:14px;}"
|
||||
"QPushButton:Pressed{border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(61,107,229,0.97);font-size:14px;}");
|
||||
btnCreateNet->setStyleSheet(funcBtnQss);
|
||||
btnCreateNet->setFocusPolicy(Qt::NoFocus);
|
||||
btnCreateNet->show();
|
||||
connect(btnCreateNet,SIGNAL(clicked()),this,SLOT(onBtnCreateNetClicked()));
|
||||
|
@ -953,9 +953,6 @@ void MainWindow::getLanListDone(QStringList slist)
|
|||
scrollAreal->setWidget(lanListWidget);
|
||||
scrollAreal->move(41, 178);
|
||||
|
||||
lbNoItemImg->hide();
|
||||
lbNoItemTip->hide();
|
||||
|
||||
// 获取当前连接的lan name
|
||||
QString actLanName = "--";
|
||||
activecon *act = kylin_network_get_activecon_info();
|
||||
|
@ -975,8 +972,11 @@ void MainWindow::getLanListDone(QStringList slist)
|
|||
ccf->setIcon(false);
|
||||
ccf->setConnedString(1, tr("Disconnected"));//"未连接"
|
||||
ccf->isConnected = false;
|
||||
ifLanConnected = false;
|
||||
lbLoadDown->hide();
|
||||
lbLoadUp->hide();
|
||||
lbLoadDownImg->hide();
|
||||
lbLoadUpImg->hide();
|
||||
ccf->setTopItem(false);
|
||||
}
|
||||
ccf->setAct(true);
|
||||
|
@ -1007,8 +1007,11 @@ void MainWindow::getLanListDone(QStringList slist)
|
|||
ccf->setLanInfo(objKyDBus->dbusLanIpv4, objKyDBus->dbusLanIpv6, mwBandWidth, objKyDBus->dbusLanMac);
|
||||
ccf->setConnedString(1, tr("Connected"));//"已连接"
|
||||
ccf->isConnected = true;
|
||||
ifLanConnected = true;
|
||||
lbLoadDown->show();
|
||||
lbLoadUp->show();
|
||||
lbLoadDownImg->show();
|
||||
lbLoadUpImg->show();
|
||||
ccf->setTopItem(false);
|
||||
currSelNetName = "";
|
||||
syslog(LOG_DEBUG, "already insert an active lannet in the top of lan list");
|
||||
|
@ -1035,9 +1038,16 @@ void MainWindow::getLanListDone(QStringList slist)
|
|||
if (n >= 1){
|
||||
OneLancForm *lastItem = itemList.at(n-1);
|
||||
lastItem->setLine(false);
|
||||
} else{
|
||||
lbNoItemImg->show();
|
||||
lbNoItemTip->show();
|
||||
lbNoItemTip->hide();
|
||||
} else {
|
||||
if (!ifLanConnected){
|
||||
lbNoItemTip->hide();
|
||||
lbTopLanList->hide();
|
||||
btnCreateNet->hide();
|
||||
} else{
|
||||
lbNoItemTip->show();
|
||||
lbNoItemTip->setText(tr("No Other Wired Network Scheme"));
|
||||
}
|
||||
}
|
||||
|
||||
this->lanListWidget->show();
|
||||
|
@ -1080,16 +1090,11 @@ void MainWindow::loadWifiListDone(QStringList slist)
|
|||
btnAddNet->resize(57, 14);
|
||||
btnAddNet->move(365, 77 + 10);
|
||||
btnAddNet->setText(tr("Add Hide Network"));
|
||||
btnAddNet->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(107,142,235,0.97);font-size:14px;}"
|
||||
"QPushButton:Hover{border:0px;border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(151,175,241,0.97);font-size:14px;}"
|
||||
"QPushButton:Pressed{border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(61,107,229,0.97);font-size:14px;}");
|
||||
btnAddNet->setStyleSheet(funcBtnQss);
|
||||
btnAddNet->setFocusPolicy(Qt::NoFocus);
|
||||
btnAddNet->show();
|
||||
connect(btnAddNet,SIGNAL(clicked()),this,SLOT(onBtnAddNetClicked()));
|
||||
|
||||
lbNoItemImg->hide();
|
||||
lbNoItemTip->hide();
|
||||
|
||||
// 清空wifi列表
|
||||
wifiListWidget = new QWidget(scrollAreaw);
|
||||
wifiListWidget->resize(440, /*60 + */88);
|
||||
|
@ -1116,8 +1121,11 @@ void MainWindow::loadWifiListDone(QStringList slist)
|
|||
activeWifiSignalLv = 0;
|
||||
ccf->setConnedString(1, tr("Disconnected"), "");//"未连接"
|
||||
ccf->isConnected = false;
|
||||
ifWLanConnected = false;
|
||||
lbLoadDown->hide();
|
||||
lbLoadUp->hide();
|
||||
lbLoadDownImg->hide();
|
||||
lbLoadUpImg->hide();
|
||||
ccf->setTopItem(false);
|
||||
}
|
||||
ccf->setAct(true);
|
||||
|
@ -1160,8 +1168,12 @@ void MainWindow::loadWifiListDone(QStringList slist)
|
|||
ccf->setWifiInfo(wsecu, wsignal, objKyDBus->dbusWifiMac);
|
||||
ccf->setConnedString(1, tr("Connected"), wsecu);//"已连接"
|
||||
ccf->isConnected = true;
|
||||
ifWLanConnected = true;
|
||||
qDebug()<<"show load down and load up";
|
||||
lbLoadDown->show();
|
||||
lbLoadUp->show();
|
||||
lbLoadDownImg->show();
|
||||
lbLoadUpImg->show();
|
||||
ccf->setTopItem(false);
|
||||
currSelNetName = "";
|
||||
|
||||
|
@ -1195,9 +1207,16 @@ void MainWindow::loadWifiListDone(QStringList slist)
|
|||
if (n >= 1){
|
||||
OneConnForm *lastItem = itemList.at(n-1);
|
||||
lastItem->setLine(false);
|
||||
} else {
|
||||
lbNoItemImg->show();
|
||||
lbNoItemTip->show();
|
||||
lbNoItemTip->hide();
|
||||
}else{
|
||||
if(ifWLanConnected){
|
||||
lbNoItemTip->show();
|
||||
lbNoItemTip->setText(tr("No Other Wireless Network Scheme"));
|
||||
} else {
|
||||
lbNoItemTip->hide();
|
||||
lbTopWifiList->hide();
|
||||
btnAddNet->hide();
|
||||
}
|
||||
}
|
||||
|
||||
this->lanListWidget->hide();
|
||||
|
@ -1354,6 +1373,7 @@ void MainWindow::on_btnWifi_clicked()
|
|||
// 网络开关关闭时,点击Wifi开关时,程序先打开有线开关
|
||||
if(checkLanOn()){
|
||||
if(checkWlOn()){
|
||||
lbTopWifiList->hide();
|
||||
btnAddNet->hide();
|
||||
QThread *t = new QThread();
|
||||
BackThread *bt = new BackThread();
|
||||
|
@ -1368,9 +1388,8 @@ void MainWindow::on_btnWifi_clicked()
|
|||
if (is_fly_mode_on == 0){
|
||||
on_btnWifiList_clicked();
|
||||
is_stop_check_net_state = 1;
|
||||
lbTopWifiList->show();
|
||||
btnAddNet->show();
|
||||
lbNoItemImg->hide();
|
||||
lbNoItemTip->hide();
|
||||
QThread *t = new QThread();
|
||||
BackThread *bt = new BackThread();
|
||||
bt->moveToThread(t);
|
||||
|
@ -1391,6 +1410,7 @@ void MainWindow::on_btnWifi_clicked()
|
|||
|
||||
on_btnWifiList_clicked();
|
||||
is_stop_check_net_state = 1;
|
||||
lbTopWifiList->show();
|
||||
btnAddNet->show();
|
||||
QThread *t = new QThread();
|
||||
BackThread *bt = new BackThread();
|
||||
|
@ -1406,6 +1426,7 @@ void MainWindow::on_btnWifi_clicked()
|
|||
}
|
||||
//this->startLoading();
|
||||
} else {
|
||||
lbTopWifiList->hide();
|
||||
btnAddNet->hide();
|
||||
QString txt(tr("please insert the wireless network adapter"));
|
||||
QString cmd = "export LANG='en_US.UTF-8';export LANGUAGE='en_US';notify-send '" + txt + "' -t 3800";
|
||||
|
@ -1433,8 +1454,9 @@ void MainWindow::onBtnNetListClicked(int flag)
|
|||
|
||||
lbLoadDown->hide();
|
||||
lbLoadUp->hide();
|
||||
lbLoadDownImg->hide();
|
||||
lbLoadUpImg->hide();
|
||||
|
||||
lbNoItemImg->hide();
|
||||
lbNoItemTip->hide();
|
||||
|
||||
ui->lbNetwork->setText(tr("Ethernet"));
|
||||
|
@ -1491,16 +1513,11 @@ void MainWindow::onBtnNetListClicked(int flag)
|
|||
btnCreateNet->resize(57, 14);
|
||||
btnCreateNet->move(365, 77 + 10);
|
||||
btnCreateNet->setText(tr("Create Lan Net"));//"新建网络"
|
||||
btnCreateNet->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(107,142,235,0.97);font-size:14px;}"
|
||||
"QPushButton:Hover{border:0px;border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(151,175,241,0.97);font-size:14px;}"
|
||||
"QPushButton:Pressed{border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(61,107,229,0.97);font-size:14px;}");
|
||||
btnCreateNet->setStyleSheet(funcBtnQss);
|
||||
btnCreateNet->setFocusPolicy(Qt::NoFocus);
|
||||
btnCreateNet->show();
|
||||
connect(btnCreateNet,SIGNAL(clicked()),this,SLOT(onBtnCreateNetClicked()));
|
||||
|
||||
lbNoItemImg->show();
|
||||
lbNoItemTip->show();
|
||||
|
||||
// 清空lan列表
|
||||
lanListWidget = new QWidget(scrollAreal);
|
||||
lanListWidget->resize(440, 60 + 108);
|
||||
|
@ -1537,8 +1554,9 @@ void MainWindow::on_btnWifiList_clicked()
|
|||
|
||||
lbLoadDown->hide();
|
||||
lbLoadUp->hide();
|
||||
lbLoadDownImg->hide();
|
||||
lbLoadUpImg->hide();
|
||||
|
||||
lbNoItemImg->hide();
|
||||
lbNoItemTip->hide();
|
||||
|
||||
ui->lbNetwork->setText(tr("Wifi"));
|
||||
|
@ -1547,6 +1565,7 @@ void MainWindow::on_btnWifiList_clicked()
|
|||
ui->lbBtnWifiBall->show();
|
||||
|
||||
if(checkWlOn()){
|
||||
lbTopWifiList->show();
|
||||
btnAddNet->show();
|
||||
this->startLoading();
|
||||
this->ksnm->execGetWifiList();
|
||||
|
@ -1560,19 +1579,15 @@ void MainWindow::on_btnWifiList_clicked()
|
|||
lbTopWifiList->resize(260, 46);
|
||||
lbTopWifiList->move(19, 60 + 10);
|
||||
lbTopWifiList->setStyleSheet("QLabel{font-size:14px;color:rgba(255,255,255,0.97);}");
|
||||
lbTopWifiList->show();
|
||||
lbTopWifiList->hide();
|
||||
btnAddNet = new QPushButton(topWifiListWidget);
|
||||
btnAddNet->resize(57, 14);
|
||||
btnAddNet->move(365, 77 + 10);
|
||||
btnAddNet->setText(tr("Add Hide Network"));
|
||||
btnAddNet->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(107,142,235,0.97);font-size:14px;}"
|
||||
"QPushButton:Hover{border:0px;border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(151,175,241,0.97);font-size:14px;}"
|
||||
"QPushButton:Pressed{border-radius:4px;background-color:rgba(255,255,255,0);color:rgba(61,107,229,0.97);font-size:14px;}");
|
||||
btnAddNet->setStyleSheet(funcBtnQss);
|
||||
btnAddNet->setFocusPolicy(Qt::NoFocus);
|
||||
connect(btnAddNet,SIGNAL(clicked()),this,SLOT(onBtnAddNetClicked()));
|
||||
btnAddNet->hide();
|
||||
lbNoItemImg->show();
|
||||
lbNoItemTip->show();
|
||||
|
||||
// 清空wifi列表
|
||||
wifiListWidget = new QWidget(scrollAreaw);
|
||||
|
@ -1637,8 +1652,8 @@ void MainWindow::on_setNetSpeed()
|
|||
QString str_rcv = QString::number(delta_rcv/3) + "kb/s";
|
||||
QString str_tx = QString::number(delta_tx/3) + "kb/s";
|
||||
|
||||
lbLoadUp->setText(str_rcv);
|
||||
lbLoadDown->setText(str_tx);
|
||||
lbLoadDown->setText(str_rcv);
|
||||
lbLoadUp->setText(str_tx);
|
||||
|
||||
end_rcv_rates = start_rcv_rates;
|
||||
end_tx_rates = start_tx_rates;
|
||||
|
@ -1867,9 +1882,20 @@ void MainWindow::on_btnWifiList_pressed()
|
|||
|
||||
void MainWindow::oneLanFormSelected(QString lanName)
|
||||
{
|
||||
QList<OneLancForm *> topLanList = topLanListWidget->findChildren<OneLancForm *>();
|
||||
QList<OneLancForm *> lanList = lanListWidget->findChildren<OneLancForm *>();
|
||||
|
||||
// 所有元素回到原位
|
||||
// 顶部的item缩小
|
||||
topLanListWidget->resize(435, 60 + 10 + 46);
|
||||
lbTopLanList->move(19, 60 + 10);
|
||||
btnCreateNet->move(365, 77 + 10);
|
||||
scrollAreal->move(41, 178);
|
||||
lbNoItemTip->move(this->width()/2 - 200/2 + 41/2, this->height()/2);
|
||||
|
||||
OneLancForm *ocf = topLanList.at(0);
|
||||
ocf->setTopItem(false);
|
||||
|
||||
// 下方所有元素回到原位
|
||||
for(int i = 0, j = 0;i < lanList.size(); i ++){
|
||||
OneLancForm *ocf = lanList.at(i);
|
||||
if(ocf->isActive == true){
|
||||
|
@ -1928,7 +1954,8 @@ void MainWindow::oneLanFormSelected(QString lanName)
|
|||
}
|
||||
void MainWindow::oneTopLanFormSelected(QString lanName)
|
||||
{
|
||||
QList<OneLancForm *> lanList = topLanListWidget->findChildren<OneLancForm *>();
|
||||
QList<OneLancForm *> topLanList = topLanListWidget->findChildren<OneLancForm *>();
|
||||
QList<OneLancForm *> lanList = lanListWidget->findChildren<OneLancForm *>();
|
||||
|
||||
if (currSelNetName == lanName){
|
||||
// 与上一次选中同一个网络框,缩小当前选项卡
|
||||
|
@ -1936,25 +1963,29 @@ void MainWindow::oneTopLanFormSelected(QString lanName)
|
|||
lbTopLanList->move(19, 60 + 10);
|
||||
btnCreateNet->move(365, 77 + 10);
|
||||
scrollAreal->move(41, 178);
|
||||
lbNoItemTip->move(this->width()/2 - 200/2 + 41/2, this->height()/2);
|
||||
|
||||
lbNoItemImg->move(this->width()/2 - 96/2 + 41/2, this->height()/2 - 10);
|
||||
lbNoItemTip->move(this->width()/2 - 200/2 + 41/2, this->height()/2 + 96);
|
||||
|
||||
OneLancForm *ocf = lanList.at(0);
|
||||
OneLancForm *ocf = topLanList.at(0);
|
||||
ocf->setTopItem(false);
|
||||
|
||||
currSelNetName = "";
|
||||
} else {
|
||||
// 没有与上一次选中同一个网络框,放大当前选项卡
|
||||
|
||||
for(int i = 0; i < lanList.size(); i ++){
|
||||
// 所有元素缩小并回到原位
|
||||
OneLancForm *ocf = lanList.at(i);
|
||||
ocf->setSelected(false, false);
|
||||
ocf->move(4, i*60);
|
||||
}
|
||||
|
||||
topLanListWidget->resize(435, 60 + 108 + 10 + 46);
|
||||
lbTopLanList->move(19, 60 + 108 + 10);
|
||||
btnCreateNet->move(365, 77 + 10 + 108);
|
||||
scrollAreal->move(41, 178 + 108);
|
||||
lbNoItemTip->move(this->width()/2 - 200/2 + 41/2, this->height()/2 + 80);
|
||||
|
||||
lbNoItemImg->move(this->width()/2 - 96/2 + 41/2, this->height()/2 - 10 + 54);
|
||||
lbNoItemTip->move(this->width()/2 - 200/2 + 41/2, this->height()/2 + 96 + 54);
|
||||
|
||||
OneLancForm *ocf = lanList.at(0);
|
||||
OneLancForm *ocf = topLanList.at(0);
|
||||
ocf->setTopItem(true);
|
||||
|
||||
currSelNetName = lanName;
|
||||
|
@ -1963,9 +1994,20 @@ void MainWindow::oneTopLanFormSelected(QString lanName)
|
|||
|
||||
void MainWindow::oneWifiFormSelected(QString wifiName, int extendLength)
|
||||
{
|
||||
QList<OneConnForm *>topWifiList = topWifiListWidget->findChildren<OneConnForm *>();
|
||||
QList<OneConnForm *> wifiList = wifiListWidget->findChildren<OneConnForm *>();
|
||||
|
||||
// 所有元素回到原位
|
||||
// 顶部的item缩小
|
||||
topWifiListWidget->resize(435, 60 + 10 + 46);
|
||||
lbTopWifiList->move(19, 60 + 10);
|
||||
btnAddNet->move(365, 77 + 10);
|
||||
scrollAreaw->move(41, 178);
|
||||
lbNoItemTip->move(this->width()/2 - 200/2 + 41/2, this->height()/2);
|
||||
|
||||
OneConnForm *ocf = topWifiList.at(0);
|
||||
ocf->setTopItem(false);
|
||||
|
||||
// 下方所有元素回到原位
|
||||
for(int i = 0, j = 0;i < wifiList.size(); i ++){
|
||||
OneConnForm *ocf = wifiList.at(i);
|
||||
if(ocf->isActive == true){
|
||||
|
@ -2040,7 +2082,8 @@ void MainWindow::oneWifiFormSelected(QString wifiName, int extendLength)
|
|||
}
|
||||
void MainWindow::oneTopWifiFormSelected(QString wifiName, int extendLength)
|
||||
{
|
||||
QList<OneConnForm *> wifiList = topWifiListWidget->findChildren<OneConnForm *>();
|
||||
QList<OneConnForm *>topWifiList = topWifiListWidget->findChildren<OneConnForm *>();
|
||||
QList<OneConnForm *> wifiList = wifiListWidget->findChildren<OneConnForm *>();
|
||||
|
||||
if (currSelNetName == wifiName){
|
||||
// 与上一次选中同一个网络框,缩小当前选项卡
|
||||
|
@ -2048,25 +2091,29 @@ void MainWindow::oneTopWifiFormSelected(QString wifiName, int extendLength)
|
|||
lbTopWifiList->move(19, 60 + 10);
|
||||
btnAddNet->move(365, 77 + 10);
|
||||
scrollAreaw->move(41, 178);
|
||||
lbNoItemTip->move(this->width()/2 - 200/2 + 41/2, this->height()/2);
|
||||
|
||||
lbNoItemImg->move(this->width()/2 - 96/2 + 41/2, this->height()/2 - 10);
|
||||
lbNoItemTip->move(this->width()/2 - 200/2 + 41/2, this->height()/2 + 96);
|
||||
|
||||
OneConnForm *ocf = wifiList.at(0);
|
||||
OneConnForm *ocf = topWifiList.at(0);
|
||||
ocf->setTopItem(false);
|
||||
|
||||
currSelNetName = "";
|
||||
} else {
|
||||
// 没有与上一次选中同一个网络框,放大当前选项卡
|
||||
|
||||
for(int i = 0;i < wifiList.size(); i ++){
|
||||
// 所有元素回到原位
|
||||
OneConnForm *ocf = wifiList.at(i);
|
||||
ocf->setSelected(false, false);
|
||||
ocf->move(4, i * 60);
|
||||
}
|
||||
|
||||
topWifiListWidget->resize(435, 60 + 88 + 10 + 46);
|
||||
lbTopWifiList->move(19, 60 + 88 + 10);
|
||||
btnAddNet->move(365, 77 + 10 + 88);
|
||||
scrollAreaw->move(41, 178 + 88);
|
||||
lbNoItemTip->move(this->width()/2 - 200/2 + 41/2, this->height()/2 + 65);
|
||||
|
||||
lbNoItemImg->move(this->width()/2 - 96/2 + 41/2, this->height()/2 - 10 + 44);
|
||||
lbNoItemTip->move(this->width()/2 - 200/2 + 41/2, this->height()/2 + 96 + 44);
|
||||
|
||||
OneConnForm *ocf = wifiList.at(0);
|
||||
OneConnForm *ocf = topWifiList.at(0);
|
||||
ocf->setTopItem(true);
|
||||
|
||||
currSelNetName = wifiName;
|
||||
|
@ -2239,6 +2286,8 @@ void MainWindow::disWifiDone()
|
|||
ocf->isConnected = false;
|
||||
lbLoadDown->hide();
|
||||
lbLoadUp->hide();
|
||||
lbLoadDownImg->hide();
|
||||
lbLoadUpImg->hide();
|
||||
ocf->setTopItem(false);
|
||||
disconnect(ocf, SIGNAL(selectedOneWifiForm(QString,int)), this, SLOT(oneTopWifiFormSelected(QString,int)));
|
||||
}else{
|
||||
|
@ -2262,8 +2311,6 @@ void MainWindow::disWifiDone()
|
|||
syslog(LOG_DEBUG, "Already turn off the switch of wifi network");
|
||||
|
||||
this->stopLoading();
|
||||
lbNoItemImg->show();
|
||||
lbNoItemTip->show();
|
||||
}
|
||||
|
||||
void MainWindow::keepDisWifiState()
|
||||
|
|
10
mainwindow.h
10
mainwindow.h
|
@ -44,6 +44,7 @@
|
|||
#include <QVariant>
|
||||
#include <QStandardPaths>
|
||||
#include <QStringList>
|
||||
#include <QToolTip>
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <sys/types.h>
|
||||
|
@ -54,7 +55,7 @@
|
|||
|
||||
#include "ksimplenm.h"
|
||||
#include "loadingdiv.h"
|
||||
#include "networkspeed.h"
|
||||
#include "utils.h"
|
||||
#include "confform.h"
|
||||
#include "kylin-dbus-interface.h"
|
||||
#include "kylin-network-interface.h"
|
||||
|
@ -150,11 +151,11 @@ private:
|
|||
QWidget *wifiListWidget;
|
||||
QWidget *optWifiWidget;
|
||||
|
||||
QLabel *lbLoadDown;
|
||||
QLabel *lbLoadUp;
|
||||
QLabel *lbLoadDown, *lbLoadDownImg, *lbLoadUp, *lbLoadUpImg;
|
||||
|
||||
QLabel *lbNoItemImg;
|
||||
QLabel *lbNoItemTip;
|
||||
bool ifLanConnected;
|
||||
bool ifWLanConnected;
|
||||
|
||||
QScrollArea *scrollAreal, *scrollAreaw;
|
||||
QLabel *lbTopLanList, *lbTopWifiList, *lbLanList, *lbWifiList;
|
||||
|
@ -173,6 +174,7 @@ private:
|
|||
QString lname, wname; // 以太网卡和无线网卡名称
|
||||
|
||||
QString btnOffQss, btnOnQss, btnBgOffQss, btnBgOnQss; // 主界面按钮底色
|
||||
QString scrollBarQss, leftBtnQss, funcBtnQss;
|
||||
|
||||
QStringList oldLanSlist; //上一次获取Lan列表
|
||||
|
||||
|
|
|
@ -1,76 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "networkspeed.h"
|
||||
#include <stdio.h>
|
||||
|
||||
NetworkSpeed::NetworkSpeed(QObject *parent) :QObject(parent){}
|
||||
|
||||
int NetworkSpeed::getCurrentDownloadRates(char *netname, long *save_rate, long *tx_rate)
|
||||
{
|
||||
FILE * net_dev_file; //文件指针
|
||||
char buffer[1024]; //文件中的内容暂存在字符缓冲区里
|
||||
//size_t bytes_read; //实际读取的内容大小
|
||||
char * match; //用以保存所匹配字符串及之后的内容
|
||||
int counter = 0;
|
||||
//int i = 0;
|
||||
char tmp_value[128];
|
||||
|
||||
if((NULL == netname)||(NULL == save_rate)||(NULL == tx_rate)){
|
||||
printf("bad param\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ( (net_dev_file=fopen("/proc/net/dev", "r")) == NULL ){ //打开文件/pro/net/dev/,从中读取流量数据
|
||||
printf("open file /proc/net/dev/ error!\n");
|
||||
return -1;
|
||||
}
|
||||
memset(buffer,0,sizeof(buffer));
|
||||
|
||||
while(fgets(buffer,sizeof(buffer),net_dev_file) != NULL){
|
||||
match = strstr(buffer,netname);
|
||||
|
||||
if(NULL == match){
|
||||
//printf("no eth0 keyword to find!\n");
|
||||
continue;
|
||||
}else{
|
||||
//printf("%s\n",buffer);
|
||||
match = match + strlen(netname) + strlen(":"); //地址偏移到冒号
|
||||
sscanf(match,"%ld ",save_rate);
|
||||
memset(tmp_value,0,sizeof(tmp_value));
|
||||
sscanf(match,"%s ",tmp_value);
|
||||
match = match + strlen(tmp_value);
|
||||
for(size_t i=0;i<strlen(buffer);i++){
|
||||
if(0x20 == *match){
|
||||
match ++;
|
||||
} else{
|
||||
if(8 == counter){
|
||||
sscanf(match,"%ld ",tx_rate);
|
||||
}
|
||||
memset(tmp_value,0,sizeof(tmp_value));
|
||||
sscanf(match,"%s ",tmp_value);
|
||||
match = match + strlen(tmp_value);
|
||||
counter ++;
|
||||
}
|
||||
}
|
||||
//printf("%s save_rate:%ld tx_rate:%ld\n",netname,*save_rate,*tx_rate);
|
||||
}
|
||||
}
|
||||
|
||||
return 0; //返回成功
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
#ifndef NETWORKSPEED_H
|
||||
#define NETWORKSPEED_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QDebug>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
class NetworkSpeed : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit NetworkSpeed(QObject *parent = nullptr);
|
||||
|
||||
int getCurrentDownloadRates(char *netname,long int * save_rate,long int * tx_rate); //获取当前的流量,参数为将获取到的流量保
|
||||
};
|
||||
|
||||
#endif // NETWORKSPEED_H
|
|
@ -99,6 +99,5 @@
|
|||
<file>res/s/conning-a/6.png</file>
|
||||
<file>res/s/conning-a/7.png</file>
|
||||
<file>res/s/conning-a/8.png</file>
|
||||
<file>res/s/nonet.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
|
@ -72,8 +72,8 @@ OneConnForm::OneConnForm(QWidget *parent, MainWindow *mainWindow, ConfForm *conf
|
|||
ui->btnHideConn->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(61,107,229,1);color:white;font-size:14px;}"
|
||||
"QPushButton:Hover{border:0px solid rgba(255,255,255,0.2);border-radius:4px;background-color:rgba(107,142,235,1);}"
|
||||
"QPushButton:Pressed{border-radius:4px;background-color:rgba(50,87,202,1);}");
|
||||
ui->lbLoadDownImg->setStyleSheet("QLabel{background-image:url(:/res/x/load-down.png);}");
|
||||
ui->lbLoadUpImg->setStyleSheet("QLabel{background-image:url(:/res/x/load-up.png);}");
|
||||
// ui->lbLoadDownImg->setStyleSheet("QLabel{background-image:url(:/res/x/load-down.png);}");
|
||||
// ui->lbLoadUpImg->setStyleSheet("QLabel{background-image:url(:/res/x/load-up.png);}");
|
||||
ui->lbWaiting->setStyleSheet("QLabel{border:0px;border-radius:4px;background-color:rgba(61,107,229,1);}");
|
||||
ui->lbWaitingIcon->setStyleSheet("QLabel{border:0px;background-color:transparent;}");
|
||||
|
||||
|
@ -229,8 +229,8 @@ void OneConnForm::setTopItem(bool isSelected){
|
|||
ui->btnInfo->show();
|
||||
|
||||
if (isConnected){
|
||||
ui->lbLoadUpImg->show();
|
||||
ui->lbLoadDownImg->show();
|
||||
ui->lbLoadUpImg->hide();
|
||||
ui->lbLoadDownImg->hide();
|
||||
|
||||
if (this->isWaiting){
|
||||
ui->btnDisConn->hide();
|
||||
|
|
|
@ -54,8 +54,8 @@ OneLancForm::OneLancForm(QWidget *parent, MainWindow *mainWindow, ConfForm *conf
|
|||
ui->btnDisConn->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(255,255,255,0.12);color:white;font-size:14px;}"
|
||||
"QPushButton:Hover{border:0px solid rgba(255,255,255,0.2);border-radius:4px;background-color:rgba(255,255,255,0.2);}"
|
||||
"QPushButton:Pressed{border-radius:4px;background-color:rgba(255,255,255,0.08);}");
|
||||
ui->lbLoadDownImg->setStyleSheet("QLabel{background-image:url(:/res/x/load-down.png);}");
|
||||
ui->lbLoadUpImg->setStyleSheet("QLabel{background-image:url(:/res/x/load-up.png);}");
|
||||
// ui->lbLoadDownImg->setStyleSheet("QLabel{background-image:url(:/res/x/load-down.png);}");
|
||||
// ui->lbLoadUpImg->setStyleSheet("QLabel{background-image:url(:/res/x/load-up.png);}");
|
||||
ui->lbWaiting->setStyleSheet("QLabel{border:0px;border-radius:4px;background-color:rgba(61,107,229,1);}");
|
||||
ui->lbWaitingIcon->setStyleSheet("QLabel{border:0px;background-color:transparent;}");
|
||||
|
||||
|
@ -199,8 +199,8 @@ void OneLancForm::setTopItem(bool isSelected)
|
|||
this->isSelected = false;
|
||||
}
|
||||
if (isConnected){
|
||||
ui->lbLoadUpImg->show();
|
||||
ui->lbLoadDownImg->show();
|
||||
ui->lbLoadUpImg->hide();
|
||||
ui->lbLoadDownImg->hide();
|
||||
|
||||
ui->btnDisConn->show();
|
||||
} else {
|
||||
|
@ -392,4 +392,5 @@ void OneLancForm::stopWaiting(){
|
|||
ui->lbWaitingIcon->hide();
|
||||
|
||||
mw->setTrayLoading(false);
|
||||
mw->getActiveInfo();
|
||||
}
|
||||
|
|
BIN
res/s/nonet.png
BIN
res/s/nonet.png
Binary file not shown.
Before Width: | Height: | Size: 2.3 KiB |
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,202 @@
|
|||
/*
|
||||
* Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "utils.h"
|
||||
#include <stdio.h>
|
||||
|
||||
NetworkSpeed::NetworkSpeed(QObject *parent) :QObject(parent){}
|
||||
|
||||
int NetworkSpeed::getCurrentDownloadRates(char *netname, long *save_rate, long *tx_rate)
|
||||
{
|
||||
FILE * net_dev_file; //文件指针
|
||||
char buffer[1024]; //文件中的内容暂存在字符缓冲区里
|
||||
//size_t bytes_read; //实际读取的内容大小
|
||||
char * match; //用以保存所匹配字符串及之后的内容
|
||||
int counter = 0;
|
||||
//int i = 0;
|
||||
char tmp_value[128];
|
||||
|
||||
if((NULL == netname)||(NULL == save_rate)||(NULL == tx_rate)){
|
||||
printf("bad param\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ( (net_dev_file=fopen("/proc/net/dev", "r")) == NULL ){ //打开文件/pro/net/dev/,从中读取流量数据
|
||||
printf("open file /proc/net/dev/ error!\n");
|
||||
return -1;
|
||||
}
|
||||
memset(buffer,0,sizeof(buffer));
|
||||
|
||||
while(fgets(buffer,sizeof(buffer),net_dev_file) != NULL){
|
||||
match = strstr(buffer,netname);
|
||||
|
||||
if(NULL == match){
|
||||
//printf("no eth0 keyword to find!\n");
|
||||
continue;
|
||||
}else{
|
||||
//printf("%s\n",buffer);
|
||||
match = match + strlen(netname) + strlen(":"); //地址偏移到冒号
|
||||
sscanf(match,"%ld ",save_rate);
|
||||
memset(tmp_value,0,sizeof(tmp_value));
|
||||
sscanf(match,"%s ",tmp_value);
|
||||
match = match + strlen(tmp_value);
|
||||
for(size_t i=0;i<strlen(buffer);i++){
|
||||
if(0x20 == *match){
|
||||
match ++;
|
||||
} else{
|
||||
if(8 == counter){
|
||||
sscanf(match,"%ld ",tx_rate);
|
||||
}
|
||||
memset(tmp_value,0,sizeof(tmp_value));
|
||||
sscanf(match,"%s ",tmp_value);
|
||||
match = match + strlen(tmp_value);
|
||||
counter ++;
|
||||
}
|
||||
}
|
||||
//printf("%s save_rate:%ld tx_rate:%ld\n",netname,*save_rate,*tx_rate);
|
||||
}
|
||||
}
|
||||
|
||||
return 0; //返回成功
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
CustomStyle::CustomStyle(const QString &proxyStyleName, QObject *parent) : QProxyStyle (proxyStyleName)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CustomStyle::drawComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget) const
|
||||
{
|
||||
return QProxyStyle::drawComplexControl(control, option, painter, widget);
|
||||
}
|
||||
|
||||
void CustomStyle::drawControl(QStyle::ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const
|
||||
{
|
||||
return QProxyStyle::drawControl(element, option, painter, widget);
|
||||
}
|
||||
|
||||
void CustomStyle::drawItemPixmap(QPainter *painter, const QRect &rectangle, int alignment, const QPixmap &pixmap) const
|
||||
{
|
||||
return QProxyStyle::drawItemPixmap(painter, rectangle, alignment, pixmap);
|
||||
}
|
||||
|
||||
void CustomStyle::drawItemText(QPainter *painter, const QRect &rectangle, int alignment, const QPalette &palette, bool enabled, const QString &text, QPalette::ColorRole textRole) const
|
||||
{
|
||||
return QProxyStyle::drawItemText(painter, rectangle, alignment, palette, enabled, text, textRole);
|
||||
}
|
||||
|
||||
void CustomStyle::drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const
|
||||
{
|
||||
return QProxyStyle::drawPrimitive(element, option, painter, widget);
|
||||
}
|
||||
|
||||
QPixmap CustomStyle::generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *option) const
|
||||
{
|
||||
return QProxyStyle::generatedIconPixmap(iconMode, pixmap, option);
|
||||
}
|
||||
|
||||
QStyle::SubControl CustomStyle::hitTestComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, const QPoint &position, const QWidget *widget) const
|
||||
{
|
||||
return QProxyStyle::hitTestComplexControl(control, option, position, widget);
|
||||
}
|
||||
|
||||
QRect CustomStyle::itemPixmapRect(const QRect &rectangle, int alignment, const QPixmap &pixmap) const
|
||||
{
|
||||
return QProxyStyle::itemPixmapRect(rectangle, alignment, pixmap);
|
||||
}
|
||||
|
||||
QRect CustomStyle::itemTextRect(const QFontMetrics &metrics, const QRect &rectangle, int alignment, bool enabled, const QString &text) const
|
||||
{
|
||||
return QProxyStyle::itemTextRect(metrics, rectangle, alignment, enabled, text);
|
||||
}
|
||||
|
||||
int CustomStyle::pixelMetric(QStyle::PixelMetric metric, const QStyleOption *option, const QWidget *widget) const
|
||||
{
|
||||
return QProxyStyle::pixelMetric(metric, option, widget);
|
||||
}
|
||||
|
||||
void CustomStyle::polish(QWidget *widget)
|
||||
{
|
||||
if (widget) {
|
||||
if (widget->inherits("QTipLabel")){
|
||||
widget->setAttribute(Qt::WA_TranslucentBackground);
|
||||
|
||||
QPainterPath path;
|
||||
auto rect = widget->rect();
|
||||
rect.adjust(0, 0, -0, -0);
|
||||
path.addRoundedRect(rect, 6, 6);
|
||||
|
||||
widget->setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
|
||||
}
|
||||
}
|
||||
|
||||
return QProxyStyle::polish(widget);
|
||||
}
|
||||
|
||||
void CustomStyle::polish(QApplication *application)
|
||||
{
|
||||
return QProxyStyle::polish(application);
|
||||
}
|
||||
|
||||
void CustomStyle::polish(QPalette &palette)
|
||||
{
|
||||
return QProxyStyle::polish(palette);
|
||||
}
|
||||
|
||||
void CustomStyle::unpolish(QWidget *widget)
|
||||
{
|
||||
return QProxyStyle::unpolish(widget);
|
||||
}
|
||||
|
||||
void CustomStyle::unpolish(QApplication *application)
|
||||
{
|
||||
return QProxyStyle::unpolish(application);
|
||||
}
|
||||
|
||||
QSize CustomStyle::sizeFromContents(QStyle::ContentsType type, const QStyleOption *option, const QSize &contentsSize, const QWidget *widget) const
|
||||
{
|
||||
return QProxyStyle::sizeFromContents(type, option, contentsSize, widget);
|
||||
}
|
||||
|
||||
QIcon CustomStyle::standardIcon(QStyle::StandardPixmap standardIcon, const QStyleOption *option, const QWidget *widget) const
|
||||
{
|
||||
return QProxyStyle::standardIcon(standardIcon, option, widget);
|
||||
}
|
||||
|
||||
QPalette CustomStyle::standardPalette() const
|
||||
{
|
||||
return QProxyStyle::standardPalette();
|
||||
}
|
||||
|
||||
int CustomStyle::styleHint(QStyle::StyleHint hint, const QStyleOption *option, const QWidget *widget, QStyleHintReturn *returnData) const
|
||||
{
|
||||
return QProxyStyle::styleHint(hint, option, widget, returnData);
|
||||
}
|
||||
|
||||
QRect CustomStyle::subControlRect(QStyle::ComplexControl control, const QStyleOptionComplex *option, QStyle::SubControl subControl, const QWidget *widget) const
|
||||
{
|
||||
return QProxyStyle::subControlRect(control, option, subControl, widget);
|
||||
}
|
||||
|
||||
QRect CustomStyle::subElementRect(QStyle::SubElement element, const QStyleOption *option, const QWidget *widget) const
|
||||
{
|
||||
return QProxyStyle::subElementRect(element, option, widget);
|
||||
}
|
|
@ -0,0 +1,160 @@
|
|||
#ifndef UTILS_H
|
||||
#define UTILS_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QDebug>
|
||||
#include <QStyle>
|
||||
#include <QProxyStyle>
|
||||
#include <QStyleFactory>
|
||||
#include <QWidget>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
class NetworkSpeed : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit NetworkSpeed(QObject *parent = nullptr);
|
||||
|
||||
int getCurrentDownloadRates(char *netname,long int * save_rate,long int * tx_rate); //获取当前的流量,参数为将获取到的流量保
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
* \brief The CustomStyle class
|
||||
* \details
|
||||
* 自定义QStyle
|
||||
* 基于QProxyStyle,默认使用QProxyStyle的实例绘制控件,你需要针对某一个控件重新实现若干对应的接口。
|
||||
* QProxyStyle可以从现有的qt style实例化,我们只需要知道这个style的名字即可。
|
||||
* 这种做法带来了不错的扩展性和自由度,因为我们不需要将某个style的代码直接引入我们的项目中,
|
||||
* 也能够“继承”这个style类进行二次开发。
|
||||
*
|
||||
* 下面的方法展现了QStyle的所有的接口,使用QStyle进行控件的绘制使得qt应用能够进行风格的切换,
|
||||
* 从而达到不修改项目源码却对应用外观产生巨大影响的效果。
|
||||
*
|
||||
* \note
|
||||
* 需要注意QStyle与QSS并不兼容,因为QSS本身其实上也是QStyle的一种实现,对一个控件而言,本身理论上只能
|
||||
* 在同一时间调用唯一一个QStyle进行绘制。
|
||||
*/
|
||||
class CustomStyle : public QProxyStyle
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit CustomStyle(const QString &proxyStyleName = "windows", QObject *parent = nullptr);
|
||||
|
||||
/*!
|
||||
* \brief drawComplexControl
|
||||
* \param control 比如ScrollBar,对应CC枚举类型
|
||||
* \param option
|
||||
* \param painter
|
||||
* \param widget
|
||||
* \details
|
||||
* drawComplexControl用于绘制具有子控件的复杂控件,它本身一般不直接绘制控件,
|
||||
* 而是通过QStyle的其它方法将复杂控件分解成子控件再调用其它的draw方法绘制。
|
||||
* 如果你需要重新实现一个复杂控件的绘制方法,首先考虑的应该是在不改变它原有的绘制流程的情况下,
|
||||
* 对它调用到的其它方法进行重写。
|
||||
*
|
||||
* 如果你不想使用原有的绘制流程,那你需要重写这个接口,然后自己实现一切,
|
||||
* 包括背景的绘制,子控件的位置和状态计算,子控件的绘制等。
|
||||
* 所以,你需要对这个控件有足够的了解之后再尝试直接重写这个接口。
|
||||
*/
|
||||
virtual void drawComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = nullptr) const;
|
||||
/*!
|
||||
* \brief drawControl
|
||||
* \param element 比如按钮,对应CE枚举类型
|
||||
* \param option
|
||||
* \param painter
|
||||
* \param widget
|
||||
* \details
|
||||
* drawControl用于绘制基本控件元素,它本身一般只负责绘制控件的一部分或者一层。
|
||||
* 如果你想要知道控件具体如何绘制,你需要同时研究这个控件的源码和QStyle中的源码,
|
||||
* 因为它们都有可能改变控件的绘制流程。
|
||||
*
|
||||
* QStyle一般会遵循QCommonStyle的绘制流程,QCommenStyle是大部分主流style的最基类,
|
||||
* 它本身不能完全称之为一个主题,如果你直接使用它,你的控件将不能被正常绘制,因为它有可能只是
|
||||
* 在特定的时候执行了特定却未实现的绘制方法,它更像一个框架或者规范。
|
||||
*/
|
||||
virtual void drawControl(QStyle::ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const;
|
||||
virtual void drawItemPixmap(QPainter *painter, const QRect &rectangle, int alignment, const QPixmap &pixmap) const;
|
||||
virtual void drawItemText(QPainter *painter, const QRect &rectangle, int alignment, const QPalette &palette, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const;
|
||||
/*!
|
||||
* \brief drawPrimitive
|
||||
* \param element 背景绘制,对应PE枚举类型
|
||||
* \param option
|
||||
* \param painter
|
||||
* \param widget
|
||||
* \details
|
||||
* drawPrimitive用于绘制控件背景,比如按钮和菜单的背景,
|
||||
* 我们一般需要判断控件的状态来绘制不同的背景,
|
||||
* 比如按钮的hover和点击效果。
|
||||
*/
|
||||
virtual void drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const;
|
||||
virtual QPixmap generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *option) const;
|
||||
virtual QStyle::SubControl hitTestComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, const QPoint &position, const QWidget *widget = nullptr) const;
|
||||
virtual QRect itemPixmapRect(const QRect &rectangle, int alignment, const QPixmap &pixmap) const;
|
||||
virtual QRect itemTextRect(const QFontMetrics &metrics, const QRect &rectangle, int alignment, bool enabled, const QString &text) const;
|
||||
//virtual int layoutSpacing(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption *option, const QWidget *widget);
|
||||
virtual int pixelMetric(QStyle::PixelMetric metric, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const;
|
||||
|
||||
/*!
|
||||
* \brief polish
|
||||
* \param widget
|
||||
* \details
|
||||
* polish用于对widget进行预处理,一般我们可以在polish中修改其属性,
|
||||
* 另外,polish是对动画和特效实现而言十分重要的一个方法,
|
||||
* 通过polish我们能够使widget和特效和动画形成对应关系。
|
||||
*/
|
||||
virtual void polish(QWidget *widget);
|
||||
virtual void polish(QApplication *application);
|
||||
virtual void polish(QPalette &palette);
|
||||
virtual void unpolish(QWidget *widget);
|
||||
virtual void unpolish(QApplication *application);
|
||||
|
||||
virtual QSize sizeFromContents(QStyle::ContentsType type, const QStyleOption *option, const QSize &contentsSize, const QWidget *widget = nullptr) const;
|
||||
virtual QIcon standardIcon(QStyle::StandardPixmap standardIcon, const QStyleOption *option, const QWidget *widget) const;
|
||||
virtual QPalette standardPalette() const;
|
||||
/*!
|
||||
* \brief styleHint
|
||||
* \param hint 对应的枚举是SH
|
||||
* \param option
|
||||
* \param widget
|
||||
* \param returnData
|
||||
* \return
|
||||
* \details
|
||||
* styleHint比较特殊,通过它我们能够改变一些控件的绘制流程或者方式,比如说QMenu是否可以滚动。
|
||||
*/
|
||||
virtual int styleHint(QStyle::StyleHint hint, const QStyleOption *option = nullptr, const QWidget *widget = nullptr, QStyleHintReturn *returnData = nullptr) const;
|
||||
/*!
|
||||
* \brief subControlRect
|
||||
* \param control
|
||||
* \param option
|
||||
* \param subControl
|
||||
* \param widget
|
||||
* \return
|
||||
* \details
|
||||
* subControlRect返回子控件的位置和大小信息,这个方法一般在内置流程中调用,
|
||||
* 如果我们要重写某个绘制方法,可能需要用到它
|
||||
*/
|
||||
virtual QRect subControlRect(QStyle::ComplexControl control, const QStyleOptionComplex *option, QStyle::SubControl subControl, const QWidget *widget = nullptr) const;
|
||||
/*!
|
||||
* \brief subElementRect
|
||||
* \param element
|
||||
* \param option
|
||||
* \param widget
|
||||
* \return
|
||||
* \details
|
||||
* 与subControlRect类似
|
||||
*/
|
||||
virtual QRect subElementRect(QStyle::SubElement element, const QStyleOption *option, const QWidget *widget = nullptr) const;
|
||||
|
||||
signals:
|
||||
|
||||
public slots:
|
||||
};
|
||||
|
||||
#endif // UTILS_H
|
|
@ -36,7 +36,14 @@ DlgConnHidWifi::DlgConnHidWifi(int type, MainWindow *mainWindow, QWidget *parent
|
|||
this->setWindowFlags(Qt::FramelessWindowHint);
|
||||
this->setAttribute(Qt::WA_TranslucentBackground);
|
||||
//需要添加 void paintEvent(QPaintEvent *event) 函数
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
QPainterPath path;
|
||||
auto rect = this->rect();
|
||||
rect.adjust(0, 0, -0, -0);
|
||||
path.addRoundedRect(rect, 6, 6);
|
||||
setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
|
||||
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.9);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
ui->lbBoder->setStyleSheet("QLabel{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
ui->lbBoder->hide();
|
||||
|
|
|
@ -29,7 +29,14 @@ DlgConnHidWifiLeap::DlgConnHidWifiLeap(QWidget *parent) :
|
|||
this->setWindowFlags(Qt::FramelessWindowHint);
|
||||
this->setAttribute(Qt::WA_TranslucentBackground);
|
||||
//需要添加 void paintEvent(QPaintEvent *event) 函数
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
QPainterPath path;
|
||||
auto rect = this->rect();
|
||||
rect.adjust(0, 0, -0, -0);
|
||||
path.addRoundedRect(rect, 6, 6);
|
||||
setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
|
||||
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.9);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
ui->lbBoder->setStyleSheet("QLabel{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
ui->lbBoder->hide();
|
||||
|
|
|
@ -31,7 +31,14 @@ DlgConnHidWifiSecFast::DlgConnHidWifiSecFast(int type, QWidget *parent) :
|
|||
this->setWindowFlags(Qt::FramelessWindowHint);
|
||||
this->setAttribute(Qt::WA_TranslucentBackground);
|
||||
//需要添加 void paintEvent(QPaintEvent *event) 函数
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
QPainterPath path;
|
||||
auto rect = this->rect();
|
||||
rect.adjust(0, 0, -0, -0);
|
||||
path.addRoundedRect(rect, 6, 6);
|
||||
setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
|
||||
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.9);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
ui->lbBoder->setStyleSheet("QLabel{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
ui->lbBoder->hide();
|
||||
|
|
|
@ -31,7 +31,14 @@ DlgConnHidWifiSecLeap::DlgConnHidWifiSecLeap(int type, QWidget *parent) :
|
|||
this->setWindowFlags(Qt::FramelessWindowHint);
|
||||
this->setAttribute(Qt::WA_TranslucentBackground);
|
||||
//需要添加 void paintEvent(QPaintEvent *event) 函数
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
QPainterPath path;
|
||||
auto rect = this->rect();
|
||||
rect.adjust(0, 0, -0, -0);
|
||||
path.addRoundedRect(rect, 6, 6);
|
||||
setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
|
||||
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.9);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
ui->lbBoder->setStyleSheet("QLabel{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
ui->lbBoder->hide();
|
||||
|
|
|
@ -31,7 +31,14 @@ DlgConnHidWifiSecPeap::DlgConnHidWifiSecPeap(int type, QWidget *parent) :
|
|||
this->setWindowFlags(Qt::FramelessWindowHint);
|
||||
this->setAttribute(Qt::WA_TranslucentBackground);
|
||||
//需要添加 void paintEvent(QPaintEvent *event) 函数
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
QPainterPath path;
|
||||
auto rect = this->rect();
|
||||
rect.adjust(0, 0, -0, -0);
|
||||
path.addRoundedRect(rect, 6, 6);
|
||||
setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
|
||||
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.9);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
ui->lbBoder->setStyleSheet("QLabel{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
ui->lbBoder->hide();
|
||||
|
|
|
@ -31,7 +31,14 @@ DlgConnHidWifiSecPwd::DlgConnHidWifiSecPwd(int type, QWidget *parent) :
|
|||
this->setWindowFlags(Qt::FramelessWindowHint);
|
||||
this->setAttribute(Qt::WA_TranslucentBackground);
|
||||
//需要添加 void paintEvent(QPaintEvent *event) 函数
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
QPainterPath path;
|
||||
auto rect = this->rect();
|
||||
rect.adjust(0, 0, -0, -0);
|
||||
path.addRoundedRect(rect, 6, 6);
|
||||
setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
|
||||
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.9);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
ui->lbBoder->setStyleSheet("QLabel{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
ui->lbBoder->hide();
|
||||
|
|
|
@ -30,7 +30,14 @@ DlgConnHidWifiSecTls::DlgConnHidWifiSecTls(int type, QWidget *parent) :
|
|||
this->setWindowFlags(Qt::FramelessWindowHint);
|
||||
this->setAttribute(Qt::WA_TranslucentBackground);
|
||||
//需要添加 void paintEvent(QPaintEvent *event) 函数
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
QPainterPath path;
|
||||
auto rect = this->rect();
|
||||
rect.adjust(0, 0, -0, -0);
|
||||
path.addRoundedRect(rect, 6, 6);
|
||||
setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
|
||||
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.9);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
ui->lbBoder->setStyleSheet("QLabel{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
ui->lbBoder->hide();
|
||||
|
|
|
@ -31,7 +31,14 @@ DlgConnHidWifiSecTunnelTLS::DlgConnHidWifiSecTunnelTLS(int type, QWidget *parent
|
|||
this->setWindowFlags(Qt::FramelessWindowHint);
|
||||
this->setAttribute(Qt::WA_TranslucentBackground);
|
||||
//需要添加 void paintEvent(QPaintEvent *event) 函数
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
QPainterPath path;
|
||||
auto rect = this->rect();
|
||||
rect.adjust(0, 0, -0, -0);
|
||||
path.addRoundedRect(rect, 6, 6);
|
||||
setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
|
||||
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.9);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
ui->lbBoder->setStyleSheet("QLabel{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
ui->lbBoder->hide();
|
||||
|
|
|
@ -30,7 +30,14 @@ DlgConnHidWifiWep::DlgConnHidWifiWep(int type, QWidget *parent) :
|
|||
this->setWindowFlags(Qt::FramelessWindowHint);
|
||||
this->setAttribute(Qt::WA_TranslucentBackground);
|
||||
//需要添加 void paintEvent(QPaintEvent *event) 函数
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
QPainterPath path;
|
||||
auto rect = this->rect();
|
||||
rect.adjust(0, 0, -0, -0);
|
||||
path.addRoundedRect(rect, 6, 6);
|
||||
setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
|
||||
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.9);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
ui->lbBoder->setStyleSheet("QLabel{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
ui->lbBoder->hide();
|
||||
|
|
|
@ -35,6 +35,13 @@ DlgConnHidWifiWpa::DlgConnHidWifiWpa(int type, MainWindow *mainWindow, QWidget *
|
|||
this->setWindowFlags(Qt::FramelessWindowHint);
|
||||
this->setAttribute(Qt::WA_TranslucentBackground);
|
||||
//需要添加 void paintEvent(QPaintEvent *event) 函数
|
||||
|
||||
QPainterPath path;
|
||||
auto rect = this->rect();
|
||||
rect.adjust(4, 4, -4, -4);
|
||||
path.addRoundedRect(rect, 6, 6);
|
||||
setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
|
||||
|
||||
this->setStyleSheet("QWidget{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
||||
ui->lbBoder->setStyleSheet("QLabel{border-radius:6px;background-color:rgba(19,19,20,0.95);border:1px solid rgba(255, 255, 255, 0.05);}");
|
||||
|
|
Loading…
Reference in New Issue