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);
}