Skip to content

Commit

Permalink
基本实现软件包管理器,优化动画
Browse files Browse the repository at this point in the history
  • Loading branch information
LapplandSP committed Aug 12, 2022
1 parent 8eb6c50 commit d487722
Show file tree
Hide file tree
Showing 36 changed files with 2,732 additions and 28 deletions.
18 changes: 18 additions & 0 deletions QtAdb/QtAdb.pro
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,13 @@ SOURCES += \
pagemaker.cpp \
sonPages/activator/sp_activator.cpp \
sonPages/advanced/sp_customize_cmd.cpp \
sonPages/apps/sp_features.cpp \
sonPages/apps/sp_installer.cpp \
sonPages/apps/sp_libraries.cpp \
sonPages/apps/sp_packages.cpp \
sonPages/apps/sp_permissiongroups.cpp \
sonPages/apps/sp_permissions.cpp \
sonPages/apps/tp_packageprofile.cpp \
sonPages/devControl/btnemulator.cpp \
sonPages/devControl/sp_devcontrol_power.cpp \
sonPages/devInfo/sp_dpichanger.cpp \
Expand All @@ -44,7 +50,13 @@ HEADERS += \
pagemaker.h \
sonPages/activator/sp_activator.h \
sonPages/advanced/sp_customize_cmd.h \
sonPages/apps/sp_features.h \
sonPages/apps/sp_installer.h \
sonPages/apps/sp_libraries.h \
sonPages/apps/sp_packages.h \
sonPages/apps/sp_permissiongroups.h \
sonPages/apps/sp_permissions.h \
sonPages/apps/tp_packageprofile.h \
sonPages/devControl/btnemulator.h \
sonPages/devControl/sp_devcontrol_power.h \
sonPages/devInfo/sp_dpichanger.h \
Expand All @@ -66,7 +78,13 @@ FORMS += \
pagelistitem.ui \
sonPages/activator/sp_activator.ui \
sonPages/advanced/sp_customize_cmd.ui \
sonPages/apps/sp_features.ui \
sonPages/apps/sp_installer.ui \
sonPages/apps/sp_libraries.ui \
sonPages/apps/sp_packages.ui \
sonPages/apps/sp_permissiongroups.ui \
sonPages/apps/sp_permissions.ui \
sonPages/apps/tp_packageprofile.ui \
sonPages/devControl/btnemulator.ui \
sonPages/devControl/sp_devcontrol_power.ui \
sonPages/devInfo/sp_dpichanger.ui \
Expand Down
6 changes: 2 additions & 4 deletions QtAdb/about.ui
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,7 @@
</size>
</property>
<property name="font">
<font>
<family>MiSans Medium</family>
</font>
<font/>
</property>
<property name="styleSheet">
<string notr="true">border-radius: 4px;
Expand Down Expand Up @@ -114,7 +112,7 @@ QPushButton:pressed{background-color:rgba(255,255,255,0.6);}</string>
</font>
</property>
<property name="text">
<string>测试版本:beta-v0.2</string>
<string>测试版本:beta-v0.4</string>
</property>
</widget>
</item>
Expand Down
4 changes: 2 additions & 2 deletions QtAdb/animationwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ animationWidget::animationWidget(QWidget *p)
void animationWidget::playLoadAnimation()
{
animation->setDuration(750);
animation->setEndValue(QRect(301, 111, this->width(),this->height()));
animation->setStartValue(QRect(301 + 50, 111, this->width(),this->height()));
animation->setEndValue(QRect(301, 117, this->width(),this->height()));
animation->setStartValue(QRect(301 + 50, 117, this->width(),this->height()));

animation->setEasingCurve(QEasingCurve::OutQuart);

Expand Down
2 changes: 1 addition & 1 deletion QtAdb/basepage.ui
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<number>0</number>
</property>
<property name="bottomMargin">
<number>11</number>
<number>0</number>
</property>
<item>
<layout class="QVBoxLayout" name="mainLayout">
Expand Down
1 change: 1 addition & 0 deletions QtAdb/ico.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@
<file>image/ico/about/wechat.svg</file>
<file>image/ico/logo.svg</file>
<file>image/ico/code-s-slash-line.svg</file>
<file>image/ico/share-box-line.svg</file>
</qresource>
<qresource prefix="/test">
<file>image/test/back.png</file>
Expand Down
1 change: 1 addition & 0 deletions QtAdb/image/ico/share-box-line.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
57 changes: 51 additions & 6 deletions QtAdb/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,18 +76,34 @@ void MainWindow::refreshDevList() //方法:刷新设备列
devList.clear(); //清空设备列表
devList = explainer->getDevList_windows(process->run("adb devices -l")); //重新赋值

QList<int> off; //未响应设备索引

/*将设备信息传入 List l ,并将l的值显示在combobox中*/
QStringList l;
l.clear();

for (int i = 0 ; i < devList.size() ; i++ )
{
QString devItem =devList[i].state + " " + explainer->get_words_after(devList[i].device_product, ":") + " " + explainer->get_words_after(devList[i].model, ":");
QString devItem = devList[i].state + " " + explainer->get_words_after(devList[i].model, ":") + " " + devList[i].addr;
l.append(devItem);
if(devList[i].state == "[未响应]")
{
off.append(i);
/*
QVariant v(0);
ui->comboBox->setItemData(i, v, Qt::UserRole - 1);
*/
}
}

ui->comboBox->addItems(l);

for(int i = 0; i < off.count();i++)
{
QVariant v(0);
ui->comboBox->setItemData(off[i], v, Qt::UserRole - 1);
}

if(devList.isEmpty())
{
current_device = -1; //重设当前设备
Expand Down Expand Up @@ -132,12 +148,12 @@ void MainWindow::setCurrentDevice(int index) //槽:改变所选设备
//initBasePage(0);
if(ui->indexList->currentRow() == 0)
{
qDebug() << "initBasePage";
//qDebug() << "initBasePage";
initBasePage(0);
}
else
{
qDebug() << "setCurrentRow";
//qDebug() << "setCurrentRow";
ui->indexList->setCurrentRow(0);

}
Expand All @@ -149,7 +165,8 @@ void MainWindow::initBasePage(int key) //槽:生成basePages
{
while(key != -1)
{
this->setEnabled(false);
//this->setEnabled(false);
this->lock();

if(currentPage != NULL) //销毁上一个basePage
{
Expand All @@ -160,6 +177,7 @@ void MainWindow::initBasePage(int key) //槽:生成basePages
}

currentPage = new basePage(this);
connect(currentPage,SIGNAL(animationEnd()),this,SLOT(slot_taiChi()));

if(devList.isEmpty())
{
Expand All @@ -176,8 +194,11 @@ void MainWindow::initBasePage(int key) //槽:生成basePages

currentPage->playLoadAnimation();
//currentPage->repaint();
taiChiTimer = new QTimer(this);
connect(taiChiTimer, SIGNAL(timeout()), this, SLOT(slot_taiChi()));
taiChiTimer->setSingleShot(true);
taiChiTimer->start(750);

this->setEnabled(true);
break;
}
}
Expand Down Expand Up @@ -206,7 +227,7 @@ void MainWindow::addIndexItems() //方法:初始化向index
addItemToIndex(activator);

indexListItem *apps = new indexListItem(this->ui->indexList);
apps->setText("应用");
apps->setText("软件包管理器");
apps->setPic("image:url(:/ico/image/ico/google-play-line.svg);background-color:rgba(255,255,255,0);");
addItemToIndex(apps);

Expand Down Expand Up @@ -468,3 +489,27 @@ void MainWindow::on_WSABtn_clicked() //槽:连接WSA
msgBox->addButton("", QMessageBox::AcceptRole);
msgBox->show();
}

void MainWindow::slot_taiChi()
{
//qDebug() <<"taiChi -" << taiChi;
/*
if(taiChi)
{
this->resize(this->geometry().width() + 5,this->geometry().height());
}
else
{
this->resize(this->geometry().width() - 5,this->geometry().height());
}*/
taiChi = !taiChi;
currentPage->repaint();
delete taiChiTimer;
taiChiTimer = NULL;

if(ui->comboBox->currentIndex() != -1)
{
this->unlock();
}
//this->setEnabled(true);
}
5 changes: 5 additions & 0 deletions QtAdb/mainwindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#include <QSizePolicy>
#include <QScroller>
#include <QLineEdit>
#include <QMouseEvent>
#include "adbprocess.h"
#include "textexplainer.h"
#include "indexlistitem.h"
Expand Down Expand Up @@ -69,6 +70,7 @@ private slots:
void connectWIFIDev();

void on_WSABtn_clicked();
void slot_taiChi();

private:
Ui::MainWindow *ui;
Expand All @@ -77,6 +79,9 @@ private slots:
void addIndexItems();
void setStyles();

bool taiChi = true;
QTimer *taiChiTimer;

basePage * currentPage;
animationWidget * tmpPage;
about * WCMPage2;
Expand Down
2 changes: 1 addition & 1 deletion QtAdb/mainwindow.ui
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="bottomMargin">
<number>11</number>
<number>0</number>
</property>
<item>
<layout class="QVBoxLayout" name="verticalLayout" stretch="2,0,10">
Expand Down
8 changes: 5 additions & 3 deletions QtAdb/pagelistitem.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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.9);border-radius:4px;border:0px;}");
ui->pic->setStyleSheet("QPushButton{background-color:rgba(255,255,255,0.7);border-radius:4px;border:0px;}");

