diff -r acd4e87b24b4 -r 2f0af9ba7665 logsui/logsengine/src/logscommondata.cpp --- a/logsui/logsengine/src/logscommondata.cpp Fri Sep 17 16:47:32 2010 +0300 +++ b/logsui/logsengine/src/logscommondata.cpp Fri Oct 15 14:47:48 2010 +0300 @@ -25,6 +25,9 @@ #include #include #include +#include +#include +#include static LogsCommonData* mLogsCommonInstance = 0; @@ -44,14 +47,27 @@ // // ----------------------------------------------------------------------------- // -LogsCommonData::LogsCommonData() : +LogsCommonData::LogsCommonData() : QObject(), mContactManager(0), mMaxReadSize(-1), mMaxReadSizeDir(LogsEvent::DirUndefined), mSettingsManager(new XQSettingsManager()), mMatchLen(logsDefaultMatchLength), - mPredictiveSearchStatus(logsNotInitialized) + mPredictiveSearchStatus(logsNotInitialized), + mCompressed(false), + mPendingThemeChange(false) { - LOGS_QDEBUG( "logs [ENG] <-> LogsCommonData::LogsCommonData()" ) + LOGS_QDEBUG( "logs [ENG] -> LogsCommonData::LogsCommonData()" ) + // If client has created only coreapp, don't treat as GUI client + // since many things will not work properly + QApplication* app = qobject_cast( qApp ); + mIsInGuiProcess = ( app != 0 ); + if ( mIsInGuiProcess ){ + LOGS_QDEBUG( "logs [ENG] Full GUI" ) + updateHighlightColor(); + connect( hbInstance->theme(), SIGNAL ( changeFinished() ), + this, SLOT ( handleThemeChange())); + } + LOGS_QDEBUG( "logs [ENG] <- LogsCommonData::LogsCommonData()" ) } // ----------------------------------------------------------------------------- @@ -259,5 +275,98 @@ return ok; } +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +bool LogsCommonData::isGui() const +{ + return mIsInGuiProcess; +} + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +const QString& LogsCommonData::highlightStart() const +{ + return mHighlightColorStart; +} + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +const QString& LogsCommonData::highlightEnd() const +{ + return mHighlightColorEnd; +} + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void LogsCommonData::refreshData() +{ + LOGS_QDEBUG( "logs [ENG] -> LogsCommonData::refreshData()" ) + bool prevCompressed = mCompressed; + mCompressed = false; + if ( isGui() && prevCompressed ){ + updateHighlightColor(); + if ( mPendingThemeChange ){ + LOGS_QDEBUG( "logs [ENG] Theme changed while compressed" ) + emit commonDataChanged(); + } + } + mPendingThemeChange = false; + LOGS_QDEBUG( "logs [ENG] <- LogsCommonData::refreshData()" ) +} + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void LogsCommonData::compressData() +{ + mCompressed = true; +} + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void LogsCommonData::handleThemeChange() +{ + LOGS_QDEBUG_2( "logs [ENG] -> LogsCommonData::handleThemeChange(), compr", mCompressed ) + if ( mCompressed ){ + mPendingThemeChange = true; + } else { + updateHighlightColor(); + emit commonDataChanged(); + } + LOGS_QDEBUG( "logs [ENG] <- LogsCommonData::handleThemeChange()" ) +} + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void LogsCommonData::updateHighlightColor() +{ + LOGS_QDEBUG( "logs [ENG] -> LogsCommonData::updateHighlightColor()" ) + QColor highlight = HbColorScheme::color("qtc_lineedit_marker_normal"); + QColor color = HbColorScheme::color("qtc_lineedit_selected"); + + mHighlightColorStart = QString("") + .arg(highlight.name().toUpper()) + .arg(color.name().toUpper()); + mHighlightColorEnd = ""; + + LOGS_QDEBUG_2( "logs [ENG] <- LogsCommonData::updateHighlightColor():", + mHighlightColorStart ) +} + + // End of file +