Commit 5946c417 authored by Johannes Schmid's avatar Johannes Schmid

Removed deprecated libraries and fixed missing header

bgo#580860 – Remove deprecated libgnome dependency
bgo#582511 – Use GtkBuilder instead of libglade
bgo#583963 – does not build with gdl 2.27.2
parent 35e3e15e
......@@ -50,11 +50,9 @@ AC_SUBST(SNAPSHOT)
GTK_REQUIRED=2.12.0
XML_REQUIRED=2.2.8
LIBGLADE_REQUIRED=2.0.0
AC_SUBST(GTK_REQUIRED)
AC_SUBST(XML_REQUIRED)
AC_SUBST(LIBGLADE_REQUIRED)
AM_MAINTAINER_MODE
......@@ -82,8 +80,7 @@ AC_SUBST(XML_CFLAGS)
AC_SUBST(XML_LIBS)
PKG_CHECK_MODULES(GDL_DEPENDENCIES,
gtk+-2.0 >= $GTK_REQUIRED
libglade-2.0 >= $LIBGLADE_REQUIRED)
gtk+-2.0 >= $GTK_REQUIRED)
AC_SUBST(GDL_DEPENDENCIES_CFLAGS)
AC_SUBST(GDL_DEPENDENCIES_LIBS)
......
......@@ -47,8 +47,7 @@ CFILE_GLOB=$(top_srcdir)/gdl/*.c
# Header files to ignore when scanning.
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
IGNORE_HFILES=gdl-data-* gdl-i18n.h libgdl* gdl-dock-notebook.h \
gdl-dock-paned.h gdl-dock-tablabel.h gdl-dock-item-button-image.h
IGNORE_HFILES=gdl-data-* gdl-i18n.h libgdl*
# Images to copy into HTML directory.
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
......
......@@ -17,6 +17,7 @@
<xi:include href="xml/gdl-dock.xml" />
<xi:include href="xml/gdl-dock-object.xml" />
<xi:include href="xml/gdl-dock-bar.xml" />
<xi:include href="xml/gdl-placeholder.xml" />
<xi:include href="xml/gdl-tools.xml" />
</chapter>
</book>
......@@ -8,10 +8,7 @@ Source: %{name}-%{version}.tar.gz
BuildRoot: /var/tmp/%{name}-%{version}-root
URL: http://www.gnome.org
Requires: gtk2 >= @GTK_REQUIRED@
Requires: libgnomeui >= @GNOME_REQUIRED@
Requires: libbonoboui >= @BONOBOUI_REQUIRED@
Requires: libxml2 >= @XML_REQUIRED@
Requires: libglade2 >= @LIBGLADE_REQUIRED@
%description
This package contains components and libraries that are intended to be
......
INCLUDES = \
-DG_LOG_DOMAIN=\"Gdl\" \
-DGDL_GLADEDIR=\""$(gladedir)"\" \
-DGDL_UIDIR=\""$(uidir)"\" \
-I$(includedir) -I$(top_srcdir) \
$(WARN_CFLAGS) $(DEPRECATED_FLAGS) \
$(GDL_DEPENDENCIES_CFLAGS) $(XML_CFLAGS) \
......@@ -29,7 +29,8 @@ libgdl_headers = \
gdl-dock-item.h \
gdl-dock-item-grip.h \
gdl-dock-layout.h \
gdl-dock-bar.h
gdl-dock-bar.h \
gdl-dock-placeholder.h
libgdl_1_la_SOURCES = \
$(libgdl_headers) \
......@@ -51,7 +52,6 @@ libgdl_1_la_SOURCES = \
gdl-dock-tablabel.h \
gdl-dock-layout.c \
gdl-dock-placeholder.c \
gdl-dock-placeholder.h \
gdl-dock-bar.c \
gdl-switcher.c \
gdl-switcher.h \
......@@ -77,8 +77,8 @@ libgdlinclude_HEADERS = \
$(libgdl_headers) \
libgdltypebuiltins.h
gladedir = $(datadir)/gdl/glade
glade_DATA = layout.glade
uidir = $(datadir)/gdl/ui
ui_DATA = layout.ui
EXTRA_DIST = libgdlmarshal.list \
tree-expand.xpm \
......
......@@ -28,7 +28,6 @@
#include <stdlib.h>
#include <libxml/parser.h>
#include <gtk/gtk.h>
#include <glade/glade.h>
#include "gdl-dock-layout.h"
#include "gdl-tools.h"
......@@ -48,7 +47,7 @@ enum {
#define LAYOUT_ELEMENT_NAME "layout"
#define NAME_ATTRIBUTE_NAME "name"
#define LAYOUT_GLADE_FILE "layout.glade"
#define LAYOUT_UI_FILE "layout.ui"
enum {
COLUMN_NAME,
......@@ -548,20 +547,23 @@ master_locked_notify_cb (GdlDockMaster *master,
}
}
static GladeXML *
load_interface (const gchar *top_widget)
static GtkBuilder *
load_interface ()
{
GladeXML *gui;
GtkBuilder *gui;
gchar *gui_file;
GError* error = NULL;
/* load ui */
gui_file = g_build_filename (GDL_GLADEDIR, LAYOUT_GLADE_FILE, NULL);
gui = glade_xml_new (gui_file, top_widget, GETTEXT_PACKAGE);
gui_file = g_build_filename (GDL_UIDIR, LAYOUT_UI_FILE, NULL);
gui = gtk_builder_new();
gtk_builder_add_from_file (gui, gui_file, &error);
g_free (gui_file);
if (!gui) {
/* FIXME: pop up an error dialog */
if (error) {
g_warning (_("Could not load layout user interface file '%s'"),
LAYOUT_GLADE_FILE);
LAYOUT_UI_FILE);
g_object_unref (gui);
g_error_free (error);
return NULL;
};
return gui;
......@@ -570,8 +572,8 @@ load_interface (const gchar *top_widget)
static GtkWidget *
gdl_dock_layout_construct_items_ui (GdlDockLayout *layout)
{
GladeXML *gui;
GtkWidget *container;
GtkBuilder *gui;
GtkWidget *dialog;
GtkWidget *items_list;
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
......@@ -579,23 +581,23 @@ gdl_dock_layout_construct_items_ui (GdlDockLayout *layout)
GdlDockLayoutUIData *ui_data;
/* load the interface if it wasn't provided */
gui = load_interface ("items_vbox");
gui = load_interface ();
if (!gui)
return NULL;
/* get the container */
container = glade_xml_get_widget (gui, "items_vbox");
dialog = GTK_WIDGET (gtk_builder_get_object (gui, "layout_dialog"));
ui_data = g_new0 (GdlDockLayoutUIData, 1);
ui_data->layout = layout;
g_object_add_weak_pointer (G_OBJECT (layout),
(gpointer *) &ui_data->layout);
g_object_set_data (G_OBJECT (container), "ui_data", ui_data);
g_object_set_data (G_OBJECT (dialog), "ui_data", ui_data);
/* get ui widget references */
ui_data->locked_check = glade_xml_get_widget (gui, "locked_check");
items_list = glade_xml_get_widget (gui, "items_list");
ui_data->locked_check = GTK_WIDGET (gtk_builder_get_object (gui, "locked_check"));
items_list = GTK_WIDGET (gtk_builder_get_object(gui, "items_list"));
/* locked check connections */
g_signal_connect (ui_data->locked_check, "toggled",
......@@ -629,11 +631,11 @@ gdl_dock_layout_construct_items_ui (GdlDockLayout *layout)
gtk_tree_view_append_column (GTK_TREE_VIEW (items_list), column);
/* connect signals */
g_signal_connect (container, "destroy", (GCallback) layout_ui_destroyed, NULL);
g_signal_connect (dialog, "destroy", (GCallback) layout_ui_destroyed, NULL);
g_object_unref (gui);
return container;
return dialog;
}
static void
......@@ -671,22 +673,24 @@ cell_edited_cb (GtkCellRendererText *cell,
static GtkWidget *
gdl_dock_layout_construct_layouts_ui (GdlDockLayout *layout)
{
GladeXML *gui;
GtkBuilder *gui;
GtkWidget *container;
GtkWidget *layouts_list;
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
GtkWidget *load_button;
GtkWidget *delete_button;
GdlDockLayoutUIData *ui_data;
/* load the interface if it wasn't provided */
gui = load_interface ("layouts_vbox");
gui = load_interface ();
if (!gui)
return NULL;
/* get the container */
container = glade_xml_get_widget (gui, "layouts_vbox");
container = GTK_WIDGET (gtk_builder_get_object(gui, "layouts_vbox"));
ui_data = g_new0 (GdlDockLayoutUIData, 1);
ui_data->layout = layout;
......@@ -695,7 +699,7 @@ gdl_dock_layout_construct_layouts_ui (GdlDockLayout *layout)
g_object_set_data (G_OBJECT (container), "ui-data", ui_data);
/* get ui widget references */
layouts_list = glade_xml_get_widget (gui, "layouts_list");
layouts_list = GTK_WIDGET (gtk_builder_get_object(gui, "layouts_list"));
/* set models */
gtk_tree_view_set_model (GTK_TREE_VIEW (layouts_list),
......@@ -714,10 +718,12 @@ gdl_dock_layout_construct_layouts_ui (GdlDockLayout *layout)
ui_data->selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (layouts_list));
/* connect signals */
glade_xml_signal_connect_data (gui, "on_load_button_clicked",
G_CALLBACK (load_layout_cb), ui_data);
glade_xml_signal_connect_data (gui, "on_delete_button_clicked",
G_CALLBACK (delete_layout_cb), ui_data);
load_button = GTK_WIDGET (gtk_builder_get_object(gui, "load_button"));
delete_button = GTK_WIDGET (gtk_builder_get_object(gui, "delete_button"));
g_signal_connect (load_button, "clicked", (GCallback) load_layout_cb, ui_data);
g_signal_connect (delete_button, "clicked", (GCallback) delete_layout_cb, ui_data);
g_signal_connect (container, "destroy", (GCallback) layout_ui_destroyed, NULL);
......@@ -726,31 +732,6 @@ gdl_dock_layout_construct_layouts_ui (GdlDockLayout *layout)
return container;
}
static GtkWidget *
gdl_dock_layout_construct_ui (GdlDockLayout *layout)
{
GtkWidget *container, *child;
container = gtk_notebook_new ();
gtk_widget_show (container);
child = gdl_dock_layout_construct_items_ui (layout);
if (child)
gtk_notebook_append_page (GTK_NOTEBOOK (container),
child,
gtk_label_new (_("Dock items")));
child = gdl_dock_layout_construct_layouts_ui (layout);
if (child)
gtk_notebook_append_page (GTK_NOTEBOOK (container),
child,
gtk_label_new (_("Saved layouts")));
gtk_notebook_set_current_page (GTK_NOTEBOOK (container), 0);
return container;
}
/* ----- Save & Load layout functions --------- */
#define GDL_DOCK_PARAM_CONSTRUCTION(p) \
......@@ -1302,7 +1283,7 @@ gdl_dock_layout_delete_layout (GdlDockLayout *layout,
void
gdl_dock_layout_run_manager (GdlDockLayout *layout)
{
GtkWidget *dialog, *container;
GtkWidget *dialog;
GtkWidget *parent = NULL;
g_return_if_fail (layout != NULL);
......@@ -1311,22 +1292,7 @@ gdl_dock_layout_run_manager (GdlDockLayout *layout)
/* not attached to a dock yet */
return;
container = gdl_dock_layout_construct_ui (layout);
if (!container)
return;
parent = GTK_WIDGET (gdl_dock_master_get_controller (layout->master));
if (parent)
parent = gtk_widget_get_toplevel (parent);
dialog = gtk_dialog_new_with_buttons (_("Layout managment"),
parent ? GTK_WINDOW (parent) : NULL,
GTK_DIALOG_MODAL | GTK_DIALOG_NO_SEPARATOR,
GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
NULL);
gtk_window_set_default_size (GTK_WINDOW (dialog), -1, 300);
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), container);
dialog = gdl_dock_layout_construct_items_ui (layout);
gtk_dialog_run (GTK_DIALOG (dialog));
......@@ -1459,28 +1425,6 @@ gdl_dock_layout_get_layouts (GdlDockLayout *layout,
return retval;
}
GtkWidget *
gdl_dock_layout_get_ui (GdlDockLayout *layout)
{
GtkWidget *ui;
g_return_val_if_fail (layout != NULL, NULL);
ui = gdl_dock_layout_construct_ui (layout);
return ui;
}
GtkWidget *
gdl_dock_layout_get_items_ui (GdlDockLayout *layout)
{
GtkWidget *ui;
g_return_val_if_fail (layout != NULL, NULL);
ui = gdl_dock_layout_construct_items_ui (layout);
return ui;
}
GtkWidget *
gdl_dock_layout_get_layouts_ui (GdlDockLayout *layout)
{
......
......@@ -36,11 +36,6 @@
#include <gtk/gtk.h>
#if HAVE_GNOME
#include <gconf/gconf-client.h>
#include <libgnome/gnome-gconf.h>
#endif
static void gdl_switcher_set_property (GObject *object,
guint prop_id,
const GValue *value,
......
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
<glade-interface>
<requires lib="gnome"/>
<widget class="GtkDialog" id="layout_dialog">
<property name="border_width">4</property>
<property name="title" translatable="yes">Layout Managment</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_NONE</property>
<property name="modal">True</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox1">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">8</property>
<child internal-child="action_area">
<widget class="GtkHButtonBox" id="dialog-action_area1">
<property name="visible">True</property>
<property name="layout_style">GTK_BUTTONBOX_END</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<child>
<widget class="GtkNotebook" id="layout_container">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="show_tabs">True</property>
<property name="show_border">True</property>
<property name="tab_pos">GTK_POS_TOP</property>
<property name="scrollable">False</property>
<property name="enable_popup">False</property>
<child>
<widget class="GtkVBox" id="items_vbox">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">6</property>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow3">
<property name="height_request">100</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="shadow_type">GTK_SHADOW_IN</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
<widget class="GtkTreeView" id="items_list">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_visible">True</property>
<property name="rules_hint">True</property>
<property name="reorderable">False</property>
<property name="enable_search">True</property>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkCheckButton" id="locked_check">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">_Lock dock items</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="tab_expand">False</property>
<property name="tab_fill">True</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="label" translatable="yes">Dock items</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="type">tab</property>
</packing>
</child>
<child>
<widget class="GtkVBox" id="layouts_vbox">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">6</property>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow4">
<property name="height_request">100</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="shadow_type">GTK_SHADOW_IN</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
<widget class="GtkTreeView" id="layouts_list">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_visible">True</property>
<property name="rules_hint">False</property>
<property name="reorderable">False</property>
<property name="enable_search">True</property>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkHButtonBox" id="hbuttonbox1">
<property name="visible">True</property>
<property name="layout_style">GTK_BUTTONBOX_END</property>
<property name="spacing">6</property>
<child>
<widget class="GtkButton" id="delete_button">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-delete</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<signal name="clicked" handler="on_delete_button_clicked" last_modification_time="Thu, 29 May 2003 18:32:55 GMT"/>
</widget>
</child>
<child>
<widget class="GtkButton" id="load_button">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<signal name="clicked" handler="on_load_button_clicked" last_modification_time="Fri, 30 May 2003 11:34:24 GMT"/>
<child>
<widget class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<child>
<widget class="GtkHBox" id="hbox3">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">2</property>
<child>
<widget class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="stock">gtk-open</property>
<property name="icon_size">4</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label4">
<property name="visible">True</property>
<property name="label" translatable="yes">_Load</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
</child>
</widget>
</child>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
<packing>
<property name="tab_expand">False</property>
<property name="tab_fill">True</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="label" translatable="yes">Saved layouts</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="type">tab</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
</child>
</widget>
</glade-interface>
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