~ubuntu-branches/ubuntu/vivid/guayadeque/vivid

« back to all changes in this revision

Viewing changes to src/FileBrowser.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Alessio Treglia
  • Date: 2011-02-25 11:59:10 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20110225115910-13phl46pz0rgqg0a
Tags: 0.2.9-1
* Imported Upstream version 0.2.9
* Drop 02-google_cover_search_engine_crash.patch patch, applied upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
#include "FileRenamer.h"
26
26
#include "Images.h"
27
27
#include "LibUpdate.h"
 
28
#include "MainFrame.h"
28
29
#include "PlayListAppend.h"
29
30
#include "TagInfo.h"
30
31
#include "TrackEdit.h"
48
49
// -------------------------------------------------------------------------------- //
49
50
guGenericDirCtrl::guGenericDirCtrl( wxWindow * parent, const int showpaths  ) :
50
51
              wxGenericDirCtrl( parent, wxID_ANY, wxDirDialogDefaultFolderStr,
51
 
                wxDefaultPosition, wxDefaultSize, wxDIRCTRL_DIR_ONLY|wxDIRCTRL_3D_INTERNAL|wxSUNKEN_BORDER,
 
52
                wxDefaultPosition, wxDefaultSize, wxDIRCTRL_DIR_ONLY|wxDIRCTRL_3D_INTERNAL|wxNO_BORDER,
52
53
                wxEmptyString, 0, wxTreeCtrlNameStr )
53
54
{
54
55
    m_ShowPaths = showpaths;
163
164
// guFileBrowserDirCtrl
164
165
// -------------------------------------------------------------------------------- //
165
166
guFileBrowserDirCtrl::guFileBrowserDirCtrl( wxWindow * parent, guDbLibrary * db, const wxString &dirpath ) :
166
 
    wxPanel( parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL )
 
167
    wxPanel( parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL | wxNO_BORDER )
167
168
{
168
169
    m_Db = db;
169
170
    m_AddingFolder = false;
189
190
        m_ShowRecPathsBtn = new wxToggleBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_record ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
190
191
        m_ShowRecPathsBtn->SetToolTip( _( "Switch between see all filesystem and only recording locations" ) );
191
192
        m_ShowRecPathsBtn->SetValue( ShowPaths & guFILEBROWSER_SHOWPATH_RECORDS );
192
 
        DirBtnSizer->Add( m_ShowRecPathsBtn, 0, wxALL, 5 );
 
193
        DirBtnSizer->Add( m_ShowRecPathsBtn, 0, wxTOP|wxBOTTOM|wxLEFT|wxRIGHT, 5 );
193
194
 
194
195
        m_ShowPodPathsBtn = new wxToggleBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_podcast ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
195
196
        m_ShowPodPathsBtn->SetToolTip( _( "Switch between see all filesystem and only podcast locations" ) );
196
197
        m_ShowPodPathsBtn->SetValue( ShowPaths & guFILEBROWSER_SHOWPATH_PODCASTS );
197
 
        DirBtnSizer->Add( m_ShowPodPathsBtn, 0, wxALL, 5 );
 
198
        DirBtnSizer->Add( m_ShowPodPathsBtn, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 );
198
199
 
199
200
        m_ShowLibPathsBtn = new wxToggleBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_library ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
200
201
        m_ShowLibPathsBtn->SetToolTip( _( "Switch between see all filesystem and only library locations" ) );
201
202
        m_ShowLibPathsBtn->SetValue( ShowPaths & guFILEBROWSER_SHOWPATH_LIBRARY );
202
 
        DirBtnSizer->Add( m_ShowLibPathsBtn, 0, wxALL, 5 );
 
203
        DirBtnSizer->Add( m_ShowLibPathsBtn, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 );
203
204
 
204
205
        MainSizer->Add( DirBtnSizer, 0, wxEXPAND, 5 );
205
206
 
287
288
    MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_doc_save ) );
288
289
    Menu.Append( MenuItem );
289
290
 
290
 
    MenuItem = new wxMenuItem( &Menu, ID_FILESYSTEM_FOLDER_COPYTO, _( "Copy to..." ), _( "Copy the selected folder to a folder or device" ) );
291
 
    MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_edit_copy ) );
292
 
    Menu.Append( MenuItem );
 
291
    Menu.AppendSeparator();
 
292
 
 
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 );
293
298
 
294
299
    Menu.AppendSeparator();
295
300
 
971
976
        MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_doc_save ) );
972
977
        Menu->Append( MenuItem );
973
978
 
