]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/preferences.cpp
GTK: wrap gtk_box_pack_start
[xonotic/netradiant.git] / radiant / preferences.cpp
index 2fa1415bca6ea7a39bdc69397b38bac68153e4b9..9a3e826c19a46f0d51b982c710e527ac3d59c62b 100644 (file)
@@ -26,6 +26,9 @@
 //
 
 #include "preferences.h"
+#include "globaldefs.h"
+
+#include <gtk/gtk.h>
 #include "environment.h"
 
 #include "debugging/debugging.h"
@@ -55,7 +58,7 @@ void Global_constructPreferences( PreferencesPage& page ){
 }
 
 void Interface_constructPreferences( PreferencesPage& page ){
-#ifdef WIN32
+#if GDEF_OS_WINDOWS
        page.appendCheckBox( "", "Default Text Editor", g_TextEditor_useWin32Editor );
 #else
        {
@@ -317,10 +320,10 @@ void CGameDialog::CreateGlobalFrame( PreferencesPage& page ){
 }
 
 ui::Window CGameDialog::BuildDialog(){
-       auto frame = create_dialog_frame( "Game settings", GTK_SHADOW_ETCHED_IN );
+       auto frame = create_dialog_frame( "Game settings", ui::Shadow::ETCHED_IN );
 
        auto vbox2 = create_dialog_vbox( 0, 4 );
-       gtk_container_add( GTK_CONTAINER( frame ), GTK_WIDGET( vbox2 ) );
+       frame.add(vbox2);
 
        {
                PreferencesPage preferencesPage( *this, ui::Widget(GTK_WIDGET( vbox2 )) );
@@ -507,7 +510,7 @@ static void OnButtonClean( ui::Widget widget, gpointer data ){
    ========
  */
 
-#define PREFS_LOCAL_FILENAME "local.pref"
+const char *PREFS_LOCAL_FILENAME = "local.pref";
 
 void PrefsDlg::Init(){
        // m_global_rc_path has been set above
@@ -545,7 +548,7 @@ static void treeSelection( GtkTreeSelection* selection, gpointer data ){
        GtkTreeModel* model;
        GtkTreeIter selected;
        if ( gtk_tree_selection_get_selected( selection, &model, &selected ) ) {
-               ui::Widget prefpage;
+               ui::Widget prefpage{ui::null};
                gtk_tree_model_get( model, &selected, 1, (gpointer*)&prefpage, -1 );
                dlg->showPrefPage( prefpage );
        }
@@ -620,8 +623,8 @@ void ToggleButton_state_changed_Widget_updateDependency( ui::Widget toggleButton
 }
 
 void Widget_connectToggleDependency( ui::Widget self, ui::Widget toggleButton ){
-       g_signal_connect( G_OBJECT( toggleButton ), "state_changed", G_CALLBACK( ToggleButton_state_changed_Widget_updateDependency ), self );
-       g_signal_connect( G_OBJECT( toggleButton ), "toggled", G_CALLBACK( ToggleButton_toggled_Widget_updateDependency ), self );
+       toggleButton.connect( "state_changed", G_CALLBACK( ToggleButton_state_changed_Widget_updateDependency ), self );
+       toggleButton.connect( "toggled", G_CALLBACK( ToggleButton_toggled_Widget_updateDependency ), self );
        Widget_updateDependency( self, toggleButton );
 }
 
@@ -639,16 +642,16 @@ GtkTreeIter PreferenceTree_appendPage( GtkTreeStore* store, GtkTreeIter* parent,
 
 ui::Widget PreferencePages_addPage( ui::Widget notebook, const char* name ){
        ui::Widget preflabel = ui::Label( name );
-       gtk_widget_show( preflabel );
+       preflabel.show();
 
-       ui::Widget pageframe = ui::Frame( name );
+       auto pageframe = ui::Frame( name );
        gtk_container_set_border_width( GTK_CONTAINER( pageframe ), 4 );
-       gtk_widget_show( pageframe );
+       pageframe.show();
 
        ui::Widget vbox = ui::VBox( FALSE, 4 );
-       gtk_widget_show( vbox );
+       vbox.show();
        gtk_container_set_border_width( GTK_CONTAINER( vbox ), 4 );
-       gtk_container_add( GTK_CONTAINER( pageframe ), vbox );
+       pageframe.add(vbox);
 
        // Add the page to the notebook
        gtk_notebook_append_page( GTK_NOTEBOOK( notebook ), pageframe, preflabel );
@@ -683,70 +686,70 @@ ui::Window PrefsDlg::BuildDialog(){
        ui::Window dialog = ui::Window(create_floating_window( "NetRadiant Preferences", m_parent ));
 
        {
-               ui::Widget mainvbox = ui::VBox( FALSE, 5 );
-               gtk_container_add( GTK_CONTAINER( dialog ), mainvbox );
+               auto mainvbox = ui::VBox( FALSE, 5 );
+               dialog.add(mainvbox);
                gtk_container_set_border_width( GTK_CONTAINER( mainvbox ), 5 );
-               gtk_widget_show( mainvbox );
+               mainvbox.show();
 
                {
-                       ui::Widget hbox = ui::HBox( FALSE, 5 );
-                       gtk_widget_show( hbox );
-                       gtk_box_pack_end( GTK_BOX( mainvbox ), hbox, FALSE, TRUE, 0 );
+                       auto hbox = ui::HBox( FALSE, 5 );
+                       hbox.show();
+                       mainvbox.pack_end(hbox, FALSE, TRUE, 0);
 
                        {
-                               GtkButton* button = create_dialog_button( "OK", G_CALLBACK( dialog_button_ok ), &m_modal );
-                               gtk_box_pack_end( GTK_BOX( hbox ), GTK_WIDGET( button ), FALSE, FALSE, 0 );
+                               auto button = create_dialog_button( "OK", G_CALLBACK( dialog_button_ok ), &m_modal );
+                               hbox.pack_end(button, FALSE, FALSE, 0);
                        }
                        {
-                               GtkButton* button = create_dialog_button( "Cancel", G_CALLBACK( dialog_button_cancel ), &m_modal );
-                               gtk_box_pack_end( GTK_BOX( hbox ), GTK_WIDGET( button ), FALSE, FALSE, 0 );
+                               auto button = create_dialog_button( "Cancel", G_CALLBACK( dialog_button_cancel ), &m_modal );
+                               hbox.pack_end(button, FALSE, FALSE, 0);
                        }
                        {
-                               GtkButton* button = create_dialog_button( "Clean", G_CALLBACK( OnButtonClean ), this );
-                               gtk_box_pack_end( GTK_BOX( hbox ), GTK_WIDGET( button ), FALSE, FALSE, 0 );
+                               auto button = create_dialog_button( "Clean", G_CALLBACK( OnButtonClean ), this );
+                               hbox.pack_end(button, FALSE, FALSE, 0);
                        }
                }
 
                {
-                       ui::Widget hbox = ui::HBox( FALSE, 5 );
-                       gtk_box_pack_start( GTK_BOX( mainvbox ), hbox, TRUE, TRUE, 0 );
-                       gtk_widget_show( hbox );
+                       auto hbox = ui::HBox( FALSE, 5 );
+                       mainvbox.pack_start( hbox, TRUE, TRUE, 0 );
+                       hbox.show();
 
                        {
-                               ui::Widget sc_win = ui::ScrolledWindow();
+                               auto sc_win = ui::ScrolledWindow(ui::New);
                                gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( sc_win ), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC );
-                               gtk_box_pack_start( GTK_BOX( hbox ), sc_win, FALSE, FALSE, 0 );
-                               gtk_widget_show( sc_win );
+                               hbox.pack_start( sc_win, FALSE, FALSE, 0 );
+                               sc_win.show();
                                gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW( sc_win ), GTK_SHADOW_IN );
 
                                // prefs pages notebook
                                m_notebook = ui::Widget(gtk_notebook_new());
                                // hide the notebook tabs since its not supposed to look like a notebook
                                gtk_notebook_set_show_tabs( GTK_NOTEBOOK( m_notebook ), FALSE );
-                               gtk_box_pack_start( GTK_BOX( hbox ), m_notebook, TRUE, TRUE, 0 );
-                               gtk_widget_show( m_notebook );
+                               hbox.pack_start( m_notebook, TRUE, TRUE, 0 );
+                               m_notebook.show();
 
 
                                {
-                                       GtkTreeStore* store = gtk_tree_store_new( 2, G_TYPE_STRING, G_TYPE_POINTER );
+                                       auto store = gtk_tree_store_new( 2, G_TYPE_STRING, G_TYPE_POINTER );
 
                                        ui::Widget view = ui::TreeView(ui::TreeModel( GTK_TREE_MODEL( store ) ));
                                        gtk_tree_view_set_headers_visible( GTK_TREE_VIEW( view ), FALSE );
 
                                        {
-                                               auto renderer = ui::CellRendererText();
+                                               auto renderer = ui::CellRendererText(ui::New);
                                                GtkTreeViewColumn* column = ui::TreeViewColumn( "Preferences", renderer, {{"text", 0}} );
                                                gtk_tree_view_append_column( GTK_TREE_VIEW( view ), column );
                                        }
 
                                        {
-                                               GtkTreeSelection* selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( view ) );
-                                               g_signal_connect( G_OBJECT( selection ), "changed", G_CALLBACK( treeSelection ), this );
+                                               auto selection = ui::TreeSelection(gtk_tree_view_get_selection( GTK_TREE_VIEW( view ) ));
+                                               selection.connect( "changed", G_CALLBACK( treeSelection ), this );
                                        }
 
-                                       gtk_widget_show( view );
+                                       view.show();
 
-                                       gtk_container_add( GTK_CONTAINER( sc_win ), view );
+                                       sc_win.add(view);
 
                                        {
                                                /********************************************************************/
@@ -947,7 +950,7 @@ typedef FreeCaller1<const StringImportCallback&, GameMode_exportString> GameMode
 
 
 void RegisterPreferences( PreferenceSystem& preferences ){
-#ifdef WIN32
+#if GDEF_OS_WINDOWS
        preferences.registerPreference( "UseCustomShaderEditor", BoolImportStringCaller( g_TextEditor_useWin32Editor ), BoolExportStringCaller( g_TextEditor_useWin32Editor ) );
 #else
        preferences.registerPreference( "UseCustomShaderEditor", BoolImportStringCaller( g_TextEditor_useCustomEditor ), BoolExportStringCaller( g_TextEditor_useCustomEditor ) );