[balsa/wip/gtk4: 1/351] First cut at porting to Gtk version 4
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa/wip/gtk4: 1/351] First cut at porting to Gtk version 4
- Date: Wed, 23 May 2018 21:17:01 +0000 (UTC)
commit 85baf0023b1ad3fc153c683c7bfbdc319c836e5e
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Tue Oct 3 18:00:35 2017 -0400
First cut at porting to Gtk version 4
libbalsa/address-view.c | 37 ++++-----
libbalsa/address.c | 9 +-
libbalsa/html.c | 15 ++--
libbalsa/identity.c | 39 ++++-----
libbalsa/libbalsa-progress.c | 14 ++--
libbalsa/libbalsa.c | 22 ++++--
libbalsa/smtp-server.c | 11 ++-
libbalsa/source-viewer.c | 9 +-
libinit_balsa/assistant_init.c | 2 +-
libinit_balsa/assistant_page_defclient.c | 36 +++++----
libinit_balsa/assistant_page_directory.c | 7 +-
libinit_balsa/assistant_page_user.c | 5 +-
meson.build | 2 +-
meson_options.txt | 2 +-
src/ab-main.c | 45 +++++-----
src/ab-window.c | 35 ++++----
src/address-book-config.c | 31 ++++----
src/balsa-app.c | 2 +-
src/balsa-cite-bar.c | 55 ++++++------
src/balsa-index.c | 52 +++++-------
src/balsa-mblist.c | 61 +++++--------
src/balsa-message.c | 98 ++++++++++------------
src/balsa-mime-widget-callbacks.c | 19 +++--
src/balsa-mime-widget-callbacks.h | 4 +-
src/balsa-mime-widget-image.c | 15 ++--
src/balsa-mime-widget-message.c | 47 +++++------
src/balsa-mime-widget-text.c | 71 ++++++++++------
src/balsa-mime-widget.c | 26 +++---
src/filter-edit-callbacks.c | 37 +++++---
src/filter-edit-dialog.c | 72 ++++++++--------
src/filter-export-dialog.c | 8 +-
src/filter-run-dialog.c | 25 ++++--
src/folder-conf.c | 28 ++++---
src/information-dialog.c | 8 +-
src/mailbox-conf.c | 21 ++---
src/main-window.c | 136 ++++++++++++++++-------------
src/message-window.c | 7 +-
src/pref-manager.c | 17 ++--
src/print-gtk.c | 56 +++++++------
src/sendmsg-window.c | 121 +++++++++++++++------------
src/spell-check.c | 9 +-
src/store-address.c | 21 +++--
src/toolbar-factory.c | 22 +----
src/toolbar-prefs.c | 55 ++++++------
44 files changed, 725 insertions(+), 689 deletions(-)
---
diff --git a/libbalsa/address-view.c b/libbalsa/address-view.c
index c16a30a..4b7b5be 100644
--- a/libbalsa/address-view.c
+++ b/libbalsa/address-view.c
@@ -592,12 +592,13 @@ lbav_entry_changed_cb(GtkEntry * entry, LibBalsaAddressView * address_view)
*/
static gboolean
lbav_key_pressed_cb(GtkEntry * entry,
- GdkEventKey * event,
+ GdkEvent * event,
LibBalsaAddressView * address_view)
{
GtkEntryCompletion *completion;
+ guint keyval;
- if (event->keyval != GDK_KEY_Escape)
+ if (!gdk_event_get_keyval(event, &keyval) || keyval != GDK_KEY_Escape)
return FALSE;
if (address_view->last_was_escape) {
@@ -946,26 +947,20 @@ lbav_selection_changed_cb(GtkTreeSelection * selection,
{
GdkEvent *event = gtk_get_current_event();
- if (event) {
- if (event->type == GDK_BUTTON_PRESS) {
- GdkEventButton *event_button = (GdkEventButton *) event;
- GtkTreeView *tree_view = (GtkTreeView *) address_view;
+ if (event != NULL) {
+ gdouble x_win, y_win;
- if (event_button->window ==
- gtk_tree_view_get_bin_window(tree_view)) {
- gint x, y;
- GtkTreePath *path;
- GtkTreeViewColumn *column;
-
- gtk_tree_view_convert_widget_to_bin_window_coords
- (tree_view, (gint) event_button->x,
- (gint) event_button->y, &x, &y);
-
- if (gtk_tree_view_get_path_at_pos
- (tree_view, x, y, &path, &column, NULL, NULL)) {
- gtk_tree_view_row_activated(tree_view, path, column);
- gtk_tree_path_free(path);
- }
+ if (gdk_event_get_event_type(event) == GDK_BUTTON_PRESS &&
+ gdk_event_get_coords(event, &x_win, &y_win)) {
+ GtkTreeView *tree_view = (GtkTreeView *) address_view;
+ gint x, y;
+ GtkTreePath *path;
+ GtkTreeViewColumn *column;
+
+ gtk_tree_view_convert_widget_to_bin_window_coords(tree_view, x_win, y_win, &x, &y);
+ if (gtk_tree_view_get_path_at_pos (tree_view, x, y, &path, &column, NULL, NULL)) {
+ gtk_tree_view_row_activated(tree_view, path, column);
+ gtk_tree_path_free(path);
}
}
gdk_event_free(event);
diff --git a/libbalsa/address.c b/libbalsa/address.c
index d1a7e25..17ba386 100644
--- a/libbalsa/address.c
+++ b/libbalsa/address.c
@@ -964,7 +964,7 @@ libbalsa_address_get_edit_widget(const LibBalsaAddress *address,
#define HIG_PADDING 6
gtk_grid_set_row_spacing(GTK_GRID(grid), HIG_PADDING);
gtk_grid_set_column_spacing(GTK_GRID(grid), HIG_PADDING);
- gtk_container_set_border_width(GTK_CONTAINER(grid), HIG_PADDING);
+ g_object_set(G_OBJECT(grid), "margin", HIG_PADDING, NULL);
for (cnt = 0; cnt < NUM_FIELDS; cnt++) {
if (!labels[cnt])
@@ -972,12 +972,12 @@ libbalsa_address_get_edit_widget(const LibBalsaAddress *address,
label = gtk_label_new_with_mnemonic(_(labels[cnt]));
gtk_widget_set_halign(label, GTK_ALIGN_END);
if (cnt == EMAIL_ADDRESS) {
- GtkWidget *box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
+ GtkWidget *box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 1);
GtkWidget *but = gtk_button_new_with_mnemonic(_("A_dd"));
entries[cnt] = lba_address_list_widget(changed_cb,
changed_data);
- gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 1);
- gtk_box_pack_start(GTK_BOX(box), but, FALSE, FALSE, 1);
+ gtk_box_pack_start(GTK_BOX(box), label);
+ gtk_box_pack_start(GTK_BOX(box), but);
lhs = box;
g_signal_connect(but, "clicked", G_CALLBACK(add_row),
entries[cnt]);
@@ -1025,6 +1025,7 @@ libbalsa_address_get_edit_widget(const LibBalsaAddress *address,
g_signal_connect_swapped(G_OBJECT(model), "row-deleted",
changed_cb, changed_data);
}
+
return grid;
}
diff --git a/libbalsa/html.c b/libbalsa/html.c
index 353d017..6936b48 100644
--- a/libbalsa/html.c
+++ b/libbalsa/html.c
@@ -144,13 +144,9 @@ html2text(gchar ** text, gsize len)
/* WebKitContextMenuItem uses GtkAction, which is deprecated.
* We don't use it, but it breaks the git-tree build, so we just mangle
* it: */
-#if defined(GTK_DISABLE_DEPRECATED)
#define GtkAction GAction
#include <webkit2/webkit2.h>
#undef GtkAction
-#else /* defined(GTK_DISABLE_DEPRECATED) */
-#include <webkit2/webkit2.h>
-#endif /* defined(GTK_DISABLE_DEPRECATED) */
typedef struct {
LibBalsaMessageBody *body;
@@ -638,12 +634,13 @@ libbalsa_html_new(LibBalsaMessageBody * body,
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
g_object_set_data(G_OBJECT(vbox), "libbalsa-html-web-view", web_view);
- gtk_box_pack_end(GTK_BOX(vbox), widget, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(widget, TRUE);
+ gtk_box_pack_end(GTK_BOX(vbox), widget);
/* Simple check for possible resource requests: */
if (g_regex_match_simple(src_regex, text, G_REGEX_CASELESS, 0)) {
info->info_bar = lbh_info_bar(info);
- gtk_box_pack_start(GTK_BOX(vbox), info->info_bar, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), info->info_bar);
d(g_print("%s shows info_bar\n", __func__));
}
@@ -1088,8 +1085,7 @@ lbh_show_info_bar(LibBalsaWebKitInfo * info)
GTK_RESPONSE_OK,
_("_Close"), GTK_RESPONSE_CLOSE,
NULL);
- gtk_box_pack_start(GTK_BOX(info->vbox), info_bar_widget,
- FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(info->vbox), info_bar_widget);
info_bar = GTK_INFO_BAR(info_bar_widget);
@@ -1269,7 +1265,8 @@ libbalsa_html_new(LibBalsaMessageBody * body,
info->vbox = vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
widget = webkit_web_view_new();
- gtk_box_pack_end(GTK_BOX(vbox), widget, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(widget, TRUE);
+ gtk_box_pack_end(GTK_BOX(vbox), widget);
info->web_view = web_view = WEBKIT_WEB_VIEW(widget);
g_object_set_data(G_OBJECT(vbox), "libbalsa-html-web-view", web_view);
diff --git a/libbalsa/identity.c b/libbalsa/identity.c
index f8783d7..99181bf 100644
--- a/libbalsa/identity.c
+++ b/libbalsa/identity.c
@@ -490,13 +490,14 @@ libbalsa_identity_select_dialog(GtkWindow * parent,
identity_list_update_real(GTK_TREE_VIEW(tree), identities, initial_id);
frame = gtk_frame_new(NULL);
- gtk_box_pack_start(GTK_BOX
- (gtk_dialog_get_content_area(GTK_DIALOG(dialog))),
- frame, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(frame, TRUE);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),
+ frame);
+
+ g_object_set(G_OBJECT(tree), "margin", padding, NULL);
gtk_container_add(GTK_CONTAINER(frame), tree);
- gtk_container_set_border_width(GTK_CONTAINER(frame), padding);
- gtk_widget_show_all(dialog);
+ gtk_widget_show(dialog);
gtk_widget_grab_focus(tree);
}
@@ -734,8 +735,6 @@ libbalsa_identity_config_frame(GList** identities,
GtkWidget* config_frame = gtk_frame_new(NULL);
GtkWidget *tree;
- gtk_container_set_border_width(GTK_CONTAINER(config_frame), 0);
-
tree = libbalsa_identity_tree(G_CALLBACK(toggle_cb), dialog,
_("Default"));
g_signal_connect(tree, "row-activated",
@@ -745,6 +744,7 @@ libbalsa_identity_config_frame(GList** identities,
g_object_set_data(G_OBJECT(tree), "callback", cb);
g_object_set_data(G_OBJECT(tree), "cb-data", data);
+ g_object_set(G_OBJECT(tree), "margin", 0, NULL); /* Seriously? */
gtk_container_add(GTK_CONTAINER(config_frame), tree);
identity_list_update(GTK_TREE_VIEW(tree));
@@ -903,7 +903,7 @@ new_ident_cb(GtkTreeView * tree, GObject * dialog)
* Helper: append a notebook page containing a table
*/
static GtkWidget*
-append_ident_notebook_page(GtkNotebook *notebook,
+append_ident_notebook_page(GtkNotebook * notebook,
const gchar * tab_label,
const gchar * footnote)
{
@@ -912,14 +912,14 @@ append_ident_notebook_page(GtkNotebook *notebook,
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
grid = libbalsa_create_grid();
- gtk_container_set_border_width(GTK_CONTAINER(grid), padding);
- gtk_box_pack_start(GTK_BOX(vbox), grid, FALSE, FALSE, 0);
+ g_object_set(G_OBJECT(grid), "margin", padding, NULL);
+ gtk_box_pack_start(GTK_BOX(vbox), grid);
if (footnote) {
GtkWidget *label;
label = gtk_label_new(footnote);
gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
- gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), label);
}
gtk_notebook_append_page(notebook, vbox, gtk_label_new(tab_label));
@@ -1306,7 +1306,7 @@ md_face_path_changed(const gchar * filename, gboolean active,
gtk_container_foreach(GTK_CONTAINER(face_box),
(GtkCallback) gtk_widget_destroy, NULL);
gtk_container_add(GTK_CONTAINER(face_box), image);
- gtk_widget_show_all(face_box);
+ gtk_widget_show(face_box);
g_free(content);
}
@@ -1693,7 +1693,7 @@ delete_ident_cb(GtkTreeView * tree, GtkWidget * dialog)
G_CALLBACK(delete_ident_response), di);
g_object_weak_ref(G_OBJECT(confirm), (GWeakNotify) g_free, di);
gtk_widget_set_sensitive(dialog, FALSE);
- gtk_widget_show_all(confirm);
+ gtk_widget_show(confirm);
}
static void
@@ -1791,11 +1791,9 @@ libbalsa_identity_config_dialog(GtkWindow *parent, GList **identities,
IDENTITY_RESPONSE_CLOSE);
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, padding);
- gtk_box_pack_start(GTK_BOX
- (gtk_dialog_get_content_area(GTK_DIALOG(dialog))),
- hbox, TRUE, TRUE, 0);
-
- gtk_box_pack_start(GTK_BOX(hbox), frame, FALSE, FALSE, 0);
+ gtk_widget_set_vexpand(hbox, TRUE);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), hbox);
+ gtk_box_pack_start(GTK_BOX(hbox), frame);
smtp_server_list = g_new(GSList *, 1);
*smtp_server_list = g_slist_copy(smtp_servers);
@@ -1806,14 +1804,15 @@ libbalsa_identity_config_dialog(GtkWindow *parent, GList **identities,
(GWeakNotify) lbi_free_smtp_server_list,
smtp_server_list);
- gtk_box_pack_start(GTK_BOX(hbox), display_frame, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(display_frame, TRUE);
+ gtk_box_pack_start(GTK_BOX(hbox), display_frame);
select = gtk_tree_view_get_selection(tree);
g_signal_connect(select, "changed",
G_CALLBACK(config_frame_button_select_cb), dialog);
config_dialog_select(select, GTK_DIALOG(dialog));
- gtk_widget_show_all(dialog);
+ gtk_widget_show(dialog);
gtk_widget_grab_focus(GTK_WIDGET(tree));
}
diff --git a/libbalsa/libbalsa-progress.c b/libbalsa/libbalsa-progress.c
index a7034e7..691a769 100644
--- a/libbalsa/libbalsa-progress.c
+++ b/libbalsa/libbalsa-progress.c
@@ -68,7 +68,7 @@ libbalsa_progress_dialog_ensure(GtkWidget **progress_dialog,
hints.min_height = 1;
hints.max_width = PROGRESS_DIALOG_WIDTH;
hints.max_height = -1;
- gtk_window_set_geometry_hints(GTK_WINDOW(*progress_dialog), NULL, &hints, GDK_HINT_MIN_SIZE +
GDK_HINT_MAX_SIZE);
+ gdk_window_set_geometry_hints(gtk_widget_get_window(*progress_dialog), &hints, GDK_HINT_MIN_SIZE +
GDK_HINT_MAX_SIZE);
gtk_window_set_resizable(GTK_WINDOW(*progress_dialog), FALSE);
g_signal_connect(G_OBJECT(*progress_dialog), "response", G_CALLBACK(progress_dialog_response_cb),
NULL);
g_signal_connect(G_OBJECT(*progress_dialog), "destroy", G_CALLBACK(progress_dialog_destroy_cb),
progress_dialog);
@@ -76,7 +76,7 @@ libbalsa_progress_dialog_ensure(GtkWidget **progress_dialog,
content_box = gtk_dialog_get_content_area(GTK_DIALOG(*progress_dialog));
gtk_box_set_spacing(GTK_BOX(content_box), 6);
- gtk_widget_show_all(*progress_dialog);
+ gtk_widget_show(*progress_dialog);
} else {
content_box = gtk_dialog_get_content_area(GTK_DIALOG(*progress_dialog));
}
@@ -89,8 +89,8 @@ libbalsa_progress_dialog_ensure(GtkWidget **progress_dialog,
} else {
progress_widget = create_progress_widget(progress_id, progress_id);
gtk_revealer_set_reveal_child(GTK_REVEALER(progress_widget), TRUE);
- gtk_box_pack_start(GTK_BOX(content_box), progress_widget, FALSE, FALSE, 0);
- gtk_widget_show_all(progress_widget);
+ gtk_box_pack_start(GTK_BOX(content_box), progress_widget);
+ gtk_widget_show(progress_widget);
}
g_mutex_unlock(&progress_mutex);
@@ -217,16 +217,16 @@ create_progress_widget(const gchar *progress_id,
gtk_container_add(GTK_CONTAINER(result), box);
label = gtk_label_new(title);
- gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(box), label);
label = gtk_label_new(" ");
gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
g_object_set_data(G_OBJECT(result), "label", label);
- gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(box), label);
progress = gtk_progress_bar_new();
g_object_set_data(G_OBJECT(result), "progress", progress);
- gtk_box_pack_start(GTK_BOX(box), progress, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(box), progress);
return result;
}
diff --git a/libbalsa/libbalsa.c b/libbalsa/libbalsa.c
index 9cac38c..a841b80 100644
--- a/libbalsa/libbalsa.c
+++ b/libbalsa/libbalsa.c
@@ -515,6 +515,7 @@ ask_cert_real(void *data)
int der_len;
GcrCertificate *gcr_cert;
GtkWidget *label;
+ GtkBox *vbox;
dialog = gtk_dialog_new_with_buttons(_("SSL/TLS certificate"),
NULL, /* FIXME: NULL parent */
@@ -539,11 +540,13 @@ ask_cert_real(void *data)
label = gtk_label_new(str->str);
g_string_free(str, TRUE);
gtk_label_set_use_markup(GTK_LABEL(label), TRUE);
- gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),
- label, FALSE, FALSE, 1);
+ vbox = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog)));
+ gtk_box_set_spacing(vbox, 1);
+ gtk_box_pack_start(vbox, label);
gtk_widget_show(label);
- gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),
- cert_widget, TRUE, TRUE, 1);
+
+ gtk_widget_set_vexpand(cert_widget, TRUE);
+ gtk_box_pack_start(vbox, cert_widget);
gtk_widget_show(cert_widget);
switch(gtk_dialog_run(GTK_DIALOG(dialog))) {
@@ -576,6 +579,7 @@ ask_cert_real(void *data)
char *name = NULL, *c, *valid_from, *valid_until;
GtkWidget* dialog, *label;
unsigned i;
+ GtkBox *vbox;
GString* str = g_string_new("");
@@ -633,9 +637,13 @@ ask_cert_real(void *data)
label = gtk_label_new(str->str);
g_string_free(str, TRUE);
gtk_label_set_use_markup(GTK_LABEL(label), TRUE);
- gtk_box_pack_start(GTK_BOX
- (gtk_dialog_get_content_area(GTK_DIALOG(dialog))),
- label, TRUE, TRUE, 1);
+
+ vbox = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog)));
+ gtk_box_set_spacing(vbox, 1);
+
+ gtk_widget_set_vexpand(label, TRUE);
+ gtk_box_pack_start(vbox, label);
+
gtk_widget_show(label);
switch(gtk_dialog_run(GTK_DIALOG(dialog))) {
diff --git a/libbalsa/smtp-server.c b/libbalsa/smtp-server.c
index 3157ca2..ddb520b 100644
--- a/libbalsa/smtp-server.c
+++ b/libbalsa/smtp-server.c
@@ -491,7 +491,7 @@ libbalsa_smtp_server_dialog(LibBalsaSmtpServer * smtp_server,
/* notebook page with basic options */
grid = libbalsa_create_grid();
row = 0;
- gtk_container_set_border_width(GTK_CONTAINER(grid), HIG_PADDING);
+ g_object_set(G_OBJECT(grid), "margin", HIG_PADDING, NULL);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), grid,
gtk_label_new_with_mnemonic(_("_Basic")));
@@ -543,7 +543,7 @@ libbalsa_smtp_server_dialog(LibBalsaSmtpServer * smtp_server,
/* notebook page with advanced options */
grid = libbalsa_create_grid();
row = 0;
- gtk_container_set_border_width(GTK_CONTAINER(grid), HIG_PADDING);
+ g_object_set(G_OBJECT(grid), "margin", HIG_PADDING, NULL);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), grid,
gtk_label_new_with_mnemonic(_("_Advanced")));
@@ -575,9 +575,10 @@ libbalsa_smtp_server_dialog(LibBalsaSmtpServer * smtp_server,
gtk_grid_attach(GTK_GRID(grid), sdi->split_button, 0, ++row, 1, 1);
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6);
sdi->big_message = gtk_spin_button_new_with_range(0.1, 100, 0.1);
- gtk_box_pack_start(GTK_BOX(hbox), sdi->big_message, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(sdi->big_message, TRUE);
+ gtk_box_pack_start(GTK_BOX(hbox), sdi->big_message);
label = gtk_label_new(_("MB"));
- gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), label);
if (smtp_server->big_message > 0) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(sdi->split_button), TRUE);
/* The widget is in MB, but big_message is stored in kB. */
@@ -593,5 +594,5 @@ libbalsa_smtp_server_dialog(LibBalsaSmtpServer * smtp_server,
smtp_server_changed(NULL, sdi);
- gtk_widget_show_all(dialog);
+ gtk_widget_show(dialog);
}
diff --git a/libbalsa/source-viewer.c b/libbalsa/source-viewer.c
index 208005f..6b84ac5 100644
--- a/libbalsa/source-viewer.c
+++ b/libbalsa/source-viewer.c
@@ -217,7 +217,7 @@ libbalsa_show_message_source(GtkApplication * application,
css = libbalsa_font_string_to_css(font, BALSA_SOURCE_VIEWER);
css_provider = gtk_css_provider_new();
- gtk_css_provider_load_from_data(css_provider, css, -1, NULL);
+ gtk_css_provider_load_from_data(css_provider, css, -1);
g_free(css);
gtk_style_context_add_provider(gtk_widget_get_style_context(text) ,
@@ -259,10 +259,11 @@ libbalsa_show_message_source(GtkApplication * application,
#if HAVE_MACOSX_DESKTOP
libbalsa_macosx_menu(window, GTK_MENU_SHELL(menu_bar));
#else
- gtk_box_pack_start(GTK_BOX(vbox), menu_bar, FALSE, TRUE, 1);
+ gtk_box_pack_start(GTK_BOX(vbox), menu_bar);
#endif
- gtk_box_pack_start(GTK_BOX(vbox), interior, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(interior, TRUE);
+ gtk_box_pack_start(GTK_BOX(vbox), interior);
gtk_container_add(GTK_CONTAINER(window), vbox);
lsvi = g_new(LibBalsaSourceViewerInfo, 1);
@@ -278,7 +279,7 @@ libbalsa_show_message_source(GtkApplication * application,
g_signal_connect(window, "size-allocate",
G_CALLBACK(lsv_size_allocate_cb), lsvi);
- gtk_widget_show_all(window);
+ gtk_widget_show(window);
escape_action =
g_action_map_lookup_action(G_ACTION_MAP(window), "lsv-escape");
diff --git a/libinit_balsa/assistant_init.c b/libinit_balsa/assistant_init.c
index e96c520..6e0f8e0 100644
--- a/libinit_balsa/assistant_init.c
+++ b/libinit_balsa/assistant_init.c
@@ -137,7 +137,7 @@ balsa_init_begin(void)
gtk_window_set_title(GTK_WINDOW(assistant), _("Configure Balsa"));
balsa_initdruid(GTK_ASSISTANT(assistant));
- gtk_widget_show_all(assistant);
+ gtk_widget_show(assistant);
gtk_main();
diff --git a/libinit_balsa/assistant_page_defclient.c b/libinit_balsa/assistant_page_defclient.c
index a72c966..adc6e56 100644
--- a/libinit_balsa/assistant_page_defclient.c
+++ b/libinit_balsa/assistant_page_defclient.c
@@ -43,29 +43,35 @@ balsa_druid_page_defclient_init(BalsaDruidPageDefclient * defclient,
GtkWidget * page,
GtkAssistant * druid)
{
- GtkLabel *label;
+ GtkWidget *label;
GtkWidget *yes, *no;
defclient->default_client = 1;
balsa_app.default_client = defclient->default_client;
- label =
- GTK_LABEL(gtk_label_new
- (_("Use Balsa as default email client?")));
- gtk_label_set_justify(label, GTK_JUSTIFY_CENTER);
- gtk_label_set_line_wrap(label, TRUE);
+ label = gtk_label_new(_("Use Balsa as default email client?"));
+ gtk_label_set_justify((GtkLabel *) label, GTK_JUSTIFY_CENTER);
+ gtk_label_set_line_wrap((GtkLabel *) label, TRUE);
yes = gtk_radio_button_new_with_mnemonic(NULL, _("_Yes"));
- no = gtk_radio_button_new_with_mnemonic_from_widget(GTK_RADIO_BUTTON(yes),
- _("_No"));
+ no = gtk_radio_button_new_with_mnemonic_from_widget(GTK_RADIO_BUTTON(yes),
+ _("_No"));
- g_signal_connect(G_OBJECT(yes), "toggled",
- G_CALLBACK(balsa_druid_page_defclient_toggle),
- defclient);
+ g_signal_connect(yes, "toggled",
+ G_CALLBACK(balsa_druid_page_defclient_toggle),
+ defclient);
- gtk_box_pack_start(GTK_BOX(page), GTK_WIDGET(label), TRUE, TRUE, 8);
- gtk_box_pack_start(GTK_BOX(page), GTK_WIDGET(yes), TRUE, TRUE, 2);
- gtk_box_pack_start(GTK_BOX(page), GTK_WIDGET(no), TRUE, TRUE, 2);
+ gtk_widget_set_margin_top(label, 8);
+ gtk_widget_set_vexpand(label, TRUE);
+ gtk_box_pack_start((GtkBox *) page, label);
+
+ gtk_widget_set_margin_top(yes, 2);
+ gtk_widget_set_vexpand(yes, TRUE);
+ gtk_box_pack_start((GtkBox *) page, yes);
+
+ gtk_widget_set_margin_top(no, 2);
+ gtk_widget_set_vexpand(no, TRUE);
+ gtk_box_pack_start((GtkBox *) page, no);
return;
}
@@ -99,7 +105,7 @@ balsa_druid_page_defclient(GtkAssistant *druid)
}
static void
-balsa_druid_page_defclient_toggle(GtkWidget * page,
+balsa_druid_page_defclient_toggle(GtkWidget * page,
BalsaDruidPageDefclient * defclient)
{
defclient->default_client = ! (defclient->default_client);
diff --git a/libinit_balsa/assistant_page_directory.c b/libinit_balsa/assistant_page_directory.c
index 473a3fc..94cc9f0 100644
--- a/libinit_balsa/assistant_page_directory.c
+++ b/libinit_balsa/assistant_page_directory.c
@@ -295,11 +295,10 @@ balsa_druid_page_directory_init(BalsaDruidPageDirectory * dir,
g_free(preset);
}
- gtk_box_pack_start(GTK_BOX(page), GTK_WIDGET(grid), FALSE, TRUE,
- 0);
- gtk_widget_show_all(GTK_WIDGET(grid));
+ gtk_box_pack_start(GTK_BOX(page), GTK_WIDGET(grid));
+ gtk_widget_show(GTK_WIDGET(grid));
- gtk_box_pack_end(GTK_BOX(page), verify_button(dir), FALSE, FALSE, 0);
+ gtk_box_pack_end(GTK_BOX(page), verify_button(dir));
g_signal_connect(G_OBJECT(druid), "prepare",
G_CALLBACK(balsa_druid_page_directory_prepare),
diff --git a/libinit_balsa/assistant_page_user.c b/libinit_balsa/assistant_page_user.c
index 6e44420..7c0a1ca 100644
--- a/libinit_balsa/assistant_page_user.c
+++ b/libinit_balsa/assistant_page_user.c
@@ -87,7 +87,7 @@ balsa_druid_page_user_init(BalsaDruidPageUser * user,
user->ed4.master = &(user->emaster);
label = GTK_LABEL(gtk_label_new(_(header2)));
gtk_label_set_line_wrap(label, TRUE);
- gtk_box_pack_start(GTK_BOX(page), GTK_WIDGET(label), FALSE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(page), GTK_WIDGET(label));
grid = GTK_GRID(gtk_grid_new());
gtk_grid_set_row_spacing(grid, 2);
@@ -150,7 +150,8 @@ balsa_druid_page_user_init(BalsaDruidPageUser * user,
&(user->ed4), druid, page,
&(user->localmaildir));
g_free(preset);
- gtk_box_pack_start(GTK_BOX(page), GTK_WIDGET(grid), FALSE, FALSE, 3);
+ gtk_widget_set_margin_top(GTK_WIDGET(grid), 3);
+ gtk_box_pack_start(GTK_BOX(page), GTK_WIDGET(grid));
user->need_set = FALSE;
}
diff --git a/meson.build b/meson.build
index fda7022..fc3f8f0 100644
--- a/meson.build
+++ b/meson.build
@@ -127,7 +127,7 @@ conf.set('TOOLKIT_CATEGORIES', TOOLKIT_CATEGORIES)
# Dependencies for balsa and balsa_ab:
glib_dep = dependency('glib-2.0', version : '>= 2.40.0')
-gtk_dep = dependency('gtk+-3.0', version : '>= 3.10.0')
+gtk_dep = dependency('gtk+-4.0')
gmime_dep = dependency('gmime-2.6')
gio_dep = dependency('gio-2.0')
gthread_dep = dependency('gthread-2.0')
diff --git a/meson_options.txt b/meson_options.txt
index 2bbd1ce..5b01c3e 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -35,7 +35,7 @@ option('gss',
option('html-widget',
type : 'combo',
- choices : ['webkit2', 'webkit', 'gtkhtml4'],
+ choices : ['webkit2', 'webkit', 'gtkhtml4', 'none'],
value : 'webkit2',
description : 'select the HTML renderer (default webkit2)')
diff --git a/src/ab-main.c b/src/ab-main.c
index a7814d6..13da698 100644
--- a/src/ab-main.c
+++ b/src/ab-main.c
@@ -493,8 +493,7 @@ entry_new_activated(GSimpleAction * action,
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW
(contacts_app.entry_list));
gtk_tree_selection_unselect_all(selection);
- gtk_widget_grab_focus(gtk_container_get_focus_child
- (GTK_CONTAINER(contacts_app.edit_widget)));
+ gtk_widget_grab_focus(contacts_app.edit_widget);
}
static LibBalsaABErr
@@ -613,7 +612,7 @@ static void
ab_set_edit_widget(LibBalsaAddress * address, gboolean can_remove)
{
libbalsa_address_set_edit_entries(address, contacts_app.entries);
- gtk_widget_show_all(contacts_app.edit_widget);
+ gtk_widget_show(contacts_app.edit_widget);
gtk_widget_set_sensitive(contacts_app.apply_button, FALSE);
gtk_widget_set_sensitive(contacts_app.remove_button, can_remove);
gtk_widget_set_sensitive(contacts_app.cancel_button, TRUE);
@@ -879,23 +878,24 @@ bab_filter_entry_changed(GtkWidget *entry, GtkWidget *button)
static GtkWidget*
bab_get_filter_box(void)
{
- GtkWidget *search_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 1);
+ GtkWidget *search_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 2);
GtkWidget *find_label, *find_entry, *button;
gtk_widget_show(search_hbox);
find_label = gtk_label_new_with_mnemonic(_("F_ilter:"));
gtk_widget_show(find_label);
- gtk_box_pack_start(GTK_BOX(search_hbox), find_label, FALSE, FALSE, 1);
+ gtk_box_pack_start(GTK_BOX(search_hbox), find_label);
find_entry = gtk_entry_new();
gtk_widget_show(find_entry);
- gtk_box_pack_start(GTK_BOX(search_hbox), find_entry, TRUE, TRUE, 1);
+ gtk_widget_set_hexpand(find_entry, TRUE);
+ gtk_box_pack_start(GTK_BOX(search_hbox), find_entry);
gtk_widget_show(search_hbox);
gtk_label_set_mnemonic_widget(GTK_LABEL(find_label), find_entry);
button = gtk_button_new();
gtk_container_add(GTK_CONTAINER(button),
gtk_image_new_from_icon_name("gtk-ok",
GTK_ICON_SIZE_BUTTON));
- gtk_box_pack_start(GTK_BOX(search_hbox), button, FALSE, FALSE, 1);
+ gtk_box_pack_start(GTK_BOX(search_hbox), button);
g_signal_connect(G_OBJECT(find_entry), "activate",
G_CALLBACK(bab_filter_entry_activate),
@@ -909,11 +909,15 @@ bab_get_filter_box(void)
return search_hbox;
}
static gboolean
-ew_key_pressed(GtkEntry * entry, GdkEventKey * event, struct ABMainWindow *abmw)
+ew_key_pressed(GtkEntry * entry, GdkEvent * event, struct ABMainWindow *abmw)
{
- if (event->keyval != GDK_KEY_Escape)
+ guint keyval;
+
+ if (!(gdk_event_get_keyval(event, &keyval) && keyval == GDK_KEY_Escape))
return FALSE;
+
gtk_button_clicked(GTK_BUTTON(abmw->cancel_button));
+
return TRUE;
}
@@ -933,24 +937,24 @@ bab_window_new(GtkApplication * application)
gtk_window_set_title(GTK_WINDOW(wnd), "Contacts");
/* main vbox */
- main_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 1);
+ main_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 2);
gtk_container_add(GTK_CONTAINER(wnd), main_vbox);
contacts_app.notebook = gtk_notebook_new();
- gtk_box_pack_start(GTK_BOX(main_vbox),
- contacts_app.notebook, TRUE, TRUE, 1);
+ gtk_widget_set_hexpand(contacts_app.notebook, TRUE);
+ gtk_box_pack_start(GTK_BOX(main_vbox), contacts_app.notebook);
browse_widget = gtk_box_new(GTK_ORIENTATION_VERTICAL, 1);
/* Entry widget for finding an address */
- gtk_box_pack_start(GTK_BOX(browse_widget),
- bab_get_filter_box(), FALSE, FALSE, 1);
+ gtk_box_pack_start(GTK_BOX(browse_widget), bab_get_filter_box());
scroll = gtk_scrolled_window_new(NULL, NULL);
gtk_widget_show(scroll);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- gtk_box_pack_start(GTK_BOX(browse_widget), scroll, TRUE, TRUE, 1);
+ gtk_widget_set_hexpand(scroll, TRUE);
+ gtk_box_pack_start(GTK_BOX(browse_widget), scroll);
contacts_app.entry_list = bab_window_list_new();
gtk_container_add(GTK_CONTAINER(scroll), contacts_app.entry_list);
@@ -963,11 +967,8 @@ bab_window_new(GtkApplication * application)
libbalsa_address_get_edit_widget(NULL, contacts_app.entries,
G_CALLBACK(address_changed_cb),
&contacts_app);
- gtk_box_pack_start(GTK_BOX(edit_widget), contacts_app.edit_widget,
- FALSE, FALSE, 1);
- gtk_box_pack_start(GTK_BOX(edit_widget),
- bab_get_edit_button_box(&contacts_app),
- FALSE, FALSE, 1);
+ gtk_box_pack_start(GTK_BOX(edit_widget), contacts_app.edit_widget);
+ gtk_box_pack_start(GTK_BOX(edit_widget), bab_get_edit_button_box(&contacts_app));
gtk_notebook_append_page(GTK_NOTEBOOK(contacts_app.notebook), edit_widget,
gtk_label_new(_("Edit")));
@@ -980,7 +981,7 @@ bab_window_new(GtkApplication * application)
G_CALLBACK(ew_key_pressed), &contacts_app);
gtk_window_set_default_size(GTK_WINDOW(wnd), 500, 400);
- gtk_widget_show_all(wnd);
+ gtk_widget_show(wnd);
return wnd;
}
@@ -1112,7 +1113,7 @@ main(int argc, char *argv[])
/* session management */
- gtk_widget_show_all(ab_window);
+ gtk_widget_show(ab_window);
gtk_widget_hide(contacts_app.edit_widget);
gtk_main();
diff --git a/src/ab-window.c b/src/ab-window.c
index 5beb702..7d76fe3 100644
--- a/src/ab-window.c
+++ b/src/ab-window.c
@@ -229,13 +229,13 @@ static void
balsa_ab_window_init(BalsaAbWindow *ab)
{
GtkWidget *find_label,
- *vbox,
*w,
*grid,
*hbox,
*box2,
*scrolled_window,
*frame;
+ GtkBox *vbox;
ab->current_address_book = NULL;
@@ -245,13 +245,13 @@ balsa_ab_window_init(BalsaAbWindow *ab)
g_signal_connect(G_OBJECT(ab), "response",
G_CALLBACK(balsa_ab_window_response_cb), NULL);
- vbox = gtk_dialog_get_content_area(GTK_DIALOG(ab));
+ vbox = (GtkBox *) gtk_dialog_get_content_area(GTK_DIALOG(ab));
gtk_window_set_role(GTK_WINDOW(ab), "addressbook");
/* hig defaults */
- gtk_container_set_border_width(GTK_CONTAINER(ab), 6);
- gtk_box_set_spacing(GTK_BOX(vbox), 12);
+ g_object_set(G_OBJECT(vbox), "margin", 6, NULL);
+ gtk_box_set_spacing(vbox, 12);
/* The main address list */
@@ -279,13 +279,14 @@ balsa_ab_window_init(BalsaAbWindow *ab)
/* More than one address book. */
gtk_widget_show(ab->combo_box);
- gtk_box_pack_start(GTK_BOX(vbox), ab->combo_box, FALSE, FALSE, 0);
+ gtk_box_pack_start(vbox, ab->combo_box);
/* layout grid */
grid = gtk_grid_new();
gtk_grid_set_row_spacing(GTK_GRID(grid), 6);
gtk_grid_set_column_spacing(GTK_GRID(grid), 12);
- gtk_box_pack_start(GTK_BOX(vbox), grid, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(grid, TRUE);
+ gtk_box_pack_start(vbox, grid);
gtk_widget_show(grid);
/* -- grid column 1 -- */
@@ -302,8 +303,9 @@ balsa_ab_window_init(BalsaAbWindow *ab)
/* Pack the find stuff into the grid */
box2 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 1);
gtk_grid_attach(GTK_GRID(grid), box2, 0, 0, 1, 1);
- gtk_box_pack_start(GTK_BOX(box2), find_label, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(box2), ab->filter_entry, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(box2), find_label);
+ gtk_widget_set_hexpand(ab->filter_entry, TRUE);
+ gtk_box_pack_start(GTK_BOX(box2), ab->filter_entry);
gtk_widget_show(GTK_WIDGET(box2));
@@ -347,7 +349,8 @@ balsa_ab_window_init(BalsaAbWindow *ab)
w = gtk_button_new_from_icon_name("go-next-symbolic",
GTK_ICON_SIZE_BUTTON);
- gtk_box_pack_start(GTK_BOX(ab->arrow_box), w, TRUE, FALSE, 0);
+ gtk_widget_set_hexpand(w, TRUE);
+ gtk_box_pack_start(GTK_BOX(ab->arrow_box), w);
gtk_widget_show(w);
g_signal_connect(G_OBJECT(w), "clicked",
G_CALLBACK(balsa_ab_window_move_to_recipient_list),
@@ -355,7 +358,8 @@ balsa_ab_window_init(BalsaAbWindow *ab)
w = gtk_button_new_from_icon_name("go-previous-symbolic",
GTK_ICON_SIZE_BUTTON);
- gtk_box_pack_start(GTK_BOX(ab->arrow_box), w, TRUE, FALSE, 0);
+ gtk_widget_set_hexpand(w, TRUE);
+ gtk_box_pack_start(GTK_BOX(ab->arrow_box), w);
gtk_widget_show(w);
g_signal_connect(G_OBJECT(w), "clicked",
G_CALLBACK(balsa_ab_window_remove_from_recipient_list),
@@ -400,15 +404,14 @@ balsa_ab_window_init(BalsaAbWindow *ab)
ab->current_address_book->dist_list_mode);
/* Pack them into a box */
- box2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 1);
+ box2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 2);
gtk_box_set_homogeneous(GTK_BOX(box2), TRUE);
gtk_container_add(GTK_CONTAINER(frame), box2);
- gtk_box_pack_start(GTK_BOX(box2), ab->single_address_mode_radio,
- FALSE, FALSE, 1);
- gtk_box_pack_start(GTK_BOX(box2), ab->dist_address_mode_radio,
- FALSE, FALSE, 1);
+ gtk_box_pack_start(GTK_BOX(box2), ab->single_address_mode_radio);
+ gtk_box_pack_start(GTK_BOX(box2), ab->dist_address_mode_radio);
gtk_widget_show(box2);
- gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 1);
+ gtk_widget_set_margin_top(frame, 1);
+ gtk_box_pack_start(vbox, frame);
gtk_widget_grab_focus(ab->filter_entry);
}
diff --git a/src/address-book-config.c b/src/address-book-config.c
index 2fdbd25..82680a5 100644
--- a/src/address-book-config.c
+++ b/src/address-book-config.c
@@ -125,7 +125,7 @@ balsa_address_book_config_new(LibBalsaAddressBook * address_book,
if (address_book)
gtk_widget_grab_focus(abc->name_entry);
- gtk_widget_show_all(GTK_WIDGET(abc->window));
+ gtk_widget_show(GTK_WIDGET(abc->window));
}
void
@@ -141,7 +141,7 @@ balsa_address_book_config_new_from_type(GType type,
abc->type = type;
abc->window = create_dialog_from_type(abc);
- gtk_widget_show_all(GTK_WIDGET(abc->window));
+ gtk_widget_show(GTK_WIDGET(abc->window));
}
static void
@@ -345,10 +345,8 @@ create_generic_dialog(AddressBookConfig * abc, const gchar * type)
#if HAVE_MACOSX_DESKTOP
libbalsa_macosx_menu_for_parent(dialog, abc->parent);
#endif
- gtk_container_set_border_width(GTK_CONTAINER(dialog), 5);
- gtk_container_set_border_width(GTK_CONTAINER
- (gtk_dialog_get_content_area
- (GTK_DIALOG(dialog))), 12);
+ g_object_set(G_OBJECT(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),
+ "margin", 5, NULL);
g_signal_connect(G_OBJECT(dialog), "response",
G_CALLBACK(edit_book_response), abc);
@@ -419,7 +417,7 @@ create_externq_dialog(AddressBookConfig * abc)
ab = (LibBalsaAddressBookExtern*)abc->address_book; /* may be NULL */
grid = libbalsa_create_grid();
- gtk_container_set_border_width(GTK_CONTAINER(grid), 5);
+ g_object_set(G_OBJECT(grid), "margin", 5, NULL);
/* mailbox name */
@@ -466,6 +464,7 @@ create_externq_dialog(AddressBookConfig * abc)
}
dialog = create_generic_dialog(abc, "Extern");
+ g_object_set(G_OBJECT(grid), "margin", 12, NULL);
gtk_container_add(GTK_CONTAINER
(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),
grid);
@@ -533,6 +532,7 @@ create_ldap_dialog(AddressBookConfig * abc)
g_free(host);
dialog = create_generic_dialog(abc, "LDAP");
+ g_object_set(G_OBJECT(grid), "margin", 12, NULL);
gtk_container_add(GTK_CONTAINER
(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),
grid);
@@ -550,7 +550,7 @@ create_gpe_dialog(AddressBookConfig * abc)
LibBalsaAddressBook* ab;
GtkWidget* label;
- gtk_container_set_border_width(GTK_CONTAINER(grid), 5);
+ g_object_set(G_OBJECT(grid), "margin", 5, NULL);
ab = (LibBalsaAddressBook*)abc->address_book; /* may be NULL */
@@ -564,6 +564,7 @@ create_gpe_dialog(AddressBookConfig * abc)
add_radio_buttons(grid, 1, abc);
dialog = create_generic_dialog(abc, "GPE");
+ g_object_set(G_OBJECT(grid), "margin", 12, NULL);
gtk_container_add(GTK_CONTAINER
(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),
grid);
@@ -860,7 +861,7 @@ add_vcard_cb(GtkWidget * widget, AddressBookConfig * abc)
{
abc->type = LIBBALSA_TYPE_ADDRESS_BOOK_VCARD;
abc->window = create_vcard_dialog(abc);
- gtk_widget_show_all(abc->window);
+ gtk_widget_show(abc->window);
}
static void
@@ -868,7 +869,7 @@ add_externq_cb(GtkWidget * widget, AddressBookConfig * abc)
{
abc->type = LIBBALSA_TYPE_ADDRESS_BOOK_EXTERN;
abc->window = create_externq_dialog(abc);
- gtk_widget_show_all(abc->window);
+ gtk_widget_show(abc->window);
}
static void
@@ -876,7 +877,7 @@ add_ldif_cb(GtkWidget * widget, AddressBookConfig * abc)
{
abc->type = LIBBALSA_TYPE_ADDRESS_BOOK_LDIF;
abc->window = create_ldif_dialog(abc);
- gtk_widget_show_all(abc->window);
+ gtk_widget_show(abc->window);
}
#ifdef ENABLE_LDAP
@@ -885,7 +886,7 @@ add_ldap_cb(GtkWidget * widget, AddressBookConfig * abc)
{
abc->type = LIBBALSA_TYPE_ADDRESS_BOOK_LDAP;
abc->window = create_ldap_dialog(abc);
- gtk_widget_show_all(abc->window);
+ gtk_widget_show(abc->window);
}
#endif /* ENABLE_LDAP */
@@ -895,7 +896,7 @@ add_gpe_cb(GtkWidget * widget, AddressBookConfig * abc)
{
abc->type = LIBBALSA_TYPE_ADDRESS_BOOK_GPE;
abc->window = create_gpe_dialog(abc);
- gtk_widget_show_all(abc->window);
+ gtk_widget_show(abc->window);
}
#endif /* HAVE_SQLITE */
@@ -905,7 +906,7 @@ add_rubrica_cb(GtkWidget * widget, AddressBookConfig * abc)
{
abc->type = LIBBALSA_TYPE_ADDRESS_BOOK_RUBRICA;
abc->window = create_rubrica_dialog(abc);
- gtk_widget_show_all(abc->window);
+ gtk_widget_show(abc->window);
}
#endif /* HAVE_SQLITE */
@@ -915,7 +916,7 @@ add_osmo_cb(GtkWidget * widget, AddressBookConfig * abc)
{
abc->type = LIBBALSA_TYPE_ADDRESS_BOOK_OSMO;
abc->window = create_osmo_dialog(abc);
- gtk_widget_show_all(abc->window);
+ gtk_widget_show(abc->window);
}
#endif /* HAVE_OSMO */
diff --git a/src/balsa-app.c b/src/balsa-app.c
index 9f9782a..b30d182 100644
--- a/src/balsa-app.c
+++ b/src/balsa-app.c
@@ -103,7 +103,7 @@ ask_password_real(LibBalsaServer * server, LibBalsaMailbox * mbox)
if(server->remember_passwd)
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rememb), TRUE);
- gtk_widget_show_all(content_area);
+ gtk_widget_show(content_area);
gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE);
gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK);
gtk_widget_grab_focus (entry);
diff --git a/src/balsa-cite-bar.c b/src/balsa-cite-bar.c
index 77e33cb..65d3be2 100644
--- a/src/balsa-cite-bar.c
+++ b/src/balsa-cite-bar.c
@@ -35,14 +35,15 @@ struct _BalsaCiteBarClass {
GtkWidgetClass parent_class;
};
-static void balsa_cite_bar_get_preferred_width (GtkWidget * widget,
- gint * minimum_width,
- gint * natural_width);
-static void balsa_cite_bar_get_preferred_height(GtkWidget * widget,
- gint * minimum_height,
- gint * natural_height);
-static gboolean balsa_cite_bar_draw (GtkWidget * widget,
- cairo_t * cr);
+static void balsa_cite_bar_measure (GtkWidget * widget,
+ GtkOrientation orientation,
+ gint for_size,
+ gint * minimum,
+ gint * natural,
+ gint * minimum_baseline,
+ gint * natural_baseline);
+static gboolean balsa_cite_bar_draw (GtkWidget * widget,
+ cairo_t * cr);
G_DEFINE_TYPE(BalsaCiteBar, balsa_cite_bar, GTK_TYPE_WIDGET)
@@ -57,9 +58,8 @@ balsa_cite_bar_class_init(BalsaCiteBarClass * class)
parent_class = g_type_class_peek_parent(class);
- widget_class->get_preferred_width = balsa_cite_bar_get_preferred_width;
- widget_class->get_preferred_height = balsa_cite_bar_get_preferred_height;
- widget_class->draw = balsa_cite_bar_draw;
+ widget_class->measure = balsa_cite_bar_measure;
+ widget_class->draw = balsa_cite_bar_draw;
}
static void
@@ -100,27 +100,26 @@ balsa_cite_bar_resize(BalsaCiteBar * cite_bar, gint height)
}
static void
-balsa_cite_bar_get_preferred_width(GtkWidget * widget,
- gint * minimum_width,
- gint * natural_width)
+balsa_cite_bar_measure(GtkWidget * widget,
+ GtkOrientation orientation,
+ gint for_size,
+ gint * minimum,
+ gint * natural,
+ gint * minimum_baseline,
+ gint * natural_baseline)
{
BalsaCiteBar *cite_bar;
cite_bar = BALSA_CITE_BAR(widget);
- *minimum_width = *natural_width =
- cite_bar->bars * (cite_bar->width + cite_bar->space) -
- cite_bar->space;
-}
-static void
-balsa_cite_bar_get_preferred_height(GtkWidget * widget,
- gint * minimum_height,
- gint * natural_height)
-{
- BalsaCiteBar *cite_bar;
-
- cite_bar = BALSA_CITE_BAR(widget);
- *minimum_height = *natural_height = cite_bar->height;
+ if (orientation == GTK_ORIENTATION_HORIZONTAL) {
+ *minimum = *natural =
+ cite_bar->bars * (cite_bar->width + cite_bar->space) -
+ cite_bar->space;
+ } else {
+ *minimum = *natural = cite_bar->height;
+ }
+ *minimum_baseline = *natural_baseline = 0;
}
static gboolean
@@ -132,7 +131,7 @@ balsa_cite_bar_draw(GtkWidget * widget, cairo_t * cr)
int n, x;
context = gtk_widget_get_style_context(widget);
- gtk_style_context_get_color(context, GTK_STATE_FLAG_NORMAL, &rgba);
+ gtk_style_context_get_color(context, &rgba);
gdk_cairo_set_source_rgba(cr, &rgba);
cite_bar = BALSA_CITE_BAR(widget);
diff --git a/src/balsa-index.c b/src/balsa-index.c
index 07a4505..41b6996 100644
--- a/src/balsa-index.c
+++ b/src/balsa-index.c
@@ -82,7 +82,7 @@ static void bndx_mailbox_changed_cb(LibBalsaMailbox * mailbox,
static void bndx_selection_changed(GtkTreeSelection * selection,
BalsaIndex * index);
static gboolean bndx_button_event_press_cb(GtkWidget * tree_view,
- GdkEventButton * event,
+ GdkEvent * event,
gpointer data);
static void bndx_row_activated(GtkTreeView * tree_view, GtkTreePath * path,
GtkTreeViewColumn * column,
@@ -118,7 +118,7 @@ static void bndx_drag_cb(GtkWidget* widget,
/* Popup menu */
static GtkWidget* bndx_popup_menu_create(BalsaIndex * index);
-static void bndx_do_popup(BalsaIndex * index, GdkEventButton * event);
+static void bndx_do_popup(BalsaIndex * index, GdkEvent * event);
static GtkWidget *create_stock_menu_item(GtkWidget * menu,
const gchar * label,
GCallback cb, gpointer data);
@@ -277,20 +277,16 @@ static gint
bndx_string_width(const gchar * text)
{
GtkWidget *label;
- GtkWidget *window;
- GtkAllocation allocation;
+ gint natural_width;
label = gtk_label_new(NULL);
gtk_label_set_markup((GtkLabel *) label, text);
+ gtk_widget_measure(label, GTK_ORIENTATION_HORIZONTAL,
+ 300, NULL, &natural_width, NULL, NULL);
+ g_object_ref_sink(label);
+ g_object_unref(label);
- window = gtk_offscreen_window_new();
- gtk_container_add(GTK_CONTAINER(window), label);
- gtk_widget_show_all(window);
-
- gtk_widget_get_allocation(window, &allocation);
- gtk_widget_destroy(window);
-
- return allocation.width;
+ return natural_width;
}
/* BalsaIndex instance init method; no tree store is set on the tree
@@ -460,7 +456,7 @@ bndx_instance_init(BalsaIndex * index)
G_CALLBACK(bndx_drag_cb), NULL);
balsa_index_set_column_widths(index);
- gtk_widget_show_all (GTK_WIDGET(index));
+ gtk_widget_show (GTK_WIDGET(index));
}
/*
@@ -606,16 +602,17 @@ bndx_selection_changed(GtkTreeSelection * selection, BalsaIndex * index)
}
static gboolean
-bndx_button_event_press_cb(GtkWidget * widget, GdkEventButton * event,
+bndx_button_event_press_cb(GtkWidget * widget, GdkEvent * event,
gpointer data)
{
GtkTreeView *tree_view = GTK_TREE_VIEW(widget);
GtkTreePath *path;
BalsaIndex *index = BALSA_INDEX(widget);
+ gdouble x_win, y_win;
g_return_val_if_fail(event, FALSE);
if (!gdk_event_triggers_context_menu((GdkEvent *) event)
- || event->window != gtk_tree_view_get_bin_window(tree_view))
+ || !gdk_event_get_coords(event, &x_win, &y_win))
return FALSE;
/* pop up the context menu:
@@ -623,7 +620,7 @@ bndx_button_event_press_cb(GtkWidget * widget, GdkEventButton * event,
* the selection;
* - if it isn't, select it (cancelling any previous selection)
* - then create and show the menu */
- if (gtk_tree_view_get_path_at_pos(tree_view, event->x, event->y,
+ if (gtk_tree_view_get_path_at_pos(tree_view, (gint) x_win, (gint) y_win,
&path, NULL, NULL, NULL)) {
GtkTreeSelection *selection =
gtk_tree_view_get_selection(tree_view);
@@ -1912,7 +1909,7 @@ bndx_popup_position_func(GtkMenu * menu, gint * x, gint * y,
#endif /*GTK_CHECK_VERSION(3, 22, 0) */
static void
-bndx_do_popup(BalsaIndex * index, GdkEventButton * event)
+bndx_do_popup(BalsaIndex * index, GdkEvent * event)
{
GtkWidget *menu = index->popup_menu;
GtkWidget *submenu;
@@ -1965,24 +1962,15 @@ bndx_do_popup(BalsaIndex * index, GdkEventButton * event)
gtk_menu_item_set_submenu(GTK_MENU_ITEM(index->move_to_item),
submenu);
- gtk_widget_show_all(menu);
+ gtk_widget_show(menu);
-#if GTK_CHECK_VERSION(3, 22, 0)
- if (event)
- gtk_menu_popup_at_pointer(GTK_MENU(menu), (GdkEvent *) event);
- else
+ if (event != NULL) {
+ gtk_menu_popup_at_pointer(GTK_MENU(menu), event);
+ } else {
gtk_menu_popup_at_widget(GTK_MENU(menu), GTK_WIDGET(index),
GDK_GRAVITY_CENTER, GDK_GRAVITY_CENTER,
NULL);
-#else /*GTK_CHECK_VERSION(3, 22, 0) */
- if (event)
- gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
- event->button, event->time);
- else
- gtk_menu_popup(GTK_MENU(menu), NULL, NULL,
- bndx_popup_position_func, index,
- 0, gtk_get_current_event_time());
-#endif /*GTK_CHECK_VERSION(3, 22, 0) */
+ }
}
static GtkWidget *
@@ -2652,9 +2640,9 @@ balsa_index_pipe(BalsaIndex * index)
libbalsa_macosx_menu_for_parent(dialog, GTK_WINDOW(balsa_app.main_window));
#endif
gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK);
- gtk_container_set_border_width(GTK_CONTAINER(dialog), 5);
vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog));
+ g_object_set(G_OBJECT(vbox), "margin", 5, NULL);
gtk_box_set_spacing(GTK_BOX(vbox), HIG_PADDING);
gtk_container_add(GTK_CONTAINER(vbox), label =
gtk_label_new(_("Specify the program to run:")));
diff --git a/src/balsa-mblist.c b/src/balsa-mblist.c
index 95f009f..fae7a9d 100644
--- a/src/balsa-mblist.c
+++ b/src/balsa-mblist.c
@@ -109,7 +109,7 @@ static gint bmbl_row_compare(GtkTreeModel * model,
GtkTreeIter * iter1,
GtkTreeIter * iter2, gpointer data);
static gboolean bmbl_button_press_cb(GtkWidget * widget,
- GdkEventButton * event,
+ GdkEvent * event,
gpointer data);
static void bmbl_column_resize(GtkWidget * widget,
GtkAllocation * allocation, gpointer data);
@@ -135,7 +135,7 @@ static gboolean bmbl_store_redraw_mbnode(GtkTreeIter * iter,
static void bmbl_node_style(GtkTreeModel * model, GtkTreeIter * iter);
static gint bmbl_core_mailbox(LibBalsaMailbox * mailbox);
static void bmbl_do_popup(GtkTreeView * tree_view, GtkTreePath * path,
- GdkEventButton * event);
+ GdkEvent * event);
static void bmbl_expand_to_row(BalsaMBList * mblist, GtkTreePath * path);
/* end of prototypes */
@@ -682,17 +682,18 @@ bmbl_row_compare(GtkTreeModel * model, GtkTreeIter * iter1,
(clicking on folders is passed to GtkTreeView and may trigger expand events
*/
static gboolean
-bmbl_button_press_cb(GtkWidget * widget, GdkEventButton * event,
+bmbl_button_press_cb(GtkWidget * widget, GdkEvent * event,
gpointer data)
{
GtkTreeView *tree_view = GTK_TREE_VIEW(widget);
GtkTreePath *path;
+ gdouble x_win, y_win;
if (!gdk_event_triggers_context_menu((GdkEvent *) event)
- || event->window != gtk_tree_view_get_bin_window(tree_view))
+ || !gdk_event_get_coords(event, &x_win, &y_win))
return FALSE;
- if (!gtk_tree_view_get_path_at_pos(tree_view, event->x, event->y,
+ if (!gtk_tree_view_get_path_at_pos(tree_view, (gint) x_win, (gint) y_win,
&path, NULL, NULL, NULL))
path = NULL;
bmbl_do_popup(tree_view, path, event);
@@ -722,13 +723,9 @@ bmbl_popup_menu(GtkWidget * widget)
*/
static void
bmbl_do_popup(GtkTreeView * tree_view, GtkTreePath * path,
- GdkEventButton * event)
+ GdkEvent * event)
{
BalsaMailboxNode *mbnode = NULL;
-#if !GTK_CHECK_VERSION(3, 22, 0)
- gint event_button;
- guint event_time;
-#endif /*GTK_CHECK_VERSION(3, 22, 0) */
GtkWidget *menu;
if (path) {
@@ -740,30 +737,16 @@ bmbl_do_popup(GtkTreeView * tree_view, GtkTreePath * path,
gtk_tree_path_free(path);
}
-#if !GTK_CHECK_VERSION(3, 22, 0)
- if (event) {
- event_button = event->button;
- event_time = event->time;
- } else {
- event_button = 0;
- event_time = gtk_get_current_event_time();
- }
-#endif /*GTK_CHECK_VERSION(3, 22, 0) */
menu = balsa_mailbox_node_get_context_menu(mbnode);
g_object_ref(menu);
g_object_ref_sink(menu);
-#if GTK_CHECK_VERSION(3, 22, 0)
if (event)
- gtk_menu_popup_at_pointer(GTK_MENU(menu), (GdkEvent *) event);
+ gtk_menu_popup_at_pointer(GTK_MENU(menu), event);
else
gtk_menu_popup_at_widget(GTK_MENU(menu), GTK_WIDGET(tree_view),
GDK_GRAVITY_CENTER, GDK_GRAVITY_CENTER,
NULL);
-#else /*GTK_CHECK_VERSION(3, 22, 0) */
- gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
- event_button, event_time);
-#endif /*GTK_CHECK_VERSION(3, 22, 0) */
g_object_unref(menu);
if (mbnode)
@@ -885,6 +868,8 @@ bmbl_select_mailbox(GtkTreeSelection * selection, gpointer data)
GtkTreeModel *model =
gtk_tree_view_get_model(tree_view);
GtkTreePath *path;
+ guint button;
+ gdouble x_win, y_win;
if (!event) {
GtkTreeIter iter;
@@ -906,18 +891,17 @@ bmbl_select_mailbox(GtkTreeSelection * selection, gpointer data)
g_signal_handlers_unblock_by_func(selection, bmbl_select_mailbox, NULL);
return;
}
- if (event->type != GDK_BUTTON_PRESS
+ if (gdk_event_get_event_type(event) != GDK_BUTTON_PRESS
/* keyboard navigation */
- || event->button.button != 1
+ || !(gdk_event_get_button(event, &button) && button == 1)
/* soft select */
- || event->button.window != gtk_tree_view_get_bin_window(tree_view)
- /* click on a different widget */ ) {
+ || !gdk_event_get_coords(event, &x_win, &y_win)) {
gdk_event_free(event);
return;
}
- if (!gtk_tree_view_get_path_at_pos(tree_view, event->button.x,
- event->button.y, &path,
+ if (!gtk_tree_view_get_path_at_pos(tree_view, (gint) x_win,
+ (gint) y_win, &path,
NULL, NULL, NULL)) {
/* GtkTreeView selects the first node in the tree when the
* widget first gets the focus, whether it's a keyboard event or
@@ -1772,7 +1756,7 @@ bmbl_mru_menu(GtkWindow * window, GList ** url_list,
G_CALLBACK(bmbl_mru_show_tree), mru,
(GClosureNotify) g_free, (GConnectFlags) 0);
- gtk_widget_show_all(menu);
+ gtk_widget_show(menu);
return menu;
}
@@ -1880,7 +1864,7 @@ bmbl_mru_show_tree(GtkWidget * widget, gpointer data)
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_container_add(GTK_CONTAINER(scroll), mblist);
- gtk_widget_show_all(scroll);
+ gtk_widget_show(scroll);
dialog =
gtk_dialog_new_with_buttons(_("Choose destination folder"),
@@ -1892,9 +1876,10 @@ bmbl_mru_show_tree(GtkWidget * widget, gpointer data)
#if HAVE_MACOSX_DESKTOP
libbalsa_macosx_menu_for_parent(dialog, mru->window);
#endif
+ gtk_widget_set_vexpand(scroll, TRUE);
gtk_box_pack_start(GTK_BOX
(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),
- scroll, TRUE, TRUE, 0);
+ scroll);
g_signal_connect(dialog, "size-allocate",
G_CALLBACK(bmbl_mru_size_allocate_cb), NULL);
@@ -1922,6 +1907,7 @@ bmbl_mru_selected_cb(GtkTreeSelection * selection, gpointer data)
GdkEvent *event;
GtkTreeView *tree_view;
GtkTreePath *path;
+ gdouble x_win, y_win;
if (!data)
return;
@@ -1931,9 +1917,10 @@ bmbl_mru_selected_cb(GtkTreeSelection * selection, gpointer data)
return;
tree_view = gtk_tree_selection_get_tree_view(selection);
- if (event->type != GDK_BUTTON_PRESS ||
- !gtk_tree_view_get_path_at_pos(tree_view, event->button.x,
- event->button.y, &path,
+ if (gdk_event_get_event_type(event) != GDK_BUTTON_PRESS ||
+ !gdk_event_get_coords(event, &x_win, &y_win) ||
+ !gtk_tree_view_get_path_at_pos(tree_view, (gint) x_win,
+ (gint) y_win, &path,
NULL, NULL, NULL)) {
gtk_tree_selection_unselect_all(selection);
gdk_event_free(event);
diff --git a/src/balsa-message.c b/src/balsa-message.c
index d557ff3..975d62e 100644
--- a/src/balsa-message.c
+++ b/src/balsa-message.c
@@ -126,7 +126,7 @@ static void select_part(BalsaMessage * bm, BalsaPartInfo *info);
static void tree_activate_row_cb(GtkTreeView *treeview, GtkTreePath *arg1,
GtkTreeViewColumn *arg2, gpointer user_data);
static gboolean tree_menu_popup_key_cb(GtkWidget *widget, gpointer user_data);
-static gboolean tree_button_press_cb(GtkWidget * widget, GdkEventButton * event,
+static gboolean tree_button_press_cb(GtkWidget * widget, GdkEvent * event,
gpointer data);
static void part_info_init(BalsaMessage * bm, BalsaPartInfo * info);
@@ -605,12 +605,11 @@ bm_find_bar_new(BalsaMessage * bm)
gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH_HORIZ);
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6);
- gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new(_("Find:")),
- FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new(_("Find:")));
bm->find_entry = gtk_entry_new();
g_signal_connect(bm->find_entry, "changed",
G_CALLBACK(bm_find_entry_changed_cb), bm);
- gtk_box_pack_start(GTK_BOX(hbox), bm->find_entry, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), bm->find_entry);
tool_item = gtk_tool_item_new();
gtk_container_add(GTK_CONTAINER(tool_item), hbox);
@@ -644,19 +643,25 @@ bm_find_bar_new(BalsaMessage * bm)
static void bm_disable_find_entry(BalsaMessage * bm);
static gboolean
-bm_find_pass_to_entry(BalsaMessage * bm, GdkEventKey * event)
+bm_find_pass_to_entry(BalsaMessage * bm, GdkEvent * event)
{
gboolean res = TRUE;
+ guint keyval;
+ GdkModifierType state;
- switch (event->keyval) {
+ if (!gdk_event_get_keyval(event, &keyval) ||
+ !gdk_event_get_state(event, &state))
+ return FALSE;
+
+ switch (keyval) {
case GDK_KEY_Escape:
case GDK_KEY_Return:
case GDK_KEY_KP_Enter:
bm_disable_find_entry(bm);
return res;
case GDK_KEY_g:
- if ((event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) ==
- GDK_CONTROL_MASK && gtk_widget_get_sensitive(bm->find_next)) {
+ if ((state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) == GDK_CONTROL_MASK &&
+ gtk_widget_get_sensitive(bm->find_next)) {
bm_find_again(bm, bm->find_forward);
return res;
}
@@ -697,14 +702,15 @@ balsa_message_init(BalsaMessage * bm)
GtkTreeSelection *selection;
bm->switcher = gtk_stack_switcher_new();
- gtk_box_pack_start(GTK_BOX(bm), bm->switcher, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(bm), bm->switcher);
bm->stack = gtk_stack_new();
stack = GTK_STACK(bm->stack);
gtk_stack_set_transition_type(stack,
GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN);
gtk_stack_switcher_set_stack(GTK_STACK_SWITCHER(bm->switcher), stack);
- gtk_box_pack_start(GTK_BOX(bm), bm->stack, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(bm->stack, TRUE);
+ gtk_box_pack_start(GTK_BOX(bm), bm->stack);
/* Box to hold the scrolled window and the find bar */
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
@@ -717,7 +723,8 @@ balsa_message_init(BalsaMessage * bm)
GTK_POLICY_AUTOMATIC);
g_signal_connect(scroll, "key_press_event",
G_CALLBACK(balsa_mime_widget_key_press_event), bm);
- gtk_box_pack_start(GTK_BOX(vbox), scroll, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(scroll, TRUE);
+ gtk_box_pack_start(GTK_BOX(vbox), scroll);
#if !GTK_CHECK_VERSION(3, 15, 0)
g_signal_connect_after(bm, "style-updated",
G_CALLBACK(bm_on_set_style), bm);
@@ -806,11 +813,11 @@ balsa_message_init(BalsaMessage * bm)
bm->wrap_text = balsa_app.browse_wrap;
bm->shown_headers = balsa_app.shown_headers;
- gtk_widget_show_all(GTK_WIDGET(bm));
+ gtk_widget_show(GTK_WIDGET(bm));
/* Find-in-message toolbar that is hidden by default. */
bm->find_bar = bm_find_bar_new(bm);
- gtk_box_pack_start(GTK_BOX(vbox), bm->find_bar, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), bm->find_bar);
}
static void
@@ -936,7 +943,7 @@ collect_selected_info(GtkTreeModel * model, GtkTreePath * path,
}
static void
-tree_mult_selection_popup(BalsaMessage * bm, GdkEventButton * event,
+tree_mult_selection_popup(BalsaMessage * bm, GdkEvent * event,
GtkTreeSelection * selection)
{
gint selected;
@@ -960,23 +967,14 @@ tree_mult_selection_popup(BalsaMessage * bm, GdkEventButton * event,
if (selected == 1) {
BalsaPartInfo *info = BALSA_PART_INFO(bm->save_all_list->data);
if (info->popup_menu) {
-#if GTK_CHECK_VERSION(3, 22, 0)
- if (event)
- gtk_menu_popup_at_pointer(GTK_MENU(info->popup_menu),
- (GdkEvent *) event);
- else
+ if (event != NULL) {
+ gtk_menu_popup_at_pointer(GTK_MENU(info->popup_menu), event);
+ } else {
gtk_menu_popup_at_widget(GTK_MENU(info->popup_menu),
GTK_WIDGET(bm),
GDK_GRAVITY_CENTER, GDK_GRAVITY_CENTER,
NULL);
-#else /*GTK_CHECK_VERSION(3, 22, 0) */
- if (event)
- gtk_menu_popup(GTK_MENU(info->popup_menu), NULL, NULL, NULL,
- NULL, event->button, event->time);
- else
- gtk_menu_popup(GTK_MENU(info->popup_menu), NULL, NULL, NULL,
- NULL, 0, gtk_get_current_event_time());
-#endif /*GTK_CHECK_VERSION(3, 22, 0) */
+ }
}
g_list_free(bm->save_all_list);
bm->save_all_list = NULL;
@@ -1031,17 +1029,15 @@ tree_menu_popup_key_cb(GtkWidget *widget, gpointer user_data)
}
static gboolean
-tree_button_press_cb(GtkWidget * widget, GdkEventButton * event,
- gpointer data)
+tree_button_press_cb(GtkWidget * widget, GdkEvent * event, gpointer data)
{
BalsaMessage * bm = (BalsaMessage *)data;
GtkTreeView *tree_view = GTK_TREE_VIEW(widget);
GtkTreePath *path;
+ gdouble x_win, y_win;
- g_return_val_if_fail(bm, FALSE);
- g_return_val_if_fail(event, FALSE);
- if (!gdk_event_triggers_context_menu((GdkEvent *) event)
- || event->window != gtk_tree_view_get_bin_window(tree_view))
+ if (!gdk_event_triggers_context_menu(event) ||
+ !gdk_event_get_coords(event, &x_win, &y_win))
return FALSE;
/* If the part which received the click is already selected, don't change
@@ -1050,7 +1046,7 @@ tree_button_press_cb(GtkWidget * widget, GdkEventButton * event,
* If the receiving part is not selected, select (only) this part and pop
* up its menu.
*/
- if (gtk_tree_view_get_path_at_pos(tree_view, event->x, event->y,
+ if (gtk_tree_view_get_path_at_pos(tree_view, (gint) x_win, (gint) y_win,
&path, NULL, NULL, NULL)) {
GtkTreeIter iter;
GtkTreeSelection * selection =
@@ -1066,15 +1062,9 @@ tree_button_press_cb(GtkWidget * widget, GdkEventButton * event,
FALSE);
if (gtk_tree_model_get_iter (model, &iter, path)) {
gtk_tree_model_get(model, &iter, PART_INFO_COLUMN, &info, -1);
- if (info) {
- if (info->popup_menu) {
-#if GTK_CHECK_VERSION(3, 22, 0)
- gtk_menu_popup_at_pointer(GTK_MENU(info->popup_menu),
- (GdkEvent *) event);
-#else /*GTK_CHECK_VERSION(3, 22, 0) */
- gtk_menu_popup(GTK_MENU(info->popup_menu), NULL, NULL,
- NULL, NULL, event->button, event->time);
-#endif /*GTK_CHECK_VERSION(3, 22, 0) */
+ if (info != NULL) {
+ if (info->popup_menu != NULL) {
+ gtk_menu_popup_at_pointer(GTK_MENU(info->popup_menu), event);
}
g_object_unref(info);
}
@@ -1286,7 +1276,7 @@ balsa_message_set_displayed_headers(BalsaMessage * bmessage,
balsa_message_set_embedded_hdr, bmessage);
if (bm_header_widget_att_button(bmessage)) {
if (bmessage->info_count > 1)
- gtk_widget_show_all
+ gtk_widget_show
(GTK_WIDGET(bm_header_widget_att_button(bmessage)));
else
gtk_widget_hide
@@ -1593,8 +1583,8 @@ display_face(BalsaMessage * bm)
return;
}
- gtk_box_pack_start(GTK_BOX(face_box), image, FALSE, FALSE, 0);
- gtk_widget_show_all(face_box);
+ gtk_box_pack_start(GTK_BOX(face_box), image);
+ gtk_widget_show(face_box);
}
static void
@@ -1607,8 +1597,8 @@ display_content(BalsaMessage * bm)
g_object_ref_sink(bm->parts_popup);
display_parts(bm, bm->message->body_list, NULL, NULL);
if (bm->info_count > 1) {
- gtk_widget_show_all(bm->parts_popup);
- gtk_widget_show_all
+ gtk_widget_show(bm->parts_popup);
+ gtk_widget_show
(GTK_WIDGET(bm_header_widget_att_button(bm)));
} else
gtk_widget_hide
@@ -1688,7 +1678,7 @@ part_create_menu (BalsaPartInfo* info)
gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), submenu);
}
- gtk_widget_show_all (info->popup_menu);
+ gtk_widget_show (info->popup_menu);
g_free (content_type);
}
@@ -2227,8 +2217,10 @@ add_part(BalsaMessage * bm, BalsaPartInfo * info, GtkWidget * container)
if (info->mime_widget == NULL)
part_info_init(bm, info);
- if ((widget = info->mime_widget->widget))
- gtk_box_pack_start(GTK_BOX(container), widget, TRUE, TRUE, 0);
+ if ((widget = info->mime_widget->widget)) {
+ gtk_widget_set_vexpand(widget, TRUE);
+ gtk_box_pack_start(GTK_BOX(container), widget);
+ }
body =
add_multipart(bm, info->body,
@@ -2467,7 +2459,7 @@ handle_mdn_request(GtkWindow *parent, LibBalsaMessage *message)
reply_to =
internet_address_list_to_string (message->headers->dispnotify_to,
FALSE);
- gtk_widget_show_all (create_mdn_dialog (parent, sender, reply_to, mdn,
+ gtk_widget_show (create_mdn_dialog (parent, sender, reply_to, mdn,
mdn_ident));
g_free (reply_to);
g_free (sender);
@@ -3304,7 +3296,7 @@ balsa_message_find_in_message(BalsaMessage * bm)
bm_find_set_status(bm, BM_FIND_STATUS_INIT);
- gtk_widget_show_all(bm->find_bar);
+ gtk_widget_show(bm->find_bar);
if (gtk_widget_get_window(bm->find_entry))
gtk_widget_grab_focus(bm->find_entry);
}
diff --git a/src/balsa-mime-widget-callbacks.c b/src/balsa-mime-widget-callbacks.c
index efa1e25..0500b94 100644
--- a/src/balsa-mime-widget-callbacks.c
+++ b/src/balsa-mime-widget-callbacks.c
@@ -193,12 +193,19 @@ scroll_change(GtkAdjustment * adj, gint diff, BalsaMessage * bm)
gtk_adjustment_set_value(adj, MIN(value, upper));
}
-gint
-balsa_mime_widget_key_press_event(GtkWidget * widget, GdkEventKey * event,
+gboolean
+balsa_mime_widget_key_press_event(GtkWidget * widget, GdkEvent * event,
BalsaMessage * bm)
{
GtkAdjustment *adj;
int page_adjust;
+ guint keyval;
+ GdkModifierType state;
+
+ if (!gdk_event_get_keyval(event, &keyval) ||
+ !gdk_event_get_state(event, &state)) {
+ return FALSE;
+ }
adj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW
(bm->scroll));
@@ -207,7 +214,7 @@ balsa_mime_widget_key_press_event(GtkWidget * widget, GdkEventKey * event,
(gtk_adjustment_get_page_size(adj) * balsa_app.pgdown_percent) /
100 : gtk_adjustment_get_page_increment(adj);
- switch (event->keyval) {
+ switch (keyval) {
case GDK_KEY_Up:
scroll_change(adj, -gtk_adjustment_get_step_increment(adj), NULL);
break;
@@ -221,19 +228,19 @@ balsa_mime_widget_key_press_event(GtkWidget * widget, GdkEventKey * event,
scroll_change(adj, page_adjust, NULL);
break;
case GDK_KEY_Home:
- if (event->state & GDK_CONTROL_MASK)
+ if (state & GDK_CONTROL_MASK)
scroll_change(adj, -gtk_adjustment_get_value(adj), NULL);
else
return FALSE;
break;
case GDK_KEY_End:
- if (event->state & GDK_CONTROL_MASK)
+ if (state & GDK_CONTROL_MASK)
scroll_change(adj, gtk_adjustment_get_upper(adj), NULL);
else
return FALSE;
break;
case GDK_KEY_F10:
- if (event->state & GDK_SHIFT_MASK) {
+ if (state & GDK_SHIFT_MASK) {
GtkWidget *current_widget = balsa_message_current_part_widget(bm);
if (current_widget) {
diff --git a/src/balsa-mime-widget-callbacks.h b/src/balsa-mime-widget-callbacks.h
index c6abc8d..a54ab5a 100644
--- a/src/balsa-mime-widget-callbacks.h
+++ b/src/balsa-mime-widget-callbacks.h
@@ -30,8 +30,8 @@ G_BEGIN_DECLS
void balsa_mime_widget_ctx_menu_cb(GtkWidget * menu_item, LibBalsaMessageBody * mime_body);
void balsa_mime_widget_ctx_menu_save(GtkWidget * parent_widget,
LibBalsaMessageBody * mime_body);
-gint balsa_mime_widget_key_press_event(GtkWidget * widget, GdkEventKey * event,
- BalsaMessage * bm);
+gboolean balsa_mime_widget_key_press_event(GtkWidget * widget, GdkEvent * event,
+ BalsaMessage * bm);
gint balsa_mime_widget_limit_focus(GtkWidget * widget, GdkEventFocus * event, BalsaMessage * bm);
gint balsa_mime_widget_unlimit_focus(GtkWidget * widget, GdkEventFocus * event, BalsaMessage * bm);
diff --git a/src/balsa-mime-widget-image.c b/src/balsa-mime-widget-image.c
index 47834a6..0749270 100644
--- a/src/balsa-mime-widget-image.c
+++ b/src/balsa-mime-widget-image.c
@@ -126,26 +126,23 @@ balsa_mime_widget_new_image(BalsaMessage * bm,
mwi = g_object_new(BALSA_TYPE_MIME_WIDGET_IMAGE, NULL);
mw = (BalsaMimeWidget *) mwi;
+#ifdef WE_STILL_NEED_AN_EVENT_BOX
mw->widget = gtk_event_box_new();
+#endif
g_signal_connect(G_OBJECT(mw->widget), "button-press-event",
G_CALLBACK(balsa_image_button_press_cb), data);
-#if !GTK_CHECK_VERSION(3, 15, 0)
- mwi->context =
- gtk_widget_get_style_context(GTK_WIDGET(bm->scroll));
- bmwi_context_changed_cb(mwi->context, mw);
- mwi->context_changed_handler_id =
- g_signal_connect(mwi->context, "changed",
- G_CALLBACK(bmwi_context_changed_cb), mw);
-#endif
-
image = gtk_image_new_from_icon_name("image-missing",
GTK_ICON_SIZE_BUTTON);
g_object_set_data(G_OBJECT(image), "orig-width",
GINT_TO_POINTER(gdk_pixbuf_get_width(pixbuf)));
g_object_set_data(G_OBJECT(image), "mime-body", mime_body);
g_object_unref(pixbuf);
+#ifdef WE_STILL_NEED_AN_EVENT_BOX
gtk_container_add(GTK_CONTAINER(mw->widget), image);
+#else
+ mw->widget = image;
+#endif
return mw;
}
diff --git a/src/balsa-mime-widget-message.c b/src/balsa-mime-widget-message.c
index 9a023d8..48ab48b 100644
--- a/src/balsa-mime-widget-message.c
+++ b/src/balsa-mime-widget-message.c
@@ -130,12 +130,11 @@ balsa_mime_widget_new_message(BalsaMessage * bm,
mw->widget = gtk_frame_new(NULL);
mw->container = gtk_box_new(GTK_ORIENTATION_VERTICAL, BMW_MESSAGE_PADDING);
- gtk_container_set_border_width(GTK_CONTAINER(mw->container),
- BMW_MESSAGE_PADDING);
+ g_object_set(G_OBJECT(mw->container), "margin", BMW_MESSAGE_PADDING, NULL);
gtk_container_add(GTK_CONTAINER(mw->widget), mw->container);
mw->header_widget = emb_hdrs = bm_header_widget_new(bm, NULL);
- gtk_box_pack_start(GTK_BOX(mw->container), emb_hdrs, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(mw->container), emb_hdrs);
bmw_message_set_headers(bm, mw, mime_body,
bm->shown_headers == HEADERS_ALL);
@@ -227,18 +226,16 @@ bmw_message_extbody_url(LibBalsaMessageBody * mime_body,
/* now create & return the widget... */
mw = g_object_new(BALSA_TYPE_MIME_WIDGET, NULL);
-
+
mw->widget = gtk_box_new(GTK_ORIENTATION_VERTICAL, BMW_VBOX_SPACE);
- gtk_container_set_border_width(GTK_CONTAINER(mw->widget),
- BMW_CONTAINER_BORDER);
+ g_object_set(G_OBJECT(mw->widget), "margin", BMW_CONTAINER_BORDER, NULL);
- gtk_box_pack_start(GTK_BOX(mw->widget), gtk_label_new(msg->str), FALSE,
- FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(mw->widget), gtk_label_new(msg->str));
g_string_free(msg, TRUE);
button = gtk_button_new_with_label(url);
- gtk_box_pack_start(GTK_BOX(mw->widget), button, FALSE, FALSE,
- BMW_BUTTON_PACK_SPACE);
+ gtk_widget_set_margin_top(button, BMW_BUTTON_PACK_SPACE);
+ gtk_box_pack_start(GTK_BOX(mw->widget), button);
g_object_set_data_full(G_OBJECT(button), "call_url", url,
(GDestroyNotify) g_free);
g_signal_connect(G_OBJECT(button), "clicked",
@@ -276,18 +273,16 @@ bmw_message_extbody_mail(LibBalsaMessageBody * mime_body)
mw = g_object_new(BALSA_TYPE_MIME_WIDGET, NULL);
mw->widget = gtk_box_new(GTK_ORIENTATION_VERTICAL, BMW_VBOX_SPACE);
- gtk_container_set_border_width(GTK_CONTAINER(mw->widget),
- BMW_CONTAINER_BORDER);
+ g_object_set(G_OBJECT(mw->widget), "margin", BMW_CONTAINER_BORDER, NULL);
- gtk_box_pack_start(GTK_BOX(mw->widget), gtk_label_new(msg->str), FALSE,
- FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(mw->widget), gtk_label_new(msg->str));
g_string_free(msg, TRUE);
button =
gtk_button_new_with_mnemonic(_
("Se_nd message to obtain this part"));
- gtk_box_pack_start(GTK_BOX(mw->widget), button, FALSE, FALSE,
- BMW_BUTTON_PACK_SPACE);
+ gtk_widget_set_margin_top(button, BMW_BUTTON_PACK_SPACE);
+ gtk_box_pack_start(GTK_BOX(mw->widget), button);
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(extbody_send_mail), (gpointer) mime_body);
@@ -402,14 +397,16 @@ balsa_mime_widget_new_message_tl(BalsaMessage * bm,
mw = g_object_new(BALSA_TYPE_MIME_WIDGET, NULL);
mw->widget = gtk_box_new(GTK_ORIENTATION_VERTICAL, BMW_MESSAGE_PADDING);
- gtk_container_set_border_width(GTK_CONTAINER(mw->widget), BMW_MESSAGE_PADDING);
+ g_object_set(G_OBJECT(mw->widget), "margin", BMW_MESSAGE_PADDING, NULL);
mw->header_widget = headers = bm_header_widget_new(bm, tl_buttons);
- gtk_box_pack_start(GTK_BOX(mw->widget), headers, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(mw->widget), headers);
mw->container = gtk_box_new(GTK_ORIENTATION_VERTICAL, BMW_MESSAGE_PADDING);
- gtk_box_pack_start(GTK_BOX(mw->widget), mw->container, TRUE, TRUE,
- BMW_CONTAINER_BORDER - BMW_MESSAGE_PADDING);
+ gtk_widget_set_vexpand(mw->container, TRUE);
+ gtk_widget_set_margin_top(mw->container,
+ BMW_CONTAINER_BORDER - BMW_MESSAGE_PADDING);
+ gtk_box_pack_start(GTK_BOX(mw->widget), mw->container);
return mw;
}
@@ -455,7 +452,7 @@ bm_header_extend_popup(GtkWidget * widget, GtkMenu * menu, gpointer arg)
G_CALLBACK(balsa_message_copy_part), arg);
gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item),
submenu);
- gtk_widget_show_all(submenu);
+ gtk_widget_show(submenu);
}
static GtkWidget *
@@ -486,12 +483,12 @@ bm_header_widget_new(BalsaMessage * bm, GtkWidget * const * buttons)
#ifdef GTK_INFO_BAR_WRAPPING_IS_BROKEN
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
gtk_container_add(GTK_CONTAINER(hbox), grid);
- gtk_container_set_border_width(GTK_CONTAINER(hbox), 6);
+ g_object_set(G_OBJECT(hbox), "margin", 6, NULL);
action_area = gtk_button_box_new(GTK_ORIENTATION_VERTICAL);
gtk_button_box_set_layout(GTK_BUTTON_BOX(action_area),
GTK_BUTTONBOX_START);
- gtk_box_pack_end(GTK_BOX(hbox), action_area, FALSE, TRUE, 0);
+ gtk_box_pack_end(GTK_BOX(hbox), action_area);
#else /* GTK_INFO_BAR_WRAPPING_IS_BROKEN */
info_bar_widget = gtk_info_bar_new();
info_bar = GTK_INFO_BAR(info_bar_widget);
@@ -584,7 +581,7 @@ add_header_gchar(GtkGrid * grid, const gchar * header, const gchar * label,
}
css_provider = gtk_css_provider_new();
- gtk_css_provider_load_from_data(css_provider, css, -1, NULL);
+ gtk_css_provider_load_from_data(css_provider, css, -1);
g_free(css);
lab = gtk_label_new(label);
@@ -644,7 +641,7 @@ add_header_gchar(GtkGrid * grid, const gchar * header, const gchar * label,
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
gtk_container_add(GTK_CONTAINER(hbox), value_label);
gtk_container_add(GTK_CONTAINER(hbox), expander);
- gtk_widget_show_all(hbox);
+ gtk_widget_show(hbox);
gtk_grid_attach_next_to(grid, hbox, lab, GTK_POS_RIGHT, 1, 1);
}
diff --git a/src/balsa-mime-widget-text.c b/src/balsa-mime-widget-text.c
index a4f6d78..2fa8d87 100644
--- a/src/balsa-mime-widget-text.c
+++ b/src/balsa-mime-widget-text.c
@@ -91,13 +91,13 @@ static GdkCursor *url_cursor_normal = NULL;
static GdkCursor *url_cursor_over_url = NULL;
-static gboolean store_button_coords(GtkWidget * widget, GdkEventButton * event, gpointer data);
-static gboolean check_over_url(GtkWidget * widget, GdkEventMotion * event, GList * url_list);
+static gboolean store_button_coords(GtkWidget * widget, GdkEvent * event, gpointer data);
+static gboolean check_over_url(GtkWidget * widget, GdkEvent * event, GList * url_list);
static void pointer_over_url(GtkWidget * widget, message_url_t * url, gboolean set);
static void prepare_url_offsets(GtkTextBuffer * buffer, GList * url_list);
static void url_found_cb(GtkTextBuffer * buffer, GtkTextIter * iter,
const gchar * buf, guint len, gpointer data);
-static gboolean check_call_url(GtkWidget * widget, GdkEventButton * event, GList * url_list);
+static gboolean check_call_url(GtkWidget * widget, GdkEvent * event, GList * url_list);
static message_url_t * find_url(GtkWidget * widget, gint x, gint y, GList * url_list);
static void handle_url(const gchar* url);
static void free_url_list(GList * url_list);
@@ -312,7 +312,7 @@ bm_modify_font_from_string(GtkWidget * widget, const char *font)
css = libbalsa_font_string_to_css(font, BALSA_MESSAGE_TEXT_HEADER);
css_provider = gtk_css_provider_new();
- gtk_css_provider_load_from_data(css_provider, css, -1, NULL);
+ gtk_css_provider_load_from_data(css_provider, css, -1);
g_free(css);
gtk_style_context_add_provider(gtk_widget_get_style_context(widget) ,
@@ -519,7 +519,7 @@ text_view_url_popup(GtkTextView *textview, GtkMenu *menu)
G_CALLBACK (url_send_cb), (gpointer)url);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
- gtk_widget_show_all(GTK_WIDGET(menu));
+ gtk_widget_show(GTK_WIDGET(menu));
return TRUE;
}
@@ -564,20 +564,29 @@ text_view_populate_popup(GtkTextView *textview, GtkMenu *menu,
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
}
- gtk_widget_show_all(GTK_WIDGET(menu));
+ gtk_widget_show(GTK_WIDGET(menu));
}
/* -- URL related stuff -- */
static gboolean
-store_button_coords(GtkWidget * widget, GdkEventButton * event,
+store_button_coords(GtkWidget * widget, GdkEvent * event,
gpointer data)
{
- if (event->type == GDK_BUTTON_PRESS && event->button == 1) {
- stored_x = event->x;
- stored_y = event->y;
- stored_mask = event->state;
+ guint button;
+
+ if (gdk_event_get_event_type(event) == GDK_BUTTON_PRESS &&
+ gdk_event_get_button(event, &button) && button == 1) {
+ gdouble x_win, y_win;
+ GdkModifierType state;
+
+ if (gdk_event_get_coords(event, &x_win, &y_win) &&
+ gdk_event_get_state(event, &state)) {
+ stored_x = (gint) x_win;
+ stored_y = (gint) y_win;
+ stored_mask = state;
+ }
/* compare only shift, ctrl, and mod1-mod5 */
stored_mask &= STORED_MASK_BITS;
@@ -587,20 +596,22 @@ store_button_coords(GtkWidget * widget, GdkEventButton * event,
/* check if we are over an url and change the cursor in this case */
static gboolean
-check_over_url(GtkWidget * widget, GdkEventMotion * event,
+check_over_url(GtkWidget * widget, GdkEvent * event,
GList * url_list)
{
static gboolean was_over_url = FALSE;
static message_url_t *current_url = NULL;
GdkWindow *window;
- message_url_t *url;
+ message_url_t *url = NULL;
window = gtk_text_view_get_window(GTK_TEXT_VIEW(widget),
GTK_TEXT_WINDOW_TEXT);
- if (event->type == GDK_LEAVE_NOTIFY)
- url = NULL;
- else {
- url = find_url(widget, (gint) event->x, (gint) event->y, url_list);
+ if (gdk_event_get_event_type(event) != GDK_LEAVE_NOTIFY) {
+ gdouble x_win, y_win;
+
+ if (gdk_event_get_coords(event, &x_win, &y_win)) {
+ url = find_url(widget, (gint) x_win, (gint) y_win, url_list);
+ }
}
if (url) {
@@ -709,22 +720,28 @@ url_found_cb(GtkTextBuffer * buffer, GtkTextIter * iter,
/* if the mouse button was released over an URL, and the mouse hasn't
* moved since the button was pressed, try to call the URL */
static gboolean
-check_call_url(GtkWidget * widget, GdkEventButton * event,
- GList * url_list)
+check_call_url(GtkWidget * widget, GdkEvent * event, GList * url_list)
{
+ guint button;
+ gdouble x_win, y_win;
+ GdkModifierType state;
gint x, y;
message_url_t *url;
- if (event->type != GDK_BUTTON_RELEASE || event->button != 1)
+ if (gdk_event_get_event_type(event) != GDK_BUTTON_RELEASE ||
+ !gdk_event_get_button(event, &button) || button != 1 ||
+ !gdk_event_get_coords(event, &x_win, &y_win) ||
+ !gdk_event_get_state(event, &state)) {
return FALSE;
+ }
- x = event->x;
- y = event->y;
+ x = (gint) x_win;
+ y = (gint) y_win;
/* 2-pixel motion tolerance */
if (abs(x - stored_x) <= 2 && abs(y - stored_y) <= 2
- && (event->state & STORED_MASK_BITS) == stored_mask) {
+ && (state & STORED_MASK_BITS) == stored_mask) {
url = find_url(widget, x, y, url_list);
- if (url)
+ if (url != NULL)
handle_url(url->url);
}
return FALSE;
@@ -963,7 +980,7 @@ draw_cite_bar_real(cite_bar_t * bar, cite_bar_draw_mode_t * draw_mode)
g_free(color);
css_provider = gtk_css_provider_new();
- gtk_css_provider_load_from_data(css_provider, css, -1, NULL);
+ gtk_css_provider_load_from_data(css_provider, css, -1);
g_free(css);
gtk_style_context_add_provider(gtk_widget_get_style_context(bar->bar) ,
@@ -1113,7 +1130,7 @@ balsa_gtk_html_popup(GtkWidget * html, BalsaMessage * bm)
menu = gtk_menu_new();
bmwt_populate_popup_menu(bm, html, GTK_MENU(menu));
- gtk_widget_show_all(menu);
+ gtk_widget_show(menu);
/* In WebKit2, the context menu signal is asynchronous, so the
* GdkEvent is no longer current; instead it is preserved and passed
@@ -1164,7 +1181,7 @@ bmwt_populate_popup_cb(GtkWidget * widget, GtkMenu * menu, gpointer data)
gtk_container_foreach(GTK_CONTAINER(menu),
(GtkCallback) gtk_widget_destroy, NULL);
bmwt_populate_popup_menu(bm, html, menu);
- gtk_widget_show_all(GTK_WIDGET(menu));
+ gtk_widget_show(GTK_WIDGET(menu));
}
static BalsaMimeWidget *
diff --git a/src/balsa-mime-widget.c b/src/balsa-mime-widget.c
index 3a82032..2fcfc28 100644
--- a/src/balsa-mime-widget.c
+++ b/src/balsa-mime-widget.c
@@ -191,7 +191,7 @@ balsa_mime_widget_new(BalsaMessage * bm, LibBalsaMessageBody * mime_body, gpoint
G_CALLBACK(vadj_change_cb), mw->widget);
}
- gtk_widget_show_all(mw->widget);
+ gtk_widget_show(mw->widget);
}
}
g_free(content_type);
@@ -234,13 +234,11 @@ balsa_mime_widget_new_unknown(BalsaMessage * bm,
mw = g_object_new(BALSA_TYPE_MIME_WIDGET, NULL);
mw->widget = gtk_box_new(GTK_ORIENTATION_VERTICAL, BMW_VBOX_SPACE);
- gtk_container_set_border_width(GTK_CONTAINER(mw->widget),
- BMW_CONTAINER_BORDER);
+ g_object_set(G_OBJECT(mw->widget), "margin", BMW_CONTAINER_BORDER, NULL);
if (mime_body->filename) {
msg = g_strdup_printf(_("File name: %s"), mime_body->filename);
- gtk_box_pack_start(GTK_BOX(mw->widget), gtk_label_new(msg), FALSE,
- FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(mw->widget), gtk_label_new(msg));
g_free(msg);
}
@@ -294,28 +292,30 @@ balsa_mime_widget_new_unknown(BalsaMessage * bm,
msg_label = gtk_label_new(msg);
g_free(msg);
gtk_label_set_ellipsize(GTK_LABEL(msg_label), PANGO_ELLIPSIZE_END);
- gtk_box_pack_start(GTK_BOX(mw->widget), msg_label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(mw->widget), msg_label);
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, BMW_HBOX_SPACE);
gtk_box_set_homogeneous(GTK_BOX(hbox), TRUE);
if ((button = libbalsa_vfs_mime_button(mime_body, use_content_type,
G_CALLBACK(balsa_mime_widget_ctx_menu_cb),
- (gpointer) mime_body)))
- gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
- else
+ (gpointer) mime_body))) {
+ gtk_widget_set_hexpand(button, TRUE);
+ gtk_box_pack_start(GTK_BOX(hbox), button);
+ } else {
gtk_box_pack_start(GTK_BOX(mw->widget),
gtk_label_new(_("No open or view action "
- "defined for this content type")),
- FALSE, FALSE, 0);
+ "defined for this content type")));
+ }
g_free(use_content_type);
button = gtk_button_new_with_mnemonic(_("S_ave part"));
- gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(button, TRUE);
+ gtk_box_pack_start(GTK_BOX(hbox), button);
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(balsa_mime_widget_ctx_menu_save),
(gpointer) mime_body);
- gtk_box_pack_start(GTK_BOX(mw->widget), hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(mw->widget), hbox);
return mw;
}
diff --git a/src/filter-edit-callbacks.c b/src/filter-edit-callbacks.c
index e6162c8..2b93287 100644
--- a/src/filter-edit-callbacks.c
+++ b/src/filter-edit-callbacks.c
@@ -1013,7 +1013,8 @@ build_type_notebook()
box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
g_object_set(box, "margin", 5, NULL);
- gtk_box_pack_start(GTK_BOX(box), grid, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(grid, TRUE);
+ gtk_box_pack_start(GTK_BOX(box), grid);
fe_type_simple_label =
gtk_label_new_with_mnemonic(_("One of the specified f_ields contains"));
@@ -1043,7 +1044,8 @@ build_type_notebook()
#if REGULAR_EXPRESSION_FILTERING_IS_IMPLEMENTED
page = gtk_table_new(5, 6, FALSE);
- gtk_box_pack_start(GTK_BOX(box), page, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(page, TRUE);
+ gtk_box_pack_start(GTK_BOX(box), page);
fe_type_regex_label =
gtk_label_new_with_mnemonic(_("_One of the regular expressions matches"));
@@ -1075,15 +1077,18 @@ build_type_notebook()
0, 5, 4, 5,
GTK_FILL | GTK_SHRINK | GTK_EXPAND, GTK_SHRINK, 2, 2);
button = gtk_button_new_with_mnemonic(_("A_dd"));
- gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(button, TRUE);
+ gtk_box_pack_start(GTK_BOX(box), button);
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(fe_add_pressed), NULL);
fe_regex_remove_button = gtk_button_new_with_mnemonic(_("_Remove"));
- gtk_box_pack_start(GTK_BOX(box), fe_regex_remove_button, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(fe_regex_remove_button, TRUE);
+ gtk_box_pack_start(GTK_BOX(box), fe_regex_remove_button);
g_signal_connect(G_OBJECT(fe_regex_remove_button), "clicked",
G_CALLBACK(fe_remove_pressed), NULL);
button = gtk_button_new_with_mnemonic(_("One _Matches/None Matches"));
- gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(button, TRUE);
+ gtk_box_pack_start(GTK_BOX(box), button);
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(fe_negate_condition), NULL);
@@ -1095,7 +1100,8 @@ build_type_notebook()
#else /* REGULAR_EXPRESSION_FILTERING_IS_IMPLEMENTED */
msg = _("Filtering using regular expressions is not yet implemented.");
label = gtk_label_new(msg);
- gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(label, TRUE);
+ gtk_box_pack_start(GTK_BOX(box), label);
#endif /* REGULAR_EXPRESSION_FILTERING_IS_IMPLEMENTED */
/* The date page of the notebook */
@@ -1182,20 +1188,23 @@ void build_condition_dialog(GtkWidget * condition_dialog)
* conditions of the filter */
box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
label = gtk_label_new_with_mnemonic(_("Search T_ype:"));
- gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5);
- fe_search_option_menu =
+ gtk_box_pack_start(GTK_BOX(box), label);
+ fe_search_option_menu =
fe_build_option_menu(fe_search_type, ELEMENTS(fe_search_type),
G_CALLBACK(fe_typesmenu_cb), field_frame);
- gtk_box_pack_start(GTK_BOX(box), fe_search_option_menu, FALSE, FALSE, 5);
+ gtk_box_pack_start(GTK_BOX(box), fe_search_option_menu);
gtk_label_set_mnemonic_widget(GTK_LABEL(label), fe_search_option_menu);
content_box =
GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(condition_dialog)));
- gtk_box_pack_start(content_box, box, FALSE, FALSE, 2);
- gtk_box_pack_start(content_box, field_frame, FALSE, FALSE, 2);
+ gtk_widget_set_margin_top(box, 2);
+ gtk_box_pack_start(content_box, box);
+ gtk_widget_set_margin_top(field_frame, 2);
+ gtk_box_pack_start(content_box, field_frame);
build_type_notebook();
- gtk_box_pack_start(content_box, fe_type_notebook, FALSE, FALSE, 2);
+ gtk_widget_set_margin_top(fe_type_notebook, 2);
+ gtk_box_pack_start(content_box, fe_type_notebook);
}
/*
@@ -1264,7 +1273,7 @@ fe_edit_condition(GtkWidget * throwaway,gpointer is_new_cnd)
g_free(title);
/* We fire the dialog box */
gtk_widget_set_sensitive(fe_window, FALSE);
- gtk_widget_show_all(condition_dialog);
+ gtk_widget_show(condition_dialog);
if (cnd) fill_condition_widgets(cnd);
else clear_condition_widgets();
}
@@ -1536,7 +1545,7 @@ fe_action_selected(GtkWidget * widget, gpointer data)
(FilterActionType) fe_combo_box_get_value(widget);
if (type == FILTER_COLOR) {
gtk_widget_hide(fe_mailboxes);
- gtk_widget_show_all(fe_color_buttons);
+ gtk_widget_show(fe_color_buttons);
} else {
gtk_widget_hide(fe_color_buttons);
gtk_widget_show(fe_mailboxes);
diff --git a/src/filter-edit-dialog.c b/src/filter-edit-dialog.c
index b36835f..a22dd71 100644
--- a/src/filter-edit-dialog.c
+++ b/src/filter-edit-dialog.c
@@ -5,14 +5,14 @@
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
+ * the Free Software Foundation; either version 2, or (at your option)
* any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
@@ -211,14 +211,15 @@ build_left_side(void)
gtk_container_add(GTK_CONTAINER(sw), GTK_WIDGET(fe_filters_list));
- gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 2);
+ gtk_widget_set_vexpand(sw, TRUE);
+ gtk_box_pack_start(GTK_BOX(vbox), sw);
/* new and delete buttons */
bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
gtk_box_set_spacing(GTK_BOX(bbox), 2);
gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_SPREAD);
- gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 2);
+ gtk_box_pack_start(GTK_BOX(vbox), bbox);
/* new button */
/* Translators: button "New" filter */
@@ -283,8 +284,7 @@ build_match_page()
NULL, NULL);
g_signal_connect(fe_op_codes_option_menu, "changed",
G_CALLBACK(fe_action_changed), NULL);
- gtk_box_pack_start(GTK_BOX(box), fe_op_codes_option_menu, FALSE, FALSE,
- 2);
+ gtk_box_pack_start(GTK_BOX(box), fe_op_codes_option_menu);
/* list of conditions defining how this filter matches */
@@ -385,12 +385,12 @@ build_action_page(GtkWindow * window)
frame = gtk_frame_new(_("Notification:"));
gtk_frame_set_label_align(GTK_FRAME(frame), GTK_POS_LEFT, GTK_POS_TOP);
gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_ETCHED_IN);
- gtk_box_pack_start(GTK_BOX(page), frame, FALSE, FALSE, 0);
- gtk_container_set_border_width(GTK_CONTAINER(frame), 3);
+ gtk_box_pack_start(GTK_BOX(page), frame);
grid = gtk_grid_new();
gtk_grid_set_row_spacing(GTK_GRID(grid), 5);
gtk_grid_set_column_spacing(GTK_GRID(grid), 5);
+ g_object_set(G_OBJECT(grid), "margin", 3, NULL);
gtk_container_add(GTK_CONTAINER(frame), grid);
/* Notification buttons */
@@ -422,7 +422,7 @@ build_action_page(GtkWindow * window)
gtk_grid_attach(GTK_GRID(grid), fe_popup_button, 0, 1, 1, 1);
fe_popup_entry = gtk_entry_new();
gtk_widget_set_hexpand(fe_popup_entry, TRUE);
- gtk_entry_set_max_length(GTK_ENTRY(fe_popup_entry),
+ gtk_entry_set_max_length(GTK_ENTRY(fe_popup_entry),
FILTER_EDIT_ENTRY_MAX_LENGTH);
gtk_grid_attach(GTK_GRID(grid), fe_popup_entry, 1, 1, 1, 1);
/* fe_popup_entry is initially sensitive, so to be consistent
@@ -437,18 +437,18 @@ build_action_page(GtkWindow * window)
frame = gtk_frame_new(_("Action to perform:"));
gtk_frame_set_label_align(GTK_FRAME(frame), GTK_POS_LEFT, GTK_POS_TOP);
gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_ETCHED_IN);
- gtk_box_pack_start(GTK_BOX(page), frame, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(page), frame);
box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 2);
gtk_box_set_homogeneous(GTK_BOX(box), TRUE);
- gtk_container_set_border_width(GTK_CONTAINER(frame), 3);
+ g_object_set(G_OBJECT(box), "margin", 3, NULL);
gtk_container_add(GTK_CONTAINER(frame), box);
fe_action_option_menu =
fe_build_option_menu(fe_actions, ELEMENTS(fe_actions),
G_CALLBACK(fe_action_selected), NULL);
- gtk_box_pack_start(GTK_BOX(box), fe_action_option_menu,
- TRUE, FALSE, 1);
+ gtk_widget_set_vexpand(fe_action_option_menu, TRUE);
+ gtk_box_pack_start(GTK_BOX(box), fe_action_option_menu);
/* FIXME : we use the global mru folder list, perhaps we should use
our own. We'll see this later, for now let's make something usable
@@ -459,10 +459,12 @@ build_action_page(GtkWindow * window)
&balsa_app.folder_mru);
g_signal_connect(G_OBJECT(fe_mailboxes), "changed",
G_CALLBACK(fe_action_changed), NULL);
- gtk_box_pack_start(GTK_BOX(box), fe_mailboxes, TRUE, FALSE, 1);
+ gtk_widget_set_vexpand(fe_mailboxes, TRUE);
+ gtk_box_pack_start(GTK_BOX(box), fe_mailboxes);
fe_color_buttons = fe_make_color_buttons();
- gtk_box_pack_start(GTK_BOX(box), fe_color_buttons, TRUE, FALSE, 1);
+ gtk_widget_set_vexpand(fe_color_buttons, TRUE);
+ gtk_box_pack_start(GTK_BOX(box), fe_color_buttons);
return page;
} /* end build_action_page() */
@@ -484,7 +486,8 @@ build_right_side(GtkWindow * window)
/* the main notebook */
notebook = gtk_notebook_new();
gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_TOP);
- gtk_box_pack_start(GTK_BOX(rightside), notebook, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(notebook, TRUE);
+ gtk_box_pack_start(GTK_BOX(rightside), notebook);
page = build_match_page();
gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
@@ -495,7 +498,7 @@ build_right_side(GtkWindow * window)
/* button box */
bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
- gtk_box_pack_start(GTK_BOX(rightside), bbox, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(rightside), bbox);
fe_apply_button = gtk_button_new_with_mnemonic(_("_Apply"));
g_signal_connect(G_OBJECT(fe_apply_button), "clicked",
@@ -561,7 +564,7 @@ filters_edit_dialog(GtkWindow * parent)
gtk_window_present(GTK_WINDOW(fe_window));
return;
}
-
+
fe_already_open=TRUE;
piece = build_left_side();
@@ -585,26 +588,25 @@ filters_edit_dialog(GtkWindow * parent)
/* main hbox */
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, FILTER_EDIT_PADDING);
- gtk_box_pack_start(GTK_BOX
- (gtk_dialog_get_content_area(GTK_DIALOG(fe_window))),
- hbox, TRUE, TRUE, FILTER_EDIT_PADDING);
- gtk_box_pack_start(GTK_BOX(hbox), piece, FALSE, FALSE,
- FILTER_EDIT_PADDING);
+ gtk_widget_set_vexpand(hbox, TRUE);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(fe_window))), hbox);
+ gtk_widget_set_margin_top(piece, FILTER_EDIT_PADDING);
+ gtk_box_pack_start(GTK_BOX(hbox), piece);
gtk_box_pack_start(GTK_BOX(hbox),
- gtk_separator_new(GTK_ORIENTATION_VERTICAL),
- FALSE, FALSE, 0);
+ gtk_separator_new(GTK_ORIENTATION_VERTICAL));
fe_right_page = build_right_side(GTK_WINDOW(fe_window));
gtk_widget_set_sensitive(fe_right_page, FALSE);
- gtk_box_pack_start(GTK_BOX(hbox), fe_right_page, TRUE, TRUE,
- FILTER_EDIT_PADDING);
+ gtk_widget_set_hexpand(fe_right_page, TRUE);
+ gtk_widget_set_margin_top(fe_right_page, FILTER_EDIT_PADDING);
+ gtk_box_pack_start(GTK_BOX(hbox), fe_right_page);
fe_user_headers_list = NULL;
/* Populate the list of filters */
model = gtk_tree_view_get_model(fe_filters_list);
- for(filter_list=balsa_app.filters;
+ for(filter_list=balsa_app.filters;
filter_list; filter_list=g_slist_next(filter_list)) {
fil=(LibBalsaFilter*)filter_list->data;
@@ -640,11 +642,11 @@ filters_edit_dialog(GtkWindow * parent)
fe_collect_user_headers(fil->condition);
cpfil->action=fil->action;
- if (fil->action_string)
- cpfil->action_string=g_strdup(fil->action_string);
+ if (fil->action_string)
+ cpfil->action_string=g_strdup(fil->action_string);
gtk_list_store_append(GTK_LIST_STORE(model), &iter);
- gtk_list_store_set(GTK_LIST_STORE(model), &iter,
+ gtk_list_store_set(GTK_LIST_STORE(model), &iter,
0, cpfil->name, 1, cpfil, -1);
}
@@ -654,7 +656,7 @@ filters_edit_dialog(GtkWindow * parent)
return;
}
- gtk_widget_show_all(GTK_WIDGET(fe_window));
+ gtk_widget_show(GTK_WIDGET(fe_window));
if (gtk_tree_model_get_iter_first(model, &iter)) {
GtkTreeSelection *selection =
gtk_tree_view_get_selection(fe_filters_list);
diff --git a/src/filter-export-dialog.c b/src/filter-export-dialog.c
index 807b309..68191bd 100644
--- a/src/filter-export-dialog.c
+++ b/src/filter-export-dialog.c
@@ -91,9 +91,9 @@ filters_export_dialog(GtkWindow * parent)
NULL, TRUE);
gtk_container_add(GTK_CONTAINER(sw), GTK_WIDGET(list));
- gtk_box_pack_start(GTK_BOX
- (gtk_dialog_get_content_area(GTK_DIALOG(fex_window))),
- sw, TRUE, TRUE, 2);
+ gtk_widget_set_vexpand(sw, TRUE);
+ gtk_widget_set_margin_top(sw, 2);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(fex_window))), sw);
/* Populate the list of filters */
@@ -116,5 +116,5 @@ filters_export_dialog(GtkWindow * parent)
g_signal_connect(G_OBJECT(fex_window), "destroy",
G_CALLBACK(fex_destroy_window_cb), NULL);
- gtk_widget_show_all(GTK_WIDGET(fex_window));
+ gtk_widget_show(GTK_WIDGET(fex_window));
}
diff --git a/src/filter-run-dialog.c b/src/filter-run-dialog.c
index c862af6..7e097a2 100644
--- a/src/filter-run-dialog.c
+++ b/src/filter-run-dialog.c
@@ -324,11 +324,12 @@ void balsa_filter_run_dialog_init(BalsaFilterRunDialog * p)
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,2);
- gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(p))),
- hbox, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(hbox, TRUE);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(p))), hbox);
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 2);
- gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(vbox, TRUE);
+ gtk_box_pack_start(GTK_BOX(hbox), vbox);
p->available_filters =
libbalsa_filter_list_new(TRUE, _("Name"), GTK_SELECTION_MULTIPLE,
@@ -346,13 +347,14 @@ void balsa_filter_run_dialog_init(BalsaFilterRunDialog * p)
GTK_POLICY_AUTOMATIC);
gtk_container_add(GTK_CONTAINER(sw), GTK_WIDGET(p->available_filters));
- gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(sw, TRUE);
+ gtk_box_pack_start(GTK_BOX(vbox), sw);
/* To keep a consistent look, make a button box for a single button. */
bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
gtk_box_set_spacing(GTK_BOX(bbox), 2);
gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_SPREAD);
- gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 2);
+ gtk_box_pack_start(GTK_BOX(vbox), bbox);
/* "Apply selected" button */
p->apply_selected_button = button =
@@ -388,11 +390,13 @@ void balsa_filter_run_dialog_init(BalsaFilterRunDialog * p)
G_CALLBACK(fr_remove_pressed), G_OBJECT(p));
gtk_container_add(GTK_CONTAINER(bbox), button);
- gtk_box_pack_start(GTK_BOX(hbox),bbox, FALSE, FALSE, 6);
+ gtk_widget_set_margin_start(bbox, 4);
+ gtk_box_pack_start(GTK_BOX(hbox), bbox);
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 2);
- gtk_box_pack_start(GTK_BOX(hbox),vbox, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(vbox, TRUE);
+ gtk_box_pack_start(GTK_BOX(hbox), vbox);
sw = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
@@ -409,14 +413,15 @@ void balsa_filter_run_dialog_init(BalsaFilterRunDialog * p)
gtk_container_add(GTK_CONTAINER(sw), GTK_WIDGET(p->selected_filters));
- gtk_box_pack_start(GTK_BOX(vbox),sw, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(sw, TRUE);
+ gtk_box_pack_start(GTK_BOX(vbox), sw);
/* up down arrow buttons */
bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
gtk_box_set_spacing(GTK_BOX(bbox), 2);
gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_SPREAD);
- gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 2);
+ gtk_box_pack_start(GTK_BOX(vbox), bbox);
/* up button */
p->move_up_button = button =
@@ -508,5 +513,5 @@ filters_run_dialog(LibBalsaMailbox * mbox,
gtk_window_set_default_size(GTK_WINDOW(p),500,250);
fr_dialogs_opened=g_list_prepend(fr_dialogs_opened,p);
- gtk_widget_show_all(p);
+ gtk_widget_show(p);
}
diff --git a/src/folder-conf.c b/src/folder-conf.c
index 262742a..16e0c99 100644
--- a/src/folder-conf.c
+++ b/src/folder-conf.c
@@ -325,10 +325,11 @@ folder_conf_imap_node(BalsaMailboxNode *mn)
}
notebook = gtk_notebook_new();
+ gtk_widget_set_vexpand(notebook, TRUE);
gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(fcw->dialog)),
- notebook, TRUE, TRUE, 0);
+ notebook);
grid = libbalsa_create_grid();
- gtk_container_set_border_width(GTK_CONTAINER(grid), 12);
+ g_object_set(G_OBJECT(grid), "margin", 12, NULL);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), grid,
gtk_label_new_with_mnemonic(_("_Basic")));
advanced = balsa_server_conf_get_advanced_widget(&fcw->bsc, s, 3);
@@ -421,7 +422,7 @@ folder_conf_imap_node(BalsaMailboxNode *mn)
libbalsa_create_grid_entry(grid, NULL, NULL, r++,
mn ? mn->dir : NULL, label);
- gtk_widget_show_all(GTK_WIDGET(fcw->dialog));
+ gtk_widget_show(GTK_WIDGET(fcw->dialog));
validate_folder(NULL, fcw);
gtk_widget_grab_focus(fcw->folder_name);
@@ -433,7 +434,7 @@ folder_conf_imap_node(BalsaMailboxNode *mn)
g_signal_connect(G_OBJECT(fcw->dialog), "response",
G_CALLBACK(folder_conf_response), fcw);
- gtk_widget_show_all(GTK_WIDGET(fcw->dialog));
+ gtk_widget_show(GTK_WIDGET(fcw->dialog));
}
/* folder_conf_imap_sub_node:
@@ -575,9 +576,10 @@ browse_button_cb(GtkWidget * widget, SubfolderDialogData * sdd)
#endif
scroll = gtk_scrolled_window_new(NULL, NULL);
+ gtk_widget_set_vexpand(scroll, TRUE);
gtk_box_pack_start(GTK_BOX
(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),
- scroll, TRUE, TRUE, 0);
+ scroll);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_ALWAYS);
@@ -613,7 +615,7 @@ browse_button_cb(GtkWidget * widget, SubfolderDialogData * sdd)
g_signal_connect(G_OBJECT(dialog), "response",
G_CALLBACK(browse_button_response), bbd);
- gtk_widget_show_all(GTK_WIDGET(dialog));
+ gtk_widget_show(GTK_WIDGET(dialog));
}
static gboolean
@@ -825,15 +827,16 @@ folder_conf_imap_sub_node(BalsaMailboxNode * mn)
grid = libbalsa_create_grid();
gtk_grid_set_row_spacing(GTK_GRID(grid), 6);
gtk_grid_set_column_spacing(GTK_GRID(grid), 12);
- gtk_container_set_border_width(GTK_CONTAINER(grid), 12);
+ g_object_set(G_OBJECT(grid), "margin", 12, NULL);
if (mn)
content = grid;
else {
content = gtk_frame_new(_("Create subfolder"));
gtk_container_add(GTK_CONTAINER(content), grid);
}
+ gtk_widget_set_vexpand(content, TRUE);
gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(sdd->dialog)),
- content, TRUE, TRUE, 0);
+ content);
row = 0;
/* INPUT FIELD CREATION */
@@ -862,9 +865,10 @@ folder_conf_imap_sub_node(BalsaMailboxNode * mn)
G_CALLBACK(browse_button_cb), (gpointer) sdd);
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 12);
+ gtk_widget_set_hexpand(sdd->parent_folder, TRUE);
+ gtk_box_pack_start(GTK_BOX(hbox), sdd->parent_folder);
+ gtk_box_pack_start(GTK_BOX(hbox), button);
gtk_widget_set_hexpand(hbox, TRUE);
- gtk_box_pack_start(GTK_BOX(hbox), sdd->parent_folder, TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
gtk_grid_attach(GTK_GRID(grid), hbox, 1, row, 1, 1);
if (!mn)
@@ -978,7 +982,7 @@ folder_conf_imap_sub_node(BalsaMailboxNode * mn)
G_CALLBACK(set_ok_sensitive));
}
- gtk_widget_show_all(GTK_WIDGET(sdd->dialog));
+ gtk_widget_show(GTK_WIDGET(sdd->dialog));
gtk_widget_grab_focus(sdd->folder_name);
@@ -986,7 +990,7 @@ folder_conf_imap_sub_node(BalsaMailboxNode * mn)
G_CALLBACK(folder_conf_response), sdd);
gtk_dialog_set_response_sensitive(GTK_DIALOG(sdd->dialog),
GTK_RESPONSE_OK, FALSE);
- gtk_widget_show_all(GTK_WIDGET(sdd->dialog));
+ gtk_widget_show(GTK_WIDGET(sdd->dialog));
}
void
diff --git a/src/information-dialog.c b/src/information-dialog.c
index 06af13d..a2327cb 100644
--- a/src/information-dialog.c
+++ b/src/information-dialog.c
@@ -256,11 +256,13 @@ balsa_information_list(GtkWindow *parent, LibBalsaInformationType type,
(scrolled_window),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
+ gtk_widget_set_vexpand(scrolled_window, TRUE);
+ gtk_widget_set_margin_top(scrolled_window, 1); /* Seriously? */
gtk_box_pack_start(GTK_BOX
(gtk_dialog_get_content_area
(GTK_DIALOG(information_dialog))),
- scrolled_window, TRUE, TRUE, 1);
- gtk_container_set_border_width(GTK_CONTAINER(scrolled_window), 6);
+ scrolled_window);
+ g_object_set(G_OBJECT(scrolled_window), "margin", 6, NULL);
gtk_widget_show(scrolled_window);
/* The list itself */
@@ -271,7 +273,7 @@ balsa_information_list(GtkWindow *parent, LibBalsaInformationType type,
G_CALLBACK(balsa_information_list_response_cb),
information_list);
- gtk_widget_show_all(information_dialog);
+ gtk_widget_show(information_dialog);
}
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(information_list));
diff --git a/src/mailbox-conf.c b/src/mailbox-conf.c
index 6cb3a87..f014f57 100644
--- a/src/mailbox-conf.c
+++ b/src/mailbox-conf.c
@@ -215,9 +215,8 @@ balsa_server_conf_get_advanced_widget(BalsaServerConf *bsc, LibBalsaServer *s,
box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
bsc->grid = GTK_GRID(libbalsa_create_grid());
- gtk_container_set_border_width(GTK_CONTAINER(bsc->grid), 12);
- gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(bsc->grid),
- FALSE, FALSE, 0);
+ g_object_set(G_OBJECT(bsc->grid), "margin", 12, NULL);
+ gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(bsc->grid));
bsc->used_rows = 0;
@@ -239,7 +238,7 @@ balsa_server_conf_get_advanced_widget(BalsaServerConf *bsc, LibBalsaServer *s,
g_signal_connect(G_OBJECT (bsc->use_ssl), "toggled",
G_CALLBACK (bsc_ssl_toggled_cb), bsc);
- gtk_widget_show_all(GTK_WIDGET(bsc->grid));
+ gtk_widget_show(GTK_WIDGET(bsc->grid));
bsc->used_rows = 2;
gtk_widget_set_sensitive(bsc->tls_option, !use_ssl);
@@ -255,8 +254,8 @@ balsa_server_conf_get_advanced_widget_new(BalsaServerConf *bsc)
box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
bsc->grid = GTK_GRID(libbalsa_create_grid());
- gtk_container_set_border_width(GTK_CONTAINER(bsc->grid), 12);
- gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(bsc->grid), FALSE, FALSE, 0);
+ g_object_set(G_OBJECT(bsc->grid), "margin", 12, NULL);
+ gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(bsc->grid));
bsc->used_rows = 0U;
@@ -627,7 +626,7 @@ run_mailbox_conf(BalsaMailboxNode* mbnode, GType mailbox_type,
g_signal_connect(G_OBJECT(mcw->window), "response",
G_CALLBACK(conf_response_cb), mcw);
- gtk_widget_show_all(GTK_WIDGET(mcw->window));
+ gtk_widget_show(GTK_WIDGET(mcw->window));
return GTK_WIDGET(mcw->window);
}
@@ -1273,7 +1272,7 @@ create_pop_mailbox_dialog(MailboxConfWindow *mcw)
notebook = gtk_notebook_new();
grid = libbalsa_create_grid();
- gtk_container_set_border_width(GTK_CONTAINER(grid), 12);
+ g_object_set(G_OBJECT(grid), "margin", 12, NULL);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), grid,
gtk_label_new_with_mnemonic(_("_Basic")));
row = 0;
@@ -1335,7 +1334,7 @@ create_pop_mailbox_dialog(MailboxConfWindow *mcw)
/* toggle for enabling pipeling */
mcw->mb_data.pop3.enable_pipe = balsa_server_conf_add_checkbox(&mcw->mb_data.pop3.bsc, _("Overlap
commands"));
- gtk_widget_show_all(notebook);
+ gtk_widget_show(notebook);
gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), 0);
gtk_widget_grab_focus(mcw->mailbox_name);
@@ -1383,7 +1382,7 @@ create_imap_mailbox_dialog(MailboxConfWindow *mcw)
notebook = gtk_notebook_new();
grid = libbalsa_create_grid();
- gtk_container_set_border_width(GTK_CONTAINER(grid), 12);
+ g_object_set(G_OBJECT(grid), "margin", 12, NULL);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), grid,
gtk_label_new_with_mnemonic(_("_Basic")));
@@ -1452,7 +1451,7 @@ create_imap_mailbox_dialog(MailboxConfWindow *mcw)
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), advanced,
gtk_label_new_with_mnemonic(_("_Advanced")));
- gtk_widget_show_all(notebook);
+ gtk_widget_show(notebook);
gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), 0);
gtk_widget_grab_focus(mcw->mailbox_name?
mcw->mailbox_name : mcw->mb_data.imap.bsc.server);
diff --git a/src/main-window.c b/src/main-window.c
index 8586fea..d47c279 100644
--- a/src/main-window.c
+++ b/src/main-window.c
@@ -471,8 +471,7 @@ bw_create_index_widget(BalsaWindow *bw)
bw->sos_bar = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
bw->filter_choice = gtk_combo_box_text_new();
- gtk_box_pack_start(GTK_BOX(bw->sos_bar), bw->filter_choice,
- FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(bw->sos_bar), bw->filter_choice);
for(i=0; i<ELEMENTS(view_filters); i++)
gtk_combo_box_text_insert_text(GTK_COMBO_BOX_TEXT(bw->filter_choice),
i, view_filters[i].str);
@@ -485,11 +484,11 @@ bw_create_index_widget(BalsaWindow *bw)
G_CALLBACK(bw_enable_filter), bw);
g_signal_connect(G_OBJECT(bw->sos_entry), "focus_out_event",
G_CALLBACK(bw_disable_filter), bw);
- gtk_box_pack_start(GTK_BOX(bw->sos_bar), bw->sos_entry, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(bw->sos_entry, TRUE);
+ gtk_box_pack_start(GTK_BOX(bw->sos_bar), bw->sos_entry);
gtk_widget_show(bw->sos_entry);
- gtk_box_pack_start(GTK_BOX(bw->sos_bar),
- button = gtk_button_new(),
- FALSE, FALSE, 0);
+ button = gtk_button_new();
+ gtk_box_pack_start(GTK_BOX(bw->sos_bar), button);
gtk_container_add(GTK_CONTAINER(button),
gtk_image_new_from_icon_name("gtk-ok",
GTK_ICON_SIZE_BUTTON));
@@ -504,11 +503,12 @@ bw_create_index_widget(BalsaWindow *bw)
button);
g_signal_connect(G_OBJECT(bw->filter_choice), "changed",
G_CALLBACK(bw_filter_entry_changed), button);
- gtk_widget_show_all(button);
+ gtk_widget_show(button);
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
gtk_widget_show(bw->sos_bar);
- gtk_box_pack_start(GTK_BOX(vbox), bw->sos_bar, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(vbox), bw->notebook, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), bw->sos_bar);
+ gtk_widget_set_vexpand(bw->notebook, TRUE);
+ gtk_box_pack_start(GTK_BOX(vbox), bw->notebook);
focusable_widgets = g_list_append(NULL, bw->notebook);
gtk_container_set_focus_chain(GTK_CONTAINER(vbox), focusable_widgets);
@@ -534,8 +534,8 @@ bw_set_panes(BalsaWindow * window)
gtk_container_remove(GTK_CONTAINER(window->vbox),
window->content);
window->content = window->paned_master;
- gtk_box_pack_start(GTK_BOX(window->vbox), window->content,
- TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(window->content, TRUE);
+ gtk_box_pack_start(GTK_BOX(window->vbox), window->content);
gtk_paned_pack1(GTK_PANED(window->paned_slave),
bw_frame(window->mblist), TRUE, TRUE);
gtk_paned_pack2(GTK_PANED(window->paned_slave),
@@ -553,8 +553,8 @@ bw_set_panes(BalsaWindow * window)
gtk_container_remove(GTK_CONTAINER(window->vbox),
window->content);
window->content = window->paned_master;
- gtk_box_pack_start(GTK_BOX(window->vbox), window->content,
- TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(window->content, TRUE);
+ gtk_box_pack_start(GTK_BOX(window->vbox), window->content);
gtk_paned_pack1(GTK_PANED(window->paned_master),
bw_frame(window->mblist), TRUE, TRUE);
gtk_paned_pack2(GTK_PANED(window->paned_master), window->paned_slave,
@@ -573,8 +573,8 @@ bw_set_panes(BalsaWindow * window)
gtk_container_remove(GTK_CONTAINER(window->vbox),
window->content);
window->content = window->paned_master;
- gtk_box_pack_start(GTK_BOX(window->vbox), window->content,
- TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(window->content, TRUE);
+ gtk_box_pack_start(GTK_BOX(window->vbox), window->content);
gtk_paned_pack1(GTK_PANED(window->paned_master),
bw_frame(window->mblist), TRUE, TRUE);
gtk_paned_pack2(GTK_PANED(window->paned_master), window->paned_slave,
@@ -1004,16 +1004,20 @@ quit_activated(GSimpleAction * action,
gpointer user_data)
{
GtkWindow *window = GTK_WINDOW(user_data);
- GdkEventAny e = { GDK_DELETE, NULL, 0 };
+ GdkEvent *event;
- e.window = gtk_widget_get_window(GTK_WIDGET(window));
libbalsa_information_parented(window,
LIBBALSA_INFORMATION_MESSAGE,
_("Balsa closes files and connections."
" Please wait…"));
while(gtk_events_pending())
gtk_main_iteration_do(FALSE);
- gdk_event_put((GdkEvent*)&e);
+
+ event = gtk_get_current_event();
+ g_signal_emit_by_name(window, "delete-event", event);
+ if (event != NULL) {
+ gdk_event_free(event);
+ }
}
static void
@@ -2215,25 +2219,24 @@ balsa_window_new()
model = balsa_window_get_toolbar_model();
window->toolbar = balsa_toolbar_new(model, G_ACTION_MAP(window));
- gtk_box_pack_start(GTK_BOX(window->vbox), window->toolbar,
- FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(window->vbox), window->toolbar);
window->bottom_bar = hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6);
- gtk_box_pack_end(GTK_BOX(window->vbox), hbox, FALSE, FALSE, 0);
+ gtk_box_pack_end(GTK_BOX(window->vbox), hbox);
window->progress_bar = gtk_progress_bar_new();
gtk_widget_set_valign(window->progress_bar, GTK_ALIGN_CENTER);
gtk_progress_bar_set_pulse_step(GTK_PROGRESS_BAR(window->progress_bar),
0.01);
- gtk_box_pack_start(GTK_BOX(hbox), window->progress_bar, FALSE, FALSE,
- 0);
+ gtk_box_pack_start(GTK_BOX(hbox), window->progress_bar);
window->statusbar = gtk_statusbar_new();
g_signal_connect(window, "notify::is-maximized",
G_CALLBACK(bw_notify_is_maximized_cb),
window->statusbar);
- gtk_box_pack_start(GTK_BOX(hbox), window->statusbar, TRUE, TRUE, 0);
- gtk_widget_show_all(hbox);
+ gtk_widget_set_hexpand(window->statusbar, TRUE);
+ gtk_box_pack_start(GTK_BOX(hbox), window->statusbar);
+ gtk_widget_show(hbox);
#if 0
gnome_app_install_appbar_menu_hints(GNOME_APPBAR(balsa_app.appbar),
@@ -2756,13 +2759,12 @@ bw_notebook_label_new(BalsaMailboxNode * mbnode)
/* Try to make text not bold: */
css_provider = gtk_css_provider_new();
- if (!gtk_css_provider_load_from_data(css_provider,
- "#balsa-notebook-tab-label"
- "{"
- "font-weight:normal;"
- "}",
- -1, NULL))
- g_print("Could not load label CSS data.\n");
+ gtk_css_provider_load_from_data(css_provider,
+ "#balsa-notebook-tab-label"
+ "{"
+ "font-weight:normal;"
+ "}",
+ -1);
gtk_style_context_add_provider(gtk_widget_get_style_context(lab) ,
GTK_STYLE_PROVIDER(css_provider),
@@ -2773,7 +2775,8 @@ bw_notebook_label_new(BalsaMailboxNode * mbnode)
libbalsa_mailbox_get_unread(mbnode->mailbox) > 0);
g_signal_connect_object(mbnode->mailbox, "changed",
G_CALLBACK(bw_mailbox_changed), lab, 0);
- gtk_box_pack_start(GTK_BOX(box), lab, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(lab, TRUE);
+ gtk_box_pack_start(GTK_BOX(box), lab);
but = gtk_button_new();
#if GTK_CHECK_VERSION(3, 19, 0)
@@ -2792,9 +2795,9 @@ bw_notebook_label_new(BalsaMailboxNode * mbnode)
close_pix = gtk_image_new_from_icon_name("window-close-symbolic",
GTK_ICON_SIZE_MENU);
gtk_container_add(GTK_CONTAINER(but), close_pix);
- gtk_box_pack_start(GTK_BOX(box), but, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(box), but);
- gtk_widget_show_all(box);
+ gtk_widget_show(box);
gtk_widget_set_tooltip_text(box, mbnode->mailbox->url);
return box;
@@ -3283,18 +3286,15 @@ ensure_check_mail_dialog(BalsaWindow * window)
content_box =
GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(progress_dialog)));
progress_dialog_source = gtk_label_new(_("Checking Mail…"));
- gtk_box_pack_start(content_box, progress_dialog_source,
- FALSE, FALSE, 0);
+ gtk_box_pack_start(content_box, progress_dialog_source);
progress_dialog_message = gtk_label_new("");
- gtk_box_pack_start(content_box, progress_dialog_message,
- FALSE, FALSE, 0);
+ gtk_box_pack_start(content_box, progress_dialog_message);
progress_dialog_bar = gtk_progress_bar_new();
- gtk_box_pack_start(content_box, progress_dialog_bar,
- FALSE, FALSE, 0);
+ gtk_box_pack_start(content_box, progress_dialog_bar);
gtk_window_set_default_size(GTK_WINDOW(progress_dialog), 250, 100);
- gtk_widget_show_all(progress_dialog);
+ gtk_widget_show(progress_dialog);
}
/*
@@ -3544,7 +3544,7 @@ mail_progress_notify_cb(GIOChannel * source, GIOCondition condition,
gtk_label_set_text(GTK_LABEL(progress_dialog_source),
threadmessage->message_string);
gtk_label_set_text(GTK_LABEL(progress_dialog_message), "");
- gtk_widget_show_all(progress_dialog);
+ gtk_widget_show(progress_dialog);
} else
gtk_statusbar_push(statusbar, context_id,
threadmessage->message_string);
@@ -3553,7 +3553,7 @@ mail_progress_notify_cb(GIOChannel * source, GIOCondition condition,
if (progress_dialog) {
gtk_label_set_text(GTK_LABEL(progress_dialog_message),
threadmessage->message_string);
- gtk_widget_show_all(progress_dialog);
+ gtk_widget_show(progress_dialog);
} else
gtk_statusbar_push(statusbar, context_id,
threadmessage->message_string);
@@ -3712,7 +3712,7 @@ bw_display_new_mail_notification(int num_new, int has_new)
g_signal_connect(G_OBJECT(dlg), "response",
G_CALLBACK(gtk_widget_destroy), NULL);
g_object_add_weak_pointer(G_OBJECT(dlg), (gpointer) & dlg);
- gtk_widget_show_all(GTK_WIDGET(dlg));
+ gtk_widget_show(GTK_WIDGET(dlg));
}
}
@@ -3747,7 +3747,7 @@ bw_display_new_mail_notification(int num_new, int has_new)
g_signal_connect(G_OBJECT(dlg), "response",
G_CALLBACK(gtk_widget_destroy), NULL);
g_object_add_weak_pointer(G_OBJECT(dlg), (gpointer) & dlg);
- gtk_widget_show_all(GTK_WIDGET(dlg));
+ gtk_widget_show(GTK_WIDGET(dlg));
}
msg = bw_get_new_message_notification_string(num_new, num_total);
@@ -3923,7 +3923,7 @@ bw_find_real(BalsaWindow * window, BalsaIndex * bindex, gboolean again)
page=gtk_grid_new();
gtk_grid_set_row_spacing(GTK_GRID(page), 2);
gtk_grid_set_column_spacing(GTK_GRID(page), 2);
- gtk_container_set_border_width(GTK_CONTAINER(page), 6);
+ g_object_set(G_OBJECT(page), "margin", 6, NULL);
w = gtk_label_new_with_mnemonic(_("_Search for:"));
gtk_widget_set_hexpand(w, TRUE);
gtk_grid_attach(GTK_GRID(page), w, 0, 0, 1, 1);
@@ -3932,7 +3932,8 @@ bw_find_real(BalsaWindow * window, BalsaIndex * bindex, gboolean again)
gtk_widget_set_hexpand(search_entry, TRUE);
gtk_grid_attach(GTK_GRID(page),search_entry,1, 0, 1, 1);
gtk_label_set_mnemonic_widget(GTK_LABEL(w), search_entry);
- gtk_box_pack_start(GTK_BOX(vbox), page, FALSE, FALSE, 2);
+ gtk_widget_set_margin_top(page, 2);
+ gtk_box_pack_start(GTK_BOX(vbox), page);
/* builds the toggle buttons to specify fields concerned by
* the search. */
@@ -3941,8 +3942,8 @@ bw_find_real(BalsaWindow * window, BalsaIndex * bindex, gboolean again)
gtk_frame_set_label_align(GTK_FRAME(frame),
GTK_POS_LEFT, GTK_POS_TOP);
gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_ETCHED_IN);
- gtk_container_set_border_width(GTK_CONTAINER(frame), 6);
- gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 2);
+ gtk_widget_set_margin_top(frame, 2);
+ gtk_box_pack_start(GTK_BOX(vbox), frame);
grid = gtk_grid_new();
gtk_grid_set_column_homogeneous(GTK_GRID(grid), TRUE);
@@ -3951,61 +3952,74 @@ bw_find_real(BalsaWindow * window, BalsaIndex * bindex, gboolean again)
matching_from = bw_add_check_button(grid, _("_From:"), 1, 1);
matching_subject = bw_add_check_button(grid, _("S_ubject"), 2, 0);
matching_cc = bw_add_check_button(grid, _("_CC:"), 2, 1);
+ g_object_set(G_OBJECT(grid), "margin", 6, NULL);
gtk_container_add(GTK_CONTAINER(frame), grid);
/* Frame with Apply and Clear buttons */
frame = gtk_frame_new(_("Show only matching messages"));
gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_ETCHED_IN);
- gtk_container_set_border_width(GTK_CONTAINER(frame), 6);
- gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 2);
+ gtk_widget_set_margin_top(frame, 2);
+ gtk_box_pack_start(GTK_BOX(vbox), frame);
/* Button box */
box = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
- gtk_container_set_border_width(GTK_CONTAINER(box), 6);
+
button = gtk_button_new_with_mnemonic(_("_Apply"));
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(bw_find_button_clicked),
GINT_TO_POINTER(FIND_RESPONSE_FILTER));
+ g_object_set(G_OBJECT(button), "margin", 6, NULL);
gtk_container_add(GTK_CONTAINER(box), button);
+
button = gtk_button_new_with_mnemonic(_("_Clear"));
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(bw_find_button_clicked),
GINT_TO_POINTER(FIND_RESPONSE_RESET));
+ g_object_set(G_OBJECT(button), "margin", 6, NULL);
gtk_container_add(GTK_CONTAINER(box), button);
+
+ g_object_set(G_OBJECT(box), "margin", 6, NULL);
gtk_container_add(GTK_CONTAINER(frame), box);
/* Frame with OK button */
frame = gtk_frame_new(_("Open next matching message"));
gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_ETCHED_IN);
- gtk_container_set_border_width(GTK_CONTAINER(frame), 6);
- gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 2);
+ gtk_widget_set_margin_top(frame, 2);
+ gtk_box_pack_start(GTK_BOX(vbox), frame);
/* Reverse and Wrap checkboxes */
box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6);
+ g_object_set(G_OBJECT(box), "margin", 6, NULL);
gtk_container_add(GTK_CONTAINER(frame), box);
+
w = gtk_box_new(GTK_ORIENTATION_VERTICAL, 2);
gtk_box_set_homogeneous(GTK_BOX(w), TRUE);
- gtk_container_set_border_width(GTK_CONTAINER(w), 6);
reverse_button =
gtk_check_button_new_with_mnemonic(_("_Reverse search"));
- gtk_box_pack_start(GTK_BOX(w), reverse_button, TRUE, TRUE, 0);
+ g_object_set(G_OBJECT(reverse_button), "margin", 6, NULL);
+ gtk_widget_set_vexpand(reverse_button, TRUE);
+ gtk_box_pack_start(GTK_BOX(w), reverse_button);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(reverse_button),
reverse);
wrap_button =
gtk_check_button_new_with_mnemonic(_("_Wrap around"));
- gtk_box_pack_start(GTK_BOX(w), wrap_button, TRUE, TRUE, 0);
+ g_object_set(G_OBJECT(wrap_button), "margin", 6, NULL);
+ gtk_widget_set_vexpand(wrap_button, TRUE);
+ gtk_box_pack_start(GTK_BOX(w), wrap_button);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wrap_button),
wrap);
- gtk_box_pack_start(GTK_BOX(box), w, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(w, TRUE);
+ gtk_box_pack_start(GTK_BOX(box), w);
button = gtk_button_new_with_mnemonic(_("_OK"));
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(bw_find_button_clicked),
GINT_TO_POINTER(GTK_RESPONSE_OK));
gtk_widget_set_valign(button, GTK_ALIGN_CENTER);
- gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(button, TRUE);
+ gtk_box_pack_start(GTK_BOX(box), button);
- gtk_widget_show_all(vbox);
+ gtk_widget_show(vbox);
if (cnd->match.string.string)
gtk_entry_set_text(GTK_ENTRY(search_entry),
diff --git a/src/message-window.c b/src/message-window.c
index 5dba3dd..1c2fec8 100644
--- a/src/message-window.c
+++ b/src/message-window.c
@@ -852,7 +852,7 @@ message_window_new(LibBalsaMailbox * mailbox, guint msgno)
#if HAVE_MACOSX_DESKTOP
libbalsa_macosx_menu(window, GTK_MENU_SHELL(menubar));
#else
- gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), menubar);
#endif
mw->headers_shown = balsa_app.shown_headers;
@@ -861,7 +861,7 @@ message_window_new(LibBalsaMailbox * mailbox, guint msgno)
model = message_window_get_toolbar_model();
mw->toolbar = balsa_toolbar_new(model, G_ACTION_MAP(window));
- gtk_box_pack_start(GTK_BOX(vbox), mw->toolbar, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), mw->toolbar);
gtk_window_set_role(GTK_WINDOW(window), "message");
@@ -895,7 +895,8 @@ message_window_new(LibBalsaMailbox * mailbox, guint msgno)
mw_disable_trash(mw);
mw->bmessage = balsa_message_new();
- gtk_box_pack_start(GTK_BOX(vbox), mw->bmessage, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(mw->bmessage, TRUE);
+ gtk_box_pack_start(GTK_BOX(vbox), mw->bmessage);
gtk_widget_show(vbox);
g_signal_connect(mw->bmessage, "select-part",
diff --git a/src/pref-manager.c b/src/pref-manager.c
index a90be2c..471d834 100644
--- a/src/pref-manager.c
+++ b/src/pref-manager.c
@@ -1003,7 +1003,7 @@ add_button_to_box(const gchar * label, GCallback cb, gpointer cb_data,
{
GtkWidget *button = gtk_button_new_with_mnemonic(label);
g_signal_connect_swapped(button, "clicked", cb, cb_data);
- gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(box), button);
return button;
}
@@ -1647,7 +1647,7 @@ address_book_set_default_cb(GtkTreeView * tree_view)
static void
add_menu_cb(GtkWidget * menu, GtkWidget * widget)
{
- gtk_widget_show_all(menu);
+ gtk_widget_show(menu);
#if GTK_CHECK_VERSION(3, 22, 0)
gtk_menu_popup_at_widget(GTK_MENU(menu), GTK_WIDGET(widget),
GDK_GRAVITY_NORTH_WEST, GDK_GRAVITY_NORTH_WEST,
@@ -2152,22 +2152,19 @@ pm_grid_add_checking_group(GtkWidget * grid_widget)
label = gtk_label_new(_("When mail arrives:"));
gtk_widget_set_halign(label, GTK_ALIGN_START);
- gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), label);
pui->notify_new_mail_dialog =
gtk_check_button_new_with_label(_("Display message"));
- gtk_box_pack_start(GTK_BOX(hbox), pui->notify_new_mail_dialog,
- FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), pui->notify_new_mail_dialog);
pui->notify_new_mail_sound =
gtk_check_button_new_with_label(_("Play sound"));
- gtk_box_pack_start(GTK_BOX(hbox), pui->notify_new_mail_sound,
- FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), pui->notify_new_mail_sound);
pui->notify_new_mail_icon =
gtk_check_button_new_with_label(_("Show icon"));
- gtk_box_pack_start(GTK_BOX(hbox), pui->notify_new_mail_icon,
- FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), pui->notify_new_mail_icon);
pm_grid_attach(grid, hbox, 1, ++row, 3, 1);
@@ -3545,7 +3542,7 @@ open_preferences_manager(GtkWidget * widget, gpointer data)
g_signal_connect(G_OBJECT(property_box), "response",
G_CALLBACK(response_cb), NULL);
- gtk_widget_show_all(GTK_WIDGET(property_box));
+ gtk_widget_show(GTK_WIDGET(property_box));
} /* open_preferences_manager */
diff --git a/src/print-gtk.c b/src/print-gtk.c
index ed0a96c..317be86 100644
--- a/src/print-gtk.c
+++ b/src/print-gtk.c
@@ -497,10 +497,10 @@ message_prefs_widget(GtkPrintOperation * operation,
gtk_print_operation_set_custom_tab_label(operation, _("Message"));
page = gtk_box_new(GTK_ORIENTATION_VERTICAL, 18);
- gtk_container_set_border_width(GTK_CONTAINER(page), 12);
group = gtk_box_new(GTK_ORIENTATION_VERTICAL, 12);
- gtk_box_pack_start(GTK_BOX(page), group, FALSE, TRUE, 0);
+ g_object_set(G_OBJECT(group), "margin", 12, NULL);
+ gtk_box_pack_start(GTK_BOX(page), group);
label = gtk_label_new(NULL);
markup = g_strdup_printf("<b>%s</b>", _("Fonts"));
@@ -508,20 +508,22 @@ message_prefs_widget(GtkPrintOperation * operation,
g_free(markup);
gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
gtk_widget_set_halign(label, GTK_ALIGN_START);
- gtk_box_pack_start(GTK_BOX(group), label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(group), label);
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_pack_start(GTK_BOX(group), hbox, TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new(" "),
- FALSE, FALSE, 0);
+ gtk_widget_set_vexpand(hbox, TRUE);
+ gtk_box_pack_start(GTK_BOX(group), hbox);
+ gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new(" "));
+
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6);
- gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(vbox, TRUE);
+ gtk_box_pack_start(GTK_BOX(hbox), vbox);
grid = gtk_grid_new();
gtk_grid_set_row_spacing(GTK_GRID(grid), 6);
gtk_grid_set_column_spacing(GTK_GRID(grid), 6);
- gtk_box_pack_start(GTK_BOX(vbox), grid, FALSE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), grid);
print_prefs->header_font =
add_font_button(_("_Header Font:"), balsa_app.print_header_font,
@@ -534,7 +536,7 @@ message_prefs_widget(GtkPrintOperation * operation,
GTK_GRID(grid), 2);
group = gtk_box_new(GTK_ORIENTATION_VERTICAL, 12);
- gtk_box_pack_start(GTK_BOX(page), group, FALSE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(page), group);
label = gtk_label_new(NULL);
markup = g_strdup_printf("<b>%s</b>", _("Highlighting"));
@@ -542,22 +544,23 @@ message_prefs_widget(GtkPrintOperation * operation,
g_free(markup);
gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
gtk_widget_set_halign(label, GTK_ALIGN_START);
- gtk_box_pack_start(GTK_BOX(group), label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(group), label);
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_pack_start(GTK_BOX(group), hbox, TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new(" "),
- FALSE, FALSE, 0);
+ gtk_widget_set_vexpand(hbox, TRUE);
+ gtk_box_pack_start(GTK_BOX(group), hbox);
+ gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new(" "));
+
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6);
- gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(vbox, TRUE);
+ gtk_box_pack_start(GTK_BOX(hbox), vbox);
print_prefs->highlight_cited =
gtk_check_button_new_with_mnemonic(_("Highlight _cited text"));
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON
(print_prefs->highlight_cited),
balsa_app.print_highlight_cited);
- gtk_box_pack_start(GTK_BOX(vbox), print_prefs->highlight_cited, FALSE,
- TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), print_prefs->highlight_cited);
print_prefs->highlight_phrases =
gtk_check_button_new_with_mnemonic(_
@@ -565,11 +568,10 @@ message_prefs_widget(GtkPrintOperation * operation,
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON
(print_prefs->highlight_phrases),
balsa_app.print_highlight_phrases);
- gtk_box_pack_start(GTK_BOX(vbox), print_prefs->highlight_phrases,
- FALSE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), print_prefs->highlight_phrases);
group = gtk_box_new(GTK_ORIENTATION_VERTICAL, 12);
- gtk_box_pack_start(GTK_BOX(page), group, FALSE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(page), group);
label = gtk_label_new(NULL);
markup = g_strdup_printf("<b>%s</b>", _("Margins"));
@@ -577,20 +579,22 @@ message_prefs_widget(GtkPrintOperation * operation,
g_free(markup);
gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
gtk_widget_set_halign(label, GTK_ALIGN_START);
- gtk_box_pack_start(GTK_BOX(group), label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(group), label);
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_pack_start(GTK_BOX(group), hbox, TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new(" "),
- FALSE, FALSE, 0);
+ gtk_widget_set_vexpand(hbox, TRUE);
+ gtk_box_pack_start(GTK_BOX(group), hbox);
+ gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new(" "));
+
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6);
- gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(vbox, TRUE);
+ gtk_box_pack_start(GTK_BOX(hbox), vbox);
grid = gtk_grid_new();
gtk_grid_set_row_spacing(GTK_GRID(grid), 6);
gtk_grid_set_column_spacing(GTK_GRID(grid), 6);
- gtk_box_pack_start(GTK_BOX(vbox), grid, FALSE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), grid);
pg_setup = gtk_print_operation_get_default_page_setup(operation);
print_prefs->margin_top =
@@ -630,7 +634,7 @@ message_prefs_widget(GtkPrintOperation * operation,
"value-changed", G_CALLBACK(check_margins),
gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(print_prefs->margin_left)));
- gtk_widget_show_all(page);
+ gtk_widget_show(page);
return page;
}
diff --git a/src/sendmsg-window.c b/src/sendmsg-window.c
index 6573dea..7c84270 100644
--- a/src/sendmsg-window.c
+++ b/src/sendmsg-window.c
@@ -457,7 +457,7 @@ address_book_cb(LibBalsaAddressView * address_view,
(GDestroyNotify) gtk_tree_row_reference_free);
g_object_set_data(G_OBJECT(bsmsg->window),
BALSA_SENDMSG_ADDRESS_BOOK_KEY, ab);
- gtk_widget_show_all(ab);
+ gtk_widget_show(ab);
}
/* Callback for the "response" signal for the address book dialog. */
@@ -1520,7 +1520,7 @@ show_attachment_widget(BalsaSendmsg *bsmsg)
g_object_unref(child);
child = sw_attachment_list(bsmsg);
- gtk_widget_show_all(child);
+ gtk_widget_show(child);
gtk_paned_add2(inner_paned, child);
gtk_paned_set_position(inner_paned, position);
@@ -1568,8 +1568,10 @@ sw_get_user_codeset(BalsaSendmsg * bsmsg, gboolean * change_type,
g_free(msg);
content_box = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog)));
- gtk_box_pack_start(content_box, info, FALSE, TRUE, 5);
- gtk_box_pack_start(content_box, charset_button, TRUE, TRUE, 5);
+ gtk_box_set_spacing(content_box, 5);
+ gtk_box_pack_start(content_box, info);
+ gtk_widget_set_vexpand(charset_button, TRUE);
+ gtk_box_pack_start(content_box, charset_button);
gtk_widget_show(info);
gtk_widget_show(charset_button);
gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK);
@@ -1579,8 +1581,10 @@ sw_get_user_codeset(BalsaSendmsg * bsmsg, gboolean * change_type,
GtkWidget *hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
combo_box = gtk_combo_box_text_new();
- gtk_box_pack_start(content_box, hbox, TRUE, TRUE, 5);
- gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(hbox, TRUE);
+ gtk_box_pack_start(content_box, hbox);
+ gtk_widget_set_hexpand(label, TRUE);
+ gtk_box_pack_start(GTK_BOX(hbox), label);
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box),
mime_type);
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box),
@@ -1589,8 +1593,9 @@ sw_get_user_codeset(BalsaSendmsg * bsmsg, gboolean * change_type,
g_signal_connect(G_OBJECT(combo_box), "changed",
G_CALLBACK(sw_charset_combo_box_changed),
charset_button);
- gtk_box_pack_start(GTK_BOX(hbox), combo_box, TRUE, TRUE, 0);
- gtk_widget_show_all(hbox);
+ gtk_widget_set_hexpand(combo_box, TRUE);
+ gtk_box_pack_start(GTK_BOX(hbox), combo_box);
+ gtk_widget_show(hbox);
}
if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) {
@@ -1862,7 +1867,7 @@ add_attachment(BalsaSendmsg * bsmsg, const gchar *filename,
content_type,
G_CALLBACK(attachment_menu_vfs_cb),
(gpointer)attach_data);
- gtk_widget_show_all(attach_data->popup_menu);
+ gtk_widget_show(attach_data->popup_menu);
/* append to the list store */
content_desc =libbalsa_vfs_content_description(content_type);
@@ -1939,7 +1944,7 @@ add_urlref_attachment(BalsaSendmsg * bsmsg, gchar *url)
(gpointer)attach_data);
gtk_menu_shell_append(GTK_MENU_SHELL(attach_data->popup_menu),
menu_item);
- gtk_widget_show_all(attach_data->popup_menu);
+ gtk_widget_show(attach_data->popup_menu);
/* append to the list store */
gtk_list_store_set(GTK_LIST_STORE(model), &iter,
@@ -2314,7 +2319,7 @@ create_email_or_string_entry(BalsaSendmsg * bsmsg,
BALSA_COMPOSE_ENTRY);
css_provider = gtk_css_provider_new();
- gtk_css_provider_load_from_data(css_provider, css, -1, NULL);
+ gtk_css_provider_load_from_data(css_provider, css, -1);
g_free(css);
gtk_style_context_add_provider(gtk_widget_get_style_context(arr[1]) ,
@@ -2440,18 +2445,19 @@ create_from_entry(GtkWidget * grid, BalsaSendmsg * bsmsg)
}
static gboolean
-attachment_button_press_cb(GtkWidget * widget, GdkEventButton * event,
+attachment_button_press_cb(GtkWidget * widget, GdkEvent * event,
gpointer data)
{
GtkTreeView *tree_view = GTK_TREE_VIEW(widget);
GtkTreePath *path;
+ gdouble x_win, y_win;
g_return_val_if_fail(event, FALSE);
- if (!gdk_event_triggers_context_menu((GdkEvent *) event)
- || event->window != gtk_tree_view_get_bin_window(tree_view))
+ if (!gdk_event_triggers_context_menu(event)
+ || !gdk_event_get_coords(event, &x_win, &y_win))
return FALSE;
- if (gtk_tree_view_get_path_at_pos(tree_view, event->x, event->y,
+ if (gtk_tree_view_get_path_at_pos(tree_view, (gint) x_win, (gint) y_win,
&path, NULL, NULL, NULL)) {
GtkTreeIter iter;
GtkTreeSelection * selection =
@@ -2560,7 +2566,7 @@ create_info_pane(BalsaSendmsg * bsmsg)
grid = gtk_grid_new();
gtk_grid_set_row_spacing(GTK_GRID(grid), 6);
gtk_grid_set_column_spacing(GTK_GRID(grid), 6);
- gtk_container_set_border_width(GTK_CONTAINER(grid), 6);
+ g_object_set(G_OBJECT(grid), "margin", 6, NULL);
/* From: */
create_from_entry(grid, bsmsg);
@@ -2616,7 +2622,7 @@ create_info_pane(BalsaSendmsg * bsmsg)
create_email_or_string_entry(bsmsg, grid, _("F_CC:"), ++row,
bsmsg->fcc);
- gtk_widget_show_all(grid);
+ gtk_widget_show(grid);
return grid;
}
@@ -2636,7 +2642,7 @@ sw_attachment_list(BalsaSendmsg *bsmsg)
grid = gtk_grid_new();
gtk_grid_set_row_spacing(GTK_GRID(grid), 6);
gtk_grid_set_column_spacing(GTK_GRID(grid), 6);
- gtk_container_set_border_width(GTK_CONTAINER(grid), 6);
+ g_object_set(G_OBJECT(grid), "margin", 6, NULL);
/* Attachment list */
label = gtk_label_new_with_mnemonic(_("_Attachments:"));
@@ -2885,7 +2891,7 @@ create_text_area(BalsaSendmsg * bsmsg)
BALSA_COMPOSE_ENTRY);
css_provider = gtk_css_provider_new();
- gtk_css_provider_load_from_data(css_provider, css, -1, NULL);
+ gtk_css_provider_load_from_data(css_provider, css, -1);
g_free(css);
gtk_widget_set_name(bsmsg->text, BALSA_COMPOSE_ENTRY);
@@ -2932,7 +2938,7 @@ create_text_area(BalsaSendmsg * bsmsg)
drop_types, ELEMENTS(drop_types),
GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK);
- gtk_widget_show_all(scroll);
+ gtk_widget_show(scroll);
return scroll;
}
@@ -3350,14 +3356,16 @@ quote_parts_select_dlg(GtkTreeStore *tree_store, GtkWindow * parent)
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 12);
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 12);
- gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), label);
+ gtk_box_pack_start(GTK_BOX(hbox), image);
+ gtk_widget_set_hexpand(vbox, TRUE);
+ gtk_box_pack_start(GTK_BOX(hbox), vbox);
+
content_box = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog)));
- gtk_box_pack_start(content_box, hbox, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(hbox, TRUE);
+ gtk_box_pack_start(content_box, hbox);
- gtk_container_set_border_width(GTK_CONTAINER(dialog), 5);
- gtk_container_set_border_width(GTK_CONTAINER(hbox), 5);
+ g_object_set(G_OBJECT(hbox), "margin", 5, NULL);
gtk_box_set_spacing(content_box, 14);
/* scrolled window for the tree view */
@@ -3365,7 +3373,9 @@ quote_parts_select_dlg(GtkTreeStore *tree_store, GtkWindow * parent)
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
- gtk_box_pack_start(GTK_BOX(vbox), scroll, TRUE, TRUE, 0);
+ g_object_set(G_OBJECT(scroll), "margin", 5, NULL);
+ gtk_widget_set_hexpand(scroll, TRUE);
+ gtk_box_pack_start(GTK_BOX(vbox), scroll);
/* add the tree view */
tree_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(tree_store));
@@ -3389,7 +3399,7 @@ quote_parts_select_dlg(GtkTreeStore *tree_store, GtkWindow * parent)
/* add, show & run */
gtk_container_add(GTK_CONTAINER(scroll), tree_view);
- gtk_widget_show_all(hbox);
+ gtk_widget_show(hbox);
result = gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK;
gtk_widget_destroy(dialog);
return result;
@@ -4532,8 +4542,8 @@ sendmsg_window_set_field(BalsaSendmsg * bsmsg, const gchar * key,
#endif
if(g_ascii_strcasecmp(key, "subject") == 0) {
append_comma_separated(GTK_EDITABLE(bsmsg->subject[1]), val);
- gtk_widget_show_all(bsmsg->subject[0]);
- gtk_widget_show_all(bsmsg->subject[1]);
+ gtk_widget_show(bsmsg->subject[0]);
+ gtk_widget_show(bsmsg->subject[1]);
return;
}
@@ -4562,7 +4572,7 @@ sendmsg_window_set_field(BalsaSendmsg * bsmsg, const gchar * key,
"balsa-sendmsg-window-url-bcc", dialog);
g_signal_connect(G_OBJECT(dialog), "response",
G_CALLBACK(gtk_widget_destroy), NULL);
- gtk_widget_show_all(dialog);
+ gtk_widget_show(dialog);
}
}
else if(g_ascii_strcasecmp(key, "replyto") == 0) {
@@ -4984,51 +4994,54 @@ subject_not_empty(BalsaSendmsg * bsmsg)
_("_Cancel"), GTK_RESPONSE_CANCEL,
_("_Send"), GTK_RESPONSE_OK,
NULL);
- gtk_container_set_border_width (GTK_CONTAINER (no_subj_dialog), 6);
gtk_window_set_resizable (GTK_WINDOW (no_subj_dialog), FALSE);
gtk_window_set_type_hint (GTK_WINDOW (no_subj_dialog), GDK_WINDOW_TYPE_HINT_DIALOG);
dialog_vbox = gtk_dialog_get_content_area(GTK_DIALOG(no_subj_dialog));
+ g_object_set(G_OBJECT(dialog_vbox), "margin", 6, NULL);
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 12);
- gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox, TRUE, TRUE, 0);
- gtk_container_set_border_width (GTK_CONTAINER (hbox), 6);
+ gtk_widget_set_vexpand(hbox, TRUE);
+ gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox);
+ g_object_set(G_OBJECT(hbox), "margin", 6, NULL);
image = gtk_image_new_from_icon_name("dialog-question",
GTK_ICON_SIZE_DIALOG);
- gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox), image);
gtk_widget_set_valign(image, GTK_ALIGN_START);
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 12);
- gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(vbox, TRUE);
+ gtk_box_pack_start (GTK_BOX (hbox), vbox);
text_str = g_strdup_printf("<span weight=\"bold\" size=\"larger\">%s</span>\n\n%s",
_("You did not specify a subject for this message"),
_("If you would like to provide one, enter it below."));
label = gtk_label_new (text_str);
g_free(text_str);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), label);
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
gtk_widget_set_halign(label, GTK_ALIGN_START);
gtk_widget_set_valign(label, GTK_ALIGN_START);
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), hbox);
label = gtk_label_new (_("Subject:"));
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox), label);
subj_entry = gtk_entry_new ();
gtk_entry_set_text(GTK_ENTRY(subj_entry), _("(no subject)"));
- gtk_box_pack_start (GTK_BOX (hbox), subj_entry, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(subj_entry, TRUE);
+ gtk_box_pack_start (GTK_BOX (hbox), subj_entry);
gtk_entry_set_activates_default (GTK_ENTRY (subj_entry), TRUE);
gtk_dialog_set_default_response(GTK_DIALOG (no_subj_dialog),
GTK_RESPONSE_OK);
gtk_widget_grab_focus (subj_entry);
gtk_editable_select_region(GTK_EDITABLE(subj_entry), 0, -1);
- gtk_widget_show_all(dialog_vbox);
+ gtk_widget_show(dialog_vbox);
response = gtk_dialog_run(GTK_DIALOG(no_subj_dialog));
@@ -5118,10 +5131,10 @@ check_suggest_encryption(BalsaSendmsg * bsmsg)
gtk_container_add(GTK_CONTAINER(button), hbox);
image = gtk_image_new_from_icon_name(balsa_icon_id(BALSA_PIXMAP_GPG_ENCRYPT),
GTK_ICON_SIZE_BUTTON);
- gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), image);
label = gtk_label_new_with_mnemonic(_("Send _encrypted"));
- gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
- gtk_widget_show_all(button);
+ gtk_box_pack_start(GTK_BOX(hbox), label);
+ gtk_widget_show(button);
button = gtk_button_new();
gtk_dialog_add_action_widget(GTK_DIALOG(dialog), button, GTK_RESPONSE_NO);
@@ -5133,10 +5146,10 @@ check_suggest_encryption(BalsaSendmsg * bsmsg)
gtk_container_add(GTK_CONTAINER(button), hbox);
image = gtk_image_new_from_icon_name(balsa_icon_id(BALSA_PIXMAP_SEND),
GTK_ICON_SIZE_BUTTON);
- gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), image);
label = gtk_label_new_with_mnemonic(_("Send _unencrypted"));
- gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
- gtk_widget_show_all(button);
+ gtk_box_pack_start(GTK_BOX(hbox), label);
+ gtk_widget_show(button);
button = gtk_button_new_with_mnemonic(_("_Cancel"));
gtk_widget_show(button);
@@ -5847,8 +5860,8 @@ sw_entry_helper(GSimpleAction * action,
GtkWidget * entry[])
{
if (g_variant_get_boolean(state)) {
- gtk_widget_show_all(entry[0]);
- gtk_widget_show_all(entry[1]);
+ gtk_widget_show(entry[0]);
+ gtk_widget_show(entry[1]);
gtk_widget_grab_focus(entry[1]);
} else {
gtk_widget_hide(entry[0]);
@@ -6602,7 +6615,7 @@ sendmsg_window_new()
gtk_window_set_role(GTK_WINDOW(window), "compose");
gtk_container_add(GTK_CONTAINER(window), main_box);
- gtk_widget_show_all(window);
+ gtk_widget_show(window);
bsmsg->type = SEND_NORMAL;
bsmsg->is_continue = FALSE;
@@ -6649,12 +6662,11 @@ sendmsg_window_new()
#if HAVE_MACOSX_DESKTOP
libbalsa_macosx_menu(window, GTK_MENU_SHELL(menubar));
#else
- gtk_box_pack_start(GTK_BOX(main_box), menubar, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(main_box), menubar);
#endif
bsmsg->toolbar = balsa_toolbar_new(model, G_ACTION_MAP(window));
- gtk_box_pack_start(GTK_BOX(main_box), bsmsg->toolbar,
- FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(main_box), bsmsg->toolbar);
bsmsg->flow = !balsa_app.wordwrap;
sw_action_set_enabled(bsmsg, "reflow", bsmsg->flow);
@@ -6685,7 +6697,8 @@ sendmsg_window_new()
/* Paned window for the addresses at the top, and the content at the
* bottom: */
bsmsg->paned = paned = gtk_paned_new(GTK_ORIENTATION_VERTICAL);
- gtk_box_pack_start(GTK_BOX(main_box), paned, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(paned, TRUE);
+ gtk_box_pack_start(GTK_BOX(main_box), paned);
gtk_widget_show(paned);
/* create the top portion with the to, from, etc in it */
diff --git a/src/spell-check.c b/src/spell-check.c
index 037099c..3c1a5cc 100644
--- a/src/spell-check.c
+++ b/src/spell-check.c
@@ -300,13 +300,14 @@ balsa_spell_check_init(BalsaSpellCheck * spell_check)
gtk_container_add((GtkContainer *) spell_check, box_widget);
box = (GtkBox *) box_widget;
- gtk_box_pack_start(box, widget, FALSE, FALSE, 0);
+ gtk_box_pack_start(box, widget);
sw = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
- gtk_box_pack_start(box, sw, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(sw, TRUE);
+ gtk_box_pack_start(box, sw);
/* setup suggestion list */
store = gtk_list_store_new(1, G_TYPE_STRING);
@@ -330,7 +331,7 @@ balsa_spell_check_init(BalsaSpellCheck * spell_check)
/* setup buttons to perform actions */
widget = gtk_grid_new();
- gtk_box_pack_start(box, widget, FALSE, FALSE, 0);
+ gtk_box_pack_start(box, widget);
grid = GTK_GRID(widget);
gtk_grid_set_row_spacing(grid, BALSA_SPELL_CHECK_PADDING);
@@ -624,7 +625,7 @@ balsa_spell_check_start(BalsaSpellCheck * spell_check)
/* start the check */
if (!balsa_spell_check_next(spell_check))
- gtk_widget_show_all(GTK_WIDGET(spell_check));
+ gtk_widget_show(GTK_WIDGET(spell_check));
}
/* balsa_spell_check_next ()
diff --git a/src/store-address.c b/src/store-address.c
index 5efd9ae..85f9091 100644
--- a/src/store-address.c
+++ b/src/store-address.c
@@ -133,7 +133,7 @@ balsa_store_address(const LibBalsaAddress *address)
g_signal_connect(G_OBJECT(info->dialog), "response",
G_CALLBACK(store_address_response), info);
- gtk_widget_show_all(GTK_WIDGET(info->dialog));
+ gtk_widget_show(GTK_WIDGET(info->dialog));
}
/* Weak notify that a message was deleted; remove it from our list. */
@@ -221,13 +221,14 @@ store_address_dialog(StoreAddressInfo * info)
if (balsa_app.address_book_list && balsa_app.address_book_list->next) {
/* User has more than one address book, so show the options */
frame = store_address_book_frame(info);
- gtk_widget_show_all(frame);
- gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0);
+ gtk_widget_show(frame);
+ gtk_box_pack_start(GTK_BOX(vbox), frame);
}
frame = store_address_note_frame(info);
- gtk_widget_show_all(frame);
- gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
+ gtk_widget_show(frame);
+ gtk_widget_set_vexpand(frame, TRUE);
+ gtk_box_pack_start(GTK_BOX(vbox), frame);
return dialog;
}
@@ -286,9 +287,8 @@ store_address_book_frame(StoreAddressInfo * info)
GList *ab_list;
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 12);
- gtk_container_set_border_width(GTK_CONTAINER(hbox), 4);
- gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new(_("Address Book:")),
- FALSE, FALSE, 0);
+ g_object_set(G_OBJECT(hbox), "margin", 4, NULL);
+ gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new(_("Address Book:")));
combo_box = gtk_combo_box_text_new();
g_signal_connect(combo_box, "changed",
@@ -313,7 +313,8 @@ store_address_book_frame(StoreAddressInfo * info)
}
gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box), default_ab_offset);
- gtk_box_pack_start(GTK_BOX(hbox), combo_box, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(combo_box, TRUE);
+ gtk_box_pack_start(GTK_BOX(hbox), combo_box);
return hbox;
}
@@ -328,7 +329,7 @@ store_address_note_frame(StoreAddressInfo *info)
info->notebook = gtk_notebook_new();
gtk_notebook_set_scrollable(GTK_NOTEBOOK(info->notebook), TRUE);
- gtk_container_set_border_width(GTK_CONTAINER(info->notebook), 4);
+ g_object_set(G_OBJECT(info->notebook), "margin", 4, NULL);
for (list = info->message_list; list; list = list->next) {
message = LIBBALSA_MESSAGE(list->data);
diff --git a/src/toolbar-factory.c b/src/toolbar-factory.c
index f044d4a..e14ca2b 100644
--- a/src/toolbar-factory.c
+++ b/src/toolbar-factory.c
@@ -578,7 +578,7 @@ tm_populate(GtkWidget * toolbar, BalsaToolbarModel * model)
model->style != (GtkToolbarStyle) (-1) ?
model->style : tm_default_style());
- gtk_widget_show_all(toolbar);
+ gtk_widget_show(toolbar);
}
/* Update a real toolbar when the model has changed.
@@ -695,9 +695,6 @@ tm_popup_context_menu_cb(GtkWidget * toolbar,
toolbar_info * info)
{
GtkWidget *menu;
-#if !GTK_CHECK_VERSION(3, 22, 0)
- int event_time;
-#endif /*GTK_CHECK_VERSION(3, 22, 0) */
guint i;
GSList *group = NULL;
GtkToolbarStyle default_style;
@@ -788,12 +785,11 @@ tm_popup_context_menu_cb(GtkWidget * toolbar,
GINT_TO_POINTER(info->model->type));
}
- gtk_widget_show_all(menu);
+ gtk_widget_show(menu);
gtk_menu_attach_to_widget(GTK_MENU(menu), toolbar, NULL);
event = gtk_get_current_event();
-#if GTK_CHECK_VERSION(3, 22, 0)
- if (event != NULL && event->type == GDK_BUTTON_PRESS) {
+ if (event != NULL && gdk_event_get_event_type(event) == GDK_BUTTON_PRESS) {
gtk_menu_popup_at_pointer(GTK_MENU(menu), event);
} else {
gtk_menu_popup_at_widget(GTK_MENU(menu),
@@ -802,16 +798,6 @@ tm_popup_context_menu_cb(GtkWidget * toolbar,
GDK_GRAVITY_SOUTH,
NULL);
}
-#else /*GTK_CHECK_VERSION(3, 22, 0) */
- event_time = gtk_get_current_event_time();
-
- if (button >= 0)
- gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, button,
- event_time);
- else
- gtk_menu_popup(GTK_MENU(menu), NULL, NULL, tm_popup_position_func,
- toolbar, button, event_time);
-#endif /*GTK_CHECK_VERSION(3, 22, 0) */
if (event != NULL)
gdk_event_free(event);
@@ -842,7 +828,7 @@ GtkWidget *balsa_toolbar_new(BalsaToolbarModel * model,
g_signal_connect(toolbar, "popup-context-menu",
G_CALLBACK(tm_popup_context_menu_cb), info);
- gtk_widget_show_all(toolbar);
+ gtk_widget_show(toolbar);
return toolbar;
}
diff --git a/src/toolbar-prefs.c b/src/toolbar-prefs.c
index 26721cb..c4db7cf 100644
--- a/src/toolbar-prefs.c
+++ b/src/toolbar-prefs.c
@@ -151,7 +151,8 @@ customize_dialog_cb(GtkWidget * widget, gpointer data)
notebook = gtk_notebook_new();
content_area =
gtk_dialog_get_content_area(GTK_DIALOG(customize_widget));
- gtk_box_pack_start(GTK_BOX(content_area), notebook, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(notebook, TRUE);
+ gtk_box_pack_start(GTK_BOX(content_area), notebook);
gtk_window_set_role(GTK_WINDOW(customize_widget), "customize");
gtk_window_set_default_size(GTK_WINDOW(customize_widget), 600, 440);
@@ -192,11 +193,10 @@ customize_dialog_cb(GtkWidget * widget, gpointer data)
gtk_label_new(_("Message window")));
option_frame = gtk_frame_new(_("Toolbar options"));
- gtk_container_set_border_width(GTK_CONTAINER(option_frame), 6);
- gtk_box_pack_start(GTK_BOX(content_area), option_frame, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(content_area), option_frame);
option_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6);
- gtk_container_set_border_width(GTK_CONTAINER(option_box), 6);
+ g_object_set(G_OBJECT(option_box), "margin", 6, NULL);
gtk_container_add(GTK_CONTAINER(option_frame), option_box);
wrap_button =
@@ -205,9 +205,10 @@ customize_dialog_cb(GtkWidget * widget, gpointer data)
balsa_app.toolbar_wrap_button_text);
g_signal_connect(G_OBJECT(wrap_button), "toggled",
G_CALLBACK(wrap_toggled_cb), notebook);
- gtk_box_pack_start(GTK_BOX(option_box), wrap_button, FALSE, FALSE, 0);
+ g_object_set(G_OBJECT(wrap_button), "margin", 6, NULL);
+ gtk_box_pack_start(GTK_BOX(option_box), wrap_button);
- gtk_widget_show_all(customize_widget);
+ gtk_widget_show(customize_widget);
/* Now that the pages are shown, we can switch to the page
* corresponding to the toolbar that the user clicked on. */
@@ -420,12 +421,11 @@ create_toolbar_page(BalsaToolbarModel * model, GActionMap * map)
/* Preview display */
toolbar_frame=gtk_frame_new(_("Preview"));
- gtk_container_set_border_width(GTK_CONTAINER(toolbar_frame), 5);
- gtk_box_pack_start(GTK_BOX(outer_box), toolbar_frame, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(outer_box), toolbar_frame);
toolbar_ctlbox=gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
+ g_object_set(G_OBJECT(toolbar_ctlbox), "margin", 5, NULL);
gtk_container_add(GTK_CONTAINER(toolbar_frame), toolbar_ctlbox);
- gtk_container_set_border_width(GTK_CONTAINER(toolbar_ctlbox), 5);
/* The preview is an actual, fully functional toolbar */
page->toolbar = balsa_toolbar_new(model, map);
@@ -437,15 +437,17 @@ create_toolbar_page(BalsaToolbarModel * model, GActionMap * map)
GTK_POLICY_AUTOMATIC,
GTK_POLICY_NEVER);
- gtk_box_pack_start(GTK_BOX(toolbar_ctlbox), toolbar_scroll,
- TRUE, TRUE, 0);
+ g_object_set(G_OBJECT(toolbar_scroll), "margin", 5, NULL);
+ gtk_widget_set_vexpand(toolbar_scroll, TRUE);
+ gtk_box_pack_start(GTK_BOX(toolbar_ctlbox), toolbar_scroll);
gtk_container_add(GTK_CONTAINER(toolbar_scroll), page->toolbar);
/* Button box */
button_box = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
gtk_box_set_spacing(GTK_BOX(button_box), 5);
- gtk_box_pack_start(GTK_BOX(toolbar_ctlbox), button_box, FALSE, FALSE, 0);
+ g_object_set(G_OBJECT(button_box), "margin", 5, NULL);
+ gtk_box_pack_start(GTK_BOX(toolbar_ctlbox), button_box);
/* Standard button */
page->standard_button =
@@ -460,9 +462,10 @@ create_toolbar_page(BalsaToolbarModel * model, GActionMap * map)
/* Box for lower half of window */
lower_ctlbox=gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
- gtk_container_set_border_width(GTK_CONTAINER(lower_ctlbox), 5);
+ g_object_set(G_OBJECT(lower_ctlbox), "margin", 5, NULL);
- gtk_box_pack_start(GTK_BOX(outer_box), lower_ctlbox, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand(lower_ctlbox, TRUE);
+ gtk_box_pack_start(GTK_BOX(outer_box), lower_ctlbox);
/* A list to show the available items */
list_scroll=gtk_scrolled_window_new(NULL, NULL);
@@ -473,8 +476,8 @@ create_toolbar_page(BalsaToolbarModel * model, GActionMap * map)
list_frame=gtk_frame_new(_("Available buttons"));
page->available = tp_list_new();
- gtk_box_pack_start(GTK_BOX(lower_ctlbox), list_frame,
- TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(list_frame, TRUE);
+ gtk_box_pack_start(GTK_BOX(lower_ctlbox), list_frame);
gtk_container_add(GTK_CONTAINER(list_frame), list_scroll);
gtk_container_add(GTK_CONTAINER(list_scroll), page->available);
@@ -497,46 +500,44 @@ create_toolbar_page(BalsaToolbarModel * model, GActionMap * map)
button_box=gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
- gtk_box_pack_start(GTK_BOX(lower_ctlbox), center_button_box,
- FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(lower_ctlbox), center_button_box);
- gtk_box_pack_start(GTK_BOX(center_button_box), button_box,
- FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(center_button_box), button_box);
page->back_button =
gtk_button_new_from_icon_name("go-up-symbolic",
GTK_ICON_SIZE_BUTTON);
gtk_widget_set_tooltip_text(page->back_button,
_("Move selected item up"));
- gtk_box_pack_start(GTK_BOX(button_box), page->back_button, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(button_box), page->back_button);
move_button_box=gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_pack_start(GTK_BOX(button_box), move_button_box, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(button_box), move_button_box);
page->remove_button =
gtk_button_new_from_icon_name("go-previous-symbolic",
GTK_ICON_SIZE_BUTTON);
gtk_widget_set_tooltip_text(page->remove_button,
_("Remove selected item from toolbar"));
- gtk_box_pack_start(GTK_BOX(move_button_box), page->remove_button,
- FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(move_button_box), page->remove_button);
page->add_button =
gtk_button_new_from_icon_name("go-next-symbolic",
GTK_ICON_SIZE_BUTTON);
gtk_widget_set_tooltip_text(page->add_button,
_("Add selected item to toolbar"));
- gtk_box_pack_start(GTK_BOX(move_button_box), page->add_button, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(move_button_box), page->add_button);
page->forward_button =
gtk_button_new_from_icon_name("go-down-symbolic",
GTK_ICON_SIZE_BUTTON);
gtk_widget_set_tooltip_text(page->forward_button,
_("Move selected item down"));
- gtk_box_pack_start(GTK_BOX(button_box), page->forward_button, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(button_box), page->forward_button);
/* Pack destination list */
- gtk_box_pack_start(GTK_BOX(lower_ctlbox), destination_frame, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand(destination_frame, TRUE);
+ gtk_box_pack_start(GTK_BOX(lower_ctlbox), destination_frame);
gtk_container_add(GTK_CONTAINER(destination_frame), destination_scroll);
gtk_container_add(GTK_CONTAINER(destination_scroll), page->current);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]