build: require Gtk+ 3.4 and GLib 2.32 (pptp port)

parent a601db9b
......@@ -4,7 +4,7 @@ libexec_PROGRAMS = nm-l2tp-auth-dialog
nm_l2tp_auth_dialog_CPPFLAGS = \
$(NM_CFLAGS) \
$(GTHREAD_CFLAGS) \
$(GLIB_CFLAGS) \
$(GTK_CFLAGS) \
$(GNOMEKEYRING_CFLAGS) \
-DICONDIR=\""$(datadir)/pixmaps"\" \
......
......@@ -101,10 +101,6 @@ keyfile_print_stdout (GKeyFile *keyfile)
g_free (data);
}
#if !GLIB_CHECK_VERSION(2,32,0)
#define g_key_file_unref g_key_file_free
#endif
static gboolean
get_secrets (const char *vpn_uuid,
const char *vpn_name,
......
......@@ -45,8 +45,8 @@ typedef struct {
GtkWidget *password_entry_secondary;
GtkWidget *show_passwords_checkbox;
GtkWidget *table_alignment;
GtkWidget *table;
GtkWidget *grid_alignment;
GtkWidget *grid;
GtkSizeGroup *group;
char *primary_password_label;
......@@ -117,46 +117,46 @@ dialog_close_callback (GtkWidget *widget, gpointer callback_data)
}
static void
add_row (GtkWidget *table, int row, const char *label_text, GtkWidget *entry)
add_row (GtkWidget *grid, int row, const char *label_text, GtkWidget *entry)
{
GtkWidget *label;
label = gtk_label_new_with_mnemonic (label_text);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1);
gtk_grid_attach (GTK_GRID (table), entry, 1, row, 1, 1);
gtk_grid_attach (GTK_GRID (grid), label, 0, row, 1, 1);
gtk_grid_attach (GTK_GRID (grid), entry, 1, row, 1, 1);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry);
}
static void
remove_child (GtkWidget *child, GtkWidget *table)
remove_child (GtkWidget *child, GtkWidget *grid)
{
gtk_container_remove (GTK_CONTAINER (table), child);
gtk_container_remove (GTK_CONTAINER (grid), child);
}
static void
add_table_rows (VpnPasswordDialog *dialog)
add_grid_rows (VpnPasswordDialog *dialog)
{
VpnPasswordDialogPrivate *priv = VPN_PASSWORD_DIALOG_GET_PRIVATE (dialog);
int row;
int offset = 0;
gtk_alignment_set_padding (GTK_ALIGNMENT (priv->table_alignment), 0, 0, offset, 0);
gtk_alignment_set_padding (GTK_ALIGNMENT (priv->grid_alignment), 0, 0, offset, 0);
/* This will not kill the entries, since they are ref:ed */
gtk_container_foreach (GTK_CONTAINER (priv->table), (GtkCallback) remove_child, priv->table);
gtk_container_foreach (GTK_CONTAINER (priv->grid), (GtkCallback) remove_child, priv->grid);
row = 0;
if (priv->show_password)
add_row (priv->table, row++, priv->primary_password_label, priv->password_entry);
add_row (priv->grid, row++, priv->primary_password_label, priv->password_entry);
if (priv->show_password_secondary)
add_row (priv->table, row++, priv->secondary_password_label, priv->password_entry_secondary);
add_row (priv->grid, row++, priv->secondary_password_label, priv->password_entry_secondary);
gtk_grid_attach (GTK_GRID (priv->table), priv->show_passwords_checkbox, 1, row, 1, 1);
gtk_grid_attach (GTK_GRID (priv->grid), priv->show_passwords_checkbox, 1, row, 1, 1);
gtk_widget_show_all (priv->table);
gtk_widget_show_all (priv->grid);
}
static void
......@@ -204,10 +204,7 @@ vpn_password_dialog_new (const char *title,
content = GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog)));
action_area = GTK_BOX (gtk_dialog_get_action_area (GTK_DIALOG (dialog)));
/* Setup the dialog */
#if !GTK_CHECK_VERSION (2,22,0)
gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
#endif
/* Set up the dialog */
gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
gtk_box_set_spacing (content, 2); /* 2 * 5 + 2 = 12 */
gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
......@@ -223,22 +220,22 @@ vpn_password_dialog_new (const char *title,
G_CALLBACK (dialog_close_callback),
dialog);
/* The table that holds the captions */
priv->table_alignment = gtk_alignment_new (0.0, 0.0, 0.0, 0.0);
/* The grid that holds the captions */
priv->grid_alignment = gtk_alignment_new (0.0, 0.0, 0.0, 0.0);
priv->group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
priv->table = gtk_grid_new ();
gtk_grid_set_column_spacing (GTK_GRID (priv->table), 12);
gtk_grid_set_row_spacing (GTK_GRID (priv->table), 6);
gtk_container_add (GTK_CONTAINER (priv->table_alignment), priv->table);
priv->grid = gtk_grid_new ();
gtk_grid_set_column_spacing (GTK_GRID (priv->grid), 12);
gtk_grid_set_row_spacing (GTK_GRID (priv->grid), 6);
gtk_container_add (GTK_CONTAINER (priv->grid_alignment), priv->grid);
priv->password_entry = gtk_entry_new ();
priv->password_entry_secondary = gtk_entry_new ();
priv->show_passwords_checkbox = gtk_check_button_new_with_mnemonic (_("Sh_ow passwords"));
/* We want to hold on to these during the table rearrangement */
/* We want to hold on to these during the grid rearrangement */
g_object_ref_sink (priv->password_entry);
g_object_ref_sink (priv->password_entry_secondary);
g_object_ref_sink (priv->show_passwords_checkbox);
......@@ -257,25 +254,17 @@ vpn_password_dialog_new (const char *title,
G_CALLBACK (show_passwords_toggled_cb),
dialog);
add_table_rows (VPN_PASSWORD_DIALOG (dialog));
add_grid_rows (VPN_PASSWORD_DIALOG (dialog));
/* Adds some eye-candy to the dialog */
#if GTK_CHECK_VERSION (3,1,6)
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
#else
hbox = gtk_hbox_new (FALSE, 12);
#endif
gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
dialog_icon = gtk_image_new_from_stock (GTK_STOCK_DIALOG_AUTHENTICATION, GTK_ICON_SIZE_DIALOG);
gtk_misc_set_alignment (GTK_MISC (dialog_icon), 0.5, 0.0);
gtk_box_pack_start (GTK_BOX (hbox), dialog_icon, FALSE, FALSE, 0);
/* Fills the vbox */
#if GTK_CHECK_VERSION (3,1,6)
main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 18);
#else
main_vbox = gtk_vbox_new (FALSE, 18);
#endif
if (message) {
message_label = GTK_LABEL (gtk_label_new (message));
......@@ -284,16 +273,12 @@ vpn_password_dialog_new (const char *title,
gtk_label_set_max_width_chars (message_label, 35);
gtk_size_group_add_widget (priv->group, GTK_WIDGET (message_label));
gtk_box_pack_start (GTK_BOX (main_vbox), GTK_WIDGET (message_label), FALSE, FALSE, 0);
gtk_size_group_add_widget (priv->group, priv->table_alignment);
gtk_size_group_add_widget (priv->group, priv->grid_alignment);
}
#if GTK_CHECK_VERSION (3,1,6)
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
#else
vbox = gtk_vbox_new (FALSE, 6);
#endif
gtk_box_pack_start (GTK_BOX (main_vbox), vbox, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), priv->table_alignment, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), priv->grid_alignment, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (hbox), main_vbox, FALSE, FALSE, 0);
gtk_box_pack_start (content, hbox, FALSE, FALSE, 0);
gtk_widget_show_all (GTK_WIDGET (content));
......@@ -355,7 +340,7 @@ vpn_password_dialog_set_show_password (VpnPasswordDialog *dialog, gboolean show)
show = !!show;
if (priv->show_password != show) {
priv->show_password = show;
add_table_rows (dialog);
add_grid_rows (dialog);
}
}
......@@ -373,7 +358,7 @@ vpn_password_dialog_set_show_password_secondary (VpnPasswordDialog *dialog,
show = !!show;
if (priv->show_password_secondary != show) {
priv->show_password_secondary = show;
add_table_rows (dialog);
add_grid_rows (dialog);
}
}
......@@ -439,7 +424,7 @@ void vpn_password_dialog_set_password_label (VpnPasswordDialog *dialog,
priv->primary_password_label = g_strdup (label);
if (priv->show_password)
add_table_rows (dialog);
add_grid_rows (dialog);
}
void vpn_password_dialog_set_password_secondary_label (VpnPasswordDialog *dialog,
......@@ -456,5 +441,5 @@ void vpn_password_dialog_set_password_secondary_label (VpnPasswordDialog *dialog
priv->secondary_password_label = g_strdup (label);
if (priv->show_password_secondary)
add_table_rows (dialog);
add_grid_rows (dialog);
}
......@@ -61,9 +61,10 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package])
IT_PROG_INTLTOOL([0.35])
AM_GLIB_GNU_GETTEXT
PKG_CHECK_MODULES(GTHREAD, gthread-2.0)
AC_SUBST(GTHREAD_CFLAGS)
AC_SUBST(GTHREAD_LIBS)
PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.32)
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
GLIB_CFLAGS="$GLIB_CFLAGS -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32"
PKG_CHECK_MODULES(DBUS, dbus-glib-1 >= 0.74)
AC_SUBST(DBUS_GLIB_CFLAGS)
......@@ -78,25 +79,10 @@ AC_SUBST(NM_CFLAGS)
AC_SUBST(NM_LIBS)
if test x"$with_gnome" != xno; then
AC_ARG_WITH([gtkver], AS_HELP_STRING([--with-gtkver], [The major version of GTK+ to build with]),
with_gtkver="$withval",with_gtkver=0)
gtk2_req=2.20
gtk3_req=2.91.4
case "${with_gtkver}" in
0) PKG_CHECK_MODULES(GTK, gtk+-3.0 > $gtk3_req, ,
[PKG_CHECK_MODULES(GTK, gtk+-2.0 > $gtk2_req)])
;;
2) PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $gtk2_req)
;;
3) PKG_CHECK_MODULES(GTK, gtk+-3.0 >= $gtk3_req)
;;
*) AC_MSG_ERROR(unknown GTK+ version $with_gtkver!)
;;
esac
GTK_CFLAGS="$GTK_CFLAGS -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_0"
PKG_CHECK_MODULES(GTK, gtk+-3.0 >= 3.4)
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
GTK_CFLAGS="$GTK_CFLAGS -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_4"
PKG_CHECK_MODULES(GNOMEKEYRING, gnome-keyring-1)
AC_SUBST(GNOMEKEYRING_CFLAGS)
......
......@@ -15,6 +15,7 @@ uidir = $(datadir)/gnome-vpn-properties/l2tp
ui_DATA = nm-l2tp-dialog.ui
libnm_l2tp_properties_la_CFLAGS = \
$(GLIB_CFLAGS) \
$(GTK_CFLAGS) \
$(NM_CFLAGS) \
-DICONDIR=\""$(datadir)/pixmaps"\" \
......
......@@ -2,7 +2,7 @@ INCLUDES = -I${top_srcdir}
AM_CPPFLAGS = \
$(DBUS_GLIB_CFLAGS) \
$(GTHREAD_CFLAGS) \
$(GLIB_CFLAGS) \
$(NM_CFLAGS) \
-DG_DISABLE_DEPRECATED \
-DBINDIR=\"$(bindir)\" \
......@@ -27,7 +27,7 @@ nm-l2tp-pppd-service-glue.h: $(top_srcdir)/src/nm-l2tp-pppd-service.xml
nm_l2tp_service_LDADD = \
$(DBUS_GLIB_LIBS) \
$(GTHREAD_LIBS) \
$(GLIB_LIBS) \
$(NM_LIBS)
pppd_plugindir = $(PPPD_PLUGIN_DIR)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment