beta-v0.2

This commit is contained in:
Lappland 2022-07-04 13:05:58 +08:00
commit b653f85c3c
146 changed files with 11322 additions and 0 deletions

85
QtAdb/QtAdb.pro Normal file
View File

@ -0,0 +1,85 @@
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
about.cpp \
adbprocess.cpp \
basepage.cpp \
indexlistitem.cpp \
main.cpp \
mainwindow.cpp \
pagelistitem.cpp \
pagemaker.cpp \
sonPages/activator/sp_activator.cpp \
sonPages/apps/sp_installer.cpp \
sonPages/devControl/btnemulator.cpp \
sonPages/devControl/sp_devcontrol_power.cpp \
sonPages/devInfo/sp_dpichanger.cpp \
sonPages/pay.cpp \
sonPages/recovery/sp_recovery.cpp \
sonPages/sonpagebase.cpp \
sonPages/sonpagemanager.cpp \
sonPages/standardoutputpage.cpp \
textexplainer.cpp \
threads/thread_createpage.cpp \
welcomepage.cpp
HEADERS += \
about.h \
adbprocess.h \
basepage.h \
indexlistitem.h \
mainwindow.h \
pagelistitem.h \
pagemaker.h \
sonPages/activator/sp_activator.h \
sonPages/apps/sp_installer.h \
sonPages/devControl/btnemulator.h \
sonPages/devControl/sp_devcontrol_power.h \
sonPages/devInfo/sp_dpichanger.h \
sonPages/pay.h \
sonPages/recovery/sp_recovery.h \
sonPages/sonpagebase.h \
sonPages/sonpagemanager.h \
sonPages/standardoutputpage.h \
textexplainer.h \
threads/thread_createpage.h \
welcomepage.h
FORMS += \
about.ui \
basepage.ui \
indexlistitem.ui \
mainwindow.ui \
pagelistitem.ui \
sonPages/activator/sp_activator.ui \
sonPages/apps/sp_installer.ui \
sonPages/devControl/btnemulator.ui \
sonPages/devControl/sp_devcontrol_power.ui \
sonPages/devInfo/sp_dpichanger.ui \
sonPages/pay.ui \
sonPages/recovery/sp_recovery.ui \
sonPages/sonpagebase.ui \
sonPages/standardoutputpage.ui \
welcomepage.ui
TRANSLATIONS += \
QtAdb_zh_CN.ts
CONFIG += lrelease
CONFIG += embed_translations
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
RESOURCES += \
ico.qrc
RC_FILE += logo.rc

3
QtAdb/QtAdb_zh_CN.ts Normal file
View File

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN"></TS>

92
QtAdb/about.cpp Normal file
View File

@ -0,0 +1,92 @@
#include "about.h"
#include "ui_about.h"
about::about(QWidget *parent) :
QWidget(parent),
ui(new Ui::about)
{
ui->setupUi(this);
QGraphicsDropShadowEffect *shadowEffect_btn_website = new QGraphicsDropShadowEffect();
shadowEffect_btn_website->setOffset(0,0);
shadowEffect_btn_website->setColor(Qt::gray);
shadowEffect_btn_website->setBlurRadius(5);
ui->btn_website->setGraphicsEffect(shadowEffect_btn_website);
QGraphicsDropShadowEffect *shadowEffect_btn_coolapk = new QGraphicsDropShadowEffect();
shadowEffect_btn_coolapk->setOffset(0,0);
shadowEffect_btn_coolapk->setColor(Qt::gray);
shadowEffect_btn_coolapk->setBlurRadius(5);
ui->btn_coolapk->setGraphicsEffect(shadowEffect_btn_coolapk);
QGraphicsDropShadowEffect *shadowEffect_btn_github = new QGraphicsDropShadowEffect();
shadowEffect_btn_github->setOffset(0,0);
shadowEffect_btn_github->setColor(Qt::gray);
shadowEffect_btn_github->setBlurRadius(5);
ui->btn_github->setGraphicsEffect(shadowEffect_btn_github);
QGraphicsDropShadowEffect *shadowEffect_btn_money = new QGraphicsDropShadowEffect();
shadowEffect_btn_money->setOffset(0,0);
shadowEffect_btn_money->setColor(Qt::gray);
shadowEffect_btn_money->setBlurRadius(5);
ui->btn_money->setGraphicsEffect(shadowEffect_btn_money);
QGraphicsDropShadowEffect *shadowEffect_btn_money2 = new QGraphicsDropShadowEffect();
shadowEffect_btn_money2->setOffset(0,0);
shadowEffect_btn_money2->setColor(Qt::gray);
shadowEffect_btn_money2->setBlurRadius(5);
ui->btn_money_2->setGraphicsEffect(shadowEffect_btn_money2);
QGraphicsDropShadowEffect *shadowEffect_btn_money3 = new QGraphicsDropShadowEffect();
shadowEffect_btn_money3->setOffset(0,0);
shadowEffect_btn_money3->setColor(Qt::gray);
shadowEffect_btn_money3->setBlurRadius(5);
ui->btn_money_3->setGraphicsEffect(shadowEffect_btn_money3);
QGraphicsDropShadowEffect *shadowEffect_btn_money4 = new QGraphicsDropShadowEffect();
shadowEffect_btn_money4->setOffset(0,0);
shadowEffect_btn_money4->setColor(Qt::gray);
shadowEffect_btn_money4->setBlurRadius(5);
ui->btn_money_4->setGraphicsEffect(shadowEffect_btn_money4);
QGraphicsDropShadowEffect *shadowEffect_btn_version = new QGraphicsDropShadowEffect();
shadowEffect_btn_version->setOffset(0,0);
shadowEffect_btn_version->setColor(Qt::gray);
shadowEffect_btn_version->setBlurRadius(5);
ui->btn_version->setGraphicsEffect(shadowEffect_btn_version);
ui->btn_money->hide();
ui->btn_money_3->hide();
ui->btn_money_4->hide();
}
about::~about()
{
delete ui;
}
void about::on_btn_website_clicked()
{
QDesktopServices::openUrl(QUrl("https://lapplandsp.github.io/QtAdb-pages/", QUrl::TolerantMode));
}
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();
payPage->setStyleSheet("background-color:rgba(255,255,255,1);");
payPage->setWindowIcon(QIcon(":/ico/image/ico/about/cola.svg"));
payPage->setBaseSize(300,500);
payPage->setWindowTitle("请我喝可乐");
payPage->show();
}

34
QtAdb/about.h Normal file
View File

@ -0,0 +1,34 @@
#ifndef ABOUT_H
#define ABOUT_H
#include <QWidget>
#include <QDesktopServices>
#include <QGraphicsDropShadowEffect>
#include "sonPages/pay.h"
namespace Ui {
class about;
}
class about : public QWidget
{
Q_OBJECT
public:
explicit about(QWidget *parent = nullptr);
~about();
private slots:
void on_btn_website_clicked();
void on_btn_coolapk_clicked();
void on_btn_github_clicked();
void on_btn_money_2_clicked();
private:
Ui::about *ui;
};
#endif // ABOUT_H

492
QtAdb/about.ui Normal file
View File

