Build fixes for Gtk+ 4
This commit is contained in:
parent
9ecac417e4
commit
b76e6562bd
|
@ -41,6 +41,10 @@ typedef struct _DesktopAccel
|
||||||
unsigned int accel;
|
unsigned int accel;
|
||||||
} DesktopAccel;
|
} DesktopAccel;
|
||||||
|
|
||||||
|
# if GTK_CHECK_VERSION(4, 0, 0)
|
||||||
|
typedef void GtkAccelGroup;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
|
||||||
/* functions */
|
/* functions */
|
||||||
void desktop_accel_create(DesktopAccel const * accel, gpointer data,
|
void desktop_accel_create(DesktopAccel const * accel, gpointer data,
|
||||||
|
|
|
@ -107,8 +107,29 @@
|
||||||
# define GDK_KEY_uparrow GDK_uparrow
|
# define GDK_KEY_uparrow GDK_uparrow
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
/* Gtk+ 4.0 */
|
||||||
|
# if GTK_CHECK_VERSION(4, 0, 0)
|
||||||
|
void gtk_box_pack_end(GtkBox * box, GtkWidget * child,
|
||||||
|
gboolean fill, gboolean expand, gint padding);
|
||||||
|
void gtk_box_pack_start(GtkBox * box, GtkWidget * child,
|
||||||
|
gboolean fill, gboolean expand, gint padding);
|
||||||
|
|
||||||
|
# define GTK_CONTAINER(a) GTK_WIDGET(a)
|
||||||
|
void gtk_container_add(GtkWidget * container, GtkWidget * child);
|
||||||
|
|
||||||
|
# define GTK_ICON_LOOKUP_USE_BUILTIN 0
|
||||||
|
# define GTK_ICON_LOOKUP_GENERIC_FALLBACK 0
|
||||||
|
GdkPixbuf * gtk_icon_theme_load_icon(GtkIconTheme * theme, char const * name,
|
||||||
|
GtkIconSize size, guint flags, gpointer data);
|
||||||
|
|
||||||
|
void gtk_main(void);
|
||||||
|
|
||||||
|
# define GTK_STOCK_DIRECTORY "gtk-directory"
|
||||||
|
# define GTK_STOCK_FILE "gtk-file"
|
||||||
|
# define GTK_STOCK_MISSING_IMAGE "gtk-missing-image"
|
||||||
|
|
||||||
|
# elif !GTK_CHECK_VERSION(3, 0, 0)
|
||||||
/* Gtk+ 3.0 */
|
/* Gtk+ 3.0 */
|
||||||
# if !GTK_CHECK_VERSION(3, 0, 0)
|
|
||||||
/* types */
|
/* types */
|
||||||
typedef struct _GdkRGBA
|
typedef struct _GdkRGBA
|
||||||
{
|
{
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
#ifndef LIBDESKTOP_DESKTOP_TOOLBAR_H
|
#ifndef LIBDESKTOP_DESKTOP_TOOLBAR_H
|
||||||
# define LIBDESKTOP_DESKTOP_TOOLBAR_H
|
# define LIBDESKTOP_DESKTOP_TOOLBAR_H
|
||||||
|
|
||||||
|
# include "accel.h"
|
||||||
|
|
||||||
|
|
||||||
/* Toolbar */
|
/* Toolbar */
|
||||||
/* types */
|
/* types */
|
||||||
|
@ -41,7 +43,11 @@ typedef struct _DesktopToolbar
|
||||||
const char * stock;
|
const char * stock;
|
||||||
GdkModifierType modifier;
|
GdkModifierType modifier;
|
||||||
unsigned int accel;
|
unsigned int accel;
|
||||||
|
# if GTK_CHECK_VERSION(4, 0, 0)
|
||||||
|
GtkWidget * widget;
|
||||||
|
# else
|
||||||
GtkToolItem * widget;
|
GtkToolItem * widget;
|
||||||
|
# endif
|
||||||
} DesktopToolbar;
|
} DesktopToolbar;
|
||||||
|
|
||||||
|
|
||||||
|
|
36
src/compat.c
36
src/compat.c
|
@ -28,13 +28,41 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include <gdk/gdkx.h>
|
#include <gtk/gtk.h>
|
||||||
|
#if GTK_CHECK_VERSION(4, 0, 0)
|
||||||
|
# include <gdk/x11/gdkx.h>
|
||||||
|
#else
|
||||||
|
# include <gdk/gdkx.h>
|
||||||
|
#endif
|
||||||
#include "Desktop.h"
|
#include "Desktop.h"
|
||||||
|
|
||||||
|
|
||||||
/* Compat */
|
/* Compat */
|
||||||
|
#if GTK_CHECK_VERSION(4, 0, 0)
|
||||||
|
/* Gtk+ 4 */
|
||||||
|
/* gtk_icon_theme_load_icon */
|
||||||
|
GdkPixbuf * gtk_icon_theme_load_icon(GtkIconTheme * theme, char const * name,
|
||||||
|
GtkIconSize size, guint flags, gpointer data)
|
||||||
|
{
|
||||||
|
GtkWidget * image;
|
||||||
|
(void) theme;
|
||||||
|
|
||||||
|
image = gtk_image_new_from_icon_name(name);
|
||||||
|
gtk_image_set_icon_size(GTK_IMAGE(image), size);
|
||||||
|
return image;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* gtk_main */
|
||||||
|
void gtk_main(void)
|
||||||
|
{
|
||||||
|
while(g_list_model_get_n_items(gtk_window_get_toplevels()) > 0)
|
||||||
|
g_main_context_iteration(NULL, TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#elif GTK_CHECK_VERSION(3, 0, 0)
|
||||||
/* Gtk+ 3 */
|
/* Gtk+ 3 */
|
||||||
#if GTK_CHECK_VERSION(3, 0, 0)
|
|
||||||
/* gdk_window_clear */
|
/* gdk_window_clear */
|
||||||
void gdk_window_clear(GdkWindow * window)
|
void gdk_window_clear(GdkWindow * window)
|
||||||
{
|
{
|
||||||
|
@ -47,10 +75,10 @@ void gdk_window_clear(GdkWindow * window)
|
||||||
XClearWindow(display, wid);
|
XClearWindow(display, wid);
|
||||||
gdk_error_trap_pop();
|
gdk_error_trap_pop();
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#if !GTK_CHECK_VERSION(3, 0, 0)
|
#elif GTK_CHECK_VERSION(2, 0, 0)
|
||||||
|
/* Gtk+ 2.0 */
|
||||||
/* gtk_box_new */
|
/* gtk_box_new */
|
||||||
GtkWidget * gtk_box_new(GtkOrientation orientation, gint spacing)
|
GtkWidget * gtk_box_new(GtkOrientation orientation, gint spacing)
|
||||||
{
|
{
|
||||||
|
|
|
@ -37,7 +37,9 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
#if GTK_CHECK_VERSION(3, 0, 0)
|
#if GTK_CHECK_VERSION(4, 0, 0)
|
||||||
|
# include <gdk/x11/gdkx.h>
|
||||||
|
#elif GTK_CHECK_VERSION(3, 0, 0)
|
||||||
# include <gtk/gtkx.h>
|
# include <gtk/gtkx.h>
|
||||||
#else
|
#else
|
||||||
# include <gdk/gdkx.h>
|
# include <gdk/gdkx.h>
|
||||||
|
|
|
@ -110,7 +110,12 @@ Mime * mime_new(GtkIconTheme * theme)
|
||||||
if((mime = object_new(sizeof(*mime))) == NULL)
|
if((mime = object_new(sizeof(*mime))) == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
if(theme == NULL)
|
if(theme == NULL)
|
||||||
|
#if GTK_CHECK_VERSION(4, 0, 0)
|
||||||
|
theme = gtk_icon_theme_get_for_display(
|
||||||
|
gdk_display_get_default());
|
||||||
|
#else
|
||||||
theme = gtk_icon_theme_get_default();
|
theme = gtk_icon_theme_get_default();
|
||||||
|
#endif
|
||||||
mime->theme = theme;
|
mime->theme = theme;
|
||||||
for(g = globs2; *g != NULL; g++)
|
for(g = globs2; *g != NULL; g++)
|
||||||
if((fp = fopen(*g, "r")) != NULL)
|
if((fp = fopen(*g, "r")) != NULL)
|
||||||
|
|
|
@ -142,7 +142,7 @@ int main(int argc, char * argv[])
|
||||||
|
|
||||||
memset(&prefs, 0, sizeof(prefs));
|
memset(&prefs, 0, sizeof(prefs));
|
||||||
#if GTK_CHECK_VERSION(4, 0, 0)
|
#if GTK_CHECK_VERSION(4, 0, 0)
|
||||||
gtk_init(&argc, &argv);
|
gtk_init();
|
||||||
#else
|
#else
|
||||||
gtk_init(&argc, &argv);
|
gtk_init(&argc, &argv);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue
Block a user