bool ProgFinder::keyPressEvent(QKeyEvent *event) { if (!m_allowKeypress) return true; m_allowKeypress = false; if (GetFocusWidget() && GetFocusWidget()->keyPressEvent(event)) { m_allowKeypress = true; return true; } bool handled = false; QStringList actions; handled = GetMythMainWindow()->TranslateKeyPress("TV Frontend", event, actions); for (int i = 0; i < actions.size() && !handled; ++i) { QString action = actions[i]; handled = true; if (action == "EDIT") edit(); else if (action == "CUSTOMEDIT") customEdit(); else if (action == "UPCOMING") upcoming(); else if (action == "DETAILS" || action == "INFO") details(); else if (action == "TOGGLERECORD") quickRecord(); else if (action == "GUIDE" || action == "4") showGuide(); else if (action == "ESCAPE") { // don't fade the screen if we are returning to the player if (m_player && m_allowEPG) GetScreenStack()->PopScreen(this, false); else GetScreenStack()->PopScreen(this, true); } else handled = false; } if (!handled && MythScreenType::keyPressEvent(event)) handled = true; m_allowKeypress = true; return handled; }
void ProgFinder::customEvent(QEvent *event) { if ((MythEvent::Type)(event->type()) == MythEvent::MythEventMessage) { MythEvent *me = (MythEvent *)event; QString message = me->Message(); if (message == "SCHEDULE_CHANGE") { if (GetFocusWidget() == m_timesList) { ProgramInfo *curPick = m_showData[m_timesList->GetCurrentPos()]; if (curPick) selectShowData(curPick->GetTitle(), m_timesList->GetCurrentPos()); } } } else if (event->type() == DialogCompletionEvent::kEventType) { DialogCompletionEvent *dce = (DialogCompletionEvent*)(event); QString resultid = dce->GetId(); QString resulttext = dce->GetResultText(); if (resultid == "menu") { if (resulttext == tr("Clear Search")) { m_searchStr.clear(); if (m_searchText) m_searchText->SetText(m_searchStr); updateShowList(); SetFocusWidget(m_showList); } else if (resulttext == tr("Edit Search")) { MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack"); SearchInputDialog *textInput = new SearchInputDialog(popupStack, m_searchStr); if (textInput->Create()) { textInput->SetReturnEvent(this, "searchtext"); popupStack->AddScreen(textInput); } } else if (resulttext == tr("Toggle Record")) { quickRecord(); } else if (resulttext == tr("Program Details")) { details(); } else if (resulttext == tr("Upcoming")) { upcoming(); } else if (resulttext == tr("Custom Edit")) { customEdit(); } else if (resulttext == tr("Program Guide")) { showGuide(); } } else if (resultid == "searchtext") { m_searchStr = resulttext; if (m_searchText) m_searchText->SetText(m_searchStr); updateShowList(); SetFocusWidget(m_showList); } else ScheduleCommon::customEvent(event); } }
connect(_showInfoTab, SIGNAL(requestPrevious(QString, QString)), _xmltv, SLOT(requestProgrammePrevious(QString, QString))); connect(_playlistTab->playlist(), SIGNAL(scheduleRequested(Channel *)), _scheduleTab, SLOT(channel(Channel *))); connect(_mediaPlayer, SIGNAL(stateChanged(Vlc::State)), this, SLOT(setState(Vlc::State))); connect(_mediaPlayer, SIGNAL(vout(int)), this, SLOT(showVideo(int))); connect(_mediaPlayer, SIGNAL(sessionChannel(int)), _playlistTab->playlist(), SLOT(channelSelected(int))); connect(ui->actionRecorder, SIGNAL(triggered(bool)), this, SLOT(showRecorder())); connect(ui->actionRecordNow, SIGNAL(toggled(bool)), this, SLOT(recordNow(bool))); connect(ui->actionSnapshot, SIGNAL(triggered()), _mediaPlayer, SLOT(takeSnapshot())); connect(_showInfoTab, SIGNAL(requestRecord(QString)), _xmltv, SLOT(requestProgrammeRecord(QString))); connect(_scheduleTab, SIGNAL(requestRecord(QString)), _xmltv, SLOT(requestProgrammeRecord(QString))); connect(_xmltv, SIGNAL(programmeRecord(XmltvProgramme *)), this, SLOT(recordProgramme(XmltvProgramme *))); connect(ui->actionRecordQuick, SIGNAL(triggered()), _recorder, SLOT(quickRecord())); connect(ui->actionRecordTimer, SIGNAL(triggered()), _recorder, SLOT(newTimer())); connect(_recorder, SIGNAL(play(Timer *)), this, SLOT(playRecording(Timer *))); connect(_mouseTimer, SIGNAL(timeout()), this, SLOT(toggleMouse())); qDebug() << "Initialised: Event connections"; } void MainWindow::createMenus() { _rightMenu = new QMenu(); _rightMenu->addAction(ui->actionPlay); _rightMenu->addAction(ui->actionStop); _rightMenu->addAction(ui->actionBack); _rightMenu->addAction(ui->actionNext);