fix for folder selector api changes. (vfr_folder_response): handle the

2003-11-17  Not Zed  <NotZed@Ximian.com>

        * vfolder-rule.c (source_add): fix for folder selector api changes.
        (vfr_folder_response): handle the dialog response.

svn path=/trunk/; revision=23380
This commit is contained in:
Not Zed
2003-11-17 05:43:39 +00:00
committed by Michael Zucci
parent 603351c060
commit 41348bb945
2 changed files with 36 additions and 27 deletions

View File

@ -1,3 +1,8 @@
2003-11-17 Not Zed <NotZed@Ximian.com>
* vfolder-rule.c (source_add): fix for folder selector api changes.
(vfr_folder_response): handle the dialog response.
2003-10-22 Ettore Perazzoli <ettore@ximian.com>
* filter.glade: Remove Viewports around the treeviews, since they

View File

@ -34,7 +34,8 @@
#include "camel/camel-url.h"
#include "vfolder-context.h"
#include "vfolder-rule.h"
#include "shell/evolution-shell-client.h"
#include "mail/em-folder-selector.h"
#include "mail/mail-component.h"
#define d(x)
@ -420,42 +421,45 @@ static char *format_source(const char *uri)
}
static void
source_add (GtkWidget *widget, struct _source_data *data)
vfr_folder_response(GtkWidget *dialog, gint button, struct _source_data *data)
{
static const char *allowed_types[] = { "mail/*", NULL };
GNOME_Evolution_Folder *folder;
GtkTreeSelection *selection;
GtkWidget *window;
GtkTreeIter iter;
char *uri, *urinice;
window = gtk_widget_get_toplevel (widget);
gtk_widget_set_sensitive (window, FALSE);
const char *uri = em_folder_selector_get_selected_uri((EMFolderSelector *)dialog);
#if 0 /* EPFIXME */
evolution_shell_client_user_select_folder (global_shell_client, GTK_WINDOW (window),
_("Select Folder"), "", allowed_types, &folder);
#else
folder = NULL;
#endif
if (button == GTK_RESPONSE_OK
&& (uri = em_folder_selector_get_selected_uri((EMFolderSelector *)dialog)) != NULL) {
char *urinice;
GtkTreeSelection *selection;
GtkTreeIter iter;
gtk_widget_set_sensitive (window, TRUE);
if (folder) {
uri = g_strdup (folder->physicalUri);
data->vr->sources = g_list_append (data->vr->sources, uri);
data->vr->sources = g_list_append (data->vr->sources, g_strdup(uri));
gtk_list_store_append (data->model, &iter);
urinice = format_source(uri);
gtk_list_store_set (data->model, &iter, 0, urinice, 1, uri, -1);
gtk_list_store_set(data->model, &iter, 0, urinice, 1, uri, -1);
g_free(urinice);
selection = gtk_tree_view_get_selection (data->list);
gtk_tree_selection_select_iter (selection, &iter);
selection = gtk_tree_view_get_selection(data->list);
gtk_tree_selection_select_iter(selection, &iter);
data->current = uri;
set_sensitive(data);
}
gtk_widget_destroy(dialog);
}
static void
source_add(GtkWidget *widget, struct _source_data *data)
{
struct _EMFolderTree *emft;
GtkWidget *dialog;
CORBA_free (folder);
set_sensitive (data);
emft = (struct _EMFolderTree *)em_folder_tree_new_with_model(mail_component_get_tree_model(mail_component_peek()));
dialog = em_folder_selector_new(emft, EM_FOLDER_SELECTOR_CAN_CREATE, _("Select Folder"), NULL);
gtk_window_set_transient_for((GtkWindow *)dialog, (GtkWindow *)gtk_widget_get_toplevel(widget));
gtk_window_set_modal((GtkWindow *)dialog, TRUE);
g_signal_connect(dialog, "response", G_CALLBACK(vfr_folder_response), data);
gtk_widget_show(dialog);
}
static void