Merge pull request !72 from likehomedream/plymouthshow
This commit is contained in:
KevinDuan 2023-12-08 06:13:36 +00:00 committed by Gitee
commit 9a499cde87
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
23 changed files with 146 additions and 76 deletions

View File

@ -27,6 +27,7 @@ SOURCES += \
src/fileProcess/configfilemanager.cpp \
src/fileProcess/historyinfoload.cpp \
src/module/aboutdialog.cpp \
src/module/basewidget.cpp \
src/module/cacheconfirmedwidget.cpp \
src/module/cursorthemefeature.cpp \
src/module/cursorthemewidget.cpp \
@ -59,6 +60,7 @@ HEADERS += \
src/fileProcess/configfilemanager.h \
src/fileProcess/historyinfoload.h \
src/module/aboutdialog.h \
src/module/basewidget.h \
src/module/cacheconfirmedwidget.h \
src/module/cursorthemefeature.h \
src/module/cursorthemewidget.h \

View File

@ -3,6 +3,7 @@
#include "build.h"
#include "buildresultwidget.h"
#include "../fileProcess/historyinfoload.h"
#include <QObject>
#include <QWidget>

View File

@ -11,10 +11,8 @@
*/
MainInterface::MainInterface(QWidget *parent) : QWidget(parent)
{
// this->setBackgroundRole(QPalette::Base);
m_belowwidget = new QWidget(this);
m_belowwidget->setContentsMargins(0,0,0,0);
init();
QVBoxLayout *layout = new QVBoxLayout();
@ -84,7 +82,9 @@ void MainInterface::isHistory(bool ishistory)
*/
void MainInterface::init()
{
this->setBackgroundRole(QPalette::Base);
this->setAutoFillBackground(true);
this->setContentsMargins(0,0,0,0);
initLeftBar();
m_themestackedwidget = new QStackedWidget(m_belowwidget);
@ -111,6 +111,9 @@ void MainInterface::init()
m_layout->addWidget(m_navigationwidget);
m_layout->addWidget(m_themestackedwidget);
m_layout->setContentsMargins(0,0,0,0);
m_layout->setSpacing(0);
m_belowwidget->setLayout(m_layout);
connect(m_globalbtn,&TypeButton::clicked,m_themestackedwidget,[=](){
@ -141,7 +144,8 @@ void MainInterface::init()
emit gohomesignals();
});
});
// connect()
qDebug()<<this->contentsMargins();
}
/**
@ -153,7 +157,7 @@ void MainInterface::init()
*/
void MainInterface::initLeftBar()
{
m_navigationwidget = new QWidget(m_belowwidget);
m_navigationwidget = new BaseLeftWidget(m_belowwidget);
m_navigationwidget->setMinimumSize(200,620);
m_navigationwidget->setMaximumWidth(200);
QVBoxLayout *leftLayout = new QVBoxLayout(m_navigationwidget);

View File

@ -12,6 +12,7 @@
#include "titlebar.h"
#include "./module/cacheconfirmedwidget.h"
#include "./module/historywidget.h"
#include "./module/basewidget.h"
#include <QWidget>
#include <QPushButton>
@ -84,7 +85,7 @@ private:
QStackedWidget *m_themestackedwidget;
QHBoxLayout *m_layout;
QWidget *m_navigationwidget;
BaseLeftWidget *m_navigationwidget;
TypeButton *m_globalbtn;
TypeButton *m_iconbtn;

View File

@ -8,15 +8,17 @@ MainWindow::MainWindow(QWidget *parent)
m_bridge = Bridge::getInstance();
FileProcess();
initUI();
m_titlebar = new TitleBar(this);
QVBoxLayout *layout = new QVBoxLayout(this);
layout->setContentsMargins(0, 0, 0,0 );
layout->setSpacing(0);
layout->addWidget(m_titlebar);
layout->addWidget(mainWidget);
QWidget *centralWidget = new QWidget(this);
centralWidget->setLayout(layout);
setCentralWidget(centralWidget);
centralWidget->setContentsMargins(0,0,0,0);
setMouseTracking(true);
connect(m_titlebar, &TitleBar::gohomesignal, this, &MainWindow::onGoHomeClicked);
connect(m_maininterface, &MainInterface::wallpaperPathChanged, m_bridge, &Bridge::wallpaperPathChanged);
@ -41,6 +43,7 @@ MainWindow::MainWindow(QWidget *parent)
connect(m_bridge,&Bridge::updateThumbnail,m_maininterface,&MainInterface::updateThumbnail);
connect(m_maininterface, &MainInterface::gohomesignals, this, &MainWindow::onGoHomeClicked);
this->setContentsMargins(0,2,0,0);
}
MainWindow::~MainWindow()
@ -52,10 +55,12 @@ MainWindow::~MainWindow()
*/
void MainWindow::initUI()
{
QPalette palette;
palette.setColor(QPalette::Background, Qt::white);
// QPalette palette;
// palette.setColor(QPalette::Background, Qt::white);
// this->setAutoFillBackground(true);
// this->setPalette(palette);
this->setBackgroundRole(QPalette::Base);
this->setAutoFillBackground(true);
this->setPalette(palette);
this->setMinimumSize(1096, 640);
@ -114,11 +119,11 @@ void MainWindow::initUI()
m_entrywidget->setLayout(alllayout);
QScrollArea* scrollArea = new QScrollArea;
mainWidget = new QWidget;
QScrollArea* scrollArea = new QScrollArea(mainWidget);
scrollArea->setWidgetResizable(true);
scrollArea->setWidget(m_entrywidget);
scrollArea->setFrameStyle(QFrame::HLine);
m_stackedWidget = new QStackedWidget(this);
m_stackedWidget->addWidget(scrollArea);
m_stackedWidget->addWidget(m_maininterface);
@ -126,8 +131,11 @@ void MainWindow::initUI()
QVBoxLayout* mainLayout = new QVBoxLayout;
mainLayout->addWidget(m_stackedWidget);
mainWidget = new QWidget;
mainWidget->setLayout(mainLayout);
mainWidget->setContentsMargins(0, 0, 0,0 );
QButtonGroup* buttonGroup = new QButtonGroup(this);
buttonGroup->addButton(m_globalbtn);
buttonGroup->addButton(m_iconbtn);

23
src/module/basewidget.cpp Normal file
View File

@ -0,0 +1,23 @@
#include "basewidget.h"
#include <QPainter>
#include <QApplication>
BasePreviewWidget::BasePreviewWidget(QWidget *parent) : QWidget(parent)
{
this->setAutoFillBackground(true);
this->setBackgroundRole(QPalette::Window);
}
void BasePreviewWidget::paintEvent(QPaintEvent *event)
{
// QPainter painter(this);
// QBrush backgroundBrush(palette().color(QPalette::Window));
// painter.setBrush(backgroundBrush);
// painter.setPen(Qt::NoPen);
QWidget::paintEvent(event);
}
BaseLeftWidget::BaseLeftWidget(QWidget *parent)
{
this->setAutoFillBackground(true);
this->setBackgroundRole(QPalette::Base);
}

27
src/module/basewidget.h Normal file
View File

@ -0,0 +1,27 @@
#ifndef BASEPREVIEWWIDGET_H
#define BASEPREVIEWWIDGET_H
#include <QObject>
#include <QWidget>
class BasePreviewWidget : public QWidget
{
Q_OBJECT
public:
explicit BasePreviewWidget(QWidget *parent = nullptr);
signals:
protected:
void paintEvent(QPaintEvent *event) override;
};
class BaseLeftWidget : public QWidget
{
Q_OBJECT
public:
explicit BaseLeftWidget(QWidget *parent = nullptr);
signals:
};
#endif // BASEPREVIEWWIDGET_H

View File

@ -407,7 +407,7 @@ void CursorCustomLabel::paintEvent(QPaintEvent *event)
pen.setStyle(Qt::DashLine);
painter.setPen(pen);
QBrush brush(QColor("#F5F5F5"));
QBrush brush(QColor(qApp->palette().window().color()));
painter.setBrush(brush);

View File

@ -11,6 +11,10 @@ CursorThemeWidget::CursorThemeWidget(QWidget *parent) : QWidget(parent)
m_cursorthemelayout = new QHBoxLayout();
m_cursorthemelayout->addWidget(m_previewwidget);
m_cursorthemelayout->addWidget(m_rightwidget);
m_cursorthemelayout->setContentsMargins(0,0,0,0);
m_cursorthemelayout->setSpacing(0);
this->setLayout(m_cursorthemelayout);
}
@ -42,13 +46,9 @@ void CursorThemeWidget::eidtInitWidget(const HistoryInfo &InfoData)
*/
void CursorThemeWidget::initPreviewWidget()
{
m_previewwidget = new QWidget(this);
m_previewwidget = new BasePreviewWidget(this);
m_previewwidget->setMinimumSize(495,620);
QPalette palette;
QColor bgColor("#F5F5F5");
palette.setColor(QPalette::Window, bgColor);
m_previewwidget->setPalette(palette);
m_previewwidget->setAutoFillBackground(true);
m_preview = new CursorImageWidget(m_previewwidget,m_iconpathmap);
m_preview2 = new CursorImageWidget(m_previewwidget,m_timeiconpathmap);
m_previewlayout = new QVBoxLayout(m_previewwidget);
@ -174,6 +174,7 @@ void CursorThemeWidget::initRightWidget()
m_rightwidget->setMaximumWidth(400);
QScrollArea *m_scrollArea = new QScrollArea(m_rightwidget);
m_scrollArea->setFrameStyle(QFrame::HLine);
m_scrollArea->setMinimumSize(m_rightwidget->size());
m_scrollArea->setMaximumWidth(this->width());
m_scrollArea->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);

