diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2010-01-31 03:03:19 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-04-08 23:05:26 +0800 |
commit | 72797decc12602b181f69dba7c54df7a0d1b9326 (patch) | |
tree | ecd1314c92bc26b59647b351b2d47e446f4ed21d /mail | |
parent | 3ba0b61f9f447b01c3a83bfb78ee33a45d413700 (diff) | |
download | gsoc2013-evolution-72797decc12602b181f69dba7c54df7a0d1b9326.tar.gz gsoc2013-evolution-72797decc12602b181f69dba7c54df7a0d1b9326.tar.zst gsoc2013-evolution-72797decc12602b181f69dba7c54df7a0d1b9326.zip |
Giant leap towards GSEAL compliance.
Diffstat (limited to 'mail')
-rw-r--r-- | mail/e-mail-attachment-bar.c | 4 | ||||
-rw-r--r-- | mail/e-mail-reader.c | 4 | ||||
-rw-r--r-- | mail/em-composer-utils.c | 6 | ||||
-rw-r--r-- | mail/em-filter-folder-element.c | 4 | ||||
-rw-r--r-- | mail/em-filter-rule.c | 7 | ||||
-rw-r--r-- | mail/em-folder-properties.c | 8 | ||||
-rw-r--r-- | mail/em-folder-selector.c | 19 | ||||
-rw-r--r-- | mail/em-folder-tree.c | 44 | ||||
-rw-r--r-- | mail/em-format-html-display.c | 17 | ||||
-rw-r--r-- | mail/em-subscribe-editor.c | 9 | ||||
-rw-r--r-- | mail/em-utils.c | 95 | ||||
-rw-r--r-- | mail/mail-send-recv.c | 19 | ||||
-rw-r--r-- | mail/mail-vfolder.c | 44 | ||||
-rw-r--r-- | mail/message-list.c | 59 |
14 files changed, 209 insertions, 130 deletions
diff --git a/mail/e-mail-attachment-bar.c b/mail/e-mail-attachment-bar.c index 88198438b7..0ffe287306 100644 --- a/mail/e-mail-attachment-bar.c +++ b/mail/e-mail-attachment-bar.c @@ -322,11 +322,7 @@ mail_attachment_bar_size_request (GtkWidget *widget, * get a sizable gap between the headers and body when this * widget is invisible. Once we finally move to WebKit, * remove this. */ -#if GTK_CHECK_VERSION(2,19,7) if (!gtk_widget_get_visible (widget)) { -#else - if (!GTK_WIDGET_VISIBLE (widget)) { -#endif requisition->width = 0; requisition->height = 0; return; diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c index 684b97c085..eb1c7f298d 100644 --- a/mail/e-mail-reader.c +++ b/mail/e-mail-reader.c @@ -1926,11 +1926,7 @@ mail_reader_message_selected_timeout_cb (EMailReader *reader) widget = GTK_WIDGET (EM_FORMAT_HTML (html_display)->html); -#if GTK_CHECK_VERSION(2,19,7) html_display_visible = gtk_widget_get_mapped (widget); -#else - html_display_visible = GTK_WIDGET_MAPPED (widget); -#endif selected_uid_changed = g_strcmp0 (cursor_uid, format_uid); if (html_display_visible && selected_uid_changed) { diff --git a/mail/em-composer-utils.c b/mail/em-composer-utils.c index c9a8a30c78..ffa053712f 100644 --- a/mail/em-composer-utils.c +++ b/mail/em-composer-utils.c @@ -809,10 +809,8 @@ em_utils_compose_new_message_with_mailto (const gchar *url, const gchar *fromuri composer_set_no_change (composer, TRUE, url == NULL); - if (!e_msg_composer_get_lite ()) { - gtk_widget_show ((GtkWidget *) composer); - gdk_window_raise (((GtkWidget *) composer)->window); - } + if (!e_msg_composer_get_lite ()) + gtk_window_present (GTK_WINDOW (composer)); return composer; } diff --git a/mail/em-filter-folder-element.c b/mail/em-filter-folder-element.c index 3b80e0da77..f4584c65b1 100644 --- a/mail/em-filter-folder-element.c +++ b/mail/em-filter-folder-element.c @@ -230,6 +230,7 @@ xml_decode(EFilterElement *fe, xmlNodePtr node) static void folder_selected(EMFolderSelectionButton *button, EMFilterFolderElement *ff) { + GtkWidget *toplevel; const gchar *uri; uri = em_folder_selection_button_get_selection(button); @@ -240,7 +241,8 @@ folder_selected(EMFolderSelectionButton *button, EMFilterFolderElement *ff) else ff->uri = uri != NULL ? em_uri_from_camel (uri) : NULL; - gdk_window_raise(GTK_WIDGET(gtk_widget_get_ancestor(GTK_WIDGET(button), GTK_TYPE_WINDOW))->window); + toplevel = gtk_widget_get_toplevel (GTK_WIDGET (button)); + gtk_window_present (GTK_WINDOW (toplevel)); } static GtkWidget * diff --git a/mail/em-filter-rule.c b/mail/em-filter-rule.c index 41a6ba6640..ce73d2024f 100644 --- a/mail/em-filter-rule.c +++ b/mail/em-filter-rule.c @@ -503,9 +503,12 @@ more_parts(GtkWidget *button, struct _rule_data *data) GtkAdjustment *adjustment; adjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (w)); - if (adjustment) - gtk_adjustment_set_value (adjustment, adjustment->upper); + if (adjustment) { + gdouble upper; + upper = gtk_adjustment_get_upper (adjustment); + gtk_adjustment_set_value (adjustment, upper); + } } } } diff --git a/mail/em-folder-properties.c b/mail/em-folder-properties.c index e02f039ee2..f3f41165c5 100644 --- a/mail/em-folder-properties.c +++ b/mail/em-folder-properties.c @@ -288,6 +288,7 @@ emfp_dialog_got_folder_quota (CamelFolder *folder, gpointer data) { GtkWidget *dialog, *w; + GtkWidget *content_area; struct _prop_data *prop_data; GSList *l; gint32 count, i,deleted; @@ -396,8 +397,11 @@ emfp_dialog_got_folder_quota (CamelFolder *folder, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); gtk_window_set_default_size ((GtkWindow *) dialog, 192, 160); + gtk_widget_ensure_style (dialog); - gtk_container_set_border_width ((GtkContainer *) ((GtkDialog *) dialog)->vbox, 12); + + content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); + gtk_container_set_border_width (GTK_CONTAINER (content_area), 12); /** @HookPoint-EMConfig: Folder Properties Window * @Id: org.gnome.evolution.mail.folderConfig @@ -418,7 +422,7 @@ emfp_dialog_got_folder_quota (CamelFolder *folder, e_config_set_target((EConfig *)ec, (EConfigTarget *)target); w = e_config_create_widget((EConfig *)ec); - gtk_box_pack_start ((GtkBox *) ((GtkDialog *) dialog)->vbox, w, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (content_area), w, TRUE, TRUE, 0); /* we do 'apply on ok' ... since instant apply may apply some very long running tasks */ diff --git a/mail/em-folder-selector.c b/mail/em-folder-selector.c index 8ba323c135..089daf4d44 100644 --- a/mail/em-folder-selector.c +++ b/mail/em-folder-selector.c @@ -131,7 +131,7 @@ emfs_create_name_changed (GtkEntry *entry, EMFolderSelector *emfs) const gchar *text = NULL; gboolean active; - if (emfs->name_entry->text_length > 0) + if (gtk_entry_get_text_length (emfs->name_entry) > 0) text = gtk_entry_get_text (emfs->name_entry); path = em_folder_tree_get_selected_uri(emfs->emft); @@ -159,14 +159,16 @@ folder_activated_cb (EMFolderTree *emft, const gchar *path, const gchar *uri, EM void em_folder_selector_construct (EMFolderSelector *emfs, EMFolderTree *emft, guint32 flags, const gchar *title, const gchar *text, const gchar *oklabel) { + GtkWidget *container; GtkWidget *widget; gtk_window_set_default_size (GTK_WINDOW (emfs), 350, 300); gtk_window_set_title (GTK_WINDOW (emfs), title); gtk_container_set_border_width (GTK_CONTAINER (emfs), 6); - gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (emfs)->vbox), 6); - gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (emfs)->vbox), 6); + container = gtk_dialog_get_content_area (GTK_DIALOG (emfs)); + gtk_box_set_spacing (GTK_BOX (container), 6); + gtk_container_set_border_width (GTK_CONTAINER (container), 6); emfs->flags = flags; if (flags & EM_FOLDER_SELECTOR_CAN_CREATE) { @@ -186,8 +188,7 @@ em_folder_selector_construct (EMFolderSelector *emfs, EMFolderTree *emft, guint3 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type ( GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_IN); - gtk_box_pack_end ( - GTK_BOX (GTK_DIALOG (emfs)->vbox), widget, TRUE, TRUE, 6); + gtk_box_pack_end (GTK_BOX (container), widget, TRUE, TRUE, 6); gtk_widget_show (widget); emfs->emft = emft; @@ -202,7 +203,7 @@ em_folder_selector_construct (EMFolderSelector *emfs, EMFolderTree *emft, guint3 gtk_label_set_justify (GTK_LABEL (widget), GTK_JUSTIFY_LEFT); gtk_widget_show (widget); - gtk_box_pack_end (GTK_BOX (GTK_DIALOG (emfs)->vbox), widget, FALSE, TRUE, 6); + gtk_box_pack_end (GTK_BOX (container), widget, FALSE, TRUE, 6); } gtk_widget_grab_focus ((GtkWidget *) emfs->emft); @@ -229,7 +230,7 @@ em_folder_selector_new (GtkWindow *parent, static void emfs_create_name_activate (GtkEntry *entry, EMFolderSelector *emfs) { - if (emfs->name_entry->text_length > 0) { + if (gtk_entry_get_text_length (emfs->name_entry) > 0) { gchar *path; const gchar *text; @@ -251,6 +252,7 @@ em_folder_selector_create_new (GtkWindow *parent, { EMFolderSelector *emfs; GtkWidget *hbox, *w; + GtkWidget *container; /* remove the CREATE flag if it is there since that's the * whole purpose of this dialog */ @@ -272,7 +274,8 @@ em_folder_selector_create_new (GtkWindow *parent, gtk_box_pack_start ((GtkBox *) hbox, (GtkWidget *) emfs->name_entry, TRUE, FALSE, 6); gtk_widget_show_all (hbox); - gtk_box_pack_start ((GtkBox *) ((GtkDialog *) emfs)->vbox, hbox, FALSE, TRUE, 0); + container = gtk_dialog_get_content_area (GTK_DIALOG (emfs)); + gtk_box_pack_start (GTK_BOX (container), hbox, FALSE, TRUE, 0); gtk_widget_grab_focus ((GtkWidget *) emfs->name_entry); diff --git a/mail/em-folder-tree.c b/mail/em-folder-tree.c index badb6f8117..7a8f7be744 100644 --- a/mail/em-folder-tree.c +++ b/mail/em-folder-tree.c @@ -1457,10 +1457,13 @@ static void folder_tree_drop_folder(struct _DragDataReceivedAsync *m) { CamelFolder *src; + const guchar *data; - d(printf(" * Drop folder '%s' onto '%s'\n", m->selection->data, m->full_name)); + data = gtk_selection_data_get_data (m->selection); - if (!(src = mail_tool_uri_to_folder((gchar *)m->selection->data, 0, &m->base.ex))) + d(printf(" * Drop folder '%s' onto '%s'\n", data, m->full_name)); + + if (!(src = mail_tool_uri_to_folder((gchar *)data, 0, &m->base.ex))) return; em_folder_utils_copy_folders(src->parent_store, src->full_name, m->store, m->full_name?m->full_name:"", m->move); @@ -1471,10 +1474,13 @@ static gchar * folder_tree_drop_async__desc (struct _DragDataReceivedAsync *m) { CamelURL *url; + const guchar *data; gchar *buf; + data = gtk_selection_data_get_data (m->selection); + if (m->info == DND_DROP_TYPE_FOLDER) { - url = camel_url_new ((gchar *)m->selection->data, NULL); + url = camel_url_new ((gchar *)data, NULL); if (m->move) buf = g_strdup_printf (_("Moving folder %s"), url->fragment ? url->fragment : url->path + 1); @@ -1532,9 +1538,7 @@ folder_tree_drop_async__free (struct _DragDataReceivedAsync *m) g_object_unref(m->context); camel_object_unref(m->store); g_free(m->full_name); - - g_free(m->selection->data); - g_free(m->selection); + gtk_selection_data_free (m->selection); } static MailMsgInfo folder_tree_drop_async_info = { @@ -1572,7 +1576,12 @@ tree_drag_data_received(GtkWidget *widget, GdkDragContext *context, gint x, gint return; /* this means we are receiving no data */ - if (!selection->data || selection->length == -1) { + if (gtk_selection_data_get_data (selection) == NULL) { + gtk_drag_finish(context, FALSE, FALSE, GDK_CURRENT_TIME); + return; + } + + if (gtk_selection_data_get_length (selection) == -1) { gtk_drag_finish(context, FALSE, FALSE, GDK_CURRENT_TIME); return; } @@ -1604,10 +1613,7 @@ tree_drag_data_received(GtkWidget *widget, GdkDragContext *context, gint x, gint m->info = info; /* need to copy, goes away once we exit */ - m->selection = g_malloc0(sizeof(*m->selection)); - m->selection->data = g_malloc(selection->length); - memcpy(m->selection->data, selection->data, selection->length); - m->selection->length = selection->length; + m->selection = gtk_selection_data_copy (selection); tree_drag_data_action(m); } @@ -1898,12 +1904,14 @@ tree_drag_leave (GtkWidget *widget, GdkDragContext *context, guint time, EMFolde static gboolean tree_autoscroll (EMFolderTree *folder_tree) { - GtkAdjustment *vadjustment; + GtkAdjustment *adjustment; GtkTreeView *tree_view; GdkRectangle rect; GdkWindow *window; gint offset, y; - gfloat value; + gdouble page_size; + gdouble upper; + gdouble value; /* get the y pointer position relative to the treeview */ tree_view = GTK_TREE_VIEW (folder_tree); @@ -1923,10 +1931,14 @@ tree_autoscroll (EMFolderTree *folder_tree) return TRUE; } - vadjustment = gtk_tree_view_get_vadjustment (tree_view); + adjustment = gtk_tree_view_get_vadjustment (tree_view); + + page_size = gtk_adjustment_get_value (adjustment); + upper = gtk_adjustment_get_value (adjustment); + value = gtk_adjustment_get_value (adjustment); - value = CLAMP (vadjustment->value + offset, 0.0, vadjustment->upper - vadjustment->page_size); - gtk_adjustment_set_value (vadjustment, value); + value = CLAMP (value + offset, 0.0, upper - page_size); + gtk_adjustment_set_value (adjustment, value); return TRUE; } diff --git a/mail/em-format-html-display.c b/mail/em-format-html-display.c index d32ee8dd9f..54a768ec59 100644 --- a/mail/em-format-html-display.c +++ b/mail/em-format-html-display.c @@ -874,13 +874,15 @@ efhd_bar_resize (EMFormatHTML *efh, GtkAllocation *event) { EMFormatHTMLDisplayPrivate *priv; + GtkAllocation allocation; GtkWidget *widget; gint width; priv = EM_FORMAT_HTML_DISPLAY_GET_PRIVATE (efh); widget = GTK_WIDGET (efh->html); - width = widget->allocation.width - 12; + gtk_widget_get_allocation (widget, &allocation); + width = allocation.width - 12; if (width > 0) { widget = priv->attachment_view; @@ -940,11 +942,7 @@ efhd_optional_button_show (GtkWidget *widget, GtkWidget *w) { GtkWidget *label = g_object_get_data (G_OBJECT (widget), "text-label"); -#if GTK_CHECK_VERSION(2,19,7) if (gtk_widget_get_visible (w)) { -#else - if (GTK_WIDGET_VISIBLE (w)) { -#endif gtk_widget_hide (w); gtk_label_set_text_with_mnemonic (GTK_LABEL (label), _("View _Unformatted")); } else { @@ -956,7 +954,10 @@ efhd_optional_button_show (GtkWidget *widget, GtkWidget *w) static void efhd_resize (GtkWidget *w, GtkAllocation *event, EMFormatHTML *efh) { - gtk_widget_set_size_request (w, ((GtkWidget *)efh->html)->allocation.width-48, 250); + GtkAllocation allocation; + + gtk_widget_get_allocation (GTK_WIDGET (efh->html), &allocation); + gtk_widget_set_size_request (w, allocation.width - 48, 250); } /* optional render attachment button callback */ @@ -967,6 +968,7 @@ efhd_attachment_optional(EMFormatHTML *efh, GtkHTMLEmbedded *eb, EMFormatHTMLPOb GtkWidget *hbox, *vbox, *button, *mainbox, *scroll, *label, *img; AtkObject *a11y; GtkWidget *view; + GtkAllocation allocation; GtkTextBuffer *buffer; /* FIXME: handle default shown case */ @@ -1035,7 +1037,8 @@ efhd_attachment_optional(EMFormatHTML *efh, GtkHTMLEmbedded *eb, EMFormatHTMLPOb gtk_box_pack_start(GTK_BOX (vbox), scroll, TRUE, TRUE, 6); gtk_widget_show (GTK_WIDGET(view)); - gtk_widget_set_size_request (scroll, (GTK_WIDGET (efh->html))->allocation.width - 48, 250); + gtk_widget_get_allocation (GTK_WIDGET (efh->html), &allocation); + gtk_widget_set_size_request (scroll, allocation.width - 48, 250); g_signal_connect (scroll, "size_allocate", G_CALLBACK(efhd_resize), efh); gtk_widget_show (scroll); diff --git a/mail/em-subscribe-editor.c b/mail/em-subscribe-editor.c index 6485af4e2f..068d74c1d6 100644 --- a/mail/em-subscribe-editor.c +++ b/mail/em-subscribe-editor.c @@ -808,6 +808,7 @@ em_subscribe_editor_new(void) EIterator *iter; GtkBuilder *builder; GtkWidget *w; + GtkWidget *container; GtkCellRenderer *cell; GtkListStore *store; GtkTreeIter gtiter; @@ -823,8 +824,12 @@ em_subscribe_editor_new(void) g_signal_connect(se->dialog, "destroy", G_CALLBACK(sub_editor_destroy), se); gtk_widget_ensure_style ((GtkWidget *)se->dialog); - gtk_container_set_border_width ((GtkContainer *) ((GtkDialog *)se->dialog)->action_area, 12); - gtk_container_set_border_width ((GtkContainer *) ((GtkDialog *)se->dialog)->vbox, 0); + + container = gtk_dialog_get_action_area (GTK_DIALOG (se->dialog)); + gtk_container_set_border_width (GTK_CONTAINER (container), 12); + + container = gtk_dialog_get_content_area (GTK_DIALOG (se->dialog)); + gtk_container_set_border_width (GTK_CONTAINER (container), 0); se->vbox = e_builder_get_widget(builder, "tree_box"); diff --git a/mail/em-utils.c b/mail/em-utils.c index ff4487c2d4..ae6f01e7ea 100644 --- a/mail/em-utils.c +++ b/mail/em-utils.c @@ -131,6 +131,7 @@ gboolean em_utils_prompt_user(GtkWindow *parent, const gchar *promptkey, const gchar *tag, ...) { GtkWidget *mbox, *check = NULL; + GtkWidget *container; va_list ap; gint button; GConfClient *gconf = mail_config_get_gconf_client(); @@ -150,7 +151,8 @@ em_utils_prompt_user(GtkWindow *parent, const gchar *promptkey, const gchar *tag if (promptkey) { check = gtk_check_button_new_with_mnemonic (_("_Do not show this message again.")); gtk_container_set_border_width((GtkContainer *)check, 12); - gtk_box_pack_start ((GtkBox *)((GtkDialog *) mbox)->vbox, check, TRUE, TRUE, 0); + container = gtk_dialog_get_content_area (GTK_DIALOG (mbox)); + gtk_box_pack_start (GTK_BOX (container), check, TRUE, TRUE, 0); gtk_widget_show (check); } @@ -279,7 +281,7 @@ em_utils_edit_filters (GtkWidget *parent) EMFilterContext *fc; if (filter_editor) { - gdk_window_raise (GTK_WIDGET (filter_editor)->window); + gtk_window_present (GTK_WINDOW (filter_editor)); return; } @@ -636,19 +638,23 @@ void em_utils_selection_set_mailbox(GtkSelectionData *data, CamelFolder *folder, GPtrArray *uids) { CamelStream *stream; + GdkAtom target; + + target = gtk_selection_data_get_target (data); stream = camel_stream_mem_new(); if (em_utils_write_messages_to_stream(folder, uids, stream) == 0) - gtk_selection_data_set(data, data->target, 8, - ((CamelStreamMem *)stream)->buffer->data, - ((CamelStreamMem *)stream)->buffer->len); + gtk_selection_data_set( + data, target, 8, + ((CamelStreamMem *)stream)->buffer->data, + ((CamelStreamMem *)stream)->buffer->len); camel_object_unref(stream); } /** * em_utils_selection_get_mailbox: - * @data: selection data + * @selection_data: selection data * @folder: * * Receive a mailbox selection/dnd @@ -657,39 +663,53 @@ em_utils_selection_set_mailbox(GtkSelectionData *data, CamelFolder *folder, GPtr * FIXME: Exceptions? **/ void -em_utils_selection_get_mailbox(GtkSelectionData *data, CamelFolder *folder) +em_utils_selection_get_mailbox (GtkSelectionData *selection_data, + CamelFolder *folder) { CamelStream *stream; + const guchar *data; + gint length; + + data = gtk_selection_data_get_data (selection_data); + length = gtk_selection_data_get_length (selection_data); - if (data->data == NULL || data->length == -1) + if (data == NULL || length == -1) return; /* TODO: a stream mem with read-only access to existing data? */ /* NB: Although copying would let us run this async ... which it should */ - stream = (CamelStream *)camel_stream_mem_new_with_buffer((gchar *)data->data, data->length); + stream = (CamelStream *) + camel_stream_mem_new_with_buffer ((gchar *) data, length); em_utils_read_messages_from_stream(folder, stream); camel_object_unref(stream); } /** * em_utils_selection_get_message: - * @data: + * @selection_data: * @folder: * * get a message/rfc822 data. **/ void -em_utils_selection_get_message(GtkSelectionData *data, CamelFolder *folder) +em_utils_selection_get_message (GtkSelectionData *selection_data, + CamelFolder *folder) { CamelStream *stream; CamelException *ex; CamelMimeMessage *msg; + const guchar *data; + gint length; + + data = gtk_selection_data_get_data (selection_data); + length = gtk_selection_data_get_length (selection_data); - if (data->data == NULL || data->length == -1) + if (data == NULL || length == -1) return; ex = camel_exception_new(); - stream = (CamelStream *)camel_stream_mem_new_with_buffer((gchar *)data->data, data->length); + stream = (CamelStream *) + camel_stream_mem_new_with_buffer ((gchar *)data, length); msg = camel_mime_message_new(); if (camel_data_wrapper_construct_from_stream((CamelDataWrapper *)msg, stream) == 0) camel_folder_append_message(folder, msg, NULL, NULL, ex); @@ -700,7 +720,7 @@ em_utils_selection_get_message(GtkSelectionData *data, CamelFolder *folder) /** * em_utils_selection_set_uidlist: - * @data: selection data + * @selection_data: selection data * @uri: * @uids: * @@ -709,9 +729,12 @@ em_utils_selection_get_message(GtkSelectionData *data, CamelFolder *folder) * FIXME: be nice if this could take a folder argument rather than uri **/ void -em_utils_selection_set_uidlist(GtkSelectionData *data, const gchar *uri, GPtrArray *uids) +em_utils_selection_set_uidlist (GtkSelectionData *selection_data, + const gchar *uri, + GPtrArray *uids) { GByteArray *array = g_byte_array_new(); + GdkAtom target; gint i; /* format: "uri\0uid1\0uid2\0uid3\0...\0uidn\0" */ @@ -721,7 +744,9 @@ em_utils_selection_set_uidlist(GtkSelectionData *data, const gchar *uri, GPtrArr for (i=0; i<uids->len; i++) g_byte_array_append(array, uids->pdata[i], strlen(uids->pdata[i])+1); - gtk_selection_data_set(data, data->target, 8, array->data, array->len); + target = gtk_selection_data_get_target (selection_data); + gtk_selection_data_set ( + selection_data, target, 8, array->data, array->len); g_byte_array_free(array, TRUE); } @@ -735,27 +760,37 @@ em_utils_selection_set_uidlist(GtkSelectionData *data, const gchar *uri, GPtrArr * Warning: Could take some time to run. **/ void -em_utils_selection_get_uidlist(GtkSelectionData *data, CamelFolder *dest, gint move, CamelException *ex) +em_utils_selection_get_uidlist (GtkSelectionData *selection_data, + CamelFolder *dest, + gint move, + CamelException *ex) { /* format: "uri\0uid1\0uid2\0uid3\0...\0uidn" */ gchar *inptr, *inend; GPtrArray *uids; CamelFolder *folder; + const guchar *data; + gint length; + + g_return_if_fail (selection_data != NULL); - if (data == NULL || data->data == NULL || data->length == -1) + data = gtk_selection_data_get_data (selection_data); + length = gtk_selection_data_get_length (selection_data); + + if (data == NULL || length == -1) return; uids = g_ptr_array_new(); - inptr = (gchar *)data->data; - inend = (gchar *)(data->data + data->length); + inptr = (gchar *) data; + inend = (gchar *) (data + length); while (inptr < inend) { gchar *start = inptr; while (inptr < inend && *inptr) inptr++; - if (start > (gchar *)data->data) + if (start > (gchar *) data) g_ptr_array_add(uids, g_strndup(start, inptr-start)); inptr++; @@ -766,7 +801,7 @@ em_utils_selection_get_uidlist(GtkSelectionData *data, CamelFolder *dest, gint m return; } - folder = mail_tool_uri_to_folder((gchar *)data->data, 0, ex); + folder = mail_tool_uri_to_folder((gchar *) data, 0, ex); if (folder) { camel_folder_transfer_messages_to(folder, uids, dest, NULL, move, ex); camel_object_unref(folder); @@ -832,8 +867,10 @@ em_utils_selection_set_urilist(GtkSelectionData *data, CamelFolder *folder, GPtr if (em_utils_write_messages_to_stream(folder, uids, fstream) == 0) { /* terminate with \r\n to be compliant with the spec */ gchar *uri_crlf = g_strconcat(uri, "\r\n", NULL); + GdkAtom target; - gtk_selection_data_set(data, data->target, 8, (guchar *)uri_crlf, strlen(uri_crlf)); + target = gtk_selection_data_get_target (data); + gtk_selection_data_set(data, target, 8, (guchar *)uri_crlf, strlen(uri_crlf)); g_free(uri_crlf); } @@ -855,17 +892,23 @@ em_utils_selection_set_urilist(GtkSelectionData *data, CamelFolder *folder, GPtr * automatically cleaned up when the application quits. **/ void -em_utils_selection_get_urilist(GtkSelectionData *data, CamelFolder *folder) +em_utils_selection_get_urilist (GtkSelectionData *selection_data, + CamelFolder *folder) { CamelStream *stream; CamelURL *url; gint fd, i, res = 0; gchar *tmp, **uris; + const guchar *data; + gint length; d(printf(" * drop uri list\n")); - tmp = g_strndup((gchar *)data->data, data->length); - uris = g_strsplit(tmp, "\n", 0); + data = gtk_selection_data_get_data (selection_data); + length = gtk_selection_data_get_length (selection_data); + + tmp = g_strndup ((gchar *) data, length); + uris = g_strsplit (tmp, "\n", 0); g_free(tmp); for (i=0;res == 0 && uris[i];i++) { g_strstrip(uris[i]); diff --git a/mail/mail-send-recv.c b/mail/mail-send-recv.c index 4ffe4fd7a5..ffce0912d5 100644 --- a/mail/mail-send-recv.c +++ b/mail/mail-send-recv.c @@ -409,6 +409,7 @@ build_dialog (GtkWindow *parent, gint row, num_sources; GList *list = NULL; struct _send_data *data; + GtkWidget *container; GtkWidget *send_icon; GtkWidget *recv_icon; GtkWidget *scrolled_window; @@ -433,8 +434,12 @@ build_dialog (GtkWindow *parent, GTK_WINDOW (send_recv_dialog)); gtk_widget_ensure_style ((GtkWidget *)gd); - gtk_container_set_border_width ((GtkContainer *)gd->vbox, 0); - gtk_container_set_border_width ((GtkContainer *)gd->action_area, 6); + + container = gtk_dialog_get_action_area (gd); + gtk_container_set_border_width (GTK_CONTAINER (container), 6); + + container = gtk_dialog_get_content_area (gd); + gtk_container_set_border_width (GTK_CONTAINER (container), 0); cancel_button = gtk_button_new_with_mnemonic (_("Cancel _All")); gtk_button_set_image ( @@ -477,10 +482,11 @@ build_dialog (GtkWindow *parent, GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + container = gtk_dialog_get_content_area (gd); gtk_scrolled_window_add_with_viewport ( GTK_SCROLLED_WINDOW (scrolled_window), table); gtk_box_pack_start ( - GTK_BOX (gd->vbox), scrolled_window, TRUE, TRUE, 0); + GTK_BOX (container), scrolled_window, TRUE, TRUE, 0); gtk_widget_show (scrolled_window); /* must bet setup after send_recv_dialog as it may re-trigger send-recv button */ @@ -972,13 +978,8 @@ mail_send_receive (GtkWindow *parent) GList *scan; if (send_recv_dialog != NULL) { -#if GTK_CHECK_VERSION(2,19,7) if (parent != NULL && gtk_widget_get_realized (send_recv_dialog)) { -#else - if (parent != NULL && GTK_WIDGET_REALIZED (send_recv_dialog)) { -#endif - gdk_window_show (send_recv_dialog->window); - gdk_window_raise (send_recv_dialog->window); + gtk_window_present (GTK_WINDOW (send_recv_dialog)); } return send_recv_dialog; } diff --git a/mail/mail-vfolder.c b/mail/mail-vfolder.c index 700baedbe0..5f0f0c8a72 100644 --- a/mail/mail-vfolder.c +++ b/mail/mail-vfolder.c @@ -1175,6 +1175,7 @@ vfolder_edit_rule(const gchar *uri) { GtkWidget *w; GtkDialog *gd; + GtkWidget *container; EFilterRule *rule, *newrule; CamelURL *url; @@ -1186,19 +1187,21 @@ vfolder_edit_rule(const gchar *uri) w = e_filter_rule_get_widget((EFilterRule *)newrule, (ERuleContext *)context); - gd = (GtkDialog *)gtk_dialog_new_with_buttons(_("Edit Search Folder"), NULL, - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_CANCEL, - GTK_RESPONSE_CANCEL, - GTK_STOCK_OK, - GTK_RESPONSE_OK, - NULL); + gd = (GtkDialog *)gtk_dialog_new_with_buttons( + _("Edit Search Folder"), NULL, + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); + gtk_container_set_border_width (GTK_CONTAINER (gd), 6); - gtk_box_set_spacing ((GtkBox *) gd->vbox, 6); + + container = gtk_dialog_get_content_area (gd); + gtk_box_set_spacing (GTK_BOX (container), 6); + gtk_dialog_set_default_response(gd, GTK_RESPONSE_OK); g_object_set(gd, "allow_shrink", FALSE, "allow_grow", TRUE, NULL); gtk_window_set_default_size (GTK_WINDOW (gd), 500, 500); - gtk_box_pack_start((GtkBox *)gd->vbox, w, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (container), w, TRUE, TRUE, 0); gtk_widget_show((GtkWidget *)gd); g_object_set_data_full(G_OBJECT(gd), "rule", newrule, (GDestroyNotify)g_object_unref); g_object_set_data_full(G_OBJECT(gd), "orig", rule, (GDestroyNotify)g_object_unref); @@ -1282,26 +1285,29 @@ vfolder_gui_add_rule(EMVFolderRule *rule) { GtkWidget *w; GtkDialog *gd; + GtkWidget *container; /* this should be done before we call this function */ vfolder_load_storage (); w = e_filter_rule_get_widget((EFilterRule *)rule, (ERuleContext *)context); - gd = (GtkDialog *)gtk_dialog_new_with_buttons(_("New Search Folder"), - NULL, - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_CANCEL, - GTK_RESPONSE_CANCEL, - GTK_STOCK_OK, - GTK_RESPONSE_OK, - NULL); + gd = (GtkDialog *)gtk_dialog_new_with_buttons ( + _("New Search Folder"), + NULL, + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); + gtk_dialog_set_default_response(gd, GTK_RESPONSE_OK); gtk_container_set_border_width (GTK_CONTAINER (gd), 6); - gtk_box_set_spacing ((GtkBox *) gd->vbox, 6); + + container = gtk_dialog_get_content_area (gd); + gtk_box_set_spacing (GTK_BOX (container), 6); + g_object_set(gd, "allow_shrink", FALSE, "allow_grow", TRUE, NULL); gtk_window_set_default_size (GTK_WINDOW (gd), 500, 500); - gtk_box_pack_start((GtkBox *)gd->vbox, w, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX (container), w, TRUE, TRUE, 0); gtk_widget_show((GtkWidget *)gd); g_object_set_data_full(G_OBJECT(gd), "rule", rule, (GDestroyNotify)g_object_unref); g_signal_connect(rule, "changed", G_CALLBACK (new_rule_changed_cb), gd); diff --git a/mail/message-list.c b/mail/message-list.c index 2ea7836120..8662999704 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -2027,14 +2027,22 @@ ml_selection_clear_event(GtkWidget *widget, GdkEventSelection *event, MessageLis } static void -ml_selection_received(GtkWidget *widget, GtkSelectionData *data, guint time, MessageList *ml) +ml_selection_received (GtkWidget *widget, + GtkSelectionData *selection_data, + guint time, + MessageList *ml) { - if (data->target != gdk_atom_intern ("x-uid-list", FALSE)) { + GdkAtom target; + + target = gtk_selection_data_get_target (selection_data); + + if (target != gdk_atom_intern ("x-uid-list", FALSE)) { d(printf("Unknown selection received by message-list\n")); return; } - em_utils_selection_get_uidlist(data, ml->folder, FALSE, NULL); + em_utils_selection_get_uidlist ( + selection_data, ml->folder, FALSE, NULL); } static void @@ -2125,11 +2133,9 @@ ml_drop_async_done (struct _drop_msg *m) static void ml_drop_async_free (struct _drop_msg *m) { - g_object_unref(m->context); - camel_object_unref(m->folder); - - g_free(m->selection->data); - g_free(m->selection); + g_object_unref (m->context); + camel_object_unref (m->folder); + gtk_selection_data_free (m->selection); } static MailMsgInfo ml_drop_async_info = { @@ -2148,15 +2154,27 @@ ml_drop_action(struct _drop_msg *m) } static void -ml_tree_drag_data_received (ETree *tree, gint row, ETreePath path, gint col, - GdkDragContext *context, gint x, gint y, - GtkSelectionData *data, guint info, - guint time, MessageList *ml) +ml_tree_drag_data_received (ETree *tree, + gint row, + ETreePath path, + gint col, + GdkDragContext *context, + gint x, + gint y, + GtkSelectionData *selection_data, + guint info, + guint time, + MessageList *ml) { struct _drop_msg *m; - /* this means we are receiving no data */ - if (!ml->folder || data->data == NULL || data->length == -1) + if (ml->folder == NULL) + return; + + if (gtk_selection_data_get_data (selection_data) == NULL) + return; + + if (gtk_selection_data_get_length (selection_data) == -1) return; m = mail_msg_new(&ml_drop_async_info); @@ -2168,10 +2186,7 @@ ml_tree_drag_data_received (ETree *tree, gint row, ETreePath path, gint col, m->info = info; /* need to copy, goes away once we exit */ - m->selection = g_malloc0(sizeof(*m->selection)); - m->selection->data = g_malloc(data->length); - memcpy(m->selection->data, data->data, data->length); - m->selection->length = data->length; + m->selection = gtk_selection_data_copy (selection_data); ml_drop_action(m); } @@ -4407,11 +4422,7 @@ regen_list_done (struct _regen_list_msg *m) } } -#if GTK_CHECK_VERSION(2,19,7) if (gtk_widget_get_visible (GTK_WIDGET (m->ml))) { -#else - if (GTK_WIDGET_VISIBLE (GTK_WIDGET (m->ml))) { -#endif if (e_tree_row_count (E_TREE (m->ml)) <= 0) { /* space is used to indicate no search too */ if (m->ml->search && *m->ml->search && strcmp (m->ml->search, " ") != 0) @@ -4576,11 +4587,7 @@ mail_regen_list (MessageList *ml, const gchar *search, const gchar *hideexpr, Ca } if (e_tree_row_count (E_TREE (ml)) <= 0) { -#if GTK_CHECK_VERSION(2,19,7) if (gtk_widget_get_visible (GTK_WIDGET (ml))) { -#else - if (GTK_WIDGET_VISIBLE (GTK_WIDGET (ml))) { -#endif /* there is some info why the message list is empty, let it be something useful */ gchar *txt = g_strconcat (_("Generating message list"), "..." , NULL); |