Merge pull request !2 from likehomedream/my-devel
This commit is contained in:
KevinDuan 2023-06-15 07:23:19 +00:00 committed by Gitee
commit fb19a763f6
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
25 changed files with 624 additions and 383 deletions

View File

@ -1,314 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.11.0, 2023-05-29T16:35:40. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{d45cb136-b7fa-4602-8e06-0fe9f55982ae}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap"/>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">桌面</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">桌面</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{79fb097c-bd96-4583-b07f-5f8807181fba}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">2</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/kevin/test/gitlab2/kylinos-src/kwz/kylin-theme-builder/Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/kevin/test/gitlab2/kylinos-src/kwz/kylin-theme-builder/Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/kevin/test/gitlab2/kylinos-src/kwz/kylin-theme-builder/Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/kevin/test/gitlab2/kylinos-src/kwz/kylin-theme-builder/src/baseUI/baseUI.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/kevin/test/gitlab2/kylinos-src/kwz/kylin-theme-builder/src/baseUI/baseUI.pro</value>
<value type="QString" key="RunConfiguration.Arguments"></value>
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/kevin/test/gitlab2/kylinos-src/kwz/kylin-theme-builder/Profile/src/baseUI</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View File

@ -7,17 +7,27 @@ CONFIG += c++11
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \
cursorthemewidget.cpp \
debmaker/debmaker.cpp \
icontheme.cpp \
filecopy.cpp \
globalthemewidget.cpp \
iconthemewidget.cpp \
main.cpp \
mainwindow.cpp \
themesCheck/themescheck.cpp
themescheck/themescheck.cpp \
wallpaperthemewidget.cpp \
widgetbase.cpp
HEADERS += \
cursorthemewidget.h \
debmaker/debmaker.h \
icontheme.h \
filecopy.h \
globalthemewidget.h \
iconthemewidget.h \
mainwindow.h \
themesCheck/themescheck.h
themescheck/themescheck.h \
wallpaperthemewidget.h \
widgetbase.h
## Default rules for deployment.

View File

@ -0,0 +1,7 @@
#include "cursorthemewidget.h"
CursorThemeWidget::CursorThemeWidget(QWidget *parent) : WidgetBase(parent)
{
this->initThemeLabel("创建光标图标");
this->initImportButton("导入图标");
}

View File

@ -0,0 +1,18 @@
#ifndef CUESORTHEMEWIDGET_H
#define CUESORTHEMEWIDGET_H
#include "widgetbase.h"
#include <QWidget>
class CursorThemeWidget : public WidgetBase
{
Q_OBJECT
public:
explicit CursorThemeWidget(QWidget *parent = nullptr);
signals:
};
#endif // CUESORTHEMEWIDGET_H

View File

@ -1,6 +1,15 @@
#include "debmaker.h"
#include "mainwindow.h"
DebMaker::DebMaker()
DebMaker::DebMaker(QObject *parent) : QObject(parent)
{
qDebug()<<"-------------11111-------------------------------------";
//初始化文件、XXX打包操作在这里进行
}
void DebMaker::buildStart()
{
qDebug()<<"--------------------------------------------------";
}

View File

@ -1,11 +1,18 @@
#ifndef DEBMAKER_H
#define DEBMAKER_H
#include <QObject>
class DebMaker
class DebMaker : public QObject
{
Q_OBJECT
public:
DebMaker();
explicit DebMaker(QObject *parent = nullptr);
void buildStart();
signals:
};
#endif // DEBMAKER_H

48
src/baseUI/filecopy.cpp Normal file
View File

