comparison src/gtkplugin.c @ 12162:5e24b8e49522

[gaim-migrate @ 14463] SF Patch #1361020 from Sadrul 'Double click to (1)"Use" a saved-status (2) Load Plugin-pref Double-click to use a saved-status in the saved-status dialog, and double-click to load a plugin and open it's preference-dialog.' I ask, he writes. Wow! :) committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Sat, 19 Nov 2005 15:19:35 +0000
parents ee8312c764b1
children c7652a910308
comparison
equal deleted inserted replaced
12161:58685e2d472b 12162:5e24b8e49522
332 g_value_unset(&val); 332 g_value_unset(&val);
333 break; 333 break;
334 } 334 }
335 } 335 }
336 336
337 static void
338 show_plugin_prefs_cb(GtkTreeView *view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer null)
339 {
340 GtkTreeSelection *sel;
341 GtkTreeIter iter;
342 GaimPlugin *plugin;
343 GtkTreeModel *model;
344
345 sel = gtk_tree_view_get_selection(view);
346
347 if (!gtk_tree_selection_get_selected(sel, &model, &iter))
348 return;
349
350 gtk_tree_model_get(model, &iter, 2, &plugin, -1);
351
352 /* If the plugin is not loaded, then load it first. */
353 if (!gaim_plugin_is_loaded(plugin))
354 {
355 GtkTreePath *path = gtk_tree_model_get_path(model, &iter);
356 gchar *pth = gtk_tree_path_to_string(path);
357 gtk_tree_path_free(path);
358 plugin_load(NULL, pth, model);
359 g_free(pth);
360 }
361 /* Now show the pref-dialog for the plugin */
362 plugin_dialog_response_cb(NULL, 98121, sel);
363 }
364
337 void gaim_gtk_plugin_dialog_show() 365 void gaim_gtk_plugin_dialog_show()
338 { 366 {
339 GtkWidget *sw; 367 GtkWidget *sw;
340 GtkWidget *event_view; 368 GtkWidget *event_view;
341 GtkListStore *ls; 369 GtkListStore *ls;
369 1, GTK_SORT_ASCENDING); 397 1, GTK_SORT_ASCENDING);
370 398
371 update_plugin_list(ls); 399 update_plugin_list(ls);
372 400
373 event_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(ls)); 401 event_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(ls));
402
403 g_signal_connect(G_OBJECT(event_view), "row-activated",
404 G_CALLBACK(show_plugin_prefs_cb), event_view);
374 405
375 rend = gtk_cell_renderer_toggle_new(); 406 rend = gtk_cell_renderer_toggle_new();
376 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (event_view)); 407 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (event_view));
377 408
378 col = gtk_tree_view_column_new_with_attributes (_("Enabled"), 409 col = gtk_tree_view_column_new_with_attributes (_("Enabled"),