Mercurial > pidgin.yaz
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"), |