@ -0,0 +1,492 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>about</class>
<widget class="QWidget" name="about">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>644</width>
<height>496</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<property name="leftMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="styleSheet">
<string notr="true">border-radius: 4px;
background-color: rgba(255, 255, 255, 0);
border:0px solid #BDBDBD;</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="leftMargin">
<number>11</number>
</property>
<property name="rightMargin">
<number>11</number>
</property>
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>14</number>
</property>
<property name="topMargin">
<number>11</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QPushButton" name="btn_version">
<property name="minimumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="font">
<font/>
</property>
<property name="toolTip">
<string>版本号</string>
</property>
<property name="styleSheet">
<string notr="true">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);}</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="ico.qrc">
<normaloff>:/ico/image/ico/about/information-line.svg</normaloff>:/ico/image/ico/about/information-line.svg</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>50</height>
</size>
</property>
<property name="font">
<font>
<family>MiSans Normal</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>测试版本beta-v0.2</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="btn_website">
<property name="minimumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="font">
<font/>
</property>
<property name="toolTip">
<string>网址</string>
</property>
<property name="styleSheet">
<string notr="true">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);}</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="ico.qrc">
<normaloff>:/ico/image/ico/btnEmulator/firefox-line.svg</normaloff>:/ico/image/ico/btnEmulator/firefox-line.svg</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label">
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>50</height>
</size>
</property>
<property name="font">
<font>
<family>MiSans Normal</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>网站https://lapplandsp.github.io/QtAdb-pages/</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QPushButton" name="btn_coolapk">
<property name="minimumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="font">
<font/>
</property>
<property name="toolTip">
<string>酷安</string>
</property>
<property name="styleSheet">
<string notr="true">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);}</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="ico.qrc">
<normaloff>:/ico/image/ico/about/coolapklogo-b.png</normaloff>:/ico/image/ico/about/coolapklogo-b.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_3">
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>50</height>
</size>
</property>
<property name="font">
<font>
<family>MiSans Normal</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>酷安:@霍星</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QPushButton" name="btn_github">
<property name="minimumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="font">
<font/>
</property>
<property name="toolTip">
<string>Github</string>
</property>
<property name="styleSheet">
<string notr="true">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);}</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="ico.qrc">
<normaloff>:/ico/image/ico/about/github-fill.svg</normaloff>:/ico/image/ico/about/github-fill.svg</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_4">
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>50</height>
</size>
</property>
<property name="font">
<font>
<family>MiSans Normal</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Github LapplandSP</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QPushButton" name="btn_money">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="font">
<font/>
</property>
<property name="toolTip">
<string>请我吃东西</string>
</property>
<property name="styleSheet">
<string notr="true">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);}</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="ico.qrc">
<normaloff>:/ico/image/ico/about/heart-line.svg</normaloff>:/ico/image/ico/about/heart-line.svg</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_money_2">
<property name="minimumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="font">
<font/>
</property>
<property name="toolTip">
<string>请我吃可乐3元</string>
</property>
<property name="styleSheet">
<string notr="true">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);}</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="ico.qrc">
<normaloff>:/ico/image/ico/about/cola.svg</normaloff>:/ico/image/ico/about/cola.svg</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_money_3">
<property name="minimumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="font">
<font/>
</property>
<property name="toolTip">
<string>请我吃鸡腿5元</string>
</property>
<property name="styleSheet">
<string notr="true">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);}</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="ico.qrc">
<normaloff>:/ico/image/ico/about/chiken.svg</normaloff>:/ico/image/ico/about/chiken.svg</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_money_4">
<property name="minimumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="font">
<font/>
</property>
<property name="toolTip">
<string>请我吃面条10元</string>
</property>
<property name="styleSheet">
<string notr="true">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);}</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="ico.qrc">
<normaloff>:/ico/image/ico/about/noodles.svg</normaloff>:/ico/image/ico/about/noodles.svg</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_5">
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>50</height>
</size>
</property>
<property name="font">
<font>
<family>MiSans Normal</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>捐赠:请我喝快乐水</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout"/>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="ico.qrc"/>
</resources>
<connections/>
</ui>

365
QtAdb/adbprocess.cpp Normal file
View File

@ -0,0 +1,365 @@
#include "adbprocess.h"
adbProcess::adbProcess()
{
explainer = new textExplainer;
connect(this , SIGNAL(readyReadStandardError()) , this , SLOT(on_readerror()));
}
QString adbProcess::run(QString command) //Adb 命令解析 - 单条命令
{
QStringList args_0;
QStringList args_1;
args_0 = command.split(" ");
args_0.append("*");
QString shell_command;
for(int i = 0, tag = 1; args_0[i] != "*" ; i++)
{
if(args_0[i] != "'" && tag == 1)
{
args_1.append(args_0[i]);
//qDebug() << "append0" << shell_command;
}
/*
if(tag == 0)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
shell_command = shell_command + args_0[i] + " ";
//q.enqueue(args_0[i]);
//qDebug() << shell_command;
}*/
if(args_0[i] == "'" && tag == 0)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
shell_command.remove(QRegularExpression("\\s* +$"));
args_1.append(shell_command);
tag = 1;
shell_command.clear();
}
if(args_0[i] == "'" && tag == 0)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
args_1.append(shell_command);
tag = 1;
}
if(args_0[i] == "'" && tag == 1)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
tag = 0;
shell_command = shell_command + args_0[i] + " ";
//qDebug() << q << "\n";
}
}
args_1.removeAt(0);
qDebug() << "'run' running with arguments" << args_1 ;
this->start("adb", args_1);
//qDebug() << readAllStandardOutput();
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
waitForReadyRead();
waitForFinished();
QString output;
output = readAllStandardOutput();
standardOutput.append(output);
explainer->explainOutput(output);
return output;
}
QString adbProcess::run(QString command, device dev) //Adb 命令解析 - 对指定设备发送单条命令
{
QStringList args_0;
QStringList args_1;
args_1.append("-s");
args_1.append(dev.addr);
//qDebug() << "'run' running with arguments" << args_1 ;
args_0 = command.split(" ");
args_0.append("*");
QString shell_command;
for(int i = 0, tag = 1; args_0[i] != "*" ; i++)
{
if(args_0[i] != "'" && tag == 1)
{
args_1.append(args_0[i]);
//qDebug() << "append0" << shell_command;
}
/*
if(tag == 0)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
shell_command = shell_command + args_0[i] + " ";
//q.enqueue(args_0[i]);
//qDebug() << shell_command;
}*/
if(args_0[i] == "'" && tag == 0)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
shell_command.remove(QRegularExpression("\\s* +$"));
args_1.append(shell_command);
tag = 1;
shell_command.clear();
}
if(args_0[i] == "'" && tag == 0)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
args_1.append(shell_command);
tag = 1;
}
if(args_0[i] == "'" && tag == 1)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
tag = 0;
shell_command = shell_command + args_0[i] + " ";
//qDebug() << q << "\n";
}
}
args_1.removeAt(2);
qDebug() << "'run' running with arguments" << args_1 ;
//qDebug() << "calling this->start('adb', args_1);";
this->start("adb", args_1);
//qDebug() << "this->start('adb', args_1); ended";
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
waitForReadyRead();
waitForFinished();
QString output;
output = readAllStandardOutput();
//qDebug() << "run output:" << output << "\n";
explainer->explainOutput(output);
return output;
}
QString adbProcess::run_contains_empty(QString command, device dev) //Adb 命令解析 - 对指定设备发送单条命令(可能包含空格)
{
QStringList args_0;
QStringList args_1;
args_1.append("-s");
args_1.append(dev.addr);
//qDebug() << "'run' running with arguments" << args_1 ;
args_0 = command.split(" ");
args_0.append("*");
QString shell_command;
for(int i = 0, tag = 1; args_0[i] != "*" ; i++)
{
if(args_0[i] != "~" && tag == 1)
{
args_1.append(args_0[i]);
//qDebug() << "常规添加" << shell_command << "\n";
}
if(args_0[i] != "~" &&tag == 0)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
shell_command = shell_command + args_0[i] + " ";
//qDebug() << "里面添加" << shell_command << "\n";
//q.enqueue(args_0[i]);
//qDebug() << shell_command;
}
if(args_0[i] == "~" && tag == 0)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
shell_command.remove(QRegularExpression("\\s* +$"));
args_1.append(shell_command);
tag = 1;
shell_command.clear();
}
if(args_0[i] == "~" && tag == 1)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
tag = 0;
//shell_command = shell_command + args_0[i] + " ";
//qDebug() << q << "\n";
}
}
args_1.removeAt(2);
qDebug() << "'run' running with arguments" << args_1 ;
this->start("adb", args_1);
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
waitForReadyRead();
waitForFinished();
QString output;
output = readAllStandardOutput();
//qDebug() << "run output:" << output << "\n";
explainer->explainOutput(output);
return output;
}
QString adbProcess::run(QString command, QString write_command) //Adb 命令解析 - 发送单条命令并向控制台输入内容
{
QStringList args_0;
QStringList args_1;
args_0 = command.split(" ");
args_0.append("*");
QString shell_command;
for(int i = 0, tag = 1; args_0[i] != "*" ; i++)
{
if(args_0[i] != "'" && tag == 1)
{
args_1.append(args_0[i]);
//qDebug() << "append0" << shell_command;
}
/*
if(tag == 0)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
shell_command = shell_command + args_0[i] + " ";
//q.enqueue(args_0[i]);
//qDebug() << shell_command;
}*/
if(args_0[i] == "'" && tag == 0)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
shell_command.remove(QRegularExpression("\\s* +$"));
args_1.append(shell_command);
tag = 1;
shell_command.clear();
}
if(args_0[i] == "'" && tag == 0)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
args_1.append(shell_command);
tag = 1;
}
if(args_0[i] == "'" && tag == 1)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
tag = 0;
shell_command = shell_command + args_0[i] + " ";
//qDebug() << q << "\n";
}
}
args_1.removeAt(0);
qDebug() << "'run' running with arguments" << args_1 ;
this->start("adb", args_1);
//qDebug() << "write 0";
//qDebug() << "write 1";
this->write(write_command.toLocal8Bit());
//qDebug() << "write 2";
waitForReadyRead();
//qDebug() << "write 3";
waitForFinished();
//qDebug() << "write 4";
QString output;
output = readAllStandardOutput();
standardOutput.append(output);
//qDebug() << "output:" << output;
explainer->explainOutput(output);
return output;
}
QString adbProcess::run(QString command, device dev, QString write_command) //Adb 命令解析 - 对指定设备发送单条命令并向控制台输入内容
{
QStringList args_0;
QStringList args_1;
args_1.append("-s");
args_1.append(dev.addr);
//qDebug() << "'run' running with arguments" << args_1 ;
args_0 = command.split(" ");
args_0.append("*");
QString shell_command;
for(int i = 0, tag = 1; args_0[i] != "*" ; i++)
{
if(args_0[i] != "'" && tag == 1)
{
args_1.append(args_0[i]);
//qDebug() << "append0" << shell_command;
}
/*
if(tag == 0)
{
qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
shell_command = shell_command + args_0[i] + " ";
//q.enqueue(args_0[i]);
qDebug() << shell_command;
}*/
if(args_0[i] == "'" && tag == 0)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
shell_command.remove(QRegularExpression("\\s* +$"));
args_1.append(shell_command);
tag = 1;
shell_command.clear();
}
if(args_0[i] == "'" && tag == 0)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
args_1.append(shell_command);
tag = 1;
}
if(args_0[i] == "'" && tag == 1)
{
//qDebug() << "No." << i << ":" << "args_0[" << i << "] is:" << args_0[i] << "\n" << "tag = " << tag << "\n";
tag = 0;
shell_command = shell_command + args_0[i] + " ";
}
}
args_1.removeAt(2);
qDebug() << "'run' running with arguments" << args_1 ;
this->start("adb", args_1);
this->write(write_command.toLocal8Bit());
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
waitForReadyRead();
waitForFinished();
QString output;
output = readAllStandardOutput();
//qDebug() << "run output:" << output << "\n";
explainer->explainOutput(output);
return output;
}
adbProcess::~adbProcess()
{
run("adb kill-server");
terminate();
waitForFinished();
}
void adbProcess::on_readerror()
{
QString text = this->readAllStandardError().data();
explainer->explainError(text);
//if(text.contains(""))
//QMessageBox::information(0, "Error", this->readAllStandardError().data());
}

