#include "commands.h"
+#include "gtk/gtk.h"
#include "debugging/debugging.h"
#include "warnings.h"
#include "string/string.h"
#include "versionlib.h"
#include "gtkutil/messagebox.h"
-#include <gtk/gtk.h>
#include "gtkmisc.h"
typedef std::pair<Accelerator, int> ShortcutValue; // accelerator, isRegistered
return accelerator_window_key_press(widget, event, dialogptr);
}, &dialog);
- auto accel = ui::AccelGroup();
+ auto accel = ui::AccelGroup(ui::New);
window.add_accel_group( accel );
- GtkHBox* hbox = create_dialog_hbox( 4, 4 );
- gtk_container_add( GTK_CONTAINER( window ), GTK_WIDGET( hbox ) );
+ auto hbox = create_dialog_hbox( 4, 4 );
+ window.add(hbox);
{
- GtkScrolledWindow* 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 );
{
- GtkListStore* store = gtk_list_store_new( 4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INT );
+ ui::ListStore store = ui::ListStore(gtk_list_store_new( 4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INT ));
ui::Widget view = ui::TreeView(ui::TreeModel(GTK_TREE_MODEL(store)));
dialog.m_list = GTK_TREE_VIEW( view );
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 );
}
- gtk_widget_show( view );
- gtk_container_add( GTK_CONTAINER( scr ), view );
+ view.show();
+ scr.add(view);
{
// Initialize dialog
class BuildCommandList : public CommandVisitor
{
TextFileOutputStream m_commandList;
- GtkListStore* m_store;
+ ui::ListStore m_store;
public:
- BuildCommandList( const char* filename, GtkListStore* store ) : m_commandList( filename ), m_store( store ){
+ BuildCommandList( const char* filename, ui::ListStore store ) : m_commandList( filename ), m_store( store ){
}
void visit( const char* name, Accelerator& accelerator ){
StringOutputStream modifiers;
modifiers << accelerator;
- {
- GtkTreeIter iter;
- gtk_list_store_append( m_store, &iter );
- gtk_list_store_set( m_store, &iter, 0, name, 1, modifiers.c_str(), 2, false, 3, 800, -1 );
- }
+ m_store.append(0, name, 1, modifiers.c_str(), 2, false, 3, 800);
if ( !m_commandList.failed() ) {
int l = strlen( name );
GlobalShortcuts_foreach( visitor );
}
- g_object_unref( G_OBJECT( store ) );
+ store.unref();
}
}
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();
- gtk_widget_show( spacer );
+ ui::Widget spacer = ui::Image(ui::New);
+ spacer.show();
gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( spacer ), TRUE, TRUE, 0 );
- GtkButton* button = create_modal_dialog_button( "Close", dialog.m_close_button );
+ auto button = create_modal_dialog_button( "Close", dialog.m_close_button );
gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( button ), FALSE, FALSE, 0 );
- widget_make_default( GTK_WIDGET( button ) );
+ 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 );
- gtk_widget_destroy( GTK_WIDGET( window ) );
+ window.destroy();
}
#include "profile/profile.h"