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

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