]> git.sesse.net Git - vlc/blobdiff - modules/gui/wxwindows/wxwindows.h
Remove playlist info accessors (as they now belong to input_item) and use vlc_input_i...
[vlc] / modules / gui / wxwindows / wxwindows.h
index ad8edb1e07975a3c330af7d3d2484b854736c4c5..97c04e63d5f3b323d8f321cc461888aa677cf9db 100644 (file)
@@ -187,6 +187,7 @@ private:
     int i_old_playing_status;
     int i_old_rate;
     vlc_bool_t b_old_seekable;
+    vlc_bool_t b_disc_shown;
 };
 
 
@@ -303,8 +304,15 @@ public:
 
     wxSlider    *slider;
     wxWindow    *slider_frame;
+    wxBoxSizer  *slider_sizer;
     wxPanel     *extra_frame;
 
+    wxPanel         *disc_frame;
+    wxBoxSizer      *disc_sizer;
+    wxBitmapButton  *disc_menu_button;
+    wxBitmapButton  *disc_prev_button;
+    wxBitmapButton  *disc_next_button;
+
     wxFrame    *extra_window;
 
     vlc_bool_t b_extra;
@@ -345,6 +353,10 @@ private:
     void OnSlowStream( wxCommandEvent& event );
     void OnFastStream( wxCommandEvent& event );
 
+    void OnDiscMenu( wxCommandEvent& event );
+    void OnDiscPrev( wxCommandEvent& event );
+    void OnDiscNext( wxCommandEvent& event );
+
     void OnMenuOpen( wxMenuEvent& event );
 
 #if defined( __WXMSW__ ) || defined( __WXMAC__ )
@@ -779,45 +791,59 @@ public:
     void UpdatePlaylist();
     void ShowPlaylist( bool show );
     void UpdateItem( int );
+    void AppendItem( wxCommandEvent& );
 
     bool b_need_update;
 
 private:
+    void RemoveItem( int );
     void DeleteItem( int item );
-    void ShowInfos( int item );
+    void DeleteNode( playlist_item_t *node );
 
     /* Event handlers (these functions should _not_ be virtual) */
 
-    void OnSize( wxSizeEvent &event );
-
     /* Menu Handlers */
     void OnAddFile( wxCommandEvent& event );
     void OnAddDir( wxCommandEvent& event );
     void OnAddMRL( wxCommandEvent& event );
     void OnClose( wxCommandEvent& event );
-    void OnSearch( wxCommandEvent& event );
-    void OnEnDis( wxCommandEvent& event );
-    void OnInfos( wxCommandEvent& event );
-    void OnSearchTextChange( wxCommandEvent& event );
+
+    void OnEnableSelection( wxCommandEvent& event );
+    void OnDisableSelection( wxCommandEvent& event );
+    void OnInvertSelection( wxCommandEvent& event );
+    void OnDeleteSelection( wxCommandEvent& event );
+    void OnSelectAll( wxCommandEvent& event );
+
     void OnOpen( wxCommandEvent& event );
     void OnSave( wxCommandEvent& event );
 
+    /* Search (user) */
+    void OnSearch( wxCommandEvent& event );
+    void OnSearchTextChange( wxCommandEvent& event );
+    wxTextCtrl *search_text;
+    wxButton *search_button;
+    wxTreeItemId search_current;
+
+    void OnEnDis( wxCommandEvent& event );
+
+    /* Sort */
+    int i_sort_mode;
     void OnSort( wxCommandEvent& event );
+    int i_title_sorted;
+    int i_group_sorted;
+    int i_duration_sorted;
 
+    /* Dynamic menus */
     void OnMenuEvent( wxCommandEvent& event );
     void OnMenuOpen( wxMenuEvent& event );
-
+    wxMenu *p_view_menu;
+    wxMenu *p_sd_menu;
     wxMenu *ViewMenu();
     wxMenu *SDMenu();
 
     void OnUp( wxCommandEvent& event);
     void OnDown( wxCommandEvent& event);
 
