[balsa/gtk3] Test for GDK_MULTIHEAD_SAFE, GDK_MULTIDEVICE_SAFE
- From: Peter Bloomfield <PeterB src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa/gtk3] Test for GDK_MULTIHEAD_SAFE, GDK_MULTIDEVICE_SAFE
- Date: Tue, 25 Jan 2011 03:09:32 +0000 (UTC)
commit f7eeb1bd2c2efbb97b6ddf0b2dad96e65c029650
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Mon Jan 24 22:07:32 2011 -0500
Test for GDK_MULTIHEAD_SAFE, GDK_MULTIDEVICE_SAFE
* configure.in: new deprecation tests GDK_MULTIHEAD_SAFE,
GDK_MULTIDEVICE_SAFE.
ChangeLog | 34 +++++++++++++++++++++++++++++++
configure.in | 1 +
libbalsa/files.c | 19 ++++++++++++-----
libbalsa/files.h | 7 ++++-
libbalsa/filter.c | 9 +++++--
libbalsa/identity.c | 10 +++++---
libbalsa/smtp-server.c | 5 ++-
libbalsa/source-viewer.c | 6 ++++-
src/address-book-config.c | 5 ++-
src/balsa-app.c | 4 +-
src/balsa-icons.c | 16 +++++++++-----
src/balsa-index.c | 7 +++++-
src/balsa-message.c | 6 +++-
src/balsa-mime-widget-message.c | 5 ++-
src/balsa-mime-widget-text.c | 41 ++++++++++++++++++++++++++-----------
src/balsa-print-object-default.c | 3 +-
src/balsa-print-object-text.c | 10 +++++---
src/filter-edit-callbacks.c | 16 ++++++++------
src/filter-run-callbacks.c | 9 ++++---
src/folder-conf.c | 5 ++-
src/main-window.c | 15 ++++++++-----
src/pref-manager.c | 5 ++-
src/sendmsg-window.c | 9 ++++---
src/toolbar-prefs.c | 5 ++-
24 files changed, 175 insertions(+), 77 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index f818298..e305339 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,37 @@
+2011-01-24 Peter Bloomfield
+
+ * configure.in: new deprecation tests GDK_MULTIHEAD_SAFE,
+ GDK_MULTIDEVICE_SAFE.
+ * libbalsa/files.c (libbalsa_icon_finder): add widget argument
+ so we can find settings.
+ * libbalsa/files.h: ditto.
+ * libbalsa/filter.c (libbalsa_filter_mailbox_messages):
+ deprecation cleanup.
+ * libbalsa/identity.c (help_ident_cb), (md_response_cb): ditto.
+ * libbalsa/smtp-server.c (smtp_server_response): ditto.
+ * libbalsa/source-viewer.c (copy_cb): ditto.
+ * src/address-book-config.c (help_button_cb): ditto.
+ * src/balsa-app.c (balsa_app_init): ditto.
+ * src/balsa-icons.c (load_balsa_pixmap): ditto.
+ * src/balsa-index.c (balsa_index_set_column_widths): ditto.
+ * src/balsa-message.c (display_part): ditto.
+ * src/balsa-mime-widget-message.c (extbody_call_url): ditto.
+ * src/balsa-mime-widget-text.c (fix_text_widget), (url_copy_cb),
+ (check_over_url), (handle_url), (fill_text_buf_cited): ditto.
+ * src/balsa-print-object-default.c (balsa_print_object_default):
+ ditto.
+ * src/balsa-print-object-text.c (balsa_print_object_text_vcard),
+ (balsa_print_object_text_calendar): ditto.
+ * src/filter-edit-callbacks.c (condition_dialog_response),
+ (fe_dialog_response): ditto.
+ * src/filter-run-callbacks.c (fr_dialog_response): ditto.
+ * src/folder-conf.c (folder_conf_response): ditto.
+ * src/main-window.c: ditto.
+ * src/pref-manager.c (balsa_help_pbox_display): ditto.
+ * src/sendmsg-window.c (on_open_url_cb), (add_attachment):
+ ditto.
+ * src/toolbar-prefs.c (tp_dialog_response_cb): ditto.
+
2011-01-23 Peter Bloomfield
* src/balsa-mime-widget-text.c (text_view_url_popup):
diff --git a/configure.in b/configure.in
index 51c3445..7ce9bae 100644
--- a/configure.in
+++ b/configure.in
@@ -887,6 +887,7 @@ if test -d "${srcdir}/.git" ; then
-DGDK_DISABLE_DEPRECATED \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_MULTIDEVICE_SAFE \
+-DGDK_MULTIHEAD_SAFE \
-DGMIME_DISABLE_DEPRECATED \
-DGNOME_DISABLE_DEPRECATED \
-DGNOME_DISABLE_DEPRECATED_SOURCE \
diff --git a/libbalsa/files.c b/libbalsa/files.c
index 19d8f4f..8869449 100644
--- a/libbalsa/files.c
+++ b/libbalsa/files.c
@@ -120,7 +120,7 @@ libbalsa_default_attachment_pixbuf(gint size)
}
-/* balsa_icon_finder:
+/* libbalsa_icon_finder:
* locate a suitable icon (pixmap graphic) based on 'mime-type' and/or
* 'filename', either of which can be NULL. If both arguments are
* non-NULL, 'mime-type' has priority. If both are NULL, the default
@@ -128,8 +128,11 @@ libbalsa_default_attachment_pixbuf(gint size)
* return the complete path to the icon file.
*/
GdkPixbuf *
-libbalsa_icon_finder(const char *mime_type, const LibbalsaVfs * for_file,
- gchar** used_type, GtkIconSize size)
+libbalsa_icon_finder(GtkWidget * widget,
+ const char * mime_type,
+ const LibbalsaVfs * for_file,
+ gchar ** used_type,
+ GtkIconSize size)
{
const gchar *content_type;
gchar *icon = NULL;
@@ -137,10 +140,14 @@ libbalsa_icon_finder(const char *mime_type, const LibbalsaVfs * for_file,
gint width, height;
const gchar * filename = NULL;
GtkIconTheme *icon_theme;
+ GtkSettings *settings;
+
+ settings = widget ? gtk_widget_get_settings(widget) : NULL;
+ if (!settings
+ || !gtk_icon_size_lookup_for_settings(settings, size,
+ &width, &height))
+ width = height = 16;
- if (!gtk_icon_size_lookup(size, &width, &height))
- width = height = 16;
-
if (mime_type)
content_type = mime_type;
else if (for_file) {
diff --git a/libbalsa/files.h b/libbalsa/files.h
index 89c1a98..c8fce72 100644
--- a/libbalsa/files.h
+++ b/libbalsa/files.h
@@ -44,7 +44,10 @@ gchar *balsa_file_finder(const gchar * filename, const gchar * splice,
#define balsa_pixmap_finder_no_warn(filename) \
(balsa_file_finder((filename), "pixmaps", NULL, FALSE))
-GdkPixbuf *libbalsa_icon_finder(const char *mime_type, const LibbalsaVfs * for_file,
- gchar** used_type, GtkIconSize size);
+GdkPixbuf *libbalsa_icon_finder(GtkWidget * widget,
+ const char * mime_type,
+ const LibbalsaVfs * for_file,
+ gchar ** used_type,
+ GtkIconSize size);
#endif
diff --git a/libbalsa/filter.c b/libbalsa/filter.c
index 9d751d7..387e901 100644
--- a/libbalsa/filter.c
+++ b/libbalsa/filter.c
@@ -258,9 +258,12 @@ libbalsa_filter_mailbox_messages(LibBalsaFilter * filt,
#if HAVE_CANBERRA
if (filt->sound) {
- gint rc = ca_context_play(ca_gtk_context_get(), 0,
- CA_PROP_MEDIA_FILENAME, filt->sound,
- NULL);
+ GdkScreen *screen;
+ gint rc;
+
+ screen = gdk_screen_get_default();
+ rc = ca_context_play(ca_gtk_context_get_for_screen(screen), 0,
+ CA_PROP_MEDIA_FILENAME, filt->sound, NULL);
g_message("(%s) play %s, %s", __func__, filt->sound, ca_strerror(rc));
}
#endif /* HAVE_CANBERRA */
diff --git a/libbalsa/identity.c b/libbalsa/identity.c
index 7b83cde..d550d08 100644
--- a/libbalsa/identity.c
+++ b/libbalsa/identity.c
@@ -585,7 +585,7 @@ static void new_ident_cb(GtkTreeView * tree, GObject * dialog);
static void delete_ident_cb(GtkTreeView * tree, GtkWidget * dialog);
static void delete_ident_response(GtkWidget * confirm, gint response,
IdentityDeleteInfo * di);
-static void help_ident_cb(void);
+static void help_ident_cb(GtkWidget * widget);
static void set_default_ident_cb(GtkTreeView * tree, GtkTreePath * path,
GtkTreeViewColumn * column,
@@ -1658,11 +1658,13 @@ delete_ident_response(GtkWidget * confirm, gint response,
* Show the help file.
*/
static void
-help_ident_cb(void)
+help_ident_cb(GtkWidget * widget)
{
+ GdkScreen *screen;
GError *err = NULL;
- gtk_show_uri(gdk_screen_get_default(), "ghelp:balsa?identities",
+ screen = gtk_widget_get_screen(widget);
+ gtk_show_uri(screen, "ghelp:balsa?identities",
gtk_get_current_event_time(), &err);
if (err) {
@@ -1782,7 +1784,7 @@ md_response_cb(GtkWidget * dialog, gint response, GtkTreeView * tree)
delete_ident_cb(tree, dialog);
return;
case IDENTITY_RESPONSE_HELP:
- help_ident_cb();
+ help_ident_cb(dialog);
return;
default:
break;
diff --git a/libbalsa/smtp-server.c b/libbalsa/smtp-server.c
index 06740f5..7951857 100644
--- a/libbalsa/smtp-server.c
+++ b/libbalsa/smtp-server.c
@@ -414,13 +414,14 @@ static void
smtp_server_response(GtkDialog * dialog, gint response,
struct smtp_server_dialog_info *sdi)
{
+ GdkScreen *screen;
LibBalsaServer *server = LIBBALSA_SERVER(sdi->smtp_server);
GError *error = NULL;
switch (response) {
case GTK_RESPONSE_HELP:
- gtk_show_uri(gdk_screen_get_default(),
- "ghelp:balsa?smtp-server-config",
+ screen = gtk_widget_get_screen(GTK_WIDGET(dialog));
+ gtk_show_uri(screen, "ghelp:balsa?smtp-server-config",
gtk_get_current_event_time(), &error);
if (error) {
libbalsa_information(LIBBALSA_INFORMATION_WARNING,
diff --git a/libbalsa/source-viewer.c b/libbalsa/source-viewer.c
index ac9fd24..228cac4 100644
--- a/libbalsa/source-viewer.c
+++ b/libbalsa/source-viewer.c
@@ -96,7 +96,11 @@ copy_cb(GtkAction * action, gpointer data)
{
GtkTextView *text = g_object_get_data(G_OBJECT(data), "text");
GtkTextBuffer *buffer = gtk_text_view_get_buffer(text);
- GtkClipboard *clipboard = gtk_clipboard_get(GDK_NONE);
+ GdkDisplay *display;
+ GtkClipboard *clipboard;
+
+ display = gtk_widget_get_display(GTK_WIDGET(text));
+ clipboard = gtk_clipboard_get_for_display(display, GDK_NONE);
gtk_text_buffer_copy_clipboard(buffer, clipboard);
}
diff --git a/src/address-book-config.c b/src/address-book-config.c
index 29166c3..c55be05 100644
--- a/src/address-book-config.c
+++ b/src/address-book-config.c
@@ -530,10 +530,11 @@ create_rubrica_dialog(AddressBookConfig * abc)
static void
help_button_cb(AddressBookConfig * abc)
{
+ GdkScreen *screen;
GError *err = NULL;
- gtk_show_uri(gdk_screen_get_default(),
- "ghelp:balsa?preferences-address-books",
+ screen = gtk_widget_get_screen(abc->window);
+ gtk_show_uri(screen, "ghelp:balsa?preferences-address-books",
gtk_get_current_event_time(), &err);
if (err) {
diff --git a/src/balsa-app.c b/src/balsa-app.c
index 0ae9396..2ae9944 100644
--- a/src/balsa-app.c
+++ b/src/balsa-app.c
@@ -439,8 +439,8 @@ balsa_app_init(void)
balsa_app.folder_mru=NULL;
balsa_app.fcc_mru=NULL;
- g_object_set (gtk_settings_get_default (),
- "gtk-fallback-icon-theme", "gnome", NULL);
+ g_object_set(gtk_settings_get_for_screen(gdk_screen_get_default()),
+ "gtk-fallback-icon-theme", "gnome", NULL);
}
void
diff --git a/src/balsa-icons.c b/src/balsa-icons.c
index 3249d07..659aae4 100644
--- a/src/balsa-icons.c
+++ b/src/balsa-icons.c
@@ -77,6 +77,7 @@ load_balsa_pixmap(GtkIconTheme *icon_theme, GtkIconFactory *factory,
{ "folder-drag-accept", GTK_STOCK_OPEN},
{ "folder", GTK_STOCK_DIRECTORY},
{ NULL, NULL } };
+ GtkSettings *settings;
BICONS_LOG("loading icon %s (stock id %s)", bpixmap->name,
bpixmap->stock_id);
@@ -98,16 +99,18 @@ load_balsa_pixmap(GtkIconTheme *icon_theme, GtkIconFactory *factory,
} else
use_id = bpixmap->stock_id;
- g_hash_table_insert(balsa_icon_table, g_strdup(bpixmap->name),
+ g_hash_table_insert(balsa_icon_table, g_strdup(bpixmap->name),
g_strdup(use_id));
- if (!gtk_icon_size_lookup(bpixmap->sizes[0], &width, &height)) {
+ settings = gtk_settings_get_for_screen(gdk_screen_get_default());
+ if (!gtk_icon_size_lookup_for_settings(settings, bpixmap->sizes[0],
+ &width, &height)) {
BICONS_ERR("failed: could not look up default icon size %d",
bpixmap->sizes[0]);
return;
}
- pixbuf =
+ pixbuf =
gtk_icon_theme_load_icon(icon_theme, use_id, width,
GTK_ICON_LOOKUP_USE_BUILTIN, &error);
if (!pixbuf) {
@@ -119,11 +122,12 @@ load_balsa_pixmap(GtkIconTheme *icon_theme, GtkIconFactory *factory,
icon_set = gtk_icon_set_new_from_pixbuf(pixbuf);
g_object_unref(pixbuf);
- for (n = 1;
+ for (n = 1;
n < BALSA_PIXMAP_SIZES && bpixmap->sizes[n] > GTK_ICON_SIZE_INVALID;
n++) {
- if (gtk_icon_size_lookup(bpixmap->sizes[n], &width, &height)) {
- pixbuf =
+ if (gtk_icon_size_lookup_for_settings(settings, bpixmap->sizes[n],
+ &width, &height)) {
+ pixbuf =
gtk_icon_theme_load_icon(icon_theme, use_id, width,
GTK_ICON_LOOKUP_USE_BUILTIN, &error);
if (!pixbuf) {
diff --git a/src/balsa-index.c b/src/balsa-index.c
index 196d368..8a713e5 100644
--- a/src/balsa-index.c
+++ b/src/balsa-index.c
@@ -1383,6 +1383,8 @@ balsa_index_set_column_widths(BalsaIndex * index)
{
GtkTreeView *tree_view = GTK_TREE_VIEW(index);
gint icon_w;
+ GdkScreen *screen;
+ GtkSettings *settings;
#if defined(TREE_VIEW_FIXED_HEIGHT)
/* so that fixed width works properly */
@@ -1392,7 +1394,10 @@ balsa_index_set_column_widths(BalsaIndex * index)
#endif
/* I have no idea why we must add 5 pixels to the icon width - otherwise,
the icon will be clipped... */
- gtk_icon_size_lookup(GTK_ICON_SIZE_MENU, &icon_w, NULL);
+ screen = gtk_widget_get_screen(GTK_WIDGET(index));
+ settings = gtk_settings_get_for_screen(screen);
+ gtk_icon_size_lookup_for_settings(settings, GTK_ICON_SIZE_MENU,
+ &icon_w, NULL);
gtk_tree_view_column_set_fixed_width(gtk_tree_view_get_column
(tree_view, LB_MBOX_MARKED_COL),
icon_w + 5);
diff --git a/src/balsa-message.c b/src/balsa-message.c
index de792f9..e63e1d9 100644
--- a/src/balsa-message.c
+++ b/src/balsa-message.c
@@ -1448,7 +1448,8 @@ display_part(BalsaMessage * bm, LibBalsaMessageBody * body,
#endif
if (!content_icon)
content_icon =
- libbalsa_icon_finder(content_type, NULL, NULL,
+ libbalsa_icon_finder(GTK_WIDGET(bm),
+ content_type, NULL, NULL,
GTK_ICON_SIZE_LARGE_TOOLBAR);
gtk_tree_store_set (GTK_TREE_STORE(model), iter,
PART_INFO_COLUMN, info,
@@ -1460,7 +1461,8 @@ display_part(BalsaMessage * bm, LibBalsaMessageBody * body,
g_free(icon_title);
} else {
content_icon =
- libbalsa_icon_finder(content_type, NULL, NULL,
+ libbalsa_icon_finder(GTK_WIDGET(bm),
+ content_type, NULL, NULL,
GTK_ICON_SIZE_LARGE_TOOLBAR);
gtk_tree_store_set (GTK_TREE_STORE(model), iter,
PART_INFO_COLUMN, NULL,
diff --git a/src/balsa-mime-widget-message.c b/src/balsa-mime-widget-message.c
index 8086515..dde0d6b 100644
--- a/src/balsa-mime-widget-message.c
+++ b/src/balsa-mime-widget-message.c
@@ -287,11 +287,12 @@ static void
extbody_call_url(GtkWidget * button, gpointer data)
{
gchar *url = g_object_get_data(G_OBJECT(button), "call_url");
+ GdkScreen *screen;
GError *err = NULL;
g_return_if_fail(url);
- gtk_show_uri(gdk_screen_get_default(), url,
- gtk_get_current_event_time(), &err);
+ screen = gtk_widget_get_screen(button);
+ gtk_show_uri(screen, url, gtk_get_current_event_time(), &err);
if (err) {
balsa_information(LIBBALSA_INFORMATION_WARNING,
_("Error showing %s: %s\n"), url, err->message);
diff --git a/src/balsa-mime-widget-text.c b/src/balsa-mime-widget-text.c
index cba6acf..ea2e3ba 100644
--- a/src/balsa-mime-widget-text.c
+++ b/src/balsa-mime-widget-text.c
@@ -408,15 +408,20 @@ fix_text_widget(GtkWidget *widget, gpointer data)
GdkWindow *w =
gtk_text_view_get_window(GTK_TEXT_VIEW(widget),
GTK_TEXT_WINDOW_TEXT);
-
+
if (data)
gdk_window_set_events(w,
gdk_window_get_events(w) |
GDK_POINTER_MOTION_MASK |
GDK_LEAVE_NOTIFY_MASK);
if (!url_cursor_normal || !url_cursor_over_url) {
- url_cursor_normal = gdk_cursor_new(GDK_XTERM);
- url_cursor_over_url = gdk_cursor_new(GDK_HAND2);
+ GdkDisplay *display;
+
+ display = gdk_window_get_display(w);
+ url_cursor_normal =
+ gdk_cursor_new_for_display(display, GDK_XTERM);
+ url_cursor_over_url =
+ gdk_cursor_new_for_display(display, GDK_HAND2);
}
gdk_window_set_cursor(w, url_cursor_normal);
@@ -432,7 +437,7 @@ gtk_widget_destroy_insensitive(GtkWidget * widget)
}
static void
-structured_phrases_toggle(GtkCheckMenuItem *checkmenuitem,
+structured_phrases_toggle(GtkCheckMenuItem *checkmenuitem,
GtkTextView *textview)
{
GtkTextTagTable * table;
@@ -469,8 +474,13 @@ structured_phrases_toggle(GtkCheckMenuItem *checkmenuitem,
static void
url_copy_cb(GtkWidget * menu_item, message_url_t * uri)
{
- gtk_clipboard_set_text(gtk_clipboard_get(GDK_SELECTION_PRIMARY),
- uri->url, -1);
+ GdkDisplay *display;
+ GtkClipboard *clipboard;
+
+ display = gtk_widget_get_display(menu_item);
+ clipboard =
+ gtk_clipboard_get_for_display(display, GDK_SELECTION_PRIMARY);
+ gtk_clipboard_set_text(clipboard, uri->url, -1);
}
static void
@@ -620,8 +630,13 @@ check_over_url(GtkWidget * widget, GdkEventMotion * event,
if (url) {
if (!url_cursor_normal || !url_cursor_over_url) {
- url_cursor_normal = gdk_cursor_new(GDK_LEFT_PTR);
- url_cursor_over_url = gdk_cursor_new(GDK_HAND2);
+ GdkDisplay *display;
+
+ display = gdk_window_get_display(window);
+ url_cursor_normal =
+ gdk_cursor_new_for_display(display, GDK_LEFT_PTR);
+ url_cursor_over_url =
+ gdk_cursor_new_for_display(display, GDK_HAND2);
}
if (!was_over_url) {
gdk_window_set_cursor(window, url_cursor_over_url);
@@ -788,6 +803,7 @@ handle_url(const gchar * url)
GtkStatusbar *statusbar;
guint context_id;
gchar *notice = g_strdup_printf(_("Calling URL %s..."), url);
+ GdkScreen *screen;
GError *err = NULL;
statusbar = GTK_STATUSBAR(balsa_app.main_window->statusbar);
@@ -797,8 +813,8 @@ handle_url(const gchar * url)
gtk_statusbar_push(statusbar, context_id, notice);
SCHEDULE_BAR_REFRESH();
g_free(notice);
- gtk_show_uri(gdk_screen_get_default(), url,
- gtk_get_current_event_time(), &err);
+ screen = gtk_widget_get_screen(GTK_WIDGET(balsa_app.main_window));
+ gtk_show_uri(screen, url, gtk_get_current_event_time(), &err);
if (err) {
balsa_information(LIBBALSA_INFORMATION_WARNING,
_("Error showing %s: %s\n"),
@@ -1231,6 +1247,7 @@ fill_text_buf_cited(GtkWidget *widget, const gchar *text_body,
LibBalsaUrlInsertInfo url_info;
GList * cite_bars_list;
guint cite_level;
+ GdkScreen *screen;
guint cite_start;
gint margin;
gdouble char_width;
@@ -1268,8 +1285,8 @@ fill_text_buf_cited(GtkWidget *widget, const gchar *text_body,
char_width = char_width / PANGO_SCALE;
/* convert char_width from points to pixels */
- margin = (char_width / 72.0) *
- gdk_screen_get_resolution(gdk_screen_get_default());
+ screen = gtk_widget_get_screen(widget);
+ margin = (char_width / 72.0) * gdk_screen_get_resolution(screen);
color.red = G_MAXUINT16 * balsa_app.url_color.red;
color.green = G_MAXUINT16 * balsa_app.url_color.green;
diff --git a/src/balsa-print-object-default.c b/src/balsa-print-object-default.c
index 77483bd..231c61e 100644
--- a/src/balsa-print-object-default.c
+++ b/src/balsa-print-object-default.c
@@ -135,7 +135,8 @@ balsa_print_object_default(GList * list,
/* get a pixbuf according to the mime type */
conttype = libbalsa_message_body_get_mime_type(body);
pod->pixbuf =
- libbalsa_icon_finder(conttype, NULL, NULL, GTK_ICON_SIZE_DND);
+ libbalsa_icon_finder(NULL, conttype, NULL, NULL,
+ GTK_ICON_SIZE_DND);
pod->c_image_width = gdk_pixbuf_get_width(pod->pixbuf);
pod->c_image_height = gdk_pixbuf_get_height(pod->pixbuf);
diff --git a/src/balsa-print-object-text.c b/src/balsa-print-object-text.c
index 4f6f942..7e1bc90 100644
--- a/src/balsa-print-object-text.c
+++ b/src/balsa-print-object-text.c
@@ -487,8 +487,9 @@ balsa_print_object_text_vcard(GList * list,
GTK_ICON_LOOKUP_USE_BUILTIN, NULL);
if (!pod->pixbuf) {
gchar *conttype = libbalsa_message_body_get_mime_type(body);
-
- pod->pixbuf = libbalsa_icon_finder(conttype, NULL, NULL, GTK_ICON_SIZE_DND);
+
+ pod->pixbuf = libbalsa_icon_finder(NULL, conttype, NULL, NULL,
+ GTK_ICON_SIZE_DND);
}
pod->c_image_width = gdk_pixbuf_get_width(pod->pixbuf);
pod->c_image_height = gdk_pixbuf_get_height(pod->pixbuf);
@@ -633,8 +634,9 @@ balsa_print_object_text_calendar(GList * list,
GTK_ICON_LOOKUP_USE_BUILTIN, NULL);
if (!pod->pixbuf) {
gchar *conttype = libbalsa_message_body_get_mime_type(body);
-
- pod->pixbuf = libbalsa_icon_finder(conttype, NULL, NULL, GTK_ICON_SIZE_DND);
+
+ pod->pixbuf = libbalsa_icon_finder(NULL, conttype, NULL, NULL,
+ GTK_ICON_SIZE_DND);
}
pod->c_image_width = gdk_pixbuf_get_width(pod->pixbuf);
pod->c_image_height = gdk_pixbuf_get_height(pod->pixbuf);
diff --git a/src/filter-edit-callbacks.c b/src/filter-edit-callbacks.c
index f2f86a3..3c834ed 100644
--- a/src/filter-edit-callbacks.c
+++ b/src/filter-edit-callbacks.c
@@ -834,6 +834,7 @@ condition_dialog_response(GtkWidget * dialog, gint response,
{
LibBalsaCondition *new_cnd;
GError *err = NULL;
+ GdkScreen *screen;
switch (response) {
case GTK_RESPONSE_OK: /* OK button */
@@ -889,8 +890,8 @@ condition_dialog_response(GtkWidget * dialog, gint response,
gtk_widget_hide(dialog);
break;
case GTK_RESPONSE_HELP: /* Help button */
- gtk_show_uri(gdk_screen_get_default(),
- "ghelp:balsa?win-condition",
+ screen = gtk_widget_get_screen(dialog);
+ gtk_show_uri(screen, "ghelp:balsa?win-condition",
gtk_get_current_event_time(), &err);
if (err) {
balsa_information_parented(GTK_WINDOW(dialog),
@@ -1448,7 +1449,7 @@ void fe_destroy_window_cb(GtkWidget * widget,gpointer throwaway)
/*
* fe_dialog_response()
*
- * Handles the clicking of the main buttons at the
+ * Handles the clicking of the main buttons at the
* bottom of the dialog. wooo.
*/
void
@@ -1459,13 +1460,14 @@ fe_dialog_response(GtkWidget * dialog, gint response, gpointer data)
GtkTreeIter iter;
gboolean valid;
GError *err = NULL;
-
+ GdkScreen *screen;
+
switch (response) {
case GTK_RESPONSE_OK: /* OK button */
/* We clear the old filters */
libbalsa_filter_clear_filters(balsa_app.filters,TRUE);
balsa_app.filters=NULL;
-
+
/* We put the modified filters */
for (valid = gtk_tree_model_get_iter_first(model, &iter); valid;
valid = gtk_tree_model_iter_next(model, &iter)) {
@@ -1497,8 +1499,8 @@ fe_dialog_response(GtkWidget * dialog, gint response, gpointer data)
break;
case GTK_RESPONSE_HELP: /* Help button */
- gtk_show_uri(gdk_screen_get_default(),
- "ghelp:balsa?win-filters",
+ screen = gtk_widget_get_screen(dialog);
+ gtk_show_uri(screen, "ghelp:balsa?win-filters",
gtk_get_current_event_time(), &err);
if (err) {
balsa_information_parented(GTK_WINDOW(dialog),
diff --git a/src/filter-run-callbacks.c b/src/filter-run-callbacks.c
index 78b8f49..a69cd58 100644
--- a/src/filter-run-callbacks.c
+++ b/src/filter-run-callbacks.c
@@ -161,6 +161,7 @@ void fr_dialog_response(GtkWidget * widget, gint response,
gpointer throwaway)
{
BalsaFilterRunDialog * p;
+ GdkScreen *screen;
GError *err = NULL;
p=BALSA_FILTER_RUN_DIALOG(widget);
@@ -173,11 +174,11 @@ void fr_dialog_response(GtkWidget * widget, gint response,
case GTK_RESPONSE_NONE: /* Close window */
/* We free the mailbox_filter datas, they are useless now */
fr_clean_associated_mailbox_filters(p->selected_filters);
-
+
break;
case GTK_RESPONSE_HELP: /* Help button */
- gtk_show_uri(gdk_screen_get_default(),
- "ghelp:balsa?win-run-filters",
+ screen = gtk_widget_get_screen(widget);
+ gtk_show_uri(screen, "ghelp:balsa?win-run-filters",
gtk_get_current_event_time(), &err);
if (err) {
balsa_information_parented(GTK_WINDOW(widget),
@@ -196,7 +197,7 @@ void fr_dialog_response(GtkWidget * widget, gint response,
}
-/*
+/*
*Callbacks for apply/left/right buttons
*/
diff --git a/src/folder-conf.c b/src/folder-conf.c
index e372bd2..ac89548 100644
--- a/src/folder-conf.c
+++ b/src/folder-conf.c
@@ -93,6 +93,7 @@ static void
folder_conf_response(GtkDialog * dialog, int response,
CommonDialogData * cdd)
{
+ GdkScreen *screen;
GError *err = NULL;
/* If mbnode's parent gets rescanned, mbnode will be finalized,
@@ -103,8 +104,8 @@ folder_conf_response(GtkDialog * dialog, int response,
g_object_ref(cdd->mbnode);
switch (response) {
case GTK_RESPONSE_HELP:
- gtk_show_uri(gdk_screen_get_default(),
- "ghelp:balsa?folder-config",
+ screen = gtk_widget_get_screen(GTK_WIDGET(dialog));
+ gtk_show_uri(screen, "ghelp:balsa?folder-config",
gtk_get_current_event_time(), &err);
if (err) {
balsa_information(LIBBALSA_INFORMATION_WARNING,
diff --git a/src/main-window.c b/src/main-window.c
index ca0cc79..91cbae8 100644
--- a/src/main-window.c
+++ b/src/main-window.c
@@ -306,7 +306,7 @@ static gboolean bw_notebook_drag_motion_cb(GtkWidget* widget,
static GtkWidget *bw_notebook_label_new (BalsaMailboxNode* mbnode);
static void bw_ident_manage_dialog_cb(GtkAction * action, gpointer user_data);
-static void bw_contents_cb(void);
+static void bw_contents_cb(GtkAction * action, gpointer user_data);
static void
bw_quit_nicely(GtkAction * action, gpointer data)
@@ -2669,12 +2669,14 @@ bw_is_open_mailbox(LibBalsaMailbox *m)
}
static void
-bw_contents_cb(void)
+bw_contents_cb(GtkAction * action, gpointer user_data)
{
+ GdkScreen *screen;
GError *err = NULL;
- gtk_show_uri(gdk_screen_get_default(), "ghelp:balsa",
- gtk_get_current_event_time(), &err);
+ screen = gtk_window_get_screen(user_data);
+ gtk_show_uri(screen, "ghelp:balsa", gtk_get_current_event_time(),
+ &err);
if (err) {
balsa_information(LIBBALSA_INFORMATION_WARNING,
_("Error displaying help: %s\n"), err->message);
@@ -4264,6 +4266,7 @@ bw_find_real(BalsaWindow * window, BalsaIndex * bindex, gboolean again)
GtkToggleButton *matching_body, *matching_from;
GtkToggleButton *matching_to, *matching_cc, *matching_subject;
gint ok;
+ GdkScreen *screen;
#if HAVE_MACOSX_DESKTOP
libbalsa_macosx_menu_for_parent(dia, GTK_WINDOW(window));
@@ -4413,8 +4416,8 @@ bw_find_real(BalsaWindow * window, BalsaIndex * bindex, gboolean again)
ok = GTK_RESPONSE_CANCEL;
break;
case GTK_RESPONSE_HELP:
- gtk_show_uri(gdk_screen_get_default(),
- "ghelp:balsa?win-search",
+ screen = gtk_widget_get_screen(GTK_WIDGET(window));
+ gtk_show_uri(screen, "ghelp:balsa?win-search",
gtk_get_current_event_time(), &err);
if (err) {
balsa_information(LIBBALSA_INFORMATION_WARNING,
diff --git a/src/pref-manager.c b/src/pref-manager.c
index 837832c..d020818 100644
--- a/src/pref-manager.c
+++ b/src/pref-manager.c
@@ -3559,6 +3559,7 @@ balsa_help_pbox_display(void)
gchar *link_id;
GError *err = NULL;
gchar *uri;
+ GdkScreen *screen;
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(pui->view));
if (!gtk_tree_selection_get_selected(selection, &model, &iter))
@@ -3571,8 +3572,8 @@ balsa_help_pbox_display(void)
g_free(text);
uri = g_strconcat("ghelp:balsa?", link_id, NULL);
- gtk_show_uri(gdk_screen_get_default(), uri,
- gtk_get_current_event_time(), &err);
+ screen = gtk_widget_get_screen(pui->view);
+ gtk_show_uri(screen, uri, gtk_get_current_event_time(), &err);
g_free(uri);
if (err) {
balsa_information(LIBBALSA_INFORMATION_WARNING,
diff --git a/src/sendmsg-window.c b/src/sendmsg-window.c
index ec89333..c7fcac9 100644
--- a/src/sendmsg-window.c
+++ b/src/sendmsg-window.c
@@ -1806,6 +1806,7 @@ attachment_menu_vfs_cb(GtkWidget * menu_item, BalsaAttachInfo * info)
static void
on_open_url_cb(GtkWidget * menu_item, BalsaAttachInfo * info)
{
+ GdkScreen *screen;
GError *err = NULL;
const gchar * uri;
@@ -1814,8 +1815,8 @@ on_open_url_cb(GtkWidget * menu_item, BalsaAttachInfo * info)
g_return_if_fail(uri != NULL);
g_message("open URL %s", uri);
- gtk_show_uri(gdk_screen_get_default(), uri,
- gtk_get_current_event_time(), &err);
+ screen = gtk_widget_get_screen(menu_item);
+ gtk_show_uri(screen, uri, gtk_get_current_event_time(), &err);
if (err) {
balsa_information(LIBBALSA_INFORMATION_WARNING,
_("Error showing %s: %s\n"),
@@ -2050,8 +2051,8 @@ add_attachment(BalsaSendmsg * bsmsg, const gchar *filename,
if (is_fwd_message)
content_type = g_strdup(forced_mime_type);
pixbuf =
- libbalsa_icon_finder(forced_mime_type, file_uri, &content_type,
- GTK_ICON_SIZE_LARGE_TOOLBAR);
+ libbalsa_icon_finder(GTK_WIDGET(bsmsg), forced_mime_type, file_uri,
+ &content_type, GTK_ICON_SIZE_LARGE_TOOLBAR);
if (!content_type)
/* Last ditch. */
content_type = g_strdup("application/octet-stream");
diff --git a/src/toolbar-prefs.c b/src/toolbar-prefs.c
index 1a43850..141432e 100644
--- a/src/toolbar-prefs.c
+++ b/src/toolbar-prefs.c
@@ -340,6 +340,7 @@ current_selection_changed_cb(GtkTreeSelection * selection, ToolbarPage * page)
static void
tp_dialog_response_cb(GtkDialog * dialog, gint response, gpointer data)
{
+ GdkScreen *screen;
GError *err = NULL;
switch (response) {
@@ -348,8 +349,8 @@ tp_dialog_response_cb(GtkDialog * dialog, gint response, gpointer data)
gtk_widget_destroy(GTK_WIDGET(dialog));
break;
case GTK_RESPONSE_HELP:
- gtk_show_uri(gdk_screen_get_default(),
- "ghelp:balsa?toolbar-prefs",
+ screen = gtk_widget_get_screen(GTK_WIDGET(dialog));
+ gtk_show_uri(screen, "ghelp:balsa?toolbar-prefs",
gtk_get_current_event_time(), &err);
if (err) {
balsa_information(LIBBALSA_INFORMATION_WARNING,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]