38
QtAdb/adbprocess.h Normal file
View File

@ -0,0 +1,38 @@
#ifndef ADBPROCESS_H
#define ADBPROCESS_H
#include <QString>
#include <QStringList>
#include <QDebug>
#include <QProcess>
#include "textexplainer.h"
#include <QHBoxLayout>
#include <QMessageBox>
#include <QThread>
#include <QRegularExpression>
#include <QTextEdit>
class adbProcess : public QProcess
{
Q_OBJECT
public:
adbProcess();
~adbProcess();
QString run(QString command);
QString run(QString command, device dev);
QString run(QString command, device dev, QString write_command);
QString run(QString command, QString write_command);
QString run_contains_empty(QString command, device dev);
QString standardOutput;
textExplainer *explainer;
private slots:
//void onReadData();
void on_readerror();
};
#endif // ADBPROCESS_H

163
QtAdb/basepage.cpp Normal file
View File

@ -0,0 +1,163 @@
#include "basepage.h"
#include "ui_basepage.h"
basePage::basePage(QWidget *parent) :
QWidget(parent),
ui(new Ui::basePage)
{
ui->setupUi(this);
SPManager = new sonPageManager;
parents = parent;
lastPage = NULL;
sonPage = NULL;
QGraphicsDropShadowEffect *shadowEffect = new QGraphicsDropShadowEffect();
shadowEffect->setOffset(0,0);
shadowEffect->setColor(Qt::gray);
shadowEffect->setBlurRadius(10);
//ui->listWidget->setGraphicsEffect(shadowEffect);
/*******原来的
ui->listWidget->setStyleSheet("QListWidget{background-color:rgba(255,255,255,0);border-width:1px;border-radius:4px;outline:0px;}"
"QListView::item:hover {"
"background-color: rgba(250, 250, 250, 0.9);"
"padding: 0px;"
"border: 1px solid #BDBDBD;"
"}"
"QListView::item:selected {"
"background-color: rgba(245, 245, 245, 0.9);"
"color: black;"
"padding: 0px;"
"border: 2px solid #BDBDBD;"
"}"
"QListView::item{height:70px;border: 1px solid #BDBDBD;border-radius:4px;margin:6px 0px 0px 6px;}"
);*/
ui->listWidget->setStyleSheet("QListWidget{background-color:rgba(255,255,255,0);border:0px;border-radius:4px;outline:0px;}"
"QListView::item:hover {"
"background-color: #EEEEEE;"
"padding: 0px;"
"border: 0px solid #E0E0E0;"
"}"
"QListView::item:selected {"
"background-color: #EEEEEE;"
"color: black;"
"padding: 0px;"
"border: 0px solid #BDBDBD;"
"}"
"QListView::item{height:70px;border: 0px solid #BDBDBD;border-radius:4px;margin:6px 0px 0px 6px;}"
);
/*
*
"QListWidget::item{background-color:rgba(255,255,255,0.9);border-color:rgba(255,255,255,0.9);border-width:0px;border-radius:4px;margin:4px 0px 0px 0px;}"
"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);
connect(ui->listWidget,SIGNAL(currentRowChanged(int)),this,SLOT(slot_createSonPage(int)));
/*透明度动画
exitOpacity = new QGraphicsOpacityEffect (this);//创建QGraphicsOpacityEffect对象关联控件ui.widgetProcess
exitOpacity->setOpacity(1);//设置透明度为0隐藏控件
this->setGraphicsEffect(exitOpacity);//控件添加绘图效果*/
}
basePage::~basePage()
{
//qDebug() << "~basePage" << "\n";
/*
if(sonPage != NULL)
sonPage->~basePage();*/
//qDebug() << "~basePage deleted" << "\n";
delete ui;
}
void basePage::playExitAnimation()
{/*
QPropertyAnimation* pWidgetProcessOpacity = new QPropertyAnimation(exitOpacity, "opacity", this);
pWidgetProcessOpacity->setDuration(300);
pWidgetProcessOpacity->setStartValue(1);
pWidgetProcessOpacity->setEndValue(0);
pWidgetProcessOpacity->setEasingCurve(QEasingCurve::Linear);
pWidgetProcessOpacity->start(QAbstractAnimation::DeleteWhenStopped);//执行动画,结束后删除对象。*/
}
void basePage::addItemsToList(pageListItem *itemWidget)
{
QListWidgetItem *tmpItem = new QListWidgetItem();
ui->listWidget->addItem(tmpItem);
ui->listWidget->setItemWidget(tmpItem, itemWidget);
}
void basePage::setFather(QWidget *parent)
{
father = parent;
}
void basePage::slot_createSonPage(int key)
{
emit creatingSonPage();
if(isEnable(key))
{
ui->listWidget->setCurrentRow(-1);
qDebug() << "dev of basePage = " << dev.addr;
sonPage = SPManager->selector(this,whoAmI(),key,dev);
if(sonPage != NULL)
{
ui->listWidget->setVisible(false);
ui->mainLayout->addWidget(sonPage);
}
}
//qDebug() << "is not";
}
void basePage::slot_destroySonPage()
{
if(sonPage == NULL)
throw "trying to destroy sonPage, but sonPage == NULL;";
sonPage->~QWidget();
sonPage = NULL;
ui->listWidget->setVisible(true);
}
QString basePage::whoAmI()
{
return myName;
}
void basePage::whoYouAre(QString name)
{
myName = name;
}
void basePage::setEnableValue(int *val)
{
for(int i = 0; i < 20 ; i++)
{
enableVal[i] = val[i];
}
}
bool basePage::isEnable(int k)
{
//qDebug() << "k=" << k;
for(int i = 0; i < 20; i++)
{
if(enableVal[i] == k + 1)
return true;
}
return false;
}
void basePage::setDev(device device)
{
dev = device;
}

