bool EditMetadataDialog::keyPressEvent(QKeyEvent *event) { if (GetFocusWidget() && GetFocusWidget()->keyPressEvent(event)) return true; bool handled = false; QStringList actions; handled = GetMythMainWindow()->TranslateKeyPress("Music", event, actions); for (int i = 0; i < actions.size() && !handled; i++) { QString action = actions[i]; handled = true; if (action == "THMBUP") incRating(); else if (action == "THMBDOWN") decRating(); else if (action == "MENU") showMenu(); else handled = false; } if (!handled && EditMetadataCommon::keyPressEvent(event)) handled = true; return handled; }
bool EditMetadataDialog::Create(void) { if (! LoadWindowFromXML("music-ui.xml", "editmetadata", this)) return false; bool err = CreateCommon(); UIUtilE::Assign(this, m_titleEdit, "titleedit", &err); UIUtilE::Assign(this, m_artistEdit, "artistedit", &err); UIUtilE::Assign(this, m_compArtistEdit, "compartistedit", &err); UIUtilE::Assign(this, m_albumEdit, "albumedit", &err); UIUtilE::Assign(this, m_genreEdit, "genreedit", &err); UIUtilE::Assign(this, m_yearSpin, "yearspin", &err); UIUtilE::Assign(this, m_trackSpin, "tracknumspin", &err); UIUtilE::Assign(this, m_searchArtistButton, "searchartistbutton", &err); UIUtilE::Assign(this, m_searchCompArtistButton, "searchcompartistbutton", &err); UIUtilE::Assign(this, m_searchAlbumButton, "searchalbumbutton", &err); UIUtilE::Assign(this, m_searchGenreButton, "searchgenrebutton", &err); UIUtilW::Assign(this, m_artistIcon, "artisticon", &err); UIUtilW::Assign(this, m_albumIcon, "albumicon", &err); UIUtilW::Assign(this, m_genreIcon, "genreicon", &err); UIUtilW::Assign(this, m_ratingState, "ratingstate", &err); UIUtilW::Assign(this, m_ratingSpin, "ratingspin", &err); UIUtilW::Assign(this, m_incRatingButton, "incratingbutton", &err); UIUtilW::Assign(this, m_decRatingButton, "decratingbutton", &err); UIUtilE::Assign(this, m_compilationCheck, "compilationcheck", &err); UIUtilE::Assign(this, m_albumartButton, "albumartbutton", &err); if (err) { LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'editmetadata'"); return false; } m_yearSpin->SetRange(0, 9999, 1); m_trackSpin->SetRange(0, 9999, 1); if (m_ratingSpin) { m_ratingSpin->SetRange(0, 10, 1); connect(m_ratingSpin, SIGNAL(itemSelected(MythUIButtonListItem*)), SLOT(ratingSpinChanged(MythUIButtonListItem*))); } connect(m_artistEdit, SIGNAL(LosingFocus()), SLOT(artistLostFocus())); connect(m_albumEdit, SIGNAL(LosingFocus()), SLOT(albumLostFocus())); connect(m_genreEdit, SIGNAL(LosingFocus()), SLOT(genreLostFocus())); connect(m_searchArtistButton, SIGNAL(Clicked()), SLOT(searchArtist())); connect(m_searchCompArtistButton, SIGNAL(Clicked()), SLOT(searchCompilationArtist())); connect(m_searchAlbumButton, SIGNAL(Clicked()), SLOT(searchAlbum())); connect(m_searchGenreButton, SIGNAL(Clicked()), SLOT(searchGenre())); if (m_incRatingButton && m_decRatingButton) { connect(m_incRatingButton, SIGNAL(Clicked()), SLOT(incRating())); connect(m_decRatingButton, SIGNAL(Clicked()), SLOT(decRating())); } connect(m_compilationCheck, SIGNAL(toggled(bool)), SLOT(checkClicked(bool))); connect(m_albumartButton, SIGNAL(Clicked()), SLOT(switchToAlbumArt())); fillWidgets(); BuildFocusList(); return true; }
void EditMetadataDialog::keyPressEvent(QKeyEvent *e) { bool handled = false; QStringList actions; handled = GetMythMainWindow()->TranslateKeyPress("Global", e, actions); for (int i = 0; i < actions.size() && !handled; i++) { QString action = actions[i]; handled = true; if (action == "UP") { if (getCurrentFocusWidget() == coverart_grid) { if (coverart_grid->handleKeyPress(action)) return; } else nextPrevWidgetFocus(false); } else if (action == "DOWN") { if (getCurrentFocusWidget() == coverart_grid) { if (coverart_grid->handleKeyPress(action)) return; } else nextPrevWidgetFocus(true); } else if (action == "LEFT") { if (getCurrentFocusWidget() == rating_button) { rating_button->push(); incRating(false); } else if (getCurrentFocusWidget() == compilation_check) { compilation_check->activate(); } else nextPrevWidgetFocus(false); } else if (action == "RIGHT") { if (getCurrentFocusWidget() == rating_button) { rating_button->push(); incRating(true); } else if (getCurrentFocusWidget() == compilation_check) { compilation_check->activate(); } else nextPrevWidgetFocus(true); } else if (action == "SELECT") { activateCurrent(); } else if (action == "MENU" && getContext() == 2) { showMenu(); } else if (action == "0") { if (done_button) done_button->push(); } else if (action == "1") { } else handled = false; } if (!handled) MythThemedDialog::keyPressEvent(e); }