diff --git a/radiant/brush.h b/radiant/brush.h index d321e887..1dce5aaa 100644 --- a/radiant/brush.h +++ b/radiant/brush.h @@ -1267,6 +1267,7 @@ public: undoSave(); m_shader.setFlags( flags ); m_observer->shaderChanged(); + Brush_textureChanged(); updateFiltered(); } diff --git a/radiant/surfacedialog.cpp b/radiant/surfacedialog.cpp index c0fc98bf..cd599258 100644 --- a/radiant/surfacedialog.cpp +++ b/radiant/surfacedialog.cpp @@ -611,6 +611,11 @@ static gboolean OnBtnFaceFitHeightOnly( GtkWidget *widget, GdkEventButton *event return FALSE; } +static void OnBtnUnsetFlags( GtkWidget *widget, gpointer data ){ + UndoableCommand undo( "flagsUnSetSelected" ); + Select_SetFlags( ContentsFlagsValue( 0, 0, 0, false ) ); +} + typedef const char* FlagName; @@ -1199,18 +1204,29 @@ GtkWindow* SurfaceInspector::BuildDialog(){ gtk_widget_show( GTK_WIDGET( frame ) ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( frame ), TRUE, TRUE, 0 ); { - GtkVBox* vbox3 = GTK_VBOX( gtk_vbox_new( FALSE, 4 ) ); - gtk_container_set_border_width( GTK_CONTAINER( vbox3 ), 4 ); - gtk_widget_show( GTK_WIDGET( vbox3 ) ); - gtk_container_add( GTK_CONTAINER( frame ), GTK_WIDGET( vbox3 ) ); + GtkVBox* hbox3 = GTK_VBOX( gtk_hbox_new( FALSE, 4 ) ); + gtk_container_set_border_width( GTK_CONTAINER( hbox3 ), 4 ); + gtk_widget_show( GTK_WIDGET( hbox3 ) ); + gtk_container_add( GTK_CONTAINER( frame ), GTK_WIDGET( hbox3 ) ); { GtkEntry* entry = GTK_ENTRY( gtk_entry_new() ); gtk_widget_show( GTK_WIDGET( entry ) ); - gtk_box_pack_start( GTK_BOX( vbox3 ), GTK_WIDGET( entry ), TRUE, TRUE, 0 ); + gtk_box_pack_start( GTK_BOX( hbox3 ), GTK_WIDGET( entry ), TRUE, TRUE, 0 ); m_valueEntryWidget = entry; m_valueEntry.connect( entry ); } + { + GtkWidget* button = gtk_button_new_with_label( "Unset" ); + gtk_widget_set_tooltip_text( button, "Unset flags" ); + gtk_widget_show( button ); + gtk_box_pack_start( GTK_BOX( hbox3 ), button, TRUE, TRUE, 0 ); + g_signal_connect( G_OBJECT( button ), "clicked", + G_CALLBACK( OnBtnUnsetFlags ), 0 ); + GtkRequisition req; + gtk_widget_size_request( button, &req ); + gtk_widget_set_size_request( button, 60, req.height * 3 / 4 ); + } } } }