@ -0,0 +1,48 @@
#include "filecopy.h"
#include <QDir>
FileCopy::FileCopy(QObject *parent) : QObject(parent)
{
}
bool FileCopy::copyDirectoryFiles(const QString &fromDir, const QString &toDir, bool coverFileIfExist)
{
QDir sourceDir(fromDir);
QDir targetDir(toDir);
// 如果目标目录不存在,则进行创建
if(!targetDir.exists()){
if(!targetDir.mkdir(targetDir.absolutePath()))
return false;
}
QFileInfoList fileInfoList = sourceDir.entryInfoList();
foreach(QFileInfo fileInfo, fileInfoList){
if(fileInfo.fileName() == "." || fileInfo.fileName() == "..")
continue;
// 当为目录时递归的进行copy
if(fileInfo.isDir()){
if(!copyDirectoryFiles(fileInfo.filePath(),
targetDir.filePath(fileInfo.fileName()),
coverFileIfExist))
return false;
}
// 当允许覆盖操作时,将旧文件进行删除操作
else{
if(coverFileIfExist && targetDir.exists(fileInfo.fileName())){
targetDir.remove(fileInfo.fileName());
}
// 进行文件copy
if(!QFile::copy(fileInfo.filePath(),
targetDir.filePath(fileInfo.fileName()))){
return false;
}
}
}
return true;
}

16
src/baseUI/filecopy.h Normal file
View File

@ -0,0 +1,16 @@
#ifndef FILECOPY_H
#define FILECOPY_H
#include <QObject>
class FileCopy : public QObject
{
Q_OBJECT
public:
explicit FileCopy(QObject *parent = nullptr);
static bool copyDirectoryFiles(const QString &fromDir, const QString &toDir, bool coverFileIfExist);
signals:
};
#endif // FILECOPY_H

View File

@ -0,0 +1,6 @@
#include "globalthemewidget.h"
GlobalThemeWidget::GlobalThemeWidget(QWidget *parent) : WidgetBase(parent)
{
}

View File

@ -0,0 +1,18 @@
#ifndef GLOBALTHEMEWIDGET_H
#define GLOBALTHEMEWIDGET_H
#include "widgetbase.h"
#include <QWidget>
class GlobalThemeWidget : public WidgetBase
{
Q_OBJECT
public:
explicit GlobalThemeWidget(QWidget *parent = nullptr);
signals:
};
#endif // GLOBALTHEMEWIDGET_H

View File

@ -1,6 +0,0 @@
#include "icontheme.h"
IconTheme::IconTheme()
{
}

View File

@ -1,14 +0,0 @@
#ifndef ICONTHEME_H
#define ICONTHEME_H
#include <QMainWindow>
#include <QWidget>
class IconTheme
{
Q_OBJECT
public:
IconTheme();
};
#endif // ICONTHEME_H

View File

