[Xfce4-commits] <exo:nick/depend-on-4ui> Use libxfce4ui instead of support library.

Nick Schermer noreply at xfce.org
Tue Jun 14 19:18:02 CEST 2011


Updating branch refs/heads/nick/depend-on-4ui
         to a8c1ba5a38b4570ae6d5788235ff55ae94221810 (commit)
       from ebf2469078755068ad0c22ebd38c11278ce97cb3 (commit)

commit a8c1ba5a38b4570ae6d5788235ff55ae94221810
Author: Nick Schermer <nick at xfce.org>
Date:   Tue Jun 14 19:14:33 2011 +0200

    Use libxfce4ui instead of support library.
    
    There are no exo applications that do not (or should not)
    depend on libxfce4ui. This somewhat forces them to port from gui4
    to 4ui.

 Makefile.am                            |    1 -
 configure.in.in                        |    2 +-
 exo-desktop-item-edit/Makefile.am      |    6 +-
 exo-desktop-item-edit/main.c           |    3 +-
 exo-helper/Makefile.am                 |    6 +-
 exo-helper/exo-helper-chooser-dialog.c |    2 +-
 exo-support/Makefile.am                |   28 --
 exo-support/README                     |    4 -
 exo-support/exo-support.h              |   26 --
 exo-support/xfce-heading.c             |  752 --------------------------------
 exo-support/xfce-heading.h             |   81 ----
 exo-support/xfce-titled-dialog.c       |  367 ----------------
 exo-support/xfce-titled-dialog.h       |   74 ----
 13 files changed, 9 insertions(+), 1343 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 7517cfa..8c73f13 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,7 +6,6 @@ endif
 SUBDIRS =								\
 	exo								\
 	exo-csource							\
-	exo-support							\
 	exo-desktop-item-edit						\
 	exo-gio-module							\
 	exo-helper							\
diff --git a/configure.in.in b/configure.in.in
index 72b72a1..29ad025 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -157,6 +157,7 @@ XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.18.0])
 XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.14.0])
 XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.16.0])
 XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.8.0])
+XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.8.0])
 
 dnl ***********************************************************
 dnl *** Check if we need to build the GIO module (optional) ***
@@ -351,7 +352,6 @@ exo-gio-module/Makefile
 exo-helper/Makefile
 exo-helper/helpers/Makefile
 exo-open/Makefile
-exo-support/Makefile
 icons/Makefile
 icons/24x24/Makefile
 icons/48x48/Makefile
diff --git a/exo-desktop-item-edit/Makefile.am b/exo-desktop-item-edit/Makefile.am
index d22b535..bfc6c76 100644
--- a/exo-desktop-item-edit/Makefile.am
+++ b/exo-desktop-item-edit/Makefile.am
@@ -29,13 +29,13 @@ exo_desktop_item_edit_CFLAGS =						\
 	$(GTK_CFLAGS)							\
 	$(GTHREAD_CFLAGS)						\
 	$(LIBXFCE4UTIL_CFLAGS)						\
-	$(GIO_CFLAGS)
+	$(GIO_CFLAGS)							\
+	$(LIBXFCE4UI_CFLAGS)
 
 exo_desktop_item_edit_LDFLAGS =						\
 	-no-undefined
 
 exo_desktop_item_edit_DEPENDENCIES =					\
-	$(top_builddir)/exo-support/libexo-support.la			\
 	$(top_builddir)/exo/libexo-$(LIBEXO_VERSION_API).la
 
 exo_desktop_item_edit_LDADD =						\
@@ -43,7 +43,7 @@ exo_desktop_item_edit_LDADD =						\
 	$(GTHREAD_LIBS)							\
 	$(LIBXFCE4UTIL_LIBS)						\
 	$(GIO_LIBS)							\
-	$(top_builddir)/exo-support/libexo-support.la			\
+	$(LIBXFCE4UI_LIBS)						\
 	$(top_builddir)/exo/libexo-$(LIBEXO_VERSION_API).la
 
 # vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
diff --git a/exo-desktop-item-edit/main.c b/exo-desktop-item-edit/main.c
index 5eaa26d..602c19d 100644
--- a/exo-desktop-item-edit/main.c
+++ b/exo-desktop-item-edit/main.c
@@ -35,11 +35,10 @@
 #endif
 
 #include <gio/gio.h>
+#include <libxfce4ui/libxfce4ui.h>
 #include <exo-desktop-item-edit/exo-die-editor.h>
 #include <exo-desktop-item-edit/exo-die-utils.h>
 
-#include <exo-support/exo-support.h>
-
 #if defined(GDK_WINDOWING_X11)
 #include <gdk/gdkx.h>
 #endif
diff --git a/exo-helper/Makefile.am b/exo-helper/Makefile.am
index af7dd45..5eaff8c 100644
--- a/exo-helper/Makefile.am
+++ b/exo-helper/Makefile.am
@@ -37,16 +37,16 @@ exo_helper_1_SOURCES =						\
 
 exo_helper_1_CFLAGS =							\
 	$(GTK_CFLAGS)							\
-	$(LIBXFCE4UTIL_CFLAGS)
+	$(LIBXFCE4UTIL_CFLAGS)						\
+	$(LIBXFCE4UI_CFLAGS)
 
 exo_helper_1_DEPENDENCIES =						\
-	$(top_builddir)/exo-support/libexo-support.la			\
 	$(top_builddir)/exo/libexo-$(LIBEXO_VERSION_API).la
 
 exo_helper_1_LDADD =							\
 	$(GTK_LIBS)							\
 	$(LIBXFCE4UTIL_LIBS)						\
-	$(top_builddir)/exo-support/libexo-support.la			\
+	$(LIBXFCE4UI_LIBS)						\
 	$(top_builddir)/exo/libexo-$(LIBEXO_VERSION_API).la
 
 bin_SCRIPTS =								\
diff --git a/exo-helper/exo-helper-chooser-dialog.c b/exo-helper/exo-helper-chooser-dialog.c
index a00a3e4..302bef0 100644
--- a/exo-helper/exo-helper-chooser-dialog.c
+++ b/exo-helper/exo-helper-chooser-dialog.c
@@ -21,10 +21,10 @@
 #endif
 
 #include <gdk/gdkkeysyms.h>
