X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=radiant%2Fmru.cpp;h=37fd9a17a734933c9437363324eb40bedf83f029;hb=b8f0b2351d49fedbcc3a67dab5f9852a246b0b3d;hp=50d89bf1c0ad29db4760fc5693445b65239a37e5;hpb=e2b92e121264da56e42426150f338c6e2220fc09;p=xonotic%2Fnetradiant.git diff --git a/radiant/mru.cpp b/radiant/mru.cpp index 50d89bf1..37fd9a17 100644 --- a/radiant/mru.cpp +++ b/radiant/mru.cpp @@ -34,7 +34,7 @@ #include "map.h" #include "qe3.h" -#define MRU_MAX 4 +const int MRU_MAX = 4; namespace { GtkMenuItem *MRU_items[MRU_MAX]; std::size_t MRU_used; @@ -120,8 +120,8 @@ void MRU_AddFile( const char *str ){ MRU_SetText( i, MRU_GetText( i - 1 ) ); MRU_SetText( 0, str ); - gtk_widget_set_sensitive( GTK_WIDGET( MRU_items[0] ), TRUE ); - ui::Widget(GTK_WIDGET( MRU_items[MRU_used - 1] )).show(); + gtk_widget_set_sensitive( ui::MenuItem::from(MRU_items[0]) , TRUE ); + ui::MenuItem::from(MRU_items[MRU_used - 1] ).show(); } void MRU_Init(){ @@ -130,13 +130,13 @@ void MRU_Init(){ } } -void MRU_AddWidget( GtkMenuItem *widget, std::size_t pos ){ +void MRU_AddWidget( ui::MenuItem widget, std::size_t pos ){ if ( pos < MRU_MAX ) { MRU_items[pos] = widget; if ( pos < MRU_used ) { MRU_updateWidget( pos, MRU_GetText( pos ) ); - gtk_widget_set_sensitive( GTK_WIDGET( MRU_items[0] ), TRUE ); - ui::Widget(GTK_WIDGET( MRU_items[pos] )).show(); + gtk_widget_set_sensitive( ui::MenuItem::from(MRU_items[0]) , TRUE ); + ui::MenuItem::from(MRU_items[pos]).show(); } } } @@ -159,12 +159,13 @@ void MRU_Activate( std::size_t index ){ MRU_SetText( i, MRU_GetText( i + 1 ) ); if ( MRU_used == 0 ) { - gtk_label_set_text( GTK_LABEL( gtk_bin_get_child(GTK_BIN( MRU_items[0] )) ), "Recent Files" ); - gtk_widget_set_sensitive( GTK_WIDGET( MRU_items[0] ), FALSE ); + auto label = ui::Label::from(gtk_bin_get_child(GTK_BIN(MRU_items[0] )) ); + label.text("Recent Files"); + gtk_widget_set_sensitive( ui::MenuItem::from(MRU_items[0]), FALSE ); } else { - gtk_widget_hide( GTK_WIDGET( MRU_items[MRU_used] ) ); + ui::MenuItem::from(MRU_items[MRU_used]).hide(); } } } @@ -184,7 +185,7 @@ void load(){ } }; -typedef MemberCaller LoadMRUCaller; +typedef MemberCaller LoadMRUCaller; LoadMRU g_load_mru1( 1 ); LoadMRU g_load_mru2( 2 ); @@ -193,23 +194,23 @@ LoadMRU g_load_mru4( 4 ); void MRU_constructMenu( ui::Menu menu ){ { - GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_1", LoadMRUCaller( g_load_mru1 ) ); - gtk_widget_set_sensitive( GTK_WIDGET( item ), FALSE ); + auto item = create_menu_item_with_mnemonic( menu, "_1", LoadMRUCaller( g_load_mru1 ) ); + gtk_widget_set_sensitive( item , FALSE ); MRU_AddWidget( item, 0 ); } { - GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_2", LoadMRUCaller( g_load_mru2 ) ); - gtk_widget_hide( GTK_WIDGET( item ) ); + auto item = create_menu_item_with_mnemonic( menu, "_2", LoadMRUCaller( g_load_mru2 ) ); + item.hide(); MRU_AddWidget( item, 1 ); } { - GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_3", LoadMRUCaller( g_load_mru3 ) ); - gtk_widget_hide( GTK_WIDGET( item ) ); + auto item = create_menu_item_with_mnemonic( menu, "_3", LoadMRUCaller( g_load_mru3 ) ); + item.hide(); MRU_AddWidget( item, 2 ); } { - GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_4", LoadMRUCaller( g_load_mru4 ) ); - gtk_widget_hide( GTK_WIDGET( item ) ); + auto item = create_menu_item_with_mnemonic( menu, "_4", LoadMRUCaller( g_load_mru4 ) ); + item.hide(); MRU_AddWidget( item, 3 ); } } @@ -218,11 +219,11 @@ void MRU_constructMenu( ui::Menu menu ){ #include "stringio.h" void MRU_Construct(){ - GlobalPreferenceSystem().registerPreference( "Count", SizeImportStringCaller( MRU_used ), SizeExportStringCaller( MRU_used ) ); + GlobalPreferenceSystem().registerPreference( "Count", make_property_string( MRU_used ) ); for ( std::size_t i = 0; i != MRU_MAX; ++i ) { - GlobalPreferenceSystem().registerPreference( MRU_keys[i], CopiedStringImportStringCaller( MRU_filenames[i] ), CopiedStringExportStringCaller( MRU_filenames[i] ) ); + GlobalPreferenceSystem().registerPreference( MRU_keys[i], make_property_string( MRU_filenames[i] ) ); } MRU_Init();