@ -0,0 +1,109 @@
#include "iconthemewidget.h"
#include "widgetbase.h"
#include "themescheck/themescheck.h"
#include <QDebug>
#include <QDateTime>
#include <QFile>
#include <QDir>
#include <QMessageBox>
#define HOMEPATH "/home/"
IconThemeWidget::IconThemeWidget(QWidget *parent) : WidgetBase(parent)
{
init();
this->initThemeLabel("创建主题图标");
this->initImportButton("导入图标");
connect(m_importButton , &QPushButton::clicked, this, [=](){
this->importIcons();
});
connect(this,&IconThemeWidget::onConfirmButtonClicked,this, &IconThemeWidget::check);
}
void IconThemeWidget::init()
{
// m_allLayout->insertWidget(new QLabel(tr("WidgetA")));
// 创建新的 widget
QWidget* newWidget = new QWidget(this);
newWidget->setFixedHeight(291);
QLineEdit* lll= new QLineEdit(tr("WidgetA"),newWidget);
m_allLayout->takeAt(1);
// m_allLayout->insertWidget(1,spacer);
// 将新的 widget 插入到 m_allLayout 中
int index = m_allLayout->indexOf(m_buttonWidget);
qDebug()<< index;
m_allLayout->insertWidget(index, newWidget);
// m_allLayout->addWidget(m_headWidget);
// m_allLayout->addWidget(m_buttonWidget);
}
#include <QMessageBox>
void IconThemeWidget::importIcons()
{
QString name = qgetenv("USER");
qDebug()<<"QString name = qgetenv;"<<name;
m_iconpath = HOMEPATH +name + "/.cache/theme-build/icon/";
// QString filters = tr("Icon files(*.png)");
m_fd= new QFileDialog(this);
m_fd->setFileMode(QFileDialog::Directory);
m_fd->setDirectory(HOMEPATH);
m_fd->setAcceptMode(QFileDialog::AcceptOpen);
m_fd->setViewMode(QFileDialog::List);
// m_fd->setNameFilter(filters);
// m_fd->setFileMode(QFileDialog::ExistingFile);
m_fd->setWindowTitle(tr("Select Open Action"));
m_fd->setLabelText(QFileDialog::Accept, tr("Select"));
m_fd->setLabelText(QFileDialog::Reject, tr("Cancel"));
if (m_fd->exec() != QDialog::Accepted)
return;
// 处理icon文件新建一个文件夹为theme-build/ 将文件复制到theme-build/
QString selectedDirectory;
selectedDirectory = m_fd->selectedFiles().first();
QStringList str_list = selectedDirectory.split("/");
QString path = m_iconpath+str_list.last();
QDir dir(path);
if (!dir.exists()) {
dir.mkpath(path);
}
FileCopy::copyDirectoryFiles(selectedDirectory,path,true);
//选中的图标文件加显示在界面中
}
void IconThemeWidget::check()
{
//检查
bool islegal = ThemesCheck::checkIconsDir(m_iconpath);
if(!islegal){
//给出提示
QMessageBox *messageBox = new QMessageBox(this);
messageBox->show();
}else{
//输入主题包名,返回
QMessageBox *messageBox = new QMessageBox(this);
messageBox->show();
//
Q_EMIT readyToBuild();
}
}

View File

@ -0,0 +1,31 @@
#ifndef ICONTHEMEWIDGET_H
#define ICONTHEMEWIDGET_H
#include "widgetbase.h"
#include "filecopy.h"
#include <QObject>
#include <QWidget>
#include <QPushButton>
class IconThemeWidget : public WidgetBase
{
Q_OBJECT
public:
explicit IconThemeWidget(QWidget *parent = nullptr);
void init();
void importIcons();
Q_SIGNALS:
void readyToBuild();
public Q_SLOTS:
void check();
private:
QFileDialog *m_fd;
QString m_iconpath;
};
#endif // ICONTHEMEWIDGET_H

View File

@ -1,11 +1,11 @@
#include "mainwindow.h"
#include <QApplication>
#include <QLoggingCategory>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLoggingCategory::defaultCategory()->setEnabled(QtDebugMsg, true);
MainWindow window;
window.show();

View File

