本文整理汇总了C++中ThemeInfo::GetName方法的典型用法代码示例。如果您正苦于以下问题:C++ ThemeInfo::GetName方法的具体用法?C++ ThemeInfo::GetName怎么用?C++ ThemeInfo::GetName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ThemeInfo
的用法示例。
在下文中一共展示了ThemeInfo::GetName方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ThemeInfo
ThemeInfo *ThemeChooser::loadThemeInfo(QFileInfo &theme)
{
if (theme.fileName() == "default" || theme.fileName() == "default-wide")
return NULL;
ThemeInfo *themeinfo = NULL;
if (theme.exists()) // local directory vs http:// or remote URL
themeinfo = new ThemeInfo(theme.absoluteFilePath());
else
themeinfo = new ThemeInfo(theme.filePath());
if (!themeinfo)
return NULL;
if (themeinfo->GetName().isEmpty() || !(themeinfo->GetType() & THEME_UI))
{
delete themeinfo;
return NULL;
}
m_themeFileNameInfos[theme.filePath()] = themeinfo;
m_themeNameInfos[theme.fileName()] = themeinfo;
return themeinfo;
}
示例2: removeTheme
void ThemeChooser::removeTheme(void)
{
MythUIButtonListItem *current = m_themes->GetItemCurrent();
if (!current)
{
ShowOkPopup(tr("Error, no theme selected."));
return;
}
ThemeInfo *info = qVariantValue<ThemeInfo *>(current->GetData());
if (!info)
{
ShowOkPopup(tr("Error, unable to find current theme."));
return;
}
QString themeDir = GetConfDir() + "/themes/";
if (!info->GetPreviewPath().startsWith(themeDir))
{
ShowOkPopup(tr("%1 is not a user-installed theme and can not "
"be deleted.").arg(info->GetName()));
return;
}
themeDir.append(info->GetDirectoryName());
removeThemeDir(themeDir);
ReloadInBackground();
}
示例3: itemChanged
void ThemeChooser::itemChanged(MythUIButtonListItem *item)
{
ThemeInfo *info = qVariantValue<ThemeInfo*>(item->GetData());
if (!info)
return;
QFileInfo preview(info->GetPreviewPath());
QHash<QString, QString> infomap;
info->ToMap(infomap);
SetTextFromMap(infomap);
if (m_preview)
{
if (preview.exists())
{
m_preview->SetFilename(info->GetPreviewPath());
m_preview->Load();
}
else
m_preview->Reset();
}
if (m_fullPreviewShowing && m_fullPreviewStateType)
{
if (m_fullScreenPreview)
{
if (preview.exists())
{
m_fullScreenPreview->SetFilename(info->GetPreviewPath());
m_fullScreenPreview->Load();
}
else
m_fullScreenPreview->Reset();
}
if (m_fullScreenName)
m_fullScreenName->SetText(info->GetName());
}
MythUIStateType *themeLocation =
dynamic_cast<MythUIStateType*>(GetChild("themelocation"));
if (themeLocation)
{
if (info->GetDownloadURL().isEmpty())
themeLocation->DisplayState("local");
else
themeLocation->DisplayState("remote");
}
MythUIStateType *aspectState =
dynamic_cast<MythUIStateType*>(GetChild("aspectstate"));
if (aspectState)
aspectState->DisplayState(info->GetAspect());
}
示例4: saveAndReload
void ThemeChooser::saveAndReload(MythUIButtonListItem *item)
{
ThemeInfo *info = qVariantValue<ThemeInfo *>(item->GetData());
if (!info)
return;
if (!info->GetDownloadURL().isEmpty())
{
QString downloadURL = info->GetDownloadURL();
QFileInfo qfile(downloadURL);
QString baseName = qfile.fileName();
if (!gCoreContext->GetSetting("ThemeDownloadURL").isEmpty())
{
QStringList tokens =
gCoreContext->GetSetting("ThemeDownloadURL")
.split(";", QString::SkipEmptyParts);
QString origURL = downloadURL;
downloadURL.replace(tokens[0], tokens[1]);
LOG(VB_FILE, LOG_WARNING, LOC +
QString("Theme download URL overridden from %1 to %2.")
.arg(origURL).arg(downloadURL));
}
OpenBusyPopup(tr("Downloading %1 Theme").arg(info->GetName()));
m_downloadTheme = info;
m_downloadFile = RemoteDownloadFile(downloadURL,
"Temp", baseName);
m_downloadState = dsDownloadingOnBackend;
}
else
{
gCoreContext->SaveSetting("Theme", info->GetDirectoryName());
GetMythMainWindow()->JumpTo("Reload Theme");
}
}
示例5: toggleFullscreenPreview
void ThemeChooser::toggleFullscreenPreview(void)
{
if (m_fullPreviewStateType)
{
if (m_fullPreviewShowing)
{
if (m_fullScreenPreview)
m_fullScreenPreview->Reset();
if (m_fullScreenName)
m_fullScreenName->Reset();
m_fullPreviewStateType->Reset();
m_fullPreviewShowing = false;
}
else
{
MythUIButtonListItem *item = m_themes->GetItemCurrent();
ThemeInfo *info = qVariantValue<ThemeInfo*>(item->GetData());
if (info)
{
if (m_fullScreenPreview)
{
m_fullScreenPreview->SetFilename(info->GetPreviewPath());
m_fullScreenPreview->Load();
}
if (m_fullScreenName)
m_fullScreenName->SetText(info->GetName());
m_fullPreviewStateType->DisplayState("fullscreen");
m_fullPreviewShowing = true;
}
}
}
}
示例6: LoadQtConfig
void MythUIHelper::LoadQtConfig(void)
{
gCoreContext->ResetLanguage();
d->themecachedir.clear();
if (GetMythDB()->GetNumSetting("UseVideoModes", 0))
{
DisplayRes *dispRes = DisplayRes::GetDisplayRes(); // create singleton
if (dispRes)
{
d->display_res = dispRes;
// Make sure DisplayRes has current context info
d->display_res->Initialize();
// Switch to desired GUI resolution
if (d->display_res->SwitchToGUI())
{
d->WaitForScreenChange();
}
}
}
// Note the possibly changed screen settings
d->GetScreenBounds();
delete d->m_qtThemeSettings;
d->m_qtThemeSettings = new Settings;
qApp->setStyle("Windows");
QString themename = GetMythDB()->GetSetting("Theme", DEFAULT_UI_THEME);
QString themedir = FindThemeDir(themename);
ThemeInfo *themeinfo = new ThemeInfo(themedir);
if (themeinfo)
{
d->m_isWide = themeinfo->IsWide();
d->m_baseWidth = themeinfo->GetBaseRes()->width();
d->m_baseHeight = themeinfo->GetBaseRes()->height();
d->m_themename = themeinfo->GetName();
LOG(VB_GUI, LOG_INFO, LOC +
QString("Using theme base resolution of %1x%2")
.arg(d->m_baseWidth).arg(d->m_baseHeight));
delete themeinfo;
}
// Recalculate GUI dimensions
d->StoreGUIsettings();
d->m_themepathname = themedir + '/';
themedir += "/qtlook.txt";
d->m_qtThemeSettings->ReadSettings(themedir);
d->m_themeloaded = false;
themename = GetMythDB()->GetSetting("MenuTheme", "defaultmenu");
if (themename == "default")
themename = "defaultmenu";
d->m_menuthemepathname = FindMenuThemeDir(themename) + '/';
}
示例7: Init
void ThemeChooser::Init(void)
{
QString curTheme = gCoreContext->GetSetting("Theme");
ThemeInfo *themeinfo = NULL;
ThemeInfo *curThemeInfo = NULL;
MythUIButtonListItem *item = NULL;
m_themes->Reset();
for( QFileInfoList::iterator it = m_infoList.begin();
it != m_infoList.end();
++it )
{
QFileInfo &theme = *it;
if (!m_themeFileNameInfos.contains(theme.filePath()))
continue;
themeinfo = m_themeFileNameInfos[theme.filePath()];
if (!themeinfo)
continue;
QString buttonText = QString("%1 %2.%3")
.arg(themeinfo->GetName())
.arg(themeinfo->GetMajorVersion())
.arg(themeinfo->GetMinorVersion());
item = new MythUIButtonListItem(m_themes, buttonText);
if (item)
{
if (themeinfo->GetDownloadURL().isEmpty())
item->DisplayState("local", "themelocation");
else
item->DisplayState("remote", "themelocation");
item->DisplayState(themeinfo->GetAspect(), "aspectstate");
item->DisplayState(m_themeStatuses[themeinfo->GetName()],
"themestatus");
QHash<QString, QString> infomap;
themeinfo->ToMap(infomap);
item->SetTextFromMap(infomap);
item->SetData(qVariantFromValue(themeinfo));
QString thumbnail = themeinfo->GetPreviewPath();
QFileInfo fInfo(thumbnail);
// Downloadable themeinfos have thumbnail copies of their preview images
if (!themeinfo->GetDownloadURL().isEmpty())
thumbnail = thumbnail.append(".thumb.jpg");
item->SetImage(thumbnail);
if (curTheme == themeinfo->GetDirectoryName())
curThemeInfo = themeinfo;
}
else
delete item;
}
SetFocusWidget(m_themes);
if (curThemeInfo)
m_themes->SetValueByData(qVariantFromValue(curThemeInfo));
MythUIButtonListItem *current = m_themes->GetItemCurrent();
if (current)
itemChanged(current);
}
示例8: Load
//.........这里部分代码省略.........
dir.mkpath(destdir);
bool result = GetMythDownloadManager()->download(url, remoteThemesFile);
SetBusyPopupMessage(tr("Extracting Downloadable Themes Information"));
if (!result || !extractZIP(remoteThemesFile, destdir))
{
QFile::remove(remoteThemesFile);
downloadFailures++;
gCoreContext->SaveSetting("ThemeInfoDownloadFailures",
downloadFailures);
}
}
QDir remoteThemesDir(GetMythUI()->GetThemeCacheDir()
.append("/themechooser/").append(MythVersion));
if ((QFile::exists(remoteThemesFile)) &&
(remoteThemesDir.exists()))
{
SetBusyPopupMessage(tr("Loading Downloadable Themes"));
LOG(VB_GUI, LOG_INFO, LOC +
QString("%1 and %2 exist, using cached remote themes list")
.arg(remoteThemesFile).arg(remoteThemesDir.absolutePath()));
QString themesPath = remoteThemesDir.absolutePath();
themes.setPath(themesPath);
QFileInfoList downloadableThemes = themes.entryInfoList();
for( QFileInfoList::iterator it = downloadableThemes.begin();
it != downloadableThemes.end();
++it )
{
QString dirName = (*it).fileName();
QString themeName = dirName;
QString remoteDir = themeSite;
remoteDir.append("/").append(dirName);
QString localDir = themes.absolutePath();
localDir.append("/").append(dirName);
if (themesSeen.contains(dirName))
{
ThemeInfo remoteTheme((*it).absoluteFilePath());
ThemeInfo *localTheme = m_themeNameInfos[dirName];
themeName = remoteTheme.GetName();
int rmtMaj = remoteTheme.GetMajorVersion();
int rmtMin = remoteTheme.GetMinorVersion();
int locMaj = localTheme->GetMajorVersion();
int locMin = localTheme->GetMinorVersion();
if ((rmtMaj > locMaj) ||
((rmtMaj == locMaj) &&
(rmtMin > locMin)))
{
if (loadThemeInfo(*it))
{
m_infoList << *it;
m_themeStatuses[themeName] = "updateavailable";
QFileInfo finfo(remoteTheme.GetPreviewPath());
GetMythDownloadManager()->queueDownload(
remoteDir.append("/").append(finfo.fileName()),
localDir.append("/").append(finfo.fileName()),
NULL);
}
}
else if ((rmtMaj == locMaj) &&
(rmtMin == locMin))
{
m_themeStatuses[themeName] = "uptodate";
}
}
else
{
ThemeInfo *remoteTheme = loadThemeInfo(*it);
if (remoteTheme)
{
themeName = remoteTheme->GetName();
themesSeen << dirName;
m_infoList << *it;
m_themeStatuses[themeName] = "updateavailable";
QFileInfo finfo(remoteTheme->GetPreviewPath());
GetMythDownloadManager()->queueDownload(
remoteDir.append("/").append(finfo.fileName()),
localDir.append("/").append(finfo.fileName()),
NULL);
}
}
}
}
ResetBusyPopup();
qSort(m_infoList.begin(), m_infoList.end(), sortThemeNames);
}