212
218
m_ShowPodPathsBtn->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( guFileBrowserDirCtrl::OnShowLibPathsClick ), NULL, this );
213
219
m_ShowLibPathsBtn->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( guFileBrowserDirCtrl::OnShowLibPathsClick ), NULL, this );
221
Connect( ID_CONFIG_UPDATED, guConfigUpdatedEvent, wxCommandEventHandler( guFileBrowserDirCtrl::OnConfigUpdated ), NULL, this );
223
CreateAcceleratorTable();
217
226
// -------------------------------------------------------------------------------- //
218
227
guFileBrowserDirCtrl::~guFileBrowserDirCtrl()
220
229
guConfig * Config = ( guConfig * ) guConfig::Get();
230
Config->UnRegisterObject( this );
221
232
Config->WriteBool( wxT( "ShowLibPaths" ), m_ShowLibPathsBtn->GetValue(), wxT( "FileBrowser" ) );
222
233
m_DirCtrl->Disconnect( wxEVT_COMMAND_TREE_ITEM_MENU, wxTreeEventHandler( guFileBrowserDirCtrl::OnContextMenu ), NULL, this );
223
234
m_ShowRecPathsBtn->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( guFileBrowserDirCtrl::OnShowLibPathsClick ), NULL, this );
224
235
m_ShowPodPathsBtn->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( guFileBrowserDirCtrl::OnShowLibPathsClick ), NULL, this );
225
236
m_ShowLibPathsBtn->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( guFileBrowserDirCtrl::OnShowLibPathsClick ), NULL, this );
238
Disconnect( ID_CONFIG_UPDATED, guConfigUpdatedEvent, wxCommandEventHandler( guFileBrowserDirCtrl::OnConfigUpdated ), NULL, this );
241
// -------------------------------------------------------------------------------- //
242
void guFileBrowserDirCtrl::OnConfigUpdated( wxCommandEvent &event )
244
int Flags = event.GetInt();
245
if( Flags & guPREFERENCE_PAGE_FLAG_ACCELERATORS )
247
CreateAcceleratorTable();
251
// -------------------------------------------------------------------------------- //
252
void guFileBrowserDirCtrl::CreateAcceleratorTable( void )
254
wxAcceleratorTable AccelTable;
255
wxArrayInt AliasAccelCmds;
256
wxArrayInt RealAccelCmds;
258
AliasAccelCmds.Add( ID_PLAYER_PLAYLIST_SAVE );
259
AliasAccelCmds.Add( ID_PLAYER_PLAYLIST_EDITTRACKS );
260
AliasAccelCmds.Add( ID_SONG_PLAY );
261
AliasAccelCmds.Add( ID_SONG_ENQUEUE_AFTER_ALL );
262
AliasAccelCmds.Add( ID_SONG_ENQUEUE_AFTER_TRACK );
263
AliasAccelCmds.Add( ID_SONG_ENQUEUE_AFTER_ALBUM );
264
AliasAccelCmds.Add( ID_SONG_ENQUEUE_AFTER_ARTIST );
266
RealAccelCmds.Add( ID_FILESYSTEM_FOLDER_SAVEPLAYLIST );
267
RealAccelCmds.Add( ID_FILESYSTEM_FOLDER_EDITTRACKS );
268
RealAccelCmds.Add( ID_FILESYSTEM_FOLDER_PLAY );
269
RealAccelCmds.Add( ID_FILESYSTEM_FOLDER_ENQUEUE_AFTER_ALL );
270
RealAccelCmds.Add( ID_FILESYSTEM_FOLDER_ENQUEUE_AFTER_TRACK );
271
RealAccelCmds.Add( ID_FILESYSTEM_FOLDER_ENQUEUE_AFTER_ALBUM );
272
RealAccelCmds.Add( ID_FILESYSTEM_FOLDER_ENQUEUE_AFTER_ARTIST );
274
if( guAccelDoAcceleratorTable( AliasAccelCmds, RealAccelCmds, AccelTable ) )
276
SetAcceleratorTable( AccelTable );
228
280
// -------------------------------------------------------------------------------- //
267
318
wxPoint Point = event.GetPoint();
269
MenuItem = new wxMenuItem( &Menu, ID_FILESYSTEM_FOLDER_PLAY, _( "Play" ), _( "Play the selected folder" ) );
320
MenuItem = new wxMenuItem( &Menu, ID_FILESYSTEM_FOLDER_PLAY,
321
wxString( _( "Play" ) ) + guAccelGetCommandKeyCodeString( ID_SONG_PLAY ),
322
_( "Play the selected folder" ) );
270
323
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_player_tiny_light_play ) );
271
324
Menu.Append( MenuItem );
273
MenuItem = new wxMenuItem( &Menu, ID_FILESYSTEM_FOLDER_ENQUEUE, _( "Enqueue" ), _( "Add the selected folder to playlist" ) );
274
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) );
275
Menu.Append( MenuItem );
277
MenuItem = new wxMenuItem( &Menu, ID_FILESYSTEM_FOLDER_ENQUEUE_ASNEXT, _( "Enqueue Next" ), _( "Add the selected folder to playlist as Next Tracks" ) );
278
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) );
279
Menu.Append( MenuItem );
326
MenuItem = new wxMenuItem( &Menu, ID_FILESYSTEM_FOLDER_ENQUEUE_AFTER_ALL,
327
wxString( _( "Enqueue" ) ) + guAccelGetCommandKeyCodeString( ID_SONG_ENQUEUE_AFTER_ALL ),
328
_( "Add the selected folder to playlist" ) );
329
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) );
330
Menu.Append( MenuItem );
332
wxMenu * EnqueueMenu = new wxMenu();
334
MenuItem = new wxMenuItem( EnqueueMenu, ID_FILESYSTEM_FOLDER_ENQUEUE_AFTER_TRACK,
335
wxString( _( "Current Track" ) ) + guAccelGetCommandKeyCodeString( ID_SONG_ENQUEUE_AFTER_TRACK ),
336
_( "Add current selected tracks to playlist after the current track" ) );
337
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) );
338
EnqueueMenu->Append( MenuItem );
340
MenuItem = new wxMenuItem( EnqueueMenu, ID_FILESYSTEM_FOLDER_ENQUEUE_AFTER_ALBUM,
341
wxString( _( "Current Album" ) ) + guAccelGetCommandKeyCodeString( ID_SONG_ENQUEUE_AFTER_ALBUM ),
342
_( "Add current selected tracks to playlist after the current album" ) );
343
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) );
344
EnqueueMenu->Append( MenuItem );
346
MenuItem = new wxMenuItem( EnqueueMenu, ID_FILESYSTEM_FOLDER_ENQUEUE_AFTER_ARTIST,
347
wxString( _( "Current Artist" ) ) + guAccelGetCommandKeyCodeString( ID_SONG_ENQUEUE_AFTER_ARTIST ),
348
_( "Add current selected tracks to playlist after the current artist" ) );
349
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) );
350
EnqueueMenu->Append( MenuItem );
352
Menu.Append( wxID_ANY, _( "Enqueue after" ), EnqueueMenu );
281
354
Menu.AppendSeparator();
283
MenuItem = new wxMenuItem( &Menu, ID_FILESYSTEM_FOLDER_EDITTRACKS, _( "Edit Tracks" ), _( "Edit the tracks in the selected folder" ) );
356
MenuItem = new wxMenuItem( &Menu, ID_FILESYSTEM_FOLDER_EDITTRACKS,
357
wxString( _( "Edit Tracks" ) ) + guAccelGetCommandKeyCodeString( ID_PLAYER_PLAYLIST_EDITTRACKS ),
358
_( "Edit the tracks in the selected folder" ) );
284
359
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_edit ) );
285
360
Menu.Append( MenuItem );
287
MenuItem = new wxMenuItem( &Menu, ID_FILESYSTEM_FOLDER_SAVEPLAYLIST, _( "Save to Playlist" ), _( "Add the tracks in the selected folder to a playlist" ) );
362
Menu.AppendSeparator();
364
MenuItem = new wxMenuItem( &Menu, ID_FILESYSTEM_FOLDER_SAVEPLAYLIST,
365
wxString( _( "Save to Playlist" ) ) + guAccelGetCommandKeyCodeString( ID_PLAYER_PLAYLIST_SAVE ),
366
_( "Add the tracks in the selected folder to a playlist" ) );
288
367
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_doc_save ) );
289
368
Menu.Append( MenuItem );
291
370
Menu.AppendSeparator();
293
// MenuItem = new wxMenuItem( &Menu, ID_FILESYSTEM_FOLDER_COPYTO, _( "Copy to..." ), _( "Copy the selected folder to a folder or device" ) );
294
// MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_edit_copy ) );
295
// Menu.Append( MenuItem );
296
guMainFrame * MainFrame = ( guMainFrame * ) wxTheApp->GetTopWindow();
297
MainFrame->CreateCopyToMenu( &Menu, ID_FILESYSTEM_FOLDER_COPYTO );
299
Menu.AppendSeparator();
301
MenuItem = new wxMenuItem( &Menu, ID_FILESYSTEM_FOLDER_COPY, _( "Copy" ), _( "Copy the selected folder to clipboard" ) );
372
MenuItem = new wxMenuItem( &Menu, ID_FILESYSTEM_FOLDER_COPY,
374
_( "Copy the selected folder to clipboard" ) );
302
375
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_edit_copy ) );
303
376
Menu.Append( MenuItem );
304
377
//MenuItem->Enable( false );
306
MenuItem = new wxMenuItem( &Menu, ID_FILESYSTEM_FOLDER_PASTE, _( "Paste" ), _( "Paste to the selected folder" ) );
379
MenuItem = new wxMenuItem( &Menu, ID_FILESYSTEM_FOLDER_PASTE,
381
_( "Paste to the selected folder" ) );
307
382
Menu.Append( MenuItem );
308
383
wxTheClipboard->UsePrimarySelection( false );
309
384
if( wxTheClipboard->Open() )
580
668
Config->WriteNum( wxT( "Order" ), m_Order, wxT( "FileBrowser" ) );
581
669
Config->WriteBool( wxT( "OrderDesc" ), m_OrderDesc, wxT( "FileBrowser" ) );
671
Disconnect( ID_CONFIG_UPDATED, guConfigUpdatedEvent, wxCommandEventHandler( guFilesListBox::OnConfigUpdated ), NULL, this );
674
// -------------------------------------------------------------------------------- //
675
void guFilesListBox::OnConfigUpdated( wxCommandEvent &event )
677
int Flags = event.GetInt();
678
if( Flags & guPREFERENCE_PAGE_FLAG_ACCELERATORS )
680
CreateAcceleratorTable();
684
// -------------------------------------------------------------------------------- //
685
void guFilesListBox::CreateAcceleratorTable( void )
687
wxAcceleratorTable AccelTable;
688
wxArrayInt AliasAccelCmds;
689
wxArrayInt RealAccelCmds;
691
AliasAccelCmds.Add( ID_PLAYER_PLAYLIST_SAVE );
692
AliasAccelCmds.Add( ID_PLAYER_PLAYLIST_EDITTRACKS );
693
AliasAccelCmds.Add( ID_SONG_PLAY );
694
AliasAccelCmds.Add( ID_SONG_ENQUEUE_AFTER_ALL );
695
AliasAccelCmds.Add( ID_SONG_ENQUEUE_AFTER_TRACK );
696
AliasAccelCmds.Add( ID_SONG_ENQUEUE_AFTER_ALBUM );
697
AliasAccelCmds.Add( ID_SONG_ENQUEUE_AFTER_ARTIST );
699
RealAccelCmds.Add( ID_FILESYSTEM_ITEMS_SAVEPLAYLIST );
700
RealAccelCmds.Add( ID_FILESYSTEM_ITEMS_EDITTRACKS );
701
RealAccelCmds.Add( ID_FILESYSTEM_ITEMS_PLAY );
702
RealAccelCmds.Add( ID_FILESYSTEM_ITEMS_ENQUEUE_AFTER_ALL );
703
RealAccelCmds.Add( ID_FILESYSTEM_ITEMS_ENQUEUE_AFTER_TRACK );
704
RealAccelCmds.Add( ID_FILESYSTEM_ITEMS_ENQUEUE_AFTER_ALBUM );
705
RealAccelCmds.Add( ID_FILESYSTEM_ITEMS_ENQUEUE_AFTER_ARTIST );
707
if( guAccelDoAcceleratorTable( AliasAccelCmds, RealAccelCmds, AccelTable ) )
709
SetAcceleratorTable( AccelTable );
584
713
// -------------------------------------------------------------------------------- //
932
1058
if( ( SelCount = Selection.Count() ) )
934
MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_PLAY, _( "Play" ), _( "Play current selected files" ) );
1060
MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_PLAY,
1061
wxString( _( "Play" ) ) + guAccelGetCommandKeyCodeString( ID_SONG_PLAY ),
1062
_( "Play current selected files" ) );
935
1063
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_player_tiny_light_play ) );
936
1064
Menu->Append( MenuItem );
938
MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_ENQUEUE, _( "Enqueue" ), _( "Add current selected files to playlist" ) );
939
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) );
940
Menu->Append( MenuItem );
942
MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_ENQUEUE_ASNEXT, _( "Enqueue Next" ), _( "Add current selected files to playlist as Next Tracks" ) );
943
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) );
944
Menu->Append( MenuItem );
946
Menu->AppendSeparator();
1066
MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_ENQUEUE_AFTER_ALL,
1067
wxString( _( "Enqueue" ) ) + guAccelGetCommandKeyCodeString( ID_SONG_ENQUEUE_AFTER_ALL ),
1068
_( "Add current selected files to playlist" ) );
1069
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) );
1070
Menu->Append( MenuItem );
1072
wxMenu * EnqueueMenu = new wxMenu();
1074
MenuItem = new wxMenuItem( EnqueueMenu, ID_FILESYSTEM_ITEMS_ENQUEUE_AFTER_TRACK,
1075
wxString( _( "Current Track" ) ) + guAccelGetCommandKeyCodeString( ID_SONG_ENQUEUE_AFTER_TRACK ),
1076
_( "Add current selected tracks to playlist after the current track" ) );
1077
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) );
1078
EnqueueMenu->Append( MenuItem );
1079
MenuItem->Enable( SelCount );
1081
MenuItem = new wxMenuItem( EnqueueMenu, ID_FILESYSTEM_ITEMS_ENQUEUE_AFTER_ALBUM,
1082
wxString( _( "Current Album" ) ) + guAccelGetCommandKeyCodeString( ID_SONG_ENQUEUE_AFTER_ALBUM ),
1083
_( "Add current selected tracks to playlist after the current album" ) );
1084
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) );
1085
EnqueueMenu->Append( MenuItem );
1086
MenuItem->Enable( SelCount );
1088
MenuItem = new wxMenuItem( EnqueueMenu, ID_FILESYSTEM_ITEMS_ENQUEUE_AFTER_ARTIST,
1089
wxString( _( "Current Artist" ) ) + guAccelGetCommandKeyCodeString( ID_SONG_ENQUEUE_AFTER_ARTIST ),
1090
_( "Add current selected tracks to playlist after the current artist" ) );
1091
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_add ) );
1092
EnqueueMenu->Append( MenuItem );
1093
MenuItem->Enable( SelCount );
1095
Menu->Append( wxID_ANY, _( "Enqueue after" ), EnqueueMenu );
1100
Menu->AppendSeparator();
1102
MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_EDITTRACKS,
1103
wxString( _( "Edit Tracks" ) ) + guAccelGetCommandKeyCodeString( ID_PLAYER_PLAYLIST_EDITTRACKS ),
1104
_( "Edit the current selected files" ) );
1105
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_edit ) );
1106
Menu->Append( MenuItem );
1108
Menu->AppendSeparator();
1110
MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_SAVEPLAYLIST,
1111
wxString( _( "Save to Playlist" ) ) + guAccelGetCommandKeyCodeString( ID_PLAYER_PLAYLIST_SAVE ),
1112
_( "Add the current selected tracks to a playlist" ) );
1113
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_doc_save ) );
1114
Menu->Append( MenuItem );
1117
Menu->AppendSeparator();
949
1119
MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_COPY, _( "Copy" ), _( "Copy the selected folder to clipboard" ) );
950
1120
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_edit_copy ) );
951
1121
Menu->Append( MenuItem );
952
//MenuItem->Enable( false );
954
1123
MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_PASTE, _( "Paste" ), _( "Paste to the selected dir" ) );
955
1124
Menu->Append( MenuItem );
969
1138
Menu->AppendSeparator();
971
MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_EDITTRACKS, _( "Edit tracks" ), _( "Edit the current selected files" ) );
1140
MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_RENAME, _( "Rename files" ), _( "Rename the current selected file" ) );
972
1141
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_edit ) );
973
1142
Menu->Append( MenuItem );
975
MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_SAVEPLAYLIST, _( "Save to Playlist" ), _( "Add the current selected tracks to a playlist" ) );
976
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_doc_save ) );
1144
MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_DELETE, _( "Remove" ), _( "Delete the selected files" ) );
1145
MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_edit_clear ) );
977
1146
Menu->Append( MenuItem );
979
1148
Menu->AppendSeparator();
980
// MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_COPYTO, _( "Copy to..." ), _( "Copy the selected files to a folder or device" ) );
981
// MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_edit_copy ) );
982
// Menu->Append( MenuItem );
983
1150
guMainFrame * MainFrame = ( guMainFrame * ) wxTheApp->GetTopWindow();
984
1151
MainFrame->CreateCopyToMenu( Menu, ID_FILESYSTEM_ITEMS_COPYTO );
986
Menu->AppendSeparator();
988
MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_RENAME, _( "Rename files" ), _( "Rename the current selected file" ) );
989
//MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_ ) );
990
Menu->Append( MenuItem );
992
MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_DELETE, _( "Delete" ), _( "Delete the selected files" ) );
993
//MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_ ) );
994
Menu->Append( MenuItem );
996
1153
AppendItemsCommands( Menu, SelCount, SelCount ? GetType( Selection[ 0 ] ) : guFILEITEM_TYPE_FILE );
1314
1455
// -------------------------------------------------------------------------------- //
1315
1456
guFileBrowser::guFileBrowser( wxWindow * parent, guDbLibrary * db, guPlayerPanel * playerpanel ) :
1316
wxPanel( parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL )
1457
guAuiManagedPanel( parent )
1319
1460
m_PlayerPanel = playerpanel;
1321
1462
guConfig * Config = ( guConfig * ) guConfig::Get();
1323
m_AuiManager.SetManagedWindow( this );
1324
m_AuiManager.SetArtProvider( new guAuiDockArt() );
1325
m_AuiManager.SetFlags( wxAUI_MGR_ALLOW_FLOATING |
1326
wxAUI_MGR_TRANSPARENT_DRAG |
1327
wxAUI_MGR_TRANSPARENT_HINT );
1328
wxAuiDockArt * AuiDockArt = m_AuiManager.GetArtProvider();
1329
AuiDockArt->SetColour( wxAUI_DOCKART_INACTIVE_CAPTION_TEXT_COLOUR,
1330
wxSystemSettings::GetColour( wxSYS_COLOUR_INACTIVECAPTIONTEXT ) );
1331
AuiDockArt->SetColour( wxAUI_DOCKART_ACTIVE_CAPTION_TEXT_COLOUR,
1332
wxSystemSettings::GetColour( wxSYS_COLOUR_CAPTIONTEXT ) );
1334
AuiDockArt->SetColour( wxAUI_DOCKART_ACTIVE_CAPTION_COLOUR,
1335
wxSystemSettings::GetColour( wxSYS_COLOUR_ACTIVEBORDER ) );
1337
AuiDockArt->SetColour( wxAUI_DOCKART_ACTIVE_CAPTION_GRADIENT_COLOUR,
1338
wxSystemSettings::GetColour( wxSYS_COLOUR_3DSHADOW ) );
1340
AuiDockArt->SetColour( wxAUI_DOCKART_INACTIVE_CAPTION_COLOUR,
1341
wxSystemSettings::GetColour( wxSYS_COLOUR_INACTIVEBORDER ) );
1343
AuiDockArt->SetColour( wxAUI_DOCKART_INACTIVE_CAPTION_GRADIENT_COLOUR,
1344
wxSystemSettings::GetColour( wxSYS_COLOUR_3DSHADOW ) );
1346
AuiDockArt->SetColour( wxAUI_DOCKART_GRADIENT_TYPE,
1347
wxAUI_GRADIENT_VERTICAL );
1349
1464
m_VisiblePanels = Config->ReadNum( wxT( "FBVisiblePanels" ), guPANEL_FILEBROWSER_VISIBLE_DEFAULT, wxT( "Positions" ) );
1372
1487
wxString FileBrowserLayout = Config->ReadStr( wxT( "FileBrowser" ), wxEmptyString, wxT( "Positions" ) );
1373
1488
if( Config->GetIgnoreLayouts() || FileBrowserLayout.IsEmpty() )
1375
m_AuiManager.Update();
1376
1490
m_VisiblePanels = guPANEL_FILEBROWSER_VISIBLE_DEFAULT;
1380
m_AuiManager.LoadPerspective( FileBrowserLayout, true );
1491
FileBrowserLayout = wxT( "layout2|name=FileBrowserDirCtrl;caption=" ) + wxString( _( "Directories" ) );
1492
FileBrowserLayout += wxT( ";state=2044;dir=4;layer=0;row=0;pos=0;prop=100000;bestw=60;besth=28;minw=60;minh=28;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=-1;floath=-1|" );
1493
FileBrowserLayout += wxT( "name=FileBrowserFilesCtrl;caption=;state=768;dir=5;layer=0;row=0;pos=0;prop=100000;bestw=20;besth=20;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=-1;floath=-1| " );
1494
FileBrowserLayout += wxT( "dock_size(5,0,0)=10|dock_size(4,0,0)=266|" );
1495
//m_AuiManager.Update();
1498
m_AuiManager.LoadPerspective( FileBrowserLayout, true );
1383
1500
m_DirCtrl->Connect( wxEVT_COMMAND_TREE_SEL_CHANGED, wxTreeEventHandler( guFileBrowser::OnDirItemChanged ), NULL, this );
1384
1501
m_FilesCtrl->Connect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxListEventHandler( guFileBrowser::OnFileItemActivated ), NULL, this );
1385
1502
m_FilesCtrl->Connect( wxEVT_COMMAND_LIST_COL_CLICK, wxListEventHandler( guFileBrowser::OnFilesColClick ), NULL, this );
1387
1504
Connect( ID_FILESYSTEM_FOLDER_PLAY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderPlay ), NULL, this );
1388
Connect( ID_FILESYSTEM_FOLDER_ENQUEUE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderEnqueue ), NULL, this );
1389
Connect( ID_FILESYSTEM_FOLDER_ENQUEUE_ASNEXT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderEnqueueAsNext ), NULL, this );
1505
Connect( ID_FILESYSTEM_FOLDER_ENQUEUE_AFTER_ALL, ID_FILESYSTEM_FOLDER_ENQUEUE_AFTER_ARTIST, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderEnqueue ), NULL, this );
1390
1506
Connect( ID_FILESYSTEM_FOLDER_NEW, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderNew ), NULL, this );
1391
1507
Connect( ID_FILESYSTEM_FOLDER_RENAME, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderRename ), NULL, this );
1392
1508
Connect( ID_FILESYSTEM_FOLDER_DELETE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderDelete ), NULL, this );
1399
1515
Connect( ID_FILESYSTEM_FOLDER_COMMANDS, ID_FILESYSTEM_FOLDER_COMMANDS + 99, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderCommand ) );
1401
1517
Connect( ID_FILESYSTEM_ITEMS_PLAY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsPlay ), NULL, this );
1402
Connect( ID_FILESYSTEM_ITEMS_ENQUEUE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsEnqueue ), NULL, this );
1403
Connect( ID_FILESYSTEM_ITEMS_ENQUEUE_ASNEXT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsEnqueueAsNext ), NULL, this );
1518
Connect( ID_FILESYSTEM_ITEMS_ENQUEUE_AFTER_ALL, ID_FILESYSTEM_ITEMS_ENQUEUE_AFTER_ARTIST, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsEnqueue ), NULL, this );
1404
1519
Connect( ID_FILESYSTEM_ITEMS_EDITTRACKS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsEditTracks ), NULL, this );
1405
1520
Connect( ID_FILESYSTEM_ITEMS_SAVEPLAYLIST, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsSaveToPlayList ), NULL, this );
1406
1521
Connect( ID_FILESYSTEM_ITEMS_COPYTO, ID_FILESYSTEM_ITEMS_COPYTO + 199, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsCopyTo ), NULL, this );
1426
1541
m_FilesCtrl->Disconnect( wxEVT_COMMAND_LIST_COL_CLICK, wxListEventHandler( guFileBrowser::OnFilesColClick ), NULL, this );
1428
1543
Disconnect( ID_FILESYSTEM_FOLDER_PLAY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderPlay ), NULL, this );
1429
Disconnect( ID_FILESYSTEM_FOLDER_ENQUEUE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderEnqueue ), NULL, this );
1430
Disconnect( ID_FILESYSTEM_FOLDER_ENQUEUE_ASNEXT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderEnqueueAsNext ), NULL, this );
1544
Disconnect( ID_FILESYSTEM_FOLDER_ENQUEUE_AFTER_ALL, ID_FILESYSTEM_FOLDER_ENQUEUE_AFTER_ARTIST, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderEnqueue ), NULL, this );
1431
1545
Disconnect( ID_FILESYSTEM_FOLDER_NEW, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderNew ), NULL, this );
1432
1546
Disconnect( ID_FILESYSTEM_FOLDER_RENAME, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderRename ), NULL, this );
1433
1547
Disconnect( ID_FILESYSTEM_FOLDER_DELETE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderDelete ), NULL, this );
1440
1554
Disconnect( ID_FILESYSTEM_FOLDER_COMMANDS, ID_FILESYSTEM_FOLDER_COMMANDS + 99, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderCommand ) );
1442
1556
Disconnect( ID_FILESYSTEM_ITEMS_PLAY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsPlay ), NULL, this );
1443
Disconnect( ID_FILESYSTEM_ITEMS_ENQUEUE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsEnqueue ), NULL, this );
1444
Disconnect( ID_FILESYSTEM_ITEMS_ENQUEUE_ASNEXT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsEnqueueAsNext ), NULL, this );
1557
Disconnect( ID_FILESYSTEM_ITEMS_ENQUEUE_AFTER_ALL, ID_FILESYSTEM_ITEMS_ENQUEUE_AFTER_ARTIST, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsEnqueue ), NULL, this );
1445
1558
Disconnect( ID_FILESYSTEM_ITEMS_EDITTRACKS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsEditTracks ), NULL, this );
1446
1559
Disconnect( ID_FILESYSTEM_ITEMS_SAVEPLAYLIST, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsSaveToPlayList ), NULL, this );
1447
1560
Disconnect( ID_FILESYSTEM_ITEMS_COPYTO, ID_FILESYSTEM_ITEMS_COPYTO + 199, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsCopyTo ), NULL, this );
1706
1814
guTrackArray Tracks;
1707
1815
guImagePtrArray Images;
1708
1816
wxArrayString Lyrics;
1817
wxArrayInt ChangedFlags;
1710
1819
m_FilesCtrl->GetAllSongs( &Tracks );
1712
1821
if( Tracks.Count() )
1714
guTrackEditor * TrackEditor = new guTrackEditor( this, m_Db, &Tracks, &Images, &Lyrics );
1823
guTrackEditor * TrackEditor = new guTrackEditor( this, m_Db, &Tracks, &Images, &Lyrics, &ChangedFlags );
1716
1825
if( TrackEditor )
1718
1827
if( TrackEditor->ShowModal() == wxID_OK )
1720
m_Db->UpdateSongs( &Tracks );
1721
guUpdateImages( Tracks, Images );
1722
guUpdateLyrics( Tracks, Lyrics );
1829
guUpdateTracks( Tracks, Images, Lyrics, ChangedFlags );
1830
m_Db->UpdateSongs( &Tracks, ChangedFlags );
1831
//guUpdateLyrics( Tracks, Lyrics, ChangedFlags );
1832
//guUpdateImages( Tracks, Images, ChangedFlags );
1724
1834
// Update the track in database, playlist, etc
1725
1835
( ( guMainFrame * ) wxTheApp->GetTopWindow() )->UpdatedTracks( guUPDATED_TRACKS_PLAYER_PLAYLIST, &Tracks );
1849
1949
guTrackArray Tracks;
1850
1950
guImagePtrArray Images;
1851
1951
wxArrayString Lyrics;
1952
wxArrayInt ChangedFlags;
1853
1954
m_FilesCtrl->GetSelectedSongs( &Tracks );
1855
1956
if( Tracks.Count() )
1857
guTrackEditor * TrackEditor = new guTrackEditor( this, m_Db, &Tracks, &Images, &Lyrics );
1958
guTrackEditor * TrackEditor = new guTrackEditor( this, m_Db, &Tracks, &Images, &Lyrics, &ChangedFlags );
1859
1960
if( TrackEditor )
1861
1962
if( TrackEditor->ShowModal() == wxID_OK )
1863
m_Db->UpdateSongs( &Tracks );
1864
guUpdateImages( Tracks, Images );
1865
guUpdateLyrics( Tracks, Lyrics );
1964
guUpdateTracks( Tracks, Images, Lyrics, ChangedFlags );
1965
m_Db->UpdateSongs( &Tracks, ChangedFlags );
1966
//guUpdateLyrics( Tracks, Lyrics, ChangedFlags );
1967
//guUpdateImages( Tracks, Images, ChangedFlags );
1867
1969
// Update the track in database, playlist, etc
1868
1970
( ( guMainFrame * ) wxTheApp->GetTopWindow() )->UpdatedTracks( guUPDATED_TRACKS_PLAYER_PLAYLIST, &Tracks );