@ -1,17 +1,86 @@
#include "mainwindow.h"
#include "debmaker/debmaker.h"
#include <QObject>
#include <QStackedWidget>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
this->resize(480,580);
this->setMinimumSize(480,580);
setFixedSize(this->width(),this->height());
QIcon icon = QIcon::fromTheme("kylin-boot-guide");
icon = QIcon::fromTheme("kylin-boot-guide");
this->setWindowTitle(QString("主题打包工具"));
this->setWindowIcon(icon);
this->setAutoFillBackground(true);
this->setBackgroundRole(QPalette::Base);
initUI();
//跳到相应的界面
connect(m_createIconTheme, &QPushButton::clicked , this, &MainWindow::createIconClicked);
connect(m_createWallpaperTheme, &QPushButton::clicked , this, &MainWindow::createWallpaperClicked);
connect(m_createCursorTheme, &QPushButton::clicked , this, &MainWindow::createCursorClicked);
connect(m_createGlobalTheme,&QPushButton::clicked , this, &MainWindow::createGlobalClicked);
m_iconThemeWidget = new IconThemeWidget(this);
m_wallpaperThemeWidget = new WallpaperthemeWidget(this);
m_cursorThemeWidget = new CursorThemeWidget(this);
m_globalThemeWidget = new GlobalThemeWidget(this);
m_stackWidget->insertWidget(1,m_iconThemeWidget);
m_stackWidget->insertWidget(2,m_wallpaperThemeWidget);
m_stackWidget->insertWidget(3,m_cursorThemeWidget);
m_stackWidget->insertWidget(4,m_globalThemeWidget);
m_iconThemeWidget->setObjectName(QString("IconThemeWidget"));
m_wallpaperThemeWidget->setObjectName(QString("WallpaperThemeWidget"));
m_cursorThemeWidget->setObjectName(QString("CursorThemeWidget"));
m_globalThemeWidget->setObjectName(QString("GlobalThemeWidget"));
connect(m_iconThemeWidget,&IconThemeWidget::onBackButtonClicked,this,&MainWindow::backToCreateInterface);
connect(m_wallpaperThemeWidget,&WallpaperthemeWidget::onBackButtonClicked,this,&MainWindow::backToCreateInterface);
connect(m_cursorThemeWidget,&CursorThemeWidget::onBackButtonClicked,this,&MainWindow::backToCreateInterface);
connect(m_globalThemeWidget,&GlobalThemeWidget::onBackButtonClicked,this,&MainWindow::backToCreateInterface);
connect(m_buildPackage,&QPushButton::clicked,this,[=](){
qDebug()<<"-=============================";
m_debMaker = new DebMaker(this);
});
}
MainWindow::~MainWindow()
{
delete m_interface;
delete m_createIconTheme;
delete m_createCursorTheme;
delete m_createWallpaperTheme;
delete m_createGlobalTheme;
}
void MainWindow::initUI()
{
// 创建 QStackedWidget 对象
m_stackWidget = new QStackedWidget(this);
m_stackWidget->resize(480,580);
// 创建网格布局
m_stackWidgetLayout = new QGridLayout(this);
// 将 QStackedWidget 对象添加到网格布局中
m_stackWidgetLayout->addWidget(m_stackWidget, 0, 0, 1, 1);
m_interface = new QWidget(this);
setCentralWidget(m_interface);
m_interfaceLayout = new QVBoxLayout();
m_interfaceLayout = new QVBoxLayout(m_interface);
//create theme interface
m_createThemeInterface = new QWidget();
@ -81,32 +150,35 @@ MainWindow::MainWindow(QWidget *parent)
m_buildThemeLayout->addWidget(m_buildThemeCheck);
m_buildThemeInterface->setLayout(m_buildThemeLayout);
//
m_interfaceLayout->addWidget(m_createThemeInterface);
m_interfaceLayout->addWidget(m_buildThemeInterface);
m_interface->setLayout(m_interfaceLayout);
connect(m_createIconTheme, &QPushButton::clicked , this, &MainWindow::createIconClicked);
connect(m_backToCreateInterface, &QPushButton::clicked , this, &MainWindow::backToCreateInterface);
}
m_stackWidget->insertWidget(0, m_interface);
MainWindow::~MainWindow()
{
delete m_interface;
delete m_createIconTheme;
delete m_createCursorTheme;
delete m_createWallpaperTheme;
delete m_createGlobalTheme;
// 设置网格布局,将 QStackedWidget 布局设置为整个窗口的底部
this->setLayout(m_stackWidgetLayout);
}
void MainWindow::createIconClicked()
{
qDebug()<<"ICON ICON ICON";
createInterfaceHidden();
m_stackWidget->setCurrentIndex(1);
}
void MainWindow::createWallpaperClicked()
{
m_stackWidget->setCurrentIndex(2);
}
void MainWindow::createCursorClicked()
{
m_stackWidget->setCurrentIndex(3);
}
void MainWindow::createGlobalClicked()
{
m_stackWidget->setCurrentIndex(4);
}
void MainWindow::createInterfaceHidden()
@ -119,8 +191,6 @@ void MainWindow::createInterfaceHidden()
void MainWindow::backToCreateInterface()
{
m_createThemeInterface->setHidden(false);
m_buildPackage->setHidden(false);
m_backToCreateInterface->setHidden(true);
m_buildThemeCheck->setHidden(true);
m_stackWidget->setCurrentIndex(0);
}