-    void OnEnableSelection( wxCommandEvent& event );
-    void OnDisableSelection( wxCommandEvent& event );
-    void OnInvertSelection( wxCommandEvent& event );
-    void OnDeleteSelection( wxCommandEvent& event );
-    void OnSelectAll( wxCommandEvent& event );
     void OnRandom( wxCommandEvent& event );
     void OnRepeat( wxCommandEvent& event );
     void OnLoop ( wxCommandEvent& event );
@@ -826,53 +852,56 @@ private:
     void OnKeyDown( wxTreeEvent& event );
     void OnNewGroup( wxCommandEvent& event );
 
-    /* Popup functions */
+    /* Popup  */
+    wxMenu *item_popup;
+    wxMenu *node_popup;
+    wxTreeItemId i_popup_item;
+    playlist_item_t *p_popup_item;
+    playlist_item_t *p_popup_parent;
     void OnPopup( wxContextMenuEvent& event );
     void OnPopupPlay( wxMenuEvent& event );
+    void OnPopupPreparse( wxMenuEvent& event );
+    void OnPopupSort( wxMenuEvent& event );
     void OnPopupDel( wxMenuEvent& event );
     void OnPopupEna( wxMenuEvent& event );
     void OnPopupInfo( wxMenuEvent& event );
     void Rebuild();
 
+    void Preparse( playlist_t *p_playlist );
+
     /* Update */
     void UpdateNode( playlist_t *, playlist_item_t*, wxTreeItemId );
+    void UpdateNodeChildren( playlist_t *, playlist_item_t*, wxTreeItemId );
     void CreateNode( playlist_t *, playlist_item_t*, wxTreeItemId );
+    void UpdateTreeItem( playlist_t *, wxTreeItemId );
+    void SetCurrentItem( wxTreeItemId );
 
+    /* Search (internal) */
+    int CountItems( wxTreeItemId);
     wxTreeItemId FindItem( wxTreeItemId, playlist_item_t * );
-    void SetCurrentItem( wxTreeItemId );
-    void UpdateTreeItem( playlist_t *, wxTreeItemId );
+    wxTreeItemId FindItem( wxTreeItemId, int );
+    wxTreeItemId FindItemByName( wxTreeItemId, wxString,
+                                 wxTreeItemId, vlc_bool_t *);
 
     /* Custom events */
     void OnPlaylistEvent( wxCommandEvent& event );
 
-    wxTextCtrl *search_text;
-    wxButton *search_button;
     DECLARE_EVENT_TABLE();
 
-    wxMenu *popup_menu;
-
-    wxMenu *p_view_menu;
-    wxMenu *p_sd_menu;
-
-    char **pp_sds;
 
+    /* Global widgets */
+    wxStatusBar *statusbar;
     ItemInfoDialog *iteminfo_dialog;
 
-    intf_thread_t *p_intf;
-    wxTreeCtrl *treectrl;
     int i_update_counter;
-    int i_sort_mode;
 
+    intf_thread_t *p_intf;
+    wxTreeCtrl *treectrl;
     int i_current_view;
+    vlc_bool_t b_changed_view;
+    char **pp_sds;
 
-    wxTreeItemId i_popup_item;
-    playlist_item_t *p_popup_item;
-    playlist_item_t *p_popup_parent;
 
-    int i_title_sorted;
-    int i_author_sorted;
-    int i_group_sorted;
-    int i_duration_sorted;
 };
 
 /* ItemInfo Dialog */
@@ -911,12 +940,10 @@ private:
 
     wxTextCtrl *uri_text;
     wxTextCtrl *name_text;
-    wxTextCtrl *author_text;
 
     wxTreeCtrl *info_tree;
     wxTreeItemId info_root;
 
-    wxCheckBox *enabled_checkbox;
 };