Changeset d2adc9f3c197dfb3b148db04d24f838d7f0befcd

Show
Ignore:
Timestamp:
12/14/04 19:44:04 (4 years ago)
Author:
Clément Stenac <zorglub@videolan.org>
git-committer:
Clément Stenac <zorglub@videolan.org> 1103049844 +0000
git-parent:

[dc7674b5895d6a59b6df6ca6f5f1a4f8a9167d3a]

git-author:
Clément Stenac <zorglub@videolan.org> 1103049844 +0000
Message:

Implement add_module_cat to add a module by category + use this for intf

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • include/configuration.h

    ra90a19a rd2adc9f  
    5252#define CONFIG_ITEM_DIRECTORY               0x0070  /* Directory option */ 
    5353#define CONFIG_ITEM_KEY                     0x0080  /* Hot key option */ 
    54 #define CONFIG_ITEM_MODULE_LIST             0x0090  /* Module option */ 
    55 #define CONFIG_ITEM_MODULE_LIST_CAT         0x00A0  /* Module option */ 
     54#define CONFIG_ITEM_MODULE_CAT              0x0090  /* Module option */ 
     55#define CONFIG_ITEM_MODULE_LIST             0x00A0  /* Module option */ 
     56#define CONFIG_ITEM_MODULE_LIST_CAT         0x00B0  /* Module option */ 
    5657 
    5758#define CONFIG_ITEM                         0x00F0 
     
    277278    { static module_config_t tmp = { CONFIG_ITEM_MODULE, psz_caps, name, '\0', text, longtext, psz_value }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; } 
    278279 
     280#define add_module_cat( name, i_subcategory, psz_value, p_callback, text, longtext, advc ) \ 
     281    i_config++; \ 
     282    if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ 
     283        (i_config+11) * sizeof(module_config_t)); \ 
     284    { static module_config_t tmp = { CONFIG_ITEM_MODULE_CAT, NULL, name, '\0', text, longtext, psz_value, 0, 0.0, i_subcategory }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; } 
    279285 
    280286#define add_module_list( name, psz_caps, psz_value, p_callback, text, longtext, advc ) \ 
  • modules/control/http.c

    r91d9398 rd2adc9f  
    9393    set_description( _("HTTP remote control interface") ); 
    9494    set_category( CAT_INTERFACE ); 
    95     set_subcategory( SUBCAT_INTERFACE_CONTROL ); 
     95    set_subcategory( SUBCAT_INTERFACE_GENERAL ); 
    9696        add_string ( "http-host", NULL, NULL, HOST_TEXT, HOST_LONGTEXT, VLC_TRUE ); 
    9797        add_string ( "http-src",  NULL, NULL, SRC_TEXT,  SRC_LONGTEXT,  VLC_TRUE ); 
  • modules/control/rc.c

    ra90a19a rd2adc9f  
    9797    char *psz_unix_path; 
    9898    vlc_bool_t b_extend; 
    99      
     99 
    100100#ifdef WIN32 
    101101    HANDLE hConsoleIn; 
     
    139139#define EXTEND_TEXT N_("Extended help") 
    140140#define EXTEND_LONGTEXT N_("List additional commands.") 
    141              
    142141 
    143142#ifdef WIN32 
     
    152151vlc_module_begin(); 
    153152    set_category( CAT_INTERFACE ); 
    154     set_subcategory( SUBCAT_INTERFACE_CONTROL ); 
     153    set_subcategory( SUBCAT_INTERFACE_GENERAL ); 
    155154    set_description( _("Remote control interface") ); 
    156155    add_bool( "rc-show-pos", 0, NULL, POS_TEXT, POS_LONGTEXT, VLC_TRUE ); 
  • modules/control/rtci.c

    ra90a19a rd2adc9f  
    103103    char *psz_unix_path; 
    104104    vlc_bool_t b_extend; 
    105      
     105 
    106106#ifdef WIN32 
    107107    HANDLE hConsoleIn; 
     
    142142#define EXTEND_TEXT N_("Extended help") 
    143143#define EXTEND_LONGTEXT N_("List additional commands.") 
    144              
    145144 
    146145#ifdef WIN32 
     
    154153    set_description( _("Real time control interface") ); 
    155154    set_category( CAT_INTERFACE ); 
    156     set_subcategory( SUBCAT_INTERFACE_CONTROL ); 
     155    set_subcategory( SUBCAT_INTERFACE_GENERAL ); 
    157156    add_bool( "rtci-show-pos", 0, NULL, POS_TEXT, POS_LONGTEXT, VLC_TRUE ); 
    158157#ifdef HAVE_ISATTY 
  • modules/control/telnet.c

    r635d823 rd2adc9f  
    8383 
    8484vlc_module_begin(); 
     85    set_category( CAT_INTERFACE ); 
     86    set_subcategory( SUBCAT_INTERFACE_GENERAL ); 
    8587    add_integer( "telnet-port", 4212, NULL, TELNETPORT_TEXT, 
    8688                 TELNETPORT_LONGTEXT, VLC_TRUE ); 
  • modules/gui/wxwindows/preferences_widgets.cpp

    r9de73f4 rd2adc9f  
    5454        p_control = new ModuleConfigControl( p_this, p_item, parent ); 
    5555        break; 
     56    case CONFIG_ITEM_MODULE_CAT: 
     57        p_control = new ModuleCatConfigControl( p_this, p_item, parent ); 
     58        break; 
    5659    case CONFIG_ITEM_MODULE_LIST_CAT: 
    5760        p_control = new ModuleListCatConfigControl( p_this, p_item, parent ); 
     
    291294} 
    292295 
     296ModuleCatConfigControl::~ModuleCatConfigControl() 
     297{ 
     298    ; 
     299} 
     300 
     301wxString ModuleCatConfigControl::GetPszValue() 
     302{ 
     303    return wxU( (char *)combo->GetClientData( combo->GetSelection() )); 
     304} 
     305 
     306/***************************************************************************** 
     307 * ModuleCatConfigControl implementation 
     308 *****************************************************************************/ 
     309ModuleCatConfigControl::ModuleCatConfigControl( vlc_object_t *p_this, 
     310                                                module_config_t *p_item, 
     311                                                wxWindow *parent ) 
     312  : ConfigControl( p_this, p_item, parent ) 
     313{ 
     314    vlc_list_t *p_list; 
     315    module_t *p_parser; 
     316 
     317    label = new wxStaticText(this, -1, wxU(p_item->psz_text)); 
     318    combo = new wxComboBox( this, -1, wxL2U(p_item->psz_value), 
     319                            wxDefaultPosition, wxDefaultSize, 
     320                            0, NULL, wxCB_READONLY | wxCB_SORT ); 
     321 
     322    combo->Append( wxU(_("Default")), (void *)NULL ); 
     323    combo->SetSelection( 0 ); 
     324 
     325    /* build a list of available modules */ 
     326    p_list = vlc_list_find( p_this, VLC_OBJECT_MODULE, FIND_ANYWHERE ); 
     327    for(  int i_index = 0; i_index < p_list->i_count; i_index++ ) 
     328    { 
     329        p_parser = (module_t *)p_list->p_values[i_index].p_object ; 
     330 
     331        if( !strcmp( p_parser->psz_object_name, "main" ) ) 
     332              continue; 
     333 
     334        module_config_t *p_config = p_parser->p_config; 
     335        if( p_config ) do 
     336        { 
     337            /* Hack: required subcategory is stored in i_min */ 
     338            if( p_config->i_type == CONFIG_SUBCATEGORY && 
     339                p_config->i_value == p_item->i_min ) 
     340            { 
     341                combo->Append( wxU(p_parser->psz_longname), 
     342                                   p_parser->psz_object_name ); 
     343                if( p_item->psz_value && !strcmp(p_item->psz_value, 
     344                                        p_parser->psz_object_name) ) 
     345                combo->SetValue( wxU(p_parser->psz_longname) ); 
     346            } 
     347        } while( p_config->i_type != CONFIG_HINT_END && p_config++ ); 
     348    } 
     349    vlc_list_release( p_list ); 
     350 
     351    combo->SetToolTip( wxU(p_item->psz_longtext) ); 
     352    sizer->Add( label, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 ); 
     353    sizer->Add( combo, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 ); 
     354    sizer->Layout(); 
     355    this->SetSizerAndFit( sizer ); 
     356} 
     357 
    293358ModuleConfigControl::~ModuleConfigControl() 
    294359{ 
     
    300365    return wxU( (char *)combo->GetClientData( combo->GetSelection() )); 
    301366} 
     367 
    302368 
    303369/***************************************************************************** 
  • modules/gui/wxwindows/preferences_widgets.h

    ra90a19a rd2adc9f  
    9090}; 
    9191 
     92class ModuleCatConfigControl: public ConfigControl 
     93{ 
     94public: 
     95    ModuleCatConfigControl( vlc_object_t *, module_config_t *, wxWindow * ); 
     96    ~ModuleCatConfigControl(); 
     97    virtual wxString GetPszValue(); 
     98private: 
     99    wxComboBox *combo; 
     100}; 
     101 
     102 
    92103class ModuleListCatConfigControl: public ConfigControl 
    93104{ 
     
    100111 
    101112    void OnUpdate( wxCommandEvent& ); 
    102      
     113 
    103114    wxTextCtrl *text; 
    104115    DECLARE_EVENT_TABLE() 
  • modules/visualization/xosd.c

    r91d9398 rd2adc9f  
    7878 
    7979vlc_module_begin(); 
     80    set_category( CAT_INTERFACE ); 
     81    set_subcategory( SUBCAT_INTERFACE_CONTROL ); 
    8082    set_description( _("XOSD interface") ); 
    8183    add_bool( "xosd-position", 1, NULL, POSITION_TEXT, POSITION_LONGTEXT, VLC_TRUE ); 
  • src/libvlc.h

    r17d55b1 rd2adc9f  
    11271127 
    11281128    set_section ( N_("Interface module" ), NULL ); 
    1129     add_module( "intf", "interface", NULL, NULL, INTF_TEXT, 
     1129    add_module_cat( "intf", SUBCAT_INTERFACE_GENERAL, NULL, NULL, INTF_TEXT, 
    11301130                INTF_LONGTEXT, VLC_FALSE ); 
    11311131        change_short('I'); 
  • src/misc/configuration.c

    ra90a19a rd2adc9f  
    206206        (p_config->i_type!=CONFIG_ITEM_MODULE_LIST) && 
    207207        (p_config->i_type!=CONFIG_ITEM_MODULE_LIST_CAT) && 
     208        (p_config->i_type!=CONFIG_ITEM_MODULE_CAT) && 
    208209        (p_config->i_type!=CONFIG_ITEM_MODULE) ) 
    209210    {