X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=libs%2Fgtkutil%2Fmessagebox.cpp;h=3913d11bf4f239198e1e5729240a1aca36c088ae;hb=225950494a606af9aac2bc2f06ece70cb2146481;hp=8f9fb7fa02a812442f398b4927b0e70b6e8f6275;hpb=e4287c28bb2dafedc81c66e63951d947cfbeb225;p=xonotic%2Fnetradiant.git diff --git a/libs/gtkutil/messagebox.cpp b/libs/gtkutil/messagebox.cpp index 8f9fb7fa..3913d11b 100644 --- a/libs/gtkutil/messagebox.cpp +++ b/libs/gtkutil/messagebox.cpp @@ -22,21 +22,13 @@ #include "messagebox.h" #include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include #include "dialog.h" #include "widget.h" GtkWidget* create_padding( int width, int height ){ - GtkWidget* widget = gtk_alignment_new( 0.0, 0.0, 0.0, 0.0 ); + ui::Alignment widget = ui::Alignment( 0.0, 0.0, 0.0, 0.0 ); gtk_widget_show( widget ); gtk_widget_set_size_request( widget, width, height ); return widget; @@ -59,27 +51,27 @@ const char* messagebox_stock_icon( EMessageBoxIcon type ){ } } -EMessageBoxReturn gtk_MessageBox( GtkWidget *parent, const char* text, const char* title, EMessageBoxType type, EMessageBoxIcon icon ){ +EMessageBoxReturn gtk_MessageBox( ui::Widget parent, const char* text, const char* title, EMessageBoxType type, EMessageBoxIcon icon ){ ModalDialog dialog; ModalDialogButton ok_button( dialog, eIDOK ); ModalDialogButton cancel_button( dialog, eIDCANCEL ); ModalDialogButton yes_button( dialog, eIDYES ); ModalDialogButton no_button( dialog, eIDNO ); - GtkWindow* parentWindow = parent != 0 ? GTK_WINDOW( parent ) : 0; + ui::Window parentWindow = ui::Window(parent ? GTK_WINDOW( parent ) : 0); - GtkWindow* window = create_fixedsize_modal_dialog_window( parentWindow, title, dialog, 400, 100 ); + ui::Window window = create_fixedsize_modal_dialog_window( parentWindow, title, dialog, 400, 100 ); - if ( parentWindow != 0 ) { + if ( parentWindow ) { //g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(floating_window_delete_present), parent); gtk_window_deiconify( parentWindow ); } - GtkAccelGroup* accel = gtk_accel_group_new(); - gtk_window_add_accel_group( window, accel ); + auto accel = ui::AccelGroup(); + window.add_accel_group( accel ); - GtkVBox* vbox = create_dialog_vbox( 8, 8 ); - gtk_container_add( GTK_CONTAINER( window ), GTK_WIDGET( vbox ) ); + auto vbox = create_dialog_vbox( 8, 8 ); + window.add(vbox); GtkHBox* hboxDummy = create_dialog_hbox( 0, 0 ); @@ -94,7 +86,7 @@ EMessageBoxReturn gtk_MessageBox( GtkWidget *parent, const char* text, const cha gtk_widget_show( GTK_WIDGET( image ) ); gtk_box_pack_start( GTK_BOX( iconBox ), GTK_WIDGET( image ), FALSE, FALSE, 0 ); - GtkLabel* label = GTK_LABEL( gtk_label_new( text ) ); + GtkLabel* label = GTK_LABEL( ui::Label( text ) ); gtk_widget_show( GTK_WIDGET( label ) ); gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 ); gtk_label_set_justify( label, GTK_JUSTIFY_LEFT ); @@ -105,33 +97,33 @@ EMessageBoxReturn gtk_MessageBox( GtkWidget *parent, const char* text, const cha GtkVBox* vboxDummy = create_dialog_vbox( 0, 0 ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( vboxDummy ), FALSE, FALSE, 0 ); - GtkAlignment* alignment = GTK_ALIGNMENT( gtk_alignment_new( 0.5, 0.0, 0.0, 0.0 ) ); + auto alignment = ui::Alignment( 0.5, 0.0, 0.0, 0.0 ); gtk_widget_show( GTK_WIDGET( alignment ) ); gtk_box_pack_start( GTK_BOX( vboxDummy ), GTK_WIDGET( alignment ), FALSE, FALSE, 0 ); - GtkHBox* hbox = create_dialog_hbox( 8, 0 ); - gtk_container_add( GTK_CONTAINER( alignment ), GTK_WIDGET( hbox ) ); + auto hbox = create_dialog_hbox( 8, 0 ); + alignment.add(hbox); gtk_box_pack_start( GTK_BOX( vboxDummy ), create_padding( 400, 0 ), FALSE, FALSE, 0 ); // HACK to force minimum width if ( type == eMB_OK ) { - GtkButton* button = create_modal_dialog_button( "OK", ok_button ); + auto button = create_modal_dialog_button( "OK", ok_button ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( button ), TRUE, FALSE, 0 ); gtk_widget_add_accelerator( GTK_WIDGET( button ), "clicked", accel, GDK_Escape, (GdkModifierType)0, (GtkAccelFlags)0 ); gtk_widget_add_accelerator( GTK_WIDGET( button ), "clicked", accel, GDK_Return, (GdkModifierType)0, (GtkAccelFlags)0 ); - widget_make_default( GTK_WIDGET( button ) ); - gtk_widget_show( GTK_WIDGET( button ) ); + widget_make_default( button ); + button.show(); dialog.ret = eIDOK; } else if ( type == eMB_OKCANCEL ) { { - GtkButton* button = create_modal_dialog_button( "OK", ok_button ); + auto button = create_modal_dialog_button( "OK", ok_button ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( button ), TRUE, FALSE, 0 ); gtk_widget_add_accelerator( GTK_WIDGET( button ), "clicked", accel, GDK_Return, (GdkModifierType)0, (GtkAccelFlags)0 ); - widget_make_default( GTK_WIDGET( button ) ); - gtk_widget_show( GTK_WIDGET( button ) ); + widget_make_default( button ); + button.show(); } { @@ -145,10 +137,10 @@ EMessageBoxReturn gtk_MessageBox( GtkWidget *parent, const char* text, const cha } else if ( type == eMB_YESNOCANCEL ) { { - GtkButton* button = create_modal_dialog_button( "Yes", yes_button ); + auto button = create_modal_dialog_button( "Yes", yes_button ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( button ), TRUE, FALSE, 0 ); - widget_make_default( GTK_WIDGET( button ) ); - gtk_widget_show( GTK_WIDGET( button ) ); + widget_make_default( button ); + button.show(); } { @@ -166,10 +158,10 @@ EMessageBoxReturn gtk_MessageBox( GtkWidget *parent, const char* text, const cha } else if ( type == eMB_NOYES ) { { - GtkButton* button = create_modal_dialog_button( "No", no_button ); + auto button = create_modal_dialog_button( "No", no_button ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( button ), TRUE, FALSE, 0 ); - widget_make_default( GTK_WIDGET( button ) ); - gtk_widget_show( GTK_WIDGET( button ) ); + widget_make_default( button ); + button.show(); } { GtkButton* button = create_modal_dialog_button( "Yes", yes_button ); @@ -182,9 +174,9 @@ EMessageBoxReturn gtk_MessageBox( GtkWidget *parent, const char* text, const cha else /* if (type == eMB_YESNO) */ { { - GtkButton* button = create_modal_dialog_button( "Yes", yes_button ); + auto button = create_modal_dialog_button( "Yes", yes_button ); gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( button ), TRUE, FALSE, 0 ); - widget_make_default( GTK_WIDGET( button ) ); + widget_make_default( button ); gtk_widget_show( GTK_WIDGET( button ) ); }