View File

@ -3,6 +3,7 @@
#include "cursorthemefeature.h"
#include "historywidget.h"
#include "basewidget.h"
#include <QObject>
#include <QWidget>
@ -65,7 +66,7 @@ private:
QMap<QString, QString> *m_historytimeiconpathmap;
QMap<QString, QString> *m_timecustomiconpathmap;
QWidget *m_previewwidget;
BasePreviewWidget *m_previewwidget;
CursorImageWidget *m_preview;
CursorImageWidget *m_preview2;
QWidget *m_editwidget;

View File

@ -527,7 +527,6 @@ void EditButton::paintEvent(QPaintEvent *event)
void EditButton::enterEvent(QEvent *event)
{
qDebug()<<"enterEventaaaaaaaaa";
QPushButton::enterEvent(event);
showCloseIcon(); // 在这个函数中显示“x”图标
@ -535,7 +534,6 @@ void EditButton::enterEvent(QEvent *event)
void EditButton::leaveEvent(QEvent *event)
{
qDebug()<<"leaveEventaaaaaaaaaaaaaaaa";
QPushButton::leaveEvent(event);
hideCloseIcon(); // 在这个函数中隐藏“x”图标
}
@ -544,7 +542,6 @@ void EditButton::mousePressEvent(QMouseEvent *event)
{
if (closeIconRect.contains(event->pos())) {
qDebug()<<"aaaaaaaaa";
emit deleteCustomPic();
hideCloseIcon(); // 在这个函数中隐藏“x”图标
} else {

View File

@ -11,11 +11,16 @@ bool GlobalThemeWidget::g_themeChange;
*/
GlobalThemeWidget::GlobalThemeWidget(QWidget *parent) : QWidget(parent)
{
this->setContentsMargins(0,0,0,0);
initPreviewWidget();
initRightWidget();
m_globalthemelayout = new QHBoxLayout();
m_globalthemelayout->addWidget(m_previewwidget);
m_globalthemelayout->addWidget(m_rightwidget);
m_globalthemelayout->setContentsMargins(0,0,0,0);
m_globalthemelayout->setSpacing(0);
this->setLayout(m_globalthemelayout);
}
@ -79,15 +84,9 @@ void GlobalThemeWidget::refresh()
*/
void GlobalThemeWidget::initPreviewWidget()
{
m_previewwidget = new QWidget(this);
m_previewwidget = new BasePreviewWidget(this);
m_previewwidget->setMinimumSize(495,620);
QPalette palette;
QColor bgColor("#F5F5F5");
palette.setColor(QPalette::Window, bgColor);
m_previewwidget->setPalette(palette);
m_previewwidget->setAutoFillBackground(true);
m_preview = new GlobalImageWidget(m_previewwidget,m_wallpaperpath);
m_previewlayout = new QVBoxLayout(m_previewwidget);
@ -106,8 +105,11 @@ void GlobalThemeWidget::initRightWidget()
m_rightwidget->setMinimumSize(400,620);
m_rightwidget->setMaximumWidth(400);
m_rightwidget->setBackgroundRole(QPalette::Base);
m_rightwidget->setContentsMargins(0,0,0,0);
m_scrollArea = new QScrollArea(m_rightwidget);
m_scrollArea->setContentsMargins(0,0,0,0);
m_scrollArea->setFrameStyle(QFrame::HLine);
m_scrollArea->setMinimumSize(m_rightwidget->size());
m_scrollArea->setWidgetResizable(true);

View File

@ -14,6 +14,7 @@
#include <QStackedWidget>
#include <QComboBox>
#include "historywidget.h"
#include "basewidget.h"
class GlobalThemeWidget : public QWidget
{
@ -75,7 +76,7 @@ private:
QComboBox *m_filletcombobox;
EditButton *m_coverbtn;
EditButton *wallpaperbtn;
QWidget *m_previewwidget;
BasePreviewWidget *m_previewwidget;
GlobalImageWidget *m_preview;
};

View File

@ -14,10 +14,14 @@ GrubThemeWidget::GrubThemeWidget(QWidget *parent) : QWidget(parent)
{
initPreviewWidget();
initRightWidget();
QHBoxLayout *globalthemelayout = new QHBoxLayout();
globalthemelayout->addWidget(m_previewwidget);
globalthemelayout->addWidget(m_rightwidget);
this->setLayout(globalthemelayout);
QHBoxLayout *grubthemelayout = new QHBoxLayout();
grubthemelayout->addWidget(m_previewwidget);
grubthemelayout->addWidget(m_rightwidget);
grubthemelayout->setContentsMargins(0,0,0,0);
grubthemelayout->setSpacing(0);
this->setLayout(grubthemelayout);
}
/**
@ -34,17 +38,9 @@ GrubThemeWidget::GrubThemeWidget(QWidget *parent) : QWidget(parent)
*/
void GrubThemeWidget::initPreviewWidget()
{
m_previewwidget = new QWidget(this);
m_previewwidget = new BasePreviewWidget(this);
m_previewwidget->setMinimumSize(495,620);
m_previewwidget->setBackgroundRole(QPalette::Window);
QPalette palette;
QColor bgColor("#F5F5F5");
palette.setColor(QPalette::Window, bgColor);
m_previewwidget->setPalette(palette);
m_previewwidget->setAutoFillBackground(true);
m_preview = new GrubImageWidget(m_previewwidget);
m_previewlayout = new QVBoxLayout(m_previewwidget);
@ -66,6 +62,7 @@ void GrubThemeWidget::initRightWidget()
m_rightwidget->setMinimumSize(400,620);
m_rightwidget->setMaximumWidth(400);
m_rightwidget->setBackgroundRole(QPalette::Base);
m_rightwidget->setAutoFillBackground(true);
initEditWidget();
}

View File

@ -3,6 +3,8 @@
#include "grubthemefeature.h"
#include "historywidget.h"
#include "basewidget.h"
#include <QObject>
#include <QWidget>
#include <QPushButton>
@ -27,7 +29,7 @@ signals:
void newGrubFilePath(const QString& path);
private:
const QString resourceGrubPath = ":/resource/background/grub-background.png";
QWidget *m_previewwidget;
BasePreviewWidget *m_previewwidget;
GrubImageWidget *m_preview;
QWidget *m_rightwidget;
QWidget *m_grubwidget;

View File

@ -242,6 +242,9 @@ void HistoryButton::initUI()
connect(btn_menu, &QPushButton::clicked, this, [=]() {
m_menu->exec(btn_menu->mapToGlobal(btn_menu->rect().bottomLeft()));
});
// connect(action2,&QAction::triggered,this,[=](){
// emit startBuild(m_historytime);
// });
// 连接菜单选项的槽函数
connect(action1, &QAction::triggered, this, [=]() {
DirOperation *dop = new DirOperation();

View File

@ -28,7 +28,7 @@ public:
signals:
void updateHistoryRequested();
void startBuild(QString &historytime);
private:
QString m_historytime = nullptr;
QString m_coverpath = nullptr;

View File

@ -17,10 +17,13 @@ IconThemeWidget::IconThemeWidget(bool isHistory, QWidget *parent) : QWidget(pare
initPreviewWidget();
initRightWidget();
QHBoxLayout * m_iconthemelayout = new QHBoxLayout();
m_iconthemelayout->addWidget(m_previewwidget);
m_iconthemelayout->addWidget(m_rightwidget);
m_iconthemelayout->setContentsMargins(0,0,0,0);
m_iconthemelayout->setSpacing(0);
this->setLayout(m_iconthemelayout);
}
@ -36,15 +39,9 @@ IconThemeWidget::IconThemeWidget(bool isHistory, QWidget *parent) : QWidget(pare
*/
void IconThemeWidget::initPreviewWidget()
{
m_previewwidget = new QWidget(this);
m_previewwidget = new BasePreviewWidget(this);
m_previewwidget->setMinimumSize(550,620);
QPalette palette;
QColor bgColor("#F5F5F5");
palette.setColor(QPalette::Window, bgColor);
m_previewwidget->setPalette(palette);
m_previewwidget->setAutoFillBackground(true);
m_previewstack = new QStackedWidget(m_previewwidget);
m_preview = new ImageWidget(m_previewwidget,m_iconpathmap);
@ -78,6 +75,7 @@ void IconThemeWidget::initEditWidget()
m_editwidget = new QWidget(m_stackedwidget);
QScrollArea *m_scrollArea = new QScrollArea(m_rightwidget);
// m_scrollArea->setFrameStyle(QFrame::HLine);
m_scrollArea->setMinimumSize(m_editwidget->size());
m_scrollArea->setWidgetResizable(true);
QWidget *viewportWidget = new QWidget(m_scrollArea);
@ -217,6 +215,7 @@ void IconThemeWidget::initSystemEditWidget()
{
m_systemeditwidget = new QWidget(m_stackedwidget);
QScrollArea *m_systemscrollArea = new QScrollArea(m_rightwidget);
// m_systemscrollArea->setFrameStyle(QFrame::HLine);
m_systemscrollArea->setWidgetResizable(true);
QWidget *viewportWidget = new QWidget(m_systemscrollArea);
m_systemscrollArea->setWidget(viewportWidget);
@ -227,7 +226,6 @@ void IconThemeWidget::initSystemEditWidget()
for (auto it = m_systemiconpathmap->begin(); it != m_systemiconpathmap->end(); ++it) {
const QString& widgetName = it.key();
const QString& filePath = it.value();
qDebug() <<"key----------" <<widgetName <<"value-----------" <<it.value();
IconEditWidget* widget = new IconEditWidget(viewportWidget);
widget->setdefaulticon(filePath);
widget->setdefaulticonname(widgetName);

View File

@ -4,6 +4,7 @@
#include "iconwidgetfeature.h"
#include "../fileProcess/filecheck.h"
#include "historywidget.h"
#include "basewidget.h"
#include <QWidget>
#include <QPushButton>
@ -66,7 +67,7 @@ private:
QMap<QString, QString> *m_systemcustomiconpathmap;
QMap<QString, IconEditWidget*> *m_systempathWidgetMap;
QWidget *m_previewwidget;
BasePreviewWidget *m_previewwidget;
ImageWidget *m_preview;
ImageWidget *m_systempreview;
QStackedWidget *m_previewstack;

View File

@ -205,11 +205,12 @@ ImageWidget::ImageWidget(QWidget *parent, const QMap<QString, QString>* iconMap)
}
}
}
// 设置初始缩放倍数为0.9倍
qreal initialScale = 0.9;
graphicsView->scale(initialScale, initialScale);
}
}
/**
@ -555,7 +556,7 @@ void CustomLabel::paintEvent(QPaintEvent *event)
pen.setStyle(Qt::DashLine);
painter.setPen(pen);
QBrush brush(QColor("#F5F5F5"));
QBrush brush(QColor(qApp->palette().window().color()));
painter.setBrush(brush);
QRect roundedRect = rect().adjusted(1, 1, -1, -1);

View File

@ -186,7 +186,7 @@ void PlymouthCustomLabel::paintEvent(QPaintEvent *event)
pen.setStyle(Qt::DashLine);
painter.setPen(pen);
QBrush brush(QColor("#F5F5F5"));
QBrush brush(QColor(qApp->palette().window().color()));
painter.setBrush(brush);
QRect roundedRect = rect().adjusted(1, 1, -1, -1);

View File

@ -12,10 +12,15 @@ PlymouthThemeWidget::PlymouthThemeWidget(QWidget *parent) : QWidget(parent)
{
initPreviewWidget();
initRightWidget();
QHBoxLayout *globalthemelayout = new QHBoxLayout();
globalthemelayout->addWidget(m_previewwidget);
globalthemelayout->addWidget(m_rightwidget);
this->setLayout(globalthemelayout);
QHBoxLayout *plymouththemelayout = new QHBoxLayout();
plymouththemelayout->addWidget(m_previewwidget);
plymouththemelayout->addWidget(m_rightwidget);
plymouththemelayout->setContentsMargins(0,0,0,0);
plymouththemelayout->setSpacing(0);
this->setLayout(plymouththemelayout);
}
/**
@ -29,17 +34,11 @@ PlymouthThemeWidget::PlymouthThemeWidget(QWidget *parent) : QWidget(parent)
*/
void PlymouthThemeWidget::initPreviewWidget()
{
m_previewwidget = new QWidget(this);
m_previewwidget = new BasePreviewWidget(this);
m_previewwidget->setMinimumSize(495,620);
m_previewwidget->setBackgroundRole(QPalette::Window);
QPalette palette;
QColor bgColor("#F5F5F5");
palette.setColor(QPalette::Window, bgColor);
m_previewwidget->setPalette(palette);
m_previewwidget->setAutoFillBackground(true);
m_preview = new PlymouthImageWidget(m_previewwidget);
m_previewlayout = new QVBoxLayout(m_previewwidget);
@ -59,6 +58,7 @@ void PlymouthThemeWidget::initRightWidget()
m_rightwidget->setMinimumSize(400,620);
m_rightwidget->setMaximumWidth(400);
m_rightwidget->setBackgroundRole(QPalette::Base);
m_rightwidget->setAutoFillBackground(true);
initEditWidget();
}

View File

@ -3,12 +3,12 @@
#include "plymouththemefeature.h"
#include "iconwidgetfeature.h"
#include "historywidget.h"
#include "basewidget.h"
#include <QObject>
#include <QWidget>
#include <QPushButton>
#include <QVBoxLayout>
#include <QScrollArea>
#include <QLabel>
#include <QCheckBox>
#include <QButtonGroup>
@ -31,7 +31,7 @@ signals:
void newPlymouthFilePath(const QString& path);
void refreshPlymouthDir();
private:
QWidget *m_previewwidget;
BasePreviewWidget *m_previewwidget;
PlymouthImageWidget *m_preview;
QWidget *m_rightwidget;
QWidget *m_plymouthwidget;