974
 
        MenuItem = new wxMenuItem( Menu, ID_FILESYSTEM_ITEMS_COPYTO, _( "Copy to..." ), _( "Copy the selected files to a folder or device" ) );
975
 
        MenuItem->SetBitmap( guImage( guIMAGE_INDEX_tiny_edit_copy ) );
976
 
        Menu->Append( MenuItem );
 
979
        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
        guMainFrame * MainFrame = ( guMainFrame * ) wxTheApp->GetTopWindow();
 
984
        MainFrame->CreateCopyToMenu( Menu, ID_FILESYSTEM_ITEMS_COPYTO );
977
985
 
978
986
        Menu->AppendSeparator();
979
987
 
1386
1394
    Connect( ID_FILESYSTEM_FOLDER_PASTE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderPaste ), NULL, this );
1387
1395
    Connect( ID_FILESYSTEM_FOLDER_EDITTRACKS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderEditTracks ), NULL, this );
1388
1396
    Connect( ID_FILESYSTEM_FOLDER_SAVEPLAYLIST, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderSaveToPlayList ), NULL, this );
1389
 
    Connect( ID_FILESYSTEM_FOLDER_COPYTO, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderCopyTo ), NULL, this );
 
1397
    Connect( ID_FILESYSTEM_FOLDER_COPYTO, ID_FILESYSTEM_FOLDER_COPYTO + 199, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderCopyTo ), NULL, this );
1390
1398
 
1391
1399
    Connect( ID_FILESYSTEM_FOLDER_COMMANDS, ID_FILESYSTEM_FOLDER_COMMANDS + 99, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderCommand ) );
1392
1400
 
1395
1403
    Connect( ID_FILESYSTEM_ITEMS_ENQUEUE_ASNEXT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsEnqueueAsNext ), NULL, this );
1396
1404
    Connect( ID_FILESYSTEM_ITEMS_EDITTRACKS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsEditTracks ), NULL, this );
1397
1405
    Connect( ID_FILESYSTEM_ITEMS_SAVEPLAYLIST, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsSaveToPlayList ), NULL, this );
1398
 
    Connect( ID_FILESYSTEM_ITEMS_COPYTO, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsCopyTo ), NULL, this );
 
1406
    Connect( ID_FILESYSTEM_ITEMS_COPYTO, ID_FILESYSTEM_ITEMS_COPYTO + 199, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsCopyTo ), NULL, this );
1399
1407
    Connect( ID_FILESYSTEM_ITEMS_RENAME, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsRename ), NULL, this );
1400
1408
    Connect( ID_FILESYSTEM_ITEMS_DELETE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsDelete ), NULL, this );
1401
1409
    Connect( ID_FILESYSTEM_ITEMS_COPY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsCopy ), NULL, this );
1427
1435
    Disconnect( ID_FILESYSTEM_FOLDER_PASTE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderPaste ), NULL, this );
1428
1436
    Disconnect( ID_FILESYSTEM_FOLDER_EDITTRACKS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderEditTracks ), NULL, this );
1429
1437
    Disconnect( ID_FILESYSTEM_FOLDER_SAVEPLAYLIST, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderSaveToPlayList ), NULL, this );
1430
 
    Disconnect( ID_FILESYSTEM_FOLDER_COPYTO, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderCopyTo ), NULL, this );
 
1438
    Disconnect( ID_FILESYSTEM_FOLDER_COPYTO, ID_FILESYSTEM_FOLDER_COPYTO + 199, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderCopyTo ), NULL, this );
1431
1439
 
1432
1440
    Disconnect( ID_FILESYSTEM_FOLDER_COMMANDS, ID_FILESYSTEM_FOLDER_COMMANDS + 99, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnFolderCommand ) );
1433
1441
 
1436
1444
    Disconnect( ID_FILESYSTEM_ITEMS_ENQUEUE_ASNEXT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsEnqueueAsNext ), NULL, this );
1437
1445
    Disconnect( ID_FILESYSTEM_ITEMS_EDITTRACKS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsEditTracks ), NULL, this );
1438
1446
    Disconnect( ID_FILESYSTEM_ITEMS_SAVEPLAYLIST, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsSaveToPlayList ), NULL, this );
1439
 
    Disconnect( ID_FILESYSTEM_ITEMS_COPYTO, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsCopyTo ), NULL, this );
 
1447
    Disconnect( ID_FILESYSTEM_ITEMS_COPYTO, ID_FILESYSTEM_ITEMS_COPYTO + 199, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsCopyTo ), NULL, this );
1440
1448
    Disconnect( ID_FILESYSTEM_ITEMS_RENAME, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsRename ), NULL, this );
