Name_Event,
Author_Event,
Enabled_Event,
- New_Event,
};
BEGIN_EVENT_TABLE(ItemInfoDialog, wxDialog)
/* Button events */
EVT_BUTTON(wxID_OK, ItemInfoDialog::OnOk)
EVT_BUTTON(wxID_CANCEL, ItemInfoDialog::OnCancel)
- /* Events generated by the panels */
- EVT_BUTTON( New_Event, ItemInfoDialog::OnNewGroup)
END_EVENT_TABLE()
/* Create the standard info panel */
wxPanel *info_panel = InfoPanel( panel );
- /* Create the group panel */
- wxPanel *group_panel = GroupPanel( panel );
-
/* Separation */
wxStaticLine *static_line = new wxStaticLine( panel, wxID_OK );
wxBoxSizer *main_sizer = new wxBoxSizer( wxVERTICAL );
wxBoxSizer *panel_sizer = new wxBoxSizer( wxVERTICAL );
panel_sizer->Add( info_panel, 0, wxEXPAND | wxALL, 5 );
- panel_sizer->Add( group_panel, 0, wxEXPAND | wxALL, 5 );
panel_sizer->Add( static_line, 0, wxEXPAND | wxALL, 5 );
panel_sizer->Add( button_sizer, 0, wxALIGN_LEFT | wxALIGN_BOTTOM |
wxALL, 5 );
return info_panel;
}
-wxPanel *ItemInfoDialog::GroupPanel( wxWindow* parent )
-{
- wxPanel *panel = new wxPanel( parent, -1, wxDefaultPosition,
- wxDefaultSize );
- wxStaticBox *panel_box = new wxStaticBox( panel, -1,
- wxU(_("Group Info")) );
- wxStaticBoxSizer *panel_sizer = new wxStaticBoxSizer( panel_box,
- wxVERTICAL);
- wxBoxSizer *subpanel_sizer;
- group_subpanel = new wxPanel( panel, -1 );
- subpanel_sizer = new wxBoxSizer( wxVERTICAL) ;
- enabled_checkbox = new wxCheckBox( group_subpanel,
- -1, wxU(_("Item Enabled")) );
-
- enabled_checkbox->SetValue( p_item->b_enabled);
-
- wxStaticText *group_label = new wxStaticText( group_subpanel,
- -1, wxU(_("Group")) );
-
- playlist_t *p_playlist =
- (playlist_t *)vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
- FIND_ANYWHERE );
- if( p_playlist == NULL )
- {
- return NULL;
- }
-
- group_combo = new wxComboBox( group_subpanel, -1,
- wxT(""),wxDefaultPosition, wxDefaultSize,
- 0, NULL, wxCB_READONLY );
-
- wxButton *newgroup_button = new wxButton( group_subpanel, New_Event,
- wxU(_("New Group")));
-
- for( int i=0; i< p_playlist->i_groups ; i++)
- {
- group_combo->Append( wxU( p_playlist->pp_groups[i]->psz_name ) );
- if( p_playlist->pp_groups[i]->i_id == p_item->i_group )
- {
- group_combo->SetSelection( i );
- group_combo->SetValue( wxU( p_playlist->pp_groups[i]->psz_name ) );
- }
- }
-
- vlc_object_release ( p_playlist );
-
- subpanel_sizer->Add( enabled_checkbox, 0, wxALIGN_RIGHT|
- wxALIGN_CENTER_VERTICAL );
- subpanel_sizer->Add( group_label, 0, wxALIGN_LEFT |
- wxALIGN_CENTER_VERTICAL );
-
- wxBoxSizer *group_sizer = new wxBoxSizer( wxHORIZONTAL);
- group_sizer->Add(group_combo, 0, wxALIGN_LEFT|wxRIGHT, 5);
- group_sizer->Add( newgroup_button, 0, wxALIGN_RIGHT|wxLEFT, 5);
- group_sizer->Layout();
-
- subpanel_sizer->Add( group_sizer, 0, wxALIGN_RIGHT );
-
- group_subpanel->SetSizerAndFit( subpanel_sizer );
-
- /* Stuff everything into the main panel */
- panel_sizer->Add( group_subpanel, 0,
- wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5 );
-
- panel->SetSizerAndFit( panel_sizer );
-
- /* Update panel */
- return panel;
-}
-
void ItemInfoDialog::UpdateInfo()
{
if( !info_root )
/* Rebuild the tree */
for( int i = 0; i< p_item->input.i_categories ; i++)
{
- if( !strcmp( p_item->input.pp_categories[i]->psz_name, _("Options") ) )
- {
- continue;
- }
wxTreeItemId cat = info_tree->AppendItem( info_root,
wxU( p_item->input.pp_categories[i]->psz_name) );
else if( b_old_enabled == VLC_TRUE && !enabled_checkbox->IsChecked() )
p_playlist->i_enabled --;
- for (int i=0 ; i< p_playlist->i_groups ; i++)
- {
- if( !strcasecmp( p_playlist->pp_groups[i]->psz_name,
- group_combo->GetValue().mb_str() ))
- {
- p_item->i_group = p_playlist->pp_groups[i]->i_id;
- break;
- }
- }
-
vlc_object_release( p_playlist );
}
{
EndModal( wxID_CANCEL );
}
-
-void ItemInfoDialog::OnNewGroup( wxCommandEvent& WXUNUSED(event) )
-{
- NewGroup *p_newgroup = NULL;
-
- p_newgroup = new NewGroup( p_intf, this );
-
- if( p_newgroup)
- {
- if( p_newgroup->ShowModal() == wxID_OK && p_newgroup->psz_name)
- {
- group_combo->Append( wxU( p_newgroup->psz_name ) );
- }
- delete( p_newgroup );
- }
-}