setStyles();
}
Expand Down Expand Up @@ -56,7 +56,9 @@ void pageListItem::on_copyButton_clicked()

void pageListItem::setSelectable()
{
ui->enableLight->setVisible(true);
//ui->enableLight->setVisible(true);
//shadowEffect_icon->setColor(Qt::green);
ui->pic->setStyleSheet("QPushButton{background-color:rgba(255,255,255,0.9);border-radius:4px;border:0px;}");
}

void pageListItem::slot_setText(QString t, QString p)
Expand Down Expand Up @@ -87,7 +89,7 @@ void pageListItem::setStyles()
graphicsOpacityEffect->setOpacity(1.0);
ui->pic->setGraphicsEffect(graphicsOpacityEffect);

QGraphicsDropShadowEffect *shadowEffect_icon = new QGraphicsDropShadowEffect(this);
shadowEffect_icon = new QGraphicsDropShadowEffect(this);
shadowEffect_icon->setOffset(0,0);
shadowEffect_icon->setColor(Qt::gray);
shadowEffect_icon->setBlurRadius(5);
Expand Down
2 changes: 2 additions & 0 deletions QtAdb/pagelistitem.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ private slots:
private:
Ui::pageListItem *ui;

QGraphicsDropShadowEffect *shadowEffect_icon;

