]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/filters.cpp
Merge branch 'NateEag-master-patch-12920' into 'master'
[xonotic/netradiant.git] / radiant / filters.cpp
index 3ff4ddd0703c2290f65624d66ac96a9397ab7029..3a9516056679556478d3fe9809e2db4f2ab4d96a 100644 (file)
@@ -127,10 +127,10 @@ ToggleFilterFlag( unsigned int mask ) : m_mask( mask ), m_item( ActiveCaller( *t
 }
 ToggleFilterFlag( const ToggleFilterFlag& other ) : m_mask( other.m_mask ), m_item( ActiveCaller( *this ) ){
 }
-void active( const BoolImportCallback& importCallback ){
+void active( const Callback<void(bool)> &importCallback ){
        importCallback( ( g_filters_globals.exclude & m_mask ) != 0 );
 }
-typedef MemberCaller1<ToggleFilterFlag, const BoolImportCallback&, &ToggleFilterFlag::active> ActiveCaller;
+typedef MemberCaller<ToggleFilterFlag, void(const Callback<void(bool)>&), &ToggleFilterFlag::active> ActiveCaller;
 void toggle(){
        g_filters_globals.exclude ^= m_mask;
        m_item.update();
@@ -141,7 +141,7 @@ void reset(){
        m_item.update();
        PerformFiltering();
 }
-typedef MemberCaller<ToggleFilterFlag, &ToggleFilterFlag::toggle> ToggleCaller;
+typedef MemberCaller<ToggleFilterFlag, void(), &ToggleFilterFlag::toggle> ToggleCaller;
 };
 
 
@@ -171,7 +171,7 @@ void ResetFilters(){
        }
 }
 
-void Filters_constructMenu( GtkMenu* menu_in_menu ){
+void Filters_constructMenu( ui::Menu menu_in_menu ){
        create_check_menu_item_with_mnemonic( menu_in_menu, "World", "FilterWorldBrushes" );
        create_check_menu_item_with_mnemonic( menu_in_menu, "Entities", "FilterEntities" );
        if ( g_pGameDescription->mGameType == "doom3" ) {
@@ -205,6 +205,7 @@ void Filters_constructMenu( GtkMenu* menu_in_menu ){
                create_check_menu_item_with_mnemonic( menu_in_menu, "Botclips", "FilterBotClips" );
                create_check_menu_item_with_mnemonic( menu_in_menu, "Decals", "FilterDecals" );
        }
+       create_check_menu_item_with_mnemonic( menu_in_menu, "FuncGroups", "FilterFuncGroups" );
        // filter manipulation
        menu_separator( menu_in_menu );
        create_menu_item_with_mnemonic( menu_in_menu, "Invert filters", "InvertFilters" );
@@ -216,10 +217,10 @@ void Filters_constructMenu( GtkMenu* menu_in_menu ){
 #include "stringio.h"
 
 void ConstructFilters(){
-       GlobalPreferenceSystem().registerPreference( "SI_Exclude", SizeImportStringCaller( g_filters_globals.exclude ), SizeExportStringCaller( g_filters_globals.exclude ) );
+       GlobalPreferenceSystem().registerPreference( "SI_Exclude", make_property_string( g_filters_globals.exclude ) );
 
-       GlobalCommands_insert( "InvertFilters", FreeCaller<InvertFilters>() );
-       GlobalCommands_insert( "ResetFilters", FreeCaller<ResetFilters>() );
+       GlobalCommands_insert( "InvertFilters", makeCallbackF(InvertFilters) );
+       GlobalCommands_insert( "ResetFilters", makeCallbackF(ResetFilters) );
 
        add_filter_command( EXCLUDE_WORLD, "FilterWorldBrushes", Accelerator( '1', (GdkModifierType)GDK_MOD1_MASK ) );
        add_filter_command( EXCLUDE_ENT, "FilterEntities", Accelerator( '2', (GdkModifierType)GDK_MOD1_MASK ) );
@@ -252,6 +253,7 @@ void ConstructFilters(){
                add_filter_command( EXCLUDE_BOTCLIP, "FilterBotClips", Accelerator( 'M', (GdkModifierType)GDK_MOD1_MASK ) );
                add_filter_command( EXCLUDE_DECALS, "FilterDecals", Accelerator( 'D', (GdkModifierType)GDK_SHIFT_MASK ) );
        }
+       add_filter_command( EXCLUDE_FUNC_GROUPS, "FilterFuncGroups", accelerator_null() );
 
        PerformFiltering();
 }