spark-store/inc/spkui_general.h
RigoLigo 0a6e86dba7 使主题色依照DDE主题色改变
因为AUTOMOC不会在编译主程序的时候再对插件接口类进行MOC,所以需要在主程序内加一份一模一样的插件接口类定义。
2021-07-08 00:38:11 +08:00

66 lines
1.4 KiB
C++

//
// Created by rigoligo on 2021/5/8.
//
#pragma once
#include <QWidget>
#include <QString>
#include <QSize>
#include <QColor>
#include "dtk/spkdtkplugin.h"
namespace SpkUi
{
enum SpkUiStyle { Light, Dark };
enum SpkButtonStyle { Normal = 0, Recommend, Warn };
constexpr int StackTraceArraySize = 64;
constexpr const char * const StoreIconName = "spark-store";
class UiMetaObject : public QObject
{
Q_OBJECT
private:
static UiMetaObject *sGlobalInstance;
public:
UiMetaObject() {}
UiMetaObject *Instance() {return nullptr;} //FIXME!!
public slots:
void SetAccentColor(QColor);
};
extern UiMetaObject SpkUiMetaObject;
extern SpkUiStyle CurrentStyle;
extern QString StylesheetBase, CurrentStylesheet;
extern QColor ColorLine, ColorBack;
extern QSize PrimaryScreenSize;
extern SpkDtkPlugin *DtkPlugin;
extern QStyle *OldSystemStyle;
extern QList<QColor> CurrentColorSet;
namespace States
{
extern bool IsDDE, IsUsingDtkPlugin;
}
namespace Priv
{
extern bool CrashHandlerActivated;
}
void Initialize();
void GuessAppropriateTheme();
void PrepareForDeepinDesktop();
bool CheckIsDeepinDesktop();
QString StylesheetFromColors(QList<QColor>);
QIcon GetThemedIcon(QString);
QColor ColorTextOnBackground(QColor);
void CrashSignalHandler(int);
void SetGlobalStyle(SpkUiStyle);
};