summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorPatrick Griffis <tingping@tingping.se>2016-03-29 12:19:19 -0400
committerPatrick Griffis <tingping@tingping.se>2016-03-29 12:19:19 -0400
commitdce6a7612a42c11065efcbc19a7beb5521992eb4 (patch)
treea4b92aff376ad40fbe9a5f2efdac1e80f6807a0b
parent60b3b43f3e199f91d57260b3a1491501e4411c61 (diff)
plugingui: Use full path when unloading/reloading plugins
Mentioned in mniip/hexchat-lua#5
-rw-r--r--src/fe-gtk/gtkutil.c2
-rw-r--r--src/fe-gtk/plugingui.c13
2 files changed, 10 insertions, 5 deletions
diff --git a/src/fe-gtk/gtkutil.c b/src/fe-gtk/gtkutil.c
index e2ca1192..878f5c6e 100644
--- a/src/fe-gtk/gtkutil.c
+++ b/src/fe-gtk/gtkutil.c
@@ -685,6 +685,8 @@ gtkutil_treeview_new (GtkWidget *box, GtkTreeModel *model,
 			                                                attr, col_id, NULL);
 		}
 		gtk_tree_view_append_column (GTK_TREE_VIEW (view), col);
+		if (title == NULL)
+			gtk_tree_view_column_set_visible (col, FALSE);
 	}
 
 	va_end (args);
diff --git a/src/fe-gtk/plugingui.c b/src/fe-gtk/plugingui.c
index 83e05727..63e83a57 100644
--- a/src/fe-gtk/plugingui.c
+++ b/src/fe-gtk/plugingui.c
@@ -42,6 +42,7 @@ enum
 	VERSION_COLUMN,
 	FILE_COLUMN,
 	DESC_COLUMN,
+	FILEPATH_COLUMN,
 	N_COLUMNS
 };
 
@@ -57,13 +58,14 @@ plugingui_treeview_new (GtkWidget *box)
 	int col_id;
 
 	store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING,
-	                            G_TYPE_STRING, G_TYPE_STRING);
+	                            G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
 	g_return_val_if_fail (store != NULL, NULL);
 	view = gtkutil_treeview_new (box, GTK_TREE_MODEL (store), NULL,
 	                             NAME_COLUMN, _("Name"),
 	                             VERSION_COLUMN, _("Version"),
 	                             FILE_COLUMN, _("File"),
-	                             DESC_COLUMN, _("Description"), -1);
+	                             DESC_COLUMN, _("Description"),
+	                             FILEPATH_COLUMN, NULL, -1);
 	gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE);
 	for (col_id=0; (col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), col_id));
 	     col_id++)
@@ -86,7 +88,7 @@ plugingui_getfilename (GtkTreeView *view)
 	sel = gtk_tree_view_get_selection (view);
 	if (gtk_tree_selection_get_selected (sel, &model, &iter))
 	{
-		gtk_tree_model_get_value (model, &iter, FILE_COLUMN, &file);
+		gtk_tree_model_get_value (model, &iter, FILEPATH_COLUMN, &file);
 
 		str = g_value_dup_string (&file);
 		g_value_unset (&file);
@@ -131,7 +133,8 @@ fe_pluginlist_update (void)
 			gtk_list_store_set (store, &iter, NAME_COLUMN, pl->name,
 			                    VERSION_COLUMN, pl->version,
 			                    FILE_COLUMN, file_part (pl->filename),
-			                    DESC_COLUMN, pl->desc, -1);
+			                    DESC_COLUMN, pl->desc,
+			                    FILEPATH_COLUMN, pl->filename, -1);
 		}
 		list = list->next;
 	}
@@ -179,7 +182,7 @@ plugingui_unload (GtkWidget * wid, gpointer unused)
 	
 	view = g_object_get_data (G_OBJECT (plugin_window), "view");
 	if (!gtkutil_treeview_get_selected (view, &iter, NAME_COLUMN, &modname,
-	                                    FILE_COLUMN, &file, -1))
+	                                    FILEPATH_COLUMN, &file, -1))
 		return;
 
 	if (g_str_has_suffix (file, "."G_MODULE_SUFFIX))