59
QtAdb/basepage.h Normal file
View File

@ -0,0 +1,59 @@
#ifndef BASEPAGE_H
#define BASEPAGE_H
#include <QWidget>
#include <QGraphicsEffect>
#include <QGraphicsOpacityEffect>
#include <QPropertyAnimation>
#include "pagelistitem.h"
#include "sonPages/sonpagemanager.h"
namespace Ui {
class basePage;
}
class basePage : public QWidget
{
Q_OBJECT
signals:
void creatingSonPage();
public:
explicit basePage(QWidget *parent = nullptr);
~basePage();
QWidget *parents;
basePage *lastPage;
QWidget *sonPage;
QWidget *father;
QString myName;
sonPageManager *SPManager;
int enableVal[20];
//pageMaker *maker;
device dev;
void addItemsToList(pageListItem *itemWidget);
void setFather(QWidget *parent);
QString whoAmI();
void whoYouAre(QString name);
void setEnableValue(int val[20]);
void setDev(device dev);
private:
Ui::basePage *ui;
bool isEnable(int k);
//QGraphicsOpacityEffect* exitOpacity;
public slots:
void playExitAnimation();
private slots:
void slot_createSonPage(int key);
void slot_destroySonPage();
};
#endif // BASEPAGE_H

44
QtAdb/basepage.ui Normal file
View File

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>basePage</class>
<widget class="QWidget" name="basePage">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>690</width>
<height>550</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>11</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>11</number>
</property>
<item>
<layout class="QVBoxLayout" name="mainLayout">
<item>
<widget class="QListWidget" name="listWidget">
<property name="styleSheet">
<string notr="true"/>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

BIN
QtAdb/fonts/MiSans-Bold.ttf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

90
QtAdb/ico.qrc Normal file
View File

