Merge branch 'master' into git
1
NEWS.md
|
@ -5,6 +5,7 @@
|
||||||
Red Panda C++ Version 0.14.3
|
Red Panda C++ Version 0.14.3
|
||||||
- fix: wrong code completion font size, when screen dpi changed
|
- fix: wrong code completion font size, when screen dpi changed
|
||||||
- enhancement: replace Files View Panel's path lineedit control with combo box
|
- enhancement: replace Files View Panel's path lineedit control with combo box
|
||||||
|
- enhancement: custome icons for project view
|
||||||
|
|
||||||
Red Panda C++ Version 0.14.2
|
Red Panda C++ Version 0.14.2
|
||||||
- enhancement: file system view mode for project
|
- enhancement: file system view mode for project
|
||||||
|
|
|
@ -10,7 +10,7 @@ isEmpty(APP_NAME) {
|
||||||
}
|
}
|
||||||
|
|
||||||
isEmpty(APP_VERSION) {
|
isEmpty(APP_VERSION) {
|
||||||
APP_VERSION=0.14.2
|
APP_VERSION=0.14.3
|
||||||
}
|
}
|
||||||
|
|
||||||
isEmpty(PREFIX) {
|
isEmpty(PREFIX) {
|
||||||
|
@ -40,6 +40,7 @@ SOURCES += \
|
||||||
compiler/ojproblemcasesrunner.cpp \
|
compiler/ojproblemcasesrunner.cpp \
|
||||||
compiler/projectcompiler.cpp \
|
compiler/projectcompiler.cpp \
|
||||||
compiler/runner.cpp \
|
compiler/runner.cpp \
|
||||||
|
customfileiconprovider.cpp \
|
||||||
gdbmiresultparser.cpp \
|
gdbmiresultparser.cpp \
|
||||||
platform.cpp \
|
platform.cpp \
|
||||||
compiler/compiler.cpp \
|
compiler/compiler.cpp \
|
||||||
|
@ -176,6 +177,7 @@ HEADERS += \
|
||||||
compiler/runner.h \
|
compiler/runner.h \
|
||||||
compiler/stdincompiler.h \
|
compiler/stdincompiler.h \
|
||||||
cpprefacter.h \
|
cpprefacter.h \
|
||||||
|
customfileiconprovider.h \
|
||||||
gdbmiresultparser.h \
|
gdbmiresultparser.h \
|
||||||
parser/cppparser.h \
|
parser/cppparser.h \
|
||||||
parser/cpppreprocessor.h \
|
parser/cpppreprocessor.h \
|
||||||
|
|
|
@ -178,7 +178,7 @@ void CppRefacter::doFindOccurenceInProject(PStatement statement, std::shared_ptr
|
||||||
SearchFileScope::wholeProject
|
SearchFileScope::wholeProject
|
||||||
);
|
);
|
||||||
foreach (const PProjectUnit& unit, project->units()) {
|
foreach (const PProjectUnit& unit, project->units()) {
|
||||||
if (isCfile(unit->fileName()) || isHfile(unit->fileName())) {
|
if (isCFile(unit->fileName()) || isHFile(unit->fileName())) {
|
||||||
PSearchResultTreeItem item = findOccurenceInFile(
|
PSearchResultTreeItem item = findOccurenceInFile(
|
||||||
unit->fileName(),
|
unit->fileName(),
|
||||||
statement,
|
statement,
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
#include "customfileiconprovider.h"
|
||||||
|
#include "iconsmanager.h"
|
||||||
|
|
||||||
|
CustomFileIconProvider::CustomFileIconProvider()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
QIcon CustomFileIconProvider::icon(IconType type) const
|
||||||
|
{
|
||||||
|
if (type == IconType::Folder) {
|
||||||
|
QIcon icon = pIconsManager->getIcon(IconsManager::FILESYSTEM_FOLDER);
|
||||||
|
if (!icon.isNull())
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
return QFileIconProvider::icon(type);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
QIcon CustomFileIconProvider::icon(const QFileInfo &info) const
|
||||||
|
{
|
||||||
|
QIcon icon;
|
||||||
|
if (isHFile(info.fileName()))
|
||||||
|
icon = pIconsManager->getIcon(IconsManager::FILESYSTEM_HFILE);
|
||||||
|
else if (isCppFile(info.fileName())) {
|
||||||
|
icon = pIconsManager->getIcon(IconsManager::FILESYSTEM_CPPFILE);
|
||||||
|
} else if (isCFile(info.fileName())) {
|
||||||
|
icon = pIconsManager->getIcon(IconsManager::FILESYSTEM_CFILE);
|
||||||
|
} else if (info.suffix()=="dev") {
|
||||||
|
icon = pIconsManager->getIcon(IconsManager::FILESYSTEM_PROJECTFILE);
|
||||||
|
}
|
||||||
|
if (!icon.isNull())
|
||||||
|
return icon;
|
||||||
|
return QFileIconProvider::icon(info);
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
#ifndef CUSTOMFILEICONPROVIDER_H
|
||||||
|
#define CUSTOMFILEICONPROVIDER_H
|
||||||
|
|
||||||
|
#include <QFileIconProvider>
|
||||||
|
|
||||||
|
class CustomFileIconProvider : public QFileIconProvider
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CustomFileIconProvider();
|
||||||
|
|
||||||
|
// QFileIconProvider interface
|
||||||
|
public:
|
||||||
|
QIcon icon(IconType type) const override;
|
||||||
|
QIcon icon(const QFileInfo &info) const override;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // CUSTOMFILEICONPROVIDER_H
|
|
@ -180,6 +180,14 @@ void IconsManager::updateFileSystemIcons(const QString &iconSet, int size)
|
||||||
QString iconFolder = mIconSetTemplate.arg( iconSetsFolder(),iconSet,"filesystem");
|
QString iconFolder = mIconSetTemplate.arg( iconSetsFolder(),iconSet,"filesystem");
|
||||||
updateMakeDisabledIconDarker(iconSet);
|
updateMakeDisabledIconDarker(iconSet);
|
||||||
mIconPixmaps.insert(FILESYSTEM_GIT, createSVGIcon(iconFolder+"git.svg",size,size));
|
mIconPixmaps.insert(FILESYSTEM_GIT, createSVGIcon(iconFolder+"git.svg",size,size));
|
||||||
|
mIconPixmaps.insert(FILESYSTEM_FOLDER, createSVGIcon(iconFolder+"folder.svg",size,size));
|
||||||
|
mIconPixmaps.insert(FILESYSTEM_FILE, createSVGIcon(iconFolder+"file.svg",size,size));
|
||||||
|
mIconPixmaps.insert(FILESYSTEM_CFILE, createSVGIcon(iconFolder+"cfile.svg",size,size));
|
||||||
|
mIconPixmaps.insert(FILESYSTEM_HFILE, createSVGIcon(iconFolder+"hfile.svg",size,size));
|
||||||
|
mIconPixmaps.insert(FILESYSTEM_CPPFILE, createSVGIcon(iconFolder+"cppfile.svg",size,size));
|
||||||
|
mIconPixmaps.insert(FILESYSTEM_PROJECTFILE, createSVGIcon(iconFolder+"projectfile.svg",size,size));
|
||||||
|
mIconPixmaps.insert(FILESYSTEM_HEADERS_FOLDER, createSVGIcon(iconFolder+"headerfolder.svg",size,size));
|
||||||
|
mIconPixmaps.insert(FILESYSTEM_SOURCES_FOLDER, createSVGIcon(iconFolder+"sourcefolder.svg",size,size));
|
||||||
}
|
}
|
||||||
|
|
||||||
IconsManager::PPixmap IconsManager::getPixmap(IconName iconName) const
|
IconsManager::PPixmap IconsManager::getPixmap(IconName iconName) const
|
||||||
|
@ -187,14 +195,17 @@ IconsManager::PPixmap IconsManager::getPixmap(IconName iconName) const
|
||||||
return mIconPixmaps.value(iconName, mDefaultIconPixmap);
|
return mIconPixmaps.value(iconName, mDefaultIconPixmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
QIcon IconsManager::getIcon(IconName iconName) const
|
QIcon IconsManager:: getIcon(IconName iconName) const
|
||||||
{
|
{
|
||||||
|
PPixmap pixmap = getPixmap(iconName);
|
||||||
|
if (pixmap == mDefaultIconPixmap)
|
||||||
|
return QIcon();
|
||||||
if (mMakeDisabledIconDarker) {
|
if (mMakeDisabledIconDarker) {
|
||||||
QIcon icon(new CustomDisabledIconEngine());
|
QIcon icon(new CustomDisabledIconEngine());
|
||||||
icon.addPixmap(*getPixmap(iconName));
|
icon.addPixmap(*pixmap);
|
||||||
return icon;
|
return icon;
|
||||||
} else
|
} else
|
||||||
return QIcon(*getPixmap(iconName));
|
return QIcon(*pixmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IconsManager::setIcon(QToolButton *btn, IconName iconName) const
|
void IconsManager::setIcon(QToolButton *btn, IconName iconName) const
|
||||||
|
@ -212,6 +223,8 @@ void IconsManager::setIcon(QPushButton *btn, IconName iconName) const
|
||||||
IconsManager::PPixmap IconsManager::createSVGIcon(const QString &filename, int width, int height)
|
IconsManager::PPixmap IconsManager::createSVGIcon(const QString &filename, int width, int height)
|
||||||
{
|
{
|
||||||
QSvgRenderer renderer(filename);
|
QSvgRenderer renderer(filename);
|
||||||
|
if (!renderer.isValid())
|
||||||
|
return mDefaultIconPixmap;
|
||||||
PPixmap icon = std::make_shared<QPixmap>(width,height);
|
PPixmap icon = std::make_shared<QPixmap>(width,height);
|
||||||
icon->fill(Qt::transparent);
|
icon->fill(Qt::transparent);
|
||||||
QPainter painter(icon.get());
|
QPainter painter(icon.get());
|
||||||
|
|
|
@ -66,6 +66,15 @@ public:
|
||||||
PARSER_LOCAL_VAR,
|
PARSER_LOCAL_VAR,
|
||||||
|
|
||||||
FILESYSTEM_GIT,
|
FILESYSTEM_GIT,
|
||||||
|
FILESYSTEM_FOLDER,
|
||||||
|
FILESYSTEM_FILE,
|
||||||
|
FILESYSTEM_CFILE,
|
||||||
|
FILESYSTEM_HFILE,
|
||||||
|
FILESYSTEM_PROJECTFILE,
|
||||||
|
FILESYSTEM_CPPFILE,
|
||||||
|
FILESYSTEM_HEADERS_FOLDER,
|
||||||
|
FILESYSTEM_SOURCES_FOLDER,
|
||||||
|
|
||||||
|
|
||||||
ACTION_MISC_BACK,
|
ACTION_MISC_BACK,
|
||||||
ACTION_MISC_FORWARD,
|
ACTION_MISC_FORWARD,
|
||||||
|
|
|
@ -287,6 +287,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||||
//files view
|
//files view
|
||||||
ui->treeFiles->setModel(&mFileSystemModel);
|
ui->treeFiles->setModel(&mFileSystemModel);
|
||||||
mFileSystemModel.setReadOnly(false);
|
mFileSystemModel.setReadOnly(false);
|
||||||
|
mFileSystemModel.setIconProvider(&mFileIconProvider);
|
||||||
setFilesViewRoot(pSettings->environment().currentFolder());
|
setFilesViewRoot(pSettings->environment().currentFolder());
|
||||||
for (int i=1;i<mFileSystemModel.columnCount();i++) {
|
for (int i=1;i<mFileSystemModel.columnCount();i++) {
|
||||||
ui->treeFiles->hideColumn(i);
|
ui->treeFiles->hideColumn(i);
|
||||||
|
|
|
@ -38,6 +38,7 @@
|
||||||
#include "widgets/labelwithmenu.h"
|
#include "widgets/labelwithmenu.h"
|
||||||
#include "widgets/bookmarkmodel.h"
|
#include "widgets/bookmarkmodel.h"
|
||||||
#include "widgets/ojproblemsetmodel.h"
|
#include "widgets/ojproblemsetmodel.h"
|
||||||
|
#include "customfileiconprovider.h"
|
||||||
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
@ -615,6 +616,7 @@ private:
|
||||||
PTodoParser mTodoParser;
|
PTodoParser mTodoParser;
|
||||||
PToolsManager mToolsManager;
|
PToolsManager mToolsManager;
|
||||||
QFileSystemModel mFileSystemModel;
|
QFileSystemModel mFileSystemModel;
|
||||||
|
CustomFileIconProvider mFileIconProvider;
|
||||||
OJProblemSetModel mOJProblemSetModel;
|
OJProblemSetModel mOJProblemSetModel;
|
||||||
OJProblemModel mOJProblemModel;
|
OJProblemModel mOJProblemModel;
|
||||||
int mOJProblemSetNameCounter;
|
int mOJProblemSetNameCounter;
|
||||||
|
|
|
@ -752,7 +752,7 @@ void CppParser::parseFile(const QString &fileName, bool inProject, bool onlyIfNo
|
||||||
|
|
||||||
// parse header files in the first parse
|
// parse header files in the first parse
|
||||||
foreach (const QString& file,files) {
|
foreach (const QString& file,files) {
|
||||||
if (isHfile(file)) {
|
if (isHFile(file)) {
|
||||||
mFilesScannedCount++;
|
mFilesScannedCount++;
|
||||||
emit onProgress(file,mFilesToScanCount,mFilesScannedCount);
|
emit onProgress(file,mFilesToScanCount,mFilesScannedCount);
|
||||||
if (!mPreprocessor.scannedFiles().contains(file)) {
|
if (!mPreprocessor.scannedFiles().contains(file)) {
|
||||||
|
@ -762,7 +762,7 @@ void CppParser::parseFile(const QString &fileName, bool inProject, bool onlyIfNo
|
||||||
}
|
}
|
||||||
//we only parse CFile in the second parse
|
//we only parse CFile in the second parse
|
||||||
foreach (const QString& file,files) {
|
foreach (const QString& file,files) {
|
||||||
if (!isHfile(file)) {
|
if (!isHFile(file)) {
|
||||||
mFilesScannedCount++;
|
mFilesScannedCount++;
|
||||||
emit onProgress(file,mFilesToScanCount,mFilesScannedCount);
|
emit onProgress(file,mFilesToScanCount,mFilesScannedCount);
|
||||||
if (!mPreprocessor.scannedFiles().contains(file)) {
|
if (!mPreprocessor.scannedFiles().contains(file)) {
|
||||||
|
@ -800,7 +800,7 @@ void CppParser::parseFileList(bool updateView)
|
||||||
mFilesToScanCount = mFilesToScan.count();
|
mFilesToScanCount = mFilesToScan.count();
|
||||||
// parse header files in the first parse
|
// parse header files in the first parse
|
||||||
foreach (const QString& file, mFilesToScan) {
|
foreach (const QString& file, mFilesToScan) {
|
||||||
if (isHfile(file)) {
|
if (isHFile(file)) {
|
||||||
mFilesScannedCount++;
|
mFilesScannedCount++;
|
||||||
emit onProgress(mCurrentFile,mFilesToScanCount,mFilesScannedCount);
|
emit onProgress(mCurrentFile,mFilesToScanCount,mFilesScannedCount);
|
||||||
if (!mPreprocessor.scannedFiles().contains(file)) {
|
if (!mPreprocessor.scannedFiles().contains(file)) {
|
||||||
|
@ -810,7 +810,7 @@ void CppParser::parseFileList(bool updateView)
|
||||||
}
|
}
|
||||||
//we only parse CFile in the second parse
|
//we only parse CFile in the second parse
|
||||||
foreach (const QString& file,mFilesToScan) {
|
foreach (const QString& file,mFilesToScan) {
|
||||||
if (isCfile(file)) {
|
if (isCFile(file)) {
|
||||||
mFilesScannedCount++;
|
mFilesScannedCount++;
|
||||||
emit onProgress(mCurrentFile,mFilesToScanCount,mFilesScannedCount);
|
emit onProgress(mCurrentFile,mFilesToScanCount,mFilesScannedCount);
|
||||||
if (!mPreprocessor.scannedFiles().contains(file)) {
|
if (!mPreprocessor.scannedFiles().contains(file)) {
|
||||||
|
@ -2496,7 +2496,7 @@ void CppParser::handlePreprocessor()
|
||||||
if (delimPos>=0) {
|
if (delimPos>=0) {
|
||||||
mCurrentFile = s.mid(0,delimPos);
|
mCurrentFile = s.mid(0,delimPos);
|
||||||
mIsSystemHeader = isSystemHeaderFile(mCurrentFile) || isProjectHeaderFile(mCurrentFile);
|
mIsSystemHeader = isSystemHeaderFile(mCurrentFile) || isProjectHeaderFile(mCurrentFile);
|
||||||
mIsProjectFile = mProjectFiles.contains(mCurrentFile); mIsHeader = isHfile(mCurrentFile);
|
mIsProjectFile = mProjectFiles.contains(mCurrentFile); mIsHeader = isHFile(mCurrentFile);
|
||||||
|
|
||||||
// Mention progress to user if we enter a NEW file
|
// Mention progress to user if we enter a NEW file
|
||||||
bool ok;
|
bool ok;
|
||||||
|
|
|
@ -418,7 +418,7 @@ bool isCppKeyword(const QString &word)
|
||||||
return CppKeywords.contains(word);
|
return CppKeywords.contains(word);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isHfile(const QString& filename)
|
bool isHFile(const QString& filename)
|
||||||
{
|
{
|
||||||
if (filename.isEmpty())
|
if (filename.isEmpty())
|
||||||
return false;
|
return false;
|
||||||
|
@ -428,7 +428,7 @@ bool isHfile(const QString& filename)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isCfile(const QString& filename)
|
bool isCFile(const QString& filename)
|
||||||
{
|
{
|
||||||
if (filename.isEmpty())
|
if (filename.isEmpty())
|
||||||
return false;
|
return false;
|
||||||
|
@ -614,3 +614,10 @@ StatementKind getKindOfStatement(const PStatement& statement)
|
||||||
}
|
}
|
||||||
return statement->kind;
|
return statement->kind;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool isCppFile(const QString &filename)
|
||||||
|
{
|
||||||
|
if (isCFile(filename) && !filename.endsWith(".c"))
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
|
@ -264,8 +264,9 @@ QString getLocalHeaderFilename(const QString& relativeTo, const QString& fileNam
|
||||||
|
|
||||||
QString getSystemHeaderFilename(const QString& fileName, const QStringList& includePaths);
|
QString getSystemHeaderFilename(const QString& fileName, const QStringList& includePaths);
|
||||||
bool isSystemHeaderFile(const QString& fileName, const QSet<QString>& includePaths);
|
bool isSystemHeaderFile(const QString& fileName, const QSet<QString>& includePaths);
|
||||||
bool isHfile(const QString& filename);
|
bool isHFile(const QString& filename);
|
||||||
bool isCfile(const QString& filename);
|
bool isCFile(const QString& filename);
|
||||||
|
bool isCppFile(const QString& filename);
|
||||||
bool isCppKeyword(const QString& word);
|
bool isCppKeyword(const QString& word);
|
||||||
bool isScopeTypeKind(StatementKind kind);
|
bool isScopeTypeKind(StatementKind kind);
|
||||||
MemberOperatorType getOperatorType(const QString& phrase, int index);
|
MemberOperatorType getOperatorType(const QString& phrase, int index);
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QTextCodec>
|
#include <QTextCodec>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QFileIconProvider>
|
#include "customfileiconprovider.h"
|
||||||
#include <QMimeData>
|
#include <QMimeData>
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
|
||||||
|
@ -222,6 +222,9 @@ PProjectModelNode Project::makeNewFileNode(const QString &s, bool isFolder, PPro
|
||||||
if (isFolder) {
|
if (isFolder) {
|
||||||
node->unitIndex = -1;
|
node->unitIndex = -1;
|
||||||
node->priority = 0;
|
node->priority = 0;
|
||||||
|
node->folderNodeType = ProjectSpecialFolderNode::NonSpecial;
|
||||||
|
} else {
|
||||||
|
node->folderNodeType = ProjectSpecialFolderNode::NotFolder;
|
||||||
}
|
}
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
@ -232,6 +235,7 @@ PProjectModelNode Project::makeProjectNode()
|
||||||
node->text = mName;
|
node->text = mName;
|
||||||
node->level = 0;
|
node->level = 0;
|
||||||
node->unitIndex = -1;
|
node->unitIndex = -1;
|
||||||
|
node->folderNodeType = ProjectSpecialFolderNode::NonSpecial;
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1276,20 +1280,23 @@ void Project::createFolderNodes()
|
||||||
void Project::createFileSystemFolderNodes()
|
void Project::createFileSystemFolderNodes()
|
||||||
{
|
{
|
||||||
PProjectModelNode node = makeNewFileNode(tr("Headers"),true,mRootNode);
|
PProjectModelNode node = makeNewFileNode(tr("Headers"),true,mRootNode);
|
||||||
createFileSystemFolderNode(ProjectSpecialFolderNode::HEADERS,folder(),node);
|
node->folderNodeType = ProjectSpecialFolderNode::HEADERS;
|
||||||
node->priority = 1000;
|
node->priority = 1000;
|
||||||
|
createFileSystemFolderNode(ProjectSpecialFolderNode::HEADERS,folder(),node);
|
||||||
mFolderNodes.append(node);
|
mFolderNodes.append(node);
|
||||||
mSpecialNodes.insert(ProjectSpecialFolderNode::HEADERS,node);
|
mSpecialNodes.insert(ProjectSpecialFolderNode::HEADERS,node);
|
||||||
|
|
||||||
node = makeNewFileNode(tr("Sources"),true,mRootNode);
|
node = makeNewFileNode(tr("Sources"),true,mRootNode);
|
||||||
createFileSystemFolderNode(ProjectSpecialFolderNode::SOURCES,folder(),node);
|
node->folderNodeType = ProjectSpecialFolderNode::SOURCES;
|
||||||
node->priority = 900;
|
node->priority = 900;
|
||||||
|
createFileSystemFolderNode(ProjectSpecialFolderNode::SOURCES,folder(),node);
|
||||||
mFolderNodes.append(node);
|
mFolderNodes.append(node);
|
||||||
mSpecialNodes.insert(ProjectSpecialFolderNode::SOURCES,node);
|
mSpecialNodes.insert(ProjectSpecialFolderNode::SOURCES,node);
|
||||||
|
|
||||||
node = makeNewFileNode(tr("Others"),true,mRootNode);
|
node = makeNewFileNode(tr("Others"),true,mRootNode);
|
||||||
createFileSystemFolderNode(ProjectSpecialFolderNode::OTHERS,folder(),node);
|
node->folderNodeType = ProjectSpecialFolderNode::OTHERS;
|
||||||
node->priority = 800;
|
node->priority = 800;
|
||||||
|
createFileSystemFolderNode(ProjectSpecialFolderNode::OTHERS,folder(),node);
|
||||||
mFolderNodes.append(node);
|
mFolderNodes.append(node);
|
||||||
mSpecialNodes.insert(ProjectSpecialFolderNode::OTHERS,node);
|
mSpecialNodes.insert(ProjectSpecialFolderNode::OTHERS,node);
|
||||||
}
|
}
|
||||||
|
@ -1387,9 +1394,9 @@ PProjectModelNode Project::getParentFolderNode(const QString &filename)
|
||||||
{
|
{
|
||||||
QFileInfo fileInfo(filename);
|
QFileInfo fileInfo(filename);
|
||||||
ProjectSpecialFolderNode folderNodeType;
|
ProjectSpecialFolderNode folderNodeType;
|
||||||
if (isHfile(fileInfo.fileName())) {
|
if (isHFile(fileInfo.fileName())) {
|
||||||
folderNodeType = ProjectSpecialFolderNode::HEADERS;
|
folderNodeType = ProjectSpecialFolderNode::HEADERS;
|
||||||
} else if (isCfile(fileInfo.fileName())) {
|
} else if (isCFile(fileInfo.fileName())) {
|
||||||
folderNodeType = ProjectSpecialFolderNode::SOURCES;
|
folderNodeType = ProjectSpecialFolderNode::SOURCES;
|
||||||
} else {
|
} else {
|
||||||
folderNodeType = ProjectSpecialFolderNode::OTHERS;
|
folderNodeType = ProjectSpecialFolderNode::OTHERS;
|
||||||
|
@ -1976,15 +1983,25 @@ QVariant ProjectModel::data(const QModelIndex &index, int role) const
|
||||||
if (role == Qt::DisplayRole || role==Qt::EditRole) {
|
if (role == Qt::DisplayRole || role==Qt::EditRole) {
|
||||||
return p->text;
|
return p->text;
|
||||||
} else if (role == Qt::DecorationRole) {
|
} else if (role == Qt::DecorationRole) {
|
||||||
QFileIconProvider provider;
|
CustomFileIconProvider provider;
|
||||||
|
QIcon icon;
|
||||||
if (p->unitIndex>=0) {
|
if (p->unitIndex>=0) {
|
||||||
return provider.icon(mProject->units()[p->unitIndex]->fileName());
|
icon = provider.icon(mProject->units()[p->unitIndex]->fileName());
|
||||||
} else {
|
} else {
|
||||||
QIcon icon = provider.icon(QFileIconProvider::Folder);
|
switch(p->folderNodeType) {
|
||||||
if (icon.isNull())
|
case ProjectSpecialFolderNode::HEADERS:
|
||||||
return pIconsManager->getIcon(IconsManager::ACTION_MISC_FOLDER);
|
icon = pIconsManager->getIcon(IconsManager::FILESYSTEM_HEADERS_FOLDER);
|
||||||
return icon;
|
break;
|
||||||
|
case ProjectSpecialFolderNode::SOURCES:
|
||||||
|
icon = pIconsManager->getIcon(IconsManager::FILESYSTEM_SOURCES_FOLDER);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
icon = pIconsManager->getIcon(IconsManager::FILESYSTEM_FOLDER);
|
||||||
}
|
}
|
||||||
|
if (icon.isNull())
|
||||||
|
icon = provider.icon(QFileIconProvider::Folder);
|
||||||
|
}
|
||||||
|
return icon;
|
||||||
}
|
}
|
||||||
return QVariant();
|
return QVariant();
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,15 @@ class Project;
|
||||||
class Editor;
|
class Editor;
|
||||||
class CppParser;
|
class CppParser;
|
||||||
|
|
||||||
|
|
||||||
|
enum ProjectSpecialFolderNode {
|
||||||
|
HEADERS,
|
||||||
|
SOURCES,
|
||||||
|
OTHERS,
|
||||||
|
NonSpecial,
|
||||||
|
NotFolder
|
||||||
|
};
|
||||||
|
|
||||||
struct ProjectModelNode;
|
struct ProjectModelNode;
|
||||||
using PProjectModelNode = std::shared_ptr<ProjectModelNode>;
|
using PProjectModelNode = std::shared_ptr<ProjectModelNode>;
|
||||||
struct ProjectModelNode {
|
struct ProjectModelNode {
|
||||||
|
@ -35,6 +44,7 @@ struct ProjectModelNode {
|
||||||
int unitIndex;
|
int unitIndex;
|
||||||
int priority;
|
int priority;
|
||||||
QList<PProjectModelNode> children;
|
QList<PProjectModelNode> children;
|
||||||
|
ProjectSpecialFolderNode folderNodeType;
|
||||||
int level;
|
int level;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -133,12 +143,6 @@ protected:
|
||||||
bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const override;
|
bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ProjectSpecialFolderNode {
|
|
||||||
HEADERS,
|
|
||||||
SOURCES,
|
|
||||||
OTHERS,
|
|
||||||
NonSpecial
|
|
||||||
};
|
|
||||||
|
|
||||||
class ProjectTemplate;
|
class ProjectTemplate;
|
||||||
class Project : public QObject
|
class Project : public QObject
|
||||||
|
|
|
@ -1244,7 +1244,7 @@ BufferCoord SynEdit::getPreviousLeftBrace(int x, int y)
|
||||||
|
|
||||||
int SynEdit::charColumns(QChar ch) const
|
int SynEdit::charColumns(QChar ch) const
|
||||||
{
|
{
|
||||||
if (ch == ' ' || ch == '\t')
|
if (ch.unicode()<=32)
|
||||||
return 1;
|
return 1;
|
||||||
//return std::ceil((int)(fontMetrics().horizontalAdvance(ch) * dpiFactor()) / (double)mCharWidth);
|
//return std::ceil((int)(fontMetrics().horizontalAdvance(ch) * dpiFactor()) / (double)mCharWidth);
|
||||||
return std::ceil((int)(fontMetrics().horizontalAdvance(ch)) / (double)mCharWidth);
|
return std::ceil((int)(fontMetrics().horizontalAdvance(ch)) / (double)mCharWidth);
|
||||||
|
|
|
@ -0,0 +1,108 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="100"
|
||||||
|
height="100"
|
||||||
|
viewBox="0 0 26.458333 26.458333"
|
||||||
|
version="1.1"
|
||||||
|
id="svg5"
|
||||||
|
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
|
||||||
|
sodipodi:docname="cfile.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview7"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.72337263"
|
||||||
|
inkscape:cx="309.6606"
|
||||||
|
inkscape:cy="252.29044"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1001"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
units="px"
|
||||||
|
width="100px" />
|
||||||
|
<defs
|
||||||
|
id="defs2">
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient1420">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#e0e0e0;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop1416" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop1418" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient3056"
|
||||||
|
inkscape:swatch="gradient">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#45c200;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop826" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#53e900;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop828" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient3056-2">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#45c200;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop3052" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#5fff07;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop3054" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient1420"
|
||||||
|
id="linearGradient1422"
|
||||||
|
x1="7.8442378"
|
||||||
|
y1="11.269956"
|
||||||
|
x2="1.9260681"
|
||||||
|
y2="11.269956"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
inkscape:label="图层 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<g
|
||||||
|
id="g1755"
|
||||||
|
transform="matrix(1.1063575,0,0,1.1063575,-1.4148159,-1.417466)">
|
||||||
|
<path
|
||||||
|
id="rect848-1"
|
||||||
|
style="fill:url(#linearGradient1422);stroke:#000000;stroke-width:0.721591"
|
||||||
|
transform="matrix(1.1,0,0,1.1,2.6932117,0.93042432)"
|
||||||
|
d="M 1.8840514,1.3039001 H 12.125786 l 5.237068,5.830555 0.04157,14.1015569 H 1.8840514 Z"
|
||||||
|
sodipodi:nodetypes="cccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 16.031576,2.3647144 -0.02942,6.3678902 5.790196,0.04572"
|
||||||
|
id="path1641" />
|
||||||
|
</g>
|
||||||
|
<path
|
||||||
|
id="text2970"
|
||||||
|
style="font-size:11.2889px;line-height:1.25;font-family:sans-serif;fill:#2c4dff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
d="m 17.871271,15.28627 c -1.887338,0.06652 -3.603074,1.494063 -3.936045,3.365551 -0.463087,2.059085 0.04847,4.673412 2.097612,5.688699 1.792494,0.883972 3.920067,0.474864 5.615777,-0.439016 0,-0.716797 0,-1.433594 0,-2.150391 -0.618766,-0.132261 -1.068817,0.159596 -1.511718,0.554688 -1.184225,0.780728 -3.207312,0.799329 -3.851563,-0.685547 -0.52169,-1.285789 -0.483042,-3.088664 0.697266,-4.001953 1.247706,-0.776543 2.871086,-0.204218 3.873047,0.726562 0.794598,0.220511 0.900162,-0.248015 0.792968,-0.929297 -0.07567,-0.539614 0.278173,-1.350029 -0.481253,-1.457679 -1.015934,-0.506562 -2.16004,-0.763802 -3.296091,-0.671617 z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.9 KiB |
|
@ -0,0 +1,132 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="100"
|
||||||
|
height="100"
|
||||||
|
viewBox="0 0 26.458333 26.458333"
|
||||||
|
version="1.1"
|
||||||
|
id="svg5"
|
||||||
|
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
|
||||||
|
sodipodi:docname="cppfile.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview7"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.36168631"
|
||||||
|
inkscape:cx="-500.43364"
|
||||||
|
inkscape:cy="153.44789"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1001"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
units="px"
|
||||||
|
width="100px" />
|
||||||
|
<defs
|
||||||
|
id="defs2">
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient1420">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#e0e0e0;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop1416" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop1418" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient3056"
|
||||||
|
inkscape:swatch="gradient">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#45c200;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop826" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#53e900;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop828" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient3056-2">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#45c200;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop3052" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#5fff07;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop3054" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient1420"
|
||||||
|
id="linearGradient1422"
|
||||||
|
x1="7.8442378"
|
||||||
|
y1="11.269956"
|
||||||
|
x2="1.9260681"
|
||||||
|
y2="11.269956"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
inkscape:label="图层 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<g
|
||||||
|
id="g1755"
|
||||||
|
transform="matrix(1.1063575,0,0,1.1063575,-1.4148159,-1.417466)">
|
||||||
|
<path
|
||||||
|
id="rect848-1"
|
||||||
|
style="fill:url(#linearGradient1422);stroke:#000000;stroke-width:0.721591"
|
||||||
|
transform="matrix(1.1,0,0,1.1,2.6932117,0.93042432)"
|
||||||
|
d="M 1.8840514,1.3039001 H 12.125786 l 5.237068,5.830555 0.04157,14.1015569 H 1.8840514 Z"
|
||||||
|
sodipodi:nodetypes="cccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 16.031576,2.3647144 -0.02942,6.3678902 5.790196,0.04572"
|
||||||
|
id="path1641" />
|
||||||
|
</g>
|
||||||
|
<path
|
||||||
|
id="text2970"
|
||||||
|
style="font-size:11.2889px;line-height:1.25;font-family:sans-serif;fill:#2c4dff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
d="m 14.167102,15.28627 c -1.887338,0.06652 -3.603074,1.494063 -3.936045,3.365551 -0.4630867,2.059085 0.04847,4.673412 2.097612,5.688699 1.792494,0.883972 3.920067,0.474864 5.615777,-0.439016 0,-0.716797 0,-1.433594 0,-2.150391 -0.618766,-0.132261 -1.068817,0.159596 -1.511718,0.554688 -1.184225,0.780728 -3.207312,0.799329 -3.851563,-0.685547 -0.52169,-1.285789 -0.483042,-3.088664 0.697266,-4.001953 1.247706,-0.776543 2.871086,-0.204218 3.873047,0.726562 0.794598,0.220511 0.900162,-0.248015 0.792968,-0.929297 -0.07567,-0.539614 0.278173,-1.350029 -0.481253,-1.457679 -1.015934,-0.506562 -2.16004,-0.763802 -3.296091,-0.671617 z" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:10.0971px;line-height:1.25;font-family:sans-serif;stroke-width:0.23665"
|
||||||
|
x="18.716648"
|
||||||
|
y="21.428247"
|
||||||
|
id="text11617"
|
||||||
|
transform="scale(0.89442719,1.118034)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan11615"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:10.0971px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code Bold';fill:#3f53ff;fill-opacity:1;stroke-width:0.23665"
|
||||||
|
x="18.716648"
|
||||||
|
y="21.428247">+</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:10.0971px;line-height:1.25;font-family:sans-serif;stroke-width:0.23665"
|
||||||
|
x="24.291918"
|
||||||
|
y="21.393011"
|
||||||
|
id="text11617-3"
|
||||||
|
transform="scale(0.89442719,1.118034)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan11615-1"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:10.0971px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code Bold';fill:#3f53ff;fill-opacity:1;stroke-width:0.23665"
|
||||||
|
x="24.291918"
|
||||||
|
y="21.393011">+</tspan></text>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 5.1 KiB |
|
@ -0,0 +1,104 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="100"
|
||||||
|
height="100"
|
||||||
|
viewBox="0 0 26.458333 26.458333"
|
||||||
|
version="1.1"
|
||||||
|
id="svg5"
|
||||||
|
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
|
||||||
|
sodipodi:docname="01File-01New.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview7"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="5.786981"
|
||||||
|
inkscape:cx="21.427407"
|
||||||
|
inkscape:cy="58.147763"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1001"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
units="px"
|
||||||
|
width="100px" />
|
||||||
|
<defs
|
||||||
|
id="defs2">
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient1420">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#e0e0e0;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop1416" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop1418" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient3056"
|
||||||
|
inkscape:swatch="gradient">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#45c200;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop826" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#53e900;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop828" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient3056-2">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#45c200;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop3052" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#5fff07;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop3054" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient1420"
|
||||||
|
id="linearGradient1422"
|
||||||
|
x1="7.8442378"
|
||||||
|
y1="11.269956"
|
||||||
|
x2="1.9260681"
|
||||||
|
y2="11.269956"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
inkscape:label="图层 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<g
|
||||||
|
id="g1755"
|
||||||
|
transform="matrix(1.1063575,0,0,1.1063575,-1.4148159,-1.417466)">
|
||||||
|
<path
|
||||||
|
id="rect848-1"
|
||||||
|
style="fill:url(#linearGradient1422);stroke:#000000;stroke-width:0.721591"
|
||||||
|
transform="matrix(1.1,0,0,1.1,2.6932117,0.93042432)"
|
||||||
|
d="M 1.8840514,1.3039001 H 12.125786 l 5.237068,5.830555 0.04157,14.1015569 H 1.8840514 Z"
|
||||||
|
sodipodi:nodetypes="cccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 16.031576,2.3647144 -0.02942,6.3678902 5.790196,0.04572"
|
||||||
|
id="path1641" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.1 KiB |
|
@ -0,0 +1,78 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="100"
|
||||||
|
height="100"
|
||||||
|
viewBox="0 0 26.458333 26.458333"
|
||||||
|
version="1.1"
|
||||||
|
id="svg5"
|
||||||
|
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
|
||||||
|
sodipodi:docname="folder.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview7"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="2.8934905"
|
||||||
|
inkscape:cx="136.85893"
|
||||||
|
inkscape:cy="3.6288351"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1001"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
units="px"
|
||||||
|
width="100px" />
|
||||||
|
<defs
|
||||||
|
id="defs2">
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient3056"
|
||||||
|
inkscape:swatch="gradient">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#45c200;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop826" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#53e900;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop828" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient3056-2">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#45c200;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop3052" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#5fff07;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop3054" />
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
inkscape:label="图层 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
id="rect934"
|
||||||
|
style="fill:#fcbc4c;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
d="m 21.841622,20.018092 0.02129,-5.348279 c -0.02157,-1.176532 -1.20298,-1.844222 -2.462226,-1.92922 l -0.0078,-10.881251 c 0.06287,-0.93528202 0.02037,-0.88955502 -0.860969,-0.88955502 H 5.0236538 V 21.743666 L 19.214695,21.70355 c 1.6677,-0.09916 2.57977,-0.603319 2.626927,-1.685458 z"
|
||||||
|
sodipodi:nodetypes="ccccccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#fdd99b;fill-opacity:1;stroke:#000000;stroke-width:0.200279;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="M 5.0150948,0.97094743 V 21.744888 l 6.1295632,3.630798 c 0.501856,0.355154 0.457316,0.283463 0.458431,-0.602532 l 0.02342,-18.6159782 c 0.04803,-0.8264309 -0.02852,-0.8256775 -0.44161,-1.0993086 z"
|
||||||
|
id="path6014"
|
||||||
|
sodipodi:nodetypes="ccccccc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.8 KiB |
|
@ -0,0 +1,82 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="100"
|
||||||
|
height="100"
|
||||||
|
viewBox="0 0 26.458333 26.458333"
|
||||||
|
version="1.1"
|
||||||
|
id="svg5"
|
||||||
|
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
|
||||||
|
sodipodi:docname="headerfolder.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview7"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="2.8934905"
|
||||||
|
inkscape:cx="93.658508"
|
||||||
|
inkscape:cy="75.514332"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1001"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
units="px"
|
||||||
|
width="100px" />
|
||||||
|
<defs
|
||||||
|
id="defs2">
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient3056"
|
||||||
|
inkscape:swatch="gradient">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#45c200;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop826" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#53e900;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop828" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient3056-2">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#45c200;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop3052" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#5fff07;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop3054" />
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
inkscape:label="图层 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
id="rect934"
|
||||||
|
style="fill:#fcbc4c;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
d="m 22.327981,20.476751 0.02129,-5.348279 c -0.02157,-1.176532 -1.20298,-1.844222 -2.462226,-1.92922 l -0.0078,-10.8812507 c 0.06287,-0.935282 0.02037,-0.889555 -0.860969,-0.889555 H 5.5100133 V 22.202325 l 14.1910407,-0.04012 c 1.6677,-0.09916 2.57977,-0.603319 2.626927,-1.685458 z"
|
||||||
|
sodipodi:nodetypes="ccccccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#fdd99b;fill-opacity:1;stroke:#000000;stroke-width:0.200279;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="M 5.5014543,1.4296067 V 22.203547 l 6.1295627,3.630798 c 0.501856,0.355154 0.457316,0.283463 0.458431,-0.602532 l 0.02342,-18.6159779 c 0.04803,-0.8264309 -0.02852,-0.8256775 -0.44161,-1.0993086 z"
|
||||||
|
id="path6014"
|
||||||
|
sodipodi:nodetypes="ccccccc" />
|
||||||
|
<path
|
||||||
|
id="text18521"
|
||||||
|
style="font-size:11.2889px;line-height:1.25;font-family:sans-serif;fill:#ff2c2c;fill-opacity:1;stroke-width:0.327221"
|
||||||
|
d="m 13.252376,10.765913 c 0,3.692058 0,7.384115 0,11.076172 0.863932,0 1.727864,0 2.591797,0 0.0028,-1.897806 -0.01063,-3.795701 0.01953,-5.693359 0.718798,-0.392097 1.983401,-0.700116 2.361328,0.289062 0.177294,1.785387 0.06063,3.605548 0.08984,5.404297 0.867187,0 1.734375,0 2.601562,0 -0.06524,-2.23573 0.202906,-4.506102 -0.186247,-6.716994 -0.48144,-1.572364 -2.494337,-2.11523 -3.859818,-1.360524 -0.550612,0.282215 -1.280247,0.861239 -1.0262,-0.173263 0,-0.990625 0,-1.98125 0,-2.971875 -0.863933,0 -1.727865,0 -2.591797,0 v 0.1 z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.4 KiB |
|
@ -0,0 +1,108 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="100"
|
||||||
|
height="100"
|
||||||
|
viewBox="0 0 26.458333 26.458333"
|
||||||
|
version="1.1"
|
||||||
|
id="svg5"
|
||||||
|
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
|
||||||
|
sodipodi:docname="hfile.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview7"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.5"
|
||||||
|
inkscape:cx="470"
|
||||||
|
inkscape:cy="183"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1001"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
units="px"
|
||||||
|
width="100px" />
|
||||||
|
<defs
|
||||||
|
id="defs2">
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient1420">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#e0e0e0;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop1416" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop1418" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient3056"
|
||||||
|
inkscape:swatch="gradient">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#45c200;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop826" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#53e900;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop828" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient3056-2">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#45c200;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop3052" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#5fff07;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop3054" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient1420"
|
||||||
|
id="linearGradient1422"
|
||||||
|
x1="7.8442378"
|
||||||
|
y1="11.269956"
|
||||||
|
x2="1.9260681"
|
||||||
|
y2="11.269956"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
inkscape:label="图层 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<g
|
||||||
|
id="g1755"
|
||||||
|
transform="matrix(1.1063575,0,0,1.1063575,-1.4148159,-1.417466)">
|
||||||
|
<path
|
||||||
|
id="rect848-1"
|
||||||
|
style="fill:url(#linearGradient1422);stroke:#000000;stroke-width:0.721591"
|
||||||
|
transform="matrix(1.1,0,0,1.1,2.6932117,0.93042432)"
|
||||||
|
d="M 1.8840514,1.3039001 H 12.125786 l 5.237068,5.830555 0.04157,14.1015569 H 1.8840514 Z"
|
||||||
|
sodipodi:nodetypes="cccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 16.031576,2.3647144 -0.02942,6.3678902 5.790196,0.04572"
|
||||||
|
id="path1641" />
|
||||||
|
</g>
|
||||||
|
<path
|
||||||
|
id="text18521"
|
||||||
|
style="font-size:11.2889px;line-height:1.25;font-family:sans-serif;fill:#ff2c2c;fill-opacity:1;stroke-width:0.327221"
|
||||||
|
d="m 13.621094,12.693359 c 0,3.692058 0,7.384115 0,11.076172 0.863932,0 1.727864,0 2.591797,0 0.0028,-1.897806 -0.01063,-3.795701 0.01953,-5.693359 0.718798,-0.392097 1.983401,-0.700116 2.361328,0.289062 0.177294,1.785387 0.06063,3.605548 0.08984,5.404297 0.867187,0 1.734375,0 2.601562,0 -0.06524,-2.23573 0.202906,-4.506102 -0.186247,-6.716994 -0.48144,-1.572364 -2.494337,-2.11523 -3.859818,-1.360524 -0.550612,0.282215 -1.280247,0.861239 -1.0262,-0.173263 0,-0.990625 0,-1.98125 0,-2.971875 -0.863933,0 -1.727865,0 -2.591797,0 v 0.1 z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.8 KiB |
|
@ -0,0 +1,150 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="100"
|
||||||
|
height="100"
|
||||||
|
viewBox="0 0 26.458333 26.458333"
|
||||||
|
version="1.1"
|
||||||
|
id="svg5"
|
||||||
|
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
|
||||||
|
sodipodi:docname="02Project_New.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview7"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="5.786981"
|
||||||
|
inkscape:cx="21.427407"
|
||||||
|
inkscape:cy="58.147763"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1001"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
units="px"
|
||||||
|
width="100px" />
|
||||||
|
<defs
|
||||||
|
id="defs2">
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient1420">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#e0e0e0;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop1416" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop1418" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient3056"
|
||||||
|
inkscape:swatch="gradient">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#45c200;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop826" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#53e900;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop828" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient3056-2">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#45c200;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop3052" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#5fff07;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop3054" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient1420"
|
||||||
|
id="linearGradient1422"
|
||||||
|
x1="7.8442378"
|
||||||
|
y1="11.269956"
|
||||||
|
x2="1.9260681"
|
||||||
|
y2="11.269956"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient1420"
|
||||||
|
id="linearGradient1422-8"
|
||||||
|
x1="7.8442378"
|
||||||
|
y1="11.269956"
|
||||||
|
x2="1.9260681"
|
||||||
|
y2="11.269956"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient1420"
|
||||||
|
id="linearGradient1422-6"
|
||||||
|
x1="7.8442378"
|
||||||
|
y1="11.269956"
|
||||||
|
x2="1.9260681"
|
||||||
|
y2="11.269956"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
inkscape:label="图层 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<g
|
||||||
|
id="g1755"
|
||||||
|
transform="matrix(0.89614957,0,0,0.89614957,5.9992311,-0.90196801)">
|
||||||
|
<path
|
||||||
|
id="rect848-1"
|
||||||
|
style="fill:url(#linearGradient1422);stroke:#000000;stroke-width:0.721591"
|
||||||
|
transform="matrix(1.1,0,0,1.1,2.6932117,0.93042432)"
|
||||||
|
d="M 1.8840514,1.3039001 H 12.125786 l 5.237068,5.830555 0.04157,14.1015569 H 1.8840514 Z"
|
||||||
|
sodipodi:nodetypes="cccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 16.031576,2.3647144 -0.02942,6.3678902 5.790196,0.04572"
|
||||||
|
id="path1641" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="g1755-7"
|
||||||
|
transform="matrix(0.89614957,0,0,0.89614957,1.8865805,1.8185308)">
|
||||||
|
<path
|
||||||
|
id="rect848-1-2"
|
||||||
|
style="fill:url(#linearGradient1422-8);stroke:#000000;stroke-width:0.721591"
|
||||||
|
transform="matrix(1.1,0,0,1.1,2.6932117,0.93042432)"
|
||||||
|
d="M 1.8840514,1.3039001 H 12.125786 l 5.237068,5.830555 0.04157,14.1015569 H 1.8840514 Z"
|
||||||
|
sodipodi:nodetypes="cccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 16.031576,2.3647144 -0.02942,6.3678902 5.790196,0.04572"
|
||||||
|
id="path1641-1" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="g1755-2"
|
||||||
|
transform="matrix(0.89614957,0,0,0.89614957,-2.9140658,3.9216711)">
|
||||||
|
<path
|
||||||
|
id="rect848-1-28"
|
||||||
|
style="fill:url(#linearGradient1422-6);stroke:#000000;stroke-width:0.721591"
|
||||||
|
transform="matrix(1.1,0,0,1.1,2.6932117,0.93042432)"
|
||||||
|
d="M 1.8840514,1.3039001 H 12.125786 l 5.237068,5.830555 0.04157,14.1015569 H 1.8840514 Z"
|
||||||
|
sodipodi:nodetypes="cccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 16.031576,2.3647144 -0.02942,6.3678902 5.790196,0.04572"
|
||||||
|
id="path1641-9" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 5.0 KiB |
|
@ -0,0 +1,82 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="100"
|
||||||
|
height="100"
|
||||||
|
viewBox="0 0 26.458333 26.458333"
|
||||||
|
version="1.1"
|
||||||
|
id="svg5"
|
||||||
|
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
|
||||||
|
sodipodi:docname="sourcefolder.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview7"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.72337263"
|
||||||
|
inkscape:cx="-494.90399"
|
||||||
|
inkscape:cy="432.00418"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1001"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
units="px"
|
||||||
|
width="100px" />
|
||||||
|
<defs
|
||||||
|
id="defs2">
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient3056"
|
||||||
|
inkscape:swatch="gradient">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#45c200;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop826" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#53e900;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop828" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient3056-2">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#45c200;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop3052" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#5fff07;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop3054" />
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
inkscape:label="图层 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
id="rect934"
|
||||||
|
style="fill:#fcbc4c;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
d="m 21.931587,19.864138 0.02129,-5.348279 c -0.02157,-1.176532 -1.20298,-1.844222 -2.462226,-1.92922 l -0.0078,-10.8812514 c 0.06287,-0.93528202 0.02037,-0.88955502 -0.860969,-0.88955502 H 5.1136193 V 21.589712 L 19.30466,21.549596 c 1.6677,-0.09916 2.57977,-0.603319 2.626927,-1.685458 z"
|
||||||
|
sodipodi:nodetypes="ccccccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#fdd99b;fill-opacity:1;stroke:#000000;stroke-width:0.200279;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="M 5.1050603,0.81699298 V 21.590934 l 6.1295627,3.630798 c 0.501856,0.355154 0.457316,0.283463 0.458431,-0.602532 l 0.02342,-18.6159786 c 0.04803,-0.8264309 -0.02852,-0.8256775 -0.44161,-1.0993086 z"
|
||||||
|
id="path6014"
|
||||||
|
sodipodi:nodetypes="ccccccc" />
|
||||||
|
<path
|
||||||
|
id="text2970"
|
||||||
|
style="font-size:11.2889px;line-height:1.25;font-family:sans-serif;fill:#3958ff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
d="m 16.19456,11.915022 c -1.887338,0.06652 -3.603074,1.494063 -3.936045,3.365551 -0.463086,2.059085 0.04847,4.673412 2.097612,5.688699 1.792494,0.883972 3.920067,0.474864 5.615777,-0.439016 0,-0.716797 0,-1.433594 0,-2.150391 -0.618766,-0.132261 -1.068817,0.159596 -1.511718,0.554688 -1.184225,0.780728 -3.207312,0.799329 -3.851563,-0.685547 -0.52169,-1.285789 -0.483042,-3.088664 0.697266,-4.001953 1.247706,-0.776543 2.871086,-0.204218 3.873047,0.726562 0.794598,0.220511 0.900162,-0.248015 0.792968,-0.929297 -0.07567,-0.539614 0.278173,-1.350029 -0.481253,-1.457679 -1.015934,-0.506562 -2.16004,-0.763802 -3.296091,-0.671617 z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.5 KiB |
|
@ -7,7 +7,7 @@ SUBDIRS += \
|
||||||
|
|
||||||
APP_NAME = RedPandaCPP
|
APP_NAME = RedPandaCPP
|
||||||
|
|
||||||
APP_VERSION = 0.14.2
|
APP_VERSION = 0.14.3
|
||||||
|
|
||||||
linux: {
|
linux: {
|
||||||
|
|
||||||
|
|