LIBEDATASERVER_REVISION=0
LIBEDATASERVER_AGE=0
-LIBEDATASERVERUI_CURRENT=4
+LIBEDATASERVERUI_CURRENT=5
LIBEDATASERVERUI_REVISION=0
LIBEDATASERVERUI_AGE=0
-Wno-missing-field-initializers
-Wno-sign-compare
-Wno-unused-parameter
- -Wno-deprecated-declarations
-Wdeclaration-after-statement
-Werror-implicit-function-declaration
-Wformat-security -Winit-self
AC_MSG_RESULT([$enable_strict])
if test "x$enable_strict" = xyes; then
- AM_CPPFLAGS="$AM_CPPFLAGS -DG_DISABLE_DEPRECATED"
+ AM_CPPFLAGS="$AM_CPPFLAGS -Wdeprecated-declarations -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DLIBSOUP_DISABLE_DEPRECATED"
+else
+ AM_CPPFLAGS="$AM_CPPFLAGS -Wno-deprecated-declarations"
fi
AC_SUBST(AM_CPPFLAGS)
static gint signals[LAST_SIGNAL] = {0};
-G_DEFINE_TYPE (ECategoriesEditor, e_categories_editor, GTK_TYPE_TABLE)
+G_DEFINE_TYPE (ECategoriesEditor, e_categories_editor, GTK_TYPE_GRID)
static void
entry_changed_cb (GtkEntry *entry,
e_categories_editor_init (ECategoriesEditor *editor)
{
GtkEntryCompletion *completion;
+ GtkGrid *grid;
GtkWidget *entry_categories;
GtkWidget *label_header;
GtkWidget *label2;
gtk_widget_set_size_request (GTK_WIDGET (editor), -1, 400);
- gtk_table_resize (GTK_TABLE (editor), 3, 2);
- gtk_table_set_row_spacings (GTK_TABLE (editor), 6);
- gtk_table_set_col_spacings (GTK_TABLE (editor), 6);
+ grid = GTK_GRID (editor);
- entry_categories = gtk_entry_new ();
- gtk_table_attach (
- GTK_TABLE (editor),
- entry_categories, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
+ gtk_grid_set_row_spacing (grid, 6);
+ gtk_grid_set_column_spacing (grid, 6);
label_header = gtk_label_new_with_mnemonic (
_("Currently _used categories:"));
- gtk_table_attach (
- GTK_TABLE (editor),
- label_header, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
+ gtk_widget_set_halign (label_header, GTK_ALIGN_FILL);
+ gtk_grid_attach (grid, label_header, 0, 0, 1, 1);
gtk_label_set_justify (GTK_LABEL (label_header), GTK_JUSTIFY_CENTER);
gtk_misc_set_alignment (GTK_MISC (label_header), 0, 0.5);
+ entry_categories = gtk_entry_new ();
+ gtk_widget_set_hexpand (entry_categories, TRUE);
+ gtk_widget_set_halign (entry_categories, GTK_ALIGN_FILL);
+ gtk_grid_attach (grid, entry_categories, 0, 1, 1, 1);
+
label2 = gtk_label_new_with_mnemonic (_("_Available Categories:"));
- gtk_table_attach (
- GTK_TABLE (editor),
- label2, 0, 1, 2, 3,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
+ gtk_widget_set_halign (label2, GTK_ALIGN_FILL);
+ gtk_grid_attach (grid, label2, 0, 2, 1, 1);
gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_CENTER);
gtk_misc_set_alignment (GTK_MISC (label2), 0, 0.5);
scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
- gtk_table_attach (
- GTK_TABLE (editor),
- scrolledwindow1, 0, 1, 3, 4,
- (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0);
+ g_object_set (G_OBJECT (scrolledwindow1),
+ "hexpand", TRUE,
+ "halign", GTK_ALIGN_FILL,
+ "vexpand", TRUE,
+ "valign", GTK_ALIGN_FILL,
+ NULL);
+ gtk_grid_attach (grid, scrolledwindow1, 0, 3, 1, 1);
gtk_scrolled_window_set_policy (
GTK_SCROLLED_WINDOW (scrolledwindow1),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
G_OBJECT (categories_list), "category-checked",
G_CALLBACK (category_checked_cb), editor);
- hbuttonbox1 = gtk_hbutton_box_new ();
- gtk_table_attach (
- GTK_TABLE (editor),
- hbuttonbox1, 0, 1, 4, 5,
- (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
- (GtkAttachOptions) (GTK_SHRINK), 0, 0);
+ hbuttonbox1 = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
+ g_object_set (G_OBJECT (hbuttonbox1),
+ "hexpand", TRUE,
+ "halign", GTK_ALIGN_FILL,
+ NULL);
+ gtk_grid_attach (grid, hbuttonbox1, 0, 4, 1, 1);
gtk_box_set_spacing (GTK_BOX (hbuttonbox1), 6);
button_new = gtk_button_new_from_stock (GTK_STOCK_NEW);
* Since: 3.2
**/
struct _ECategoriesEditor {
- GtkTable parent;
+ GtkGrid parent;
ECategoriesEditorPrivate *priv;
};
struct _ECategoriesEditorClass {
- GtkTableClass parent_class;
+ GtkGridClass parent_class;
void (*entry_changed) (GtkEntry *entry);
};
{
GtkWidget *dialog_content;
GtkWidget *dialog_action_area;
- GtkWidget *table_category_properties;
+ GtkGrid *grid_category_properties;
GtkWidget *label_name;
GtkWidget *label_icon;
GtkWidget *category_name;
dialog_content = gtk_dialog_get_content_area (GTK_DIALOG (editor));
- table_category_properties = gtk_table_new (3, 2, FALSE);
+ grid_category_properties = GTK_GRID (gtk_grid_new ());
gtk_box_pack_start (
GTK_BOX (dialog_content),
- table_category_properties, TRUE, TRUE, 0);
+ GTK_WIDGET (grid_category_properties), TRUE, TRUE, 0);
gtk_container_set_border_width (
- GTK_CONTAINER (table_category_properties), 12);
- gtk_table_set_row_spacings (GTK_TABLE (table_category_properties), 6);
- gtk_table_set_col_spacings (GTK_TABLE (table_category_properties), 6);
+ GTK_CONTAINER (grid_category_properties), 12);
+ gtk_grid_set_row_spacing (grid_category_properties, 6);
+ gtk_grid_set_column_spacing (grid_category_properties, 6);
label_name = gtk_label_new_with_mnemonic (_("Category _Name"));
+ gtk_widget_set_halign (label_name, GTK_ALIGN_FILL);
gtk_misc_set_alignment (GTK_MISC (label_name), 0, 0.5);
- gtk_table_attach (
- GTK_TABLE (table_category_properties),
- label_name, 0, 1, 0, 1,
- (GtkAttachOptions) GTK_FILL,
- (GtkAttachOptions) 0, 0, 0);
-
- label_icon = gtk_label_new_with_mnemonic (_("Category _Icon"));
- gtk_misc_set_alignment (GTK_MISC (label_icon), 0, 0.5);
- gtk_table_attach (
- GTK_TABLE (table_category_properties),
- label_icon, 0, 1, 2, 3,
- (GtkAttachOptions) GTK_FILL,
- (GtkAttachOptions) 0, 0, 0);
+ gtk_grid_attach (grid_category_properties, label_name, 0, 0, 1, 1);
category_name = gtk_entry_new ();
+ gtk_widget_set_hexpand (category_name, TRUE);
+ gtk_widget_set_halign (category_name, GTK_ALIGN_FILL);
gtk_label_set_mnemonic_widget (GTK_LABEL (label_name), category_name);
- gtk_table_attach (
- GTK_TABLE (table_category_properties),
- category_name, 1, 2, 0, 1,
- (GtkAttachOptions) GTK_EXPAND | GTK_SHRINK | GTK_FILL,
- (GtkAttachOptions) 0, 0, 0);
+ gtk_grid_attach (grid_category_properties, category_name, 1, 0, 1, 1);
editor->priv->category_name = category_name;
+ label_icon = gtk_label_new_with_mnemonic (_("Category _Icon"));
+ gtk_widget_set_halign (label_icon, GTK_ALIGN_FILL);
+ gtk_misc_set_alignment (GTK_MISC (label_icon), 0, 0.5);
+ gtk_grid_attach (grid_category_properties, label_icon, 0, 1, 1, 1);
+
chooser_button = GTK_WIDGET (
gtk_file_chooser_button_new_with_dialog (chooser_dialog));
+ gtk_widget_set_hexpand (chooser_button, TRUE);
+ gtk_widget_set_halign (chooser_button, GTK_ALIGN_FILL);
gtk_label_set_mnemonic_widget (GTK_LABEL (label_icon), chooser_button);
- gtk_table_attach (
- GTK_TABLE (table_category_properties),
- chooser_button, 1, 2, 2, 3,
- (GtkAttachOptions) GTK_EXPAND | GTK_SHRINK | GTK_FILL,
- (GtkAttachOptions) 0, 0, 0);
+ gtk_grid_attach (grid_category_properties, chooser_button, 1, 1, 1, 1);
editor->priv->category_icon = chooser_button;
g_signal_connect (
ECellRendererColorPrivate *priv;
GdkRectangle pix_rect;
GdkRectangle draw_rect;
+ GdkRGBA rgba;
guint xpad;
guint ypad;
if (!gdk_rectangle_intersect (cell_area, &pix_rect, &draw_rect))
return;
- gdk_cairo_set_source_color (cr, priv->color);
+ rgba.red = priv->color->red / 65535.0;
+ rgba.green = priv->color->green / 65535.0;
+ rgba.blue = priv->color->blue / 65535.0;
+ rgba.alpha = 1.0;
+
+ gdk_cairo_set_source_rgba (cr, &rgba);
cairo_rectangle (cr, pix_rect.x, pix_rect.y, draw_rect.width, draw_rect.height);
cairo_fill (cr);
typedef struct {
gchar *name;
- GtkBox *section_box;
+ GtkGrid *section_grid;
GtkLabel *label;
GtkButton *transfer_button;
GtkButton *remove_button;
GtkTreeView *contact_view;
GtkLabel *status_label;
- GtkBox *destination_box;
+ GtkGrid *destination_vgrid;
GtkEntry *search_entry;
GtkSizeGroup *button_size_group;
GtkWidget *category_combobox;
GtkTreeSelection *selection;
ESource *source;
gchar *tmp_str;
- GtkWidget *name_selector_box;
+ GtkWidget *name_selector_grid;
GtkWidget *show_contacts_label;
- GtkWidget *hbox2;
- GtkWidget *label35;
- GtkWidget *show_contacts_table;
+ GtkWidget *hgrid;
+ GtkWidget *label;
+ GtkWidget *show_contacts_grid;
GtkWidget *AddressBookLabel;
- GtkWidget *label31;
- GtkWidget *hbox1;
+ GtkWidget *label_category;
GtkWidget *search;
AtkObject *atko;
- GtkWidget *label39;
- GtkWidget *source_menu_box;
+ GtkWidget *label_search;
+ GtkWidget *source_menu_hgrid;
GtkWidget *combobox_category;
- GtkWidget *label36;
- GtkWidget *hbox3;
- GtkWidget *label38;
+ GtkWidget *label_contacts;
GtkWidget *scrolledwindow0;
GtkWidget *scrolledwindow1;
AtkRelationSet *tmp_relation_set;
AtkRelation *tmp_relation;
AtkObject *scrolledwindow1_relation_targets[1];
GtkWidget *source_tree_view;
- GtkWidget *destination_box;
+ GtkWidget *destination_vgrid;
GtkWidget *status_message;
GtkWidget *source_combo;
const gchar *extension_name;
/* Chain up to parent's constructed() method. */
G_OBJECT_CLASS (e_name_selector_dialog_parent_class)->constructed (object);
- name_selector_box = gtk_vbox_new (FALSE, 6);
- gtk_widget_show (name_selector_box);
- gtk_container_set_border_width (GTK_CONTAINER (name_selector_box), 0);
+ name_selector_grid = g_object_new (GTK_TYPE_GRID,
+ "orientation", GTK_ORIENTATION_VERTICAL,
+ "column-homogeneous", FALSE,
+ "row-spacing", 6,
+ NULL);
+ gtk_widget_show (name_selector_grid);
+ gtk_container_set_border_width (GTK_CONTAINER (name_selector_grid), 0);
tmp_str = g_strconcat ("<b>", _("Show Contacts"), "</b>", NULL);
show_contacts_label = gtk_label_new (tmp_str);
gtk_widget_show (show_contacts_label);
- gtk_box_pack_start (GTK_BOX (name_selector_box), show_contacts_label, FALSE, FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (name_selector_grid), show_contacts_label);
gtk_label_set_use_markup (GTK_LABEL (show_contacts_label), TRUE);
gtk_misc_set_alignment (GTK_MISC (show_contacts_label), 0, 0.5);
g_free (tmp_str);
- hbox2 = gtk_hbox_new (FALSE, 12);
- gtk_widget_show (hbox2);
- gtk_box_pack_start (GTK_BOX (name_selector_box), hbox2, FALSE, FALSE, 0);
-
- label35 = gtk_label_new ("");
- gtk_widget_show (label35);
- gtk_box_pack_start (GTK_BOX (hbox2), label35, FALSE, FALSE, 0);
+ hgrid = g_object_new (GTK_TYPE_GRID,
+ "orientation", GTK_ORIENTATION_HORIZONTAL,
+ "row-homogeneous", FALSE,
+ "column-spacing", 12,
+ NULL);
+ gtk_widget_show (hgrid);
+ gtk_container_add (GTK_CONTAINER (name_selector_grid), hgrid);
- show_contacts_table = gtk_table_new (3, 2, FALSE);
- gtk_widget_show (show_contacts_table);
- gtk_box_pack_start (GTK_BOX (hbox2), show_contacts_table, TRUE, TRUE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (show_contacts_table), 6);
- gtk_table_set_col_spacings (GTK_TABLE (show_contacts_table), 12);
+ label = gtk_label_new ("");
+ gtk_widget_show (label);
+ gtk_container_add (GTK_CONTAINER (hgrid), label);
+
+ show_contacts_grid = gtk_grid_new ();
+ gtk_widget_show (show_contacts_grid);
+ gtk_container_add (GTK_CONTAINER (hgrid), show_contacts_grid);
+ g_object_set (G_OBJECT (show_contacts_grid),
+ "column-spacing", 12,
+ "row-spacing", 6,
+ "hexpand", TRUE,
+ "halign", GTK_ALIGN_FILL,
+ NULL);
AddressBookLabel = gtk_label_new_with_mnemonic (_("Address B_ook:"));
gtk_widget_show (AddressBookLabel);
- gtk_table_attach (
- GTK_TABLE (show_contacts_table),
- AddressBookLabel, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
+ gtk_grid_attach (GTK_GRID (show_contacts_grid), AddressBookLabel, 0, 0, 1, 1);
+ gtk_widget_set_halign (AddressBookLabel, GTK_ALIGN_FILL);
gtk_label_set_justify (GTK_LABEL (AddressBookLabel), GTK_JUSTIFY_CENTER);
gtk_misc_set_alignment (GTK_MISC (AddressBookLabel), 0, 0.5);
- label31 = gtk_label_new_with_mnemonic (_("Cat_egory:"));
- gtk_widget_show (label31);
- gtk_table_attach (
- GTK_TABLE (show_contacts_table),
- label31, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_label_set_justify (GTK_LABEL (label31), GTK_JUSTIFY_CENTER);
- gtk_misc_set_alignment (GTK_MISC (label31), 0, 0.5);
-
- hbox1 = gtk_hbox_new (FALSE, 12);
- gtk_widget_show (hbox1);
- gtk_table_attach (
- GTK_TABLE (show_contacts_table),
- hbox1, 1, 2, 2, 3,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
+ label_category = gtk_label_new_with_mnemonic (_("Cat_egory:"));
+ gtk_widget_show (label_category);
+ gtk_grid_attach (GTK_GRID (show_contacts_grid), label_category, 0, 1, 1, 1);
+ gtk_widget_set_halign (label_category, GTK_ALIGN_FILL);
+ gtk_label_set_justify (GTK_LABEL (label_category), GTK_JUSTIFY_CENTER);
+ gtk_misc_set_alignment (GTK_MISC (label_category), 0, 0.5);
+
+ hgrid = g_object_new (GTK_TYPE_GRID,
+ "orientation", GTK_ORIENTATION_HORIZONTAL,
+ "row-homogeneous", FALSE,
+ "column-spacing", 12,
+ "hexpand", TRUE,
+ "halign", GTK_ALIGN_FILL,
+ NULL);
+ gtk_widget_show (hgrid);
+ gtk_grid_attach (GTK_GRID (show_contacts_grid), hgrid, 1, 2, 1, 1);
search = gtk_entry_new ();
gtk_widget_show (search);
- gtk_box_pack_start (GTK_BOX (hbox1), search, TRUE, TRUE, 0);
-
- label39 = gtk_label_new_with_mnemonic (_("_Search:"));
- gtk_widget_show (label39);
- gtk_table_attach (
- GTK_TABLE (show_contacts_table),
- label39, 0, 1, 2, 3,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label39), 0, 0.5);
-
- source_menu_box = gtk_hbox_new (FALSE, 0);
- gtk_widget_show (source_menu_box);
- gtk_table_attach (
- GTK_TABLE (show_contacts_table),
- source_menu_box, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
+ gtk_widget_set_hexpand (search, TRUE);
+ gtk_widget_set_halign (search, GTK_ALIGN_FILL);
+ gtk_container_add (GTK_CONTAINER (hgrid), search);
+
+ label_search = gtk_label_new_with_mnemonic (_("_Search:"));
+ gtk_widget_show (label_search);
+ gtk_grid_attach (GTK_GRID (show_contacts_grid), label_search, 0, 2, 1, 1);
+ gtk_widget_set_halign (label_search, GTK_ALIGN_FILL);
+ gtk_misc_set_alignment (GTK_MISC (label_search), 0, 0.5);
+
+ source_menu_hgrid = g_object_new (GTK_TYPE_GRID,
+ "orientation", GTK_ORIENTATION_HORIZONTAL,
+ "row-homogeneous", FALSE,
+ "column-spacing", 0,
+ "halign", GTK_ALIGN_FILL,
+ "valign", GTK_ALIGN_FILL,
+ NULL);
+ gtk_widget_show (source_menu_hgrid);
+ gtk_grid_attach (GTK_GRID (show_contacts_grid), source_menu_hgrid, 1, 0, 1, 1);
combobox_category = gtk_combo_box_text_new ();
gtk_widget_show (combobox_category);
- gtk_table_attach (
- GTK_TABLE (show_contacts_table),
- combobox_category, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
+ g_object_set (G_OBJECT (combobox_category),
+ "halign", GTK_ALIGN_FILL,
+ "valign", GTK_ALIGN_FILL,
+ NULL);
+ gtk_grid_attach (GTK_GRID (show_contacts_grid), combobox_category, 1, 1, 1, 1);
gtk_combo_box_text_append_text (
GTK_COMBO_BOX_TEXT (combobox_category), _("Any Category"));
tmp_str = g_strconcat ("<b>", _("Co_ntacts"), "</b>", NULL);
- label36 = gtk_label_new_with_mnemonic (tmp_str);
- gtk_widget_show (label36);
- gtk_box_pack_start (
- GTK_BOX (name_selector_box), label36, FALSE, FALSE, 0);
- gtk_label_set_use_markup (GTK_LABEL (label36), TRUE);
- gtk_misc_set_alignment (GTK_MISC (label36), 0, 0.5);
+ label_contacts = gtk_label_new_with_mnemonic (tmp_str);
+ gtk_widget_show (label_contacts);
+ gtk_container_add (GTK_CONTAINER (name_selector_grid), label_contacts);
+ gtk_label_set_use_markup (GTK_LABEL (label_contacts), TRUE);
+ gtk_misc_set_alignment (GTK_MISC (label_contacts), 0, 0.5);
g_free (tmp_str);
scrolledwindow0 = gtk_scrolled_window_new (NULL, NULL);
priv->contact_window = scrolledwindow0;
gtk_widget_show (scrolledwindow0);
- gtk_box_pack_start (
- GTK_BOX (name_selector_box), scrolledwindow0,
- TRUE, TRUE, 0);
+ gtk_widget_set_vexpand (scrolledwindow0, TRUE);
+ gtk_widget_set_valign (scrolledwindow0, GTK_ALIGN_FILL);
+ gtk_container_add (GTK_CONTAINER (name_selector_grid), scrolledwindow0);
gtk_scrolled_window_set_policy (
GTK_SCROLLED_WINDOW (scrolledwindow0),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- hbox3 = gtk_hbox_new (FALSE, 12);
- gtk_widget_show (hbox3);
+ hgrid = g_object_new (GTK_TYPE_GRID,
+ "orientation", GTK_ORIENTATION_HORIZONTAL,
+ "row-homogeneous", FALSE,
+ "column-spacing", 12,
+ NULL);
+ gtk_widget_show (hgrid);
gtk_scrolled_window_add_with_viewport (
- GTK_SCROLLED_WINDOW (scrolledwindow0), hbox3);
+ GTK_SCROLLED_WINDOW (scrolledwindow0), hgrid);
- label38 = gtk_label_new ("");
- gtk_widget_show (label38);
- gtk_box_pack_start (GTK_BOX (hbox3), label38, FALSE, FALSE, 0);
+ label = gtk_label_new ("");
+ gtk_widget_show (label);
+ gtk_container_add (GTK_CONTAINER (hgrid), label);
scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
gtk_widget_show (scrolledwindow1);
- gtk_box_pack_start (GTK_BOX (hbox3), scrolledwindow1, TRUE, TRUE, 0);
+ gtk_container_add (GTK_CONTAINER (hgrid), scrolledwindow1);
+ gtk_widget_set_hexpand (scrolledwindow1, TRUE);
+ gtk_widget_set_halign (scrolledwindow1, GTK_ALIGN_FILL);
gtk_scrolled_window_set_policy (
GTK_SCROLLED_WINDOW (scrolledwindow1),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
gtk_tree_view_set_enable_search (
GTK_TREE_VIEW (source_tree_view), FALSE);
- destination_box = gtk_vbox_new (TRUE, 6);
- gtk_widget_show (destination_box);
- gtk_box_pack_start (GTK_BOX (hbox3), destination_box, TRUE, TRUE, 0);
+ destination_vgrid = g_object_new (GTK_TYPE_GRID,
+ "orientation", GTK_ORIENTATION_VERTICAL,
+ "column-homogeneous", TRUE,
+ "row-spacing", 6,
+ "hexpand", TRUE,
+ "halign", GTK_ALIGN_FILL,
+ "vexpand", TRUE,
+ "valign", GTK_ALIGN_FILL,
+ NULL);
+ gtk_widget_show (destination_vgrid);
+ gtk_container_add (GTK_CONTAINER (hgrid), destination_vgrid);
status_message = gtk_label_new ("");
gtk_widget_show (status_message);
- gtk_box_pack_end (GTK_BOX (name_selector_box), status_message, FALSE, FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (name_selector_grid), status_message);
gtk_label_set_use_markup (GTK_LABEL (status_message), TRUE);
gtk_misc_set_alignment (GTK_MISC (status_message), 0, 0.5);
gtk_misc_set_padding (GTK_MISC (status_message), 0, 3);
- gtk_label_set_mnemonic_widget (GTK_LABEL (AddressBookLabel), source_menu_box);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label31), combobox_category);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label39), search);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label36), source_tree_view);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (AddressBookLabel), source_menu_hgrid);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label_category), combobox_category);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label_search), search);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label_contacts), source_tree_view);
atko = gtk_widget_get_accessible (search);
atk_object_set_name (atko, _("Search"));
- atko = gtk_widget_get_accessible (source_menu_box);
+ atko = gtk_widget_get_accessible (source_menu_hgrid);
atk_object_set_name (atko, _("Address Book"));
atko = gtk_widget_get_accessible (scrolledwindow1);
atk_object_set_name (atko, _("Contacts"));
tmp_relation_set = atk_object_ref_relation_set (atko);
- scrolledwindow1_relation_targets[0] = gtk_widget_get_accessible (label36);
+ scrolledwindow1_relation_targets[0] = gtk_widget_get_accessible (label_contacts);
tmp_relationship = atk_relation_type_for_name ("labelled-by");
tmp_relation = atk_relation_new (scrolledwindow1_relation_targets, 1, tmp_relationship);
atk_relation_set_add (tmp_relation_set, tmp_relation);
gtk_box_pack_start (
GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (object))),
- name_selector_box, TRUE, TRUE, 0);
+ name_selector_grid, TRUE, TRUE, 0);
/* Store pointers to relevant widgets */
priv->contact_view = GTK_TREE_VIEW (source_tree_view);
priv->status_label = GTK_LABEL (status_message);
- priv->destination_box = GTK_BOX (destination_box);
+ priv->destination_vgrid = GTK_GRID (destination_vgrid);
priv->search_entry = GTK_ENTRY (search);
priv->category_combobox = combobox_category;
gtk_label_set_mnemonic_widget (GTK_LABEL (AddressBookLabel), source_combo);
gtk_widget_show (source_combo);
- gtk_box_pack_start (GTK_BOX (source_menu_box), source_combo, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand (source_combo, TRUE);
+ gtk_widget_set_halign (source_combo, GTK_ALIGN_FILL);
+ gtk_container_add (GTK_CONTAINER (source_menu_hgrid), source_combo);
name_selector_dialog_populate_categories (
E_NAME_SELECTOR_DIALOG (object));
gboolean icon_before_label)
{
GtkWidget *alignment;
- GtkWidget *hbox;
+ GtkWidget *hgrid;
GtkWidget *label;
GtkWidget *image;
alignment = gtk_alignment_new (halign, 0.5, 0.0, 0.0);
gtk_container_add (GTK_CONTAINER (button), GTK_WIDGET (alignment));
- hbox = gtk_hbox_new (FALSE, 2);
- gtk_widget_show (GTK_WIDGET (hbox));
- gtk_container_add (GTK_CONTAINER (alignment), hbox);
+ hgrid = g_object_new (GTK_TYPE_GRID,
+ "orientation", GTK_ORIENTATION_HORIZONTAL,
+ "row-homogeneous", FALSE,
+ "column-spacing", 2,
+ NULL);
+ gtk_widget_show (hgrid);
+ gtk_container_add (GTK_CONTAINER (alignment), hgrid);
label = gtk_label_new_with_mnemonic (label_text);
gtk_widget_show (label);
gtk_widget_show (image);
if (icon_before_label) {
- gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (hgrid), image);
+ gtk_container_add (GTK_CONTAINER (hgrid), label);
} else {
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (hgrid), label);
+ gtk_container_add (GTK_CONTAINER (hgrid), image);
}
}
{
ENameSelectorDialogPrivate *priv;
Section section;
- GtkWidget *vbox;
+ GtkWidget *vgrid;
GtkWidget *alignment;
GtkWidget *scrollwin;
SelData *data;
GtkTreeSelection *selection;
gchar *text;
- GtkWidget *hbox;
+ GtkWidget *hgrid;
g_assert (name != NULL);
g_assert (pretty_name != NULL);
memset (§ion, 0, sizeof (Section));
section.name = g_strdup (name);
- section.section_box = GTK_BOX (gtk_hbox_new (FALSE, 12));
+ section.section_grid = g_object_new (GTK_TYPE_GRID,
+ "orientation", GTK_ORIENTATION_HORIZONTAL,
+ "row-homogeneous", FALSE,
+ "column-spacing", 12,
+ "vexpand", TRUE,
+ "valign", GTK_ALIGN_FILL,
+ NULL);
section.label = GTK_LABEL (gtk_label_new_with_mnemonic (pretty_name));
section.transfer_button = GTK_BUTTON (gtk_button_new ());
section.remove_button = GTK_BUTTON (gtk_button_new ());
section.remove_button, "clicked",
G_CALLBACK (remove_button_clicked), data);
- /* Alignment and vbox for the add/remove buttons */
+ /* Alignment and vgrid for the add/remove buttons */
alignment = gtk_alignment_new (0.5, 0.0, 0.0, 0.0);
- gtk_box_pack_start (section.section_box, alignment, FALSE, FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (section.section_grid), alignment);
- vbox = gtk_vbox_new (TRUE, 6);
- gtk_container_add (GTK_CONTAINER (alignment), vbox);
+ vgrid = g_object_new (GTK_TYPE_GRID,
+ "orientation", GTK_ORIENTATION_VERTICAL,
+ "column-homogeneous", TRUE,
+ "row-spacing", 6,
+ NULL);
+
+ gtk_container_add (GTK_CONTAINER (alignment), vgrid);
/* "Add" button */
- gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (section.transfer_button), FALSE, FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (vgrid), GTK_WIDGET (section.transfer_button));
setup_section_button (name_selector_dialog, section.transfer_button, 0.7, _("_Add"), "gtk-go-forward", FALSE);
/* "Remove" button */
- gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (section.remove_button), FALSE, FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (vgrid), GTK_WIDGET (section.remove_button));
setup_section_button (name_selector_dialog, section.remove_button, 0.5, _("_Remove"), "gtk-go-back", TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (section.remove_button), FALSE);
- /* Hbox for label and scrolled window. This is a separate hbox, instead
- * of just using the section.section_box directly, as it has a different
+ /* hgrid for label and scrolled window. This is a separate hgrid, instead
+ * of just using the section.section_grid directly, as it has a different
* spacing.
*/
- hbox = gtk_hbox_new (FALSE, 6);
- gtk_box_pack_start (section.section_box, hbox, TRUE, TRUE, 0);
+ hgrid = g_object_new (GTK_TYPE_GRID,
+ "orientation", GTK_ORIENTATION_HORIZONTAL,
+ "row-homogeneous", FALSE,
+ "column-spacing", 6,
+ "vexpand", TRUE,
+ "valign", GTK_ALIGN_FILL,
+ NULL);
+ gtk_container_add (GTK_CONTAINER (section.section_grid), hgrid);
/* Title label */
gtk_size_group_add_widget (priv->dest_label_size_group, GTK_WIDGET (section.label));
gtk_misc_set_alignment (GTK_MISC (section.label), 0.0, 0.0);
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (section.label), FALSE, FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (hgrid), GTK_WIDGET (section.label));
/* Treeview in a scrolled window */
scrollwin = gtk_scrolled_window_new (NULL, NULL);
- gtk_box_pack_start (GTK_BOX (hbox), scrollwin, TRUE, TRUE, 0);
+ gtk_container_add (GTK_CONTAINER (hgrid), scrollwin);
+ gtk_widget_set_hexpand (scrollwin, TRUE);
+ gtk_widget_set_halign (scrollwin, GTK_ALIGN_FILL);
+ gtk_widget_set_vexpand (scrollwin, TRUE);
+ gtk_widget_set_valign (scrollwin, GTK_ALIGN_FILL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_IN);
gtk_container_add (GTK_CONTAINER (scrollwin), GTK_WIDGET (section.destination_view));
/* Done! */
- gtk_widget_show_all (GTK_WIDGET (section.section_box));
+ gtk_widget_show_all (GTK_WIDGET (section.section_grid));
/* Pack this section's box into the dialog */
- gtk_box_pack_start (
- name_selector_dialog->priv->destination_box,
- GTK_WIDGET (section.section_box), TRUE, TRUE, 0);
+ gtk_container_add (GTK_CONTAINER (name_selector_dialog->priv->destination_vgrid), GTK_WIDGET (section.section_grid));
+ g_object_set (G_OBJECT (section.section_grid),
+ "vexpand", TRUE,
+ "valign", GTK_ALIGN_FILL,
+ NULL);
g_array_append_val (name_selector_dialog->priv->sections, section);
name_selector_dialog->priv->sections, Section, n);
g_free (section->name);
- gtk_widget_destroy (GTK_WIDGET (section->section_box));
+ gtk_widget_destroy (GTK_WIDGET (section->section_grid));
}
static void
g_return_val_if_fail (index != -1, FALSE);
section = &g_array_index (name_selector_dialog->priv->sections, Section, index);
- return gtk_widget_get_visible (GTK_WIDGET (section->section_box));
+ return gtk_widget_get_visible (GTK_WIDGET (section->section_grid));
}
/**
section = &g_array_index (name_selector_dialog->priv->sections, Section, index);
if (visible)
- gtk_widget_show (GTK_WIDGET (section->section_box));
+ gtk_widget_show (GTK_WIDGET (section->section_grid));
else
- gtk_widget_hide (GTK_WIDGET (section->section_box));
+ gtk_widget_hide (GTK_WIDGET (section->section_grid));
}
GtkWidget *tree_view;
GtkWidget *menu;
gint rows;
+ GdkDevice *grab_keyboard;
+ GdkDevice *grab_pointer;
};
G_DEFINE_TYPE (ENameSelectorList, e_name_selector_list, E_TYPE_NAME_SELECTOR_ENTRY)
gtk_window_move (list->priv->popup, x, y);
}
+static gboolean
+popup_grab_on_window (GdkWindow *window,
+ GdkDevice *keyboard,
+ GdkDevice *pointer,
+ guint32 activate_time)
+{
+ if (keyboard && gdk_device_grab (keyboard, window,
+ GDK_OWNERSHIP_WINDOW, TRUE,
+ GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK,
+ NULL, activate_time) != GDK_GRAB_SUCCESS)
+ return FALSE;
+
+ if (pointer && gdk_device_grab (pointer, window,
+ GDK_OWNERSHIP_WINDOW, TRUE,
+ GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
+ GDK_POINTER_MOTION_MASK,
+ NULL, activate_time) != GDK_GRAB_SUCCESS) {
+ if (keyboard)
+ gdk_device_ungrab (keyboard, activate_time);
+
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
static void
-enl_popup_grab (ENameSelectorList *list)
+enl_popup_grab (ENameSelectorList *list,
+ const GdkEvent *event)
{
EDestinationStore *store;
ENameSelectorEntry *entry;
GdkWindow *window;
+ GdkDevice *device = NULL;
+ GdkDevice *keyboard, *pointer;
gint len;
+ if (list->priv->grab_pointer && list->priv->grab_keyboard)
+ return;
+
window = gtk_widget_get_window (GTK_WIDGET (list->priv->popup));
- gtk_grab_add (GTK_WIDGET (list->priv->popup));
+ if (event)
+ device = gdk_event_get_device (event);
+ if (!device)
+ device = gtk_get_current_event_device ();
+ if (!device) {
+ GdkDeviceManager *device_manager;
+
+ device_manager = gdk_display_get_device_manager (gtk_widget_get_display (GTK_WIDGET (list)));
+ device = gdk_device_manager_get_client_pointer (device_manager);
+ }
- gdk_pointer_grab (
- window, TRUE,
- GDK_BUTTON_PRESS_MASK |
- GDK_BUTTON_RELEASE_MASK |
- GDK_POINTER_MOTION_MASK,
- NULL, NULL, GDK_CURRENT_TIME);
+ if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD) {
+ keyboard = device;
+ pointer = gdk_device_get_associated_device (device);
+ } else {
+ pointer = device;
+ keyboard = gdk_device_get_associated_device (device);
+ }
+
+ if (!popup_grab_on_window (window, keyboard, pointer, gtk_get_current_event_time ()))
+ return;
- gdk_keyboard_grab (window, TRUE, GDK_CURRENT_TIME);
gtk_widget_grab_focus ((GtkWidget *) list);
/* Build the listview from the model */
/* If any selection of text is present, unselect it */
len = strlen (gtk_entry_get_text (GTK_ENTRY (list)));
gtk_editable_select_region (GTK_EDITABLE (list), len, -1);
+
+ gtk_device_grab_add (GTK_WIDGET (list->priv->popup), pointer, TRUE);
+ list->priv->grab_keyboard = keyboard;
+ list->priv->grab_pointer = pointer;
}
static void
enl_popup_ungrab (ENameSelectorList *list)
{
- if (!gtk_widget_has_grab (GTK_WIDGET (list->priv->popup)))
+ if (!list->priv->grab_pointer ||
+ !list->priv->grab_keyboard ||
+ !gtk_widget_has_grab (GTK_WIDGET (list->priv->popup)))
return;
- gdk_pointer_ungrab (GDK_CURRENT_TIME);
- gtk_grab_remove (GTK_WIDGET (list->priv->popup));
- gdk_keyboard_ungrab (GDK_CURRENT_TIME);
+ gtk_device_grab_remove (GTK_WIDGET (list->priv->popup), list->priv->grab_pointer);
+ gtk_device_grab_remove (GTK_WIDGET (list->priv->popup), list->priv->grab_keyboard);
+
+ list->priv->grab_pointer = NULL;
+ list->priv->grab_keyboard = NULL;
}
static gboolean
GdkEventCrossing *event,
ENameSelectorList *list)
{
- if (event->type == GDK_ENTER_NOTIFY && !gtk_widget_has_grab (GTK_WIDGET (list->priv->popup)))
- enl_popup_grab (list);
+ if (event->type == GDK_ENTER_NOTIFY && !gtk_widget_has_grab (GTK_WIDGET (list->priv->popup)))
+ enl_popup_grab (list, (GdkEvent *) event);
- return TRUE;
+ return TRUE;
}
static void
if ( (event->state & GDK_CONTROL_MASK) && (event->keyval == GDK_KEY_Down)) {
enl_popup_position (list);
gtk_widget_show_all (GTK_WIDGET (list->priv->popup));
- enl_popup_grab (list);
+ enl_popup_grab (list, (GdkEvent *) event);
list->priv->rows = e_destination_store_get_destination_count (store);
enl_popup_size (list);
enl_tree_select_node (list, 1);
menu_deactivate (GtkMenuShell *junk,
ENameSelectorList *list)
{
- enl_popup_grab (list);
+ enl_popup_grab (list, NULL);
}
static gboolean
store = e_name_selector_entry_peek_destination_store (entry);
if (!gtk_widget_has_grab (GTK_WIDGET (list->priv->popup)))
- enl_popup_grab (list);
+ enl_popup_grab (list, (GdkEvent *) event);
gtk_tree_view_get_dest_row_at_pos (
tree_view, event->x, event->y, &path, NULL);
if (!gtk_widget_get_visible (GTK_WIDGET (list->priv->popup))) {
enl_popup_position (list);
gtk_widget_show_all (GTK_WIDGET (list->priv->popup));
- enl_popup_grab (list);
+ enl_popup_grab (list, NULL);
list->priv->rows = e_destination_store_get_destination_count (store);
enl_popup_size (list);
enl_tree_select_node (list, 1);
e_name_selector_list_init (ENameSelectorList *list)
{
GtkCellRenderer *renderer;
- GtkWidget *scroll, *popup_frame, *vbox;
+ GtkWidget *scroll, *popup_frame, *vgrid;
GtkTreeSelection *selection;
GtkTreeViewColumn *column;
ENameSelectorEntry *entry;
gtk_widget_set_size_request (
gtk_scrolled_window_get_vscrollbar (
GTK_SCROLLED_WINDOW (scroll)), -1, 0);
+ gtk_widget_set_vexpand (scroll, TRUE);
+ gtk_widget_set_valign (scroll, GTK_ALIGN_FILL);
list->priv->popup = GTK_WINDOW (gtk_window_new (GTK_WINDOW_POPUP));
gtk_window_set_resizable (GTK_WINDOW (list->priv->popup), FALSE);
gtk_container_add (GTK_CONTAINER (list->priv->popup), popup_frame);
- vbox = gtk_vbox_new (FALSE, 0);
- gtk_container_add (GTK_CONTAINER (popup_frame), vbox);
+ vgrid = g_object_new (GTK_TYPE_GRID,
+ "orientation", GTK_ORIENTATION_VERTICAL,
+ "column-homogeneous", FALSE,
+ "row-spacing", 0,
+ NULL);
+ gtk_container_add (GTK_CONTAINER (popup_frame), vgrid);
gtk_container_add (GTK_CONTAINER (scroll), list->priv->tree_view);
- gtk_box_pack_start (GTK_BOX (vbox), scroll, TRUE, TRUE, 0);
+ gtk_container_add (GTK_CONTAINER (vgrid), scroll);
g_signal_connect_after (
GTK_WIDGET (list), "focus-in-event",
GdkModifierType mask = 0;
GdkWindow *window;
gchar *markup = NULL;
+ GdkDeviceManager *device_manager;
+ GdkDevice *device;
+ device_manager = gdk_display_get_device_manager (gtk_widget_get_display (label));
+ device = gdk_device_manager_get_client_pointer (device_manager);
window = gtk_widget_get_window (GTK_WIDGET (dialog));
- gdk_window_get_pointer (window, NULL, NULL, &mask);
+ gdk_window_get_device_position (window, device, NULL, NULL, &mask);
/* The space acts as a vertical placeholder. */
markup = g_markup_printf_escaped (
"<small>%s</small>", (mask & GDK_LOCK_MASK) ?
- _("You have the Caps Lock key on.") : " ");
+ _("You have the Caps Lock key on.") : " ");
gtk_label_set_markup (GTK_LABEL (label), markup);
g_free (markup);
gtk_box_set_spacing (GTK_BOX (content_area), 12);
gtk_container_set_border_width (GTK_CONTAINER (content_area), 0);
- /* Table */
- container = gtk_table_new (2, 3, FALSE);
- gtk_table_set_col_spacings (GTK_TABLE (container), 12);
- gtk_table_set_row_spacings (GTK_TABLE (container), 6);
- gtk_table_set_row_spacing (GTK_TABLE (container), 0, 12);
- gtk_table_set_row_spacing (GTK_TABLE (container), 1, 0);
+ /* Grid */
+ container = gtk_grid_new ();
+ gtk_grid_set_column_spacing (GTK_GRID (container), 12);
+ gtk_grid_set_row_spacing (GTK_GRID (container), 6);
gtk_widget_show (container);
gtk_box_pack_start (
widget = gtk_image_new_from_icon_name (
"dialog-password", GTK_ICON_SIZE_DIALOG);
gtk_misc_set_alignment (GTK_MISC (widget), 0.0, 0.0);
+ g_object_set (G_OBJECT (widget),
+ "halign", GTK_ALIGN_FILL,
+ "vexpand", TRUE,
+ "valign", GTK_ALIGN_FILL,
+ NULL);
gtk_widget_show (widget);
- gtk_table_attach (
- GTK_TABLE (container), widget,
- 0, 1, 0, 3, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
+ gtk_grid_attach (GTK_GRID (container), widget, 0, 0, 1, 3);
/* Password Label */
widget = gtk_label_new (NULL);
gtk_label_set_line_wrap (GTK_LABEL (widget), TRUE);
gtk_label_set_markup (GTK_LABEL (widget), msg->prompt);
gtk_misc_set_alignment (GTK_MISC (widget), 0.0, 0.5);
+ g_object_set (G_OBJECT (widget),
+ "hexpand", TRUE,
+ "halign", GTK_ALIGN_FILL,
+ NULL);
gtk_widget_show (widget);
- gtk_table_attach (
- GTK_TABLE (container), widget,
- 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, 0, 0, 0);
+ gtk_grid_attach (GTK_GRID (container), widget, 1, 0, 1, 1);
/* Password Entry */
widget = gtk_entry_new ();
gtk_entry_set_visibility (GTK_ENTRY (widget), visible);
gtk_entry_set_activates_default (GTK_ENTRY (widget), TRUE);
gtk_widget_grab_focus (widget);
+ g_object_set (G_OBJECT (widget),
+ "hexpand", TRUE,
+ "halign", GTK_ALIGN_FILL,
+ NULL);
gtk_widget_show (widget);
msg->entry = widget;
}
}
- gtk_table_attach (
- GTK_TABLE (container), widget,
- 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, 0, 0, 0);
+ gtk_grid_attach (GTK_GRID (container), widget, 1, 1, 1, 1);
/* Caps Lock Label */
widget = gtk_label_new (NULL);
+ g_object_set (G_OBJECT (widget),
+ "hexpand", TRUE,
+ "halign", GTK_ALIGN_FILL,
+ NULL);
gtk_widget_show (widget);
- gtk_table_attach (
- GTK_TABLE (container), widget,
- 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, 0, 0, 0);
+ gtk_grid_attach (GTK_GRID (container), widget, 1, 2, 1, 1);
g_signal_connect (
password_dialog, "key-release-event",
GTK_TOGGLE_BUTTON (widget), *msg->remember);
if (msg->flags & E_PASSWORDS_DISABLE_REMEMBER)
gtk_widget_set_sensitive (widget, FALSE);
+ g_object_set (G_OBJECT (widget),
+ "hexpand", TRUE,
+ "halign", GTK_ALIGN_FILL,
+ "valign", GTK_ALIGN_FILL,
+ NULL);
gtk_widget_show (widget);
msg->check = widget;
- gtk_table_attach (
- GTK_TABLE (container), widget,
- 1, 2, 3, 4, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
+ gtk_grid_attach (GTK_GRID (container), widget, 1, 3, 1, 1);
}
msg->noreply = noreply;
GdkModifierType mask = 0;
GdkWindow *window;
gchar *markup = NULL;
+ GdkDeviceManager *device_manager;
+ GdkDevice *device;
+ device_manager = gdk_display_get_device_manager (gtk_widget_get_display (label));
+ device = gdk_device_manager_get_client_pointer (device_manager);
window = gtk_widget_get_window (GTK_WIDGET (dialog));
- gdk_window_get_pointer (window, NULL, NULL, &mask);
+ gdk_window_get_device_position (window, device, NULL, NULL, &mask);
/* The space acts as a vertical placeholder. */
markup = g_markup_printf_escaped (
gtk_box_set_spacing (GTK_BOX (content_area), 12);
gtk_container_set_border_width (GTK_CONTAINER (content_area), 0);
- /* Table */
- container = gtk_table_new (2, 3, FALSE);
- gtk_table_set_col_spacings (GTK_TABLE (container), 12);
- gtk_table_set_row_spacings (GTK_TABLE (container), 6);
- gtk_table_set_row_spacing (GTK_TABLE (container), 0, 12);
- gtk_table_set_row_spacing (GTK_TABLE (container), 1, 0);
+ /* Grid */
+ container = gtk_grid_new ();
+ gtk_grid_set_column_spacing (GTK_GRID (container), 12);
+ gtk_grid_set_row_spacing (GTK_GRID (container), 6);
gtk_widget_show (container);
gtk_box_pack_start (
widget = gtk_image_new_from_icon_name (
"dialog-password", GTK_ICON_SIZE_DIALOG);
gtk_misc_set_alignment (GTK_MISC (widget), 0.0, 0.0);
+ g_object_set (G_OBJECT (widget),
+ "halign", GTK_ALIGN_FILL,
+ "vexpand", TRUE,
+ "valign", GTK_ALIGN_FILL,
+ NULL);
gtk_widget_show (widget);
- gtk_table_attach (
- GTK_TABLE (container), widget,
- 0, 1, 0, 3, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
+ gtk_grid_attach (GTK_GRID (container), widget, 0, 0, 1, 3);
/* Password Label */
widget = gtk_label_new (NULL);
gtk_label_set_line_wrap (GTK_LABEL (widget), TRUE);
gtk_label_set_markup (GTK_LABEL (widget), msg->prompt);
gtk_misc_set_alignment (GTK_MISC (widget), 0.0, 0.5);
+ g_object_set (G_OBJECT (widget),
+ "hexpand", TRUE,
+ "halign", GTK_ALIGN_FILL,
+ NULL);
gtk_widget_show (widget);
- gtk_table_attach (
- GTK_TABLE (container), widget,
- 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, 0, 0, 0);
+ gtk_grid_attach (GTK_GRID (container), widget, 1, 0, 1, 1);
/* Password Entry */
widget = gtk_entry_new ();
gtk_entry_set_visibility (GTK_ENTRY (widget), visible);
gtk_entry_set_activates_default (GTK_ENTRY (widget), TRUE);
gtk_widget_grab_focus (widget);
+ g_object_set (G_OBJECT (widget),
+ "hexpand", TRUE,
+ "halign", GTK_ALIGN_FILL,
+ NULL);
gtk_widget_show (widget);
msg->entry = widget;
}
}
- gtk_table_attach (
- GTK_TABLE (container), widget,
- 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, 0, 0, 0);
+ gtk_grid_attach (GTK_GRID (container), widget, 1, 1, 1, 1);
/* Caps Lock Label */
widget = gtk_label_new (NULL);
+ g_object_set (G_OBJECT (widget),
+ "hexpand", TRUE,
+ "halign", GTK_ALIGN_FILL,
+ NULL);
gtk_widget_show (widget);
- gtk_table_attach (
- GTK_TABLE (container), widget,
- 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, 0, 0, 0);
+ gtk_grid_attach (GTK_GRID (container), widget, 1, 2, 1, 1);
g_signal_connect (
password_dialog, "key-release-event",
GTK_TOGGLE_BUTTON (widget), *msg->remember);
if (msg->flags & E_PASSWORDS_DISABLE_REMEMBER)
gtk_widget_set_sensitive (widget, FALSE);
+ g_object_set (G_OBJECT (widget),
+ "hexpand", TRUE,
+ "halign", GTK_ALIGN_FILL,
+ "valign", GTK_ALIGN_FILL,
+ NULL);
gtk_widget_show (widget);
msg->check = widget;
- gtk_table_attach (
- GTK_TABLE (container), widget,
- 1, 2, 3, 4, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
+ gtk_grid_attach (GTK_GRID (container), widget, 1, 3, 1, 1);
}
msg->noreply = noreply;
source_selector_dialog_constructed (GObject *object)
{
ESourceSelectorDialog *dialog;
- GtkWidget *label, *hbox;
+ GtkWidget *label, *hgrid;
GtkWidget *container;
GtkWidget *widget;
gchar *label_text;
container = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
- widget = gtk_vbox_new (FALSE, 12);
+ widget = g_object_new (GTK_TYPE_GRID,
+ "orientation", GTK_ORIENTATION_VERTICAL,
+ "column-homogeneous", FALSE,
+ "row-spacing", 12,
+ NULL);
gtk_container_set_border_width (GTK_CONTAINER (widget), 12);
gtk_box_pack_start (GTK_BOX (container), widget, TRUE, TRUE, 0);
gtk_widget_show (widget);
label = gtk_label_new_with_mnemonic (label_text);
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
- gtk_box_pack_start (GTK_BOX (container), label, FALSE, FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (container), label);
gtk_widget_show (label);
g_free (label_text);
- hbox = gtk_hbox_new (FALSE, 12);
- gtk_box_pack_start (GTK_BOX (container), hbox, TRUE, TRUE, 0);
- gtk_widget_show (hbox);
+ hgrid = g_object_new (GTK_TYPE_GRID,
+ "orientation", GTK_ORIENTATION_HORIZONTAL,
+ "row-homogeneous", FALSE,
+ "column-spacing", 12,
+ "vexpand", TRUE,
+ "valign", GTK_ALIGN_FILL,
+ NULL);
+ gtk_container_add (GTK_CONTAINER (container), hgrid);
+ gtk_widget_show (hgrid);
widget = gtk_label_new ("");
- gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (hgrid), widget);
gtk_widget_show (widget);
widget = gtk_scrolled_window_new (NULL, NULL);
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type (
GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_IN);
- gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand (widget, TRUE);
+ gtk_widget_set_halign (widget, GTK_ALIGN_FILL);
+ gtk_widget_set_vexpand (widget, TRUE);
+ gtk_widget_set_valign (widget, GTK_ALIGN_FILL);
+ gtk_container_add (GTK_CONTAINER (hgrid), widget);
gtk_widget_show (widget);
container = widget;
on_idle_create_widget (void)
{
GtkWidget *window;
- GtkWidget *vbox;
+ GtkWidget *vgrid;
GtkWidget *entry;
GtkEntryCompletion *completion;
window, "delete-event",
G_CALLBACK (gtk_main_quit), NULL);
- vbox = gtk_vbox_new (FALSE, 3);
- gtk_container_add (GTK_CONTAINER (window), vbox);
+ vgrid = g_object_new (GTK_TYPE_GRID,
+ "orientation", GTK_ORIENTATION_VERTICAL,
+ "column-homogeneous", FALSE,
+ "row-spacing", 3,
+ NULL);
+ gtk_container_add (GTK_CONTAINER (window), vgrid);
entry = gtk_entry_new ();
completion = e_category_completion_new ();
gtk_entry_set_completion (GTK_ENTRY (entry), completion);
- gtk_box_pack_start (GTK_BOX (vbox), entry, TRUE, TRUE, 0);
+ gtk_widget_set_vexpand (entry, TRUE);
+ gtk_widget_set_hexpand (entry, TRUE);
+ gtk_widget_set_halign (entry, GTK_ALIGN_FILL);
+ gtk_container_add (GTK_CONTAINER (vgrid), entry);
gtk_widget_show_all (window);
GtkWidget *scrolled_window;
GtkWidget *window;
GtkWidget *tree_view;
- GtkWidget *box;
+ GtkWidget *vgrid;
GtkWidget *entry;
GtkTreeViewColumn *column;
EBookClient *book_client;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- box = gtk_vbox_new (FALSE, 2);
- gtk_container_add (GTK_CONTAINER (window), box);
+ vgrid = g_object_new (GTK_TYPE_GRID,
+ "orientation", GTK_ORIENTATION_VERTICAL,
+ "column-homogeneous", FALSE,
+ "row-spacing", 2,
+ NULL);
+ gtk_container_add (GTK_CONTAINER (window), vgrid);
entry = gtk_entry_new ();
- gtk_box_pack_start (GTK_BOX (box), entry, FALSE, TRUE, 0);
+ gtk_widget_set_halign (entry, GTK_ALIGN_FILL);
+ gtk_container_add (GTK_CONTAINER (vgrid), entry);
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
- gtk_box_pack_start (GTK_BOX (box), scrolled_window, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand (scrolled_window, TRUE);
+ gtk_widget_set_halign (scrolled_window, GTK_ALIGN_FILL);
+ gtk_widget_set_vexpand (scrolled_window, TRUE);
+ gtk_widget_set_valign (scrolled_window, GTK_ALIGN_FILL);
+ gtk_container_add (GTK_CONTAINER (vgrid), scrolled_window);
contact_store = e_contact_store_new ();
model_sort = gtk_tree_model_sort_new_with_model (GTK_TREE_MODEL (contact_store));
on_idle_create_widget (ESourceRegistry *registry)
{
GtkWidget *window;
- GtkWidget *vbox;
+ GtkWidget *vgrid;
GtkWidget *selector;
GtkWidget *scrolled_window;
GtkWidget *check;
window, "delete-event",
G_CALLBACK (gtk_main_quit), NULL);
- vbox = gtk_vbox_new (FALSE, 6);
- gtk_container_add (GTK_CONTAINER (window), vbox);
+ vgrid = g_object_new (GTK_TYPE_GRID,
+ "orientation", GTK_ORIENTATION_VERTICAL,
+ "column-homogeneous", FALSE,
+ "row-spacing", 6,
+ NULL);
+ gtk_container_add (GTK_CONTAINER (window), vgrid);
selector = e_source_selector_new (registry, extension_name);
g_signal_connect (
gtk_scrolled_window_set_shadow_type (
GTK_SCROLLED_WINDOW (scrolled_window), GTK_SHADOW_IN);
gtk_container_add (GTK_CONTAINER (scrolled_window), selector);
- gtk_box_pack_start (GTK_BOX (vbox), scrolled_window, TRUE, TRUE, 0);
+ gtk_widget_set_hexpand (scrolled_window, TRUE);
+ gtk_widget_set_halign (scrolled_window, GTK_ALIGN_FILL);
+ gtk_widget_set_vexpand (scrolled_window, TRUE);
+ gtk_widget_set_valign (scrolled_window, GTK_ALIGN_FILL);
+ gtk_container_add (GTK_CONTAINER (vgrid), scrolled_window);
check = gtk_check_button_new_with_label ("Show colors");
- gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, TRUE, 0);
+ gtk_widget_set_halign (check, GTK_ALIGN_FILL);
+ gtk_container_add (GTK_CONTAINER (vgrid), check);
g_object_bind_property (
selector, "show-colors",
G_BINDING_SYNC_CREATE);
check = gtk_check_button_new_with_label ("Show toggles");
- gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, TRUE, 0);
+ gtk_widget_set_halign (check, GTK_ALIGN_FILL);
+ gtk_container_add (GTK_CONTAINER (vgrid), check);
g_object_bind_property (
selector, "show-toggles",