public slots:
void slot_setText(QString t, QString p);
void slot_setText_title(QString t);
Expand Down
32 changes: 31 additions & 1 deletion QtAdb/pagemaker.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,7 @@ basePage* pageMaker::createPage_apps(QWidget *parent, device dev)
apps->isBasePage = true;
//activatorPage *activator = new activatorPage(parent);
apps->whoYouAre("apps");
int val[20] = {1};
int val[20] = {1,2,3,4,5,6};
apps->setEnableValue(val);
apps->setDev(dev);

Expand All @@ -311,6 +311,36 @@ basePage* pageMaker::createPage_apps(QWidget *parent, device dev)
installer->setSelectable();
apps->addItemsToList(installer);

pageListItem *permissionGroups = new pageListItem(apps);
permissionGroups->setText("已知权限组","adb shell pm list permission-groups");
permissionGroups->setPic(":/ico/image/ico/about/information-line.svg");
permissionGroups->setSelectable();
apps->addItemsToList(permissionGroups);

pageListItem *permissions = new pageListItem(apps);
permissions->setText("已知权限","adb shell pm list permissions");
permissions->setPic(":/ico/image/ico/about/information-line.svg");
permissions->setSelectable();
apps->addItemsToList(permissions);

pageListItem *packages = new pageListItem(apps);
packages->setText("软件包","adb shell pm list packages");
packages->setPic(":/ico/image/ico/android-line.svg");
packages->setSelectable();
apps->addItemsToList(packages);

pageListItem *features = new pageListItem(apps);
features->setText("系统功能","adb shell pm list features");
features->setPic(":/ico/image/ico/tools-line.svg");
features->setSelectable();
apps->addItemsToList(features);

pageListItem *libraries = new pageListItem(apps);
libraries->setText("","adb shell pm list libraries");
libraries->setPic(":/ico/image/ico/btnEmulator/menu-line.svg");
libraries->setSelectable();
apps->addItemsToList(libraries);

return apps;
}

Expand Down
Loading

0 comments on commit d487722

Please sign in to comment.