本文整理汇总了C++中MythUIBusyDialog::Close方法的典型用法代码示例。如果您正苦于以下问题:C++ MythUIBusyDialog::Close方法的具体用法?C++ MythUIBusyDialog::Close怎么用?C++ MythUIBusyDialog::Close使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MythUIBusyDialog
的用法示例。
在下文中一共展示了MythUIBusyDialog::Close方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: startScan
void ImportMusicDialog::startScan()
{
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
MythUIBusyDialog *busy =
new MythUIBusyDialog(QObject::tr("Searching for music files"),
popupStack,
"scanbusydialog");
if (busy->Create())
{
popupStack->AddScreen(busy, false);
}
else
{
delete busy;
busy = NULL;
}
FileScannerThread *scanner = new FileScannerThread(this);
scanner->start();
while (!scanner->isFinished())
{
usleep(500);
qApp->processEvents();
}
delete scanner;
m_currentTrack = 0;
fillWidgets();
if (busy)
busy->Close();
}
示例2: reloadMusic
/// reload music after a scan, rip or import
void MusicData::reloadMusic(void)
{
if (!all_music || !all_playlists)
return;
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
QString message = QObject::tr("Rebuilding music tree");
MythUIBusyDialog *busy = new MythUIBusyDialog(message, popupStack,
"musicscanbusydialog");
if (busy->Create())
popupStack->AddScreen(busy, false);
else
busy = NULL;
all_music->startLoading();
while (!all_music->doneLoading())
{
qApp->processEvents();
usleep(50000);
}
all_playlists->postLoad();
if (busy)
busy->Close();
}
示例3: Init
void RecordingSelector::Init(void)
{
QString message = tr("Retrieving Recording List. Please Wait...");
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
MythUIBusyDialog *busyPopup = new
MythUIBusyDialog(message, popupStack, "recordingselectorbusydialog");
if (busyPopup->Create())
popupStack->AddScreen(busyPopup, false);
else
{
delete busyPopup;
busyPopup = false;
}
GetRecordingListThread *thread = new GetRecordingListThread(this);
while (thread->isRunning())
{
qApp->processEvents();
usleep(100);
}
if (!m_recordingList || m_recordingList->size() == 0)
{
ShowOkPopup(tr("Either you don't have any recordings or "
"no recordings are available locally!"));
if (busyPopup)
busyPopup->Close();
Close();
return;
}
updateCategorySelector();
updateSelectedList();
updateRecordingList();
if (busyPopup)
busyPopup->Close();
}
示例4: Init
void ImportFile::Init(void)
{
QString message = tr("Retrieving Recording List. Please Wait...");
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
MythUIBusyDialog *busyPopup = new
MythUIBusyDialog(message, popupStack, "getrecordingbusydialog");
if (busyPopup->Create())
popupStack->AddScreen(busyPopup, false);
else
{
delete busyPopup;
busyPopup = NULL;
}
GetImportRecordingListThread *thread = new GetImportRecordingListThread(this);
while (thread->isRunning())
{
qApp->processEvents();
usleep(2000);
}
if (m_recordingList.empty())
{
ShowOkPopup(tr("Failed to get recording list!"));
if (busyPopup)
busyPopup->Close();
Close();
return;
}
updateCategorySelector();
updateSelectedList();
updateRecordingList();
if (busyPopup)
busyPopup->Close();
}
示例5: recordFile
void ImportFile::recordFile(void)
{
MythUIButtonListItem *item = m_recordingButtonList->GetItemCurrent();
if (!item)
return;
ImportItem *i = item->GetData().value<ImportItem *>();
if (!i)
return;
if (!doPlayFile(i, false))
return;
QString message = tr("Getting List Of Recording.\nPlease Wait...");
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
MythUIBusyDialog *busyPopup = new
MythUIBusyDialog(message, popupStack, "recordingbusydialog");
if (busyPopup->Create())
popupStack->AddScreen(busyPopup, false);
else
{
delete busyPopup;
busyPopup = NULL;
}
GetImportRecordingThread *thread = new GetImportRecordingThread(this);
while (thread->isRunning())
{
qApp->processEvents();
usleep(2000);
}
if (busyPopup)
busyPopup->Close();
}
示例6: processGames
void GameHandler::processGames(GameHandler *handler)
{
QString thequery;
int maxcount = 0;
MSqlQuery query(MSqlQuery::InitCon());
if ((!handler->SystemRomPath().isEmpty()) && (handler->GameType() != "PC"))
{
QDir d(handler->SystemRomPath());
if (d.exists())
maxcount = buildFileCount(handler->SystemRomPath(),handler);
else
{
LOG(VB_GENERAL, LOG_ERR, LOC +
QString("ROM Path does not exist: %1")
.arg(handler->SystemRomPath()));
return;
}
}
else
maxcount = 100;
if (handler->GameType() == "PC")
{
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
QString message = QObject::tr("Scanning for %1 games...")
.arg(handler->SystemName());
MythUIBusyDialog *busyDialog = new MythUIBusyDialog(message, popupStack,
"gamescanbusy");
if (busyDialog->Create())
popupStack->AddScreen(busyDialog, false);
else
{
delete busyDialog;
busyDialog = NULL;
}
m_GameMap[handler->SystemCmdLine()] =
GameScan(handler->SystemCmdLine(),
handler->SystemCmdLine(),
inFileSystem,
handler->SystemName(),
handler->SystemCmdLine().left(handler->SystemCmdLine().lastIndexOf(QRegExp("/"))));
if (busyDialog)
busyDialog->Close();
LOG(VB_GENERAL, LOG_INFO, LOC +
QString("PC Game %1").arg(handler->SystemName()));
}
else
{
QString message = QObject::tr("Scanning for %1 games...")
.arg(handler->SystemName());
CreateProgress(message);
if (m_progressDlg)
m_progressDlg->SetTotal(maxcount);
int filecount = 0;
buildFileList(handler->SystemRomPath(), handler, &filecount);
if (m_progressDlg)
{
m_progressDlg->Close();
m_progressDlg = NULL;
}
}
VerifyGameDB(handler);
// If we still have some games in the list then update the database
if (!m_GameMap.empty())
{
InitMetaDataMap(handler->GameType());
UpdateGameDB(handler);
romDB.clear();
handler->setRebuild(true);
}
else
handler->setRebuild(false);
}
示例7: SearchDir
/*!
* \brief Scan a directory recursively for music and albumart.
* Inserts, updates and removes any files any files found in the
* database.
*
* \param directory Directory to scan
*
* \returns Nothing.
*/
void FileScanner::SearchDir(QString &directory)
{
m_startdir = directory;
MusicLoadedMap music_files;
MusicLoadedMap::Iterator iter;
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
QString message = QObject::tr("Searching for music files");
MythUIBusyDialog *busy = new MythUIBusyDialog(message, popupStack,
"musicscanbusydialog");
if (busy->Create())
popupStack->AddScreen(busy, false);
else
busy = NULL;
BuildFileList(m_startdir, music_files, 0);
if (busy)
busy->Close();
ScanMusic(music_files);
ScanArtwork(music_files);
message = QObject::tr("Updating music database");
MythUIProgressDialog *file_checking = new MythUIProgressDialog(message,
popupStack,
"scalingprogressdialog");
if (file_checking->Create())
{
popupStack->AddScreen(file_checking, false);
file_checking->SetTotal(music_files.size());
}
else
{
delete file_checking;
file_checking = NULL;
}
/*
This can be optimised quite a bit by consolidating all commands
via a lot of refactoring.
1) group all files of the same decoder type, and don't
create/delete a Decoder pr. AddFileToDB. Or make Decoders be
singletons, it should be a fairly simple change.
2) RemoveFileFromDB should group the remove into one big SQL.
3) UpdateFileInDB, same as 1.
*/
uint counter = 0;
for (iter = music_files.begin(); iter != music_files.end(); iter++)
{
if (*iter == kFileSystem)
AddFileToDB(iter.key());
else if (*iter == kDatabase)
RemoveFileFromDB(iter.key ());
else if (*iter == kNeedUpdate)
UpdateFileInDB(iter.key());
if (file_checking)
{
file_checking->SetProgress(++counter);
qApp->processEvents();
}
}
if (file_checking)
file_checking->Close();
// Cleanup orphaned entries from the database
cleanDB();
}
示例8: loadMusic
static void loadMusic()
{
// only do this once
if (gMusicData->initialized)
return;
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
QString message = QObject::tr("Loading Music. Please wait ...");
MythUIBusyDialog *busy = new MythUIBusyDialog(message, popupStack,
"musicscanbusydialog");
if (busy->Create())
popupStack->AddScreen(busy, false);
else
busy = NULL;
srand(time(NULL));
CheckFreeDBServerFile();
MSqlQuery count_query(MSqlQuery::InitCon());
bool musicdata_exists = false;
if (count_query.exec("SELECT COUNT(*) FROM music_songs;"))
{
if(count_query.next() &&
0 != count_query.value(0).toInt())
{
musicdata_exists = true;
}
}
// Load all available info about songs (once!)
QString startdir = gCoreContext->GetSetting("MusicLocation");
startdir = QDir::cleanPath(startdir);
if (!startdir.endsWith("/"))
startdir += "/";
Metadata::SetStartdir(startdir);
Decoder::SetLocationFormatUseTags();
// Only search music files if a directory was specified & there
// is no data in the database yet (first run). Otherwise, user
// can choose "Setup" option from the menu to force it.
if (!startdir.isEmpty() && !musicdata_exists)
{
FileScanner *fscan = new FileScanner();
fscan->SearchDir(startdir);
delete fscan;
}
QString paths = gCoreContext->GetSetting("TreeLevels");
// Set the various track formatting modes
Metadata::setArtistAndTrackFormats();
AllMusic *all_music = new AllMusic(paths, startdir);
// Load all playlists into RAM (once!)
PlaylistContainer *all_playlists = new PlaylistContainer(
all_music, gCoreContext->GetHostName());
gMusicData->paths = paths;
gMusicData->startdir = startdir;
gMusicData->all_playlists = all_playlists;
gMusicData->all_music = all_music;
gMusicData->initialized = true;
while (!gMusicData->all_playlists->doneLoading() || !gMusicData->all_music->doneLoading())
{
qApp->processEvents();
usleep(50000);
}
gMusicData->all_playlists->postLoad();
gPlayer->constructPlaylist();
if (busy)
busy->Close();
}
示例9: findScripts
bool SourceManager::findScripts()
{
QString path = GetShareDir() + "mythweather/scripts/";
QDir dir(path);
dir.setFilter(QDir::Executable | QDir::Files | QDir::Dirs);
if (!dir.exists())
{
LOG(VB_GENERAL, LOG_ERR, "MythWeather: Scripts directory not found");
return false;
}
QString busymessage = tr("Searching for scripts");
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("weather stack");
if (popupStack == nullptr)
popupStack = GetMythMainWindow()->GetStack("popup stack");
MythUIBusyDialog *busyPopup = new MythUIBusyDialog(busymessage, popupStack,
"mythweatherbusydialog");
if (busyPopup->Create())
{
popupStack->AddScreen(busyPopup, false);
}
else
{
delete busyPopup;
busyPopup = nullptr;
}
qApp->processEvents();
recurseDirs(dir);
// run through and see if any scripts have been deleted
MSqlQuery db(MSqlQuery::InitCon());
db.prepare("SELECT sourceid, path FROM weathersourcesettings "
"WHERE hostname = :HOST;");
db.bindValue(":HOST", gCoreContext->GetHostName());
if (!db.exec())
MythDB::DBError("SourceManager::findScripts - select", db);
QStringList toRemove;
while (db.next())
{
QFileInfo fi(db.value(1).toString());
if (!fi.isExecutable())
{
toRemove << db.value(0).toString();
LOG(VB_GENERAL, LOG_ERR, QString("'%1' no longer exists")
.arg(fi.absoluteFilePath()));
}
}
db.prepare("DELETE FROM weathersourcesettings WHERE sourceid = :ID;");
for (int i = 0; i < toRemove.count(); ++i)
{
db.bindValue(":ID", toRemove[i]);
if (!db.exec())
{
// MythDB::DBError("Deleting weather source settings", db);
}
}
if (busyPopup)
{
busyPopup->Close();
busyPopup = nullptr;
}
return m_scripts.count() > 0;
}
示例10: updateArchiveList
void MythBurn::updateArchiveList(void)
{
QString message = tr("Retrieving File Information. Please Wait...");
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
MythUIBusyDialog *busyPopup = new
MythUIBusyDialog(message, popupStack, "mythburnbusydialog");
if (busyPopup->Create())
popupStack->AddScreen(busyPopup, false);
else
{
delete busyPopup;
busyPopup = NULL;
}
qApp->processEvents();
m_archiveButtonList->Reset();
if (m_archiveList.size() == 0)
{
m_nofilesText->Show();
}
else
{
ArchiveItem *a;
for (int x = 0; x < m_archiveList.size(); x++)
{
qApp->processEvents();
a = m_archiveList.at(x);
// get duration of this file
if (a->duration == 0)
getFileDetails(a);
// get default encoding profile if needed
if (a->encoderProfile == NULL)
a->encoderProfile = getDefaultProfile(a);
recalcItemSize(a);
MythUIButtonListItem* item = new
MythUIButtonListItem(m_archiveButtonList, a->title);
item->SetData(qVariantFromValue(a));
item->SetText(a->subtitle, "subtitle");
item->SetText(a->startDate + " " + a->startTime, "date");
item->SetText(formatSize(a->newsize / 1024, 2), "size");
if (a->hasCutlist)
{
if (a->useCutlist)
{
item->SetText(tr("Using Cutlist"), "cutlist");
item->DisplayState("using", "cutliststatus");
}
else
{
item->SetText(tr("Not Using Cutlist"), "cutlist");
item->DisplayState("notusing", "cutliststatus");
}
}
else
{
item->SetText(tr("No Cut List"), "cutlist");
item->DisplayState("none", "cutliststatus");
}
item->SetText(tr("Encoder: ") + a->encoderProfile->name, "profile");
}
m_nofilesText->Hide();
m_archiveButtonList->SetItemCurrent(
m_archiveButtonList->GetItemFirst());
}
updateSizeBar();
if (busyPopup)
busyPopup->Close();
}
示例11: HandleImport
void IconView::HandleImport(void)
{
QFileInfo path;
QDir importdir;
// Makes import directory samba/windows friendly (no colon)
QString idirname = m_currDir + "/" +
MythDate::current().toString("yyyy-MM-dd_hh-mm-ss");
importdir.mkdir(idirname);
importdir.setPath(idirname);
for (QStringList::const_iterator it = m_paths.begin();
it != m_paths.end(); ++it)
{
path.setFile(*it);
if (path.isDir() && path.isReadable())
{
ImportFromDir(*it, importdir.absolutePath());
}
else if (path.isFile() && path.isExecutable())
{
if (m_allowImportScripts)
{
QString cmd = *it + " " + importdir.absolutePath();
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
MythUIBusyDialog *busy =
new MythUIBusyDialog(tr("Importing images from camera. Please wait..."),
popupStack,
"importbusydialog");
if (busy->Create())
{
popupStack->AddScreen(busy, false);
}
else
{
delete busy;
busy = NULL;
}
ImportThread *import = new ImportThread(cmd);
import->start();
while (!import->isFinished())
{
usleep(500);
qApp->processEvents();
}
delete import;
if (busy)
busy->Close();
}
else
{
ShowOkPopup(tr("Found an import script (%1) but running them has been disabled in the settings!")
.arg(*it));
importdir.rmdir(importdir.absolutePath());
return;
}
}
else
{
LOG(VB_GENERAL, LOG_ERR, LOC +
QString("Could not read or execute %1").arg(*it));
ShowOkPopup(tr("Could not read or execute %1").arg(*it));
}
}
importdir.setFilter(QDir::Files | QDir::Readable | QDir::NoDotAndDotDot);
importdir.refresh();
if (importdir.count() == 0)
{
ShowOkPopup(tr("Nothing found to import"));
importdir.rmdir(importdir.absolutePath());
return;
}
else
ShowOkPopup(tr("Found %n image(s)", "", importdir.count()));
LoadDirectory(m_currDir);
}
示例12: Load
//.........这里部分代码省略.........
{
delete busyPopup;
busyPopup = NULL;
}
QDir TVScriptPath = QString("%1metadata/Television/").arg(GetShareDir());
QStringList TVScripts = TVScriptPath.entryList(QDir::Files);
QDir MovieScriptPath = QString("%1metadata/Movie/").arg(GetShareDir());
QStringList MovieScripts = MovieScriptPath.entryList(QDir::Files);
QDir GameScriptPath = QString("%1metadata/Game/").arg(GetShareDir());
QStringList GameScripts = GameScriptPath.entryList(QDir::Files);
if (MovieScripts.count())
{
for (QStringList::const_iterator i = MovieScripts.begin();
i != MovieScripts.end(); i++)
{
QString commandline = QString("%1/%2")
.arg(MovieScriptPath.path()).arg(*i);
MythSystem grabber(commandline, QStringList() << "-v", kMSRunShell | kMSStdOut | kMSBuffered);
grabber.Run();
grabber.Wait();
QByteArray result = grabber.ReadAll();
if (!result.isEmpty())
{
QDomDocument doc;
doc.setContent(result, true);
QDomElement root = doc.documentElement();
if (!root.isNull())
{
MetaGrabberScript *script = ParseGrabberVersion(root);
if (!script->GetName().isEmpty())
m_movieGrabberList.append(script);
}
}
}
}
if (TVScripts.count())
{
for (QStringList::const_iterator i = TVScripts.end() - 1;
i != TVScripts.begin() - 1; --i)
{
QString commandline = QString("%1/%2")
.arg(TVScriptPath.path()).arg(*i);
MythSystem grabber(commandline, QStringList() << "-v", kMSRunShell | kMSStdOut | kMSBuffered);
grabber.Run();
grabber.Wait();
QByteArray result = grabber.ReadAll();
if (!result.isEmpty())
{
QDomDocument doc;
doc.setContent(result, true);
QDomElement root = doc.documentElement();
if (!root.isNull())
{
MetaGrabberScript *script = ParseGrabberVersion(root);
if (!script->GetName().isEmpty())
m_tvGrabberList.append(script);
}
}
}
}
if (GameScripts.count())
{
for (QStringList::const_iterator i = GameScripts.end() - 1;
i != GameScripts.begin() - 1; --i)
{
QString commandline = QString("%1/%2")
.arg(GameScriptPath.path()).arg(*i);
MythSystem grabber(commandline, QStringList() << "-v", kMSRunShell | kMSStdOut | kMSBuffered);
grabber.Run();
grabber.Wait();
QByteArray result = grabber.ReadAll();
if (!result.isEmpty())
{
QDomDocument doc;
doc.setContent(result, true);
QDomElement root = doc.documentElement();
if (!root.isNull())
{
MetaGrabberScript *script = ParseGrabberVersion(root);
if (!script->GetName().isEmpty())
m_gameGrabberList.append(script);
}
}
}
}
if (busyPopup)
{
busyPopup->Close();
busyPopup = NULL;
}
}
示例13: doSearch
void LocationDialog::doSearch()
{
QString busymessage = tr("Searching...");
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
MythUIBusyDialog *busyPopup = new MythUIBusyDialog(busymessage, popupStack,
"mythweatherbusydialog");
if (busyPopup->Create())
{
popupStack->AddScreen(busyPopup, false);
}
else
{
delete busyPopup;
busyPopup = NULL;
}
QMap<ScriptInfo *, QStringList> result_cache;
int numresults = 0;
clearResults();
QString searchingresults = tr("Searching... Results: %1");
m_resultsText->SetText(searchingresults.arg(0));
qApp->processEvents();
QList<ScriptInfo *> sources;
// if a screen makes it this far, theres at least one source for it
m_sourceManager->findPossibleSources(m_types, sources);
QString search = m_locationEdit->GetText();
ScriptInfo *si;
for (int x = 0; x < sources.size(); x++)
{
si = sources.at(x);
if (!result_cache.contains(si))
{
QStringList results = m_sourceManager->getLocationList(si, search);
result_cache[si] = results;
numresults += results.size();
m_resultsText->SetText(searchingresults.arg(numresults));
qApp->processEvents();
}
}
QMap<ScriptInfo *, QStringList>::iterator it;
for (it = result_cache.begin(); it != result_cache.end(); ++it)
{
si = it.key();
QStringList results = it.value();
QString name = si->name;
QStringList::iterator rit;
for (rit = results.begin(); rit != results.end(); ++rit)
{
QStringList tmp = (*rit).split("::");
if (tmp.size() < 2)
{
LOG(VB_GENERAL, LOG_WARNING,
QString("Invalid line in Location Search reponse "
"from %1: %2")
.arg(name).arg(*rit));
continue;
}
QString resultstring = QString("%1 (%2)").arg(tmp[1]).arg(name);
MythUIButtonListItem *item =
new MythUIButtonListItem(m_locationList, resultstring);
ResultListInfo *ri = new ResultListInfo;
ri->idstr = tmp[0];
ri->src = si;
item->SetData(qVariantFromValue(ri));
qApp->processEvents();
}
}
if (busyPopup)
{
busyPopup->Close();
busyPopup = NULL;
}
m_resultsText->SetText(tr("Search Complete. Results: %1").arg(numresults));
if (numresults)
SetFocusWidget(m_locationList);
}