View File

@ -13,8 +13,14 @@
#include <QDir>
#include <QColor>
#include <QDebug>
#include <QStackedWidget>
#include <QGridLayout>
#include "icontheme.h"
#include "iconthemewidget.h"
#include "wallpaperthemewidget.h"
#include "cursorthemewidget.h"
#include "globalthemewidget.h"
#include "debmaker/debmaker.h"
class MainWindow : public QMainWindow
{
@ -24,6 +30,11 @@ public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
void initUI();
QStackedWidget*m_stackWidget;
QGridLayout *m_stackWidgetLayout;
//主界面、布局
QWidget *m_interface;
QVBoxLayout *m_interfaceLayout;
@ -43,12 +54,29 @@ public:
QPushButton *m_backToCreateInterface;
QPushButton *m_buildThemeCheck;
IconThemeWidget *m_iconThemeWidget;
WallpaperthemeWidget *m_wallpaperThemeWidget;
CursorThemeWidget *m_cursorThemeWidget;
GlobalThemeWidget *m_globalThemeWidget;
DebMaker* m_debMaker;
Q_SIGNALS:
void readToBuild();
private:
void createIconClicked();
void createWallpaperClicked();
void createCursorClicked();
void createGlobalClicked();
void createInterfaceHidden();
void createInterfaceShow();
void backToCreateInterface();
void buildThemesCheck();
};
#endif // MAINWINDOW_H

View File

@ -1,6 +0,0 @@
#include "themescheck.h"
ThemesCheck::ThemesCheck()
{
}

View File

@ -1,11 +0,0 @@
#ifndef THEMESCHECK_H
#define THEMESCHECK_H
class ThemesCheck
{
public:
ThemesCheck();
};
#endif // THEMESCHECK_H

View File

@ -0,0 +1,43 @@
#include "themescheck.h"
#include <QDebug>
ThemesCheck::ThemesCheck(QObject *parent) : QObject(parent)
{
}
bool ThemesCheck::checkIconsDir(QString folderPath)
{
//
qDebug()<<"ThemesCheck::checkAllFilesValid(QString folderPath)"<<folderPath;
QDir dir(folderPath);
// 获取当前目录下所有文件及文件夹
QFileInfoList fileList = dir.entryInfoList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
qDebug()<<"fileList------------------" << fileList;
foreach (QFileInfo fileInfo, fileList) {
QString name = fileInfo.fileName();
QString path = fileInfo.absoluteFilePath();
// 判断是否为文件夹
if (fileInfo.isDir()) {
// 递归判断文件夹内所有文件
if (!checkIconsDir(path)) {
return false;
}
}
// 判断文件名是否含有空格
else if (name.contains(" ")) {
return false;
}
// 判断文件格式是否为png或svg
else if (fileInfo.suffix() != "png" && !(fileInfo.suffix() == "svg" && fileInfo.dir().dirName() == "scalable")) {
return false;
}
}
qDebug()<<"yes!!!!!!!!!!";
return true;
}

View File

@ -0,0 +1,22 @@
#ifndef THEMESCHECK_H
#define THEMESCHECK_H
#include "iconthemewidget.h"
#include <QObject>
class ThemesCheck : public QObject
{
Q_OBJECT
public:
explicit ThemesCheck(QObject *parent = nullptr);
static bool checkIconsDir(QString folderPath);
static bool checkCursorDir(QString folderPath);
static bool checkPaperDir(QString folderPath);
signals:
};
#endif // THEMESCHECK_H

View File

@ -0,0 +1,7 @@
#include "wallpaperthemewidget.h"
WallpaperthemeWidget::WallpaperthemeWidget(QWidget *parent) : WidgetBase(parent)
{
this->initThemeLabel("创建桌面壁纸包");
this->initImportButton("导入图片");
}

View File

