本文整理汇总了C++中DialogCompletionEvent::GetData方法的典型用法代码示例。如果您正苦于以下问题:C++ DialogCompletionEvent::GetData方法的具体用法?C++ DialogCompletionEvent::GetData怎么用?C++ DialogCompletionEvent::GetData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DialogCompletionEvent
的用法示例。
在下文中一共展示了DialogCompletionEvent::GetData方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: customEvent
void MythThemedMenu::customEvent(QEvent *event)
{
if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = (DialogCompletionEvent*)(event);
QString resultid = dce->GetId();
//int buttonnum = dce->GetResult();
QString halt_cmd = GetMythDB()->GetSetting("HaltCommand");
QString reboot_cmd = GetMythDB()->GetSetting("RebootCommand");
if (resultid == "popmenu")
{
QString action = dce->GetData().toString();
if (action == "shutdown")
{
if (!halt_cmd.isEmpty())
myth_system(halt_cmd);
}
else if (action == "reboot")
{
if (!reboot_cmd.isEmpty())
myth_system(reboot_cmd);
}
else if (action == "about")
{
aboutScreen();
}
else if (action == "standby")
{
QString arg("standby_mode");
m_state->m_callback(m_state->m_callbackdata, arg);
}
}
else if (resultid == "password")
{
QString text = dce->GetResultText();
MythUIButtonListItem *item = m_buttonList->GetItemCurrent();
ThemedButton button = item->GetData().value<ThemedButton>();
QString password = GetMythDB()->GetSetting(button.password);
if (text == password)
{
QString timestamp_setting = QString("%1Time").arg(button.password);
QDateTime curr_time = QDateTime::currentDateTime();
QString last_time_stamp = curr_time.toString(Qt::TextDate);
GetMythDB()->SetSetting(timestamp_setting, last_time_stamp);
GetMythDB()->SaveSetting(timestamp_setting, last_time_stamp);
buttonAction(item, true);
}
}
m_menuPopup = NULL;
}
}
示例2: customEvent
void GameHandler::customEvent(QEvent *event)
{
if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = (DialogCompletionEvent*)(event);
QString resultid = dce->GetId();
QString resulttext = dce->GetResultText();
if (resultid == "removalPopup")
{
int buttonNum = dce->GetResult();
GameScan scan = qVariantValue<GameScan>(dce->GetData());
switch (buttonNum)
{
case 1:
m_KeepAll = true;
break;
case 2:
purgeGameDB(scan.Rom() , scan.RomFullPath());
break;
case 3:
m_RemoveAll = true;
purgeGameDB(scan.Rom() , scan.RomFullPath());
break;
default:
break;
};
}
else if (resultid == "clearAllPopup")
{
int buttonNum = dce->GetResult();
switch (buttonNum)
{
case 1:
clearAllMetadata();
break;
default:
break;
}
}
}
}
示例3: customEvent
void Ripper::customEvent(QEvent* event)
{
if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = static_cast<DialogCompletionEvent *>(event);
if (dce->GetId() == "conflictmenu")
{
int buttonNum = dce->GetResult();
RipTrack *track = dce->GetData().value<RipTrack *>();
switch (buttonNum)
{
case 0:
// Do nothing
break;
case 1:
if (deleteExistingTrack(track))
{
track->isNew = true;
toggleTrackActive(track);
}
break;
case 2:
deleteAllExistingTracks();
break;
default:
break;
}
}
return;
}
MythUIType::customEvent(event);
}
示例4: customEvent
void MythControls::customEvent(QEvent *event)
{
if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = (DialogCompletionEvent*)(event);
QString resultid = dce->GetId();
int buttonnum = dce->GetResult();
if (resultid == "action")
{
if (buttonnum == 0)
GrabKey();
else if (buttonnum == 1)
DeleteKey();
}
else if (resultid == "option")
{
if (buttonnum == 0)
Save();
else if (buttonnum == 1)
ChangeView();
else if (buttonnum == 2)
GetMythMainWindow()->JumpTo("Reset All Keys");
}
else if (resultid == "exit")
{
if (buttonnum == 1)
Save();
else
Teardown();
Close();
}
else if (resultid == "view")
{
QStringList contents;
QString leftcaption, rightcaption;
if (buttonnum == 0)
{
leftcaption = tr("Contexts");
rightcaption = tr("Actions");
m_currentView = kActionsByContext;
contents = m_bindings->GetContexts();
}
else if (buttonnum == 1)
{
leftcaption = tr("Contexts");
rightcaption = tr("Keys");
m_currentView = kKeysByContext;
contents = m_bindings->GetContexts();
}
else if (buttonnum == 2)
{
leftcaption = tr("Keys");
rightcaption = tr("Contexts");
m_currentView = kContextsByKey;
contents = m_bindings->GetKeys();
}
else
return;
m_leftDescription->SetText(leftcaption);
m_rightDescription->SetText(rightcaption);
SetListContents(m_leftList, contents, true);
RefreshKeyInformation();
UpdateRightList();
if (GetFocusWidget() != m_leftList)
SetFocusWidget(m_leftList);
}
else if (resultid == "conflict")
{
if (buttonnum == 1)
{
QString key = dce->GetData().toString();
AddKeyToAction(key, true);
}
}
if (m_menuPopup)
m_menuPopup = NULL;
}
}
示例5: customEvent
void ViewScheduled::customEvent(QEvent *event)
{
if ((MythEvent::Type)(event->type()) == MythEvent::MythEventMessage)
{
MythEvent *me = (MythEvent *)event;
QString message = me->Message();
if (message != "SCHEDULE_CHANGE")
return;
m_needFill = true;
if (m_inEvent)
return;
m_inEvent = true;
LoadList();
m_inEvent = false;
}
else if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = (DialogCompletionEvent*)(event);
QString resultid = dce->GetId();
QString resulttext = dce->GetResultText();
int buttonnum = dce->GetResult();
if (resultid == "deleterule")
{
RecordingRule *record = qVariantValue<RecordingRule *>(dce->GetData());
if (record)
{
if (buttonnum > 0)
{
if (!record->Delete())
VERBOSE(VB_IMPORTANT, "Failed to delete recording rule");
}
delete record;
}
EmbedTVWindow();
}
else if (resultid == "menu")
{
if (resulttext == tr("Show Important"))
{
setShowAll(false);
}
else if (resulttext == tr("Show All"))
{
setShowAll(true);
}
else if (resulttext == tr("Program Details"))
{
details();
}
else if (resulttext == tr("Upcoming by title"))
{
upcoming();
}
else if (resulttext == tr("Upcoming scheduled"))
{
upcomingScheduled();
}
else if (resulttext == tr("Custom Edit"))
{
customEdit();
}
else if (resulttext == tr("Delete Rule"))
{
deleteRule();
}
else if (resulttext == tr("Show Cards"))
{
viewCards();
}
else if (resulttext == tr("Show Inputs"))
{
viewInputs();
}
if (m_needFill)
LoadList();
}
else
ScheduleCommon::customEvent(event);
}
}
示例6: customEvent
void ViewScheduled::customEvent(QEvent *event)
{
if (event->type() == MythEvent::MythEventMessage)
{
MythEvent *me = static_cast<MythEvent *>(event);
QString message = me->Message();
if (message != "SCHEDULE_CHANGE")
return;
m_needFill = true;
if (m_inEvent)
return;
m_inEvent = true;
LoadList();
m_inEvent = false;
}
else if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = (DialogCompletionEvent*)(event);
QString resultid = dce->GetId();
QString resulttext = dce->GetResultText();
int buttonnum = dce->GetResult();
if (resultid == "deleterule")
{
RecordingRule *record =
dce->GetData().value<RecordingRule *>();
if (record)
{
if (buttonnum > 0)
{
if (!record->Delete())
LOG(VB_GENERAL, LOG_ERR,
"Failed to delete recording rule");
}
delete record;
}
EmbedTVWindow();
}
else if (resultid == "menu")
{
if (resulttext == tr("Show Important"))
{
setShowAll(false);
}
else if (resulttext == tr("Show All"))
{
setShowAll(true);
}
else if (resulttext == tr("Program Details"))
{
ShowDetails();
}
else if (resulttext == tr("Program Guide"))
{
ShowGuide();
}
else if (resulttext == tr("Channel Search"))
{
ShowChannelSearch();
}
else if (resulttext == tr("Upcoming by title"))
{
ShowUpcoming();
}
else if (resulttext == tr("Upcoming scheduled"))
{
ShowUpcomingScheduled();
}
else if (resulttext == tr("Previously Recorded"))
{
ShowPrevious();
}
else if (resulttext == tr("Custom Edit"))
{
EditCustom();
}
else if (resulttext == tr("Delete Rule"))
{
deleteRule();
}
else if (resulttext == tr("Show Inputs"))
{
viewInputs();
}
if (m_needFill)
LoadList();
}
else
ScheduleCommon::customEvent(event);
}
}
示例7: customEvent
void IconView::customEvent(QEvent *event)
{
if (event->type() == ThumbGenEvent::kEventType)
{
ThumbGenEvent *tge = dynamic_cast<ThumbGenEvent *>(event);
if (!tge)
return;
ThumbData *td = tge->thumbData;
if (!td)
return;
ThumbItem *thumbitem = m_itemHash.value(td->fileName);
if (thumbitem)
{
int rotateAngle = thumbitem->GetRotationAngle();
if (rotateAngle)
{
QMatrix matrix;
matrix.rotate(rotateAngle);
td->thumb = td->thumb.transformed(
matrix, Qt::SmoothTransformation);
}
int pos = m_itemList.indexOf(thumbitem);
LoadThumbnail(thumbitem);
MythUIButtonListItem *item = m_imageList->GetItemAt(pos);
if (QFile(thumbitem->GetImageFilename()).exists())
item->SetImage(thumbitem->GetImageFilename());
if (m_imageList->GetCurrentPos() == pos)
UpdateImage(item);
}
delete td;
}
else if (event->type() == ChildCountEvent::kEventType)
{
ChildCountEvent *cce = dynamic_cast<ChildCountEvent *>(event);
if (!cce)
return;
ChildCountData *ccd = cce->childCountData;
if (!ccd)
return;
ThumbItem *thumbitem = m_itemHash.value(ccd->fileName);
if (thumbitem)
{
int pos = m_itemList.indexOf(thumbitem);
MythUIButtonListItem *item = m_imageList->GetItemAt(pos);
if (item)
item->SetText(QString("%1").arg(ccd->count), "childcount");
}
delete ccd;
}
else if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = (DialogCompletionEvent*)(event);
QString resultid = dce->GetId();
int resultdata = dce->GetData().toInt();
if (resultid == "mainmenu")
{
switch (resultdata)
{
case 0:
HandleSlideShow();
break;
case 1:
HandleRandomShow();
break;
case 2:
break;
case 3:
break;
case 4:
HandleSubMenuFilter();
break;
case 5:
break;
case 6:
HandleSettings();
break;
case 7:
HandleSeasonalShow();
break;
}
}
else if (resultid == "metadatamenu")
{
switch (resultdata)
{
case 0:
HandleRotateCW();
//.........这里部分代码省略.........
示例8: customEvent
void GameUI::customEvent(QEvent *event)
{
if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = (DialogCompletionEvent*)(event);
QString resultid = dce->GetId();
QString resulttext = dce->GetResultText();
if (resultid == "showMenuPopup")
{
if (resulttext == tr("Edit Details"))
{
edit();
}
if (resulttext == tr("Scan For Changes"))
{
doScan();
}
else if (resulttext == tr("Show Information"))
{
showInfo();
}
else if (resulttext == tr("Make Favorite") ||
resulttext == tr("Remove Favorite"))
{
toggleFavorite();
}
else if (resulttext == tr("Retrieve Details"))
{
gameSearch();
}
}
else if (resultid == "chooseSystemPopup")
{
if (!resulttext.isEmpty() && resulttext != tr("Cancel"))
{
MythGenericTree *node = m_gameUITree->GetCurrentNode();
RomInfo *romInfo = qVariantValue<RomInfo *>(node->GetData());
GameHandler::Launchgame(romInfo, resulttext);
}
}
else if (resultid == "editMetadata")
{
MythGenericTree *node = m_gameUITree->GetCurrentNode();
RomInfo *oldRomInfo = qVariantValue<RomInfo *>(node->GetData());
delete oldRomInfo;
RomInfo *romInfo = qVariantValue<RomInfo *>(dce->GetData());
node->SetData(qVariantFromValue(romInfo));
node->SetText(romInfo->Gamename());
romInfo->SaveToDatabase();
updateChangedNode(node, romInfo);
}
else if (resultid == "detailsPopup")
{
// Play button pushed
itemClicked(0);
}
}
if (event->type() == MetadataLookupEvent::kEventType)
{
MetadataLookupEvent *lue = (MetadataLookupEvent *)event;
MetadataLookupList lul = lue->lookupList;
if (m_busyPopup)
{
m_busyPopup->Close();
m_busyPopup = NULL;
}
if (lul.isEmpty())
return;
if (lul.count() == 1)
{
OnGameSearchDone(lul.takeFirst());
}
else
{
MetadataResultsDialog *resultsdialog =
new MetadataResultsDialog(m_popupStack, lul);
connect(resultsdialog, SIGNAL(haveResult(MetadataLookup*)),
SLOT(OnGameSearchListSelection(MetadataLookup*)),
Qt::QueuedConnection);
if (resultsdialog->Create())
m_popupStack->AddScreen(resultsdialog);
}
}
else if (event->type() == MetadataLookupFailure::kEventType)
{
MetadataLookupFailure *luf = (MetadataLookupFailure *)event;
MetadataLookupList lul = luf->lookupList;
if (m_busyPopup)
//.........这里部分代码省略.........
示例9: customEvent
void ProgLister::customEvent(QEvent *event)
{
bool needUpdate = false;
if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = (DialogCompletionEvent*)(event);
QString resultid = dce->GetId();
QString resulttext = dce->GetResultText();
int buttonnum = dce->GetResult();
if (resultid == "sortmenu")
{
switch (buttonnum)
{
case 0:
m_reverseSort = !m_reverseSort;
needUpdate = true;
break;
case 1:
m_titleSort = true;
m_reverseSort = false;
needUpdate = true;
break;
case 2:
m_titleSort = false;
m_reverseSort = (m_type == plPreviouslyRecorded);
needUpdate = true;
break;
}
}
else if (resultid == "deletemenu")
{
switch (buttonnum)
{
case 0:
{
ProgramInfo *pi = GetCurrent();
if (pi)
{
RecordingInfo ri(*pi);
if (ri.IsDuplicate())
ri.ForgetHistory();
else
ri.SetDupHistory();
*pi = ri;
}
break;
}
case 1:
ShowDeleteOldEpisodeMenu();
break;
case 2:
ShowDeleteOldSeriesMenu();
break;
}
}
else if (resultid == "deleterule")
{
RecordingRule *record =
qVariantValue<RecordingRule *>(dce->GetData());
if (record && buttonnum > 0 && !record->Delete())
{
LOG(VB_GENERAL, LOG_ERR, LOC +
"Failed to delete recording rule");
}
if (record)
delete record;
}
else
{
ScheduleCommon::customEvent(event);
}
}
else if (event->type() == ScreenLoadCompletionEvent::kEventType)
{
ScreenLoadCompletionEvent *slce = (ScreenLoadCompletionEvent*)(event);
QString id = slce->GetId();
if (id == objectName())
{
CloseBusyPopup(); // opened by LoadInBackground()
UpdateDisplay();
if (m_curView < 0 && m_type != plPreviouslyRecorded)
ShowChooseViewMenu();
}
}
else if ((MythEvent::Type)(event->type()) == MythEvent::MythEventMessage)
{
MythEvent *me = (MythEvent *)event;
QString message = me->Message();
if (message == "CHOOSE_VIEW")
ShowChooseViewMenu();
else if (message == "SCHEDULE_CHANGE")
needUpdate = true;
}
//.........这里部分代码省略.........
示例10: customEvent
void ScheduleCommon::customEvent(QEvent *event)
{
if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = (DialogCompletionEvent*)(event);
QString resultid = dce->GetId();
QString resulttext = dce->GetResultText();
if (resultid == "editrecording")
{
if (!dce->GetData().canConvert<RecordingInfo>())
return;
RecordingInfo recInfo = dce->GetData().value<RecordingInfo>();
if (resulttext == tr("Record this showing"))
{
if (recInfo.GetRecordingRuleType() == kNotRecording)
recInfo.ApplyRecordStateChange(kSingleRecord);
else
{
recInfo.ApplyRecordStateChange(kOverrideRecord);
if (recInfo.GetRecordingStartTime() < MythDate::current())
recInfo.ReactivateRecording();
}
}
else if (resulttext == tr("Record all showings"))
recInfo.ApplyRecordStateChange(kAllRecord);
else if (resulttext == tr("Record one showing (this episode)") ||
resulttext == tr("Record one showing"))
{
recInfo.ApplyRecordStateChange(kOneRecord, false);
recInfo.GetRecordingRule()->m_filter |= 64; // This episode
recInfo.GetRecordingRule()->Save();
}
else if (resulttext == tr("Record all showings (this channel)"))
{
recInfo.ApplyRecordStateChange(kAllRecord, false);
recInfo.GetRecordingRule()->m_filter |= 1024; // This channel
recInfo.GetRecordingRule()->Save();
}
else if (resulttext == tr("Stop this recording"))
{
RemoteStopRecording(&recInfo);
}
else if (resulttext == tr("Modify recording options") ||
resulttext == tr("Add override rule"))
{
if (recInfo.GetRecordingRuleType() == kSingleRecord ||
recInfo.GetRecordingRuleType() == kOverrideRecord ||
recInfo.GetRecordingRuleType() == kOneRecord)
EditScheduled(&recInfo);
else
MakeOverride(&recInfo);
}
else if (resulttext == tr("Restart this recording"))
recInfo.ReactivateRecording();
else if (resulttext == tr("Forget previous recording"))
recInfo.ForgetHistory();
else if (resulttext == tr("Don't record this showing"))
recInfo.ApplyRecordStateChange(kDontRecord);
else if (resulttext == tr("Never record this episode"))
{
recInfo.ApplyNeverRecord();
}
else if (resulttext == tr("Edit recording rule") ||
resulttext == tr("Edit override rule"))
EditScheduled(&recInfo);
else if (resulttext == tr("Delete recording rule") ||
resulttext == tr("Delete override rule"))
recInfo.ApplyRecordStateChange(kNotRecording);
}
}
}
示例11: customEvent
//.........这里部分代码省略.........
m_reverseSort = !m_reverseSort;
SortList();
}
else if (resulttext == tr("Sort By Priority"))
{
if (m_sortType != byRecPriority)
{
m_sortType = byRecPriority;
m_reverseSort = false;
}
else
m_reverseSort = !m_reverseSort;
SortList();
}
else if (resulttext == tr("Sort By Type"))
{
if (m_sortType != byRecType)
{
m_sortType = byRecType;
m_reverseSort = false;
}
else
m_reverseSort = !m_reverseSort;
SortList();
}
else if (resulttext == tr("Sort By Count"))
{
if (m_sortType != byCount)
{
m_sortType = byCount;
m_reverseSort = false;
}
else
{
m_reverseSort = !m_reverseSort;
}
SortList();
}
else if (resulttext == tr("Sort By Record Count"))
{
if (m_sortType != byRecCount)
{
m_sortType = byRecCount;
m_reverseSort = false;
}
else
m_reverseSort = !m_reverseSort;
SortList();
}
else if (resulttext == tr("Sort By Last Recorded"))
{
if (m_sortType != byLastRecord)
{
m_sortType = byLastRecord;
m_reverseSort = false;
}
else
m_reverseSort = !m_reverseSort;
SortList();
}
else if (resulttext == tr("Sort By Average Delay"))
{
if (m_sortType != byAvgDelay)
{
m_sortType = byAvgDelay;
m_reverseSort = false;
}
else
m_reverseSort = !m_reverseSort;
SortList();
}
}
else if (resultid == "deleterule")
{
RecordingRule *record =
dce->GetData().value<RecordingRule *>();
if (record)
{
if (buttonnum > 0)
{
MythUIButtonListItem *item =
m_programList->GetItemCurrent();
if (record->Delete() && item)
RemoveItemFromList(item);
else
LOG(VB_GENERAL, LOG_ERR,
"Failed to delete recording rule");
}
delete record;
}
}
else if (resultid == "templatecat")
{
newTemplate(resulttext);
}
else
ScheduleCommon::customEvent(event);
}
}
示例12: customEvent
void ScreenSetup::customEvent(QEvent *event)
{
if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = (DialogCompletionEvent*)(event);
QString resultid = dce->GetId();
int buttonnum = dce->GetResult();
if (resultid == "options")
{
if (buttonnum > -1)
{
MythUIButtonListItem *item =
dce->GetData().value<MythUIButtonListItem *>();
ScreenListInfo *si = item->GetData().value<ScreenListInfo *>();
if (buttonnum == 0)
{
m_activeList->MoveItemUpDown(item, true);
}
else if (buttonnum == 1)
{
m_activeList->MoveItemUpDown(item, false);
}
else if (buttonnum == 2)
{
deleteScreen();
}
else if (buttonnum == 3)
{
si->updating = true;
doLocationDialog(si);
}
else if (si->hasUnits && buttonnum == 4)
{
si->updating = true;
showUnitsPopup(item->GetText(), si);
updateHelpText();
}
}
}
else if (resultid == "units")
{
if (buttonnum > -1)
{
ScreenListInfo *si = dce->GetData().value<ScreenListInfo *>();
if (buttonnum == 0)
{
si->units = ENG_UNITS;
}
else if (buttonnum == 1)
{
si->units = SI_UNITS;
}
updateHelpText();
if (si->updating)
si->updating = false;
else
doLocationDialog(si);
}
}
else if (resultid == "location")
{
ScreenListInfo *si = dce->GetData().value<ScreenListInfo *>();
TypeListMap::iterator it = si->types.begin();
for (; it != si->types.end(); ++it)
{
if ((*it).location.isEmpty())
return;
}
if (si->updating)
{
si->updating = false;
MythUIButtonListItem *item = m_activeList->GetItemCurrent();
if (item)
item->SetData(qVariantFromValue(si));
}
else
{
QString txt = si->title; txt.detach();
MythUIButtonListItem *item =
new MythUIButtonListItem(m_activeList, txt);
item->SetData(qVariantFromValue(si));
}
if (m_activeList->GetCount())
m_activeList->SetEnabled(true);
}
}
}
示例13: customEvent
void StatusBox::customEvent(QEvent *event)
{
if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = (DialogCompletionEvent*)(event);
QString resultid = dce->GetId();
int buttonnum = dce->GetResult();
if (resultid == "LogAck")
{
if (buttonnum == 1)
{
QString sql = dce->GetData().toString();
MSqlQuery query(MSqlQuery::InitCon());
query.prepare("UPDATE mythlog SET acknowledged = 1 "
"WHERE logid = :LOGID ;");
query.bindValue(":LOGID", sql);
if (!query.exec())
MythDB::DBError("StatusBox::customEvent -- LogAck", query);
m_logList->RemoveItem(m_logList->GetItemCurrent());
}
}
else if (resultid == "LogAckAll")
{
if (buttonnum == 1)
{
MSqlQuery query(MSqlQuery::InitCon());
query.prepare("UPDATE mythlog SET acknowledged = 1 "
"WHERE priority <= :PRIORITY ;");
query.bindValue(":PRIORITY", m_minLevel);
if (!query.exec())
MythDB::DBError("StatusBox::customEvent -- LogAckAll",
query);
doLogEntries();
}
}
else if (resultid == "JobDelete")
{
if (buttonnum == 1)
{
int jobID = dce->GetData().toInt();
JobQueue::DeleteJob(jobID);
m_logList->RemoveItem(m_logList->GetItemCurrent());
}
}
else if (resultid == "JobRequeue")
{
if (buttonnum == 1)
{
int jobID = dce->GetData().toInt();
JobQueue::ChangeJobStatus(jobID, JOB_QUEUED);
doJobQueueStatus();
}
}
else if (resultid == "JobModify")
{
int jobID = dce->GetData().toInt();
if (buttonnum == 0)
{
if (JobQueue::GetJobStatus(jobID) == JOB_PAUSED)
JobQueue::ResumeJob(jobID);
else
JobQueue::PauseJob(jobID);
}
else if (buttonnum == 1)
{
JobQueue::StopJob(jobID);
}
doJobQueueStatus();
}
else if (resultid == "AutoExpireManage")
{
ProgramInfo* rec = qVariantValue<ProgramInfo*>(dce->GetData());
// button 2 is "No Change"
if (!rec || buttonnum == 2)
return;
// button 1 is "Delete Now"
if ((buttonnum == 0) && rec->QueryIsDeleteCandidate())
{
if (!RemoteDeleteRecording(
rec->GetChanID(), rec->GetRecordingStartTime(),
false, false))
{
LOG(VB_GENERAL, LOG_ERR, QString("Failed to delete recording: %1").arg(rec->GetTitle()));
return;
}
}
// button 1 is "Move To Default Group" or "UnDelete" or "Disable AutoExpire"
else if (buttonnum == 1)
{
if ((rec)->GetRecordingGroup() == "Deleted")
{
RemoteUndeleteRecording(
rec->GetChanID(), rec->GetRecordingStartTime());
}
//.........这里部分代码省略.........
示例14: customEvent
void ChannelEditor::customEvent(QEvent *event)
{
if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = (DialogCompletionEvent*)(event);
QString resultid= dce->GetId();
int buttonnum = dce->GetResult();
if (resultid == "channelopts")
{
switch (buttonnum)
{
case 0 :
edit(m_channelList->GetItemCurrent());
break;
case 1 :
del();
break;
}
}
else if (resultid == "delsingle" && buttonnum == 1)
{
MythUIButtonListItem *item =
qVariantValue<MythUIButtonListItem *>(dce->GetData());
if (!item)
return;
uint chanid = item->GetData().toUInt();
if (chanid && ChannelUtil::DeleteChannel(chanid))
m_channelList->RemoveItem(item);
}
else if (resultid == "delall" && buttonnum == 1)
{
bool del_all = m_sourceFilter == FILTER_ALL;
bool del_nul = m_sourceFilter == FILTER_UNASSIGNED;
MSqlQuery query(MSqlQuery::InitCon());
if (del_all)
{
query.prepare("TRUNCATE TABLE channel");
}
else if (del_nul)
{
query.prepare("SELECT sourceid "
"FROM videosource "
"GROUP BY sourceid");
if (!query.exec() || !query.isActive())
{
MythDB::DBError("ChannelEditor Delete Channels", query);
return;
}
QString tmp = "";
while (query.next())
tmp += "'" + query.value(0).toString() + "',";
if (tmp.isEmpty())
{
query.prepare("TRUNCATE TABLE channel");
}
else
{
tmp = tmp.left(tmp.length() - 1);
query.prepare(QString("DELETE FROM channel "
"WHERE sourceid NOT IN (%1)").arg(tmp));
}
}
else
{
query.prepare("DELETE FROM channel "
"WHERE sourceid = :SOURCEID");
query.bindValue(":SOURCEID", m_sourceFilter);
}
if (!query.exec())
MythDB::DBError("ChannelEditor Delete Channels", query);
fillList();
}
else if (resultid == "iconimportopt")
{
MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
ImportIconsWizard *iconwizard;
QString channelname = dce->GetData().toString();
switch (buttonnum)
{
case 0 : // Import all icons
iconwizard = new ImportIconsWizard(mainStack, false);
break;
case 1 : // Rescan for missing
iconwizard = new ImportIconsWizard(mainStack, true);
break;
case 2 : // Import a single channel icon
iconwizard = new ImportIconsWizard(mainStack, true,
channelname);
break;
//.........这里部分代码省略.........
示例15: customEvent
void EditAlbumartDialog::customEvent(QEvent *event)
{
if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = (DialogCompletionEvent*)(event);
// make sure the user didn't ESCAPE out of the menu
if (dce->GetResult() < 0)
return;
QString resultid = dce->GetId();
QString resulttext = dce->GetResultText();
if (resultid == "changetypemenu")
{
int type = dce->GetData().toInt();
if ((type >= IT_UNKNOWN) && (type < IT_LAST))
{
// get selected image in list
MythUIButtonListItem *item = m_coverartList->GetItemCurrent();
if (item)
{
item->SetText(m_albumArt->getTypeName((ImageType) type));
AlbumArtImage *image = qVariantValue<AlbumArtImage*> (item->GetData());
if (image)
{
AlbumArtImage oldImage = *image;
image->imageType = (ImageType) type;
if (image->imageType == oldImage.imageType)
return;
// rename any cached image to match the new type
if (image->embedded)
{
// update the new cached image filename
image->filename = QString(GetConfDir() + "/MythMusic/AlbumArt/%1-%2.jpg")
.arg(m_metadata->ID())
.arg(AlbumArtImages::getTypeFilename(image->imageType));
if (image->filename != oldImage.filename && QFile::exists(oldImage.filename))
{
// remove any old cached file with the same name as the new one
QFile::remove(image->filename);
// rename the old cached file to the new one
QFile::rename(oldImage.filename, image->filename);
// force the theme image cache to refresh the image
GetMythUI()->RemoveFromCacheByFile(image->filename);
}
// change the image type in the tag if it supports it
MetaIO *tagger = m_metadata->getTagger();
if (tagger && tagger->supportsEmbeddedImages())
{
if (!tagger->changeImageType(m_metadata->Filename(), &oldImage, image->imageType))
LOG(VB_GENERAL, LOG_INFO, "EditAlbumartDialog: failed to change image type");
}
}
else
{
QFileInfo fi(oldImage.filename);
// get the new images filename
image->filename = QString(fi.absolutePath() + "/%1.jpg")
.arg(AlbumArtImages::getTypeFilename(image->imageType));
if (image->filename != oldImage.filename && QFile::exists(oldImage.filename))
{
// remove any old cached file with the same name as the new one
QFile::remove(image->filename);
// rename the old cached file to the new one
QFile::rename(oldImage.filename, image->filename);
// force the theme image cache to refresh the image
GetMythUI()->RemoveFromCacheByFile(image->filename);
}
}
m_albumArtChanged = true;
gridItemChanged(item);
}
}
}
}
else if (resultid == "asktypemenu")
{
int type = dce->GetData().toInt();
if ((type >= IT_UNKNOWN) && (type < IT_LAST))
copyImageToTag((ImageType) type);
}
else if (resultid == "optionsmenu")
{
if (resulttext == tr("Edit Metadata"))
switchToMetadata();
//.........这里部分代码省略.........