From 131bcb9889b9eb9b8eeb895f23ae1d53a25aefe8 Mon Sep 17 00:00:00 2001 From: Mihai Moldovan Date: Tue, 6 Dec 2022 03:29:30 +0100 Subject: src/: add util.vala, wrapping a GTK 3 function for use within vala. Since this function is only needed for and available in GTK 3, add configure checks for GTK 4.0 and higher as well. We will use this function later on. --- configure.ac | 10 ++++++++++ src/Makefile.am | 3 ++- src/util.vala | 28 ++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 src/util.vala diff --git a/configure.ac b/configure.ac index 222556a..7619254 100644 --- a/configure.ac +++ b/configure.ac @@ -91,6 +91,16 @@ if test x$gtk_check_pass = xyes ; then AC_SUBST([AM_VALAFLAGS]) fi +dnl ########################################################################### +dnl Check for GTK version - 4.0 +dnl ########################################################################### + +PKG_CHECK_MODULES(GTK_4_0, gtk4 >= 4.0.0 , gtk4_check_pass=yes, gtk4_check_pass=no) +if test x$gtk4_check_pass = xyes ; then + AM_VALAFLAGS="$AM_VALAFLAGS -D HAVE_GTK_4_0" + AC_SUBST([AM_VALAFLAGS]) +fi + dnl ########################################################################## dnl Remote Logon Dependencies dnl ########################################################################## diff --git a/src/Makefile.am b/src/Makefile.am index 5c0c78f..4c10950 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -37,7 +37,8 @@ arctica_greeter_SOURCES = \ toggle-box.vala \ arctica-greeter.vala \ user-list.vala \ - user-prompt-box.vala + user-prompt-box.vala \ + util.vala logo_generator_SOURCES = logo-generator.vala diff --git a/src/util.vala b/src/util.vala new file mode 100644 index 0000000..6b82f50 --- /dev/null +++ b/src/util.vala @@ -0,0 +1,28 @@ +/* -*- Mode: Vala; indent-tabs-mode: nil; tab-width: 4 -*- + * + * Copyright (C) 2011,2012 Canonical Ltd + * Copyright (C) 2015-2017 Mike Gabriel + * Copyright (C) 2022 Mihai Moldovan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 3 as + * published by the Free Software Foundation. + * + * 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 + * 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 . + * + * Authors: Robert Ancell + * Michael Terry + * Mike Gabriel + * Mihai Moldovan + */ + +#if !HAVE_GTK_4_0 +[CCode(cname = "GTK_IS_CONTAINER", cheader_filename="gtk/gtk.h", simple_generics = true, has_target = false)] +static extern bool gtk_is_container (T widget); +#endif -- cgit v1.2.3