X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=radiant%2Ffilters.cpp;h=3a9516056679556478d3fe9809e2db4f2ab4d96a;hb=ae7358fd50ac6cc3b2a6e4bd6e386cf13df7fbb4;hp=14eec0cdb4e0ff81a86e6c4f94085e8fee5160dc;hpb=04fe1ceba51db67b2b1743e383f146ea8d31a07e;p=xonotic%2Fnetradiant.git diff --git a/radiant/filters.cpp b/radiant/filters.cpp index 14eec0cd..3a951605 100644 --- a/radiant/filters.cpp +++ b/radiant/filters.cpp @@ -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 &importCallback ){ importCallback( ( g_filters_globals.exclude & m_mask ) != 0 ); } -typedef MemberCaller1 ActiveCaller; +typedef MemberCaller&), &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 ToggleCaller; +typedef MemberCaller ToggleCaller; }; @@ -205,6 +205,7 @@ void Filters_constructMenu( ui::Menu 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( ui::Menu 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() ); - GlobalCommands_insert( "ResetFilters", FreeCaller() ); + 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(); }