]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - libs/gtkutil/messagebox.cpp
reformat code! now the code is only ugly on the *inside*
[xonotic/netradiant.git] / libs / gtkutil / messagebox.cpp
index 82d6dfe4b02ad2ddc49327f7cd4bc91e4911771c..9b9b899a970325a07835d37b861557e30765b384 100644 (file)
 #include "dialog.h"
 #include "widget.h"
 
-ui::Widget create_padding( int width, int height ){
-       ui::Alignment widget = ui::Alignment( 0.0, 0.0, 0.0, 0.0 );
-       widget.show();
-       widget.dimensions(width, height);
-       return widget;
+ui::Widget create_padding(int width, int height)
+{
+    ui::Alignment widget = ui::Alignment(0.0, 0.0, 0.0, 0.0);
+    widget.show();
+    widget.dimensions(width, height);
+    return widget;
 }
 
-const char* messagebox_stock_icon( EMessageBoxIcon type ){
-       switch ( type )
-       {
-       default:
-       case eMB_ICONDEFAULT:
-               return GTK_STOCK_DIALOG_INFO;
-       case eMB_ICONERROR:
-               return GTK_STOCK_DIALOG_ERROR;
-       case eMB_ICONWARNING:
-               return GTK_STOCK_DIALOG_WARNING;
-       case eMB_ICONQUESTION:
-               return GTK_STOCK_DIALOG_QUESTION;
-       case eMB_ICONASTERISK:
-               return GTK_STOCK_DIALOG_INFO;
-       }
+const char *messagebox_stock_icon(EMessageBoxIcon type)
+{
+    switch (type) {
+        default:
+        case eMB_ICONDEFAULT:
+            return GTK_STOCK_DIALOG_INFO;
+        case eMB_ICONERROR:
+            return GTK_STOCK_DIALOG_ERROR;
+        case eMB_ICONWARNING:
+            return GTK_STOCK_DIALOG_WARNING;
+        case eMB_ICONQUESTION:
+            return GTK_STOCK_DIALOG_QUESTION;
+        case eMB_ICONASTERISK:
+            return GTK_STOCK_DIALOG_INFO;
+    }
 }
 
-EMessageBoxReturn gtk_MessageBox( ui::Window parentWindow, 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 );
-
-       ui::Window window = create_fixedsize_modal_dialog_window( parentWindow, title, dialog, 400, 100 );
-
-       if ( parentWindow ) {
-               //window.connect( "delete_event", G_CALLBACK(floating_window_delete_present), parent);
-               gtk_window_deiconify( parentWindow );
-       }
-
-       auto accel = ui::AccelGroup(ui::New);
-       window.add_accel_group( accel );
-
-       auto vbox = create_dialog_vbox( 8, 8 );
-       window.add(vbox);
-
-
-       auto hboxDummy = create_dialog_hbox( 0, 0 );
-       vbox.pack_start( hboxDummy, FALSE, FALSE, 0 );
-
-       hboxDummy.pack_start( create_padding( 0, 50 ), FALSE, FALSE, 0 ); // HACK to force minimum height
-
-       auto iconBox = create_dialog_hbox( 16, 0 );
-       hboxDummy.pack_start( iconBox, FALSE, FALSE, 0 );
-
-       auto image = ui::Image::from( gtk_image_new_from_stock( messagebox_stock_icon( icon ), GTK_ICON_SIZE_DIALOG ) );
-       image.show();
-       iconBox.pack_start( image, FALSE, FALSE, 0 );
-
-       auto label = ui::Label( text );
-       label.show();
-       gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
-       gtk_label_set_justify( label, GTK_JUSTIFY_LEFT );
-       gtk_label_set_line_wrap( label, TRUE );
-       iconBox.pack_start( label, TRUE, TRUE, 0 );
-
-
-       auto vboxDummy = create_dialog_vbox( 0, 0 );
-       vbox.pack_start( vboxDummy, FALSE, FALSE, 0 );
-
-       auto alignment = ui::Alignment( 0.5, 0.0, 0.0, 0.0 );
-       alignment.show();
-       vboxDummy.pack_start( alignment, FALSE, FALSE, 0 );
-
-       auto hbox = create_dialog_hbox( 8, 0 );
-       alignment.add(hbox);
-
-       vboxDummy.pack_start( create_padding( 400, 0 ), FALSE, FALSE, 0 ); // HACK to force minimum width
-
-
-       if ( type == eMB_OK ) {
-               auto button = create_modal_dialog_button( "OK", ok_button );
-               hbox.pack_start( button, TRUE, FALSE, 0 );
-               gtk_widget_add_accelerator( button , "clicked", accel, GDK_KEY_Escape, (GdkModifierType)0, (GtkAccelFlags)0 );
-               gtk_widget_add_accelerator( button , "clicked", accel, GDK_KEY_Return, (GdkModifierType)0, (GtkAccelFlags)0 );
-               widget_make_default( button );
-               button.show();
-
-               dialog.ret = eIDOK;
-       }
-       else if ( type ==  eMB_OKCANCEL ) {
-               {
-                       auto button = create_modal_dialog_button( "OK", ok_button );
-                       hbox.pack_start( button, TRUE, FALSE, 0 );
-                       gtk_widget_add_accelerator( button , "clicked", accel, GDK_KEY_Return, (GdkModifierType)0, (GtkAccelFlags)0 );
-                       widget_make_default( button );
-                       button.show();
-               }
-
-               {
-                       auto button = create_modal_dialog_button( "OK", cancel_button );
-                       hbox.pack_start( button, TRUE, FALSE, 0 );
-                       gtk_widget_add_accelerator( button , "clicked", accel, GDK_KEY_Escape, (GdkModifierType)0, (GtkAccelFlags)0 );
-                       button.show();
-               }
-
-               dialog.ret = eIDCANCEL;
-       }
-       else if ( type == eMB_YESNOCANCEL ) {
-               {
-                       auto button = create_modal_dialog_button( "Yes", yes_button );
-                       hbox.pack_start( button, TRUE, FALSE, 0 );
-                       widget_make_default( button );
-                       button.show();
-               }
-
-               {
-                       auto button = create_modal_dialog_button( "No", no_button );
-                       hbox.pack_start( button, TRUE, FALSE, 0 );
-                       button.show();
-               }
-               {
-                       auto button = create_modal_dialog_button( "Cancel", cancel_button );
-                       hbox.pack_start( button, TRUE, FALSE, 0 );
-                       button.show();
-               }
-
-               dialog.ret = eIDCANCEL;
-       }
-       else if ( type == eMB_NOYES ) {
-               {
-                       auto button = create_modal_dialog_button( "No", no_button );
-                       hbox.pack_start( button, TRUE, FALSE, 0 );
-                       widget_make_default( button );
-                       button.show();
-               }
-               {
-                       auto button = create_modal_dialog_button( "Yes", yes_button );
-                       hbox.pack_start( button, TRUE, FALSE, 0 );
-                       button.show();
-               }
-
-               dialog.ret = eIDNO;
-       }
-       else /* if (type == eMB_YESNO) */
-       {
-               {
-                       auto button = create_modal_dialog_button( "Yes", yes_button );
-                       hbox.pack_start( button, TRUE, FALSE, 0 );
-                       widget_make_default( button );
-                       button.show();
-               }
-
-               {
-                       auto button = create_modal_dialog_button( "No", no_button );
-                       hbox.pack_start( button, TRUE, FALSE, 0 );
-                       button.show();
-               }
-               dialog.ret = eIDNO;
-       }
-
-       modal_dialog_show( window, dialog );
-
-       window.destroy();
-
-       return dialog.ret;
+EMessageBoxReturn
+gtk_MessageBox(ui::Window parentWindow, 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);
+
+    ui::Window window = create_fixedsize_modal_dialog_window(parentWindow, title, dialog, 400, 100);
+
+    if (parentWindow) {
+        //window.connect( "delete_event", G_CALLBACK(floating_window_delete_present), parent);
+        gtk_window_deiconify(parentWindow);
+    }
+
+    auto accel = ui::AccelGroup(ui::New);
+    window.add_accel_group(accel);
+
+    auto vbox = create_dialog_vbox(8, 8);
+    window.add(vbox);
+
+
+    auto hboxDummy = create_dialog_hbox(0, 0);
+    vbox.pack_start(hboxDummy, FALSE, FALSE, 0);
+
+    hboxDummy.pack_start(create_padding(0, 50), FALSE, FALSE, 0); // HACK to force minimum height
+
+    auto iconBox = create_dialog_hbox(16, 0);
+    hboxDummy.pack_start(iconBox, FALSE, FALSE, 0);
+
+    auto image = ui::Image::from(gtk_image_new_from_stock(messagebox_stock_icon(icon), GTK_ICON_SIZE_DIALOG));
+    image.show();
+    iconBox.pack_start(image, FALSE, FALSE, 0);
+
+    auto label = ui::Label(text);
+    label.show();
+    gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+    gtk_label_set_justify(label, GTK_JUSTIFY_LEFT);
+    gtk_label_set_line_wrap(label, TRUE);
+    iconBox.pack_start(label, TRUE, TRUE, 0);
+
+
+    auto vboxDummy = create_dialog_vbox(0, 0);
+    vbox.pack_start(vboxDummy, FALSE, FALSE, 0);
+
+    auto alignment = ui::Alignment(0.5, 0.0, 0.0, 0.0);
+    alignment.show();
+    vboxDummy.pack_start(alignment, FALSE, FALSE, 0);
+
+    auto hbox = create_dialog_hbox(8, 0);
+    alignment.add(hbox);
+
+    vboxDummy.pack_start(create_padding(400, 0), FALSE, FALSE, 0); // HACK to force minimum width
+
+
+    if (type == eMB_OK) {
+        auto button = create_modal_dialog_button("OK", ok_button);
+        hbox.pack_start(button, TRUE, FALSE, 0);
+        gtk_widget_add_accelerator(button, "clicked", accel, GDK_KEY_Escape, (GdkModifierType) 0, (GtkAccelFlags) 0);
+        gtk_widget_add_accelerator(button, "clicked", accel, GDK_KEY_Return, (GdkModifierType) 0, (GtkAccelFlags) 0);
+        widget_make_default(button);
+        button.show();
+
+        dialog.ret = eIDOK;
+    } else if (type == eMB_OKCANCEL) {
+        {
+            auto button = create_modal_dialog_button("OK", ok_button);
+            hbox.pack_start(button, TRUE, FALSE, 0);
+            gtk_widget_add_accelerator(button, "clicked", accel, GDK_KEY_Return, (GdkModifierType) 0,
+                                       (GtkAccelFlags) 0);
+            widget_make_default(button);
+            button.show();
+        }
+
+        {
+            auto button = create_modal_dialog_button("OK", cancel_button);
+            hbox.pack_start(button, TRUE, FALSE, 0);
+            gtk_widget_add_accelerator(button, "clicked", accel, GDK_KEY_Escape, (GdkModifierType) 0,
+                                       (GtkAccelFlags) 0);
+            button.show();
+        }
+
+        dialog.ret = eIDCANCEL;
+    } else if (type == eMB_YESNOCANCEL) {
+        {
+            auto button = create_modal_dialog_button("Yes", yes_button);
+            hbox.pack_start(button, TRUE, FALSE, 0);
+            widget_make_default(button);
+            button.show();
+        }
+
+        {
+            auto button = create_modal_dialog_button("No", no_button);
+            hbox.pack_start(button, TRUE, FALSE, 0);
+            button.show();
+        }
+        {
+            auto button = create_modal_dialog_button("Cancel", cancel_button);
+            hbox.pack_start(button, TRUE, FALSE, 0);
+            button.show();
+        }
+
+        dialog.ret = eIDCANCEL;
+    } else if (type == eMB_NOYES) {
+        {
+            auto button = create_modal_dialog_button("No", no_button);
+            hbox.pack_start(button, TRUE, FALSE, 0);
+            widget_make_default(button);
+            button.show();
+        }
+        {
+            auto button = create_modal_dialog_button("Yes", yes_button);
+            hbox.pack_start(button, TRUE, FALSE, 0);
+            button.show();
+        }
+
+        dialog.ret = eIDNO;
+    } else /* if (type == eMB_YESNO) */
+    {
+        {
+            auto button = create_modal_dialog_button("Yes", yes_button);
+            hbox.pack_start(button, TRUE, FALSE, 0);
+            widget_make_default(button);
+            button.show();
+        }
+
+        {
+            auto button = create_modal_dialog_button("No", no_button);
+            hbox.pack_start(button, TRUE, FALSE, 0);
+            button.show();
+        }
+        dialog.ret = eIDNO;
+    }
+
+    modal_dialog_show(window, dialog);
+
+    window.destroy();
+
+    return dialog.ret;
 }