+#include <libxfce4ui/libxfce4ui.h>
 
 #include <exo-helper/exo-helper-chooser-dialog.h>
 
-#include <exo-support/exo-support.h>
 
 
 
diff --git a/exo-support/Makefile.am b/exo-support/Makefile.am
deleted file mode 100644
index b108f70..0000000
--- a/exo-support/Makefile.am
+++ /dev/null
@@ -1,28 +0,0 @@
-
-INCLUDES = 								\
-	-I$(top_builddir)						\
-	-I$(top_srcdir)							\
-	-DG_LOG_DOMAIN=\"exo-support\"
-
-noinst_LTLIBRARIES =							\
-	libexo-support.la
-
-libexo_support_la_SOURCES =						\
-	exo-support.h							\
-	xfce-heading.c							\
-	xfce-heading.h							\
-	xfce-titled-dialog.c						\
-	xfce-titled-dialog.h
-
-libexo_support_la_CFLAGS =						\
-	$(GTK_CFLAGS)							\
-	$(LIBXFCE4UTIL_CFLAGS)
-
-libexo_support_la_LIBADD =						\
-	$(GTK_LIBS)							\
-	$(LIBXFCE4UTIL_LIBS)
-
-EXTRA_DIST =								\
-	README
-
-# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
diff --git a/exo-support/README b/exo-support/README
deleted file mode 100644
index 3cd6bec..0000000
--- a/exo-support/README
+++ /dev/null
@@ -1,4 +0,0 @@
-The exo-support library is an internal library used by the tools provided by
-the exo package. It currently contains two widgets copied from libxfcegui4
-to avoid readding the dependency on libxfcegui4 (we will later use libxfce4ui
-when its cleaned up, but that's unlikely to happen before Xfce 4.6).
diff --git a/exo-support/exo-support.h b/exo-support/exo-support.h
deleted file mode 100644
index dbd2899..0000000
--- a/exo-support/exo-support.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*-
- * Copyright (c) 2006 Benedikt Meurer <benny at xfce.org>.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __EXO_SUPPORT_H__
-#define __EXO_SUPPORT_H__
-
-#include <exo-support/xfce-heading.h>
-#include <exo-support/xfce-titled-dialog.h>
-
-#endif /* !__EXO_SUPPORT_H__ */
diff --git a/exo-support/xfce-heading.c b/exo-support/xfce-heading.c
deleted file mode 100644
index 31c6515..0000000
--- a/exo-support/xfce-heading.c
+++ /dev/null
@@ -1,752 +0,0 @@
-/*-
- * Copyright (c) 2006 Benedikt Meurer <benny at xfce.org>.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#ifdef HAVE_MEMORY_H
-#include <memory.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-
-#include "xfce-heading.h"
-
-
-
-#define XFCE_HEADING_BORDER      6
-#define XFCE_HEADING_SPACING    12
-#define XFCE_HEADING_ICON_SIZE  48
-
-#define XFCE_HEADING_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), XFCE_TYPE_HEADING, XfceHeadingPrivate))
-
-
-
-/* Property identifiers */
-enum
-{
-  PROP_0,
-  PROP_ICON,
-  PROP_ICON_NAME,
-  PROP_SUBTITLE,
-  PROP_TITLE,
-};
-
-
-
-static void         xfce_heading_finalize       (GObject          *object);
-static void         xfce_heading_get_property   (GObject          *object,
-                                                 guint             prop_id,
-                                                 GValue           *value,
-                                                 GParamSpec       *pspec);
-static void         xfce_heading_set_property   (GObject          *object,
-                                                 guint             prop_id,
-                                                 const GValue     *value,
-                                                 GParamSpec       *pspec);
-static void         xfce_heading_realize        (GtkWidget        *widget);
-static void         xfce_heading_size_request   (GtkWidget        *widget,
-                                                 GtkRequisition   *requisition);
-static void         xfce_heading_style_set      (GtkWidget        *widget,
-                                                 GtkStyle         *previous_style);
-static gboolean     xfce_heading_expose_event   (GtkWidget        *widget,
-                                                 GdkEventExpose   *event);
-static AtkObject   *xfce_heading_get_accessible (GtkWidget        *widget);
-static PangoLayout *xfce_heading_make_layout    (XfceHeading      *heading);
-static GdkPixbuf   *xfce_heading_make_pixbuf    (XfceHeading      *heading);
-
-
-
-struct _XfceHeadingPrivate
-{
-  GdkPixbuf *icon;
-  gchar     *icon_name;
-  gchar     *subtitle;
-  gchar     *title;
-};
-
-
-
-G_DEFINE_TYPE (XfceHeading, xfce_heading, GTK_TYPE_WIDGET)
-
-
-
-static void
-xfce_heading_class_init (XfceHeadingClass *klass)
-{
-  GtkWidgetClass *gtkwidget_class;
-  GObjectClass   *gobject_class;
-
-  /* add our private data to the class */
-  g_type_class_add_private (klass, sizeof (XfceHeadingPrivate));
-
-  gobject_class = G_OBJECT_CLASS (klass);
-  gobject_class->finalize = xfce_heading_finalize;
-  gobject_class->get_property = xfce_heading_get_property;
-  gobject_class->set_property = xfce_heading_set_property;
-
-  gtkwidget_class = GTK_WIDGET_CLASS (klass);
-  gtkwidget_class->realize = xfce_heading_realize;
-  gtkwidget_class->size_request = xfce_heading_size_request;
-  gtkwidget_class->style_set = xfce_heading_style_set;
-  gtkwidget_class->expose_event = xfce_heading_expose_event;
-  gtkwidget_class->get_accessible = xfce_heading_get_accessible;
-
-  /**
-   * XfceHeading:icon:
-   *
-   * The #GdkPixbuf to display as icon, or %NULL to use the
-   * "icon-name" property.
-   *
-   * Since: 4.4.0
-   **/
-  g_object_class_install_property (gobject_class,
-                                   PROP_ICON,
-                                   g_param_spec_object ("icon",
-                                                        "icon",
-                                                        "icon",
-                                                        GDK_TYPE_PIXBUF,
-                                                        G_PARAM_READWRITE));
-
-  /**
-   * XfceHeading:icon-name:
-   *
-   * If the "icon" property value is %NULL this is the name of
-   * the icon to display instead (looked up using the icon theme).
-   * If this property is also %NULL or the specified icon does not
-   * exist in the selected icon theme, no icon will be displayed.
-   *
-   * Since: 4.4.0
-   **/
-  g_object_class_install_property (gobject_class,
-                                   PROP_ICON_NAME,
-                                   g_param_spec_string ("icon-name",
-                                                        "icon-name",
-                                                        "icon-name",
-                                                        NULL,
-                                                        G_PARAM_READWRITE));
-
-  /**
-   * XfceHeading:subtitle:
-   *
-   * The sub title that should be displayed below the
-   * title. May be %NULL or the empty string to display
-   * only the title.
-   *
-   * Since: 4.4.0
-   **/
-  g_object_class_install_property (gobject_class,
-                                   PROP_SUBTITLE,
-                                   g_param_spec_string ("subtitle",
-                                                        "subtitle",
-                                                        "subtitle",
-                                                        NULL,
-                                                        G_PARAM_READWRITE));
-
-  /**
-   * XfceHeading:title:
-   *
-   * The title text to display in the heading.
-   *
-   * Since: 4.4.0
-   **/
-  g_object_class_install_property (gobject_class,
-                                   PROP_TITLE,
-                                   g_param_spec_string ("title",
-                                                        "title",
-                                                        "title",
-                                                        NULL,
-                                                        G_PARAM_READWRITE));
-}
-
-
-
-static void
-xfce_heading_init (XfceHeading *heading)
-{
-  /* setup the private data */
-  heading->priv = XFCE_HEADING_GET_PRIVATE (heading);
-
-  /* setup the widget parameters */
-  GTK_WIDGET_UNSET_FLAGS (heading, GTK_NO_WINDOW);
-}
-
-
-
-static void
-xfce_heading_finalize (GObject *object)
-{
-  XfceHeading *heading = XFCE_HEADING (object);
-
-  /* release the private data */
-  if (G_UNLIKELY (heading->priv->icon != NULL))
-    g_object_unref (G_OBJECT (heading->priv->icon));
-  g_free (heading->priv->icon_name);
-  g_free (heading->priv->subtitle);
-  g_free (heading->priv->title);
-
-  (*G_OBJECT_CLASS (xfce_heading_parent_class)->finalize) (object);
-}
-
-
-
-static void
-xfce_heading_get_property (GObject    *object,
-                           guint       prop_id,
-                           GValue     *value,
-                           GParamSpec *pspec)
-{
-  XfceHeading *heading = XFCE_HEADING (object);
-
-  switch (prop_id)
-    {
-    case PROP_ICON:
-      g_value_set_object (value, xfce_heading_get_icon (heading));
-      break;
-
-    case PROP_ICON_NAME:
-      g_value_set_string (value, xfce_heading_get_icon_name (heading));
-      break;
-
-    case PROP_SUBTITLE:
-      g_value_set_string (value, xfce_heading_get_subtitle (heading));
-      break;
-
-    case PROP_TITLE:
-      g_value_set_string (value, xfce_heading_get_title (heading));
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-
-
-static void
-xfce_heading_set_property (GObject      *object,
-                           guint         prop_id,
-                           const GValue *value,
-                           GParamSpec   *pspec)
-{
-  XfceHeading *heading = XFCE_HEADING (object);
-
-  switch (prop_id)
-    {
-    case PROP_ICON:
-      xfce_heading_set_icon (heading, g_value_get_object (value));
-      break;
-
-    case PROP_ICON_NAME:
-      xfce_heading_set_icon_name (heading, g_value_get_string (value));
-      break;
-
-    case PROP_SUBTITLE:
-      xfce_heading_set_subtitle (heading, g_value_get_string (value));
-      break;
-
-    case PROP_TITLE:
-      xfce_heading_set_title (heading, g_value_get_string (value));
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-
-
-static void
-xfce_heading_realize (GtkWidget *widget)
-{
-  GdkWindowAttr attributes;
-
-  /* mark the widget as realized */
-  GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
-
-  /* setup the window attributes */
-  attributes.x = widget->allocation.x;
-  attributes.y = widget->allocation.y;
-  attributes.width = widget->allocation.width;
-  attributes.height = widget->allocation.height;
-  attributes.wclass = GDK_INPUT_OUTPUT;
-  attributes.window_type = GDK_WINDOW_CHILD;
-  attributes.visual = gtk_widget_get_visual (widget);
-  attributes.colormap = gtk_widget_get_colormap (widget);
-  attributes.event_mask = gtk_widget_get_events (widget)
-                        | GDK_EXPOSURE_MASK;
-
-  /* allocate the widget window */
-  widget->window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes,
-                                   GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP);
-  gdk_window_set_user_data (widget->window, widget);
-
-  /* connect the style to the window */
-  widget->style = gtk_style_attach (widget->style, widget->window);
-
-  /* set background color (using the base color) */
-  gdk_window_set_background (widget->window, &widget->style->base[GTK_STATE_NORMAL]);
-}
-
-
-
-static void
-xfce_heading_size_request (GtkWidget      *widget,
-                           GtkRequisition *requisition)
-{
-  XfceHeading *heading = XFCE_HEADING (widget);
-  PangoLayout *layout;
-  GdkPixbuf   *pixbuf;
-  gint         layout_width;
-  gint         layout_height;
-  gint         pixbuf_width = 0;
-  gint         pixbuf_height = 0;
-
-  /* determine the dimensions of the title text */
-  layout = xfce_heading_make_layout (heading);
-  pango_layout_get_pixel_size (layout, &layout_width, &layout_height);
-  g_object_unref (G_OBJECT (layout));
-
-  /* determine the dimensions of the pixbuf */
-  pixbuf = xfce_heading_make_pixbuf (heading);
-  if (G_LIKELY (pixbuf != NULL))
-    {
-      pixbuf_width = gdk_pixbuf_get_width (pixbuf);
-      pixbuf_height = gdk_pixbuf_get_height (pixbuf);
-      g_object_unref (G_OBJECT (pixbuf));
-    }
-
-  /* determine the base dimensions */
-  requisition->width = layout_width + pixbuf_width + ((pixbuf_width > 0) ? XFCE_HEADING_SPACING : 0);
-  requisition->height = MAX (XFCE_HEADING_ICON_SIZE, MAX (pixbuf_height, layout_height));
-
-  /* add border size */
-  requisition->width += 2 * XFCE_HEADING_BORDER;
-  requisition->height += 2 * XFCE_HEADING_BORDER;
-}
-
-
-
-static void
-xfce_heading_style_set (GtkWidget *widget,
-                        GtkStyle  *previous_style)
-{
-  /* check if we're already realized */
-  if (GTK_WIDGET_REALIZED (widget))
-    {
-      /* set background color (using the base color) */
-      gdk_window_set_background (widget->window, &widget->style->base[GTK_STATE_NORMAL]);
-    }
-}
-
-
-
-static gboolean
-xfce_heading_expose_event (GtkWidget      *widget,
-                           GdkEventExpose *event)
-{
-  XfceHeading *heading = XFCE_HEADING (widget);
-  PangoLayout *layout;
-  GdkPixbuf   *pixbuf;
-  gboolean     rtl;
-  gint         width;
-  gint         height;
-  gint         x;
-  gint         y;
-
-  /* check if we should render from right to left */
-  rtl = (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL);
-
-  /* determine the initial horizontal position */
-  x = (rtl ? widget->allocation.width - XFCE_HEADING_BORDER : XFCE_HEADING_BORDER);
-
-  /* check if we have a pixbuf to render */
-  pixbuf = xfce_heading_make_pixbuf (heading);
-  if (G_LIKELY (pixbuf != NULL))
-    {
-      /* determine the pixbuf dimensions */
-      width = gdk_pixbuf_get_width (pixbuf);
-      height = gdk_pixbuf_get_height (pixbuf);
-
-      /* determine the vertical position */
-      y = (widget->allocation.height - height) / 2;
-
-      /* render the pixbuf */
-      gdk_draw_pixbuf (widget->window, widget->style->black_gc, pixbuf, 0, 0,
-                       (rtl ? x - width : x), y, width, height,
-                       GDK_RGB_DITHER_NORMAL, 0, 0);
-
-      /* release the pixbuf */
-      g_object_unref (G_OBJECT (pixbuf));
-
-      /* advance the horizontal position */
-      x += (rtl ? -1 : 1) * (width + XFCE_HEADING_SPACING);
-    }
-
-  /* generate the title layout */
-  layout = xfce_heading_make_layout (heading);
-  pango_layout_get_pixel_size (layout, &width, &height);
-
-  /* determine the vertical position */
-  y = (widget->allocation.height - height) / 2;
-
-  /* render the title */
-  gtk_paint_layout (widget->style, widget->window, GTK_WIDGET_STATE (widget), TRUE, &event->area,
-                    widget, "heading", (rtl ? x - width : x), y, layout);
-
-  /* release the layout */
-  g_object_unref (G_OBJECT (layout));
-
-  return FALSE;
-}
-
-
-
-static AtkObject*
-xfce_heading_get_accessible (GtkWidget *widget)
-{
-  AtkObject *object;
-
-  object = (*GTK_WIDGET_CLASS (xfce_heading_parent_class)->get_accessible) (widget);
-  atk_object_set_role (object, ATK_ROLE_HEADER);
-
-  return object;
-}
-
-
-
-static PangoLayout*
-xfce_heading_make_layout (XfceHeading *heading)
-{
-  PangoAttribute *attribute;
-  PangoAttrList  *attr_list;
-  PangoLayout    *layout;
-  GString        *text;
-  gint            title_length = 0;
-
-  /* generate the full text */
-  text = g_string_sized_new (128);
-  if (G_LIKELY (heading->priv->title != NULL))
-    {
-      /* add the main title */
-      title_length = strlen (heading->priv->title);
-      g_string_append (text, heading->priv->title);
-    }
-  if (heading->priv->subtitle != NULL && *heading->priv->subtitle != '\0')
-    {
-      /* add an empty line between the title and the subtitle */
-      if (G_LIKELY (heading->priv->title != NULL))
-        g_string_append (text, "\n");
-
-      /* add the subtitle */
-      g_string_append (text, heading->priv->subtitle);
-    }
-
-  /* allocate and setup a new layout from the widget's context */
-  layout = gtk_widget_create_pango_layout (GTK_WIDGET (heading), text->str);
-
-  /* allocate an attribute list (large bold title) */
-  attr_list = pango_attr_list_new ();
-  attribute = pango_attr_scale_new (PANGO_SCALE_LARGE); /* large title */
-  attribute->start_index = 0;
-  attribute->end_index = title_length;
-  pango_attr_list_insert (attr_list, attribute);
-  attribute = pango_attr_weight_new (PANGO_WEIGHT_BOLD); /* bold title */
-  attribute->start_index = 0;
-  attribute->end_index = title_length;
-  pango_attr_list_insert (attr_list, attribute);
-  pango_layout_set_attributes (layout, attr_list);
-  pango_attr_list_unref (attr_list);
-
-  /* cleanup */
-  g_string_free (text, TRUE);
-
-  return layout;
-}
-
-
-
-static GdkPixbuf*
-xfce_heading_make_pixbuf (XfceHeading *heading)
-{
-  GtkIconTheme *icon_theme;
-  GdkPixbuf    *pixbuf = NULL;
-  GdkScreen    *screen;
-
-  if (G_UNLIKELY (heading->priv->icon != NULL))
-    {
-      /* just use the specified icon */
-      pixbuf = g_object_ref (G_OBJECT (heading->priv->icon));
-    }
-  else if (G_LIKELY (heading->priv->icon_name != NULL))
-    {
-      /* determine the icon theme for the current screen */
-      screen = gtk_widget_get_screen (GTK_WIDGET (heading));
-      icon_theme = gtk_icon_theme_get_for_screen (screen);
-
-      /* try to load the icon from the icon theme */
-      pixbuf = gtk_icon_theme_load_icon (icon_theme, heading->priv->icon_name,
-                                         XFCE_HEADING_ICON_SIZE,
-                                         GTK_ICON_LOOKUP_USE_BUILTIN, NULL);
-    }
-
-  return pixbuf;
-}
-
-
-
-/**
- * xfce_heading_new:
- *
- * Allocates a new #XfceHeading instance.
- *
- * Return value: the newly allocated #XfceHeading.
- *
- * Since: 4.4.0
- **/
-GtkWidget*
-xfce_heading_new (void)
-{
-  return g_object_new (XFCE_TYPE_HEADING, NULL);
-}
-
-
-
-/**
- * xfce_heading_get_icon:
- * @heading : a #XfceHeading.
- *
- * Returns the #GdkPixbuf that was set as icon for
- * @heading or %NULL if no icon is set. The returned
- * #GdkPixbuf object is owned by @heading.
- *
- * Return value: the icon for @heading, or %NULL.
- *
- * Since: 4.4.0
- **/
-GdkPixbuf*
-xfce_heading_get_icon (XfceHeading *heading)
-{
-  g_return_val_if_fail (XFCE_IS_HEADING (heading), NULL);
-  return heading->priv->icon;
-}
-
-
-
-/**
- * xfce_heading_set_icon:
- * @heading : a #XfceHeading.
- * @icon    : the new icon or %NULL.
- *
- * If @icon is not %NULL, @heading will display the new @icon
- * aside the title. Else, if @icon is %NULL no icon is displayed
- * unless an icon name was set with xfce_heading_set_icon_name().
- *
- * Since: 4.4.0
- **/
-void
-xfce_heading_set_icon (XfceHeading *heading,
-                       GdkPixbuf   *icon)
-{
-  g_return_if_fail (XFCE_IS_HEADING (heading));
-  g_return_if_fail (icon == NULL || GDK_IS_PIXBUF (icon));
-
-  /* check if we have a new icon */
-  if (G_LIKELY (heading->priv->icon != icon))
-    {
-      /* disconnect from the previous icon */
-      if (G_LIKELY (heading->priv->icon != NULL))
-        g_object_unref (G_OBJECT (heading->priv->icon));
-
-      /* activate the new icon */
-      heading->priv->icon = icon;
-
-      /* connect to the new icon */
-      if (G_LIKELY (icon != NULL))
-        g_object_ref (G_OBJECT (icon));
-
-      /* schedule a resize */
-      gtk_widget_queue_resize (GTK_WIDGET (heading));
-
-      /* notify listeners */
-      g_object_notify (G_OBJECT (heading), "icon");
-    }
-}
-
-
-
-/**
- * xfce_heading_get_icon_name:
- * @heading : a #XfceHeading.
- *
- * Returns the icon name previously set by a call to
- * xfce_heading_set_icon_name() or %NULL if no icon name
- * is set for @heading.
- *
- * Return value: the icon name for @heading, or %NULL.
- *
- * Since: 4.4.0
- **/
-G_CONST_RETURN gchar*
-xfce_heading_get_icon_name (XfceHeading *heading)
-{
-  g_return_val_if_fail (XFCE_IS_HEADING (heading), NULL);
-  return heading->priv->icon_name;
-}
-
-
-
-/**
- * xfce_heading_set_icon_name:
- * @heading   : a #XfceHeading.
- * @icon_name : the new icon name, or %NULL.
- *
- * If @icon_name is not %NULL and the "icon" property is set to
- * %NULL, see xfce_heading_set_icon(), the @heading will display
- * the name icon identified by the @icon_name.
- *
- * Since: 4.4.0
- **/
-void
-xfce_heading_set_icon_name (XfceHeading *heading,
-                            const gchar *icon_name)
-{
-  g_return_if_fail (XFCE_IS_HEADING (heading));
-
-  /* release the previous icon name */
-  g_free (heading->priv->icon_name);
-
-  /* activate the new icon name */
-  heading->priv->icon_name = g_strdup (icon_name);
-
-  /* schedule a resize */
-  gtk_widget_queue_resize (GTK_WIDGET (heading));
-
-  /* notify listeners */
-  g_object_notify (G_OBJECT (heading), "icon-name");
-}
-
-
-
-/**
- * xfce_heading_get_subtitle:
- * @heading : a #XfceHeading.
- *
- * Returns the sub title displayed below the
- * main title of the @heading, or %NULL if
- * no subtitle is set.
- *
- * Return value: the subtitle of @heading, or %NULL.
- *
- * Since: 4.4.0
- **/
-G_CONST_RETURN gchar*
-xfce_heading_get_subtitle (XfceHeading *heading)
-{
-  g_return_val_if_fail (XFCE_IS_HEADING (heading), NULL);
-  return heading->priv->subtitle;
-}
-
-
-
-/**
- * xfce_heading_set_subtitle:
- * @heading  : a #XfceHeading.
- * @subtitle : the new subtitle for @heading, or %NULL.
- *
- * If @subtitle is not %NULL and not the empty string, it
- * will be displayed by @heading below the main title.
- *
- * Since: 4.4.0
- **/
-void
-xfce_heading_set_subtitle (XfceHeading *heading,
-                           const gchar *subtitle)
-{
-  g_return_if_fail (XFCE_IS_HEADING (heading));
-  g_return_if_fail (subtitle == NULL || g_utf8_validate (subtitle, -1, NULL));
-
-  /* release the previous subtitle */
-  g_free (heading->priv->subtitle);
-
-  /* activate the new subtitle */
-  heading->priv->subtitle = g_strdup (subtitle);
-
-  /* schedule a resize */
-  gtk_widget_queue_resize (GTK_WIDGET (heading));
-
-  /* notify listeners */
-  g_object_notify (G_OBJECT (heading), "subtitle");
-}
-
-
-
-/**
- * xfce_heading_get_title:
- * @heading : a #XfceHeading.
- *
- * Returns the title displayed by the @heading.
- *
- * Return value: the title displayed by the @heading.
- *
- * Since: 4.4.0
- **/
-G_CONST_RETURN gchar*
-xfce_heading_get_title (XfceHeading *heading)
-{
-  g_return_val_if_fail (XFCE_IS_HEADING (heading), NULL);
-  return heading->priv->title;
-}
-
-
-
-/**
- * xfce_heading_set_title:
- * @heading : a #XfceHeading.
- * @title   : the new title for the @heading.
- *
- * Sets the title displayed by the @heading to the
- * specified @title.
- *
- * Since: 4.4.0
- **/
-void
-xfce_heading_set_title (XfceHeading *heading,
-                        const gchar *title)
-{
-  g_return_if_fail (XFCE_IS_HEADING (heading));
-  g_return_if_fail (title == NULL || g_utf8_validate (title, -1, NULL));
-
-  /* release the previous title */
-  g_free (heading->priv->title);
-
-  /* activate the new title */
-  heading->priv->title = g_strdup (title);
-
-  /* schedule a resize */
-  gtk_widget_queue_resize (GTK_WIDGET (heading));
-
-  /* notify listeners */
-  g_object_notify (G_OBJECT (heading), "title");
-}
-
-
diff --git a/exo-support/xfce-heading.h b/exo-support/xfce-heading.h
deleted file mode 100644
index 9ff1cf3..0000000
--- a/exo-support/xfce-heading.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*-
- * Copyright (c) 2006 Benedikt Meurer <benny at xfce.org>.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __XFCE_HEADING_H__
-#define __XFCE_HEADING_H__
-
-#include <gtk/gtk.h>
-
-G_BEGIN_DECLS
-
-typedef struct _XfceHeadingPrivate XfceHeadingPrivate;
-typedef struct _XfceHeadingClass   XfceHeadingClass;
-typedef struct _XfceHeading        XfceHeading;
-
-#define XFCE_TYPE_HEADING             (xfce_heading_get_type ())
-#define XFCE_HEADING(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), XFCE_TYPE_HEADING, XfceHeading))
-#define XFCE_HEADING_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), XFCE_TYPE_HEADING, XfceHeadingClass))
-#define XFCE_IS_HEADING(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XFCE_TYPE_HEADING))
-#define XFCE_IS_HEADING_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), XFCE_TYPE_HEADING))
-#define XFCE_HEADING_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), XFCE_TYPE_HEADING, XfceHeadingClass))
-
-struct _XfceHeadingClass
-{
-  /*< private >*/
-  GtkWidgetClass __parent__;
-
-  /* reserved for future expansion */
-  void (*reserved0) (void);
-  void (*reserved1) (void);
-  void (*reserved2) (void);
-  void (*reserved3) (void);
-  void (*reserved4) (void);
-  void (*reserved5) (void);
-};
-
-struct _XfceHeading
-{
-  /*< private >*/
-  GtkWidget           __parent__;
-  XfceHeadingPrivate *priv;
-};
-
-GType                 xfce_heading_get_type      (void) G_GNUC_CONST;
-
-GtkWidget            *xfce_heading_new           (void) G_GNUC_MALLOC;
-
-GdkPixbuf            *xfce_heading_get_icon      (XfceHeading *heading);
-void                  xfce_heading_set_icon      (XfceHeading *heading,
-                                                  GdkPixbuf   *icon);
-
-G_CONST_RETURN gchar *xfce_heading_get_icon_name (XfceHeading *heading);
-void                  xfce_heading_set_icon_name (XfceHeading *heading,
-                                                  const gchar *icon_name);
-
-G_CONST_RETURN gchar *xfce_heading_get_subtitle  (XfceHeading *heading);
-void                  xfce_heading_set_subtitle  (XfceHeading *heading,
-                                                  const gchar *subtitle);
-
-G_CONST_RETURN gchar *xfce_heading_get_title     (XfceHeading *heading);
-void                  xfce_heading_set_title     (XfceHeading *heading,
-                                                  const gchar *title);
-
-G_END_DECLS
-
-#endif /* !__XFCE_HEADING_H__ */
diff --git a/exo-support/xfce-titled-dialog.c b/exo-support/xfce-titled-dialog.c
deleted file mode 100644
index a1e2f52..0000000
--- a/exo-support/xfce-titled-dialog.c
+++ /dev/null
@@ -1,367 +0,0 @@
-/*-
- * Copyright (c) 2006 Benedikt Meurer <benny at xfce.org>.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#ifdef HAVE_STDARG_H
-#include <stdarg.h>
-#endif
-
-#include <gdk/gdkkeysyms.h>
-
-#include "xfce-heading.h"
-#include "xfce-titled-dialog.h"
-
-
-
-#define XFCE_TITLED_DIALOG_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), XFCE_TYPE_TITLED_DIALOG, XfceTitledDialogPrivate))
-
-
-
-/* Property identifiers */
-enum
-{
-  PROP_0,
-  PROP_SUBTITLE,
-};
-
-
-
-static void xfce_titled_dialog_finalize       (GObject                *object);
-static void xfce_titled_dialog_get_property   (GObject                *object,
-                                               guint                   prop_id,
-                                               GValue                 *value,
-                                               GParamSpec             *pspec);
-static void xfce_titled_dialog_set_property   (GObject                *object,
-                                               guint                   prop_id,
-                                               const GValue           *value,
-                                               GParamSpec             *pspec);
-static void xfce_titled_dialog_close          (GtkDialog              *dialog);
-static void xfce_titled_dialog_update_heading (XfceTitledDialog       *titled_dialog);
-
-
-
-struct _XfceTitledDialogPrivate
-{
-  GtkWidget *heading;
-  gchar     *subtitle;
-};
-
-
-
-G_DEFINE_TYPE (XfceTitledDialog, xfce_titled_dialog, GTK_TYPE_DIALOG)
-
-
-
-static void
-xfce_titled_dialog_class_init (XfceTitledDialogClass *klass)
-{
-  GtkDialogClass *gtkdialog_class;
-  GtkBindingSet  *binding_set;
-  GObjectClass   *gobject_class;
-
-  /* add our private data to the class */
-  g_type_class_add_private (klass, sizeof (XfceTitledDialogPrivate));
-
-  gobject_class = G_OBJECT_CLASS (klass);
-  gobject_class->finalize = xfce_titled_dialog_finalize;
-  gobject_class->get_property = xfce_titled_dialog_get_property;
-  gobject_class->set_property = xfce_titled_dialog_set_property;
-
-  gtkdialog_class = GTK_DIALOG_CLASS (klass);
-  gtkdialog_class->close = xfce_titled_dialog_close;
-
-  /**
-   * XfceTitledDialog:subtitle:
-   *
-   * The subtitle displayed below the main dialog title.
-   *
-   * Since: 4.4.0
-   **/
-  g_object_class_install_property (gobject_class,
-                                   PROP_SUBTITLE,
-                                   g_param_spec_string ("subtitle",
-                                                        "subtitle",
-                                                        "subtitle",
-                                                        NULL,
-                                                        G_PARAM_READWRITE));
-
-  /* connect additional key bindings to the GtkDialog::close action signal */
-  binding_set = gtk_binding_set_by_class (klass);
-  gtk_binding_entry_add_signal (binding_set, GDK_w, GDK_CONTROL_MASK, "close", 0);
-  gtk_binding_entry_add_signal (binding_set, GDK_W, GDK_CONTROL_MASK, "close", 0);
-}
-
-
-
-static void
-xfce_titled_dialog_init (XfceTitledDialog *titled_dialog)
-{
-  GtkWidget *line;
-  GtkWidget *vbox;
-
-  /* connect the private data */
-  titled_dialog->priv = XFCE_TITLED_DIALOG_GET_PRIVATE (titled_dialog);
-
-  /* remove the main dialog box from the window */
-  g_object_ref (G_OBJECT (GTK_DIALOG (titled_dialog)->vbox));
-  gtk_container_remove (GTK_CONTAINER (titled_dialog), GTK_DIALOG (titled_dialog)->vbox);
-
-  /* add a new vbox w/o border to the main window */
-  vbox = gtk_vbox_new (FALSE, 0);
-  gtk_container_add (GTK_CONTAINER (titled_dialog), vbox);
-  gtk_widget_show (vbox);
-
-  /* add the heading to the window */
-  titled_dialog->priv->heading = xfce_heading_new ();
-  gtk_box_pack_start (GTK_BOX (vbox), titled_dialog->priv->heading, FALSE, FALSE, 0);
-  gtk_widget_show (titled_dialog->priv->heading);
-
-  /* add the separator between header and content */
-  line = gtk_hseparator_new ();
-  gtk_box_pack_start (GTK_BOX (vbox), line, FALSE, FALSE, 0);
-  gtk_widget_show (line);
-
-  /* add the main dialog box to the new vbox */
-  gtk_box_pack_start (GTK_BOX (vbox), GTK_DIALOG (titled_dialog)->vbox, TRUE, TRUE, 0);
-  g_object_unref (G_OBJECT (GTK_DIALOG (titled_dialog)->vbox));
-
-  /* make sure to update the heading whenever one of the relevant window properties changes */
-  g_signal_connect (G_OBJECT (titled_dialog), "notify::icon", G_CALLBACK (xfce_titled_dialog_update_heading), NULL);
-  g_signal_connect (G_OBJECT (titled_dialog), "notify::icon-name", G_CALLBACK (xfce_titled_dialog_update_heading), NULL);
-  g_signal_connect (G_OBJECT (titled_dialog), "notify::title", G_CALLBACK (xfce_titled_dialog_update_heading), NULL);
-
-  /* initially update the heading properties */
-  xfce_titled_dialog_update_heading (titled_dialog);
-}
-
-
-
-
-static void
-xfce_titled_dialog_finalize (GObject *object)
-{
-  XfceTitledDialog *titled_dialog = XFCE_TITLED_DIALOG (object);
-
-  /* release the subtitle */
-  g_free (titled_dialog->priv->subtitle);
-
-  (*G_OBJECT_CLASS (xfce_titled_dialog_parent_class)->finalize) (object);
-}
-
-
-
-static void
-xfce_titled_dialog_get_property (GObject    *object,
-                                 guint       prop_id,
-                                 GValue     *value,
-                                 GParamSpec *pspec)
-{
-  XfceTitledDialog *titled_dialog = XFCE_TITLED_DIALOG (object);
-
-  switch (prop_id)
-    {
-    case PROP_SUBTITLE:
-      g_value_set_string (value, xfce_titled_dialog_get_subtitle (titled_dialog));
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-
-
-static void
-xfce_titled_dialog_set_property (GObject      *object,
-                                 guint         prop_id,
-                                 const GValue *value,
-                                 GParamSpec   *pspec)
-{
-  XfceTitledDialog *titled_dialog = XFCE_TITLED_DIALOG (object);
-
-  switch (prop_id)
-    {
-    case PROP_SUBTITLE:
-      xfce_titled_dialog_set_subtitle (titled_dialog, g_value_get_string (value));
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-
-
-static void
-xfce_titled_dialog_close (GtkDialog *dialog)
-{
-  GdkEvent *event;
-
-  /* verify that the dialog is realized */
-  if (G_LIKELY (GTK_WIDGET_REALIZED (dialog)))
-    {
-      /* send a delete event to the dialog */
-      event = gdk_event_new (GDK_DELETE);
-      event->any.window = g_object_ref (GTK_WIDGET (dialog)->window);
-      event->any.send_event = TRUE;
-      gtk_main_do_event (event);
-      gdk_event_free (event);
-    }
-}
-
-
-
-static void
-xfce_titled_dialog_update_heading (XfceTitledDialog *titled_dialog)
-{
-  /* update the heading properties using the window property values */
-  xfce_heading_set_icon (XFCE_HEADING (titled_dialog->priv->heading), gtk_window_get_icon (GTK_WINDOW (titled_dialog)));
-  xfce_heading_set_icon_name (XFCE_HEADING (titled_dialog->priv->heading), gtk_window_get_icon_name (GTK_WINDOW (titled_dialog)));
-  xfce_heading_set_title (XFCE_HEADING (titled_dialog->priv->heading), gtk_window_get_title (GTK_WINDOW (titled_dialog)));
-}
-
-
-
-/**
- * xfce_titled_dialog_new:
- *
- * Allocates a new #XfceTitledDialog instance.
- *
- * Return value: the newly allocated #XfceTitledDialog.
- *
- * Since: 4.4.0
- **/
-GtkWidget*
-xfce_titled_dialog_new (void)
-{
-  return g_object_new (XFCE_TYPE_TITLED_DIALOG, NULL);
-}
-
-
-
-/**
- * xfce_titled_dialog_new_with_buttons:
- * @title             : title of the dialog, or %NULL.
- * @parent            : transient parent window of the dialog, or %NULL.
- * @flags             : from #GtkDialogFlags.
- * @first_button_text : stock ID or text to go in first, or %NULL.
- * @...               : response ID for the first button, then additional buttons, ending with %NULL.
- *
- * See the documentation of gtk_dialog_new_with_buttons() for details about the
- * parameters and the returned dialog.
- *
- * Return value: the newly allocated #XfceTitledDialog.
- *
- * Since: 4.4.0
- **/
-GtkWidget*
-xfce_titled_dialog_new_with_buttons (const gchar   *title,
-                                     GtkWindow     *parent,
-                                     GtkDialogFlags flags,
-                                     const gchar   *first_button_text,
-                                     ...)
-{
-  const gchar *button_text;
-  GtkWidget   *dialog;
-  va_list      args;
-  gint         response_id;
-
-  /* allocate the dialog */
-  dialog = g_object_new (XFCE_TYPE_TITLED_DIALOG,
-                         "destroy-with-parent", ((flags & GTK_DIALOG_DESTROY_WITH_PARENT) != 0),
-                         "has-separator", ((flags & GTK_DIALOG_NO_SEPARATOR) == 0),
-                         "modal", ((flags & GTK_DIALOG_MODAL) != 0),
-                         "title", title,
-                         NULL);
-
-  /* set the transient parent (if any) */
-  if (G_LIKELY (parent != NULL))
-    gtk_window_set_transient_for (GTK_WINDOW (dialog), parent);
-
-  /* add all additional buttons */
-  va_start (args, first_button_text);
-  for (button_text = first_button_text; button_text != NULL; )
-    {
-      response_id = va_arg (args, gint);
-      gtk_dialog_add_button (GTK_DIALOG (dialog), button_text, response_id);
-      button_text = va_arg (args, const gchar *);
-    }
-  va_end (args);
-
-  return dialog;
-}
-
-
-
-/**
- * xfce_titled_dialog_get_subtitle:
- * @titled_dialog : a #XfceTitledDialog.
- *
- * Returns the subtitle of the @titled_dialog, or %NULL
- * if no subtitle is displayed in the @titled_dialog.
- *
- * Return value: the subtitle of @titled_dialog, or %NULL.
- *
- * Since: 4.4.0
- **/
-G_CONST_RETURN gchar*
-xfce_titled_dialog_get_subtitle (XfceTitledDialog *titled_dialog)
-{
-  g_return_val_if_fail (XFCE_IS_TITLED_DIALOG (titled_dialog), NULL);
-  return titled_dialog->priv->subtitle;
-}
-
-
-
-/**
- * xfce_titled_dialog_set_subtitle:
- * @titled_dialog : a #XfceTitledDialog.
- * @subtitle      : the new subtitle for the @titled_dialog, or %NULL.
- *
- * Sets the subtitle displayed by @titled_dialog to @subtitle; if
- * @subtitle is %NULL no subtitle will be displayed by the @titled_dialog.
- *
- * Since: 4.4.0
- **/
-void
-xfce_titled_dialog_set_subtitle (XfceTitledDialog *titled_dialog,
-                                 const gchar      *subtitle)
-{
-  g_return_if_fail (XFCE_IS_TITLED_DIALOG (titled_dialog));
-  g_return_if_fail (subtitle == NULL || g_utf8_validate (subtitle, -1, NULL));
-
-  /* release the previous subtitle */
-  g_free (titled_dialog->priv->subtitle);
-
-  /* activate the new subtitle */
-  titled_dialog->priv->subtitle = g_strdup (subtitle);
-
-  /* update the subtitle for the heading */
-  xfce_heading_set_subtitle (XFCE_HEADING (titled_dialog->priv->heading), subtitle);
-
-  /* notify listeners */
-  g_object_notify (G_OBJECT (titled_dialog), "subtitle");
-}
-
-
diff --git a/exo-support/xfce-titled-dialog.h b/exo-support/xfce-titled-dialog.h
deleted file mode 100644
index 350ef85..0000000
--- a/exo-support/xfce-titled-dialog.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*-
- * Copyright (c) 2006 Benedikt Meurer <benny at xfce.org>.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __XFCE_TITLED_DIALOG_H__
-#define __XFCE_TITLED_DIALOG_H__
-
-#include <gtk/gtk.h>
-
-G_BEGIN_DECLS
-
-typedef struct _XfceTitledDialogPrivate XfceTitledDialogPrivate;
-typedef struct _XfceTitledDialogClass   XfceTitledDialogClass;
-typedef struct _XfceTitledDialog        XfceTitledDialog;
-
-#define XFCE_TYPE_TITLED_DIALOG             (xfce_titled_dialog_get_type ())
-#define XFCE_TITLED_DIALOG(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), XFCE_TYPE_TITLED_DIALOG, XfceTitledDialog))
-#define XFCE_TITLED_DIALOG_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), XFCE_TYPE_TITLED_DIALOG, XfceTitledDialogClass))
-#define XFCE_IS_TITLED_DIALOG(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XFCE_TYPE_TITLED_DIALOG))
-#define XFCE_IS_TITLED_DIALOG_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), XFCE_TYPE_TITLED_DIALOG))
-#define XFCE_TITLED_DIALOG_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), XFCE_TYPE_TITLED_DIALOG, XfceTitledDialogClass))
-
-struct _XfceTitledDialogClass
-{
-  /*< private >*/
-  GtkDialogClass __parent__;
-
-  /* reserved for future expansion */
-  void (*reserved0) (void);
-  void (*reserved1) (void);
-  void (*reserved2) (void);
-  void (*reserved3) (void);
-  void (*reserved4) (void);
-  void (*reserved5) (void);
-};
-
-struct _XfceTitledDialog
-{
-  /*< private >*/
-  GtkDialog                __parent__;
-  XfceTitledDialogPrivate *priv;
-};
-
-GType                 xfce_titled_dialog_get_type         (void) G_GNUC_CONST;
-
-GtkWidget            *xfce_titled_dialog_new              (void) G_GNUC_MALLOC;
-GtkWidget            *xfce_titled_dialog_new_with_buttons (const gchar      *title,
-                                                           GtkWindow        *parent,
-                                                           GtkDialogFlags    flags,
-                                                           const gchar      *first_button_text,
-                                                           ...) G_GNUC_MALLOC;
-
-G_CONST_RETURN gchar *xfce_titled_dialog_get_subtitle     (XfceTitledDialog *titled_dialog);
-void                  xfce_titled_dialog_set_subtitle     (XfceTitledDialog *titled_dialog,
-                                                           const gchar      *subtitle);
-
-G_END_DECLS
-
-#endif /* !__XFCE_TITLED_DIALOG_H__ */



More information about the Xfce4-commits mailing list