static void on_item_new_response (GtkDialog *dialog, gint responseid, ItemNew *item) { gchar *name = NULL; if (responseid == GTK_RESPONSE_OK) { const gchar *text = gtk_entry_get_text (item->entry); if (!*text) { return; } name = g_strdup (text); } gtk_widget_destroy (GTK_WIDGET (dialog)); if (name) { InfcBrowserIter parent = item->iter; if (!infc_browser_iter_is_subdirectory (item->browser, &parent)) { infc_browser_iter_get_parent (item->browser, &parent); } if (item->newfile) { InfcNotePlugin *plugin; plugin = gedit_collaboration_manager_get_note_plugin (item->helper->priv->manager); infc_browser_add_note (item->browser, &parent, name, plugin, FALSE); } else { infc_browser_add_subdirectory (item->browser, &parent, name); } } g_free (name); g_object_unref (item->browser); g_slice_free (ItemNew, item); }
static void on_set_browser (InfGtkBrowserModel *model, GtkTreePath *path, GtkTreeIter *iter, InfcBrowser *browser, GeditCollaborationWindowHelper *helper) { if (browser != NULL) { infc_browser_add_plugin (browser, gedit_collaboration_manager_get_note_plugin (helper->priv->manager)); g_signal_connect (browser, "notify::status", G_CALLBACK (on_browser_status_changed), helper); } update_sensitivity (helper); }