static void expand_key(GtkTreeView *treeview, GtkTreeIter *parent, GtkTreePath *arg2)
{
- GtkTreeIter iter, tmpiter;
+ GtkTreeIter firstiter, iter, tmpiter;
REG_KEY *k, *sub;
char *name;
GValue value;
WERROR error;
int i;
+ gtk_tree_model_iter_children(GTK_TREE_MODEL(store_keys), &firstiter, parent);
+
/* See if this row has ever had a name gtk_tree_store_set()'ed to it.
If not, read the directory contents */
- gtk_tree_model_get(GTK_TREE_MODEL(store_keys), parent,
- 0, &name, -1);
+ gtk_tree_model_get(GTK_TREE_MODEL(store_keys), &firstiter, 0, &name, -1);
- if(!name) return;
+ if(name) return;
gtk_tree_model_get(GTK_TREE_MODEL(store_keys), parent, 1, &k, -1);
node GTK gets confused and won't expand the parent row. */
if(i == 0) {
- gtk_tree_model_iter_children(GTK_TREE_MODEL(store_keys),
- &iter, parent);
+ iter = firstiter;
} else {
gtk_tree_store_append(store_keys, &iter, parent);
}
return rpcwin;
}
-static void on_open_nt4_activate (GtkMenuItem *menuitem, gpointer user_data)
+static void on_open_file_activate (GtkMenuItem *menuitem, gpointer user_data)
{
gint result = gtk_dialog_run(GTK_DIALOG(create_openfilewin()));
char *filename;
switch(result) {
case GTK_RESPONSE_OK:
filename = strdup(gtk_file_selection_get_filename(GTK_FILE_SELECTION(openfilewin)));
- error = reg_open("nt4", filename, NULL, ®istry);
+ error = reg_open(user_data, filename, NULL, ®istry);
if(!W_ERROR_IS_OK(error)) {
gtk_show_werror(error);
break;
GtkWidget *menu_file;
GtkWidget *menu_file_menu;
GtkWidget *open_nt4;
+ GtkWidget *open_w95;
GtkWidget *open_gconf;
GtkWidget *open_remote;
GtkWidget *separatormenuitem1;
gtk_widget_show (open_nt4);
gtk_container_add (GTK_CONTAINER (menu_file_menu), open_nt4);
+ open_w95 = gtk_image_menu_item_new_with_mnemonic("_Open Win9x file");
+ gtk_widget_show (open_w95);
+ gtk_container_add (GTK_CONTAINER (menu_file_menu), open_w95);
+
open_gconf = gtk_image_menu_item_new_with_mnemonic ("_Open GConf");
gtk_widget_show (open_gconf);
gtk_container_add (GTK_CONTAINER (menu_file_menu), open_gconf);
gtk_statusbar_set_has_resize_grip (GTK_STATUSBAR (statusbar), FALSE);
g_signal_connect ((gpointer) open_nt4, "activate",
- G_CALLBACK (on_open_nt4_activate),
- NULL);
+ G_CALLBACK (on_open_file_activate),
+ "nt4");
+ g_signal_connect ((gpointer) open_w95, "activate",
+ G_CALLBACK (on_open_file_activate),
+ "w95");
g_signal_connect ((gpointer) open_gconf, "activate",
G_CALLBACK (on_open_gconf_activate),
NULL);