// -------------------------------------------------------------------------------- // bool guUserRadioProvider::OnContextMenu( wxMenu * menu, const wxTreeItemId &itemid, const bool forstations, const int selcount ) { if( selcount ) menu->AppendSeparator(); wxMenuItem * MenuItem = new wxMenuItem( menu, ID_RADIO_USER_ADD, _( "Add Radio" ), _( "Create a new radio" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) ); menu->Append( MenuItem ); if( forstations && selcount ) { MenuItem = new wxMenuItem( menu, ID_RADIO_USER_EDIT, wxString( _( "Edit Radio" ) ) + guAccelGetCommandKeyCodeString( ID_PLAYER_PLAYLIST_EDITTRACKS ), _( "Change the selected radio" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_edit ) ); menu->Append( MenuItem ); MenuItem = new wxMenuItem( menu, ID_RADIO_USER_DEL, _( "Delete Radio" ), _( "Delete the selected radio" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_edit_clear ) ); menu->Append( MenuItem ); } menu->AppendSeparator(); MenuItem = new wxMenuItem( menu, ID_RADIO_USER_IMPORT, _( "Import" ), _( "Import the radio stations" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) ); menu->Append( MenuItem ); MenuItem = new wxMenuItem( menu, ID_RADIO_USER_EXPORT, _( "Export" ), _( "Export all the radio stations" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_doc_save ) ); menu->Append( MenuItem ); return true; }
// -------------------------------------------------------------------------------- // guRating::guRating( wxWindow * parent, const int style ) : wxControl( parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE ) { m_Rating = wxNOT_FOUND; m_Style = style; m_NormalStar = new wxBitmap( guImage( ( guIMAGE_INDEX ) ( guIMAGE_INDEX_star_normal_tiny + style ) ) ); m_SelectStar = new wxBitmap( guImage( ( guIMAGE_INDEX ) ( guIMAGE_INDEX_star_highlight_tiny + style ) ) ); }
// -------------------------------------------------------------------------------- // void guCoverEditor::UpdateCoverBitmap( void ) { m_InfoTextCtrl->SetLabel( wxString::Format( wxT( "%02u/%02lu" ), m_AlbumCovers.Count() ? m_CurrentImage + 1 : 0, m_AlbumCovers.Count() ) ); guConfig * Config = ( guConfig * ) guConfig::Get(); int CoverFrame = Config->ReadNum( wxT( "CoverFrame" ), guCOVERFRAME_DEFAULT, wxT( "general" ) ); if( CoverFrame == guCOVERFRAME_DEFAULT ) { wxBitmap * BlankCD = new wxBitmap( guImage( guIMAGE_INDEX_blank_cd_cover ) ); if( BlankCD ) { if( BlankCD->IsOk() ) { if( m_AlbumCovers.Count() && m_AlbumCovers[ m_CurrentImage ].m_Image ) { wxImage CoverImage = m_AlbumCovers[ m_CurrentImage ].m_Image->Copy(); // 38,6 wxMemoryDC MemDC; MemDC.SelectObject( * BlankCD ); CoverImage.Rescale( 250, 250, wxIMAGE_QUALITY_HIGH ); MemDC.DrawBitmap( wxBitmap( CoverImage ), 34, 4, false ); // Update the Size label m_SizeStaticText->SetLabel( m_AlbumCovers[ m_CurrentImage ].m_SizeStr ); } else { m_SizeStaticText->SetLabel( wxEmptyString ); } m_SizeSizer->Layout(); m_CoverBitmap->SetBitmap( * BlankCD ); m_CoverBitmap->Refresh(); } delete BlankCD; } } else { wxImage CoverImage; if( m_AlbumCovers.Count() && m_AlbumCovers[ m_CurrentImage ].m_Image ) { CoverImage = m_AlbumCovers[ m_CurrentImage ].m_Image->Copy(); // Update the Size label m_SizeStaticText->SetLabel( m_AlbumCovers[ m_CurrentImage ].m_SizeStr ); } else { CoverImage = guImage( guIMAGE_INDEX_no_cover ); m_SizeStaticText->SetLabel( wxEmptyString ); } CoverImage.Rescale( 250, 250, wxIMAGE_QUALITY_HIGH ); m_SizeSizer->Layout(); m_CoverBitmap->SetBitmap( CoverImage ); m_CoverBitmap->Refresh(); } }
// -------------------------------------------------------------------------------- // void guPLSoListBox::CreateContextMenu( wxMenu * Menu ) const { wxMenuItem * MenuItem; int SelCount = GetSelectedCount(); if( SelCount ) { guSoListBox::CreateContextMenu( Menu ); int InsertPosition = 12; if( !m_DisableSorting && ( m_TracksOrder == wxNOT_FOUND ) ) { MenuItem = new wxMenuItem( Menu, ID_TRACKS_RANDOMIZE, wxString( _( "Randomize Playlist" ) ) + guAccelGetCommandKeyCodeString( ID_PLAYER_PLAYLIST_RANDOMPLAY ), _( "Randomize the songs in the playlist" ) ); Menu->Insert( 9, MenuItem ); InsertPosition = 13; } if( ( m_PLTypes.Count() == 1 ) && ( m_PLTypes[ 0 ] == guPLAYLIST_TYPE_STATIC ) ) { MenuItem = new wxMenuItem( Menu, ID_TRACKS_DELETE, _( "Remove from Playlist" ), _( "Delete the current selected tracks" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_del ) ); Menu->Insert( InsertPosition, MenuItem ); } } }
// -------------------------------------------------------------------------------- // void AddOnlineLinksMenu( wxMenu * Menu ) { wxMenu * SubMenu; int index; int count; wxMenuItem * MenuItem; if( Menu ) { SubMenu = new wxMenu(); guConfig * Config = ( guConfig * ) guConfig::Get(); wxArrayString Links = Config->ReadAStr( wxT( "Link" ), wxEmptyString, wxT( "searchlinks/links" ) ); wxArrayString Names = Config->ReadAStr( wxT( "Name" ), wxEmptyString, wxT( "searchlinks/names" ) ); if( ( count = Links.Count() ) ) { for( index = 0; index < count; index++ ) { wxURI Uri( Links[ index ] ); MenuItem = new wxMenuItem( Menu, ID_LINKS_BASE + index, Names[ index ], Links[ index ] ); wxString IconFile = guPATH_LINKICONS + Uri.GetServer() + wxT( ".ico" ); if( wxFileExists( IconFile ) ) { MenuItem->SetBitmap( wxBitmap( IconFile, wxBITMAP_TYPE_ICO ) ); } else { MenuItem->SetBitmap( guImage( guIMAGE_INDEX_search ) ); } SubMenu->Append( MenuItem ); } SubMenu->AppendSeparator(); } else { MenuItem = new wxMenuItem( Menu, ID_MENU_PREFERENCES_LINKS, _( "Preferences" ), _( "Add search links in preferences" ) ); SubMenu->Append( MenuItem ); } Menu->AppendSubMenu( SubMenu, _( "Links" ) ); } }
// -------------------------------------------------------------------------------- // void guAlListBox::CreateContextMenu( wxMenu * Menu ) const { wxMenuItem * MenuItem; int ContextMenuFlags = m_LibPanel->GetContextMenuFlags(); int SelCount = GetSelectedCount(); if( SelCount ) { MenuItem = new wxMenuItem( Menu, ID_ALBUM_PLAY, wxString( _( "Play" ) ) + guAccelGetCommandKeyCodeString( ID_TRACKS_PLAY ), _( "Play current selected albums" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_player_tiny_light_play ) ); Menu->Append( MenuItem ); MenuItem = new wxMenuItem( Menu, ID_ALBUM_ENQUEUE_AFTER_ALL, wxString( _( "Enqueue" ) ) + guAccelGetCommandKeyCodeString( ID_TRACKS_ENQUEUE_AFTER_ALL ), _( "Add current selected albums to the Playlist" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) ); Menu->Append( MenuItem ); wxMenu * EnqueueMenu = new wxMenu(); MenuItem = new wxMenuItem( EnqueueMenu, ID_ALBUM_ENQUEUE_AFTER_TRACK, wxString( _( "Current Track" ) ) + guAccelGetCommandKeyCodeString( ID_TRACKS_ENQUEUE_AFTER_TRACK ), _( "Add current selected albums to the Playlist as Next Tracks" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) ); EnqueueMenu->Append( MenuItem ); MenuItem = new wxMenuItem( EnqueueMenu, ID_ALBUM_ENQUEUE_AFTER_ALBUM, wxString( _( "Current Album" ) ) + guAccelGetCommandKeyCodeString( ID_TRACKS_ENQUEUE_AFTER_ALBUM ), _( "Add current selected albums to the Playlist as Next Tracks" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) ); EnqueueMenu->Append( MenuItem ); MenuItem = new wxMenuItem( EnqueueMenu, ID_ALBUM_ENQUEUE_AFTER_ARTIST, wxString( _( "Current Artist" ) ) + guAccelGetCommandKeyCodeString( ID_TRACKS_ENQUEUE_AFTER_ARTIST ), _( "Add current selected albums to the Playlist as Next Tracks" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) ); EnqueueMenu->Append( MenuItem ); Menu->Append( wxID_ANY, _( "Enqueue After" ), EnqueueMenu, _( "Add the selected albums after" ) ); Menu->AppendSeparator(); MenuItem = new wxMenuItem( Menu, ID_ALBUM_EDITLABELS, wxString( _( "Edit Labels" ) ) + guAccelGetCommandKeyCodeString( ID_PLAYER_PLAYLIST_EDITLABELS ), _( "Edit the labels assigned to the selected albums" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tags ) ); Menu->Append( MenuItem ); if( ContextMenuFlags & guCONTEXTMENU_EDIT_TRACKS ) { MenuItem = new wxMenuItem( Menu, ID_ALBUM_EDITTRACKS, wxString( _( "Edit Songs" ) ) + guAccelGetCommandKeyCodeString( ID_PLAYER_PLAYLIST_EDITTRACKS ), _( "Edit the selected songs" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_edit ) ); Menu->Append( MenuItem ); } Menu->AppendSeparator(); } wxMenu * SubMenu = new wxMenu(); SubMenu->AppendRadioItem( ID_ALBUM_ORDER_NAME, _( "Name" ), _( "Albums are sorted by name" ) ); SubMenu->AppendRadioItem( ID_ALBUM_ORDER_YEAR, _( "Year" ), _( "Albums are sorted by year" ) ); SubMenu->AppendRadioItem( ID_ALBUM_ORDER_YEAR_REVERSE, _( "Year Descending" ), _( "Albums are sorted by year descending" ) ); SubMenu->AppendRadioItem( ID_ALBUM_ORDER_ARTIST_NAME, _( "Artist, Name" ), _( "Albums are sorted by artist and album name" ) ); SubMenu->AppendRadioItem( ID_ALBUM_ORDER_ARTIST_YEAR, _( "Artist, Year" ), _( "Albums are sorted by artist and year" ) ); SubMenu->AppendRadioItem( ID_ALBUM_ORDER_ARTIST_YEAR_REVERSE, _( "Artist, Year Descending" ), _( "Albums are sorted by artist and year descending" ) ); MenuItem = SubMenu->FindItemByPosition( m_Db->GetAlbumsOrder() ); MenuItem->Check( true ); Menu->Append( wxID_ANY, _( "Sort By" ), SubMenu, _( "Sets the albums order" ) ); if( SelCount ) { Menu->AppendSeparator(); MenuItem = new wxMenuItem( Menu, ID_ALBUM_SAVETOPLAYLIST, wxString( _( "Save to Playlist" ) ) + guAccelGetCommandKeyCodeString( ID_PLAYER_PLAYLIST_SAVE ), _( "Save the selected tracks to Playlist" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_doc_save ) ); Menu->Append( MenuItem ); if( SelCount == 1 && ( ContextMenuFlags & guCONTEXTMENU_DOWNLOAD_COVERS ) ) { Menu->AppendSeparator(); MenuItem = new wxMenuItem( Menu, ID_ALBUM_MANUALCOVER, _( "Download Cover" ), _( "Download cover for the current selected album" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_download_covers ) ); Menu->Append( MenuItem ); MenuItem = new wxMenuItem( Menu, ID_ALBUM_SELECT_COVER, _( "Select Cover" ), _( "Select the cover image file from disk" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_download_covers ) ); Menu->Append( MenuItem ); MenuItem = new wxMenuItem( Menu, ID_ALBUM_COVER_DELETE, _( "Delete Cover" ), _( "Delete the cover for the selected album" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_edit_clear ) ); Menu->Append( MenuItem ); } if( ContextMenuFlags & guCONTEXTMENU_EMBED_COVERS ) { MenuItem = new wxMenuItem( Menu, ID_ALBUM_COVER_EMBED, _( "Embed Cover" ), _( "Embed the current cover to the album files" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_doc_save ) ); Menu->Append( MenuItem ); } if( ( ContextMenuFlags & guCONTEXTMENU_COPY_TO ) || ( ContextMenuFlags & guCONTEXTMENU_LINKS ) || ( ContextMenuFlags & guCONTEXTMENU_COMMANDS ) ) { Menu->AppendSeparator(); if( ( m_LibPanel->GetContextMenuFlags() & guCONTEXTMENU_COPY_TO ) ) { m_LibPanel->CreateCopyToMenu( Menu ); } if( SelCount == 1 && ( ContextMenuFlags & guCONTEXTMENU_LINKS ) ) { AddOnlineLinksMenu( Menu ); } if( ContextMenuFlags & guCONTEXTMENU_COMMANDS ) AddAlbumCommands( Menu, SelCount ); } } m_LibPanel->CreateContextMenu( Menu, guLIBRARY_ELEMENT_ALBUMS ); }
// -------------------------------------------------------------------------------- // void guUserRadioProvider::RegisterImages( wxImageList * imagelist ) { imagelist->Add( guImage( guIMAGE_INDEX_tiny_net_radio ) ); m_ImageIds.Add( imagelist->GetImageCount() - 1 ); }
// -------------------------------------------------------------------------------- // guEq10Band::guEq10Band( wxWindow * parent, guMediaCtrl * mediactrl ) //wxDialog( parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 400,250 ), wxDEFAULT_DIALOG_STYLE ) { m_MediaCtrl = mediactrl; m_BandChanged = false; guConfig * Config = ( guConfig * ) guConfig::Get(); wxPoint WindowPos; WindowPos.x = Config->ReadNum( wxT( "PosX" ), -1, wxT( "equalizer" ) ); WindowPos.y = Config->ReadNum( wxT( "PosY" ), -1, wxT( "equalizer" ) ); wxSize WindowSize; WindowSize.x = Config->ReadNum( wxT( "Width" ), 400, wxT( "equalizer" ) ); WindowSize.y = Config->ReadNum( wxT( "Height" ), 250, wxT( "equalizer" ) ); Create( parent, wxID_ANY, _( "Equalizer" ), WindowPos, WindowSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER ); wxFileConfig * EqConfig = new wxFileConfig( wxEmptyString, wxEmptyString, guPATH_EQUALIZERS_FILENAME ); if( EqConfig ) { EqConfig->SetPath( wxT( "Equalizers" ) ); wxString EntryName; wxString EntryValue; wxArrayInt Presets; long index; if( EqConfig->GetFirstEntry( EntryName, index ) ) { do { EqConfig->Read( EntryName, &EntryValue, wxEmptyString ); if( !EntryValue.IsEmpty() ) { //guLogMessage( wxT( "Entry%02u ) %s=%s" ), index, EntryName.c_str(), EntryValue.c_str() ); Presets.Empty(); if( ReadEQPresets( EntryValue, Presets ) && Presets.Count() == guEQUALIZER_BAND_COUNT ) { m_EQPresets.Add( new guEQPreset( EntryName, Presets ) ); } } } while( EqConfig->GetNextEntry( EntryName, index ) ); } delete EqConfig; } // SetSizeHints( wxSize( 450,260 ), wxDefaultSize ); wxBoxSizer* MainSizer; MainSizer = new wxBoxSizer( wxVERTICAL ); wxBoxSizer* TopSizer; TopSizer = new wxBoxSizer( wxHORIZONTAL ); TopSizer->Add( 0, 0, 1, wxEXPAND, 5 ); wxStaticText * PresetLabel; PresetLabel = new wxStaticText( this, wxID_ANY, _( "Preset:" ), wxDefaultPosition, wxDefaultSize, 0 ); PresetLabel->Wrap( -1 ); TopSizer->Add( PresetLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 ); m_PresetComboBox = new wxComboBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), 0, NULL, 0 ); wxString LastPreset = Config->ReadStr( wxT( "LastEqPreset" ), wxEmptyString, wxT( "equalizer" ) ); int LastPresetIndex = wxNOT_FOUND; int index; int count = m_EQPresets.Count(); for( index = 0; index < count; index++ ) { m_PresetComboBox->Append( m_EQPresets[ index ].m_Name ); if( m_EQPresets[ index ].m_Name == LastPreset ) LastPresetIndex = index; } TopSizer->Add( m_PresetComboBox, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 ); m_SaveButton = new wxBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_doc_save ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW ); m_SaveButton->Enable( false ); TopSizer->Add( m_SaveButton, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 ); m_DelButton = new wxBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_edit_clear ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW ); m_DelButton->Enable( false ); TopSizer->Add( m_DelButton, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 ); m_ResetButton = new wxBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_reload ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW ); TopSizer->Add( m_ResetButton, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 ); MainSizer->Add( TopSizer, 0, wxEXPAND, 5 ); wxBoxSizer* BandsSizer; BandsSizer = new wxBoxSizer( wxHORIZONTAL ); wxBoxSizer * LabelsSizer; LabelsSizer = new wxBoxSizer( wxVERTICAL ); wxStaticText * Label = new wxStaticText( this, wxID_ANY, wxT("dBs"), wxDefaultPosition, wxDefaultSize, 0 ); Label->Wrap( -1 ); LabelsSizer->Add( Label, 0, wxTOP|wxALIGN_RIGHT, 5 ); Label = new wxStaticText( this, wxID_ANY, wxT("12"), wxDefaultPosition, wxDefaultSize, 0 ); Label->Wrap( -1 ); LabelsSizer->Add( Label, 0, wxALIGN_RIGHT, 5 ); LabelsSizer->Add( 0, 0, 1, wxEXPAND, 5 ); Label = new wxStaticText( this, wxID_ANY, wxT("6"), wxDefaultPosition, wxDefaultSize, 0 ); Label->Wrap( -1 ); LabelsSizer->Add( Label, 0, wxALIGN_RIGHT, 5 ); LabelsSizer->Add( 0, 0, 1, wxEXPAND, 5 ); Label = new wxStaticText( this, wxID_ANY, wxT("3"), wxDefaultPosition, wxDefaultSize, 0 ); Label->Wrap( -1 ); LabelsSizer->Add( Label, 0, wxALIGN_RIGHT, 5 ); LabelsSizer->Add( 0, 0, 1, wxEXPAND, 5 ); Label = new wxStaticText( this, wxID_ANY, wxT("0"), wxDefaultPosition, wxDefaultSize, 0 ); Label->Wrap( -1 ); LabelsSizer->Add( Label, 0, wxALIGN_RIGHT, 5 ); LabelsSizer->Add( 0, 0, 1, wxEXPAND, 5 ); Label = new wxStaticText( this, wxID_ANY, wxT("-3"), wxDefaultPosition, wxDefaultSize, 0 ); Label->Wrap( -1 ); LabelsSizer->Add( Label, 0, wxALIGN_RIGHT, 5 ); LabelsSizer->Add( 0, 0, 1, wxEXPAND, 5 ); Label = new wxStaticText( this, wxID_ANY, wxT("-6"), wxDefaultPosition, wxDefaultSize, 0 ); Label->Wrap( -1 ); LabelsSizer->Add( Label, 0, wxALIGN_RIGHT, 5 ); LabelsSizer->Add( 0, 0, 1, wxEXPAND, 5 ); Label = new wxStaticText( this, wxID_ANY, wxT("-12"), wxDefaultPosition, wxDefaultSize, 0 ); Label->Wrap( -1 ); LabelsSizer->Add( Label, 0, wxALIGN_RIGHT, 5 ); Label = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); Label->Wrap( -1 ); LabelsSizer->Add( Label, 0, wxRIGHT|wxLEFT|wxALIGN_RIGHT, 5 ); BandsSizer->Add( LabelsSizer, 1, wxEXPAND, 5 ); wxBoxSizer* BandSizer00; BandSizer00 = new wxBoxSizer( wxVERTICAL ); m_Values[ 0 ] = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_Values[ 0 ]->Wrap( -1 ); BandSizer00->Add( m_Values[ 0 ], 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxLEFT, 5 ); m_Bands[ 0 ] = new wxSlider( this, wxID_ANY, m_MediaCtrl->GetEqualizerBand( 0 ), -120, 120, wxDefaultPosition, wxDefaultSize, wxSL_INVERSE|wxSL_VERTICAL ); m_Bands[ 0 ]->SetLabel( wxT( "0" ) ); BandSizer00->Add( m_Bands[ 0 ], 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); wxStaticText * Label0 = new wxStaticText( this, wxID_ANY, wxT("30"), wxDefaultPosition, wxDefaultSize, 0 ); Label0->Wrap( -1 ); BandSizer00->Add( Label0, 0, wxALIGN_CENTER_HORIZONTAL, 5 ); BandsSizer->Add( BandSizer00, 1, wxEXPAND, 5 ); wxBoxSizer* BandSizer01; BandSizer01 = new wxBoxSizer( wxVERTICAL ); m_Values[ 1 ] = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_Values[ 1 ]->Wrap( -1 ); BandSizer01->Add( m_Values[ 1 ], 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxLEFT, 5 ); m_Bands[ 1 ] = new wxSlider( this, wxID_ANY, m_MediaCtrl->GetEqualizerBand( 1 ), -120, 120, wxDefaultPosition, wxDefaultSize, wxSL_INVERSE|wxSL_VERTICAL ); m_Bands[ 1 ]->SetLabel( wxT( "1" ) ); BandSizer01->Add( m_Bands[ 1 ], 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); wxStaticText * Label1 = new wxStaticText( this, wxID_ANY, wxT("60"), wxDefaultPosition, wxDefaultSize, 0 ); Label1->Wrap( -1 ); BandSizer01->Add( Label1, 0, wxALIGN_CENTER_HORIZONTAL, 5 ); BandsSizer->Add( BandSizer01, 1, wxEXPAND, 5 ); wxBoxSizer* BandSizer02; BandSizer02 = new wxBoxSizer( wxVERTICAL ); m_Values[ 2 ] = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_Values[ 2 ]->Wrap( -1 ); BandSizer02->Add( m_Values[ 2 ], 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxLEFT, 5 ); m_Bands[ 2 ] = new wxSlider( this, wxID_ANY, m_MediaCtrl->GetEqualizerBand( 2 ), -120, 120, wxDefaultPosition, wxDefaultSize, wxSL_INVERSE|wxSL_VERTICAL ); m_Bands[ 2 ]->SetLabel( wxT( "2" ) ); BandSizer02->Add( m_Bands[ 2 ], 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); wxStaticText * Label2 = new wxStaticText( this, wxID_ANY, wxT("120"), wxDefaultPosition, wxDefaultSize, 0 ); Label2->Wrap( -1 ); BandSizer02->Add( Label2, 0, wxALIGN_CENTER_HORIZONTAL, 5 ); BandsSizer->Add( BandSizer02, 1, wxEXPAND, 5 ); wxBoxSizer* BandSizer03; BandSizer03 = new wxBoxSizer( wxVERTICAL ); m_Values[ 3 ] = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_Values[ 3 ]->Wrap( -1 ); BandSizer03->Add( m_Values[ 3 ], 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxLEFT, 5 ); m_Bands[ 3 ] = new wxSlider( this, wxID_ANY, m_MediaCtrl->GetEqualizerBand( 3 ), -120, 120, wxDefaultPosition, wxDefaultSize, wxSL_INVERSE|wxSL_VERTICAL ); m_Bands[ 3 ]->SetLabel( wxT( "3" ) ); BandSizer03->Add( m_Bands[ 3 ], 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); wxStaticText * Label3 = new wxStaticText( this, wxID_ANY, wxT("250"), wxDefaultPosition, wxDefaultSize, 0 ); Label3->Wrap( -1 ); BandSizer03->Add( Label3, 0, wxALIGN_CENTER_HORIZONTAL, 5 ); BandsSizer->Add( BandSizer03, 1, wxEXPAND, 5 ); wxBoxSizer* BandSizer04; BandSizer04 = new wxBoxSizer( wxVERTICAL ); m_Values[ 4 ] = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_Values[ 4 ]->Wrap( -1 ); BandSizer04->Add( m_Values[ 4 ], 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxLEFT, 5 ); m_Bands[ 4 ] = new wxSlider( this, wxID_ANY, m_MediaCtrl->GetEqualizerBand( 4 ), -120, 120, wxDefaultPosition, wxDefaultSize, wxSL_INVERSE|wxSL_VERTICAL ); m_Bands[ 4 ]->SetLabel( wxT( "4" ) ); BandSizer04->Add( m_Bands[ 4 ], 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); wxStaticText * Label4 = new wxStaticText( this, wxID_ANY, wxT("500"), wxDefaultPosition, wxDefaultSize, 0 ); Label4->Wrap( -1 ); BandSizer04->Add( Label4, 0, wxALIGN_CENTER_HORIZONTAL, 5 ); BandsSizer->Add( BandSizer04, 1, wxEXPAND, 5 ); wxBoxSizer* BandSizer05; BandSizer05 = new wxBoxSizer( wxVERTICAL ); m_Values[ 5 ] = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_Values[ 5 ]->Wrap( -1 ); BandSizer05->Add( m_Values[ 5 ], 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxLEFT, 5 ); m_Bands[ 5 ] = new wxSlider( this, wxID_ANY, m_MediaCtrl->GetEqualizerBand( 5 ), -120, 120, wxDefaultPosition, wxDefaultSize, wxSL_INVERSE|wxSL_VERTICAL ); m_Bands[ 5 ]->SetLabel( wxT( "5" ) ); BandSizer05->Add( m_Bands[ 5 ], 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); wxStaticText * Label5 = new wxStaticText( this, wxID_ANY, wxT("1K"), wxDefaultPosition, wxDefaultSize, 0 ); Label5->Wrap( -1 ); BandSizer05->Add( Label5, 0, wxALIGN_CENTER_HORIZONTAL, 5 ); BandsSizer->Add( BandSizer05, 1, wxEXPAND, 5 ); wxBoxSizer* BandSizer06; BandSizer06 = new wxBoxSizer( wxVERTICAL ); m_Values[ 6 ] = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_Values[ 6 ]->Wrap( -1 ); BandSizer06->Add( m_Values[ 6 ], 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxLEFT, 5 ); m_Bands[ 6 ] = new wxSlider( this, wxID_ANY, m_MediaCtrl->GetEqualizerBand( 6 ), -120, 120, wxDefaultPosition, wxDefaultSize, wxSL_INVERSE|wxSL_VERTICAL ); m_Bands[ 6 ]->SetLabel( wxT( "6" ) ); BandSizer06->Add( m_Bands[ 6 ], 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); wxStaticText * Label6 = new wxStaticText( this, wxID_ANY, wxT("2K"), wxDefaultPosition, wxDefaultSize, 0 ); Label6->Wrap( -1 ); BandSizer06->Add( Label6, 0, wxALIGN_CENTER_HORIZONTAL, 5 ); BandsSizer->Add( BandSizer06, 1, wxEXPAND, 5 ); wxBoxSizer* BandSizer07; BandSizer07 = new wxBoxSizer( wxVERTICAL ); m_Values[ 7 ] = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_Values[ 7 ]->Wrap( -1 ); BandSizer07->Add( m_Values[ 7 ], 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxLEFT, 5 ); m_Bands[ 7 ] = new wxSlider( this, wxID_ANY, m_MediaCtrl->GetEqualizerBand( 7 ), -120, 120, wxDefaultPosition, wxDefaultSize, wxSL_INVERSE|wxSL_VERTICAL ); m_Bands[ 7 ]->SetLabel( wxT( "7" ) ); BandSizer07->Add( m_Bands[ 7 ], 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); wxStaticText * Label7 = new wxStaticText( this, wxID_ANY, wxT("4K"), wxDefaultPosition, wxDefaultSize, 0 ); Label7->Wrap( -1 ); BandSizer07->Add( Label7, 0, wxALIGN_CENTER_HORIZONTAL, 5 ); BandsSizer->Add( BandSizer07, 1, wxEXPAND, 5 ); wxBoxSizer* BandSizer08; BandSizer08 = new wxBoxSizer( wxVERTICAL ); m_Values[ 8 ] = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_Values[ 8 ]->Wrap( -1 ); BandSizer08->Add( m_Values[ 8 ], 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxLEFT, 5 ); m_Bands[ 8 ] = new wxSlider( this, wxID_ANY, m_MediaCtrl->GetEqualizerBand( 8 ), -120, 120, wxDefaultPosition, wxDefaultSize, wxSL_INVERSE|wxSL_VERTICAL ); m_Bands[ 8 ]->SetLabel( wxT( "8" ) ); BandSizer08->Add( m_Bands[ 8 ], 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); wxStaticText * Label8 = new wxStaticText( this, wxID_ANY, wxT("8K"), wxDefaultPosition, wxDefaultSize, 0 ); Label8->Wrap( -1 ); BandSizer08->Add( Label8, 0, wxALIGN_CENTER_HORIZONTAL, 5 ); BandsSizer->Add( BandSizer08, 1, wxEXPAND, 5 ); wxBoxSizer* BandSizer09; BandSizer09 = new wxBoxSizer( wxVERTICAL ); m_Values[ 9 ] = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_Values[ 9 ]->Wrap( -1 ); BandSizer09->Add( m_Values[ 9 ], 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxLEFT, 5 ); m_Bands[ 9 ] = new wxSlider( this, wxID_ANY, m_MediaCtrl->GetEqualizerBand( 9 ), -120, 120, wxDefaultPosition, wxDefaultSize, wxSL_INVERSE|wxSL_VERTICAL ); m_Bands[ 9 ]->SetLabel( wxT( "9" ) ); BandSizer09->Add( m_Bands[ 9 ], 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); wxStaticText * Label9 = new wxStaticText( this, wxID_ANY, wxT("16K"), wxDefaultPosition, wxDefaultSize, 0 ); Label9->Wrap( -1 ); BandSizer09->Add( Label9, 0, wxALIGN_CENTER_HORIZONTAL, 5 ); BandsSizer->Add( BandSizer09, 1, wxEXPAND, 5 ); MainSizer->Add( BandsSizer, 1, wxEXPAND|wxBOTTOM, 5 ); wxStdDialogButtonSizer * EQBtnSizer; EQBtnSizer = new wxStdDialogButtonSizer(); wxButton * EQBtnOK; EQBtnOK = new wxButton( this, wxID_OK ); EQBtnSizer->AddButton( EQBtnOK ); EQBtnSizer->SetAffirmativeButton( EQBtnOK ); EQBtnSizer->Realize(); MainSizer->Add( EQBtnSizer, 0, wxEXPAND|wxBOTTOM|wxRIGHT, 5 ); int Index; for( Index = 0; Index < guEQUALIZER_BAND_COUNT; Index++ ) { m_Values[ Index ]->SetLabel( wxString::Format( wxT( "%.1f" ), double( m_Bands[ Index ]->GetValue() ) / 10.0 ) ); m_Bands[ Index ]->Connect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( guEq10Band::OnBandChanged ), NULL, this ); m_Bands[ Index ]->Connect( wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler( guEq10Band::OnUpdateLabel ), NULL, this ); } this->SetSizer( MainSizer ); this->Layout(); EQBtnOK->SetDefault(); // Connect Events m_PresetComboBox->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( guEq10Band::OnPresetSelected ), NULL, this ); m_PresetComboBox->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( guEq10Band::OnPresetText ), NULL, this ); m_ResetButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( guEq10Band::OnResetPreset ), NULL, this ); m_SaveButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( guEq10Band::OnAddPreset ), NULL, this ); m_DelButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( guEq10Band::OnDelPreset ), NULL, this ); if( LastPresetIndex != wxNOT_FOUND ) { m_PresetComboBox->SetSelection( LastPresetIndex ); } m_PresetComboBox->SetFocus(); }
// -------------------------------------------------------------------------------- // void guCoListBox::CreateContextMenu( wxMenu * Menu ) const { wxMenuItem * MenuItem; int SelCount = GetSelectedCount(); int ContextMenuFlags = m_LibPanel->GetContextMenuFlags(); MenuItem = new wxMenuItem( Menu, ID_COMPOSER_PLAY, wxString( _( "Play" ) ) + guAccelGetCommandKeyCodeString( ID_TRACKS_PLAY ), _( "Play current selected composer" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_player_tiny_light_play ) ); Menu->Append( MenuItem ); MenuItem->Enable( SelCount ); MenuItem = new wxMenuItem( Menu, ID_COMPOSER_ENQUEUE_AFTER_ALL, wxString( _( "Enqueue" ) ) + guAccelGetCommandKeyCodeString( ID_TRACKS_ENQUEUE_AFTER_ALL ), _( "Add current selected tracks to playlist" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) ); Menu->Append( MenuItem ); MenuItem->Enable( SelCount ); wxMenu * EnqueueMenu = new wxMenu(); MenuItem = new wxMenuItem( EnqueueMenu, ID_COMPOSER_ENQUEUE_AFTER_TRACK, wxString( _( "Current Track" ) ) + guAccelGetCommandKeyCodeString( ID_TRACKS_ENQUEUE_AFTER_TRACK ), _( "Add current selected albums to the Playlist as Next Tracks" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) ); EnqueueMenu->Append( MenuItem ); MenuItem->Enable( SelCount ); MenuItem = new wxMenuItem( EnqueueMenu, ID_COMPOSER_ENQUEUE_AFTER_ALBUM, wxString( _( "Current Album" ) ) + guAccelGetCommandKeyCodeString( ID_TRACKS_ENQUEUE_AFTER_ALBUM ), _( "Add current selected albums to the Playlist as Next Tracks" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) ); EnqueueMenu->Append( MenuItem ); MenuItem->Enable( SelCount ); MenuItem = new wxMenuItem( EnqueueMenu, ID_COMPOSER_ENQUEUE_AFTER_ARTIST, wxString( _( "Current Artist" ) ) + guAccelGetCommandKeyCodeString( ID_TRACKS_ENQUEUE_AFTER_ARTIST ), _( "Add current selected albums to the Playlist as Next Tracks" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) ); EnqueueMenu->Append( MenuItem ); MenuItem->Enable( SelCount ); Menu->Append( wxID_ANY, _( "Enqueue After" ), EnqueueMenu, _( "Add the selected albums after" ) ); if( SelCount ) { if( ContextMenuFlags & guCONTEXTMENU_EDIT_TRACKS ) { Menu->AppendSeparator(); MenuItem = new wxMenuItem( Menu, ID_COMPOSER_EDITTRACKS, wxString( _( "Edit songs" ) ) + guAccelGetCommandKeyCodeString( ID_PLAYER_PLAYLIST_EDITTRACKS ), _( "Edit the selected tracks" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_edit ) ); Menu->Append( MenuItem ); } Menu->AppendSeparator(); MenuItem = new wxMenuItem( Menu, ID_COMPOSER_SAVETOPLAYLIST, wxString( _( "Save to Playlist" ) ) + guAccelGetCommandKeyCodeString( ID_PLAYER_PLAYLIST_SAVE ), _( "Save the selected tracks to playlist" ) ); MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_doc_save ) ); Menu->Append( MenuItem ); if( ContextMenuFlags & guCONTEXTMENU_COPY_TO ) { Menu->AppendSeparator(); m_LibPanel->CreateCopyToMenu( Menu ); } } m_LibPanel->CreateContextMenu( Menu ); }
// -------------------------------------------------------------------------------- // void guTuneInRadioProvider::RegisterImages( wxImageList * imagelist ) { imagelist->Add( guImage( guIMAGE_INDEX_tiny_tunein ) ); m_ImageIds.Add( imagelist->GetImageCount() - 1 ); }
// -------------------------------------------------------------------------------- // guTreeViewFilterEditor::guTreeViewFilterEditor( wxWindow * parent, const wxString &filterentry ) : wxDialog( parent, wxID_ANY, _( "Filter Editor" ), wxDefaultPosition, wxSize( 410, 310 ), wxDEFAULT_DIALOG_STYLE ) { m_CurrentItem = wxNOT_FOUND; SetSizeHints( wxDefaultSize, wxDefaultSize ); wxBoxSizer * MainSizer = new wxBoxSizer( wxVERTICAL ); MainSizer->Add( 0, 10, 0, wxEXPAND, 5 ); wxBoxSizer * NameSizer = new wxBoxSizer( wxHORIZONTAL ); wxStaticText * NameLabel = new wxStaticText( this, wxID_ANY, _( "Name:" ), wxDefaultPosition, wxDefaultSize, 0 ); NameLabel->Wrap( -1 ); NameSizer->Add( NameLabel, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); m_NameTextCtrl = new wxTextCtrl( this, wxID_ANY, filterentry.BeforeFirst( wxT( ':' ) ), wxDefaultPosition, wxDefaultSize, 0 ); NameSizer->Add( m_NameTextCtrl, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 ); MainSizer->Add( NameSizer, 0, wxEXPAND, 5 ); wxStaticBoxSizer * FiltersSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _( "Filters" ) ), wxVERTICAL ); wxBoxSizer * FiltersListBoxSizer = new wxBoxSizer( wxHORIZONTAL ); if( !FilterItemNames.Count() ) { FilterItemNames.Add( wxT( "Dummy" ) ); //FilterItemNames.Add( wxT( "Text" ) ); FilterItemNames.Add( wxT( "Labels" ) ); FilterItemNames.Add( _( "Genre" ) ); FilterItemNames.Add( _( "Artist" ) ); FilterItemNames.Add( _( "Composer" ) ); FilterItemNames.Add( _( "Album Artist" ) ); FilterItemNames.Add( _( "Album" ) ); FilterItemNames.Add( _( "Year" ) ); FilterItemNames.Add( _( "Rating" ) ); FilterItemNames.Add( _( "Play Count" ) ); } wxArrayString FilterItems = wxStringTokenize( filterentry.AfterFirst( wxT( ':' ) ), wxT( ':' ) ); int Index; int Count; if( ( Count = FilterItems.Count() ) ) { for( Index = 0; Index < Count; Index++ ) { long Value; FilterItems[ Index ].ToLong( &Value ); m_FilterItems.Add( Value ); } } m_FiltersListBox = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE ); Count = m_FilterItems.Count(); for( Index = 0; Index < Count; Index++ ) { m_FiltersListBox->Append( FilterItemNames[ m_FilterItems[ Index ] ] ); } FiltersListBoxSizer->Add( m_FiltersListBox, 1, wxEXPAND|wxTOP|wxLEFT, 5 ); wxBoxSizer * FilterButtonsSizer = new wxBoxSizer( wxVERTICAL ); m_UpFilterButton = new wxBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_up ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW ); m_UpFilterButton->Enable( false ); FilterButtonsSizer->Add( m_UpFilterButton, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 ); m_DownFilterButton = new wxBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_down ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW ); m_DownFilterButton->Enable( false ); FilterButtonsSizer->Add( m_DownFilterButton, 0, wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_DelFilterButton = new wxBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_del ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW ); m_DelFilterButton->Enable( false ); FilterButtonsSizer->Add( m_DelFilterButton, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); FiltersListBoxSizer->Add( FilterButtonsSizer, 0, wxEXPAND, 5 ); FiltersSizer->Add( FiltersListBoxSizer, 1, wxEXPAND, 5 ); wxBoxSizer * NewFilterSizer = new wxBoxSizer( wxHORIZONTAL ); NewFilterSizer->Add( 0, 0, 1, wxEXPAND, 5 ); wxStaticText * NewFilterLabel = new wxStaticText( this, wxID_ANY, _( "Filter:" ), wxDefaultPosition, wxDefaultSize, 0 ); NewFilterLabel->Wrap( -1 ); NewFilterSizer->Add( NewFilterLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 ); wxString m_FiltersChoiceChoices[] = { _( "Genres" ), _( "Artist" ), _( "Composer" ), _( "Album Artist" ), _( "Album" ), _( "Year" ), _( "Rating" ), _( "PlayCount" ) }; int m_FiltersChoiceNChoices = sizeof( m_FiltersChoiceChoices ) / sizeof( wxString ); m_FiltersChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_FiltersChoiceNChoices, m_FiltersChoiceChoices, 0 ); m_FiltersChoice->SetSelection( 0 ); NewFilterSizer->Add( m_FiltersChoice, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 ); m_AddFilterButton = new wxBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_add ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW ); NewFilterSizer->Add( m_AddFilterButton, 0, wxTOP|wxRIGHT, 5 ); FiltersSizer->Add( NewFilterSizer, 0, wxEXPAND, 5 ); MainSizer->Add( FiltersSizer, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); wxStdDialogButtonSizer * ButtonsSizer = new wxStdDialogButtonSizer(); m_AcceptButton = new wxButton( this, wxID_OK ); m_AcceptButton->Enable( !m_NameTextCtrl->IsEmpty() && m_FiltersListBox->GetCount() ); ButtonsSizer->AddButton( m_AcceptButton ); wxButton * ButtonsSizerCancel = new wxButton( this, wxID_CANCEL ); ButtonsSizer->AddButton( ButtonsSizerCancel ); ButtonsSizer->SetAffirmativeButton( m_AcceptButton ); ButtonsSizer->SetCancelButton( ButtonsSizerCancel ); ButtonsSizer->Realize(); MainSizer->Add( ButtonsSizer, 0, wxEXPAND|wxALL, 5 ); this->SetSizer( MainSizer ); this->Layout(); m_AcceptButton->SetDefault(); // Connect Events m_NameTextCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( guTreeViewFilterEditor::OnCheckAcceptButton ), NULL, this ); m_FiltersListBox->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( guTreeViewFilterEditor::OnFilterListBoxSelected ), NULL, this ); m_UpFilterButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( guTreeViewFilterEditor::OnUpFilterBtnClick ), NULL, this ); m_DownFilterButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( guTreeViewFilterEditor::OnDownFilterBtnClick ), NULL, this ); m_DelFilterButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( guTreeViewFilterEditor::OnDelFilterBtnClick ), NULL, this ); m_AddFilterButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( guTreeViewFilterEditor::OnAddFilterBtnClick ), NULL, this ); m_NameTextCtrl->SetFocus(); }
// -------------------------------------------------------------------------------- // guCoverEditor::guCoverEditor( wxWindow* parent, const wxString &Artist, const wxString &Album ) : wxDialog( parent, wxID_ANY, _( "Cover Editor" ), wxDefaultPosition, wxSize( 520, 446 ), wxDEFAULT_DIALOG_STYLE ) { wxStaticText* ArtistStaticText; wxStaticText* AlbumStaticText; wxStaticText* FromStaticText; wxStaticLine * TopStaticLine; guConfig * Config = ( guConfig * ) guConfig::Get(); this->SetSizeHints( wxDefaultSize, wxDefaultSize ); wxBoxSizer* MainSizer; MainSizer = new wxBoxSizer( wxVERTICAL ); wxBoxSizer* EditsSizer; EditsSizer = new wxBoxSizer( wxHORIZONTAL ); ArtistStaticText = new wxStaticText( this, wxID_ANY, _( "Artist:" ), wxDefaultPosition, wxDefaultSize, 0 ); ArtistStaticText->Wrap( -1 ); EditsSizer->Add( ArtistStaticText, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 ); m_ArtistTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER ); EditsSizer->Add( m_ArtistTextCtrl, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 ); AlbumStaticText = new wxStaticText( this, wxID_ANY, _( "Album:" ), wxDefaultPosition, wxDefaultSize, 0 ); AlbumStaticText->Wrap( -1 ); EditsSizer->Add( AlbumStaticText, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 ); m_AlbumTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER ); EditsSizer->Add( m_AlbumTextCtrl, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 ); FromStaticText = new wxStaticText( this, wxID_ANY, _( "From:" ), wxDefaultPosition, wxDefaultSize, 0 ); FromStaticText->Wrap( -1 ); EditsSizer->Add( FromStaticText, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 ); wxString m_EngineChoiceChoices[] = { //wxT( "Google" ), wxT( "Amazon" ), wxT("Last.fm"), //wxT( "Discogs" ) wxT( "Yahoo" ) }; int m_EngineChoiceNChoices = sizeof( m_EngineChoiceChoices ) / sizeof( wxString ); m_EngineChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_EngineChoiceNChoices, m_EngineChoiceChoices, 0 ); EditsSizer->Add( m_EngineChoice, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 ); MainSizer->Add( EditsSizer, 0, wxEXPAND, 5 ); TopStaticLine = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); MainSizer->Add( TopStaticLine, 0, wxEXPAND | wxALL, 5 ); wxBoxSizer* CoverSizer; CoverSizer = new wxBoxSizer( wxHORIZONTAL ); CoverSizer->Add( 0, 0, 1, wxEXPAND, 5 ); m_PrevButton = new wxBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_left ), wxDefaultPosition, wxSize( 32, 96 ), wxBU_AUTODRAW ); CoverSizer->Add( m_PrevButton, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); int CoverFrame = Config->ReadNum( wxT( "CoverFrame" ), guCOVERFRAME_DEFAULT, wxT( "general" ) ); wxImage DefaultCover( guImage( CoverFrame ? guIMAGE_INDEX_blank_cd_cover : guIMAGE_INDEX_no_cover ) ); if( !CoverFrame ) DefaultCover.Rescale( 250, 250, wxIMAGE_QUALITY_HIGH ); m_CoverBitmap = new wxStaticBitmap( this, wxID_ANY, DefaultCover, wxDefaultPosition, wxSize( -1,-1 ), 0 ); CoverSizer->Add( m_CoverBitmap, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 ); m_NextButton = new wxBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_right ), wxDefaultPosition, wxSize( 32, 96 ), wxBU_AUTODRAW ); CoverSizer->Add( m_NextButton, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); CoverSizer->Add( 0, 0, 1, wxEXPAND, 5 ); MainSizer->Add( CoverSizer, 1, wxEXPAND, 5 ); m_SizeSizer = new wxBoxSizer( wxVERTICAL ); m_SizeStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_SizeStaticText->Wrap( -1 ); m_SizeSizer->Add( m_SizeStaticText, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 ); MainSizer->Add( m_SizeSizer, 0, wxEXPAND, 5 ); wxBoxSizer* GaugeSizer; GaugeSizer = new wxBoxSizer( wxHORIZONTAL ); m_Gauge = new guAutoPulseGauge( this, wxID_ANY, MAX_COVERLINKS_ITEMS, wxDefaultPosition, wxSize( -1,7 ), wxGA_HORIZONTAL ); m_Gauge->SetValue( 5 ); GaugeSizer->Add( m_Gauge, 1, wxEXPAND|wxALL, 5 ); m_InfoTextCtrl = new wxStaticText( this, wxID_ANY, wxT("00/00"), wxDefaultPosition, wxDefaultSize, 0 ); m_InfoTextCtrl->Wrap( -1 ); GaugeSizer->Add( m_InfoTextCtrl, 0, wxRIGHT, 5 ); MainSizer->Add( GaugeSizer, 0, wxEXPAND, 5 ); m_EmbedToFilesChkBox = new wxCheckBox( this, wxID_ANY, _( "Embed into tracks" ), wxDefaultPosition, wxDefaultSize, 0 ); m_EmbedToFilesChkBox->SetValue( Config->ReadBool( wxT( "EmbedToFiles" ), false, wxT( "general" ) ) ); MainSizer->Add( m_EmbedToFilesChkBox, 0, wxRIGHT|wxLEFT, 5 ); wxStdDialogButtonSizer * ButtonsSizer; wxButton * ButtonsSizerOK; wxButton * ButtonsSizerCancel; ButtonsSizer = new wxStdDialogButtonSizer(); ButtonsSizerOK = new wxButton( this, wxID_OK ); ButtonsSizer->AddButton( ButtonsSizerOK ); ButtonsSizerCancel = new wxButton( this, wxID_CANCEL ); ButtonsSizer->AddButton( ButtonsSizerCancel ); ButtonsSizer->SetAffirmativeButton( ButtonsSizerOK ); ButtonsSizer->SetCancelButton( ButtonsSizerCancel ); ButtonsSizer->Realize(); MainSizer->Add( ButtonsSizer, 0, wxEXPAND|wxALIGN_BOTTOM|wxALL, 5 ); this->SetSizer( MainSizer ); this->Layout(); ButtonsSizerOK->SetDefault(); m_ArtistTextCtrl->SetValue( Artist ); m_AlbumTextCtrl->SetValue( Album ); m_CurrentImage = 0; m_EngineIndex = Config->ReadNum( wxT( "CoverSearchEngine" ), 0, wxT( "general" ) ); m_EngineChoice->SetSelection( m_EngineIndex ); // Connect Events m_ArtistTextCtrl->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( guCoverEditor::OnTextCtrlEnter ), NULL, this ); m_AlbumTextCtrl->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( guCoverEditor::OnTextCtrlEnter ), NULL, this ); m_EngineChoice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( guCoverEditor::OnEngineChanged ), NULL, this ); m_CoverBitmap->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( guCoverEditor::OnCoverLeftDClick ), NULL, this ); m_CoverBitmap->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( guCoverEditor::OnCoverLeftClick ), NULL, this ); Connect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( guCoverEditor::OnMouseWheel ), NULL, this ); m_PrevButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( guCoverEditor::OnPrevButtonClick ), NULL, this ); m_NextButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( guCoverEditor::OnNextButtonClick ), NULL, this ); Connect( ID_COVEREDITOR_ADDCOVERIMAGE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guCoverEditor::OnAddCoverImage ) ); Connect( ID_COVEREDITOR_DOWNLOADEDLINKS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guCoverEditor::OnDownloadedLinks ) ); m_DownloadCoversThread = new guFetchCoverLinksThread( this, Artist.c_str(), Album.c_str(), m_EngineIndex ); m_PrevButton->Disable(); m_NextButton->Disable(); m_ArtistTextCtrl->SetFocus(); }
// -------------------------------------------------------------------------------- // void guImportFiles::CreateControls( void ) { guConfig * Config = ( guConfig * ) guConfig::Get(); SetSizeHints( wxDefaultSize, wxDefaultSize ); wxBoxSizer * MainSizer = new wxBoxSizer( wxVERTICAL ); wxStaticBoxSizer * MainStaticBoxSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxEmptyString ), wxVERTICAL ); wxFlexGridSizer * CopyToSizer = new wxFlexGridSizer( 2, 0, 0 ); CopyToSizer->AddGrowableCol( 1 ); CopyToSizer->SetFlexibleDirection( wxBOTH ); CopyToSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); wxStaticText * CopyToStaticText = new wxStaticText( this, wxID_ANY, _( "Copy to Option:" ), wxDefaultPosition, wxDefaultSize, 0 ); CopyToStaticText->Wrap( -1 ); CopyToSizer->Add( CopyToStaticText, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 ); wxBoxSizer * CopyToChoiceSIzer = new wxBoxSizer( wxHORIZONTAL ); wxArrayString CopyToOptions = Config->ReadAStr( CONFIG_KEY_COPYTO_OPTION, wxEmptyString, CONFIG_PATH_COPYTO ); int Index; int Count; if( ( Count = CopyToOptions.Count() ) ) { for( Index = 0; Index < Count; Index++ ) { CopyToOptions[ Index ] = CopyToOptions[ Index ].BeforeFirst( wxT( ':' ) ); } } guMediaCollection * MediaCollection = m_MediaViewer->GetMediaCollection(); int CopyToIndex = CopyToOptions.Index( MediaCollection->m_DefaultCopyAction ); m_CopyToChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, CopyToOptions, 0 ); m_CopyToChoice->SetSelection( CopyToIndex ); CopyToChoiceSIzer->Add( m_CopyToChoice, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxEXPAND, 5 ); m_CopyToSetupBtn = new wxBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_search_engine ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW ); CopyToChoiceSIzer->Add( m_CopyToSetupBtn, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 ); CopyToSizer->Add( CopyToChoiceSIzer, 1, wxEXPAND, 5 ); wxStaticText * DestPathStaticText = new wxStaticText( this, wxID_ANY, _( "Destination Folder:" ), wxDefaultPosition, wxDefaultSize, 0 ); DestPathStaticText->Wrap( -1 ); CopyToSizer->Add( DestPathStaticText, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_DestPathDirPicker = new wxDirPickerCtrl( this, wxID_ANY, wxEmptyString, _( "Select a folder" ), wxDefaultPosition, wxDefaultSize, wxDIRP_DEFAULT_STYLE|wxDIRP_DIR_MUST_EXIST ); m_DestPathDirPicker->SetPath( m_MediaViewer->AudioPath() ); CopyToSizer->Add( m_DestPathDirPicker, 0, wxEXPAND|wxBOTTOM|wxRIGHT, 5 ); MainStaticBoxSizer->Add( CopyToSizer, 0, wxEXPAND, 5 ); wxStaticBoxSizer * FilesSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _( " Files " ) ), wxVERTICAL ); m_FilesListBox = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_MULTIPLE ); Count = m_Tracks->Count(); for( Index = 0; Index < Count; Index++ ) { const guTrack & CurTrack = m_Tracks->Item( Index ); wxString CurFile = CurTrack.m_FileName.AfterLast( wxT( '/' ) ); if( CurTrack.m_Offset ) { CurFile += wxT( "@" ) + LenToString( CurTrack.m_Offset ); CurFile += wxT( " / " ) + LenToString( CurTrack.m_Length ); } m_FilesListBox->Append( CurFile ); } FilesSizer->Add( m_FilesListBox, 1, wxEXPAND|wxALL, 5 ); wxBoxSizer * AddFilesSizer = new wxBoxSizer( wxHORIZONTAL ); m_AddFilesBtn = new wxBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_add ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW ); AddFilesSizer->Add( m_AddFilesBtn, 0, wxLEFT, 5 ); m_DelFilesBtn = new wxBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_del ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW ); m_DelFilesBtn->Enable( false ); AddFilesSizer->Add( m_DelFilesBtn, 0, wxRIGHT, 5 ); AddFilesSizer->Add( 0, 0, 1, wxEXPAND, 5 ); m_FilesLabel = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_FilesLabel->Wrap( -1 ); AddFilesSizer->Add( m_FilesLabel, 0, wxRIGHT|wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 ); FilesSizer->Add( AddFilesSizer, 0, wxEXPAND, 5 ); MainStaticBoxSizer->Add( FilesSizer, 1, wxEXPAND, 5 ); MainSizer->Add( MainStaticBoxSizer, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); wxStdDialogButtonSizer * DlgButtons = new wxStdDialogButtonSizer(); m_DlgButtonsOK = new wxButton( this, wxID_OK ); m_DlgButtonsOK->Enable( !m_CopyToChoice->GetStringSelection().IsEmpty() && !m_DestPathDirPicker->GetPath().IsEmpty() && !m_FilesListBox->IsEmpty() ); DlgButtons->AddButton( m_DlgButtonsOK ); wxButton * DlgButtonsCancel = new wxButton( this, wxID_CANCEL ); DlgButtons->AddButton( DlgButtonsCancel ); DlgButtons->SetAffirmativeButton( m_DlgButtonsOK ); DlgButtons->SetCancelButton( DlgButtonsCancel ); DlgButtons->Realize(); MainSizer->Add( DlgButtons, 0, wxEXPAND|wxALL, 5 ); SetSizer( MainSizer ); Layout(); m_DlgButtonsOK->SetDefault(); UpdateCounters(); m_CopyToSetupBtn->Bind( wxEVT_BUTTON, &guImportFiles::OnCopyToSetupClicked, this ); m_FilesListBox->Bind( wxEVT_LISTBOX, &guImportFiles::OnFileSelected, this ); m_AddFilesBtn->Bind( wxEVT_BUTTON, &guImportFiles::OnAddFilesClicked, this ); m_DelFilesBtn->Bind( wxEVT_BUTTON, &guImportFiles::OnDelFilesClicked, this ); Bind( guConfigUpdatedEvent, &guImportFiles::OnConfigUpdated, this, ID_CONFIG_UPDATED ); }
// -------------------------------------------------------------------------------- // guSplashFrame::guSplashFrame( wxWindow * parent, int timeout ) : wxFrame( parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 500,275 ), wxSTAY_ON_TOP | wxNO_BORDER | wxFRAME_TOOL_WINDOW ) { CentreOnScreen(); this->SetSizeHints( wxDefaultSize, wxDefaultSize ); m_Bitmap = new wxBitmap( guImage( guIMAGE_INDEX_splash ) ); wxBoxSizer* MainSizer; MainSizer = new wxBoxSizer( wxVERTICAL ); wxColour FontColor = wxColour( 100, 100, 100 ); wxString Version = wxT( ID_GUAYADEQUE_VERSION ); #ifdef ID_GUAYADEQUE_REVISION Version += wxT( "-" ID_GUAYADEQUE_REVISION ); #endif m_Version = new wxStaticText( this, wxID_ANY, Version, wxDefaultPosition, wxDefaultSize, 0 ); wxFont CurFont = m_Version->GetFont(); CurFont.SetPointSize( CurFont.GetPointSize() + 2 ); m_Version->SetFont( CurFont ); m_Version->Wrap( -1 ); m_Version->SetForegroundColour( FontColor ); m_Version->SetBackgroundColour( * wxWHITE ); MainSizer->Add( m_Version, 0, wxALIGN_RIGHT|wxTOP|wxRIGHT|wxLEFT, 5 ); MainSizer->Add( 0, 0, 1, wxEXPAND, 5 ); m_Email = new wxHyperlinkCtrl( this, wxID_ANY, guSPLASH_NAME wxT( " " ) guSPLASH_EMAIL, wxT( "mailto:" ) guSPLASH_EMAIL, wxDefaultPosition, wxDefaultSize, wxHL_ALIGN_RIGHT ); m_Email->SetHoverColour( FontColor ); m_Email->SetNormalColour( FontColor ); m_Email->SetVisitedColour( FontColor ); m_Email->SetBackgroundColour( * wxWHITE ); m_Email->SetCanFocus( false ); MainSizer->Add( m_Email, 0, wxALIGN_RIGHT|wxRIGHT|wxLEFT, 5 ); m_HomePage = new wxHyperlinkCtrl( this, wxID_ANY, guSPLASH_HOMEPAGE, guSPLASH_HOMEPAGE, wxDefaultPosition, wxDefaultSize, wxHL_ALIGN_RIGHT ); m_HomePage->SetHoverColour( FontColor ); m_HomePage->SetNormalColour( FontColor ); m_HomePage->SetVisitedColour( FontColor ); m_HomePage->SetBackgroundColour( * wxWHITE ); m_HomePage->SetCanFocus( false ); MainSizer->Add( m_HomePage, 0, wxALIGN_RIGHT|wxRIGHT|wxLEFT, 5 ); m_Donate = new wxHyperlinkCtrl( this, wxID_ANY, _( "Please Donate!" ), guSPLASH_DONATION_LINK ); m_Donate->SetHoverColour( FontColor ); m_Donate->SetNormalColour( FontColor ); m_Donate->SetVisitedColour( FontColor ); m_Donate->SetBackgroundColour( * wxWHITE ); m_Donate->SetCanFocus( false ); MainSizer->Add( m_Donate, 0, wxALIGN_RIGHT|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); this->SetSizer( MainSizer ); this->Layout(); Show( true ); SetThemeEnabled( false ); SetBackgroundStyle( wxBG_STYLE_ERASE ); m_Timer.SetOwner( this ); m_Timer.Start( timeout, wxTIMER_ONE_SHOT ); // Bind Events Bind( wxEVT_ERASE_BACKGROUND, &guSplashFrame::OnEraseBackground, this ); Bind( wxEVT_LEFT_DOWN, &guSplashFrame::OnSplashClick, this ); Bind( wxEVT_TIMER, &guSplashFrame::OnTimeout, this ); }