/
Shymer123
/
Messenger
Обзор
Документация
Войти
/
Shymer123
/
Messenger
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
UI_Client/SourceFiles/applicationStyle.cpp
89 строк
3 KB
Shymer123
The app's style has been fixed (borders have been added to some widgets and the style of the search bar has been redesigned).
25 апр 2025, 15:34
25 апр 2025, 15:34
90f2802
Код
Авторство
О чём код?
#include <QFile> #include <QTextStream> #include <QFontDatabase> #include "applicationStyle.h" #include "Settings/SettingsManager.h" ApplicationStyle& ApplicationStyle::instance() { static ApplicationStyle instance; return instance; } void ApplicationStyle::applyStyles() { Settings::SettingsManager& settingsManager = Settings::SettingsManager::instance(); QString theme = settingsManager.loadSetting<QString>("theme", "light"); if(theme == "light") { setLightMode(); } else { setNightMode(); } int fontID = QFontDatabase::addApplicationFont(":/fonts/Roboto.ttf"); if(fontID == -1) { qDebug() << "Failed to load font!"; } } void ApplicationStyle::setLightMode() { QString style = loadStyleSheet(":/styles/lightTheme.css"); app->setStyleSheet(style); Settings::SettingsManager::instance().saveSettings("theme", "light"); Settings::SettingsManager::instance().saveSettings("backgroundColorElement", "#FFFFFF"); Settings::SettingsManager::instance().saveSettings("backgroundColorSelectedElement", "#41A1D9"); Settings::SettingsManager::instance().saveSettings("backgroundColorHoverElement", "#F1F1F1"); Settings::SettingsManager::instance().saveSettings("titleColor", "#000000"); Settings::SettingsManager::instance().saveSettings("lastMessageColor", "#9B9B9B"); Settings::SettingsManager::instance().saveSettings("timeColor", "#B0B0B0"); Settings::SettingsManager::instance().saveSettings("bubbleBackgroundColorIsSentCurrent", "#DEF1FD"); Settings::SettingsManager::instance().saveSettings("bubbleBackgroundColorIsSentNotCurrent", "#FFFFFF"); Settings::SettingsManager::instance().saveSettings("backgroundColorFileIcon", "#3F96D0"); } void ApplicationStyle::setNightMode() { QString style = loadStyleSheet(":/styles/darkTheme.css"); app->setStyleSheet(style); Settings::SettingsManager::instance().saveSettings("theme", "dark"); Settings::SettingsManager::instance().saveSettings("backgroundColorElement", "#17212B"); Settings::SettingsManager::instance().saveSettings("backgroundColorSelectedElement", "#2B5378"); Settings::SettingsManager::instance().saveSettings("backgroundColorHoverElement", "#202B36"); Settings::SettingsManager::instance().saveSettings("titleColor", "#FFFFFF"); Settings::SettingsManager::instance().saveSettings("lastMessageColor", "#B0B0B0"); Settings::SettingsManager::instance().saveSettings("timeColor", "#B0B0B0"); Settings::SettingsManager::instance().saveSettings("bubbleBackgroundColorIsSentCurrent", "#2b5378"); Settings::SettingsManager::instance().saveSettings("bubbleBackgroundColorIsSentNotCurrent", "#182533"); Settings::SettingsManager::instance().saveSettings("backgroundColorFileIcon", "#3F96D0"); } void ApplicationStyle::setApp(QApplication* app) { this->app = app; } QString ApplicationStyle::loadStyleSheet(const QString& path) { QFile file(path); if(file.open(QFile::ReadOnly)) { QTextStream stream(&file); QString style = stream.readAll(); file.close(); return style; } else { qDebug() << "error in qss upload: " << path; return QString(); } }