Beispiel #1
0
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);
}
Beispiel #2
0
/*************************************
 * 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());
	}
}
Beispiel #3
0
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);
}
Beispiel #4
0
/*************************************
 * 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;
	}
}	
Beispiel #5
0
void SoundCloudService::ShowContextMenu(const QPoint& global_pos) {
  EnsureMenuCreated();

  context_menu_->popup(global_pos);
}
Beispiel #6
0
void SpotifyService::AddSongsToStarred(const QList<QUrl>& songs_urls) {
  EnsureMenuCreated();
  server_->AddSongsToStarred(songs_urls);
}
Beispiel #7
0
/*************************************
 * AddSeparator
 *************************************/
void SHVMenuWin32::AddSeparator()
{
	EnsureMenuCreated();
	if (hMenu)
		::AppendMenu(hMenu,MF_SEPARATOR,0,TEXT(""));
}