]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/commands.cpp
Implement buffer operations
[xonotic/netradiant.git] / radiant / commands.cpp
index 5d2cadafb3f7c9e77b3cd56818c02425894e8c39..1077b3a3c6d400afbc0ea6e2fd3fabf32240a161 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "commands.h"
 
+#include "gtk/gtk.h"
 #include "debugging/debugging.h"
 #include "warnings.h"
 
@@ -149,6 +150,7 @@ void connect_accelerator( const char *name ){
 
 #include <uilib/uilib.h>
 #include <gdk/gdkkeysyms.h>
+#include <util/buffer.h>
 
 #include "gtkutil/dialog.h"
 #include "mainframe.h"
@@ -391,14 +393,14 @@ void DoCommandListDlg(){
                return accelerator_window_key_press(widget, event, dialogptr);
        }, &dialog);
 
-       auto accel = ui::AccelGroup();
+       auto accel = ui::AccelGroup(ui::New);
        window.add_accel_group( accel );
 
        auto hbox = create_dialog_hbox( 4, 4 );
        window.add(hbox);
 
        {
-               auto scr = create_scrolled_window( GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC );
+               auto scr = create_scrolled_window( ui::Policy::NEVER, ui::Policy::AUTOMATIC );
                gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( scr ), TRUE, TRUE, 0 );
 
                {
@@ -410,13 +412,13 @@ void DoCommandListDlg(){
                        gtk_tree_view_set_enable_search( GTK_TREE_VIEW( view ), false ); // annoying
 
                        {
-                               auto renderer = ui::CellRendererText();
+                               auto renderer = ui::CellRendererText(ui::New);
                                GtkTreeViewColumn* column = ui::TreeViewColumn( "Command", renderer, {{"text", 0}, {"weight-set", 2}, {"weight", 3}} );
                                gtk_tree_view_append_column( GTK_TREE_VIEW( view ), column );
                        }
 
                        {
-                               auto renderer = ui::CellRendererText();
+                               auto renderer = ui::CellRendererText(ui::New);
                                GtkTreeViewColumn* column = ui::TreeViewColumn( "Key", renderer, {{"text", 1}, {"weight-set", 2}, {"weight", 3}} );
                                gtk_tree_view_append_column( GTK_TREE_VIEW( view ), column );
                        }
@@ -459,7 +461,7 @@ public:
                                GlobalShortcuts_foreach( visitor );
                        }
 
-                       g_object_unref( G_OBJECT( store ) );
+                       store.unref();
                }
        }
 
@@ -472,7 +474,7 @@ public:
                GtkButton* clearbutton = create_dialog_button( "Clear", (GCallback) accelerator_clear_button_clicked, &dialog );
                gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( clearbutton ), FALSE, FALSE, 0 );
 
-               ui::Widget spacer = ui::Image();
+               ui::Widget spacer = ui::Image(ui::New);
                spacer.show();
                gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( spacer ), TRUE, TRUE, 0 );
 
@@ -480,8 +482,8 @@ public:
                gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( button ), FALSE, FALSE, 0 );
                widget_make_default( button );
                gtk_widget_grab_default( GTK_WIDGET( button ) );
-               gtk_widget_add_accelerator( GTK_WIDGET( button ), "clicked", accel, GDK_Return, (GdkModifierType)0, (GtkAccelFlags)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_KEY_Return, (GdkModifierType)0, (GtkAccelFlags)0 );
+               gtk_widget_add_accelerator( GTK_WIDGET( button ), "clicked", accel, GDK_KEY_Escape, (GdkModifierType)0, (GtkAccelFlags)0 );
        }
 
        modal_dialog_show( window, dialog );
@@ -536,8 +538,8 @@ public:
 ReadCommandMap( const char* filename ) : m_filename( filename ), m_count( 0 ){
 }
 void visit( const char* name, Accelerator& accelerator ){
-       char value[1024];
-       if ( read_var( m_filename, "Commands", name, value ) ) {
+       auto value = u::buffer<1024>();
+       if ( read_var( m_filename, "Commands", name, value.mut() ) ) {
                if ( string_empty( value ) ) {
                        accelerator.key = 0;
                        accelerator.modifiers = (GdkModifierType)0;
@@ -574,8 +576,8 @@ void LoadCommandMap( const char* path ){
                Version dataVersion = { 0, 0 };
 
                {
-                       char value[1024];
-                       if ( read_var( strINI.c_str(), "Version", "number", value ) ) {
+                       auto value = u::buffer<1024>();
+                       if ( read_var( strINI.c_str(), "Version", "number", value.mut() ) ) {
                                dataVersion = version_parse( value );
                        }
                }