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:
@ -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>
|
2003-10-22 Ettore Perazzoli <ettore@ximian.com>
|
||||||
|
|
||||||
* filter.glade: Remove Viewports around the treeviews, since they
|
* filter.glade: Remove Viewports around the treeviews, since they
|
||||||
|
@ -34,7 +34,8 @@
|
|||||||
#include "camel/camel-url.h"
|
#include "camel/camel-url.h"
|
||||||
#include "vfolder-context.h"
|
#include "vfolder-context.h"
|
||||||
#include "vfolder-rule.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)
|
#define d(x)
|
||||||
|
|
||||||
@ -420,30 +421,17 @@ static char *format_source(const char *uri)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
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 };
|
const char *uri = em_folder_selector_get_selected_uri((EMFolderSelector *)dialog);
|
||||||
GNOME_Evolution_Folder *folder;
|
|
||||||
|
if (button == GTK_RESPONSE_OK
|
||||||
|
&& (uri = em_folder_selector_get_selected_uri((EMFolderSelector *)dialog)) != NULL) {
|
||||||
|
char *urinice;
|
||||||
GtkTreeSelection *selection;
|
GtkTreeSelection *selection;
|
||||||
GtkWidget *window;
|
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
char *uri, *urinice;
|
|
||||||
|
|
||||||
window = gtk_widget_get_toplevel (widget);
|
data->vr->sources = g_list_append (data->vr->sources, g_strdup(uri));
|
||||||
gtk_widget_set_sensitive (window, FALSE);
|
|
||||||
|
|
||||||
#if 0 /* EPFIXME */
|
|
||||||
evolution_shell_client_user_select_folder (global_shell_client, GTK_WINDOW (window),
|
|
||||||
_("Select Folder"), "", allowed_types, &folder);
|
|
||||||
#else
|
|
||||||
folder = NULL;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
gtk_widget_set_sensitive (window, TRUE);
|
|
||||||
|
|
||||||
if (folder) {
|
|
||||||
uri = g_strdup (folder->physicalUri);
|
|
||||||
data->vr->sources = g_list_append (data->vr->sources, uri);
|
|
||||||
|
|
||||||
gtk_list_store_append (data->model, &iter);
|
gtk_list_store_append (data->model, &iter);
|
||||||
urinice = format_source(uri);
|
urinice = format_source(uri);
|
||||||
@ -452,10 +440,26 @@ source_add (GtkWidget *widget, struct _source_data *data)
|
|||||||
selection = gtk_tree_view_get_selection(data->list);
|
selection = gtk_tree_view_get_selection(data->list);
|
||||||
gtk_tree_selection_select_iter(selection, &iter);
|
gtk_tree_selection_select_iter(selection, &iter);
|
||||||
data->current = uri;
|
data->current = uri;
|
||||||
|
|
||||||
|
set_sensitive(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
CORBA_free (folder);
|
gtk_widget_destroy(dialog);
|
||||||
set_sensitive (data);
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
source_add(GtkWidget *widget, struct _source_data *data)
|
||||||
|
{
|
||||||
|
struct _EMFolderTree *emft;
|
||||||
|
GtkWidget *dialog;
|
||||||
|
|
||||||
|
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
|
static void
|
||||||
|
Reference in New Issue
Block a user