@ -0,0 +1,90 @@
<RCC>
<qresource prefix="/ico">
<file>image/ico/android-line.svg</file>
<file>image/ico/arrow-left-line.svg</file>
<file>image/ico/barcode-line.svg</file>
<file>image/ico/check-line.svg</file>
<file>image/ico/close-circle-line.svg</file>
<file>image/ico/cpu-line.svg</file>
<file>image/ico/device-recover-line.svg</file>
<file>image/ico/drag-move-line.svg</file>
<file>image/ico/dvd-line.svg</file>
<file>image/ico/file-copy-line.svg</file>
<file>image/ico/fullscreen-line.svg</file>
<file>image/ico/google-play-line.svg</file>
<file>image/ico/grid-line.svg</file>
<file>image/ico/install-line.svg</file>
<file>image/ico/link.svg</file>
<file>image/ico/play-line.svg</file>
<file>image/ico/profile-line.svg</file>
<file>image/ico/pulse-line.svg</file>
<file>image/ico/refresh-line.svg</file>
<file>image/ico/refund-line.svg</file>
<file>image/ico/registered-line.svg</file>
<file>image/ico/remote-control-2-line.svg</file>
<file>image/ico/restart-line.svg</file>
<file>image/ico/shut-down-line.svg</file>
<file>image/ico/signal-wifi-3-fill.svg</file>
<file>image/ico/smartphone-line.svg</file>
<file>image/ico/spam-line.svg</file>
<file>image/ico/terminal-box-line.svg</file>
<file>image/ico/tools-line.svg</file>
<file>image/ico/video-line.svg</file>
<file>image/ico/btnEmulator/arrow-left-right-line.svg</file>
<file>image/ico/btnEmulator/arrow-left-s-line.svg</file>
<file>image/ico/btnEmulator/calculator-line.svg</file>
<file>image/ico/btnEmulator/calendar-event-line.svg</file>
<file>image/ico/btnEmulator/camera-3-line.svg</file>
<file>image/ico/btnEmulator/contacts-book-line.svg</file>
<file>image/ico/btnEmulator/disc-line.svg</file>
<file>image/ico/btnEmulator/firefox-line.svg</file>
<file>image/ico/btnEmulator/haze-line.svg</file>
<file>image/ico/btnEmulator/home-2-line.svg</file>
<file>image/ico/btnEmulator/lightbulb-line.svg</file>
<file>image/ico/btnEmulator/menu-line.svg</file>
<file>image/ico/btnEmulator/pause-line.svg</file>
<file>image/ico/btnEmulator/phone-line.svg</file>
<file>image/ico/btnEmulator/phone-off.svg</file>
<file>image/ico/btnEmulator/psychotherapy-line.svg</file>
<file>image/ico/btnEmulator/rest-time-line.svg</file>
<file>image/ico/btnEmulator/settings-line.svg</file>
<file>image/ico/btnEmulator/skip-back-line.svg</file>
<file>image/ico/btnEmulator/skip-forward-line.svg</file>
<file>image/ico/btnEmulator/stop-fill.svg</file>
<file>image/ico/btnEmulator/sun-line.svg</file>
<file>image/ico/btnEmulator/volume-down-line.svg</file>
<file>image/ico/btnEmulator/volume-mute-line.svg</file>
<file>image/ico/btnEmulator/volume-up-line.svg</file>
<file>image/ico/btnEmulator/zzz-line.svg</file>
<file>image/ico/connect.svg</file>
<file>image/ico/about/alipay-line.svg</file>
<file>image/ico/about/github-fill.svg</file>
<file>image/ico/about/heart-line.svg</file>
<file>image/ico/about/information-line.svg</file>
<file>image/ico/about/wechat-pay-line.svg</file>
<file>image/ico/about/chiken.svg</file>
<file>image/ico/about/cola.svg</file>
<file>image/ico/about/noodles.svg</file>
<file>image/ico/about/header-logo.png</file>
<file>image/ico/about/coolapklogo-b.png</file>
<file>image/ico/about/alipay.svg</file>
<file>image/ico/about/wechat.svg</file>
<file>image/ico/logo.svg</file>
</qresource>
<qresource prefix="/test">
<file>image/test/back.png</file>
<file>image/test/Lappland.png</file>
</qresource>
<qresource prefix="/gif">
<file>image/gif/final.gif</file>
</qresource>
<qresource prefix="/activatorApps">
<file>image/activatorApps/blackhole.png</file>
<file>image/activatorApps/blackroom.png</file>
<file>image/activatorApps/brevent.png</file>
<file>image/activatorApps/icebox.png</file>
<file>image/activatorApps/island.png</file>
<file>image/activatorApps/shizuku.png</file>
<file>image/activatorApps/taichi.png</file>
</qresource>
</RCC>

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
QtAdb/image/gif/final.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M18.408 16.79c-2.173-.95-3.72-1.646-4.64-2.086-1.4 1.696-2.872 2.72-5.08 2.72S5 16.064 5.176 14.392c.12-1.096.872-2.888 4.128-2.576 1.72.16 2.504.48 3.912.944.36-.664.664-1.4.888-2.176H7.88v-.616h3.072V8.864H7.2v-.68h3.752V6.592s.032-.248.312-.248H12.8v1.848h4v.68h-4v1.104h3.264a12.41 12.41 0 0 1-1.32 3.32c.51.182 2.097.676 4.76 1.483a8 8 0 1 0-1.096 2.012zM12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-3.568-5.632c1.44 0 2.824-.872 3.96-2.352-1.608-.776-2.944-1.16-4.44-1.16-1.304 0-1.984.8-2.104 1.416-.12.616.248 2.096 2.584 2.096z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 715 B

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 43 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 48 48"><g clip-path="url(#a)"><path stroke-linejoin="round" stroke-linecap="round" stroke-width="3" stroke="#333" d="M33.374 33.874c4.243-4.242 1.415-18.384-4.95-24.748-2.828-2.829-10.96-8.84-19.798 0-8.84 8.838-2.829 16.97 0 19.798 6.364 6.365 20.506 9.193 24.748 4.95Z" data-follow-stroke="#333"/><path stroke-width="3" stroke="#333" d="m41 41-7-7" data-follow-stroke="#333"/><circle fill="#333" transform="rotate(135 42.193 40.071)" r="2.5" cy="40.071" cx="42.193" data-follow-fill="#333"/><circle fill="#333" transform="rotate(135 40.071 42.193)" r="2.5" cy="42.193" cx="40.071" data-follow-fill="#333"/><circle fill="#333" r="2" cy="18" cx="17" data-follow-fill="#333"/><circle fill="#333" r="2" cy="21" cx="12" data-follow-fill="#333"/><circle fill="#333" r="2" cy="24" cx="17" data-follow-fill="#333"/></g><defs><clipPath id="a"><path fill="#333" d="M0 0h48v48H0z" data-follow-fill="#333"/></clipPath></defs></svg>

After

Width:  |  Height:  |  Size: 986 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 48 48"><path stroke-linejoin="round" stroke-linecap="round" stroke-width="3" stroke="#333" d="m36 37-2.79 6.4a1 1 0 0 1-.918.6H15.707a1 1 0 0 1-.916-.6L12 37M12 11l2.79-6.4a1 1 0 0 1 .918-.6h16.584a1 1 0 0 1 .917.6L36 11" data-follow-stroke="#333"/><path stroke-width="3" stroke="#333" d="M12 12a2 2 0 0 1 2-2h20a2 2 0 0 1 2 2v24a2 2 0 0 1-2 2H14a2 2 0 0 1-2-2V12Z" data-follow-stroke="#333"/><path stroke-linejoin="round" stroke-linecap="round" stroke-width="3" stroke="#333" d="m13 22.5 6.396-1.01a8.934 8.934 0 0 0 5.218-2.815v0a8.935 8.935 0 0 1 7.168-2.907L35.5 16M12.5 32.5l5.553-.252a9.54 9.54 0 0 0 7.998-5.067v0a9.54 9.54 0 0 1 5.974-4.754L35.5 21.5M36 12v20M12 16v20" data-follow-stroke="#333"/></svg>

After

Width:  |  Height:  |  Size: 776 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 2C6.475 2 2 6.475 2 12a9.994 9.994 0 0 0 6.838 9.488c.5.087.687-.213.687-.476 0-.237-.013-1.024-.013-1.862-2.512.463-3.162-.612-3.362-1.175-.113-.288-.6-1.175-1.025-1.413-.35-.187-.85-.65-.013-.662.788-.013 1.35.725 1.538 1.025.9 1.512 2.338 1.087 2.912.825.088-.65.35-1.087.638-1.337-2.225-.25-4.55-1.113-4.55-4.938 0-1.088.387-1.987 1.025-2.688-.1-.25-.45-1.275.1-2.65 0 0 .837-.262 2.75 1.026a9.28 9.28 0 0 1 2.5-.338c.85 0 1.7.112 2.5.337 1.912-1.3 2.75-1.024 2.75-1.024.55 1.375.2 2.4.1 2.65.637.7 1.025 1.587 1.025 2.687 0 3.838-2.337 4.688-4.562 4.938.362.312.675.912.675 1.85 0 1.337-.013 2.412-.013 2.75 0 .262.188.574.688.474A10.016 10.016 0 0 0 22 12c0-5.525-4.475-10-10-10z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 839 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0H24V24H0z"/><path d="M12.001 4.529c2.349-2.109 5.979-2.039 8.242.228 2.262 2.268 2.34 5.88.236 8.236l-8.48 8.492-8.478-8.492c-2.104-2.356-2.025-5.974.236-8.236 2.265-2.264 5.888-2.34 8.244-.228zm6.826 1.641c-1.5-1.502-3.92-1.563-5.49-.153l-1.335 1.198-1.336-1.197c-1.575-1.412-3.99-1.35-5.494.154-1.49 1.49-1.565 3.875-.192 5.451L12 18.654l7.02-7.03c1.374-1.577 1.299-3.959-.193-5.454z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 514 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM11 7h2v2h-2V7zm0 4h2v6h-2v-6z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 288 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 48 48"><path fill-opacity=".01" fill="#fff" d="M0 0h48v48H0z"/><path stroke-linejoin="round" stroke-linecap="round" stroke-width="3" stroke="#333" d="M32 44s0-3.864.002-3.872a17.964 17.964 0 0 0 4.726-3.4A17.943 17.943 0 0 0 42 24H6c0 4.97 2.015 9.47 5.272 12.728a18.085 18.085 0 0 0 4.741 3.407L16 44h16ZM24 18.008V8M36 18.008V12M12 18.008V12M40 8a4 4 0 0 0-4 4M28 4a4 4 0 0 0-4 4M16 8a4 4 0 0 0-4 4" data-follow-stroke="#333"/></svg>

After

Width:  |  Height:  |  Size: 500 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M19.145 8.993l-9.799 5.608-.07.046a.646.646 0 0 1-.3.068.655.655 0 0 1-.58-.344l-.046-.092-1.83-3.95c-.024-.046-.024-.092-.024-.138 0-.184.139-.321.324-.321.07 0 .14.023.209.069l2.155 1.515c.162.092.348.161.556.161a.937.937 0 0 0 .348-.069l8.275-3.648C16.934 6.273 14.634 5.2 12 5.2c-4.42 0-7.9 3.022-7.9 6.6 0 1.366.5 2.673 1.432 3.781.048.057.12.137.214.235a4 4 0 0 1 1.101 3.102l-.025.297.716-.436a4 4 0 0 1 2.705-.536c.212.033.386.059.52.076.406.054.82.081 1.237.081 4.42 0 7.9-3.022 7.9-6.6 0-.996-.27-1.95-.755-2.807zM6.192 21.943a1 1 0 0 1-1.526-.932l.188-2.259a2 2 0 0 0-.55-1.551A6.993 6.993 0 0 1 4 16.868C2.806 15.447 2.1 13.695 2.1 11.8c0-4.75 4.432-8.6 9.9-8.6s9.9 3.85 9.9 8.6-4.432 8.6-9.9 8.6c-.51 0-1.01-.033-1.499-.098a23.61 23.61 0 0 1-.569-.084 2 2 0 0 0-1.353.268l-2.387 1.456z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 948 B

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 54 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" stroke-width="1" d="M0 0h24v24H0z"/><path stroke-width="1" d="M19 13H5v7h14v-7zm0-2a7 7 0 0 0-14 0h14zM6.382 3.968A8.962 8.962 0 0 1 12 2c2.125 0 4.078.736 5.618 1.968l1.453-1.453 1.414 1.414-1.453 1.453A8.962 8.962 0 0 1 21 11v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V11c0-2.125.736-4.078 1.968-5.618L3.515 3.93l1.414-1.414 1.453 1.453zM9 9a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm6 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 517 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M7.828 11H20v2H7.828l5.364 5.364-1.414 1.414L4 12l7.778-7.778 1.414 1.414z"/></svg>

After

Width:  |  Height:  |  Size: 212 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M2 4h2v16H2V4zm4 0h1v16H6V4zm2 0h2v16H8V4zm3 0h2v16h-2V4zm3 0h2v16h-2V4zm3 0h1v16h-1V4zm2 0h3v16h-3V4z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 252 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M16.05 12.05L21 17l-4.95 4.95-1.414-1.414 2.536-2.537L4 18v-2h13.172l-2.536-2.536 1.414-1.414zm-8.1-10l1.414 1.414L6.828 6 20 6v2H6.828l2.536 2.536L7.95 11.95 3 7l4.95-4.95z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 323 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M10.828 12l4.95 4.95-1.414 1.414L8 12l6.364-6.364 1.414 1.414z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 212 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M4 2h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm1 2v16h14V4H5zm2 2h10v4H7V6zm0 6h2v2H7v-2zm0 4h2v2H7v-2zm4-4h2v2h-2v-2zm0 4h2v2h-2v-2zm4-4h2v6h-2v-6z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 323 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M17 3h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1h2v2h6V1h2v2zm3 6V5h-3v2h-2V5H9v2H7V5H4v4h16zm0 2H4v8h16v-8zM6 13h5v4H6v-4z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 299 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M2 6c0-.552.455-1 .992-1h18.016c.548 0 .992.445.992 1v14c0 .552-.455 1-.992 1H2.992A.994.994 0 0 1 2 20V6zm2 1v12h16V7H4zm10 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 2a5 5 0 1 1 0-10 5 5 0 0 1 0 10zM4 2h6v2H4V2z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 353 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 2h16.005C20.107 2 21 2.898 21 3.99v16.02c0 1.099-.893 1.99-1.995 1.99H3V2zm4 2H5v16h2V4zm2 16h10V4H9v16zm2-4a3 3 0 0 1 6 0h-6zm3-4a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm8-6h2v4h-2V6zm0 6h2v4h-2v-4z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 341 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M15 4.582V12a3 3 0 1 1-2-2.83V2.05c5.053.501 9 4.765 9 9.95 0 5.523-4.477 10-10 10S2 17.523 2 12c0-5.185 3.947-9.449 9-9.95v2.012A8.001 8.001 0 0 0 12 20a8 8 0 0 0 3-15.418z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 323 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12c0-1.464.314-2.854.88-4.106.466-.939 1.233-1.874 1.85-2.194-.653 1.283-.973 2.54-1.04 3.383.454-1.5 1.315-2.757 2.52-3.644 2.066-1.519 4.848-1.587 5.956-.62-2.056.707-4.296 3.548-3.803 6.876.08.55.245 1.084.489 1.582-.384-1.01-.418-2.433.202-3.358.692-1.03 1.678-1.248 2.206-1.136-.208-.044-.668.836-.736.991-.173.394-.259.82-.251 1.25a3.395 3.395 0 0 0 1.03 2.38c1.922 1.871 5.023 1.135 6.412-1.002.953-1.471 1.069-3.968-.155-5.952a6.915 6.915 0 0 0-1.084-1.32c-1.85-1.766-4.48-2.57-6.982-2.205-1.106.177-2.047.496-2.824.956C7.755 2.798 9.91 2 12 2zM6.875 7.705c-2.253.781-3.501 3.17-2.579 6.46a8.004 8.004 0 0 0 7.455 5.831L12 20a8 8 0 0 0 7.985-7.504l.009-.212c-.13.349-.283.674-.463.98l-.14.227c-2.104 3.239-6.681 4.075-9.48 1.348a5.392 5.392 0 0 1-.962-1.257l-.106-.201c-1.736-.387-2.584-1.326-2.543-2.817.027-.991.23-1.96.575-2.86z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M6.083 13a6 6 0 1 1 11.834 0h-2.043a4 4 0 1 0-7.748 0H6.083zM2 15h10v2H2v-2zm12 0h8v2h-8v-2zm2 4h4v2h-4v-2zM4 19h10v2H4v-2zm7-18h2v3h-2V1zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM19.07 3.515l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 439 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M19 21H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9a1 1 0 0 1-1 1zM6 19h12V9.157l-6-5.454-6 5.454V19z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 269 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M9.973 18H11v-5h2v5h1.027c.132-1.202.745-2.194 1.74-3.277.113-.122.832-.867.917-.973a6 6 0 1 0-9.37-.002c.086.107.807.853.918.974.996 1.084 1.609 2.076 1.741 3.278zM10 20v1h4v-1h-4zm-4.246-5a8 8 0 1 1 12.49.002C17.624 15.774 16 17 16 18.5V21a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-2.5C8 17 6.375 15.774 5.754 15z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 455 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 194 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M6 5h2v14H6V5zm10 0h2v14h-2V5z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 180 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M9.366 10.682a10.556 10.556 0 0 0 3.952 3.952l.884-1.238a1 1 0 0 1 1.294-.296 11.422 11.422 0 0 0 4.583 1.364 1 1 0 0 1 .921.997v4.462a1 1 0 0 1-.898.995c-.53.055-1.064.082-1.602.082C9.94 21 3 14.06 3 5.5c0-.538.027-1.072.082-1.602A1 1 0 0 1 4.077 3h4.462a1 1 0 0 1 .997.921A11.422 11.422 0 0 0 10.9 8.504a1 1 0 0 1-.296 1.294l-1.238.884zm-2.522-.657l1.9-1.357A13.41 13.41 0 0 1 7.647 5H5.01c-.006.166-.009.333-.009.5C5 12.956 11.044 19 18.5 19c.167 0 .334-.003.5-.01v-2.637a13.41 13.41 0 0 1-3.668-1.097l-1.357 1.9a12.442 12.442 0 0 1-1.588-.75l-.058-.033a12.556 12.556 0 0 1-4.702-4.702l-.033-.058a12.442 12.442 0 0 1-.75-1.588z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 780 B

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg width="35" height="35" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="48" height="48" fill="white" fill-opacity="0.01"/><path d="M19.4438 21.5001C19.017 20.4326 18.8747 19.7007 18.8747 19.7007L21.2315 14.987C21.5266 14.3968 21.5116 13.6989 21.1913 13.1219L18.7448 8.71505C18.3922 8.07981 17.7228 7.68579 16.9962 7.68579L11.9236 7.68579C9.33993 7.68578 7.47453 10.088 8.30063 12.536C9.5121 16.126 11.5052 21.1307 14.3465 25.5001M26.6772 28.9116C27.9041 29.4333 28.7742 29.6002 28.7742 29.6002L33.4871 27.2437C34.0778 26.9484 34.7762 26.9637 35.3534 27.2846L39.7727 29.7416C40.4073 30.0944 40.8009 30.7635 40.8009 31.4896L40.8009 36.5631C40.8009 39.1467 38.3973 41.0117 35.9493 40.1856C32.2021 38.921 26.9142 36.8049 22.4161 33.7618" stroke="#333" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><path d="M40 8L8 40" stroke="#333" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>

After

Width:  |  Height:  |  Size: 993 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0H24V24H0z"/><path d="M11 2c4.068 0 7.426 3.036 7.934 6.965l2.25 3.539c.148.233.118.58-.225.728L19 14.07V17c0 1.105-.895 2-2 2h-1.999L15 22H6v-3.694c0-1.18-.436-2.297-1.244-3.305C3.657 13.631 3 11.892 3 10c0-4.418 3.582-8 8-8zm0 2c-3.314 0-6 2.686-6 6 0 1.385.468 2.693 1.316 3.75C7.41 15.114 8 16.667 8 18.306V20h5l.002-3H17v-4.248l1.55-.664-1.543-2.425-.057-.442C16.566 6.251 14.024 4 11 4zm0 3c.552 0 1 .448 1 1v1h1c.552 0 1 .448 1 1s-.448 1-1 1h-1v1c0 .552-.448 1-1 1s-1-.448-1-1v-1.001L9 11c-.552 0-1-.448-1-1s.448-1 1-1l1-.001V8c0-.552.448-1 1-1z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 680 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0H24V24H0z"/><path d="M11 6v2c-3.314 0-6 2.686-6 6s2.686 6 6 6c3.238 0 5.878-2.566 5.996-5.775L17 14h2c0 4.418-3.582 8-8 8s-8-3.582-8-8c0-4.335 3.58-8 8-8zm10-4v2l-5.327 6H21v2h-8v-2l5.326-6H13V2h8z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 326 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 1l9.5 5.5v11L12 23l-9.5-5.5v-11L12 1zm0 2.311L4.5 7.653v8.694l7.5 4.342 7.5-4.342V7.653L12 3.311zM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 319 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M8 11.333l10.223-6.815a.5.5 0 0 1 .777.416v14.132a.5.5 0 0 1-.777.416L8 12.667V19a1 1 0 0 1-2 0V5a1 1 0 1 1 2 0v6.333zm9 4.93V7.737L10.606 12 17 16.263z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 302 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M16 12.667L5.777 19.482A.5.5 0 0 1 5 19.066V4.934a.5.5 0 0 1 .777-.416L16 11.333V5a1 1 0 0 1 2 0v14a1 1 0 0 1-2 0v-6.333zm-9-4.93v8.526L13.394 12 7 7.737z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 304 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M6 5h12a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 221 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-2a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM11 1h2v3h-2V1zm0 19h2v3h-2v-3zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM5.636 16.95l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 525 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M13 7.22L9.603 10H6v4h3.603L13 16.78V7.22zM8.889 16H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h3.889l5.294-4.332a.5.5 0 0 1 .817.387v15.89a.5.5 0 0 1-.817.387L8.89 16zm9.974.591l-1.422-1.422A3.993 3.993 0 0 0 19 12c0-1.43-.75-2.685-1.88-3.392l1.439-1.439A5.991 5.991 0 0 1 21 12c0 1.842-.83 3.49-2.137 4.591z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 447 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M10 7.22L6.603 10H3v4h3.603L10 16.78V7.22zM5.889 16H2a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h3.889l5.294-4.332a.5.5 0 0 1 .817.387v15.89a.5.5 0 0 1-.817.387L5.89 16zm14.525-4l3.536 3.536-1.414 1.414L19 13.414l-3.536 3.536-1.414-1.414L17.586 12 14.05 8.464l1.414-1.414L19 10.586l3.536-3.536 1.414 1.414L20.414 12z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 453 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M10 7.22L6.603 10H3v4h3.603L10 16.78V7.22zM5.889 16H2a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h3.889l5.294-4.332a.5.5 0 0 1 .817.387v15.89a.5.5 0 0 1-.817.387L5.89 16zm13.517 4.134l-1.416-1.416A8.978 8.978 0 0 0 21 12a8.982 8.982 0 0 0-3.304-6.968l1.42-1.42A10.976 10.976 0 0 1 23 12c0 3.223-1.386 6.122-3.594 8.134zm-3.543-3.543l-1.422-1.422A3.993 3.993 0 0 0 16 12c0-1.43-.75-2.685-1.88-3.392l1.439-1.439A5.991 5.991 0 0 1 18 12c0 1.842-.83 3.49-2.137 4.591z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 599 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0H24V24H0z"/><path d="M11 11v2l-5.327 6H11v2H3v-2l5.326-6H3v-2h8zm10-8v2l-5.327 6H21v2h-8v-2l5.326-6H13V3h8z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 236 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="none" d="M0 0h24v24H0z"/><path d="M10 15.172l9.192-9.193 1.415 1.414L10 18l-6.364-6.364 1.414-1.414z"/></svg>

After

Width:  |  Height:  |  Size: 204 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm0-9.414l2.828-2.829 1.415 1.415L13.414 12l2.829 2.828-1.415 1.415L12 13.414l-2.828 2.829-1.415-1.415L10.586 12 7.757 9.172l1.415-1.415L12 10.586z"/></svg>

After

Width:  |  Height:  |  Size: 392 B

View File

@ -0,0 +1 @@
<svg id="图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600"><title>画板 1</title><path d="M336.82,292l20-12v8h29.57l-6-12h-3.54v4h-16v-16h16v4h8.49l10,20h6.22a12,12,0,1,1,.51,9.25L388.9,316h-9.08a8,8,0,1,1,0-8h5.08l8.35-12h-36.4v8Zm72.12,0a4,4,0,1,0,4-4A4,4,0,0,0,408.94,292Z"/><path d="M495.75,315.2h125.5V228.92H495.75Zm70.59,15.69v15.69h31.38v15.69H519.28V346.58h31.38V330.89H487.84a7.83,7.83,0,0,1-7.78-7.87V221.13a7.9,7.9,0,0,1,7.78-7.9H629.16a7.83,7.83,0,0,1,7.78,7.9V323a7.9,7.9,0,0,1-7.78,7.9Z"/><path d="M192.4,231.9V351.1h74.5V231.9ZM185,217h89.4a7.46,7.46,0,0,1,7.45,7.45v134.1a7.46,7.46,0,0,1-7.45,7.45H185a7.46,7.46,0,0,1-7.45-7.45V224.45A7.46,7.46,0,0,1,185,217Zm44.7,111.75a7.45,7.45,0,1,1-7.45,7.45A7.46,7.46,0,0,1,229.65,328.75Z"/></svg>

After

Width:  |  Height:  |  Size: 793 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path stroke-width="1" d="M6 18h12V6H6v12zm8 2h-4v2H8v-2H5a1 1 0 0 1-1-1v-3H2v-2h2v-4H2V8h2V5a1 1 0 0 1 1-1h3V2h2v2h4V2h2v2h3a1 1 0 0 1 1 1v3h2v2h-2v4h2v2h-2v3a1 1 0 0 1-1 1h-3v2h-2v-2zM8 8h8v8H8V8z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 339 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h14zm-1 2H6v16h12V4zm-6 3a5 5 0 0 1 2.628 9.254L12.5 12H15a3 3 0 1 0-3 3l.955 1.909A5 5 0 1 1 12 7z"/></svg>

After

Width:  |  Height:  |  Size: 305 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 2l4.243 4.243-1.415 1.414L12 4.828 9.172 7.657 7.757 6.243 12 2zM2 12l4.243-4.243 1.414 1.415L4.828 12l2.829 2.828-1.414 1.415L2 12zm20 0l-4.243 4.243-1.414-1.415L19.172 12l-2.829-2.828 1.414-1.415L22 12zm-10 2a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm0 8l-4.243-4.243 1.415-1.414L12 19.172l2.828-2.829 1.415 1.414L12 22z"/></svg>

After

Width:  |  Height:  |  Size: 451 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm1-9h3l-5 7v-5H8l5-7v5z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 281 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M7 6V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-3v3c0 .552-.45 1-1.007 1H4.007A1.001 1.001 0 0 1 3 21l.003-14c0-.552.45-1 1.007-1H7zM5.003 8L5 20h10V8H5.003zM9 6h8v10h2V4H9v2z"/></svg>

After

Width:  |  Height:  |  Size: 321 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M20 3h2v6h-2V5h-4V3h4zM4 3h4v2H4v4H2V3h2zm16 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 232 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M4 1.734a1 1 0 0 1 .501.135l16.004 9.266a1 1 0 0 1 0 1.73L4.501 22.131A1 1 0 0 1 3 21.266V2.734a1 1 0 0 1 1-1zm8.292 11.68l-4.498 4.498 5.699-3.299-1.2-1.2zM5 6.118v11.76l5.88-5.88-5.88-5.88zm10.284 4.302L13.706 12l1.578 1.577L18.008 12l-2.725-1.579zm-7.49-4.336l4.5 4.5 1.199-1.2-5.699-3.3z"/></svg>

After

Width:  |  Height:  |  Size: 429 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M14 10h-4v4h4v-4zm2 0v4h3v-4h-3zm-2 9v-3h-4v3h4zm2 0h3v-3h-3v3zM14 5h-4v3h4V5zm2 0v3h3V5h-3zm-8 5H5v4h3v-4zm0 9v-3H5v3h3zM8 5H5v3h3V5zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 355 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M9 2v2H5l-.001 10h14L19 4h-4V2h5a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h5zm9.999 14h-14L5 20h14l-.001-4zM17 17v2h-2v-2h2zM13 2v5h3l-4 4-4-4h3V2h2z"/></svg>

After

Width:  |  Height:  |  Size: 308 B

1
QtAdb/image/ico/link.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M18.364 15.536L16.95 14.12l1.414-1.414a5 5 0 1 0-7.071-7.071L9.879 7.05 8.464 5.636 9.88 4.222a7 7 0 0 1 9.9 9.9l-1.415 1.414zm-2.828 2.828l-1.415 1.414a7 7 0 0 1-9.9-9.9l1.415-1.414L7.05 9.88l-1.414 1.414a5 5 0 1 0 7.071 7.071l1.414-1.414 1.415 1.414zm-.708-10.607l1.415 1.415-7.071 7.07-1.415-1.414 7.071-7.07z"/></svg>

After

Width:  |  Height:  |  Size: 450 B

1
QtAdb/image/ico/logo.svg Normal file
View File

@ -0,0 +1 @@
<svg id="图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 800"><defs><style>.cls-1{fill:#41cd52;}.cls-2,.cls-3{fill:#fff;}.cls-2{opacity:0.44;}.cls-3{opacity:0.54;}</style></defs><title>画板 1</title><circle class="cls-1" cx="399.5" cy="399.5" r="334.5"/><polygon class="cls-2" points="472 192 232 192 112 399.85 232 607.69 472 607.69 592 399.85 472 192"/><polygon class="cls-2" points="567 192 327 192 207 399.85 327 607.69 567 607.69 687 399.85 567 192"/><polyline class="cls-3" points="472 608 567 608 472 192 327 192 232 608 327 608 363 449 436 449 472 608"/><path class="cls-1" d="M405.24,314.82,400,291,375,400h49Z"/><path class="cls-3" d="M405.24,314.82,400,291,375,400h49Z"/></svg>

After

Width:  |  Height:  |  Size: 725 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M16.394 12L10 7.737v8.526L16.394 12zm2.982.416L8.777 19.482A.5.5 0 0 1 8 19.066V4.934a.5.5 0 0 1 .777-.416l10.599 7.066a.5.5 0 0 1 0 .832z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 288 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M2 3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993zM4 5v14h16V5H4zm2 2h6v6H6V7zm2 2v2h2V9H8zm-2 6h12v2H6v-2zm8-8h4v2h-4V7zm0 4h4v2h-4v-2z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 356 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0H24V24H0z"/><path d="M9 7.539L15 21.539 18.659 13 23 13 23 11 17.341 11 15 16.461 9 2.461 5.341 11 1 11 1 13 6.659 13z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 247 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M5.463 4.433A9.961 9.961 0 0 1 12 2c5.523 0 10 4.477 10 10 0 2.136-.67 4.116-1.81 5.74L17 12h3A8 8 0 0 0 6.46 6.228l-.997-1.795zm13.074 15.134A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12c0-2.136.67-4.116 1.81-5.74L7 12H4a8 8 0 0 0 13.54 5.772l.997 1.795z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 407 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M20 8V5H4v3h16zm0 2H4v9h16v-9zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm8 11h6v2H6.5l4.5-4.5V14z"/></svg>

After

Width:  |  Height:  |  Size: 264 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm.5 3a3.5 3.5 0 0 1 1.82 6.49L16.868 17h-2.472l-2.18-3H10v3H8V7h4.5zm0 2H10v3h2.5a1.5 1.5 0 0 0 1.493-1.356L14 10.5A1.5 1.5 0 0 0 12.5 9z"/></svg>

After

Width:  |  Height:  |  Size: 382 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M18 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h12zm-1 2H7v16h10V4zm-2 11v2h-2v-2h2zm-4 0v2H9v-2h2zm2-9v2h2v2h-2.001L13 12h-2l-.001-2H9V8h2V6h2z"/></svg>

After

Width:  |  Height:  |  Size: 303 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M18.537 19.567A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10c0 2.136-.67 4.116-1.81 5.74L17 12h3a8 8 0 1 0-2.46 5.772l.997 1.795z"/></svg>

After

Width:  |  Height:  |  Size: 296 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M6.265 3.807l1.147 1.639a8 8 0 1 0 9.176 0l1.147-1.639A9.988 9.988 0 0 1 22 12c0 5.523-4.477 10-10 10S2 17.523 2 12a9.988 9.988 0 0 1 4.265-8.193zM11 12V2h2v10h-2z"/></svg>

After

Width:  |  Height:  |  Size: 301 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0H24V24H0z"/><path d="M12 3c4.284 0 8.22 1.497 11.31 3.996L12 21 .69 6.997C3.78 4.497 7.714 3 12 3zm0 2c-3.028 0-5.923.842-8.42 2.392l1.904 2.357C7.4 8.637 9.625 8 12 8s4.6.637 6.516 1.749L20.42 7.39C17.922 5.841 15.027 5 12 5z"/></svg>

After

Width:  |  Height:  |  Size: 343 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M7 4v16h10V4H7zM6 2h12a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm6 15a1 1 0 1 1 0 2 1 1 0 0 1 0-2z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 270 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M17.5 2.5L23 12l-5.5 9.5h-11L1 12l5.5-9.5h11zm-1.153 2H7.653L3.311 12l4.342 7.5h8.694l4.342-7.5-4.342-7.5zM11 15h2v2h-2v-2zm0-8h2v6h-2V7z"/></svg>

After

Width:  |  Height:  |  Size: 275 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h16V5H4zm8 10h6v2h-6v-2zm-3.333-3L5.838 9.172l1.415-1.415L11.495 12l-4.242 4.243-1.415-1.415L8.667 12z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 330 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M5.33 3.271a3.5 3.5 0 0 1 4.254 4.963l10.709 10.71-1.414 1.414-10.71-10.71a3.502 3.502 0 0 1-4.962-4.255L5.444 7.63a1.5 1.5 0 1 0 2.121-2.121L5.329 3.27zm10.367 1.884l3.182-1.768 1.414 1.414-1.768 3.182-1.768.354-2.12 2.121-1.415-1.414 2.121-2.121.354-1.768zm-6.718 8.132l1.414 1.414-5.303 5.303a1 1 0 0 1-1.492-1.327l.078-.087 5.303-5.303z"/></svg>

After

Width:  |  Height:  |  Size: 478 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 20.007V3.993zM5 5v14h14V5H5zm5.622 3.415l4.879 3.252a.4.4 0 0 1 0 .666l-4.88 3.252a.4.4 0 0 1-.621-.332V8.747a.4.4 0 0 1 .622-.332z" fill="#000"/></svg>

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 KiB

BIN
QtAdb/image/test/back.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

24
QtAdb/indexlistitem.cpp Normal file
View File

@ -0,0 +1,24 @@
#include "indexlistitem.h"
#include "ui_indexlistitem.h"
indexListItem::indexListItem(QWidget *parent) :
QWidget(parent),
ui(new Ui::indexListItem)
{
ui->setupUi(this);
}
indexListItem::~indexListItem()
{
delete ui;
}
void indexListItem::setText(QString text)
{
ui->text->setText(text);
}
void indexListItem::setPic(QString qss)
{
ui->pic->setStyleSheet(qss);
}

25
QtAdb/indexlistitem.h Normal file
View File

@ -0,0 +1,25 @@
#ifndef INDEXLISTITEM_H
#define INDEXLISTITEM_H
#include <QWidget>
namespace Ui {
class indexListItem;
}
class indexListItem : public QWidget
{
Q_OBJECT
public:
explicit indexListItem(QWidget *parent = nullptr);
~indexListItem();
void setText(QString text);
void setPic(QString qss);
private:
Ui::indexListItem *ui;
};
#endif // INDEXLISTITEM_H

135
QtAdb/indexlistitem.ui Normal file
View File

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>indexListItem</class>
<widget class="QWidget" name="indexListItem">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>234</width>
<height>35</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>35</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>35</height>
</size>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">/*background-color: rgba(255, 255, 255, 0);*/
border-width:2px;
border-color: rgb(152, 152, 152);</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="stick">
<property name="minimumSize">
<size>
<width>5</width>
<height>20</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>5</width>
<height>25</height>
</size>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">background-color:rgb(165, 165, 165);
border-radius:2px;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="pic">
<property name="minimumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">/*background-color:rgb(0, 0, 0);
border-radius:4px;*/</string>
</property>
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="text">
<property name="minimumSize">
<size>
<width>0</width>
<height>16</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16</height>
</size>
</property>
<property name="font">
<font>
<family>MiSans Normal</family>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgba(255, 255, 255, 0);</string>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

BIN
QtAdb/logo.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

1
QtAdb/logo.rc Normal file
View File

@ -0,0 +1 @@
IDI_ICON1 ICON DISCARDABLE "logo.ico"

1
QtAdb/logo.svg Normal file
View File

@ -0,0 +1 @@
<svg id="图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 800"><defs><style>.cls-1{fill:#41cd52;}.cls-2,.cls-3{fill:#fff;}.cls-2{opacity:0.44;}.cls-3{opacity:0.54;}</style></defs><title>画板 1</title><circle class="cls-1" cx="399.5" cy="399.5" r="334.5"/><polygon class="cls-2" points="472 192 232 192 112 399.85 232 607.69 472 607.69 592 399.85 472 192"/><polygon class="cls-2" points="567 192 327 192 207 399.85 327 607.69 567 607.69 687 399.85 567 192"/><polyline class="cls-3" points="472 608 567 608 472 192 327 192 232 608 327 608 363 449 436 449 472 608"/><path class="cls-1" d="M405.24,314.82,400,291,375,400h49Z"/><path class="cls-3" d="M405.24,314.82,400,291,375,400h49Z"/></svg>

After

Width:  |  Height:  |  Size: 725 B

Some files were not shown because too many files have changed in this diff Show More