Merge remote-tracking branch 'origin/ingar/texture_layout_defaults', fixes #1711

This commit is contained in:
Rudolf Polzer 2013-07-06 18:58:56 +02:00
commit 8487b92dc2

View File

@ -590,6 +590,10 @@ void DoAbout(){
// ============================================================================= // =============================================================================
// TextureLayout dialog // TextureLayout dialog
// Last used texture scale values
static float last_used_texture_layout_scale_x = 4.0;
static float last_used_texture_layout_scale_y = 4.0;
EMessageBoxReturn DoTextureLayout( float *fx, float *fy ){ EMessageBoxReturn DoTextureLayout( float *fx, float *fy ){
ModalDialog dialog; ModalDialog dialog;
ModalDialogButton ok_button( dialog, eIDOK ); ModalDialogButton ok_button( dialog, eIDOK );
@ -644,8 +648,6 @@ EMessageBoxReturn DoTextureLayout( float *fx, float *fy ){
(GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ),
(GtkAttachOptions) ( 0 ), 0, 0 ); (GtkAttachOptions) ( 0 ), 0, 0 );
gtk_widget_grab_focus( GTK_WIDGET( entry ) );
x = entry; x = entry;
} }
{ {
@ -675,16 +677,27 @@ EMessageBoxReturn DoTextureLayout( float *fx, float *fy ){
} }
} }
} }
// Initialize with last used values
char buf[16];
sprintf( buf, "%f", last_used_texture_layout_scale_x );
gtk_entry_set_text( x, buf );
sprintf( buf, "%f", last_used_texture_layout_scale_y );
gtk_entry_set_text( y, buf );
// Initialize // Set focus after intializing the values
gtk_entry_set_text( x, "4.0" ); gtk_widget_grab_focus( GTK_WIDGET( x ) );
gtk_entry_set_text( y, "4.0" );
EMessageBoxReturn ret = modal_dialog_show( window, dialog ); EMessageBoxReturn ret = modal_dialog_show( window, dialog );
if ( ret == eIDOK ) { if ( ret == eIDOK ) {
*fx = static_cast<float>( atof( gtk_entry_get_text( x ) ) ); *fx = static_cast<float>( atof( gtk_entry_get_text( x ) ) );
*fy = static_cast<float>( atof( gtk_entry_get_text( y ) ) ); *fy = static_cast<float>( atof( gtk_entry_get_text( y ) ) );
// Remember last used values
last_used_texture_layout_scale_x = *fx;
last_used_texture_layout_scale_y = *fy;
} }
gtk_widget_destroy( GTK_WIDGET( window ) ); gtk_widget_destroy( GTK_WIDGET( window ) );