1441
1449
    Disconnect( ID_FILESYSTEM_ITEMS_DELETE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( guFileBrowser::OnItemsDelete ), NULL, this );
1442
1450
 
1710
1718
            if( TrackEditor->ShowModal() == wxID_OK )
1711
1719
            {
1712
1720
                m_Db->UpdateSongs( &Tracks );
1713
 
                UpdateImages( Tracks, Images );
1714
 
                UpdateLyrics( Tracks, Lyrics );
 
1721
                guUpdateImages( Tracks, Images );
 
1722
                guUpdateLyrics( Tracks, Lyrics );
1715
1723
 
1716
1724
                // Update the track in database, playlist, etc
1717
1725
                ( ( guMainFrame * ) wxTheApp->GetTopWindow() )->UpdatedTracks( guUPDATED_TRACKS_PLAYER_PLAYLIST, &Tracks );
1739
1747
    if( Tracks.Count() )
1740
1748
    {
1741
1749
        guListItems PlayLists;
1742
 
        m_Db->GetPlayLists( &PlayLists,GUPLAYLIST_STATIC );
 
1750
        m_Db->GetPlayLists( &PlayLists,guPLAYLIST_TYPE_STATIC );
1743
1751
        guPlayListAppend * PlayListAppendDlg = new guPlayListAppend( wxTheApp->GetTopWindow(), m_Db, &TrackIds, &PlayLists );
1744
1752
        if( PlayListAppendDlg->ShowModal() == wxID_OK )
1745
1753
        {
1783
1791
    guTrackArray * Tracks = new guTrackArray();
1784
1792
    m_FilesCtrl->GetAllSongs( Tracks );
1785
1793
 
1786
 
    event.SetId( ID_MAINFRAME_COPYTO );
 
1794
    int Index = event.GetId() - ID_FILESYSTEM_FOLDER_COPYTO;
 
1795
    if( Index > 99 )
 
1796
    {
 
1797
        Index -= 100;
 
1798
        event.SetId( ID_MAINFRAME_COPYTODEVICE_TRACKS );
 
1799
    }
 
1800
    else
 
1801
    {
 
1802
        event.SetId( ID_MAINFRAME_COPYTO );
 
1803
    }
 
1804
    event.SetInt( Index );
1787
1805
    event.SetClientData( ( void * ) Tracks );
1788
1806
    wxPostEvent( wxTheApp->GetTopWindow(), event );
1789
1807
}
1843
1861
            if( TrackEditor->ShowModal() == wxID_OK )
1844
1862
            {
1845
1863
                m_Db->UpdateSongs( &Tracks );
1846
 
                UpdateImages( Tracks, Images );
1847
 
                UpdateLyrics( Tracks, Lyrics );
 
1864
                guUpdateImages( Tracks, Images );
 
1865
                guUpdateLyrics( Tracks, Lyrics );
1848
1866
 
1849
1867
                // Update the track in database, playlist, etc
1850
1868
                ( ( guMainFrame * ) wxTheApp->GetTopWindow() )->UpdatedTracks( guUPDATED_TRACKS_PLAYER_PLAYLIST, &Tracks );
1872
1890
    if( Tracks.Count() )
1873
1891
    {
1874
1892
        guListItems PlayLists;
1875
 
        m_Db->GetPlayLists( &PlayLists,GUPLAYLIST_STATIC );
 
1893
        m_Db->GetPlayLists( &PlayLists, guPLAYLIST_TYPE_STATIC );
1876
1894
        guPlayListAppend * PlayListAppendDlg = new guPlayListAppend( wxTheApp->GetTopWindow(), m_Db, &TrackIds, &PlayLists );
1877
1895
        if( PlayListAppendDlg->ShowModal() == wxID_OK )
1878
1896
        {
1916
1934
    guTrackArray * Tracks = new guTrackArray();
1917
1935
    m_FilesCtrl->GetSelectedSongs( Tracks );
1918
1936
 
1919
 
    event.SetId( ID_MAINFRAME_COPYTO );
 
1937
    int Index = event.GetId() - ID_FILESYSTEM_ITEMS_COPYTO;
 
1938
    if( Index > 99 )
 
1939
    {
 
1940
        Index -= 100;
 
1941
        event.SetId( ID_MAINFRAME_COPYTODEVICE_TRACKS );
 
1942
    }
 
1943
    else
 
1944
    {
 
1945
        event.SetId( ID_MAINFRAME_COPYTO );
 
1946
    }
 
1947
    event.SetInt( Index );
1920
1948
    event.SetClientData( ( void * ) Tracks );
1921
1949
    wxPostEvent( wxTheApp->GetTopWindow(), event );
1922
1950
}