Mercurial > pidgin
diff finch/libgnt/gntfilesel.c @ 18556:5e1412f4e67a
Do some work to make pygnt more useful. The dbus-gnt script works fairly
well now.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Tue, 17 Jul 2007 11:09:03 +0000 |
parents | 7122bcebf7c9 |
children | d470282d49da |
line wrap: on
line diff
--- a/finch/libgnt/gntfilesel.c Mon Jul 16 23:59:58 2007 +0000 +++ b/finch/libgnt/gntfilesel.c Tue Jul 17 11:09:03 2007 +0000 @@ -48,6 +48,8 @@ static void (*orig_map)(GntWidget *widget); static void (*orig_size_request)(GntWidget *widget); +static void select_activated_cb(GntWidget *button, GntFileSel *sel); + static void gnt_file_sel_destroy(GntWidget *widget) { @@ -600,7 +602,33 @@ static void gnt_file_sel_init(GTypeInstance *instance, gpointer class) { - GNTDEBUG; + GntFileSel *sel = GNT_FILE_SEL(instance); + + sel->dirs = gnt_tree_new(); + gnt_tree_set_compare_func(GNT_TREE(sel->dirs), (GCompareFunc)g_utf8_collate); + gnt_tree_set_hash_fns(GNT_TREE(sel->dirs), g_str_hash, g_str_equal, g_free); + gnt_tree_set_column_titles(GNT_TREE(sel->dirs), "Directories"); + gnt_tree_set_show_title(GNT_TREE(sel->dirs), TRUE); + gnt_tree_set_col_width(GNT_TREE(sel->dirs), 0, 20); + g_signal_connect(G_OBJECT(sel->dirs), "key_pressed", G_CALLBACK(dir_key_pressed), sel); + + sel->files = gnt_tree_new_with_columns(2); /* Name, Size */ + gnt_tree_set_compare_func(GNT_TREE(sel->files), (GCompareFunc)g_utf8_collate); + gnt_tree_set_column_titles(GNT_TREE(sel->files), "Filename", "Size"); + gnt_tree_set_show_title(GNT_TREE(sel->files), TRUE); + gnt_tree_set_col_width(GNT_TREE(sel->files), 0, 25); + gnt_tree_set_col_width(GNT_TREE(sel->files), 1, 10); + gnt_tree_set_column_is_right_aligned(GNT_TREE(sel->files), 1, TRUE); + g_signal_connect(G_OBJECT(sel->files), "selection_changed", G_CALLBACK(file_sel_changed), sel); + + /* The location entry */ + sel->location = gnt_entry_new(NULL); + g_signal_connect(G_OBJECT(sel->location), "key_pressed", G_CALLBACK(location_key_pressed), sel); + + sel->cancel = gnt_button_new("Cancel"); + sel->select = gnt_button_new("Select"); + + g_signal_connect(G_OBJECT(sel->select), "activate", G_CALLBACK(select_activated_cb), sel); } /****************************************************************************** @@ -647,34 +675,6 @@ GntWidget *gnt_file_sel_new(void) { GntWidget *widget = g_object_new(GNT_TYPE_FILE_SEL, NULL); - GntFileSel *sel = GNT_FILE_SEL(widget); - - sel->dirs = gnt_tree_new(); - gnt_tree_set_compare_func(GNT_TREE(sel->dirs), (GCompareFunc)g_utf8_collate); - gnt_tree_set_hash_fns(GNT_TREE(sel->dirs), g_str_hash, g_str_equal, g_free); - gnt_tree_set_column_titles(GNT_TREE(sel->dirs), "Directories"); - gnt_tree_set_show_title(GNT_TREE(sel->dirs), TRUE); - gnt_tree_set_col_width(GNT_TREE(sel->dirs), 0, 20); - g_signal_connect(G_OBJECT(sel->dirs), "key_pressed", G_CALLBACK(dir_key_pressed), sel); - - sel->files = gnt_tree_new_with_columns(2); /* Name, Size */ - gnt_tree_set_compare_func(GNT_TREE(sel->files), (GCompareFunc)g_utf8_collate); - gnt_tree_set_column_titles(GNT_TREE(sel->files), "Filename", "Size"); - gnt_tree_set_show_title(GNT_TREE(sel->files), TRUE); - gnt_tree_set_col_width(GNT_TREE(sel->files), 0, 25); - gnt_tree_set_col_width(GNT_TREE(sel->files), 1, 10); - gnt_tree_set_column_is_right_aligned(GNT_TREE(sel->files), 1, TRUE); - g_signal_connect(G_OBJECT(sel->files), "selection_changed", G_CALLBACK(file_sel_changed), sel); - - /* The location entry */ - sel->location = gnt_entry_new(NULL); - g_signal_connect(G_OBJECT(sel->location), "key_pressed", G_CALLBACK(location_key_pressed), sel); - - sel->cancel = gnt_button_new("Cancel"); - sel->select = gnt_button_new("Select"); - - g_signal_connect(G_OBJECT(sel->select), "activate", G_CALLBACK(select_activated_cb), sel); - return widget; }