本文整理汇总了C++中Theme::currentBackgroundIndex方法的典型用法代码示例。如果您正苦于以下问题:C++ Theme::currentBackgroundIndex方法的具体用法?C++ Theme::currentBackgroundIndex怎么用?C++ Theme::currentBackgroundIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Theme
的用法示例。
在下文中一共展示了Theme::currentBackgroundIndex方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: applyCurrentSettings
void AppearanceSettings::applyCurrentSettings()
{
Theme *theme = currentTheme();
if (!theme)
return;
bool needsRestart = themeNeedsRestart(theme);
if (needsRestart) {
if (QMessageBox::warning(this, tr("Restart?"),
tr("Device will be restarted for theme to be fully applied.<br>Apply Now?"),
QMessageBox::Yes, QMessageBox::No)
!= QMessageBox::Yes) {
return;
}
}
bool themeChanged = (theme->uniqueName() + ".conf" != m_savedTheme);
bool colorSchemeChanged = (theme->colorSchemeNames()[theme->currentColorIndex()] + ".scheme"
!= m_savedColorScheme);
bool backgroundChanged = (theme->backgrounds()[theme->currentBackgroundIndex()]
!= m_savedBackground);
bool softKeyLabelTypeChanged = (m_softKeyIconCheck->isChecked() ?
QSoftMenuBar::IconLabel : QSoftMenuBar::TextLabel) != m_savedLabelType;
qLog(UI) << "Theme settings changed?" << themeChanged << colorSchemeChanged
<< backgroundChanged <<softKeyLabelTypeChanged;
// write config settings
if (themeChanged)
theme->writeThemeSettings(theme->uniqueName() + ".conf" != m_themeCombo->currentText());
if (colorSchemeChanged)
theme->writeColorSchemeSettings();
// apply changes
if (themeChanged || colorSchemeChanged) {
QtopiaChannel::send("QPE/System", "applyStyle()");
if (themeChanged)
QtopiaChannel::send("QPE/System", "applyStyleSplash()");
else
QtopiaChannel::send("QPE/System", "applyStyleNoSplash()");
}
if (backgroundChanged)
applyBackgroundImage();
if (softKeyLabelTypeChanged)
applySoftKeyLabels();
if (!theme->stringValue(Theme::ServerWidgets).isEmpty()) {
QSettings serverWidgetsConfig("Trolltech", "ServerWidgets");
serverWidgetsConfig.beginGroup("Mapping");
serverWidgetsConfig.remove(""); //delete all entries in current grp
serverWidgetsConfig.setValue("Default", theme->stringValue(Theme::ServerWidgets));
if (needsRestart) {
QtopiaIpcEnvelope env("QPE/System", "restart()");
QtopiaApplication::quit();
}
}
}
示例2: themeChanged
void AppearanceSettings::themeChanged(int index)
{
Theme *theme = m_themes.value(index, 0);
if (!theme)
return;
QStringListModel *model;
model = qobject_cast<QStringListModel *>(m_colorCombo->model());
model->setStringList(theme->colorSchemeNames());
m_colorCombo->setCurrentIndex(theme->currentColorIndex());
model = qobject_cast<QStringListModel *>(m_backgroundCombo->model());
model->setStringList(theme->backgrounds());
m_backgroundCombo->setCurrentIndex(theme->currentBackgroundIndex());
}
示例3: themeChanged
void AppearanceSettings::themeChanged(int index)
{
// Launch web browser for more themes
if(index == (m_themeCombo->count() - 1)) {
QProcess::execute("arora", QStringList() << "http://qtmoko.sourceforge.net/apps/category-themes.html");
QStringListModel *model = qobject_cast<QStringListModel *>(m_themeCombo->model());
QStringList oldThemes = model->stringList();
loadThemes();
// Find theme which was installed
model = qobject_cast<QStringListModel *>(m_themeCombo->model());
QStringList newThemes = model->stringList();
for(int i = 0; i < newThemes.count(); i++) {
if(oldThemes.count() <= i || oldThemes[i] != newThemes[i]) {
m_prevIndex = i;
break;
}
}
m_themeCombo->setCurrentIndex(m_prevIndex);
return;
}
Theme *theme = m_themes.value(index, 0);
if (!theme)
return;
m_prevIndex = index;
QStringListModel *model;
model = qobject_cast<QStringListModel *>(m_colorCombo->model());
model->setStringList(theme->colorSchemeNames());
m_colorCombo->setCurrentIndex(theme->currentColorIndex());
model = qobject_cast<QStringListModel *>(m_backgroundCombo->model());
model->setStringList(theme->backgrounds());
m_backgroundCombo->setCurrentIndex(theme->currentBackgroundIndex());
}