metaforce/hecl-gui/main.cpp

71 lines
2.5 KiB
C++
Raw Normal View History

#if defined(_WIN32) && !defined(_DLL)
// Static linking on Windows
#include <QtPlugin>
Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin);
#endif
#include <QApplication>
#include <QStyleFactory>
2017-12-06 04:49:56 +00:00
#include "MainWindow.hpp"
#include "Common.hpp"
2017-12-06 04:49:56 +00:00
2017-12-27 04:10:44 +00:00
extern "C" const uint8_t MAINICON_QT[];
2018-12-08 05:19:40 +00:00
static QIcon MakeAppIcon() {
QIcon ret;
2018-12-08 05:19:40 +00:00
const uint8_t* ptr = MAINICON_QT;
for (int i = 0; i < 6; ++i) {
uint32_t size = *reinterpret_cast<const uint32_t*>(ptr);
ptr += 4;
2018-12-08 05:19:40 +00:00
QPixmap pm;
pm.loadFromData(ptr, size);
ret.addPixmap(pm);
ptr += size;
}
2018-12-08 05:19:40 +00:00
return ret;
}
2018-12-08 05:19:40 +00:00
int main(int argc, char* argv[]) {
InitializePlatform();
QApplication::setOrganizationName(QStringLiteral("AxioDL"));
QApplication::setApplicationName(QStringLiteral("HECL"));
#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
2018-12-08 05:19:40 +00:00
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
#endif
QApplication::setStyle(QStyleFactory::create(QStringLiteral("Fusion")));
2018-12-08 05:19:40 +00:00
QApplication a(argc, argv);
QApplication::setWindowIcon(MakeAppIcon());
QPalette darkPalette;
darkPalette.setColor(QPalette::Window, QColor(53, 53, 53));
darkPalette.setColor(QPalette::WindowText, Qt::white);
darkPalette.setColor(QPalette::Base, QColor(42, 42, 42));
darkPalette.setColor(QPalette::Disabled, QPalette::Base, QColor(25, 25, 25, 53));
darkPalette.setColor(QPalette::AlternateBase, QColor(53, 53, 53));
darkPalette.setColor(QPalette::ToolTipBase, QColor(42, 42, 42));
darkPalette.setColor(QPalette::ToolTipText, Qt::white);
darkPalette.setColor(QPalette::Text, Qt::white);
darkPalette.setColor(QPalette::Disabled, QPalette::Text, QColor(255, 255, 255, 120));
darkPalette.setColor(QPalette::Button, QColor(53, 53, 53));
darkPalette.setColor(QPalette::Disabled, QPalette::Button, QColor(53, 53, 53, 53));
darkPalette.setColor(QPalette::ButtonText, Qt::white);
darkPalette.setColor(QPalette::Disabled, QPalette::ButtonText, QColor(255, 255, 255, 120));
darkPalette.setColor(QPalette::BrightText, Qt::red);
darkPalette.setColor(QPalette::Link, QColor(42, 130, 218));
darkPalette.setColor(QPalette::Highlight, QColor(42, 130, 218));
darkPalette.setColor(QPalette::Disabled, QPalette::Highlight, QColor(42, 130, 218, 53));
darkPalette.setColor(QPalette::HighlightedText, Qt::white);
darkPalette.setColor(QPalette::Disabled, QPalette::HighlightedText, QColor(255, 255, 255, 120));
QApplication::setPalette(darkPalette);
2018-12-08 05:19:40 +00:00
MainWindow w;
w.show();
return QApplication::exec();
2017-12-06 04:49:56 +00:00
}