1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #include "lhstylemanager.h"
- LHStyleManager* LHStyleManager::m_instance = NULL;
- LHStyleManager::LHStyleManager(QObject *parent) : QObject(parent)
- {
- m_nCurStyle = eBlackStyle;
- }
- LHStyleManager::~LHStyleManager()
- {
- if(m_instance)
- {
- delete m_instance;
- }
- }
- LHStyleManager *LHStyleManager::Instance()
- {
- if(m_instance != NULL)
- {
- return m_instance;
- }
- m_instance = new LHStyleManager();
- return m_instance;
- }
- void LHStyleManager::AddWidget(QWidget *widget)
- {
- if(widget != NULL && !m_widgetList.contains(widget))
- {
- m_widgetList.append(widget);
- UpdateWidgetStyle(widget);
- }
- }
- void LHStyleManager::UpdateWidgetStyle(QWidget *widget)
- {
- if(widget == NULL)
- {
- return;
- }
- QString strBasePath = QCoreApplication::applicationDirPath();
- QString strStylePath;
- QString strName = widget->objectName().toLower();
- if(m_nCurStyle == eWhiteStyle)
- {
- strStylePath = "white";
- }
- else if(m_nCurStyle == eBlackStyle)
- {
- strStylePath = "black";
- }
- QString strStyleFile = strBasePath + QString("/%1/%2.qss").arg(strStylePath).arg(strName);
- QFile file(strStyleFile);
- file.open(QFile::ReadOnly);
- QString styleSheet = QLatin1String(file.readAll());
- widget->setStyleSheet(styleSheet);
- file.close();
- }
- void LHStyleManager::SetSkinStyle(SkinStyle style)
- {
- if(m_nCurStyle == style)
- {
- return;
- }
- m_nCurStyle = style;
- for(int i = 0; i < m_widgetList.size(); i++)
- {
- QWidget* widget = m_widgetList.at(i);
- if(widget == NULL) continue;
- UpdateWidgetStyle(widget);
- }
- }
|