diff options
author | Justin Lecher <jlec@gentoo.org> | 2015-10-25 16:00:57 +0100 |
---|---|---|
committer | Justin Lecher <jlec@gentoo.org> | 2015-10-25 16:03:16 +0100 |
commit | 5382ac4543b6650bef6d8065913e968c7a765d18 (patch) | |
tree | 3c966c910057491217ee5c3532b0c14c0cf738df /media-sound/guayadeque | |
parent | dev-db/wxsqlite3: Fix typo in pc file (diff) | |
download | gentoo-5382ac4543b6650bef6d8065913e968c7a765d18.tar.gz gentoo-5382ac4543b6650bef6d8065913e968c7a765d18.tar.bz2 gentoo-5382ac4543b6650bef6d8065913e968c7a765d18.zip |
media-sound/guayadeque: Import debian patchset for wxgtk-3.0 support
Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=564046
Package-Manager: portage-2.2.23
Signed-off-by: Justin Lecher <jlec@gentoo.org>
Diffstat (limited to 'media-sound/guayadeque')
3 files changed, 910 insertions, 0 deletions
diff --git a/media-sound/guayadeque/files/guayadeque-0.3.7-headers-location.patch b/media-sound/guayadeque/files/guayadeque-0.3.7-headers-location.patch new file mode 100644 index 000000000000..8c6faae5e4d1 --- /dev/null +++ b/media-sound/guayadeque/files/guayadeque-0.3.7-headers-location.patch @@ -0,0 +1,90 @@ +Description: Point sources to the correct wxcurl's headers location. +Author: Alessio Treglia <alessio@debian.org> +Forwarded: no +--- + src/LastFM.cpp | 2 +- + src/LastFMPanel.cpp | 2 +- + src/LyricsPanel.cpp | 2 +- + src/MainFrame.h | 2 +- + src/MusicBrainz.cpp | 2 +- + src/MusicDns.cpp | 2 +- + src/Podcasts.h | 2 +- + 7 files changed, 7 insertions(+), 7 deletions(-) + +--- a/src/LastFM.cpp ++++ b/src/LastFM.cpp +@@ -24,7 +24,7 @@ + #include "DbCache.h" + #include "Utils.h" + +-#include "curl/http.h" ++#include "wx/curl/http.h" + + #include <wx/arrimpl.cpp> + #include <wx/sstream.h> +--- a/src/LastFMPanel.cpp ++++ b/src/LastFMPanel.cpp +@@ -21,7 +21,7 @@ + #include "LastFMPanel.h" + + #include "Commands.h" +-#include "curl/http.h" ++#include "wx/curl/http.h" + #include "Images.h" + #include "MainApp.h" + #include "Settings.h" +--- a/src/LyricsPanel.cpp ++++ b/src/LyricsPanel.cpp +@@ -23,7 +23,7 @@ + #include "Base64.h" + #include "Commands.h" + #include "Config.h" +-#include "curl/http.h" ++#include "wx/curl/http.h" + #include "Preferences.h" + #include "Images.h" + #include "ListView.h" +--- a/src/MainFrame.h ++++ b/src/MainFrame.h +@@ -26,7 +26,7 @@ + #include "Config.h" + #include "CoverPanel.h" + #include "Collections.h" +-#include "curl/http.h" ++#include "wx/curl/http.h" + #include "dbus/gudbus.h" + #include "dbus/mpris.h" + #include "dbus/mpris2.h" +--- a/src/MusicBrainz.cpp ++++ b/src/MusicBrainz.cpp +@@ -21,7 +21,7 @@ + #include "MusicBrainz.h" + + #include "Utils.h" +-#include "curl/http.h" ++#include "wx/curl/http.h" + + #include <wx/arrimpl.cpp> + #include <wx/sstream.h> +--- a/src/MusicDns.cpp ++++ b/src/MusicDns.cpp +@@ -21,7 +21,7 @@ + #include "MusicDns.h" + + #include "Commands.h" +-#include "curl/http.h" ++#include "wx/curl/http.h" + #include "MusicBrainz.h" + #include "Utils.h" + #include "Version.h" +--- a/src/Podcasts.h ++++ b/src/Podcasts.h +@@ -21,7 +21,7 @@ + #ifndef PODCASTS_H + #define PODCASTS_H + +-#include "curl/http.h" ++#include "wx/curl/http.h" + + #include <wx/dynarray.h> + #include <wx/xml/xml.h> diff --git a/media-sound/guayadeque/files/guayadeque-0.3.7-wx3.0.patch b/media-sound/guayadeque/files/guayadeque-0.3.7-wx3.0.patch new file mode 100644 index 000000000000..1071de098443 --- /dev/null +++ b/media-sound/guayadeque/files/guayadeque-0.3.7-wx3.0.patch @@ -0,0 +1,700 @@ +Description: Fix to work with wxwidgets3.0 + Based on partial patch by dam. +Author: Olly Betts <olly@survex.com> +Bug-Debian: http://bugs.debian.org/749978 +Forwarded: no +Last-Update: 2014-08-14 + +--- a/src/ListView.h ++++ b/src/ListView.h +@@ -28,6 +28,7 @@ + #include <wx/scrolwin.h> + #include <wx/vlbox.h> + #include <wx/settings.h> ++#include <wx/listbase.h> + + class guListViewClient; + class guListViewHeader; +@@ -330,7 +331,7 @@ + size_t GetVisibleEnd( void ) const { return m_ListBox->GetVisibleEnd(); } + size_t GetFirstVisibleLine() const { return m_ListBox->GetFirstVisibleLine(); } + size_t GetLastVisibleLine() const { return m_ListBox->GetLastVisibleLine(); } +- bool ScrollLines( int lines ) { return m_ListBox->ScrollLines( lines ); } ++ bool ScrollLines( int lines ) { return m_ListBox->wxWindow::ScrollLines( lines ); } + + bool ScrollToLine( size_t line ) { return m_ListBox->ScrollToLine( line ); } + +--- a/src/FileBrowser.cpp ++++ b/src/FileBrowser.cpp +@@ -36,6 +36,7 @@ + #include <wx/arrimpl.cpp> + #include <wx/artprov.h> + #include <wx/clipbrd.h> ++#include <wx/gtk/tglbtn.h> + + WX_DEFINE_OBJARRAY(guFileItemArray); + +@@ -221,7 +222,7 @@ + + DirBtnSizer->Add( 0, 0, 1, wxEXPAND, 5 ); + +- m_ShowLibPathsBtn = new wxToggleBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_library ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW ); ++ m_ShowLibPathsBtn = new wxBitmapToggleButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_library ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW ); + m_ShowLibPathsBtn->SetToolTip( ShowPaths == guFILEBROWSER_SHOWPATH_SYSTEM ? + _( "See used locations" ) : + _( "See system files" ) ); +--- a/src/FileBrowser.h ++++ b/src/FileBrowser.h +@@ -36,6 +36,7 @@ + #include <wx/sizer.h> + #include <wx/string.h> + #include <wx/tglbtn.h> ++#include <wx/gtk/tglbtn.h> + + + #define guPANEL_FILEBROWSER_DIRCTRL ( 1 << 0 ) +@@ -122,7 +123,7 @@ + guMediaViewer * m_MediaViewer; + guGenericDirCtrl * m_DirCtrl; + bool m_AddingFolder; +- wxToggleBitmapButton * m_ShowLibPathsBtn; ++ wxBitmapToggleButton * m_ShowLibPathsBtn; + + void OnShowLibPathsClick( wxCommandEvent& event ); + +--- a/src/AuiNotebook.cpp ++++ b/src/AuiNotebook.cpp +@@ -47,8 +47,8 @@ + m_TextFgColor = wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ); + m_SelTextFgColour = wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ); + +- m_disabled_close_bmp = guImage( guIMAGE_INDEX_tiny_close_normal ); +- m_active_close_bmp = guImage( guIMAGE_INDEX_tiny_close_highlight ); ++ m_disabledCloseBmp = guImage( guIMAGE_INDEX_tiny_close_normal ); ++ m_activeCloseBmp = guImage( guIMAGE_INDEX_tiny_close_highlight ); + } + + // -------------------------------------------------------------------------------- // +@@ -60,9 +60,9 @@ + wxAuiTabArt * guAuiTabArt::Clone() + { + guAuiTabArt * art = new guAuiTabArt; +- art->SetNormalFont( m_normal_font ); +- art->SetSelectedFont( m_selected_font ); +- art->SetMeasuringFont( m_measuring_font ); ++ art->SetNormalFont( m_normalFont ); ++ art->SetSelectedFont( m_selectedFont ); ++ art->SetMeasuringFont( m_measuringFont ); + // art->m_BgColor = m_BgColor; + // art->m_SelBgColor = m_SelBgColor; + // art->m_TextFgColor = m_TextFgColor; +@@ -75,7 +75,7 @@ + // draw background + //wxColor top_color = m_base_colour; + wxColor top_color = m_BgColor; +- wxColor bottom_color = wxAuiStepColour( m_base_colour, 120 ); ++ wxColor bottom_color = wxAuiStepColour( m_baseColour, 120 ); + wxRect r; + + if( m_flags & wxAUI_NB_BOTTOM ) +@@ -88,7 +88,7 @@ + dc.GradientFillLinear( r, top_color, bottom_color, wxNORTH ); + + // draw base lines +- dc.SetPen( m_border_pen ); ++ dc.SetPen( m_borderPen ); + int y = rect.GetHeight(); + int w = rect.GetWidth(); + +@@ -120,10 +120,10 @@ + if( caption.empty() ) + caption = wxT("Xj"); + +- dc.SetFont(m_selected_font); ++ dc.SetFont(m_selectedFont); + dc.GetTextExtent(caption, &selected_textx, &selected_texty); + +- dc.SetFont(m_normal_font); ++ dc.SetFont(m_normalFont); + dc.GetTextExtent(caption, &normal_textx, &normal_texty); + + // figure out the size of the tab +@@ -135,7 +135,7 @@ + close_button_state, + x_extent); + +- wxCoord tab_height = m_tab_ctrl_height - 1; ++ wxCoord tab_height = m_tabCtrlHeight - 1; + if( !page.active ) + tab_height -= 2; + wxCoord tab_width = tab_size.x; +@@ -150,12 +150,12 @@ + + if( page.active ) + { +- dc.SetFont( m_selected_font ); ++ dc.SetFont( m_selectedFont ); + texty = selected_texty; + } + else + { +- dc.SetFont(m_normal_font); ++ dc.SetFont(m_normalFont); + texty = normal_texty; + } + +@@ -221,7 +221,7 @@ + // } + + // draw tab outline +- dc.SetPen( m_border_pen ); ++ dc.SetPen( m_borderPen ); + dc.SetBrush( * wxTRANSPARENT_BRUSH ); + dc.DrawPolygon( WXSIZEOF( border_points ), border_points ); + +@@ -230,7 +230,7 @@ + if( page.active ) + { + if( m_flags & wxAUI_NB_BOTTOM ) +- dc.SetPen( wxPen( wxColour( wxAuiStepColour( m_base_colour, 170 ) ) ) ); ++ dc.SetPen( wxPen( wxColour( wxAuiStepColour( m_baseColour, 170 ) ) ) ); + // TODO: else if (m_flags &wxAUI_NB_LEFT) {} + // TODO: else if (m_flags &wxAUI_NB_RIGHT) {} + else //for wxAUI_NB_TOP +@@ -246,7 +246,7 @@ + int close_button_width = 0; + if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN) + { +- close_button_width = m_active_close_bmp.GetWidth(); ++ close_button_width = m_activeCloseBmp.GetWidth(); + } + + +@@ -284,12 +284,12 @@ + // draw close button if necessary + if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN) + { +- wxBitmap bmp = m_disabled_close_bmp; ++ wxBitmap bmp = m_disabledCloseBmp; + + if (close_button_state == wxAUI_BUTTON_STATE_HOVER || + close_button_state == wxAUI_BUTTON_STATE_PRESSED) + { +- bmp = m_active_close_bmp; ++ bmp = m_activeCloseBmp; + } + + wxRect rect(tab_x + tab_width - close_button_width - 1, +@@ -367,14 +367,14 @@ + // UpdateTabCtrlHeight() does the actual tab resizing. It's meant + // to be used interally + // -------------------------------------------------------------------------------- // +-void guAuiNotebook::UpdateTabCtrlHeight() ++bool guAuiNotebook::UpdateTabCtrlHeight() + { + // get the tab ctrl height we will use + int height = CalculateTabCtrlHeight(); + + wxAuiTabArt* art = m_tabs.GetArtProvider(); + +- m_tab_ctrl_height = height; ++ m_tabCtrlHeight = height; + + wxAuiPaneInfoArray& all_panes = m_mgr.GetAllPanes(); + size_t i, pane_count = all_panes.GetCount(); +@@ -385,10 +385,12 @@ + continue; + wxTabFrame* tab_frame = (wxTabFrame*)pane.window; + wxAuiTabCtrl* tabctrl = tab_frame->m_tabs; +- tab_frame->SetTabCtrlHeight(m_tab_ctrl_height); ++ tab_frame->SetTabCtrlHeight(m_tabCtrlHeight); + tabctrl->SetArtProvider(art->Clone()); + tab_frame->DoSizing(); + } ++ ++ return true; + } + + // -------------------------------------------------------------------------------- // +@@ -447,7 +449,7 @@ + if( p ) + tabs += wxT( "," ); + +- if( ( int ) page_idx == m_curpage ) ++ if( ( int ) page_idx == m_curPage ) + tabs += wxT( "*" ); + else if( ( int ) p == tabframe->m_tabs->GetActivePage() ) + tabs += wxT( "+" ); +@@ -501,12 +503,12 @@ + // create a new tab frame + wxTabFrame * new_tabs = new wxTabFrame; + new_tabs->m_tabs = new wxAuiTabCtrl( this, +- m_tab_id_counter++, ++ m_tabIdCounter++, + wxDefaultPosition, + wxDefaultSize, + wxNO_BORDER | wxWANTS_CHARS ); + new_tabs->m_tabs->SetArtProvider( m_tabs.GetArtProvider()->Clone() ); +- new_tabs->SetTabCtrlHeight( m_tab_ctrl_height ); ++ new_tabs->SetTabCtrlHeight( m_tabCtrlHeight ); + new_tabs->m_tabs->SetFlags( m_flags ); + wxAuiTabCtrl * dest_tabs = new_tabs->m_tabs; + +@@ -555,7 +557,7 @@ + m_mgr.LoadPerspective( frames ); + + // Force refresh of selection +- m_curpage = -1; ++ m_curPage = -1; + SetSelection( sel_page ); + + return true; +--- a/src/AuiNotebook.h ++++ b/src/AuiNotebook.h +@@ -205,7 +205,7 @@ + + virtual ~guAuiNotebook(); + +- virtual void UpdateTabCtrlHeight(); ++ virtual bool UpdateTabCtrlHeight(); + + wxString SavePerspective( void ); + bool LoadPerspective( const wxString &layout ); +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -120,7 +120,7 @@ + SET( ADD_WXSQLITE_SUPPORT 0 ) + PKG_CHECK_MODULES( LIBWXSQLITE3 wxsqlite3 ) + IF( NOT LIBWXSQLITE3_LIBRARIES ) +- PKG_CHECK_MODULES( LIBWXSQLITE3 wxsqlite3-2.8 ) ++ PKG_CHECK_MODULES( LIBWXSQLITE3 wxsqlite3-3.0 ) + IF( NOT LIBWXSQLITE3_LIBRARIES ) + ADD_DEFINITIONS(-DADD_WXSQLITE_SUPPORT=1) + SET( ADD_WXSQLITE_SUPPORT 1 ) +--- a/src/LastFMPanel.cpp ++++ b/src/LastFMPanel.cpp +@@ -2812,7 +2812,7 @@ + if( event.GetKeyCode() == WXK_RETURN ) + { + wxCommandEvent CmdEvent( wxEVT_COMMAND_TEXT_ENTER ); +- m_ArtistTextCtrl->AddPendingEvent( CmdEvent ); ++ m_ArtistTextCtrl->GetEventHandler()->AddPendingEvent( CmdEvent ); + return; + } + event.Skip(); +--- a/src/MainApp.cpp ++++ b/src/MainApp.cpp +@@ -360,8 +360,7 @@ + if( LangInfo ) + { + guLogError( wxT( "Could not initialize the translations engine for ( %s )" ), LangInfo->CanonicalName.c_str() ); +- wxStandardPaths StdPaths; +- guLogError( wxT( "Locale directory '%s'" ), StdPaths.GetLocalizedResourcesDir( LangInfo->CanonicalName, wxStandardPaths::ResourceCat_Messages).c_str() ); ++ guLogError( wxT( "Locale directory '%s'" ), wxStandardPaths::Get().GetLocalizedResourcesDir( LangInfo->CanonicalName, wxStandardPaths::ResourceCat_Messages).c_str() ); + } + else + { +--- a/src/PLSoListBox.cpp ++++ b/src/PLSoListBox.cpp +@@ -179,7 +179,7 @@ + if( event.GetKeyCode() == WXK_DELETE ) + { + wxCommandEvent evt( wxEVT_COMMAND_MENU_SELECTED, ID_TRACKS_DELETE ); +- GetParent()->AddPendingEvent( evt ); ++ GetParent()->GetEventHandler()->AddPendingEvent( evt ); + return; + } + +--- a/src/StatusBar.cpp ++++ b/src/StatusBar.cpp +@@ -509,7 +509,7 @@ + } + + // -------------------------------------------------------------------------------- // +-void guStatusBar::DrawField( wxDC &dc, int i ) ++void guStatusBar::DrawField( wxDC &dc, int i, int textHeight ) + { + wxRect rect; + GetFieldRect( i, rect ); +@@ -521,7 +521,7 @@ + dc.DrawLine( rect.x + rect.width, rect.y + 1, rect.x + rect.width, rect.y + rect.height - 1 ); + } + +- DrawFieldText( dc, i ); ++ DrawFieldText( dc, rect, i, textHeight ); + } + + // -------------------------------------------------------------------------------- // +--- a/src/TagInfo.cpp ++++ b/src/TagInfo.cpp +@@ -2453,7 +2453,7 @@ + } + + // -------------------------------------------------------------------------------- // +-bool guTagSetLyrics( const wxString &filename, wxString &lyrics ) ++bool guTagSetLyrics( const wxString &filename, const wxString &lyrics ) + { + guMainFrame * MainFrame = ( guMainFrame * ) wxTheApp->GetTopWindow(); + +--- a/src/TagInfo.h ++++ b/src/TagInfo.h +@@ -329,7 +329,7 @@ + bool guTagSetPicture( const wxString &filename, wxImage * picture ); + bool guTagSetPicture( const wxString &filename, const wxString &imagefile ); + wxString guTagGetLyrics( const wxString &filename ); +-bool guTagSetLyrics( const wxString &filename, wxString &lyrics ); ++bool guTagSetLyrics( const wxString &filename, const wxString &lyrics ); + //void guUpdateTrack( const guTrack &track, const wxImage * image, const wxString &lyrics, const int &changedflags ); + void guUpdateTracks( const guTrackArray &tracks, const guImagePtrArray &images, + const wxArrayString &lyrics, const wxArrayInt &changedflags ); +--- a/src/PlayListAppend.cpp ++++ b/src/PlayListAppend.cpp +@@ -128,7 +128,7 @@ + int guPlayListAppend::GetSelectedPlayList( void ) + { + int Selection = m_PlayListComboBox->GetSelection(); +- if( Selection == wxNOT_FOUND && !m_PlayListComboBox->IsEmpty() ) ++ if( Selection == wxNOT_FOUND && m_PlayListComboBox->GetCount() != 0 ) + { + Selection = FindPlayListItem( m_PlayListItems, m_PlayListComboBox->GetValue().Lower().Trim().Trim( false ) ); + } +--- a/src/AlbumBrowser.cpp ++++ b/src/AlbumBrowser.cpp +@@ -2308,7 +2308,7 @@ + // Its a LeftUp event + event.SetEventType( wxEVT_LEFT_DOWN ); + event.m_leftDown = true; +- m_BigCoverTracksListBox->AddPendingEvent( event ); ++ m_BigCoverTracksListBox->GetEventHandler()->AddPendingEvent( event ); + } + return; + } +--- a/src/AuiDockArt.cpp ++++ b/src/AuiDockArt.cpp +@@ -23,7 +23,34 @@ + #include "Images.h" + #include "Utils.h" + +-extern wxString wxAuiChopText( wxDC &dc, const wxString &text, int max_size ); ++wxString wxAuiChopText(wxDC& dc, const wxString& text, int max_size) ++{ ++ wxCoord x,y; ++ ++ // first check if the text fits with no problems ++ dc.GetTextExtent(text, &x, &y); ++ if (x <= max_size) ++ return text; ++ ++ size_t i, len = text.Length(); ++ size_t last_good_length = 0; ++ for (i = 0; i < len; ++i) ++ { ++ wxString s = text.Left(i); ++ s += wxT("..."); ++ ++ dc.GetTextExtent(s, &x, &y); ++ if (x > max_size) ++ break; ++ ++ last_good_length = i; ++ } ++ ++ wxString ret = text.Left(last_good_length); ++ ret += wxT("..."); ++ return ret; ++} ++ + + // -------------------------------------------------------------------------------- // + guAuiDockArt::guAuiDockArt() : wxAuiDefaultDockArt() +@@ -42,12 +69,12 @@ + // -------------------------------------------------------------------------------- // + void guAuiDockArt::DrawCaptionBackground( wxDC &dc, const wxRect &rect, bool active ) + { +- if( m_gradient_type == wxAUI_GRADIENT_NONE ) ++ if( m_gradientType == wxAUI_GRADIENT_NONE ) + { + if( active ) +- dc.SetBrush( wxBrush( m_active_caption_colour ) ); ++ dc.SetBrush( wxBrush( m_activeCaptionColour ) ); + else +- dc.SetBrush( wxBrush( m_inactive_caption_colour ) ); ++ dc.SetBrush( wxBrush( m_inactiveCaptionColour ) ); + + dc.DrawRectangle( rect.x, rect.y, rect.width, rect.height ); + } +@@ -58,15 +85,15 @@ + // on mac the gradients are expected to become darker from the top + #ifdef __WXMAC__ + DrawGradientRectangle( dc, rect, +- m_active_caption_colour, +- m_active_caption_gradient_colour, +- m_gradient_type ); ++ m_activeCaptionColour, ++ m_activeCaptionGradientColour, ++ m_gradientType ); + #else + // on other platforms, active gradients become lighter at the top + DrawGradientRectangle( dc, rect, +- m_active_caption_colour, +- m_active_caption_gradient_colour, +- m_gradient_type ); ++ m_activeCaptionColour, ++ m_activeCaptionGradientColour, ++ m_gradientType ); + #endif + } + else +@@ -74,20 +101,20 @@ + #ifdef __WXMAC__ + // on mac the gradients are expected to become darker from the top + DrawGradientRectangle( dc, rect, +- m_inactive_caption_colour, +- m_inactive_caption_gradient_colour, +- m_gradient_type ); ++ m_inactiveCaptionColour, ++ m_inactiveCaptionGradientColour, ++ m_gradientType ); + #else + // on other platforms, inactive gradients become lighter at the bottom + DrawGradientRectangle( dc, rect, +- m_inactive_caption_colour, +- m_inactive_caption_gradient_colour, +- m_gradient_type ); ++ m_inactiveCaptionColour, ++ m_inactiveCaptionGradientColour, ++ m_gradientType ); + #endif + } + } + +- dc.SetPen( m_border_pen ); ++ dc.SetPen( m_borderPen ); + int y = rect.y + rect.height - 1; + dc.DrawLine( rect.x, y, rect.x + rect.width, y ); + } +@@ -97,11 +124,11 @@ + void guAuiDockArt::DrawCaption( wxDC &dc, wxWindow * window, const wxString &text, const wxRect &rect, wxAuiPaneInfo &pane ) + { + dc.SetPen( * wxTRANSPARENT_PEN ); +- dc.SetFont( m_caption_font ); ++ dc.SetFont( m_captionFont ); + + DrawCaptionBackground( dc, rect, bool( pane.state & wxAuiPaneInfo::optionActive ) ); + +- dc.SetTextForeground( pane.state & wxAuiPaneInfo::optionActive ? m_active_caption_text_colour : m_inactive_caption_text_colour ); ++ dc.SetTextForeground( pane.state & wxAuiPaneInfo::optionActive ? m_activeCaptionTextColour : m_inactiveCaptionTextColour ); + + wxCoord w, h; + dc.GetTextExtent( wxT( "ABCDEFHXfgkj" ), &w, &h ); +@@ -110,11 +137,11 @@ + clip_rect.width -= 3; // text offset + clip_rect.width -= 2; // button padding + if( pane.HasCloseButton() ) +- clip_rect.width -= m_button_size; ++ clip_rect.width -= m_buttonSize; + if( pane.HasPinButton() ) +- clip_rect.width -= m_button_size; ++ clip_rect.width -= m_buttonSize; + if( pane.HasMaximizeButton() ) +- clip_rect.width -= m_button_size; ++ clip_rect.width -= m_buttonSize; + + wxString draw_text = wxAuiChopText( dc, text, clip_rect.width ); + +--- a/src/SmartMode.cpp ++++ b/src/SmartMode.cpp +@@ -500,7 +500,7 @@ + int guGenSmartPlaylist::GetPlayListId( void ) + { + int Selection = m_SaveToComboBox->GetSelection(); +- if( Selection == wxNOT_FOUND && !m_SaveToComboBox->IsEmpty() ) ++ if( Selection == wxNOT_FOUND && m_SaveToComboBox->GetCount() != 0 ) + { + Selection = FindPlayListItem( &m_Playlists, m_SaveToComboBox->GetValue().Lower().Trim().Trim( false ) ); + } +--- a/src/StaticBitmap.cpp ++++ b/src/StaticBitmap.cpp +@@ -70,7 +70,7 @@ + { + wxCommandEvent event( guStaticBitmapMouseOverEvent, guEVT_STATICBITMAP_MOUSE_OVER ); + event.SetEventObject( this ); +- m_Bitmap->AddPendingEvent( event ); ++ m_Bitmap->GetEventHandler()->AddPendingEvent( event ); + } + } + +--- a/src/Equalizer.cpp ++++ b/src/Equalizer.cpp +@@ -537,7 +537,7 @@ + { + int Sel = m_PresetComboBox->GetSelection(); + +- m_SaveButton->Enable( !m_PresetComboBox->IsEmpty() && ++ m_SaveButton->Enable( m_PresetComboBox->GetCount() != 0 && + ( m_BandChanged || !FindPresetName( m_PresetComboBox->GetValue(), m_EQPresets ) ) ); + + m_DelButton->Enable( Sel != wxNOT_FOUND ); +--- a/src/LocationPanel.cpp ++++ b/src/LocationPanel.cpp +@@ -161,7 +161,52 @@ + return 1; + } + +-extern wxColor wxAuiStepColour( const wxColor & c, int percent ); ++unsigned char wxAuiBlendColour(unsigned char fg, unsigned char bg, double alpha) ++{ ++ double result = bg + (alpha * (fg - bg)); ++ if (result < 0.0) ++ result = 0.0; ++ if (result > 255) ++ result = 255; ++ return (unsigned char)result; ++} ++ ++wxColor wxAuiStepColour(const wxColor& c, int ialpha) ++{ ++ if (ialpha == 100) ++ return c; ++ ++ unsigned char r = c.Red(), ++ g = c.Green(), ++ b = c.Blue(); ++ unsigned char bg; ++ ++ // ialpha is 0..200 where 0 is completely black ++ // and 200 is completely white and 100 is the same ++ // convert that to normal alpha 0.0 - 1.0 ++ ialpha = wxMin(ialpha, 200); ++ ialpha = wxMax(ialpha, 0); ++ double alpha = ((double)(ialpha - 100.0))/100.0; ++ ++ if (ialpha > 100) ++ { ++ // blend with white ++ bg = 255; ++ alpha = 1.0 - alpha; // 0 = transparent fg; 1 = opaque fg ++ } ++ else ++ { ++ // blend with black ++ bg = 0; ++ alpha += 1.0; // 0 = transparent fg; 1 = opaque fg ++ } ++ ++ r = wxAuiBlendColour(r, bg, alpha); ++ g = wxAuiBlendColour(g, bg, alpha); ++ b = wxAuiBlendColour(b, bg, alpha); ++ ++ return wxColour(r, g, b); ++} + + // -------------------------------------------------------------------------------- // + void guLocationTreeCtrl::ReloadItems( const bool loadstate ) +--- a/src/StatusBar.h ++++ b/src/StatusBar.h +@@ -46,7 +46,7 @@ + public : + guGauge() : wxControl() { m_LastValue = wxNOT_FOUND; m_PaintWidth = 0; }; + guGauge( wxWindow * parent, const wxString &label = wxEmptyString, bool showporcent = true, wxWindowID id = wxID_ANY, unsigned int max = 100, +- const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, long style = wxGA_HORIZONTAL ); ++ const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, long style = wxGA_HORIZONTAL | wxBORDER_NONE ); + ~guGauge( void ); + + void SetRange( int range ); +@@ -101,7 +101,7 @@ + void SetPlayMode( const bool forcegapless ); + void SetAudioScrobble( const bool audioscrobble ); + +- virtual void DrawField( wxDC &dc, int i ); ++ virtual void DrawField( wxDC &dc, int i, int textHeight ); + + }; + +--- a/src/Utils.cpp ++++ b/src/Utils.cpp +@@ -311,7 +311,7 @@ + static const wxChar marks[] = wxT( "-_.\"!~*()'" ); + + wxString RetVal; +- unsigned char CurChar; ++ wxChar CurChar; + + wxCharBuffer CharBuffer = url.ToUTF8(); + int Index; +@@ -352,7 +352,7 @@ + + for( index = 0; index < StrLen; index++ ) + { +- unsigned char C = CharBuffer[ index ]; ++ wxChar C = CharBuffer[ index ]; + { + static const wxChar marks[] = wxT( " -_.\"/+!~*()'[]%" ); //~!@#$&*()=:/,;?+' + +--- a/src/ListView.cpp ++++ b/src/ListView.cpp +@@ -914,7 +914,7 @@ + // iterate over all visible lines + for( ; line < lineMax; line++ ) + { +- const wxCoord hLine = OnGetLineHeight( line ); ++ const wxCoord hLine = OnGetRowHeight( line ); + + rectLine.height = hLine; + +--- a/src/TimeLine.h ++++ b/src/TimeLine.h +@@ -115,7 +115,7 @@ + + virtual void TimerEvent( void ); + virtual int TimerCreate( void ); +- virtual void TimerDestroy( void ) { g_source_remove( m_TimerId ); } ++ virtual void TimerDestroy( void ) { int id = m_TimerId; m_TimerId = 0; if (id) g_source_remove( id ); } + + }; + +--- a/src/SplashWin.cpp ++++ b/src/SplashWin.cpp +@@ -79,7 +79,7 @@ + + Show( true ); + SetThemeEnabled( false ); +- SetBackgroundStyle( wxBG_STYLE_CUSTOM ); ++ SetBackgroundStyle( wxBG_STYLE_ERASE ); + + m_Timer.SetOwner( this ); + m_Timer.Start( timeout, wxTIMER_ONE_SHOT ); +--- a/src/RoundButton.cpp ++++ b/src/RoundButton.cpp +@@ -33,7 +33,7 @@ + + // -------------------------------------------------------------------------------- // + guRoundButton::guRoundButton( wxWindow * parent, const wxImage &image, const wxImage &selimage, const int flags ) : +- wxControl( parent, wxID_ANY ) ++ wxControl( parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE ) + { + m_Bitmap = wxBitmap( image ); + m_HoverBitmap = wxBitmap( selimage ); +--- a/src/RatingCtrl.cpp ++++ b/src/RatingCtrl.cpp +@@ -34,7 +34,8 @@ + END_EVENT_TABLE() + + // -------------------------------------------------------------------------------- // +-guRating::guRating( wxWindow * parent, const int style ) : wxControl( parent, wxID_ANY ) ++guRating::guRating( wxWindow * parent, const int style ) : ++ wxControl( parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE ) + { + m_Rating = wxNOT_FOUND; + m_Style = style; +--- a/src/ToggleRoundButton.cpp ++++ b/src/ToggleRoundButton.cpp +@@ -35,7 +35,7 @@ + // -------------------------------------------------------------------------------- // + guToggleRoundButton::guToggleRoundButton( wxWindow * parent, const wxImage &image, + const wxImage &selimage, const wxImage &hoverimage ) : +- wxControl( parent, wxID_ANY ) ++ wxControl( parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE ) + { + m_Bitmap = wxBitmap( selimage ); + m_DisBitmap = wxBitmap( image ); diff --git a/media-sound/guayadeque/guayadeque-0.3.7-r1.ebuild b/media-sound/guayadeque/guayadeque-0.3.7-r1.ebuild new file mode 100644 index 000000000000..60734acb6dde --- /dev/null +++ b/media-sound/guayadeque/guayadeque-0.3.7-r1.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +WX_GTK_VER="3.0" + +inherit cmake-utils eutils wxwidgets + +DESCRIPTION="Music management program designed for all music enthusiasts" +HOMEPAGE="http://guayadeque.org/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="ayatana ipod +minimal" + +# No test available, Making src_test fail +RESTRICT="test" + +# Missing +# gstreamer0.10-fluendo-mp3 #120237 +# gstreamer0.10-plugins-bad-multiverse ?? +# gstreamer0.10-plugins-base-apps ?? + +GST_VERSION=0.10 +GST_DEPS=" + dev-perl/GStreamer + media-libs/gnonlin:${GST_VERSION} + media-plugins/gst-plugins-alsa:${GST_VERSION} + media-plugins/gst-plugins-ffmpeg:${GST_VERSION} + media-plugins/gst-plugins-gio:${GST_VERSION} + media-plugins/gst-plugins-gnomevfs:${GST_VERSION} + media-plugins/gst-plugins-libnice:${GST_VERSION} + media-plugins/gst-plugins-pulse:${GST_VERSION} + media-plugins/gst-plugins-soup:${GST_VERSION} + media-plugins/gst-plugins-x:${GST_VERSION} + media-libs/gst-plugins-bad:${GST_VERSION} + media-libs/gst-plugins-base:${GST_VERSION} + media-libs/gst-plugins-good:${GST_VERSION} + media-libs/gst-plugins-ugly:${GST_VERSION} +" + +RDEPEND=" + dev-db/sqlite:3 + >=dev-db/wxsqlite3-3.2.1 + dev-libs/glib:2 + media-libs/flac + media-libs/gstreamer:${GST_VERSION}[introspection] + >=media-libs/taglib-1.6.4 + net-misc/curl + sys-apps/dbus + x11-libs/wxGTK:3.0[X] + ayatana? ( >=dev-libs/libindicate-0.7 ) + ipod? ( media-libs/libgpod ) + !minimal? ( ${GST_DEPS} )" +DEPEND="${RDEPEND} + app-arch/unzip + sys-devel/gettext + virtual/pkgconfig" + +# echo $(cat po/CMakeLists.txt | grep ADD_SUBDIRECTORY | sed 's#ADD_SUBDIRECTORY( \(\w\+\) )#\1#') +LANGS="es uk it de fr is nb th cs ru hu sv nl pt_BR pt el sk pl tr ja sr bg ca_ES hr" +for l in ${LANGS}; do + IUSE="$IUSE linguas_${l}" +done + +PATCHES=( + "${FILESDIR}"/${PN}-0.3.6*-underlinking.patch + "${FILESDIR}"/${P}-wx3.0.patch + "${FILESDIR}"/${P}-headers-location.patch +) + +src_prepare() { + for l in ${LANGS} ; do + if ! use linguas_${l} ; then + sed \ + -e "/${l}/d" \ + -i po/CMakeLists.txt || die + fi + done + + if ! use ipod; then + sed \ + -e '/PKG_CHECK_MODULES( LIBGPOD/,/^ENDIF/d' \ + -i CMakeLists.txt || die + fi + + if ! use ayatana; then + sed \ + -e '/PKG_CHECK_MODULES( LIBINDICATE/,/^ENDIF/d' \ + -i CMakeLists.txt || die + fi + + rm -rf src/wx/wxsql* src/wxsqlite3 || die + + cmake-utils_src_prepare + + # otherwise cmake checks for svn + esvn_clean + + sed 's:-O2::g' -i CMakeLists.txt || die + + sed \ + -e '/Encoding/d' \ + -i guayadeque.desktop || die +} + +pkg_postinst() { + local pkg + if use minimal; then + elog "If you are missing functionalities consider setting USE=-minimal" + elog "or install any of the following packages:" + for pkg in ${GST_DEPS}; do + elog "\t ${pkg}" + done + fi +} |