void SpotifyService::ShowContextMenu(const QPoint& global_pos) { EnsureMenuCreated(); QStandardItem* item = model()->itemFromIndex(model()->current_index()); if (item) { int type = item->data(InternetModel::Role_Type).toInt(); if (type == Type_InboxPlaylist || type == Type_StarredPlaylist || type == InternetModel::Type_UserPlaylist) { playlist_sync_action_->setData(qVariantFromValue(item)); playlist_context_menu_->popup(global_pos); current_playlist_url_ = item->data(InternetModel::Role_Url).toUrl(); get_url_to_share_playlist_->setVisible(type == InternetModel::Type_UserPlaylist); return; } else if (type == InternetModel::Type_Track) { current_song_url_ = item->data(InternetModel::Role_Url).toUrl(); // Is this track contained in a playlist we can modify? bool is_playlist_modifiable = item->parent() && item->parent()->data(InternetModel::Role_CanBeModified).toBool(); remove_from_playlist_->setVisible(is_playlist_modifiable); song_context_menu_->popup(global_pos); return; } } context_menu_->popup(global_pos); }
/************************************* * AddStringItem *************************************/ void SHVMenuWin32::AddStringItem(SHVInt id, const SHVStringC name, int flags) { EnsureMenuCreated(); if (hMenu) { int disabledflag = ( (flags&FlagDisabled) ? MF_DISABLED|MF_GRAYED : 0); int cmdID = Manager->CreateCommandID(hMenuTopLevel,id); ::AppendMenuW(hMenu,MF_STRING|disabledflag,cmdID,name.AsStr16C().GetSafeBufferWin32()); } }
void MagnatuneService::ShowContextMenu(const QPoint& global_pos) { EnsureMenuCreated(); const bool is_valid = model()->current_index().model() == library_sort_model_; GetAppendToPlaylistAction()->setEnabled(is_valid); GetReplacePlaylistAction()->setEnabled(is_valid); GetOpenInNewPlaylistAction()->setEnabled(is_valid); download_->setEnabled(is_valid && membership_ == Membership_Download); context_menu_->popup(global_pos); }
/************************************* * AddSubMenu *************************************/ SHVMenu* SHVMenuWin32::AddSubMenu(const SHVStringC name) { EnsureMenuCreated(); if (hMenu) { SHVMenuWin32* retVal = new SHVMenuWin32(Manager,SHVMenu::TypeSub, NULL, Parent); retVal->hMenu = ::CreatePopupMenu(); retVal->hMenuTopLevel = hMenuTopLevel; ::AppendMenuW(hMenu,MF_POPUP,(UINT_PTR)retVal->hMenu,name.AsStr16C().GetSafeBufferWin32()); return retVal; } else { return NULL; } }
void SoundCloudService::ShowContextMenu(const QPoint& global_pos) { EnsureMenuCreated(); context_menu_->popup(global_pos); }
void SpotifyService::AddSongsToStarred(const QList<QUrl>& songs_urls) { EnsureMenuCreated(); server_->AddSongsToStarred(songs_urls); }
/************************************* * AddSeparator *************************************/ void SHVMenuWin32::AddSeparator() { EnsureMenuCreated(); if (hMenu) ::AppendMenu(hMenu,MF_SEPARATOR,0,TEXT("")); }