!4 add globaltheme UI
Merge pull request !4 from likehomedream/my-devel
This commit is contained in:
commit
d0a9c7eaa3
|
@ -1,6 +1,122 @@
|
||||||
#include "globalthemewidget.h"
|
#include "globalthemewidget.h"
|
||||||
|
#include <QApplication>
|
||||||
|
#include <QDebug>
|
||||||
|
#include <QPalette>
|
||||||
|
|
||||||
GlobalThemeWidget::GlobalThemeWidget(QWidget *parent) : WidgetBase(parent)
|
GlobalThemeWidget::GlobalThemeWidget(QWidget *parent) : WidgetBase(parent)
|
||||||
{
|
{
|
||||||
|
this->initThemeLabel("创建全局主题");
|
||||||
|
m_importButton->deleteLater();
|
||||||
|
// m_headWidget->setFixedHeight(62);
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
|
||||||
|
void GlobalThemeWidget::init()
|
||||||
|
{
|
||||||
|
m_allLayout->takeAt(1);
|
||||||
|
|
||||||
|
initglobalwidget();
|
||||||
|
|
||||||
|
int index = m_allLayout->indexOf(m_buttonWidget);
|
||||||
|
m_allLayout->insertWidget(index, m_globalwidget);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GlobalThemeWidget::initglobalwidget()
|
||||||
|
{
|
||||||
|
m_globalwidget = new QWidget(this);
|
||||||
|
m_globallayout = new QVBoxLayout();
|
||||||
|
|
||||||
|
m_globalwidget->setFixedHeight(291);
|
||||||
|
m_globalwidget->setFixedWidth(480);
|
||||||
|
|
||||||
|
m_accentcolorwidget = new QWidget(m_globalwidget);
|
||||||
|
m_accentcolorwidget->setFixedHeight(68);
|
||||||
|
m_accentcolorlayout = new QHBoxLayout(m_accentcolorwidget);
|
||||||
|
|
||||||
|
QPalette pal = qApp->palette();
|
||||||
|
QLabel *label = new QLabel(m_accentcolorwidget);
|
||||||
|
label->setText("主题强调色:");
|
||||||
|
m_accentcolorlayout->addWidget(label);
|
||||||
|
m_accentcolorlayout->addSpacing(10);
|
||||||
|
QMap<QString, QPushButton*> colorButtonMap;
|
||||||
|
|
||||||
|
m_colorlist = QStringList{"#3790fa", "#7873f5", "#eb3096", "#f3222d", "#f68c27", "#f9c53d", "#52c429"};
|
||||||
|
|
||||||
|
for (const QString& color : m_colorlist) {
|
||||||
|
QPushButton* pushButton = new QPushButton();
|
||||||
|
pushButton->setProperty("isRoundButton", true);
|
||||||
|
|
||||||
|
pushButton->setFixedSize(QSize(24,24));
|
||||||
|
pal.setColor(QPalette::Button,QColor(color));
|
||||||
|
pushButton->setPalette(pal);
|
||||||
|
colorButtonMap.insert(color, pushButton);
|
||||||
|
m_accentcolorlayout->addWidget(pushButton);
|
||||||
|
}
|
||||||
|
m_accentcolorlayout->addStretch(1);
|
||||||
|
|
||||||
|
m_coverwidget = new QWidget(m_globalwidget);
|
||||||
|
m_coverwidget->setFixedHeight(133);
|
||||||
|
m_coverlayout = new QHBoxLayout(m_coverwidget);
|
||||||
|
|
||||||
|
QLabel *coverlabel = new QLabel(m_coverwidget);
|
||||||
|
coverlabel->setText("主题封面");
|
||||||
|
|
||||||
|
|
||||||
|
m_coverbutton = new QPushButton(m_coverwidget);
|
||||||
|
m_coverbutton->setFixedSize(QSize(140,100));
|
||||||
|
|
||||||
|
QVBoxLayout *buttonlayout = new QVBoxLayout(m_coverbutton);
|
||||||
|
|
||||||
|
QLabel *iconLabel = new QLabel;
|
||||||
|
QIcon icon = QIcon::fromTheme("list-add-symbolic");
|
||||||
|
iconLabel->setPixmap(icon.pixmap(QSize(24, 24)));
|
||||||
|
iconLabel->setAlignment(Qt::AlignHCenter);
|
||||||
|
QLabel *textLabel = new QLabel("支持 png/jpg ,不超过 5 M");
|
||||||
|
textLabel->setAlignment(Qt::AlignHCenter);
|
||||||
|
textLabel->setWordWrap(true);
|
||||||
|
textLabel->setMaximumWidth(120);
|
||||||
|
textLabel->setStyleSheet("font-size: 12px;");
|
||||||
|
|
||||||
|
buttonlayout->addWidget(iconLabel);
|
||||||
|
buttonlayout->addWidget(textLabel);
|
||||||
|
buttonlayout->addStretch(1);
|
||||||
|
m_coverlayout->addWidget(coverlabel);
|
||||||
|
m_coverlayout->addWidget(m_coverbutton);
|
||||||
|
m_coverlayout->addStretch(1);
|
||||||
|
|
||||||
|
m_wallpaperwidget = new QWidget(m_globalwidget);
|
||||||
|
m_wallpaperwidget->setFixedHeight(133);
|
||||||
|
m_wallpaperlayout = new QHBoxLayout(m_wallpaperwidget);
|
||||||
|
|
||||||
|
QLabel *wallpaperlabel = new QLabel(m_wallpaperwidget);
|
||||||
|
wallpaperlabel->setText("桌面壁纸");
|
||||||
|
|
||||||
|
m_wallpaperbutton = new QPushButton(m_wallpaperwidget);
|
||||||
|
m_wallpaperbutton->setFixedSize(QSize(140,100));
|
||||||
|
|
||||||
|
QVBoxLayout *buttonlayout1 = new QVBoxLayout(m_wallpaperbutton);
|
||||||
|
|
||||||
|
QLabel *iconLabel1 = new QLabel;
|
||||||
|
iconLabel1->setPixmap(icon.pixmap(QSize(24, 24)));
|
||||||
|
iconLabel1->setAlignment(Qt::AlignHCenter);
|
||||||
|
QLabel *textLabel1 = new QLabel("支持 png/jpg ,不超过 10 M");
|
||||||
|
textLabel1->setAlignment(Qt::AlignHCenter);
|
||||||
|
textLabel1->setWordWrap(true);
|
||||||
|
textLabel1->setMaximumWidth(120);
|
||||||
|
textLabel1->setStyleSheet("font-size: 12px;");
|
||||||
|
|
||||||
|
buttonlayout1->addWidget(iconLabel1);
|
||||||
|
buttonlayout1->addWidget(textLabel1);
|
||||||
|
buttonlayout1->addStretch(1);
|
||||||
|
|
||||||
|
|
||||||
|
m_wallpaperlayout->addWidget(wallpaperlabel);
|
||||||
|
m_wallpaperlayout->addWidget(m_wallpaperbutton);
|
||||||
|
m_wallpaperlayout->addStretch();
|
||||||
|
|
||||||
|
m_globallayout->addWidget(m_accentcolorwidget);
|
||||||
|
m_globallayout->addWidget(m_coverwidget);
|
||||||
|
m_globallayout->addWidget(m_wallpaperwidget);
|
||||||
|
m_globalwidget->setLayout(m_globallayout);
|
||||||
|
}
|
||||||
|
|
|
@ -4,14 +4,34 @@
|
||||||
|
|
||||||
#include "widgetbase.h"
|
#include "widgetbase.h"
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
#include <QMap>
|
||||||
|
|
||||||
class GlobalThemeWidget : public WidgetBase
|
class GlobalThemeWidget : public WidgetBase
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit GlobalThemeWidget(QWidget *parent = nullptr);
|
explicit GlobalThemeWidget(QWidget *parent = nullptr);
|
||||||
|
void init();
|
||||||
|
void initglobalwidget();
|
||||||
signals:
|
signals:
|
||||||
|
private:
|
||||||
|
QWidget *m_globalwidget;
|
||||||
|
QVBoxLayout *m_globallayout;
|
||||||
|
QWidget *m_accentcolorwidget;
|
||||||
|
QHBoxLayout *m_accentcolorlayout;
|
||||||
|
QMap<QString, QPushButton*> m_colorbuttonmap;
|
||||||
|
QMap<QString, QColor> m_colormap;
|
||||||
|
QStringList m_colorlist;
|
||||||
|
|
||||||
|
QWidget *m_coverwidget;
|
||||||
|
QHBoxLayout *m_coverlayout;
|
||||||
|
QPushButton *m_coverbutton;
|
||||||
|
|
||||||
|
QWidget *m_wallpaperwidget;
|
||||||
|
QHBoxLayout *m_wallpaperlayout;
|
||||||
|
QPushButton *m_wallpaperbutton;
|
||||||
|
private slots:
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -23,13 +23,11 @@ IconThemeWidget::IconThemeWidget(QWidget *parent) : WidgetBase(parent)
|
||||||
connect(m_importButton , &QPushButton::clicked, this, [=](){
|
connect(m_importButton , &QPushButton::clicked, this, [=](){
|
||||||
this->importIcons();
|
this->importIcons();
|
||||||
});
|
});
|
||||||
// connect(this,&IconThemeWidget::onConfirmButtonClicked,this, &IconThemeWidget::check);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void IconThemeWidget::init()
|
void IconThemeWidget::init()
|
||||||
{
|
{
|
||||||
QString name = qgetenv("USER");
|
QString name = qgetenv("USER");
|
||||||
qDebug()<<"QString name = qgetenv;"<<name;
|
|
||||||
m_iconpath = HOMEPATH +name + "/.cache/theme-build/icon/";
|
m_iconpath = HOMEPATH +name + "/.cache/theme-build/icon/";
|
||||||
// m_allLayout->insertWidget(new QLabel(tr("WidgetA")));
|
// m_allLayout->insertWidget(new QLabel(tr("WidgetA")));
|
||||||
// 创建新的 widget
|
// 创建新的 widget
|
||||||
|
|
|
@ -75,8 +75,5 @@ private:
|
||||||
void backToCreateInterface();
|
void backToCreateInterface();
|
||||||
void buildThemesCheck();
|
void buildThemesCheck();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
#endif // MAINWINDOW_H
|
#endif // MAINWINDOW_H
|
||||||
|
|
|
@ -76,6 +76,14 @@ bool ThemesCheck::checkIconsDir(QString folderPath)
|
||||||
|
|
||||||
bool ThemesCheck::checkWallpaperDir(QString folderPath)
|
bool ThemesCheck::checkWallpaperDir(QString folderPath)
|
||||||
{
|
{
|
||||||
//检查图片大小。
|
// //检查图片大小。
|
||||||
// folderPath
|
// QFile pic = QFile(folderPath);
|
||||||
|
// QFileInfo info = QFileInfo(pic);
|
||||||
|
// // 检查文件大小
|
||||||
|
// const qint64 maxSize = 10 * 1024 * 1024; // 10MB
|
||||||
|
// if (info.size() > maxSize)
|
||||||
|
// {
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ public:
|
||||||
|
|
||||||
static bool checkIconsDir(QString folderPath);
|
static bool checkIconsDir(QString folderPath);
|
||||||
static bool checkCursorDir(QString folderPath);
|
static bool checkCursorDir(QString folderPath);
|
||||||
static bool checkPaperDir(QString folderPath);
|
static bool checkWallpaperDir(QString folderPath);
|
||||||
|
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
|
|
@ -14,7 +14,6 @@ WallpaperthemeWidget::WallpaperthemeWidget(QWidget *parent) : WidgetBase(parent)
|
||||||
void WallpaperthemeWidget::init()
|
void WallpaperthemeWidget::init()
|
||||||
{
|
{
|
||||||
QString name = qgetenv("USER");
|
QString name = qgetenv("USER");
|
||||||
qDebug()<<"QString name = qgetenv;"<<name;
|
|
||||||
m_wallpaperpath = HOMEPATH +name + "/.cache/theme-build/wallpapers/";
|
m_wallpaperpath = HOMEPATH +name + "/.cache/theme-build/wallpapers/";
|
||||||
|
|
||||||
QWidget* newWidget = new QWidget(this);
|
QWidget* newWidget = new QWidget(this);
|
||||||
|
@ -29,7 +28,7 @@ void WallpaperthemeWidget::init()
|
||||||
m_listwidget->setFixedSize(newWidget->size());
|
m_listwidget->setFixedSize(newWidget->size());
|
||||||
m_listwidget->setFlow(QListView::LeftToRight);
|
m_listwidget->setFlow(QListView::LeftToRight);
|
||||||
m_listwidget->setMovement(QListView::Static);
|
m_listwidget->setMovement(QListView::Static);
|
||||||
m_listwidget->setIconSize(QSize(100, 56));
|
m_listwidget->setIconSize(QSize(100, 57));
|
||||||
|
|
||||||
// 初始化固定路径
|
// 初始化固定路径
|
||||||
QString fixedPath = m_wallpaperpath;
|
QString fixedPath = m_wallpaperpath;
|
||||||
|
@ -38,7 +37,7 @@ void WallpaperthemeWidget::init()
|
||||||
QStringList fileNames = QDir(fixedPath).entryList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
|
QStringList fileNames = QDir(fixedPath).entryList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
|
||||||
foreach (QString fileName, fileNames) {
|
foreach (QString fileName, fileNames) {
|
||||||
QString imgpath = m_wallpaperpath+fileName;
|
QString imgpath = m_wallpaperpath+fileName;
|
||||||
QListWidgetItem *item = new QListWidgetItem(fileName);
|
QListWidgetItem *item = new QListWidgetItem(/*fileName*/);
|
||||||
|
|
||||||
item->setIcon(QIcon(imgpath));
|
item->setIcon(QIcon(imgpath));
|
||||||
m_listwidget->addItem(item);
|
m_listwidget->addItem(item);
|
||||||
|
@ -77,8 +76,10 @@ void WallpaperthemeWidget::importWallpaper()
|
||||||
|
|
||||||
QFileInfo fileInfo(file);
|
QFileInfo fileInfo(file);
|
||||||
|
|
||||||
QListWidgetItem *item = new QListWidgetItem(fileInfo.fileName());
|
QListWidgetItem *item = new QListWidgetItem(/*fileInfo.fileName()*/);
|
||||||
item->setIcon(QIcon(fileInfo.fileName()));
|
// QListWidgetItem *item = new QListWidgetItem(fileInfo.absoluteFilePath());
|
||||||
|
|
||||||
|
item->setIcon(QIcon(fileInfo.absoluteFilePath()));
|
||||||
// item->setSizeHint(QSize(100, 100));
|
// item->setSizeHint(QSize(100, 100));
|
||||||
item->setData(Qt::UserRole, fileInfo.fileName());
|
item->setData(Qt::UserRole, fileInfo.fileName());
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
|
|
||||||
#include "widgetbase.h"
|
#include "widgetbase.h"
|
||||||
|
#include "themescheck/themescheck.h"
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <QListWidget>
|
#include <QListWidget>
|
||||||
|
|
||||||
|
|
|
@ -8,11 +8,13 @@ WidgetBase::WidgetBase(QWidget *parent) : QWidget(parent)
|
||||||
|
|
||||||
m_headWidget = new QWidget(this);
|
m_headWidget = new QWidget(this);
|
||||||
m_headWidget->setFixedHeight(112);
|
m_headWidget->setFixedHeight(112);
|
||||||
|
m_headWidget->setContentsMargins(0,0,0,0);
|
||||||
|
|
||||||
m_themeLabel = new QLabel(m_headWidget);
|
m_themeLabel = new QLabel(m_headWidget);
|
||||||
// m_themeLabel->setText(QString("创建主题图标"));
|
// m_themeLabel->setText(QString("创建主题图标"));
|
||||||
|
|
||||||
m_nameLineEdit = new QLineEdit(m_headWidget);
|
m_nameLineEdit = new QLineEdit(m_headWidget);
|
||||||
|
|
||||||
m_importButton = new QPushButton(m_headWidget);
|
m_importButton = new QPushButton(m_headWidget);
|
||||||
m_importButton->setFixedSize(QSize(96,36));
|
m_importButton->setFixedSize(QSize(96,36));
|
||||||
// m_importButton->setText(QString("导入图标"));
|
// m_importButton->setText(QString("导入图标"));
|
||||||
|
@ -21,7 +23,7 @@ WidgetBase::WidgetBase(QWidget *parent) : QWidget(parent)
|
||||||
headlayout->addWidget(m_themeLabel);
|
headlayout->addWidget(m_themeLabel);
|
||||||
headlayout->addWidget(m_nameLineEdit);
|
headlayout->addWidget(m_nameLineEdit);
|
||||||
headlayout->addWidget(m_importButton);
|
headlayout->addWidget(m_importButton);
|
||||||
|
headlayout->setContentsMargins(0,0,0,0);
|
||||||
m_headWidget->setLayout(headlayout);
|
m_headWidget->setLayout(headlayout);
|
||||||
|
|
||||||
m_buttonWidget = new QWidget(this);
|
m_buttonWidget = new QWidget(this);
|
||||||
|
|
Loading…
Reference in New Issue