From 33fd2a69e9b7dd8be65d9d9bfbf235db148b293b Mon Sep 17 00:00:00 2001 From: Lappland Date: Mon, 15 Aug 2022 02:24:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E9=87=8F=E7=9A=84ui=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E3=80=81=E5=AE=9E=E7=8E=B0=E7=A8=B3=E5=AE=9A=E7=9A=84=E4=BE=A7?= =?UTF-8?q?=E8=BD=BD=E5=8A=9F=E8=83=BD=E3=80=81=E5=AE=9E=E7=8E=B0=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=B1=8F=E5=B9=95=E5=88=86=E8=BE=A8=E7=8E=87=EF=BC=9B?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9C=A8=E9=9D=9E=E5=BC=80=E6=9C=BA=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E4=B8=8B=E9=97=AA=E9=80=80=E7=9A=84bug=EF=BC=8C?= =?UTF-8?q?=E6=8F=90=E5=8D=87=E5=AE=89=E5=85=A8=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QtAdb/QtAdb.pro | 6 +- QtAdb/about.cpp | 2 - QtAdb/about.ui | 2 +- QtAdb/adbprocess.cpp | 4 + QtAdb/animationwidget.cpp | 38 +- QtAdb/animationwidget.h | 2 + QtAdb/basepage.cpp | 38 +- QtAdb/basepage.h | 6 + QtAdb/basepage.ui | 34 +- QtAdb/mainwindow.cpp | 39 +- QtAdb/mainwindow.h | 2 + QtAdb/mainwindow.ui | 191 +++++-- QtAdb/pagelistitem.cpp | 2 +- QtAdb/pagelistitem.ui | 5 +- QtAdb/pagemaker.cpp | 139 +++-- QtAdb/pagemaker.h | 4 +- QtAdb/qss/scrollbar.qss | 51 ++ QtAdb/sonPages/activator/sp_activator.cpp | 10 + QtAdb/sonPages/activator/sp_activator.h | 4 +- QtAdb/sonPages/activator/sp_activator.ui | 12 +- QtAdb/sonPages/advanced/sp_customize_cmd.cpp | 6 - QtAdb/sonPages/advanced/sp_customize_cmd.ui | 82 ++- QtAdb/sonPages/apps/sp_features.cpp | 4 +- QtAdb/sonPages/apps/sp_features.h | 2 + QtAdb/sonPages/apps/sp_features.ui | 19 +- QtAdb/sonPages/apps/sp_installer.h | 2 + QtAdb/sonPages/apps/sp_installer.ui | 27 +- QtAdb/sonPages/apps/sp_libraries.cpp | 4 + QtAdb/sonPages/apps/sp_libraries.h | 2 + QtAdb/sonPages/apps/sp_libraries.ui | 18 +- QtAdb/sonPages/apps/sp_packages.cpp | 4 + QtAdb/sonPages/apps/sp_packages.h | 2 + QtAdb/sonPages/apps/sp_packages.ui | 45 +- QtAdb/sonPages/apps/sp_permissiongroups.cpp | 4 + QtAdb/sonPages/apps/sp_permissiongroups.h | 2 + QtAdb/sonPages/apps/sp_permissiongroups.ui | 28 +- QtAdb/sonPages/apps/sp_permissions.cpp | 7 + QtAdb/sonPages/apps/sp_permissions.h | 2 + QtAdb/sonPages/apps/sp_permissions.ui | 33 +- QtAdb/sonPages/apps/tp_packageprofile.cpp | 103 +++- QtAdb/sonPages/apps/tp_packageprofile.h | 11 + QtAdb/sonPages/apps/tp_packageprofile.ui | 236 ++++++-- QtAdb/sonPages/devControl/btnemulator.cpp | 2 + QtAdb/sonPages/devControl/btnemulator.ui | 34 +- .../devControl/sp_devcontrol_power.ui | 10 +- QtAdb/sonPages/devInfo/sp_dpichanger.cpp | 19 + QtAdb/sonPages/devInfo/sp_dpichanger.ui | 291 +++++----- QtAdb/sonPages/devInfo/sp_wmsize.cpp | 146 +++++ QtAdb/sonPages/devInfo/sp_wmsize.h | 39 ++ QtAdb/sonPages/devInfo/sp_wmsize.ui | 515 ++++++++++++++++++ QtAdb/sonPages/recovery/sp_recovery.cpp | 103 +++- QtAdb/sonPages/recovery/sp_recovery.h | 19 +- QtAdb/sonPages/recovery/sp_recovery.ui | 121 +++- QtAdb/sonPages/sonpagemanager.cpp | 20 +- QtAdb/sonPages/sonpagemanager.h | 3 +- QtAdb/sonPages/standardoutputpage.cpp | 36 +- QtAdb/sonPages/standardoutputpage.h | 4 +- QtAdb/sonPages/standardoutputpage.ui | 40 +- QtAdb/styles.qrc | 5 + QtAdb/threads/adbthread.cpp | 108 ++-- QtAdb/threads/adbthread.h | 10 +- README.md | 17 +- 62 files changed, 2263 insertions(+), 513 deletions(-) create mode 100644 QtAdb/qss/scrollbar.qss create mode 100644 QtAdb/sonPages/devInfo/sp_wmsize.cpp create mode 100644 QtAdb/sonPages/devInfo/sp_wmsize.h create mode 100644 QtAdb/sonPages/devInfo/sp_wmsize.ui create mode 100644 QtAdb/styles.qrc diff --git a/QtAdb/QtAdb.pro b/QtAdb/QtAdb.pro index 9a275f6..d6109d9 100644 --- a/QtAdb/QtAdb.pro +++ b/QtAdb/QtAdb.pro @@ -29,6 +29,7 @@ SOURCES += \ sonPages/devControl/btnemulator.cpp \ sonPages/devControl/sp_devcontrol_power.cpp \ sonPages/devInfo/sp_dpichanger.cpp \ + sonPages/devInfo/sp_wmsize.cpp \ sonPages/pay.cpp \ sonPages/recovery/sp_recovery.cpp \ sonPages/sonpagebase.cpp \ @@ -60,6 +61,7 @@ HEADERS += \ sonPages/devControl/btnemulator.h \ sonPages/devControl/sp_devcontrol_power.h \ sonPages/devInfo/sp_dpichanger.h \ + sonPages/devInfo/sp_wmsize.h \ sonPages/pay.h \ sonPages/recovery/sp_recovery.h \ sonPages/sonpagebase.h \ @@ -88,6 +90,7 @@ FORMS += \ sonPages/devControl/btnemulator.ui \ sonPages/devControl/sp_devcontrol_power.ui \ sonPages/devInfo/sp_dpichanger.ui \ + sonPages/devInfo/sp_wmsize.ui \ sonPages/pay.ui \ sonPages/recovery/sp_recovery.ui \ sonPages/sonpagebase.ui \ @@ -105,6 +108,7 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target RESOURCES += \ - ico.qrc + ico.qrc \ + styles.qrc RC_FILE += logo.rc diff --git a/QtAdb/about.cpp b/QtAdb/about.cpp index 644bd38..e83e06c 100644 --- a/QtAdb/about.cpp +++ b/QtAdb/about.cpp @@ -75,13 +75,11 @@ void about::on_btn_coolapk_clicked() QDesktopServices::openUrl(QUrl("http://www.coolapk.com/u/692559", QUrl::TolerantMode)); } - void about::on_btn_github_clicked() { QDesktopServices::openUrl(QUrl("https://github.com/LapplandSP", QUrl::TolerantMode)); } - void about::on_btn_money_2_clicked() { pay * payPage = new pay(); diff --git a/QtAdb/about.ui b/QtAdb/about.ui index 53e7878..f3159dd 100644 --- a/QtAdb/about.ui +++ b/QtAdb/about.ui @@ -112,7 +112,7 @@ QPushButton:pressed{background-color:rgba(255,255,255,0.6);} - 测试版本:beta-v0.4 + 测试版本:beta-v0.5 diff --git a/QtAdb/adbprocess.cpp b/QtAdb/adbprocess.cpp index d6ba21a..83c2433 100644 --- a/QtAdb/adbprocess.cpp +++ b/QtAdb/adbprocess.cpp @@ -156,6 +156,7 @@ QString adbProcess::run(QString command, device dev) //Adb 命 explainer->explainOutput(output , thread); emit outputGet(output); + //qDebug() << "run output:" << output << "\n"; return output; } @@ -398,6 +399,9 @@ void adbProcess::on_readerror() { QString text = this->readAllStandardError().data(); explainer->explainError(text); + + emit outputGet(text); + qDebug() << "error on adb process:" << text << "\n"; //if(text.contains("")) //QMessageBox::information(0, "Error", this->readAllStandardError().data()); } diff --git a/QtAdb/animationwidget.cpp b/QtAdb/animationwidget.cpp index 62701e6..f1a1f31 100644 --- a/QtAdb/animationwidget.cpp +++ b/QtAdb/animationwidget.cpp @@ -11,8 +11,41 @@ animationWidget::animationWidget(QWidget *p) void animationWidget::playLoadAnimation() { animation->setDuration(750); - animation->setEndValue(QRect(301, 117, this->width(),this->height())); - animation->setStartValue(QRect(301 + 50, 117, this->width(),this->height())); + //animation->setEndValue(QPoint(301,117)); + qDebug() << "wgtHeight = " << wgtHeight; + if(parent->width() <= 600) + { + animation->setEndValue(QRect(301, 117, 600,wgtHeight)); + } + else + { + animation->setEndValue(QRect(301, 117, parent->width(),wgtHeight)); + } + //animation->setStartValue(QPoint(301 + 50,117)); + animation->setStartValue(QRect(301 + 50, 117, parent->width()-50,wgtHeight)); + + animation->setEasingCurve(QEasingCurve::OutQuart); + + this->show(); + animation->start(); + emit animationEnd(); +} + +void animationWidget::playLoadAnimation(int h) +{ + animation->setDuration(750); + //animation->setEndValue(QPoint(301,117)); + //qDebug() << "wgtHeight = " << wgtHeight; + if(parent->width() <= 600) + { + animation->setEndValue(QRect(301, 117, 600,h)); + } + else + { + animation->setEndValue(QRect(301, 117, parent->width(),h)); + } + //animation->setStartValue(QPoint(301 + 50,117)); + animation->setStartValue(QRect(301 + 50, 117, parent->width()-50,h)); animation->setEasingCurve(QEasingCurve::OutQuart); @@ -23,6 +56,7 @@ void animationWidget::playLoadAnimation() void animationWidget::playExitAnimation() { + } animationWidget::~animationWidget() diff --git a/QtAdb/animationwidget.h b/QtAdb/animationwidget.h index d133b36..63d32bd 100644 --- a/QtAdb/animationwidget.h +++ b/QtAdb/animationwidget.h @@ -20,8 +20,10 @@ public: explicit animationWidget(QWidget *parent = nullptr); ~animationWidget(); + int wgtHeight = 427; void playLoadAnimation(); + void playLoadAnimation(int h); void playExitAnimation(); bool isBasePage; diff --git a/QtAdb/basepage.cpp b/QtAdb/basepage.cpp index f1304db..994d1a8 100644 --- a/QtAdb/basepage.cpp +++ b/QtAdb/basepage.cpp @@ -53,8 +53,25 @@ basePage::basePage(QWidget *parent) : "QListWidget::item:hover{background-color:rgba(255,255,255,0.7);}" "QListWidget::item::selected{background-color:rgba(255,255,255,0.5);color:black;}" * */ - ui->listWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - ui->listWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + ui->listWidget->setViewMode(QListView::ListMode); + ui->listWidget->setFlow(QListView::TopToBottom); + ui->listWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); + //ui->listWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn); + ui->listWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); + + QFile file("://qss/scrollbar.qss"); + file.open(QFile::ReadOnly); + ui->listWidget->verticalScrollBar()->setStyleSheet(file.readAll()); + //QScroller::grabGesture(ui->listWidget,QScroller::LeftMouseButtonGesture); + + /* + view->setViewMode(QListView::ListMode); + view->setFlow(QListView::TopToBottom); + view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + view->setHorizontalScrollMode(QListWidget::ScrollPerPixel); + QScroller::grabGesture(view,QScroller::LeftMouseButtonGesture); + */ connect(ui->listWidget,SIGNAL(currentRowChanged(int)),this,SLOT(slot_createSonPage(int))); /*透明度动画 @@ -100,6 +117,13 @@ void basePage::setFather(QWidget *parent) void basePage::slot_createSonPage(int key) { + this->setDisabled(true); + + listTimer = new QTimer(this); + connect(listTimer, SIGNAL(timeout()), this, SLOT(unlock())); + listTimer->setSingleShot(true); + listTimer->start(500); + emit creatingSonPage(); if(isEnable(key) && key >= 0) { @@ -112,15 +136,16 @@ void basePage::slot_createSonPage(int key) ui->mainLayout->addWidget(sonPage); } } - //ui->listWidget->setCurrentRow(-1); + ui->listWidget->setCurrentRow(-1); } void basePage::slot_destroySonPage() { + if(sonPage == NULL) throw "trying to destroy sonPage, but sonPage == NULL;"; - sonPage->~QWidget(); + delete sonPage; sonPage = NULL; ui->listWidget->setVisible(true); } @@ -165,3 +190,8 @@ void basePage::self_castrate() delete ui->mainLayout; delete ui->verticalLayout; } + +void basePage::unlock() +{ + this->setDisabled(false); +} diff --git a/QtAdb/basepage.h b/QtAdb/basepage.h index e49b6be..6fb1d6e 100644 --- a/QtAdb/basepage.h +++ b/QtAdb/basepage.h @@ -5,6 +5,9 @@ #include #include #include +#include +#include + #include "pagelistitem.h" #include "sonPages/sonpagemanager.h" #include "animationwidget.h" @@ -51,6 +54,8 @@ private: bool isEnable(int k); + QTimer *listTimer; + //QGraphicsOpacityEffect* exitOpacity; public slots: @@ -61,6 +66,7 @@ public slots: private slots: void slot_createSonPage(int key); void slot_destroySonPage(); + void unlock(); }; #endif // BASEPAGE_H diff --git a/QtAdb/basepage.ui b/QtAdb/basepage.ui index c804fe9..9e9f0a0 100644 --- a/QtAdb/basepage.ui +++ b/QtAdb/basepage.ui @@ -21,7 +21,7 @@ 0 - 11 + 0 0 @@ -31,11 +31,43 @@ + + 0 + + + + 600 + 0 + + + + + MiSans Medium + + + + ArrowCursor + + + false + + + Qt::ScrollBarAsNeeded + + + Qt::ScrollBarAlwaysOff + + + QAbstractScrollArea::AdjustIgnored + + + false + diff --git a/QtAdb/mainwindow.cpp b/QtAdb/mainwindow.cpp index 92d33ee..3fd06fa 100644 --- a/QtAdb/mainwindow.cpp +++ b/QtAdb/mainwindow.cpp @@ -3,7 +3,7 @@ /* * 待实现: - * ******************************adbProcess 的read std output不应与主页面位于同一个线程 + * * 显示输出 * 代码规范化,提升封装程度 * 写注释 @@ -36,6 +36,7 @@ MainWindow::MainWindow(QWidget *parent) addIndexItems(); //设置左侧目录 setStyles(); //设置样式 + /*初始化对象*/ process = new adbProcess(); explainer = new textExplainer(); @@ -47,7 +48,9 @@ MainWindow::MainWindow(QWidget *parent) /*用户未选择设备前,锁定界面*/ this->update(); - on_refreshButton_clicked(); + + initBasePage(6); + currentPage->playLoadAnimation(427); lock(); } @@ -146,6 +149,12 @@ void MainWindow::setCurrentDevice(int index) //槽:改变所选设备 current_device = index; //initBasePage(0); + /* + if(devList[current_device].state == "[侧载]") + { + initBasePage(5); + }*/ + if(ui->indexList->currentRow() == 0) { //qDebug() << "initBasePage"; @@ -155,7 +164,6 @@ void MainWindow::setCurrentDevice(int index) //槽:改变所选设备 { //qDebug() << "setCurrentRow"; ui->indexList->setCurrentRow(0); - } } unlock(); @@ -177,6 +185,9 @@ void MainWindow::initBasePage(int key) //槽:生成basePages } currentPage = new basePage(this); + //qDebug() << "height in initBasePage()" << ui->widget_height->height(); + currentPage->wgtHeight = ui->widget_height->height(); + //qDebug() << "height2 in initBasePage()" << currentPage->wgtHeight; connect(currentPage,SIGNAL(animationEnd()),this,SLOT(slot_taiChi())); if(devList.isEmpty()) @@ -192,8 +203,8 @@ void MainWindow::initBasePage(int key) //槽:生成basePages ui->verticalLayout_2->addWidget(currentPage); - currentPage->playLoadAnimation(); - //currentPage->repaint(); + currentPage->playLoadAnimation(ui->widget_height->height()); + //currentPage->setVisible(true); taiChiTimer = new QTimer(this); connect(taiChiTimer, SIGNAL(timeout()), this, SLOT(slot_taiChi())); taiChiTimer->setSingleShot(true); @@ -325,10 +336,16 @@ void MainWindow::setStyles() //方法:设置样式 shadowEffect_WSABtn->setColor(Qt::gray); shadowEffect_WSABtn->setBlurRadius(5); + QGraphicsDropShadowEffect *shadowEffect_cmdBtn = new QGraphicsDropShadowEffect(this); + shadowEffect_cmdBtn->setOffset(0,0); + shadowEffect_cmdBtn->setColor(Qt::gray); + shadowEffect_cmdBtn->setBlurRadius(5); + ui->refreshButton->setGraphicsEffect(shadowEffect_refreshButton); ui->adbKillerBtn->setGraphicsEffect(shadowEffect_killAdbBtn); ui->WIFIBtn->setGraphicsEffect(shadowEffect_testBtn); ui->WSABtn->setGraphicsEffect(shadowEffect_WSABtn); + ui->cmdBtn->setGraphicsEffect(shadowEffect_cmdBtn); } void MainWindow::initSonPage(int key) //槽:生成子页面 @@ -503,7 +520,7 @@ void MainWindow::slot_taiChi() this->resize(this->geometry().width() - 5,this->geometry().height()); }*/ taiChi = !taiChi; - currentPage->repaint(); + //currentPage->resize(1,1); delete taiChiTimer; taiChiTimer = NULL; @@ -513,3 +530,13 @@ void MainWindow::slot_taiChi() } //this->setEnabled(true); } + +void MainWindow::on_cmdBtn_clicked() +{ + QString appDirPath = QApplication::applicationDirPath(); + QString batPath = appDirPath + "/platform-tools/open-cmd-here.bat"; + //qDebug()<<"batPath = " << batPath; + QProcess batProcess; + batProcess.start(batPath); + batProcess.waitForFinished(); +} diff --git a/QtAdb/mainwindow.h b/QtAdb/mainwindow.h index 4e03ebf..761dcc0 100644 --- a/QtAdb/mainwindow.h +++ b/QtAdb/mainwindow.h @@ -72,6 +72,8 @@ private slots: void on_WSABtn_clicked(); void slot_taiChi(); + void on_cmdBtn_clicked(); + private: Ui::MainWindow *ui; diff --git a/QtAdb/mainwindow.ui b/QtAdb/mainwindow.ui index 4fbff42..97d5020 100644 --- a/QtAdb/mainwindow.ui +++ b/QtAdb/mainwindow.ui @@ -18,18 +18,15 @@ /*background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(238, 154, 229, 255), stop:1 rgba(89, 97, 249, 255));*/ - - - 0 - - + + - 0 + 11 @@ -48,7 +45,9 @@ - + + MiSans Demibold + <html><head/><body><p><span style=" font-size:36pt; color:#41cd52;">Qt</span><span style=" font-size:36pt;">ADB</span></p></body></html> @@ -118,7 +117,7 @@ 250 - 0 + 300 @@ -157,7 +156,7 @@ - + @@ -290,20 +289,13 @@ WSA - - - Qt::Horizontal + + + + 64 + 64 + - - - 40 - 20 - - - - - - 64 @@ -316,47 +308,144 @@ WSA 64 + + + - + QPushButton{background-color:rgba(255,255,255,0.9);border-radius:4px;border:0px;} +QPushButton:hover{background-color:rgba(255,255,255,0.7);} +QPushButton:pressed{background-color:rgba(255,255,255,0.6);} + + + :/ico/image/ico/terminal-box-line.svg:/ico/image/ico/terminal-box-line.svg + + + + 25 + 25 + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + - - - - 0 - 0 - + + + 0 - - - 0 - 0 - + + 0 - - background-color:rgb(85, 255, 127) - - - - - - - Qt::Horizontal - - - - 40 - 0 - - - + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 114514 + 0 + + + + + -16558 + 0 + + + + background-color:rgb(85, 255, 127) + + + + + + + Qt::Horizontal + + + + 40 + 0 + + + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Vertical + + + + 0 + 391 + + + + + + + + diff --git a/QtAdb/pagelistitem.cpp b/QtAdb/pagelistitem.cpp index 8899379..c29c4f6 100644 --- a/QtAdb/pagelistitem.cpp +++ b/QtAdb/pagelistitem.cpp @@ -9,7 +9,7 @@ pageListItem::pageListItem(QWidget *parent) : ui->enableLight->setVisible(false); ui->widget->setStyleSheet("QWidget{background-color:transparent; border-radius:4px; border-color:gray;border:0px;}"); - ui->pic->setStyleSheet("QPushButton{background-color:rgba(255,255,255,0.7);border-radius:4px;border:0px;}"); + ui->pic->setStyleSheet("QPushButton{background-color:rgba(255,255,255,0.6);border-radius:4px;border:0px;}"); setStyles(); } diff --git a/QtAdb/pagelistitem.ui b/QtAdb/pagelistitem.ui index c2e727b..9e298df 100644 --- a/QtAdb/pagelistitem.ui +++ b/QtAdb/pagelistitem.ui @@ -80,6 +80,9 @@ border-width:1px; 50 + + OpenHandCursor + QPushButton{background-color:rgba(255,255,255,0.9);border-radius:4px;border:0px;}/* QPushButton:hover{background-color:rgba(255,255,255,0.7);} @@ -191,7 +194,7 @@ QToolTip{border:1px solid #BDBDBD; background-color: #ffffff; color:rgba(117, 11 color: rgba(117, 117, 117, 0.9); - TextLabel + 未知 Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter diff --git a/QtAdb/pagemaker.cpp b/QtAdb/pagemaker.cpp index a85ae63..294771f 100644 --- a/QtAdb/pagemaker.cpp +++ b/QtAdb/pagemaker.cpp @@ -21,25 +21,55 @@ basePage* pageMaker::createPageWithKey(int key, QWidget *parent, device dev) k = 6; } + /* + if(dev.state == "[未响应]" || dev.state == "[REC]" || dev.state == "[侧载]" || dev.state == "[未知]") + { + + } + */ + switch(k) { case 0: if(dev.state == "[开机]") { return createPage_devInfo(parent , dev); - break; + //break; + } + else if(dev.state == "[REC]") + { + return createPage_devInfo_rec(parent, dev); + //break; } else { - return createPage_devInfo_powerdown(parent, dev); + return createPage_disabled(parent); + //break; } + break; case 1: - return createPage_acvitator(parent, dev); + if(dev.state == "[未响应]" || dev.state == "[REC]" || dev.state == "[侧载]" || dev.state == "[未知]") + { + return createPage_disabled(parent); + } + else + { + return createPage_acvitator(parent, dev); + } break; + case 2: - return createPage_apps(parent, dev); + if(dev.state == "[未响应]" || dev.state == "[REC]" || dev.state == "[侧载]" || dev.state == "[未知]") + { + return createPage_disabled(parent); + } + else + { + return createPage_apps(parent, dev); + } break; + case 3: return createPage_devControl(parent, dev); break; @@ -68,7 +98,7 @@ basePage* pageMaker::createPage_devInfo(QWidget *parent, device dev) basePage *devInfo = new basePage(parent); devInfo->isBasePage = true; devInfo->whoYouAre("devInfo"); - int val[20] = {3}; + int val[20] = {2,3}; //qDebug() << "!!!!!!!!!!!!!!!!!!!" << *val; devInfo->setEnableValue(val); devInfo->setDev(dev); @@ -90,6 +120,7 @@ basePage* pageMaker::createPage_devInfo(QWidget *parent, device dev) screen_resolution->thread->initThread("adb shell wm size", dev, ": "); QEventLoop::connect(screen_resolution->thread,SIGNAL(signal_output(QString)),screen_resolution->item,SLOT(slot_setText_profile(QString))); screen_resolution->thread->start(); + screen_resolution->item->setSelectable(); devInfo->addItemsToList(screen_resolution->item); //adb shell wm density @@ -169,7 +200,7 @@ basePage* pageMaker::createPage_devInfo(QWidget *parent, device dev) return devInfo; } -basePage* pageMaker::createPage_devInfo_powerdown(QWidget *parent, device dev) +basePage* pageMaker::createPage_devInfo_rec(QWidget *parent, device dev) { /* CItemWidget* pItemWidget = new CItemWidget(this); @@ -193,7 +224,7 @@ basePage* pageMaker::createPage_devInfo_powerdown(QWidget *parent, device dev) productModel->setPic(":/ico/image/ico/profile-line.svg"); devInfo->addItemsToList(productModel); - +/* pageListItem *screen_resolution = new pageListItem(devInfo); screen_resolution->setText("屏幕分辨率","当前状态无法获取"); screen_resolution->setPic(":/ico/image/ico/fullscreen-line.svg"); @@ -212,7 +243,7 @@ basePage* pageMaker::createPage_devInfo_powerdown(QWidget *parent, device dev) pageListItem *android_id = new pageListItem(devInfo); android_id->setText("Android Id","当前状态无法获取"); android_id->setPic(":/ico/image/ico/barcode-line.svg"); - devInfo->addItemsToList(android_id); + devInfo->addItemsToList(android_id);*/ //adb shell getprop ro.build.version.release pageListItem *android_version = new pageListItem(devInfo); @@ -346,29 +377,51 @@ basePage* pageMaker::createPage_apps(QWidget *parent, device dev) basePage* pageMaker::createPage_devControl(QWidget *parent, device dev) { - basePage *devControl = new basePage(parent); - devControl->isBasePage = true; - //activatorPage *activator = new activatorPage(parent); - devControl->whoYouAre("devControl"); - int val[20] = {1,2}; - devControl->setEnableValue(val); - devControl->setDev(dev); + if(dev.state == "[未响应]" || dev.state == "[REC]" || dev.state == "[侧载]" || dev.state == "[未知]") + { + basePage *devControl = new basePage(parent); + devControl->isBasePage = true; + //activatorPage *activator = new activatorPage(parent); + devControl->whoYouAre("devControl"); + int val[20] = {1}; + devControl->setEnableValue(val); + devControl->setDev(dev); - pageListItem *power = new pageListItem(devControl); - power->setText("电源","adb reboot "); - power->setPic(":/ico/image/ico/shut-down-line.svg"); - power->setSelectable(); - devControl->addItemsToList(power); + pageListItem *power = new pageListItem(devControl); + power->setText("电源","adb reboot "); + power->setPic(":/ico/image/ico/shut-down-line.svg"); + power->setSelectable(); + devControl->addItemsToList(power); - pageListItem *btnEmulate = new pageListItem(devControl); - btnEmulate->setText("按键模拟","adb shell input keyevent "); - btnEmulate->setPic(":/ico/image/ico/drag-move-line.svg"); - btnEmulate->setSelectable(); - devControl->addItemsToList(btnEmulate); + return devControl; + } + else + { + basePage *devControl = new basePage(parent); + devControl->isBasePage = true; + //activatorPage *activator = new activatorPage(parent); + devControl->whoYouAre("devControl"); + int val[20] = {1,2}; + devControl->setEnableValue(val); + devControl->setDev(dev); - return devControl; + pageListItem *power = new pageListItem(devControl); + power->setText("电源","adb reboot "); + power->setPic(":/ico/image/ico/shut-down-line.svg"); + power->setSelectable(); + devControl->addItemsToList(power); + + pageListItem *btnEmulate = new pageListItem(devControl); + btnEmulate->setText("按键模拟","adb shell input keyevent "); + btnEmulate->setPic(":/ico/image/ico/drag-move-line.svg"); + btnEmulate->setSelectable(); + devControl->addItemsToList(btnEmulate); + + return devControl; + } } + basePage* pageMaker::createPage_recovery(QWidget *parent, device dev) { basePage *recovery = new basePage(parent); @@ -385,13 +438,6 @@ basePage* pageMaker::createPage_recovery(QWidget *parent, device dev) power->setSelectable(); recovery->addItemsToList(power); - /* - pageListItem *btnEmulate = new pageListItem(recovery); - btnEmulate->setText("按键模拟","adb shell input keyevent "); - btnEmulate->setPic(":/ico/image/ico/refund-line.svg"); - btnEmulate->setSelectable(); - recovery->addItemsToList(btnEmulate);*/ - return recovery; } @@ -401,7 +447,7 @@ basePage* pageMaker::createPage_advanced(QWidget *parent, device dev) advanced->isBasePage = true; //activatorPage *activator = new activatorPage(parent); advanced->whoYouAre("advanced"); - int val[20] = {1,2}; + int val[20] = {1}; advanced->setEnableValue(val); advanced->setDev(dev); @@ -411,12 +457,6 @@ basePage* pageMaker::createPage_advanced(QWidget *parent, device dev) customize_command->setSelectable(); advanced->addItemsToList(customize_command); - pageListItem *open_cmd = new pageListItem(advanced); - open_cmd->setText("命令行","cmd"); - open_cmd->setPic(":/ico/image/ico/terminal-box-line.svg"); - open_cmd->setSelectable(); - advanced->addItemsToList(open_cmd); - /* pageListItem *btnEmulate = new pageListItem(recovery); btnEmulate->setText("按键模拟","adb shell input keyevent "); @@ -433,6 +473,25 @@ basePage* pageMaker::createPage_about(QWidget *parent) return abt; } +basePage* pageMaker::createPage_disabled(QWidget *parent) +{ + basePage *disabled = new basePage(parent); + disabled->isBasePage = true; + disabled->whoYouAre("disabled"); + int val[20] = {}; + //qDebug() << "!!!!!!!!!!!!!!!!!!!" << *val; + disabled->setEnableValue(val); + /**/ + + pageListItem *productModel = new pageListItem(disabled); + //qDebug() << "dev of pageMaker" << dev.addr; + productModel->setText("设备未开机","功能暂不可用"); + productModel->setPic(":/ico/image/ico/close-circle-line.svg"); + disabled->addItemsToList(productModel); + + return disabled; +} + pageMaker::pageListItemStruct* pageMaker::initStruct(QWidget* parent) { pageListItemStruct *itemStruct = new pageListItemStruct(); diff --git a/QtAdb/pagemaker.h b/QtAdb/pagemaker.h index 5d03470..03a851a 100644 --- a/QtAdb/pagemaker.h +++ b/QtAdb/pagemaker.h @@ -25,7 +25,7 @@ public: basePage *createPage_devInfo(QWidget *parent, device dev); - basePage *createPage_devInfo_powerdown(QWidget *parent, device dev); + basePage *createPage_devInfo_rec(QWidget *parent, device dev); basePage *createPage_acvitator(QWidget *parent, device dev); basePage *createPage_apps(QWidget *parent,device dev); @@ -38,6 +38,8 @@ public: basePage *createPage_about(QWidget *parent); + basePage *createPage_disabled(QWidget *parent); + //activatorPage *createSonPage_activator(QWidget *parent, device dev); typedef struct{ diff --git a/QtAdb/qss/scrollbar.qss b/QtAdb/qss/scrollbar.qss new file mode 100644 index 0000000..e4288fe --- /dev/null +++ b/QtAdb/qss/scrollbar.qss @@ -0,0 +1,51 @@ +QScrollBar:vertical +{ + width:8px; + background:rgba(0,0,0,0%); + margin:0px,0px,0px,0px; + padding-top:0px; + padding-bottom:0px; +} +QScrollBar::handle:vertical +{ + width:8px; + background:rgba(0,0,0,25%); + border-radius:4px; + min-height:20; +} +QScrollBar::handle:vertical:hover +{ + width:8px; + background:rgba(0,0,0,50%); + border-radius:4px; + min-height:20; +} +QScrollBar::add-line:vertical +{ + height:0px;width:0px; + border:0px; + subcontrol-position:bottom; +} +QScrollBar::sub-line:vertical +{ + height:0px;width:0px; + border:0px; + subcontrol-position:top; +} +QScrollBar::add-line:vertical:hover +{ + height:0px;width:0px; + border:0px; + subcontrol-position:bottom; +} +QScrollBar::sub-line:vertical:hover +{ + height:0px;width:0px; + border:0px; + subcontrol-position:top; +} +QScrollBar::add-page:vertical,QScrollBar::sub-page:vertical +{ + background:rgba(0,0,0,10%); + border-radius:4px; +} \ No newline at end of file diff --git a/QtAdb/sonPages/activator/sp_activator.cpp b/QtAdb/sonPages/activator/sp_activator.cpp index 59e3c58..197091b 100644 --- a/QtAdb/sonPages/activator/sp_activator.cpp +++ b/QtAdb/sonPages/activator/sp_activator.cpp @@ -42,11 +42,20 @@ sp_activator::sp_activator(QWidget *parent) : shadowEffect_textBrowser->setColor(Qt::gray); shadowEffect_textBrowser->setBlurRadius(5); ui->textBrowser->setGraphicsEffect(shadowEffect_textBrowser); + + QFile file("://qss/scrollbar.qss"); + file.open(QFile::ReadOnly); + ui->textBrowser->verticalScrollBar()->setStyleSheet(file.readAll()); } sp_activator::~sp_activator() { //delete process; + if(page != NULL) + { + delete page; + } + delete ui; } @@ -73,6 +82,7 @@ void sp_activator::on_showOutputBtn_clicked(bool checked) if(checked) { page = new standardOutputPage(NULL,process); + connect(process,SIGNAL(outputGet(QString)),page,SLOT(update(QString))); /* parents->mapToGlobal(parents->pos()); page->move(parents->pos().x() + parents->width() + this->width()/2 + 22,0);*/ diff --git a/QtAdb/sonPages/activator/sp_activator.h b/QtAdb/sonPages/activator/sp_activator.h index a245676..d51f430 100644 --- a/QtAdb/sonPages/activator/sp_activator.h +++ b/QtAdb/sonPages/activator/sp_activator.h @@ -3,6 +3,8 @@ #include #include +#include +#include #include "adbprocess.h" #include "../sonpagebase.h" #include "../standardoutputpage.h" @@ -22,7 +24,7 @@ public: void setUp(QString qss, QString title, QString profile, QString command); QString command; device dev; - standardOutputPage *page; + standardOutputPage *page = NULL; QWidget *parents; void setDev(device device); diff --git a/QtAdb/sonPages/activator/sp_activator.ui b/QtAdb/sonPages/activator/sp_activator.ui index be04ef6..f3a9851 100644 --- a/QtAdb/sonPages/activator/sp_activator.ui +++ b/QtAdb/sonPages/activator/sp_activator.ui @@ -10,6 +10,11 @@ 458 + + + MiSans Normal + + Form @@ -18,7 +23,7 @@ 0 - 11 + 0 0 @@ -37,6 +42,9 @@ border:0px solid #BDBDBD; 11 + + 0 + 11 @@ -89,7 +97,6 @@ border:0px solid #BDBDBD; - MiSans Normal 18 true @@ -109,7 +116,6 @@ border:0px solid #BDBDBD; - MiSans Normal 12 PreferAntialias diff --git a/QtAdb/sonPages/advanced/sp_customize_cmd.cpp b/QtAdb/sonPages/advanced/sp_customize_cmd.cpp index 5a973fe..90bff69 100644 --- a/QtAdb/sonPages/advanced/sp_customize_cmd.cpp +++ b/QtAdb/sonPages/advanced/sp_customize_cmd.cpp @@ -13,7 +13,6 @@ sp_customize_cmd::sp_customize_cmd(QWidget *parent) : QGraphicsDropShadowEffect *shadowEffect_runBtn = new QGraphicsDropShadowEffect(this); QGraphicsDropShadowEffect *shadowEffect_showOutputBtn = new QGraphicsDropShadowEffect(this); QGraphicsDropShadowEffect *shadowEffect_back_to_basePage = new QGraphicsDropShadowEffect(this); - QGraphicsDropShadowEffect *shadowEffect_refreshBtn = new QGraphicsDropShadowEffect(this); shadowEffect_runBtn->setOffset(0,0); shadowEffect_runBtn->setColor(Qt::gray); @@ -27,14 +26,9 @@ sp_customize_cmd::sp_customize_cmd(QWidget *parent) : shadowEffect_back_to_basePage->setColor(Qt::gray); shadowEffect_back_to_basePage->setBlurRadius(5); - shadowEffect_refreshBtn->setOffset(0,0); - shadowEffect_refreshBtn->setColor(Qt::gray); - shadowEffect_refreshBtn->setBlurRadius(5); - ui->back_to_basePage->setGraphicsEffect(shadowEffect_back_to_basePage); ui->runBtn->setGraphicsEffect(shadowEffect_runBtn); ui->showOutputBtn->setGraphicsEffect(shadowEffect_showOutputBtn); - ui->refreshBtn->setGraphicsEffect(shadowEffect_refreshBtn); QGraphicsDropShadowEffect *shadowEffect_textBrowser = new QGraphicsDropShadowEffect(this); shadowEffect_textBrowser->setOffset(0,0); diff --git a/QtAdb/sonPages/advanced/sp_customize_cmd.ui b/QtAdb/sonPages/advanced/sp_customize_cmd.ui index ad1a3c1..6641b81 100644 --- a/QtAdb/sonPages/advanced/sp_customize_cmd.ui +++ b/QtAdb/sonPages/advanced/sp_customize_cmd.ui @@ -6,8 +6,8 @@ 0 0 - 725 - 571 + 621 + 389 @@ -17,6 +17,9 @@ 0 + + 0 + 0 @@ -31,6 +34,9 @@ border:0px solid #BDBDBD; 11 + + 0 + 11 @@ -42,20 +48,20 @@ border:0px solid #BDBDBD; - 14 + 0 - 40 - 40 + 30 + 30 - 40 - 40 + 30 + 30 @@ -87,7 +93,6 @@ image: url(:/ico/image/ico/code-s-slash-line.svg); - MiSans Normal 18 true @@ -105,9 +110,21 @@ border:0px solid #BDBDBD; + + + 0 + 50 + + + + + 16777215 + 16777215 + + - MiSans Normal + 12 @@ -129,20 +146,25 @@ background-color: rgba(255, 255, 255, 0); - MiSans Normal + MiSans Medium + 12 + + background-color:rgba(255,255,255,0.6);border-radius:4px;border:0px; + <html><head/><body><p>暂时仅支持 ADB 命令</p><p>不支持管道符“ | ”</p></body></html> + + Qt::AlignCenter + - - MiSans Normal - + @@ -238,40 +260,6 @@ QPushButton:pressed{background-color:rgba(255,255,255,0.6);} - - - - - 30 - 30 - - - - - 30 - 30 - - - - QPushButton{background-color:rgba(255,255,255,0.9);border-radius:4px;border:0px;} -QPushButton:hover{background-color:rgba(255,255,255,0.7);} -QPushButton:pressed{background-color:rgba(255,255,255,0.6);} - - - - - - - :/ico/image/ico/refresh-line.svg:/ico/image/ico/refresh-line.svg - - - - 18 - 18 - - - - diff --git a/QtAdb/sonPages/apps/sp_features.cpp b/QtAdb/sonPages/apps/sp_features.cpp index 6451e98..7ddd4a6 100644 --- a/QtAdb/sonPages/apps/sp_features.cpp +++ b/QtAdb/sonPages/apps/sp_features.cpp @@ -30,7 +30,9 @@ sp_features::sp_features(QWidget *parent) : ui->back_to_basePage->setGraphicsEffect(shadowEffect_back_to_basePage); ui->refreshBtn->setGraphicsEffect(shadowEffect_refreshBtn); - + QFile file("://qss/scrollbar.qss"); + file.open(QFile::ReadOnly); + ui->listView->verticalScrollBar()->setStyleSheet(file.readAll()); } sp_features::~sp_features() diff --git a/QtAdb/sonPages/apps/sp_features.h b/QtAdb/sonPages/apps/sp_features.h index 1f15140..65c1efe 100644 --- a/QtAdb/sonPages/apps/sp_features.h +++ b/QtAdb/sonPages/apps/sp_features.h @@ -4,6 +4,8 @@ #include #include #include +#include +#include //#include #include "../../threads/adbthread.h" diff --git a/QtAdb/sonPages/apps/sp_features.ui b/QtAdb/sonPages/apps/sp_features.ui index 72fde9c..dfae4e4 100644 --- a/QtAdb/sonPages/apps/sp_features.ui +++ b/QtAdb/sonPages/apps/sp_features.ui @@ -14,6 +14,9 @@ Form + + 0 + @@ -25,6 +28,9 @@ border:0px solid #BDBDBD; 11 + + 0 + 11 @@ -36,22 +42,25 @@ border:0px solid #BDBDBD; - 14 + 0 - 40 - 40 + 30 + 30 - 40 - 40 + 30 + 30 + + + border-radius: 4px; border:0px solid #BDBDBD; diff --git a/QtAdb/sonPages/apps/sp_installer.h b/QtAdb/sonPages/apps/sp_installer.h index 189746a..690200a 100644 --- a/QtAdb/sonPages/apps/sp_installer.h +++ b/QtAdb/sonPages/apps/sp_installer.h @@ -6,6 +6,8 @@ #include "adbprocess.h" #include #include "../../threads/adbthread.h" +#include +#include namespace Ui { class sp_installer; diff --git a/QtAdb/sonPages/apps/sp_installer.ui b/QtAdb/sonPages/apps/sp_installer.ui index 863230d..f241e2d 100644 --- a/QtAdb/sonPages/apps/sp_installer.ui +++ b/QtAdb/sonPages/apps/sp_installer.ui @@ -14,6 +14,9 @@ Form + + 0 + @@ -25,6 +28,9 @@ border:0px solid #BDBDBD; 11 + + 0 + 11 @@ -36,22 +42,27 @@ border:0px solid #BDBDBD; - 14 + 0 - 40 - 40 + 30 + 30 - 40 - 40 + 30 + 30 + + + MiSans Medium + + border-radius: 4px; border:0px solid #BDBDBD; @@ -78,6 +89,7 @@ image: url(:/ico/image/ico/install-line.svg); + MiSans Medium 18 true @@ -116,7 +128,9 @@ border:0px solid #BDBDBD; - + + MiSans Medium + QPushButton{background-color:rgba(255,255,255,0.9);border-radius:4px;border:0px;} @@ -133,6 +147,7 @@ QPushButton:pressed{background-color:rgba(255,255,255,0.6);} + MiSans Medium 12 diff --git a/QtAdb/sonPages/apps/sp_libraries.cpp b/QtAdb/sonPages/apps/sp_libraries.cpp index a7d53b2..46f18bd 100644 --- a/QtAdb/sonPages/apps/sp_libraries.cpp +++ b/QtAdb/sonPages/apps/sp_libraries.cpp @@ -30,6 +30,10 @@ sp_libraries::sp_libraries(QWidget *parent) : ui->back_to_basePage->setGraphicsEffect(shadowEffect_back_to_basePage); ui->refreshBtn->setGraphicsEffect(shadowEffect_refreshBtn); + QFile file("://qss/scrollbar.qss"); + file.open(QFile::ReadOnly); + ui->listView->verticalScrollBar()->setStyleSheet(file.readAll()); + } sp_libraries::~sp_libraries() diff --git a/QtAdb/sonPages/apps/sp_libraries.h b/QtAdb/sonPages/apps/sp_libraries.h index bacd459..4692f66 100644 --- a/QtAdb/sonPages/apps/sp_libraries.h +++ b/QtAdb/sonPages/apps/sp_libraries.h @@ -6,6 +6,8 @@ #include //#include #include "../../threads/adbthread.h" +#include +#include namespace Ui { class sp_libraries; diff --git a/QtAdb/sonPages/apps/sp_libraries.ui b/QtAdb/sonPages/apps/sp_libraries.ui index 6e99018..739bfd5 100644 --- a/QtAdb/sonPages/apps/sp_libraries.ui +++ b/QtAdb/sonPages/apps/sp_libraries.ui @@ -14,6 +14,9 @@ Form + + 0 + @@ -25,6 +28,9 @@ border:0px solid #BDBDBD; 11 + + 0 + 11 @@ -36,20 +42,20 @@ border:0px solid #BDBDBD; - 14 + 0 - 40 - 40 + 30 + 30 - 40 - 40 + 30 + 30 @@ -87,7 +93,7 @@ image: url(:/ico/image/ico/btnEmulator/menu-line.svg); border:0px solid #BDBDBD; - + 当前设备支持的所有库 diff --git a/QtAdb/sonPages/apps/sp_packages.cpp b/QtAdb/sonPages/apps/sp_packages.cpp index b03ae0d..e009f38 100644 --- a/QtAdb/sonPages/apps/sp_packages.cpp +++ b/QtAdb/sonPages/apps/sp_packages.cpp @@ -36,6 +36,10 @@ sp_packages::sp_packages(QWidget *parent) : ui->back_to_basePage->setGraphicsEffect(shadowEffect_back_to_basePage); ui->refreshBtn->setGraphicsEffect(shadowEffect_refreshBtn); + QFile file("://qss/scrollbar.qss"); + file.open(QFile::ReadOnly); + ui->listView->verticalScrollBar()->setStyleSheet(file.readAll()); + } sp_packages::~sp_packages() diff --git a/QtAdb/sonPages/apps/sp_packages.h b/QtAdb/sonPages/apps/sp_packages.h index 01c32d9..40f8c7e 100644 --- a/QtAdb/sonPages/apps/sp_packages.h +++ b/QtAdb/sonPages/apps/sp_packages.h @@ -9,6 +9,8 @@ #include #include "../../threads/adbthread.h" #include "tp_packageprofile.h" +#include +#include /* struct package { diff --git a/QtAdb/sonPages/apps/sp_packages.ui b/QtAdb/sonPages/apps/sp_packages.ui index 2b5fda3..9fdb3c8 100644 --- a/QtAdb/sonPages/apps/sp_packages.ui +++ b/QtAdb/sonPages/apps/sp_packages.ui @@ -6,14 +6,17 @@ 0 0 - 592 - 557 + 580 + 413 Form + + 0 + @@ -25,6 +28,9 @@ border:0px solid #BDBDBD; 11 + + 0 + 11 @@ -36,20 +42,20 @@ border:0px solid #BDBDBD; - 14 + 0 - 40 - 40 + 30 + 30 - 40 - 40 + 30 + 30 @@ -78,6 +84,7 @@ image: url(:/ico/image/ico/android-line.svg); + MiSans Medium 18 true @@ -124,9 +131,7 @@ QProgressBar:chunk{ - - MiSans Medium - + @@ -134,6 +139,11 @@ QProgressBar:chunk{ + + + MiSans Medium + + 仅显示已停用 @@ -141,6 +151,11 @@ QProgressBar:chunk{ + + + MiSans Medium + + 仅显示已启用 @@ -148,6 +163,11 @@ QProgressBar:chunk{ + + + MiSans Medium + + 第三方 @@ -155,6 +175,11 @@ QProgressBar:chunk{ + + + MiSans Medium + + 系统 diff --git a/QtAdb/sonPages/apps/sp_permissiongroups.cpp b/QtAdb/sonPages/apps/sp_permissiongroups.cpp index 60d347f..206a1b4 100644 --- a/QtAdb/sonPages/apps/sp_permissiongroups.cpp +++ b/QtAdb/sonPages/apps/sp_permissiongroups.cpp @@ -29,6 +29,10 @@ sp_permissionGroups::sp_permissionGroups(QWidget *parent) : ui->back_to_basePage->setGraphicsEffect(shadowEffect_back_to_basePage); ui->refreshBtn->setGraphicsEffect(shadowEffect_refreshBtn); + + QFile file("://qss/scrollbar.qss"); + file.open(QFile::ReadOnly); + ui->listView->verticalScrollBar()->setStyleSheet(file.readAll()); } sp_permissionGroups::~sp_permissionGroups() diff --git a/QtAdb/sonPages/apps/sp_permissiongroups.h b/QtAdb/sonPages/apps/sp_permissiongroups.h index 203461f..621ffdd 100644 --- a/QtAdb/sonPages/apps/sp_permissiongroups.h +++ b/QtAdb/sonPages/apps/sp_permissiongroups.h @@ -6,6 +6,8 @@ #include //#include #include "../../threads/adbthread.h" +#include +#include namespace Ui { class sp_permissionGroups; diff --git a/QtAdb/sonPages/apps/sp_permissiongroups.ui b/QtAdb/sonPages/apps/sp_permissiongroups.ui index e727c89..5f40820 100644 --- a/QtAdb/sonPages/apps/sp_permissiongroups.ui +++ b/QtAdb/sonPages/apps/sp_permissiongroups.ui @@ -7,13 +7,16 @@ 0 0 635 - 534 + 451 Form + + 0 + @@ -25,6 +28,9 @@ border:0px solid #BDBDBD; 11 + + 0 + 11 @@ -36,22 +42,27 @@ border:0px solid #BDBDBD; - 14 + 0 - 40 - 40 + 30 + 30 - 40 - 40 + 30 + 30 + + + MiSans Medium + + border-radius: 4px; border:0px solid #BDBDBD; @@ -78,6 +89,7 @@ image: url(:/ico/image/ico/about/information-line.svg); + MiSans Medium 18 true @@ -127,9 +139,7 @@ QProgressBar:chunk{ true - - MiSans Medium - + diff --git a/QtAdb/sonPages/apps/sp_permissions.cpp b/QtAdb/sonPages/apps/sp_permissions.cpp index da00784..979e856 100644 --- a/QtAdb/sonPages/apps/sp_permissions.cpp +++ b/QtAdb/sonPages/apps/sp_permissions.cpp @@ -111,6 +111,10 @@ void sp_permissions::on_back_to_basePage_2_clicked() settings->setWindowTitle("选项"); settings->move(ui->back_to_basePage_2->geometry().x(),ui->back_to_basePage_2->geometry().y()); settings->exec(); + + QFile file("://qss/scrollbar.qss"); + file.open(QFile::ReadOnly); + ui->tableView->verticalScrollBar()->setStyleSheet(file.readAll()); } void sp_permissions::setArg() @@ -338,9 +342,12 @@ void sp_permissions::refresh_tableView(QString s) void sp_permissions::on_open_another_window_clicked() { QWidget *wgt = new QWidget(); + wgt->setWindowTitle("查看"); + wgt->setStyleSheet("background-color:white;border:0px solid white;"); QVBoxLayout *layout = new QVBoxLayout(); QTableView *view = new QTableView(); view->setModel(current_model); + view->setStyleSheet("background-color:white;border:0px;"); wgt->setLayout(layout); layout->addWidget(view); wgt ->showMaximized(); diff --git a/QtAdb/sonPages/apps/sp_permissions.h b/QtAdb/sonPages/apps/sp_permissions.h index 5a63a73..ff17313 100644 --- a/QtAdb/sonPages/apps/sp_permissions.h +++ b/QtAdb/sonPages/apps/sp_permissions.h @@ -9,6 +9,8 @@ #include #include "../../textexplainer.h" #include "../../threads/adbthread.h" +#include +#include namespace Ui { class sp_permissions; diff --git a/QtAdb/sonPages/apps/sp_permissions.ui b/QtAdb/sonPages/apps/sp_permissions.ui index b1d1fe8..a316dc6 100644 --- a/QtAdb/sonPages/apps/sp_permissions.ui +++ b/QtAdb/sonPages/apps/sp_permissions.ui @@ -6,14 +6,17 @@ 0 0 - 648 - 534 + 509 + 391 Form + + 0 + @@ -25,6 +28,9 @@ border:0px solid #BDBDBD; 11 + + 0 + 11 @@ -36,20 +42,20 @@ border:0px solid #BDBDBD; - 14 + 0 - 40 - 40 + 30 + 30 - 40 - 40 + 30 + 30 @@ -78,7 +84,6 @@ image: url(:/ico/image/ico/about/information-line.svg); - MiSans Medium 18 true @@ -96,14 +101,14 @@ border:0px solid #BDBDBD; - 30 - 30 + 40 + 40 - 50 - 50 + 40 + 40 @@ -159,9 +164,7 @@ QProgressBar:chunk{ - - MiSans Medium - + diff --git a/QtAdb/sonPages/apps/tp_packageprofile.cpp b/QtAdb/sonPages/apps/tp_packageprofile.cpp index 4f8510d..354eafb 100644 --- a/QtAdb/sonPages/apps/tp_packageprofile.cpp +++ b/QtAdb/sonPages/apps/tp_packageprofile.cpp @@ -14,6 +14,8 @@ tp_packageProfile::tp_packageProfile(QWidget *parent ,QString packageName) : thread_file = new adbThread(); + //this->setStyleSheet("background-color:white;"); + thread_installer = new adbThread(); @@ -21,6 +23,17 @@ tp_packageProfile::tp_packageProfile(QWidget *parent ,QString packageName) : ui->lineEdit_name->isReadOnly(); ui->lineEdit_installer->isReadOnly(); ui->lineEdit_path->isReadOnly(); + + setShadow(ui->label); + setShadow(ui->label_2); + setShadow(ui->label_3); + setShadow(ui->tips); + setShadow(ui->uninstall); + setShadow(ui->clear); + setShadow(ui->enable); + setShadow(ui->disable); + + //this->setStyleSheet("background-color:white;"); } tp_packageProfile::~tp_packageProfile() @@ -40,40 +53,89 @@ void tp_packageProfile::set_installer(QString s) void tp_packageProfile::on_uninstall_clicked() { - QString cmd = "adb shell pm uninstall "; - cmd.append(name); - process->run(cmd,dev); + if(uninstall_clicked) + { + ui->tips->setText("已执行「卸载」命令,本窗口将关闭"); - emit packageChanged(); - this->close(); + QString cmd = "adb shell pm uninstall "; + cmd.append(name); + process->run(cmd,dev); + + emit packageChanged(); + this->close(); + + uninstall_clicked = false; + } + else + { + ui->tips->setText("再次点击以卸载,卸载后本窗口将关闭"); + uninstall_clicked = true; + } } void tp_packageProfile::on_clear_clicked() { - QString cmd = "adb shell pm clear "; - cmd.append(name); - process->run(cmd,dev); + if(clear_clicked) + { + ui->tips->setText("已执行「清除应用数据」命令"); + + QString cmd = "adb shell pm clear "; + cmd.append(name); + process->run(cmd,dev); + + clear_clicked = false; + } + else + { + ui->tips->setText("再次点击以清除"); + clear_clicked = true; + } } void tp_packageProfile::on_enable_clicked() { - QString cmd = "adb shell pm enable "; - cmd.append(name); - process->run(cmd,dev); + if(enable_clicked) + { + ui->tips->setText("已执行「启用」命令"); - emit packageChanged(); + QString cmd = "adb shell pm enable "; + cmd.append(name); + process->run(cmd,dev); + + emit packageChanged(); + + enable_clicked = false; + } + else + { + ui->tips->setText("再次点击以启用"); + enable_clicked = true; + } } void tp_packageProfile::on_disable_clicked() { - QString cmd = "adb shell pm disable "; - cmd.append(name); - process->run(cmd,dev); + if(disable_clicked) + { + ui->tips->setText("已执行「停用」命令"); + + QString cmd = "adb shell pm disable "; + cmd.append(name); + process->run(cmd,dev); + + emit packageChanged(); + + disable_clicked = false; + } + else + { + ui->tips->setText("再次点击以停用"); + disable_clicked = true; + } - emit packageChanged(); } void tp_packageProfile::setDevice(device d) @@ -92,3 +154,12 @@ void tp_packageProfile::setDevice(device d) connect(thread_installer,SIGNAL(signal_output(QString)),this,SLOT(set_installer(QString))); thread_installer->start(); } + +void tp_packageProfile::setShadow(QWidget* wgt) +{ + QGraphicsDropShadowEffect *shadowEffect_widget = new QGraphicsDropShadowEffect(this); + shadowEffect_widget->setOffset(0,0); + shadowEffect_widget->setColor(Qt::gray); + shadowEffect_widget->setBlurRadius(5); + wgt->setGraphicsEffect(shadowEffect_widget); +} diff --git a/QtAdb/sonPages/apps/tp_packageprofile.h b/QtAdb/sonPages/apps/tp_packageprofile.h index 64ff360..ca9d621 100644 --- a/QtAdb/sonPages/apps/tp_packageprofile.h +++ b/QtAdb/sonPages/apps/tp_packageprofile.h @@ -2,6 +2,9 @@ #define TP_PACKAGEPROFILE_H #include +#include +#include +#include #include "../../textexplainer.h" #include "../../adbprocess.h" #include "../../threads/adbthread.h" @@ -30,6 +33,14 @@ private: adbThread * thread_btn; adbProcess * process; textExplainer *explainer; + + void setShadow(QWidget* wgt); + + bool uninstall_clicked = false; + bool clear_clicked = false; + bool enable_clicked = false; + bool disable_clicked = false; + signals: void packageChanged(); /* diff --git a/QtAdb/sonPages/apps/tp_packageprofile.ui b/QtAdb/sonPages/apps/tp_packageprofile.ui index 8921979..2a03b08 100644 --- a/QtAdb/sonPages/apps/tp_packageprofile.ui +++ b/QtAdb/sonPages/apps/tp_packageprofile.ui @@ -6,13 +6,13 @@ 0 0 - 767 - 206 + 407 + 207 - MiSans Medium + 9 @@ -21,63 +21,127 @@ + + 7 + 5 + + 14 + + + 7 + + + + 0 + 0 + + + + + 16777215 + 16777215 + + - MiSans Medium + 10 + + + 包名 + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + 0 + 0 + + - MiSans Medium + 10 + + + 关联文件 + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + 0 + 0 + + - MiSans Medium + 10 + + + 安装者 + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 7 + + + + 0 + 0 + + - MiSans Medium + 9 false + + border:2px solid #BDBDBD; +border-radius:4px; + true @@ -85,14 +149,24 @@ + + + 0 + 0 + + - MiSans Medium + 9 false + + border:2px solid #BDBDBD; +border-radius:4px; + true @@ -100,14 +174,24 @@ + + + 0 + 0 + + - MiSans Medium + 9 false + + border:2px solid #BDBDBD; +border-radius:4px; + true @@ -118,42 +202,69 @@ - - - - - - MiSans Medium - - - - 卸载 - - - - - - - - MiSans Medium - - - - 清除所有数据 - - - - + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + 0 + 30 + + + + + 16777215 + 30 + + + + + 12 + + + + background-color:rgba(255,255,255,0.6);border-radius:4px;border:0px; + + + 双击以确认操作 + + + Qt::AlignCenter + + + + 14 + + + + 0 + 30 + + - MiSans Medium + 9 + + + 启用 @@ -161,16 +272,67 @@ + + + 0 + 30 + + - MiSans Medium + 9 + + + 停用 + + + + + 0 + 30 + + + + + 9 + + + + + + + 卸载 + + + + + + + + 0 + 30 + + + + + 9 + + + + + + + 清除所有数据 + + + diff --git a/QtAdb/sonPages/devControl/btnemulator.cpp b/QtAdb/sonPages/devControl/btnemulator.cpp index b3cf8c2..36a41d8 100644 --- a/QtAdb/sonPages/devControl/btnemulator.cpp +++ b/QtAdb/sonPages/devControl/btnemulator.cpp @@ -11,6 +11,7 @@ btnEmulator::btnEmulator(QWidget *parent) : explainer = new textExplainer(); this->setStyleSheet("QToolTip{border:1px solid #BDBDBD; background-color: #ffffff; color:rgba(117, 117, 117, 0.9);font-family: MiSans Medium; font-size:12px;border-radius:4px;}"); + setStyles(); } @@ -217,6 +218,7 @@ void btnEmulator::setStyles() setShadow(ui->btn_calender); setShadow(ui->btn_calc); setShadow(ui->back_to_basePage); + setShadow(ui->tips); setShadow(ui->label); setShadow(ui->label_2); diff --git a/QtAdb/sonPages/devControl/btnemulator.ui b/QtAdb/sonPages/devControl/btnemulator.ui index 6547a81..a673b45 100644 --- a/QtAdb/sonPages/devControl/btnemulator.ui +++ b/QtAdb/sonPages/devControl/btnemulator.ui @@ -6,8 +6,8 @@ 0 0 - 615 - 450 + 744 + 505 @@ -35,6 +35,9 @@ QToolTip{border:1px solid #BDBDBD; background-color: #ffffff; color:rgba(117, 11 11 + + 11 + 11 @@ -1249,17 +1252,28 @@ QPushButton:pressed{background-color:rgba(255,255,255,0.6);} - - - Qt::Horizontal - - + + - 40 - 20 + 0 + 30 - + + + 12 + + + + background-color:rgba(255,255,255,0.6);border-radius:4px;border:0px; + + + <html><head/><body><p><span style=" font-style:italic;">鼠标悬浮可查看具体功能</span></p></body></html> + + + Qt::AlignCenter + + diff --git a/QtAdb/sonPages/devControl/sp_devcontrol_power.ui b/QtAdb/sonPages/devControl/sp_devcontrol_power.ui index 40aa06c..d54e42b 100644 --- a/QtAdb/sonPages/devControl/sp_devcontrol_power.ui +++ b/QtAdb/sonPages/devControl/sp_devcontrol_power.ui @@ -17,6 +17,9 @@ 0 + + 11 + 0 @@ -31,6 +34,9 @@ border:0px solid #BDBDBD; 11 + + 11 + 11 @@ -88,7 +94,6 @@ QPushButton:pressed{background-color:rgba(255,255,255,0.6);} - MiSans Normal 12 @@ -148,7 +153,6 @@ QPushButton:pressed{background-color:rgba(255,255,255,0.6);} - MiSans Normal 12 @@ -208,7 +212,6 @@ QPushButton:pressed{background-color:rgba(255,255,255,0.6);} - MiSans Normal 12 @@ -268,7 +271,6 @@ QPushButton:pressed{background-color:rgba(255,255,255,0.6);} - MiSans Normal 12 diff --git a/QtAdb/sonPages/devInfo/sp_dpichanger.cpp b/QtAdb/sonPages/devInfo/sp_dpichanger.cpp index 8a7118e..415b18f 100644 --- a/QtAdb/sonPages/devInfo/sp_dpichanger.cpp +++ b/QtAdb/sonPages/devInfo/sp_dpichanger.cpp @@ -29,6 +29,10 @@ sp_dpiChanger::sp_dpiChanger(QWidget *parent) : QGraphicsDropShadowEffect *shadowEffect_back_to_basePage = new QGraphicsDropShadowEffect(this); QGraphicsDropShadowEffect *shadowEffect_refreshBtn = new QGraphicsDropShadowEffect(this); + QGraphicsDropShadowEffect *shadowEffect_dpiInfo = new QGraphicsDropShadowEffect(this); + QGraphicsDropShadowEffect *shadowEffect_currentDpi = new QGraphicsDropShadowEffect(this); + QGraphicsDropShadowEffect *shadowEffect_label3 = new QGraphicsDropShadowEffect(this); + shadowEffect_runBtn->setOffset(0,0); shadowEffect_runBtn->setColor(Qt::gray); shadowEffect_runBtn->setBlurRadius(5); @@ -45,10 +49,25 @@ sp_dpiChanger::sp_dpiChanger(QWidget *parent) : shadowEffect_refreshBtn->setColor(Qt::gray); shadowEffect_refreshBtn->setBlurRadius(5); + shadowEffect_dpiInfo->setOffset(0,0); + shadowEffect_dpiInfo->setColor(Qt::gray); + shadowEffect_dpiInfo->setBlurRadius(5); + + shadowEffect_currentDpi->setOffset(0,0); + shadowEffect_currentDpi->setColor(Qt::gray); + shadowEffect_currentDpi->setBlurRadius(5); + + shadowEffect_label3->setOffset(0,0); + shadowEffect_label3->setColor(Qt::gray); + shadowEffect_label3->setBlurRadius(5); + ui->back_to_basePage->setGraphicsEffect(shadowEffect_back_to_basePage); ui->runBtn->setGraphicsEffect(shadowEffect_runBtn); ui->showOutputBtn->setGraphicsEffect(shadowEffect_showOutputBtn); ui->refreshBtn->setGraphicsEffect(shadowEffect_refreshBtn); + ui->dpiInfo->setGraphicsEffect(shadowEffect_dpiInfo); + ui->currentDpi->setGraphicsEffect(shadowEffect_currentDpi); + ui->label_3->setGraphicsEffect(shadowEffect_label3); } sp_dpiChanger::~sp_dpiChanger() diff --git a/QtAdb/sonPages/devInfo/sp_dpichanger.ui b/QtAdb/sonPages/devInfo/sp_dpichanger.ui index 51507a6..72e5b1f 100644 --- a/QtAdb/sonPages/devInfo/sp_dpichanger.ui +++ b/QtAdb/sonPages/devInfo/sp_dpichanger.ui @@ -16,20 +16,8 @@ Form - - - 0 - - - 11 - - - 0 - - - 11 - - + + @@ -42,22 +30,31 @@ background-color: rgba(255, 255, 255, 0); border:0px solid #BDBDBD; + + 0 + - + + + 14 + + + 0 + - 40 - 40 + 30 + 30 - 40 - 40 + 30 + 30 @@ -84,7 +81,6 @@ border:0px solid #BDBDBD; - MiSans Normal true @@ -100,129 +96,148 @@ background-color: rgba(255, 255, 255, 0); - - - - 0 - 30 - + + + 14 - - - 16777215 - 30 - - - - - MiSans Normal - 12 - - - - border:0px; -background-color: rgba(255, 255, 255, 0); - - - DPI 信息: - - + + + + + 100 + 50 + + + + + 100 + 50 + + + + + 12 + + + + background-color:rgba(255,255,255,0.6);border-radius:4px;border:0px; + + + <html><head/><body><p>DPI信息</p></body></html> + + + Qt::AlignCenter + + + + + + + + 0 + 50 + + + + + 16777215 + 50 + + + + + 12 + + + + background-color:rgba(255,255,255,0.6);border-radius:4px;border:0px; + + + 未知 + + + Qt::AlignCenter + + + + - - - - 0 - 30 - + + + 14 - - - 16777215 - 30 - - - - - MiSans Normal - 12 - - - - border:0px; + + + + + 100 + 50 + + + + + 100 + 50 + + + + + 12 + + + + background-color:rgba(255,255,255,0.6);border-radius:4px;border:0px; + + + 修改为 + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 60 + 50 + + + + + 16777215 + 50 + + + + + 60 + 30 + + + + + 12 + + + + border:1px solid #BDBDBD; background-color: rgba(255, 255, 255, 0); - - - 未知 - - - - - - - - 0 - 30 - - - - - 16777215 - 30 - - - - - MiSans Normal - 12 - - - - border:0px; -background-color: rgba(255, 255, 255, 0); - - - 修改为: - - - - - - - - 0 - 0 - - - - - 60 - 30 - - - - - 16777215 - 30 - - - - - 60 - 30 - - - - - MiSans Normal - 12 - - - - border:1px solid #BDBDBD; -background-color: rgba(255, 255, 255, 0); - - + + + Qt::AlignCenter + + + + diff --git a/QtAdb/sonPages/devInfo/sp_wmsize.cpp b/QtAdb/sonPages/devInfo/sp_wmsize.cpp new file mode 100644 index 0000000..2b016b1 --- /dev/null +++ b/QtAdb/sonPages/devInfo/sp_wmsize.cpp @@ -0,0 +1,146 @@ +#include "sp_wmsize.h" +#include "ui_sp_wmsize.h" + +sp_wmsize::sp_wmsize(QWidget *parent) : + QWidget(parent), + ui(new Ui::sp_wmsize) +{ + ui->setupUi(this); + + process = new adbProcess; + explainer = new textExplainer; + + connect(this->ui->back_to_basePage,SIGNAL(clicked()),parent,SLOT(slot_destroySonPage())); + + ui->verticalLayout->setAlignment(Qt::AlignVCenter); + + ui->back_to_basePage->setStyleSheet("QPushButton{background-color:rgba(255,255,255,0.9);border-radius:4px;border:0px;}" + "QPushButton:hover{background-color:rgba(255,255,255,0.7);}" + "QPushButton:pressed{background-color:rgba(255,255,255,0.6);}"); + ui->runBtn->setStyleSheet("QPushButton{background-color:rgba(255,255,255,0.9);border-radius:4px;border:0px;}" + "QPushButton:hover{background-color:rgba(255,255,255,0.7);}" + "QPushButton:pressed{background-color:rgba(255,255,255,0.6);}"); + ui->showOutputBtn->setStyleSheet("QPushButton{background-color:rgba(255,255,255,0.9);border-radius:4px;border:0px;}" + "QPushButton:hover{background-color:rgba(255,255,255,0.7);}" + "QPushButton:pressed{background-color:rgba(255,255,255,0.6);}"); + + QGraphicsDropShadowEffect *shadowEffect_runBtn = new QGraphicsDropShadowEffect(this); + QGraphicsDropShadowEffect *shadowEffect_showOutputBtn = new QGraphicsDropShadowEffect(this); + QGraphicsDropShadowEffect *shadowEffect_back_to_basePage = new QGraphicsDropShadowEffect(this); + QGraphicsDropShadowEffect *shadowEffect_refreshBtn = new QGraphicsDropShadowEffect(this); + + QGraphicsDropShadowEffect *shadowEffect_dpiInfo = new QGraphicsDropShadowEffect(this); + QGraphicsDropShadowEffect *shadowEffect_currentDpi = new QGraphicsDropShadowEffect(this); + QGraphicsDropShadowEffect *shadowEffect_label3 = new QGraphicsDropShadowEffect(this); + QGraphicsDropShadowEffect *shadowEffect_label4 = new QGraphicsDropShadowEffect(this); + QGraphicsDropShadowEffect *shadowEffect_label5 = new QGraphicsDropShadowEffect(this); + + shadowEffect_runBtn->setOffset(0,0); + shadowEffect_runBtn->setColor(Qt::gray); + shadowEffect_runBtn->setBlurRadius(5); + + shadowEffect_showOutputBtn->setOffset(0,0); + shadowEffect_showOutputBtn->setColor(Qt::gray); + shadowEffect_showOutputBtn->setBlurRadius(5); + + shadowEffect_back_to_basePage->setOffset(0,0); + shadowEffect_back_to_basePage->setColor(Qt::gray); + shadowEffect_back_to_basePage->setBlurRadius(5); + + shadowEffect_refreshBtn->setOffset(0,0); + shadowEffect_refreshBtn->setColor(Qt::gray); + shadowEffect_refreshBtn->setBlurRadius(5); + + shadowEffect_dpiInfo->setOffset(0,0); + shadowEffect_dpiInfo->setColor(Qt::gray); + shadowEffect_dpiInfo->setBlurRadius(5); + + shadowEffect_currentDpi->setOffset(0,0); + shadowEffect_currentDpi->setColor(Qt::gray); + shadowEffect_currentDpi->setBlurRadius(5); + + shadowEffect_label3->setOffset(0,0); + shadowEffect_label3->setColor(Qt::gray); + shadowEffect_label3->setBlurRadius(5); + + shadowEffect_label4->setOffset(0,0); + shadowEffect_label4->setColor(Qt::gray); + shadowEffect_label4->setBlurRadius(5); + + shadowEffect_label5->setOffset(0,0); + shadowEffect_label5->setColor(Qt::gray); + shadowEffect_label5->setBlurRadius(5); + + ui->back_to_basePage->setGraphicsEffect(shadowEffect_back_to_basePage); + ui->runBtn->setGraphicsEffect(shadowEffect_runBtn); + ui->showOutputBtn->setGraphicsEffect(shadowEffect_showOutputBtn); + ui->refreshBtn->setGraphicsEffect(shadowEffect_refreshBtn); + ui->dpiInfo->setGraphicsEffect(shadowEffect_dpiInfo); + ui->currentDpi->setGraphicsEffect(shadowEffect_currentDpi); + ui->label_3->setGraphicsEffect(shadowEffect_label3); + ui->label_4->setGraphicsEffect(shadowEffect_label4); + ui->label_5->setGraphicsEffect(shadowEffect_label5); +} + +sp_wmsize::~sp_wmsize() +{ + delete ui; +} + +void sp_wmsize::setWmInfo() +{ + //qDebug() << "dve of sonPage = " << dev.addr; + QString profile = process->run("adb shell wm size", dev).replace("Physical size", "默认").replace("Override size","当前").simplified(); + //qDebug() << "02" << profile; + ui->dpiInfo->setText(profile); +} + +void sp_wmsize::on_runBtn_clicked() +{ + if(ui->lineEdit->text().toInt() && ui->lineEdit_2->text().toInt()){ + QString output; + this->setDisabled(true); + output = process->run("adb shell wm size " + ui->lineEdit->text().simplified() + "x" + ui->lineEdit_2->text().simplified(), dev); + + this->setDisabled(false); + //qDebug() << output; + + refresh(); + ui->lineEdit->setPlaceholderText("已修改"); + ui->lineEdit_2->setPlaceholderText("已修改"); + } + else if(!ui->lineEdit->text().toInt() || !ui->lineEdit_2->text().toInt()) + { + ui->lineEdit->clear(); + ui->lineEdit_2->clear(); + ui->lineEdit->setPlaceholderText("输入无效"); + ui->lineEdit_2->setPlaceholderText("输入无效"); + } + else + { + ui->lineEdit->clear(); + ui->lineEdit_2->clear(); + ui->lineEdit->setPlaceholderText("error"); + ui->lineEdit_2->setPlaceholderText("error"); + } +} + +void sp_wmsize::refresh() +{ + //qDebug() << "refresh"; + setWmInfo(); + ui->lineEdit->clear(); + ui->lineEdit_2->clear(); +} + +void sp_wmsize::on_refreshBtn_clicked() +{ + refresh(); +} + +void sp_wmsize::setDev(device device) +{ + //qDebug() << "setDev"; + dev = device; + setWmInfo(); +} diff --git a/QtAdb/sonPages/devInfo/sp_wmsize.h b/QtAdb/sonPages/devInfo/sp_wmsize.h new file mode 100644 index 0000000..4a1a01c --- /dev/null +++ b/QtAdb/sonPages/devInfo/sp_wmsize.h @@ -0,0 +1,39 @@ +#ifndef SP_WMSIZE_H +#define SP_WMSIZE_H + +#include +#include + +#include "adbprocess.h" +#include "textexplainer.h" + +namespace Ui { +class sp_wmsize; +} + +class sp_wmsize : public QWidget +{ + Q_OBJECT + +public: + explicit sp_wmsize(QWidget *parent = nullptr); + ~sp_wmsize(); + + adbProcess *process; + textExplainer *explainer; + device dev; + + void setDev(device device); + +private slots: + void on_runBtn_clicked(); + void on_refreshBtn_clicked(); + +private: + Ui::sp_wmsize *ui; + void setWmInfo(); + void refresh(); + +}; + +#endif // SP_WMSIZE_H diff --git a/QtAdb/sonPages/devInfo/sp_wmsize.ui b/QtAdb/sonPages/devInfo/sp_wmsize.ui new file mode 100644 index 0000000..83faca9 --- /dev/null +++ b/QtAdb/sonPages/devInfo/sp_wmsize.ui @@ -0,0 +1,515 @@ + + + sp_wmsize + + + + 0 + 0 + 659 + 486 + + + + Form + + + + + + + + + /*background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(238, 154, 229, 255), stop:1 rgba(89, 97, 249, 255));*/ +/*border-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(238, 154, 229, 255), stop:1 rgba(89, 97, 249, 255));*/ +border-radius: 4px; +background-color: rgba(255, 255, 255, 0); +border:0px solid #BDBDBD; + + + + 0 + + + + + 14 + + + + + 0 + + + + + + 30 + 30 + + + + + 30 + 30 + + + + image:url(:/ico/image/ico/fullscreen-line.svg); + + + + + + + + + + + 0 + 40 + + + + + 16777215 + 40 + + + + + true + + + + border:0px; +background-color: rgba(255, 255, 255, 0); + + + <html><head/><body><p><span style=" font-size:18pt;">更改分辨率</span></p></body></html> + + + + + + + + + 14 + + + + + + 100 + 50 + + + + + 100 + 50 + + + + + 12 + + + + background-color:rgba(255,255,255,0.6);border-radius:4px;border:0px; + + + <html><head/><body><p>分辨率</p></body></html> + + + Qt::AlignCenter + + + + + + + + 0 + 50 + + + + + 16777215 + 50 + + + + + 12 + + + + background-color:rgba(255,255,255,0.6);border-radius:4px;border:0px; + + + 未知 + + + Qt::AlignCenter + + + + + + + + + 14 + + + + + + 100 + 50 + + + + + 100 + 50 + + + + + 12 + + + + background-color:rgba(255,255,255,0.6);border-radius:4px;border:0px; + + + 修改为 + + + Qt::AlignCenter + + + + + + + + 50 + 50 + + + + + 50 + 50 + + + + + 12 + + + + background-color:rgba(255,255,255,0.6);border-radius:4px;border:0px; + + + + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 60 + 50 + + + + + 16777215 + 50 + + + + + 60 + 30 + + + + + 12 + + + + border:1px solid #BDBDBD; +background-color: rgba(255, 255, 255, 0); + + + Qt::AlignCenter + + + + + + + + 50 + 50 + + + + + 50 + 50 + + + + + 12 + + + + background-color:rgba(255,255,255,0.6);border-radius:4px;border:0px; + + + + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 60 + 50 + + + + + 16777215 + 50 + + + + + 60 + 30 + + + + + 12 + + + + border:1px solid #BDBDBD; +background-color: rgba(255, 255, 255, 0); + + + Qt::AlignCenter + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + 返回 + + + + + + + + + + :/ico/image/ico/arrow-left-line.svg:/ico/image/ico/arrow-left-line.svg + + + + 18 + 18 + + + + + + + + + 0 + 30 + + + + + 16777215 + 30 + + + + + 1 + 1 + + + + + + + border:0px; + + + + + + + :/ico/image/ico/play-line.svg:/ico/image/ico/play-line.svg + + + + 18 + 18 + + + + + + + + + 30 + 30 + + + + + 30 + 30 + + + + QPushButton{background-color:rgba(255,255,255,0.9);border-radius:4px;border:0px;} +QPushButton:hover{background-color:rgba(255,255,255,0.7);} +QPushButton:pressed{background-color:rgba(255,255,255,0.6);} + + + + + + + :/ico/image/ico/refresh-line.svg:/ico/image/ico/refresh-line.svg + + + + 18 + 18 + + + + + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + + + + + + + :/ico/image/ico/terminal-box-line.svg:/ico/image/ico/terminal-box-line.svg + + + + 18 + 18 + + + + + + + + + + + + + + + + + + diff --git a/QtAdb/sonPages/recovery/sp_recovery.cpp b/QtAdb/sonPages/recovery/sp_recovery.cpp index 8f4b329..14e6268 100644 --- a/QtAdb/sonPages/recovery/sp_recovery.cpp +++ b/QtAdb/sonPages/recovery/sp_recovery.cpp @@ -8,13 +8,16 @@ sp_recovery::sp_recovery(QWidget *parent) : ui->setupUi(this); process = new adbProcess(); + thread = new adbThread(); connect(this->ui->back_to_basePage,SIGNAL(clicked()),parent,SLOT(slot_destroySonPage())); - QGraphicsDropShadowEffect *shadowEffect_runBtn = new QGraphicsDropShadowEffect(this); - QGraphicsDropShadowEffect *shadowEffect_showOutputBtn = new QGraphicsDropShadowEffect(this); - QGraphicsDropShadowEffect *shadowEffect_back_to_basePage = new QGraphicsDropShadowEffect(this); - QGraphicsDropShadowEffect *shadowEffect_refreshBtn = new QGraphicsDropShadowEffect(this); - QGraphicsDropShadowEffect *shadowEffect_selectBtn = new QGraphicsDropShadowEffect(this); + shadowEffect_runBtn = new QGraphicsDropShadowEffect(this); + shadowEffect_showOutputBtn = new QGraphicsDropShadowEffect(this); + shadowEffect_back_to_basePage = new QGraphicsDropShadowEffect(this); + shadowEffect_refreshBtn = new QGraphicsDropShadowEffect(this); + shadowEffect_selectBtn = new QGraphicsDropShadowEffect(this); + shadowEffect_output = new QGraphicsDropShadowEffect(this); + shadowEffect_tips = new QGraphicsDropShadowEffect(this); shadowEffect_runBtn->setOffset(0,0); shadowEffect_runBtn->setColor(Qt::gray); @@ -36,25 +39,58 @@ sp_recovery::sp_recovery(QWidget *parent) : shadowEffect_selectBtn->setColor(Qt::gray); shadowEffect_selectBtn->setBlurRadius(5); + shadowEffect_output->setOffset(0,0); + shadowEffect_output->setColor(Qt::gray); + shadowEffect_output->setBlurRadius(5); + + shadowEffect_tips->setOffset(0,0); + shadowEffect_tips->setColor(Qt::red); + shadowEffect_tips->setBlurRadius(5); + ui->back_to_basePage->setGraphicsEffect(shadowEffect_back_to_basePage); ui->runBtn->setGraphicsEffect(shadowEffect_runBtn); ui->showOutputBtn->setGraphicsEffect(shadowEffect_showOutputBtn); ui->refreshBtn->setGraphicsEffect(shadowEffect_refreshBtn); ui->selectBtn->setGraphicsEffect(shadowEffect_selectBtn); + ui->output->setGraphicsEffect(shadowEffect_output); + ui->tips->setGraphicsEffect(shadowEffect_tips); + + ui->progressBar->setVisible(false); + ui->output->setText("暂时仅支持 .zip 格式\n进度将显示在设备端"); } sp_recovery::~sp_recovery() { + if(page != NULL) + { + delete page; + } + delete ui; } void sp_recovery::setDev(device device) { dev = device; + + if(dev.state != "[侧载]") + { + ui->runBtn->setDisabled(true); + shadowEffect_tips->setColor(Qt::green); + ui->tips->setText("请先打开设备的「Sideload」模式"); + } + else + { + ui->tips->setText("「Sideload」为实验功能,请谨慎使用"); + } } + void sp_recovery::on_runBtn_clicked() { //qDebug() << "enter runBtn slot"; + ui->progressBar->setVisible(true); + ui->output->setText("正在刷入,请在设备端查看进度"); + QString command; if(zipPath != "") @@ -66,12 +102,32 @@ void sp_recovery::on_runBtn_clicked() command = "adb sideload"; } + thread->initThread(command, dev, "#SIDELOAD#"); + qDebug() << "command =" << command; + connect(thread,SIGNAL(signal_output(QString)),this,SLOT(updateProgress(QString))); + thread->start(); + + + this->setDisabled(true); + + /* + pageListItemStruct *productModel = initStruct(devInfo); + productModel->item->setText_title("设备型号 | DeviceModel"); + productModel->item->setPic(":/ico/image/ico/profile-line.svg"); + productModel->thread->initThread("adb shell getprop ro.product.model", dev); + QEventLoop::connect(productModel->thread,SIGNAL(signal_output(QString)),productModel->item,SLOT(slot_setText_profile(QString))); + //QEventLoop::connect(devInfo,SIGNAL(animationEnd()),productModel->item,SLOT(slot_setStyles())); + productModel->thread->start(); + devInfo->addItemsToList(productModel->item); + //qDebug() << "item is in thread" << productModel->item->thread();*/ + //qDebug() << "command: " << command; //qDebug() << "running"; - process->run_contains_empty(command, dev); + //process->run_contains_empty(command, dev); + zipPath.clear(); labelDisplay.clear(); - ui->filePaths->clear(); + } void sp_recovery::on_selectBtn_clicked() @@ -84,3 +140,36 @@ void sp_recovery::on_selectBtn_clicked() //qDebug() << "zipPathis:" << zipPath; } + +void sp_recovery::on_showOutputBtn_clicked(bool checked) +{ + qDebug() << "2"; + if(checked) + { + page = new standardOutputPage(NULL,process); + qDebug() << "1"; + connect(process,SIGNAL(outputGet(QString)),page,SLOT(update(QString))); + /* + parents->mapToGlobal(parents->pos()); + page->move(parents->pos().x() + parents->width() + this->width()/2 + 22,0);*/ + //page->setWindowFlags(Qt::FramelessWindowHint);parents->pos().x() + parents->width() +this->width() + 22 + page->show(); + } + else + { + qDebug() << "1?"; + page->~standardOutputPage(); + } +} + +void sp_recovery::updateProgress(QString s) +{ + ui->progressBar->hide(); + ui->filePaths->clear(); + + qDebug() << "侧载已结束,请在设备上查看结果" << s; + ui->output->setText("侧载已结束,请在设备上查看结果"); + ui->tips->setText("设备将退出侧载模式,请刷新设备列表以返回"); + ui->back_to_basePage->hide(); + this->setEnabled(true); +} diff --git a/QtAdb/sonPages/recovery/sp_recovery.h b/QtAdb/sonPages/recovery/sp_recovery.h index cda837c..357d52e 100644 --- a/QtAdb/sonPages/recovery/sp_recovery.h +++ b/QtAdb/sonPages/recovery/sp_recovery.h @@ -4,6 +4,8 @@ #include #include #include "adbprocess.h" +#include "../standardoutputpage.h" +#include "../../threads/adbthread.h" #include namespace Ui { @@ -23,6 +25,7 @@ public: void setDev(device dev); adbProcess *process; + adbThread * thread; QString labelDisplay; @@ -31,10 +34,24 @@ private slots: void on_selectBtn_clicked(); + void on_showOutputBtn_clicked(bool checked); + + void updateProgress(QString); + private: Ui::sp_recovery *ui; - QString zipPath; + QString zipPath; + + standardOutputPage *page = NULL; + + QGraphicsDropShadowEffect *shadowEffect_runBtn; + QGraphicsDropShadowEffect *shadowEffect_showOutputBtn; + QGraphicsDropShadowEffect *shadowEffect_back_to_basePage; + QGraphicsDropShadowEffect *shadowEffect_refreshBtn; + QGraphicsDropShadowEffect *shadowEffect_selectBtn; + QGraphicsDropShadowEffect *shadowEffect_output; + QGraphicsDropShadowEffect *shadowEffect_tips; }; #endif // SP_RECOVERY_H diff --git a/QtAdb/sonPages/recovery/sp_recovery.ui b/QtAdb/sonPages/recovery/sp_recovery.ui index fd651f6..8012605 100644 --- a/QtAdb/sonPages/recovery/sp_recovery.ui +++ b/QtAdb/sonPages/recovery/sp_recovery.ui @@ -14,6 +14,15 @@ Form + + 0 + + + 0 + + + 0 + @@ -25,6 +34,9 @@ border:0px solid #BDBDBD; 11 + + 0 + 11 @@ -36,20 +48,20 @@ border:0px solid #BDBDBD; - 14 + 0 - 40 - 40 + 30 + 30 - 40 - 40 + 30 + 30 @@ -81,6 +93,7 @@ image: url(:/ico/image/ico/refund-line.svg); + MiSans Medium 18 true @@ -120,7 +133,7 @@ border:0px solid #BDBDBD; - MiSans Normal + MiSans Medium @@ -137,7 +150,13 @@ QPushButton:pressed{background-color:rgba(255,255,255,0.6);} - + + MiSans Medium + + + + border:2px solid #BDBDBD; +border-radius:4px; @@ -146,6 +165,66 @@ QPushButton:pressed{background-color:rgba(255,255,255,0.6);} + + + + + 9 + false + false + + + + QProgressBar{ + font:9pt; + border-radius:4px; + text-align:center; + /*border:1px solid #E8EDF2;*/ + border:0px solid #E8EDF2; + background-color: qlineargradient(x1:0,y1:1,x1:1,y1:0,stop:0 #11998e, stop:1 #38ef7d); +} +QProgressBar:chunk{ + border-radius:4px; + background-color:rgba(255,255,255,0.2); +} + + + + 0 + + + 0 + + + Qt::AlignCenter + + + + + + + + 0 + 50 + + + + + MiSans Medium + 12 + + + + background-color:rgba(255,255,255,0.6);border-radius:4px;border:0px; + + + + + + Qt::AlignCenter + + + @@ -159,6 +238,31 @@ QPushButton:pressed{background-color:rgba(255,255,255,0.6);} + + + + + 0 + 30 + + + + + MiSans Medium + 12 + + + + background-color:rgba(255,255,255,0.6);border-radius:4px;border:0px; + + + + + + Qt::AlignCenter + + + @@ -304,6 +408,9 @@ QPushButton:pressed{background-color:rgba(255,255,255,0.6);} 18 + + true + diff --git a/QtAdb/sonPages/sonpagemanager.cpp b/QtAdb/sonPages/sonpagemanager.cpp index 8b9a616..2f10ee2 100644 --- a/QtAdb/sonPages/sonpagemanager.cpp +++ b/QtAdb/sonPages/sonpagemanager.cpp @@ -45,10 +45,17 @@ QWidget* sonPageManager::selector(QWidget *parent , QString parentName, int key, return NULL; } -sp_dpiChanger* sonPageManager::createSonPageFor_devInfo(QWidget *parent, int key, device dev) +QWidget* sonPageManager::createSonPageFor_devInfo(QWidget *parent, int key, device dev) { switch(key +1) { + case 2: + { + sp_wmsize *page = new sp_wmsize(parent); + page->setDev(dev); + return page; + } + case 3: { sp_dpiChanger *page = new sp_dpiChanger(parent); @@ -292,17 +299,6 @@ QWidget* sonPageManager::createSonPageFor_advanced(QWidget *parent, int key, dev sp_customize_cmd *page = new sp_customize_cmd(parent); //page->setDev(dev); return page; - } - case 2: - { - //QString envPath = qgetenv("PATH"); //获取当前环境变量 - QString appDirPath = QApplication::applicationDirPath(); //获取程序所在位置 - QString batPath = appDirPath + "/platform-tools/open-cmd-here.bat"; - //qDebug()<<"batPath = " << batPath; - QProcess batProcess; - batProcess.start(batPath); - batProcess.waitForFinished(); - return NULL; } break; } diff --git a/QtAdb/sonPages/sonpagemanager.h b/QtAdb/sonPages/sonpagemanager.h index 5ec4a65..c42198d 100644 --- a/QtAdb/sonPages/sonpagemanager.h +++ b/QtAdb/sonPages/sonpagemanager.h @@ -5,6 +5,7 @@ #include "adbprocess.h" #include "textexplainer.h" #include "devInfo/sp_dpichanger.h" +#include "devInfo/sp_wmsize.h" #include "activator/sp_activator.h" #include "apps/sp_installer.h" #include "apps/sp_permissiongroups.h" @@ -32,7 +33,7 @@ public: private: - sp_dpiChanger* createSonPageFor_devInfo(QWidget *parent, int key, device dev); + QWidget* createSonPageFor_devInfo(QWidget *parent, int key, device dev); sp_activator* createSonPageFor_activator(QWidget *parent, int key, device dev); QWidget* createSonPageFor_apps(QWidget *parent, int key, device dev); QWidget* createSonPageFor_devControl(QWidget *parent, int key, device dev); diff --git a/QtAdb/sonPages/standardoutputpage.cpp b/QtAdb/sonPages/standardoutputpage.cpp index eb1a921..c0d7982 100644 --- a/QtAdb/sonPages/standardoutputpage.cpp +++ b/QtAdb/sonPages/standardoutputpage.cpp @@ -11,7 +11,31 @@ standardOutputPage::standardOutputPage(QWidget *parent, adbProcess *cess) : QTimer *timer = new QTimer(this); //初始化一个定时器。 connect(timer, SIGNAL(timeout()), this, SLOT(update())); //设置信号与槽 ,槽函数update()需要再类中声明一下。 timer->start(1000 / 30); //设置定时器刷新频率,即变量刷新频率。 - ui->textBrowser->setText("该功能暂未实现,敬请期待!"); + ui->textBrowser->setText(text); + + QGraphicsDropShadowEffect *shadowEffect_textBrowser = new QGraphicsDropShadowEffect(this); + shadowEffect_textBrowser->setOffset(0,0); + shadowEffect_textBrowser->setColor(Qt::gray); + shadowEffect_textBrowser->setBlurRadius(5); + ui->textBrowser->setGraphicsEffect(shadowEffect_textBrowser); + + QGraphicsDropShadowEffect *shadowEffect_refreshBtn = new QGraphicsDropShadowEffect(this); + shadowEffect_refreshBtn->setOffset(0,0); + shadowEffect_refreshBtn->setColor(Qt::gray); + shadowEffect_refreshBtn->setBlurRadius(5); + ui->refreshBtn->setGraphicsEffect(shadowEffect_refreshBtn); + + QGraphicsDropShadowEffect *shadowEffect_copyBtn = new QGraphicsDropShadowEffect(this); + shadowEffect_copyBtn->setOffset(0,0); + shadowEffect_copyBtn->setColor(Qt::gray); + shadowEffect_copyBtn->setBlurRadius(5); + ui->copyBtn->setGraphicsEffect(shadowEffect_copyBtn); + + QGraphicsDropShadowEffect *shadowEffect_clearBtn = new QGraphicsDropShadowEffect(this); + shadowEffect_clearBtn->setOffset(0,0); + shadowEffect_clearBtn->setColor(Qt::gray); + shadowEffect_clearBtn->setBlurRadius(5); + ui->clearBtn->setGraphicsEffect(shadowEffect_clearBtn); } standardOutputPage::~standardOutputPage() @@ -19,20 +43,22 @@ standardOutputPage::~standardOutputPage() delete ui; } -void standardOutputPage::update() +void standardOutputPage::update(QString s) { - ui->textBrowser->setText(process->standardOutput); + qDebug() << "update:" << s; + text.append(s); + on_refreshBtn_clicked(); } void standardOutputPage::on_refreshBtn_clicked() { - update(); + ui->textBrowser->setText(text); } - void standardOutputPage::on_clearBtn_clicked() { ui->textBrowser->clear(); + text.clear(); } void standardOutputPage::on_copyBtn_clicked() diff --git a/QtAdb/sonPages/standardoutputpage.h b/QtAdb/sonPages/standardoutputpage.h index b661bc8..f0ae099 100644 --- a/QtAdb/sonPages/standardoutputpage.h +++ b/QtAdb/sonPages/standardoutputpage.h @@ -4,6 +4,7 @@ #include #include #include +#include #include "adbprocess.h" namespace Ui { @@ -18,12 +19,13 @@ public: explicit standardOutputPage(QWidget *parent = nullptr , adbProcess *cess = NULL); ~standardOutputPage(); adbProcess *process; + QString text; private: Ui::standardOutputPage *ui; public slots: - void update(); + void update(QString); private slots: void on_refreshBtn_clicked(); void on_clearBtn_clicked(); diff --git a/QtAdb/sonPages/standardoutputpage.ui b/QtAdb/sonPages/standardoutputpage.ui index 1bc7416..90ce44c 100644 --- a/QtAdb/sonPages/standardoutputpage.ui +++ b/QtAdb/sonPages/standardoutputpage.ui @@ -13,6 +13,9 @@ Form + + background-color:rgba(255,255,255,255);border-radius:4px;border:0px; + @@ -21,21 +24,14 @@ - - - - Qt::Horizontal - - - - 40 - 20 - - - - + + QPushButton{background-color:rgba(255,255,255,0.9);border-radius:4px;border:0px;} +QPushButton:hover{background-color:rgba(255,255,255,0.7);} +QPushButton:pressed{background-color:rgba(255,255,255,0.6);} +QToolTip{border:1px solid #BDBDBD; background-color: #ffffff; color:rgba(117, 117, 117, 0.9);font-family: MiSans Medium; font-size:12px;border-radius:4px;} + refresh @@ -43,6 +39,12 @@ + + QPushButton{background-color:rgba(255,255,255,0.9);border-radius:4px;border:0px;} +QPushButton:hover{background-color:rgba(255,255,255,0.7);} +QPushButton:pressed{background-color:rgba(255,255,255,0.6);} +QToolTip{border:1px solid #BDBDBD; background-color: #ffffff; color:rgba(117, 117, 117, 0.9);font-family: MiSans Medium; font-size:12px;border-radius:4px;} + clear @@ -50,6 +52,12 @@ + + QPushButton{background-color:rgba(255,255,255,0.9);border-radius:4px;border:0px;} +QPushButton:hover{background-color:rgba(255,255,255,0.7);} +QPushButton:pressed{background-color:rgba(255,255,255,0.6);} +QToolTip{border:1px solid #BDBDBD; background-color: #ffffff; color:rgba(117, 117, 117, 0.9);font-family: MiSans Medium; font-size:12px;border-radius:4px;} + copy @@ -58,7 +66,11 @@ - + + + background-color:rgba(255,255,255,0.9);border-radius:4px;border:0px; + + diff --git a/QtAdb/styles.qrc b/QtAdb/styles.qrc new file mode 100644 index 0000000..976832b --- /dev/null +++ b/QtAdb/styles.qrc @@ -0,0 +1,5 @@ + + + qss/scrollbar.qss + + diff --git a/QtAdb/threads/adbthread.cpp b/QtAdb/threads/adbthread.cpp index 3ee4956..f7aa00f 100644 --- a/QtAdb/threads/adbthread.cpp +++ b/QtAdb/threads/adbthread.cpp @@ -12,12 +12,22 @@ void adbThread::initThread(QString cmd, device d) explain = false; } -void adbThread::initThread(QString cmd, device d, QString key) +void adbThread::initThread_timer(QString cmd, device d) { - qDebug() << "d = " << d.model <run(command,dev).simplified(); - emit signal_output(output); - exit(); - //exec(); + qDebug() << "oid adbThread::run()-timer == true"; + connect(refreshTimer,SIGNAL(animationEnd()),this,SLOT(sendResult())); + connect(process, SIGNAL(readyReadStandardOutput()), this, SLOT(updateResult())); + process->run_contains_empty(command,dev); + refreshTimer->start(200); } + else + {*/ + if(explain == false) + { + QString output = process->run(command,dev).simplified(); + emit signal_output(output); + exit(); + //exec(); + } - else if(explainKey == "#CPU#") - { - QString output = explainer->explain_cpu_output(process->run(command, dev)); - emit signal_output(output); - exit(); - } + else if(explainKey == "#CPU#") + { + QString output = explainer->explain_cpu_output(process->run(command, dev)); + emit signal_output(output); + exit(); + } - else if(explainKey == "#PERMISSIONGROUPS#") - { - //qDebug() << "dev = " << &dev; - QString output = process->run(command, dev); - emit signal_output(output); - exit(); - } + else if(explainKey == "#PERMISSIONGROUPS#") + { + //qDebug() << "dev = " << &dev; + QString output = process->run(command, dev); + emit signal_output(output); + exit(); + } - else if(explainKey == "#INSTALL#") - { - connect(process,SIGNAL(outputGet(QString)),this,SLOT(result(QString))); - /*QString output = */process->run_contains_empty(command, dev); - //emit signal_output(output); - exit(); - } + else if(explainKey == "#INSTALL#") + { + connect(process,SIGNAL(outputGet(QString)),this,SLOT(result(QString))); + /*QString output = */process->run_contains_empty(command, dev); + //emit signal_output(output); + exit(); + } - else if(explain == true && explainKey != "#CPU#") - { - QString output = explainer->get_words_after(process->run(command, dev), explainKey); - emit signal_output(output); - exit(); - } + else if(explainKey == "#SIDELOAD#") + { + connect(process,SIGNAL(outputGet(QString)),this,SLOT(result(QString))); + /*QString output = */process->run_contains_empty(command, dev); + //emit signal_output(output); + exit(); + } + + else if(explain == true && explainKey != "#CPU#") + { + QString output = explainer->get_words_after(process->run(command, dev), explainKey); + emit signal_output(output); + exit(); + } + //} } void adbThread::result(QString str) { emit signal_output(str); } + +void adbThread::updateResult(int,QProcess::ExitStatus) +{ + str_result = "#STD_OUT_PUT#:\n" + process->readAllStandardOutput() + "#STD_ERR#:\n" + process->readAllStandardError(); +} + +void adbThread::sendResult() +{ + emit regularResult(str_result); +} diff --git a/QtAdb/threads/adbthread.h b/QtAdb/threads/adbthread.h index ae87be7..1528f49 100644 --- a/QtAdb/threads/adbthread.h +++ b/QtAdb/threads/adbthread.h @@ -1,6 +1,7 @@ #ifndef ADBTHREAD_H #define ADBTHREAD_H #include +#include #include "../textexplainer.h" #include "../adbprocess.h" #include @@ -13,21 +14,28 @@ public: void initThread(QString cmd, device dev); void initThread(QString cmd, device dev, QString explainKey); - void initThread_for_cpu(QString cmd, device dev); + void initThread_timer(QString cmd, device dev); //void initThread(QString cmd, device dev); bool explain = false; + bool timer = false; QString command; QString explainKey; device dev; + QTimer *refreshTimer; adbProcess *process; textExplainer *explainer; + QString str_result = "#NORESULTS#"; signals: void signal_output(QString); + void regularResult(QString); public slots: void result(QString); + void updateResult(int,QProcess::ExitStatus); + void sendResult(); + //void timerEnd(); protected: void run() override; diff --git a/README.md b/README.md index 1f4139f..2566a25 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Android 系统的可玩性在 adb 的加成下变得更加的丰富,由此涌 ### ℹ️设备信息 - 获取设备型号、屏幕分辨率、屏幕密度(DPI)、Android Id、安卓版本以及处理器型号的信息 -- 修改 DPI +- 修改 DPI、修改屏幕分辨率 ### ✔️激活 @@ -68,11 +68,18 @@ Android 系统的可玩性在 adb 的加成下变得更加的丰富,由此涌 - 列出系统的所有功能 - 列出当前设备支持的所有库 +### 🔧Recovery 功能: + +- 侧载 + - 当设备处于 adb sideload 模式时,可使用侧载刷入zip刷机包 + - **这是危险功能,即使正确地使用也可能导致设备故障,请确保您有足够的排障能力后使用** + - **使用侧载功能时请不要关闭程序** + ### 💣不稳定功能 - ~~*安装应用*~~ *暂未实现错误提示细节* -- *侧载:未实现进度条且侧载不稳定,**不建议使用该功能**,可能导致刷入失败,无法开机*~~(我经历过)~~ +- ~~*侧载:未实现进度条且侧载不稳定,**不建议使用该功能**,可能导致刷入失败,无法开机*~~ 已实现稳定运行 ### *🍘饼* @@ -88,14 +95,14 @@ Android 系统的可玩性在 adb 的加成下变得更加的丰富,由此涌 - ~~页面切换加载进度条~~ - ~~页面切换动画效果~~ - ~~安装应用进度条~~ - - 侧载进度条 + - ~~侧载进度条~~ - 命令 - 获取 Google 服务框架 Android ID - - 更改屏幕分辨率 + - ~~更改屏幕分辨率~~ - 更改屏幕边距 - 控制台 - ~~唤起 adb shell 窗口~~ - - 显示输出 + - ~~显示输出~~ - 优化 err 处理 - Fastboot - 可实现完整的刷机流程