@ -0,0 +1,18 @@
#ifndef WALLPAPERTHEMEWIDGET_H
#define WALLPAPERTHEMEWIDGET_H
#include "widgetbase.h"
#include <QWidget>
class WallpaperthemeWidget : public WidgetBase
{
Q_OBJECT
public:
explicit WallpaperthemeWidget(QWidget *parent = nullptr);
signals:
};
#endif // WALLPAPERTHEMEWIDGET_H

75
src/baseUI/widgetbase.cpp Normal file
View File

@ -0,0 +1,75 @@
#include "widgetbase.h"
#include <QDebug>
WidgetBase::WidgetBase(QWidget *parent) : QWidget(parent)
{
this->setAutoFillBackground(true);
this->setBackgroundRole(QPalette::Base);
m_allLayout = new QVBoxLayout;
m_headWidget = new QWidget(this);
m_headWidget->setFixedHeight(112);
m_themeLabel = new QLabel(m_headWidget);
// m_themeLabel->setText(QString("创建主题图标"));
m_nameLineEdit = new QLineEdit(m_headWidget);
m_importButton = new QPushButton(m_headWidget);
m_importButton->setFixedSize(QSize(96,36));
// m_importButton->setText(QString("导入图标"));
QVBoxLayout *headlayout = new QVBoxLayout;
headlayout->addWidget(m_themeLabel);
headlayout->addWidget(m_nameLineEdit);
headlayout->addWidget(m_importButton);
m_headWidget->setLayout(headlayout);
m_buttonWidget = new QWidget(this);
m_buttonWidget->setFixedHeight(85);
m_confirmButton = new QPushButton(tr("确认"), m_buttonWidget);
m_backButton = new QPushButton(tr("返回"), m_buttonWidget);
m_buttonLayout = new QHBoxLayout;
m_buttonLayout->addStretch();
m_buttonLayout->addWidget(m_confirmButton);
m_buttonLayout->addWidget(m_backButton);
m_buttonWidget->setLayout(m_buttonLayout);
m_allLayout->addWidget(m_headWidget);
m_allLayout->addStretch(1);
m_allLayout->addWidget(m_buttonWidget);
this->setLayout(m_allLayout);
connect(m_confirmButton, &QPushButton::clicked, this, [=](){
Q_EMIT onConfirmButtonClicked();
});
connect(m_backButton , &QPushButton::clicked, this, [=](){
Q_EMIT onBackButtonClicked();
});
qDebug()<<m_allLayout->indexOf(m_headWidget) << "--" <<m_allLayout->indexOf(m_buttonWidget);
}
WidgetBase::~WidgetBase()
{
delete m_confirmButton;
delete m_backButton;
delete m_buttonLayout;
}
void WidgetBase::initThemeLabel(QString text)
{
if(NULL != text){
m_themeLabel->setText(text);
}
}
void WidgetBase::initImportButton(QString text)
{
if(NULL != text){
m_importButton->setText(text);
}
}

50
src/baseUI/widgetbase.h Normal file
View File

@ -0,0 +1,50 @@
#ifndef WIDGETBASE_H
#define WIDGETBASE_H
#include <QWidget>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QPushButton>
#include <QLabel>
#include <QLineEdit>
#include <QFileDialog>
#include "filecopy.h"
class WidgetBase : public QWidget
{
Q_OBJECT
public:
explicit WidgetBase(QWidget *parent = nullptr);
virtual ~WidgetBase();
void initThemeLabel(QString text);
void initImportButton(QString text);
private slots:
protected:
// virtual void init();
QVBoxLayout *m_allLayout;
QWidget *m_headWidget;
QWidget *m_buttonWidget;
QLineEdit *m_nameLineEdit;
QPushButton *m_importButton;
QLabel *m_themeLabel;
QHBoxLayout *m_buttonLayout;
QPushButton *m_confirmButton;
QPushButton *m_backButton;
signals:
void onConfirmButtonClicked();
void onBackButtonClicked();
private:
};
#endif // WIDGETBASE_H