summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun McCance <shaunm@src.gnome.org>2003-11-11 15:02:52 +0000
committerShaun McCance <shaunm@src.gnome.org>2003-11-11 15:02:52 +0000
commit9550a34d165dfcb1726b2a40cf8472cda4ec827f (patch)
tree0949ef7bc0fac72cb2cf8544d641d25270d51c27
parent62c8e4b45c2937263fa8b86e52788d0b8999ed3f (diff)
downloadyelp-9550a34d165dfcb1726b2a40cf8472cda4ec827f.tar.gz
- Breaking things more for the new transformations
* src/Makefile.am: * src/yelp-base.c: * src/yelp-history.c: * src/yelp-window.c: * src/yelp-window.h: - Breaking things more for the new transformations
-rw-r--r--ChangeLog9
-rw-r--r--src/Makefile.am4
-rw-r--r--src/yelp-base.c12
-rw-r--r--src/yelp-history.c6
-rw-r--r--src/yelp-window.c1066
-rw-r--r--src/yelp-window.h17
6 files changed, 536 insertions, 578 deletions
diff --git a/ChangeLog b/ChangeLog
index 00998096..cf68290b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2003-11-11 Shaun McCance <shaunm@gnome.org>
+
+ * src/Makefile.am:
+ * src/yelp-base.c:
+ * src/yelp-history.c:
+ * src/yelp-window.c:
+ * src/yelp-window.h:
+ - Breaking things more for the new transformations
+
2003-11-06 Shaun McCance <shaunm@gnome.org>
* configure.in:
diff --git a/src/Makefile.am b/src/Makefile.am
index e1be5a14..c73a81ae 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -96,10 +96,6 @@ yelp_SOURCES = \
yelp-scrollkeeper.c yelp-scrollkeeper.h \
yelp-pager.c yelp-pager.h \
yelp-util.c yelp-util.h \
- yelp-view.c yelp-view.h \
- yelp-view-content.c yelp-view-content.h \
- yelp-view-index.c yelp-view-index.h \
- yelp-view-toc.c yelp-view-toc.h \
yelp-window.c yelp-window.h \
yelp-uri.c yelp-uri.h
diff --git a/src/yelp-base.c b/src/yelp-base.c
index f61db65d..9bb9de6e 100644
--- a/src/yelp-base.c
+++ b/src/yelp-base.c
@@ -175,6 +175,7 @@ GtkWidget *
yelp_base_new_window (YelpBase *base, const gchar *str_uri)
{
YelpBasePriv *priv;
+ YelpURI *uri;
GtkWidget *window;
g_return_val_if_fail (YELP_IS_BASE (base), NULL);
@@ -196,11 +197,12 @@ yelp_base_new_window (YelpBase *base, const gchar *str_uri)
gtk_widget_show_all (window);
- if (str_uri && strcmp (str_uri, "")) {
- yelp_window_open_uri (YELP_WINDOW (window), str_uri);
- } else {
- yelp_window_open_uri (YELP_WINDOW (window), "toc:");
- }
+ if (str_uri && strcmp (str_uri, ""))
+ uri = yelp_uri_new (str_uri);
+ else
+ uri = yelp_uri_new ("toc:");
+
+ yelp_window_open_uri (YELP_WINDOW (window), uri);
return window;
}
diff --git a/src/yelp-history.c b/src/yelp-history.c
index 355a1c3c..b3db89a5 100644
--- a/src/yelp-history.c
+++ b/src/yelp-history.c
@@ -136,7 +136,7 @@ history_finalize (GObject *object)
priv = history->priv;
for (node = priv->history_list; node; node = node->next) {
- yelp_uri_unref (YELP_URI (node->data));
+ g_object_unref (G_OBJECT (node->data));
}
g_list_free (priv->history_list);
@@ -152,7 +152,7 @@ history_free_history_list (GList *history_list)
GList *node;
for (node = history_list; node; node = node->next) {
- yelp_uri_unref (YELP_URI (node->data));
+ g_object_unref (G_OBJECT (node->data));
}
g_list_free (history_list);
@@ -209,7 +209,7 @@ yelp_history_goto (YelpHistory *history, YelpURI *uri)
}
priv->history_list = g_list_append (priv->history_list,
- yelp_uri_ref (uri));
+ g_object_ref (uri));
priv->current = g_list_last (priv->history_list);
diff --git a/src/yelp-window.c b/src/yelp-window.c
index ead71fc9..ab4fe45a 100644
--- a/src/yelp-window.c
+++ b/src/yelp-window.c
@@ -1,6 +1,6 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/*
- * Copyright (C) 2001-2002 Mikael Hallendal <micke@imendio.com>
+ * Copyright (C) 2003 Shaun McCance <shaunm@gnome.org>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@ -17,7 +17,8 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
- * Author: Mikael Hallendal <micke@imendio.com>
+ * Author: Shaun McCance <shaunm@gnome.org>
+ * Based on implementation by Mikael Hallendal <micke@imendio.com>
*/
#ifdef HAVE_CONFIG_H
@@ -41,9 +42,6 @@
#include "yelp-util.h"
#include "yelp-section.h"
#include "yelp-history.h"
-#include "yelp-view-content.h"
-#include "yelp-view-index.h"
-#include "yelp-view-toc.h"
#include "yelp-window.h"
#define d(x)
@@ -65,16 +63,31 @@ static void window_init (YelpWindow *window);
static void window_class_init (YelpWindowClass *klass);
static void window_populate (YelpWindow *window);
-
+static GtkWidget * window_create_toolbar (YelpWindow *window);
+static GdkPixbuf * window_load_icon (void);
static gboolean window_handle_uri (YelpWindow *window,
YelpURI *uri);
-static void window_uri_selected_cb (gpointer view,
- YelpURI *uri,
- gboolean handled,
+
+static void window_new_window_cb (gpointer data,
+ guint section,
+ GtkWidget *widget);
+static void window_close_window_cb (gpointer data,
+ guint section,
+ GtkWidget *widget);
+static void window_about_cb (gpointer data,
+ guint section,
+ GtkWidget *widget);
+static gboolean window_configure_cb (GtkWidget *widget,
+ GdkEventConfigure *event,
+ gpointer data);
+
+static void window_back_button_clicked (GtkWidget *button,
YelpWindow *window);
-static void window_title_changed_cb (gpointer view,
- const gchar *title,
+static void window_forward_button_clicked (GtkWidget *button,
+ YelpWindow *window);
+static void window_home_button_clicked (GtkWidget *button,
YelpWindow *window);
+
static void window_toggle_history_back (YelpHistory *history,
gboolean sensitive,
YelpWindow *window);
@@ -82,23 +95,20 @@ static void window_toggle_history_back (YelpHistory *history,
static void window_toggle_history_forward (YelpHistory *history,
gboolean sensitive,
YelpWindow *window);
-
static void window_history_action (YelpWindow *window,
YelpHistoryAction action);
-static void window_back_button_clicked (GtkWidget *button,
- YelpWindow *window);
-static void window_forward_button_clicked (GtkWidget *button,
+
+/*
+static void window_uri_selected_cb (gpointer view,
+ YelpURI *uri,
+ gboolean handled,
YelpWindow *window);
-static void window_home_button_clicked (GtkWidget *button,
+static void window_title_changed_cb (gpointer view,
+ const gchar *title,
YelpWindow *window);
+
static void window_index_button_clicked (GtkWidget *button,
YelpWindow *window);
-static void window_new_window_cb (gpointer data,
- guint section,
- GtkWidget *widget);
-static void window_close_window_cb (gpointer data,
- guint section,
- GtkWidget *widget);
static void window_find_cb (gpointer data, guint section,
GtkWidget *widget);
static void window_find_again_cb (gpointer data, guint section,
@@ -112,351 +122,499 @@ static void window_go_home_cb (gpointer data,
static void window_go_index_cb (gpointer data,
guint section,
GtkWidget *widget);
-static void window_about_cb (gpointer data,
- guint section,
- GtkWidget *widget);
static gboolean window_find_delete_event_cb (GtkWidget *widget,
gpointer user_data);
static void window_find_response_cb (GtkWidget *dialog ,
gint response,
YelpWindow *window);
static YelpView * window_get_active_view (YelpWindow *window);
-static GtkWidget * window_create_toolbar (YelpWindow *window);
-static GdkPixbuf * window_load_icon (void);
-static gboolean window_configure_cb (GtkWidget *widget,
- GdkEventConfigure *event,
- gpointer data);
-
+*/
+/*
enum {
- PAGE_TOC_VIEW,
- PAGE_CONTENT_VIEW,
- PAGE_INDEX_VIEW
+ PAGE_TOC_VIEW,
+ PAGE_CONTENT_VIEW,
+ PAGE_INDEX_VIEW
};
+*/
enum {
- NEW_WINDOW_REQUESTED,
- LAST_SIGNAL
+ NEW_WINDOW_REQUESTED,
+ LAST_SIGNAL
};
static gint signals[LAST_SIGNAL] = { 0 };
struct _YelpWindowPriv {
- GNode *doc_tree;
- GList *index;
+ GNode *doc_tree;
+ GList *index;
- GtkWidget *notebook;
+ GtkWidget *pane;
+ GtkWidget *side_sects;
+ YelpHtml *html_view;
- YelpView *toc_view;
- YelpView *content_view;
- YelpView *index_view;
-
- GtkWidget *find_dialog;
- GtkWidget *find_entry;
- GtkWidget *case_checkbutton;
- GtkWidget *wrap_checkbutton;
- gchar *find_string;
- gboolean match_case;
- gboolean wrap;
-
- YelpHistory *history;
+ YelpHistory *history;
- GtkItemFactory *item_factory;
+ GtkItemFactory *item_factory;
- GtkWidget *forward_button;
- GtkWidget *back_button;
+ GtkWidget *forward_button;
+ GtkWidget *back_button;
};
static GtkItemFactoryEntry menu_items[] = {
- {N_("/_File"), NULL, 0, 0, "<Branch>"},
- {N_("/File/_New window"), NULL, window_new_window_cb, 0, "<StockItem>", GTK_STOCK_NEW },
- {N_("/File/_Close window"), NULL, window_close_window_cb, 0, "<StockItem>", GTK_STOCK_CLOSE },
-
- {N_("/_Edit"), NULL, 0, 0, "<Branch>"},
- {N_("/Edit/_Find in page..."), NULL, window_find_cb, 0, "<StockItem>", GTK_STOCK_FIND },
- {N_("/Edit/_Find again"), "<Control>g", window_find_again_cb, 0, "<StockItem>", GTK_STOCK_FIND },
-
- {N_("/_Go"), NULL, 0, 0, "<Branch>"},
- {N_("/Go/_Back"), NULL, window_history_go_cb, YELP_WINDOW_ACTION_BACK, "<StockItem>", GTK_STOCK_GO_BACK },
- {N_("/Go/_Forward"), NULL, window_history_go_cb, YELP_WINDOW_ACTION_FORWARD, "<StockItem>", GTK_STOCK_GO_FORWARD },
- {N_("/Go/_Home"), NULL, window_go_home_cb, 0, "<StockItem>", GTK_STOCK_HOME },
- {N_("/Go/_Index"), NULL, window_go_index_cb, 0, "<StockItem>", GTK_STOCK_INDEX },
-
- {N_("/_Help"), NULL, 0, 0, "<Branch>"},
- {N_("/Help/_About"), NULL, window_about_cb, 0, "<StockItem>", GNOME_STOCK_ABOUT },
+ {N_("/_File"), NULL, 0, 0, "<Branch>" },
+ {N_("/File/_New window"), NULL,
+ window_new_window_cb, 0,
+ "<StockItem>", GTK_STOCK_NEW },
+ {N_("/File/_Close window"), NULL,
+ window_close_window_cb, 0,
+ "<StockItem>", GTK_STOCK_CLOSE },
+
+ {N_("/_Edit"), NULL, 0, 0, "<Branch>" },
+ /*
+ {N_("/Edit/_Find in page..."), NULL,
+ window_find_cb, 0,
+ "<StockItem>", GTK_STOCK_FIND },
+ {N_("/Edit/_Find again"), "<Control>g",
+ window_find_again_cb, 0,
+ "<StockItem>", GTK_STOCK_FIND },
+ */
+
+ {N_("/_Go"), NULL, 0, 0, "<Branch>" },
+ /*
+ {N_("/Go/_Back"), NULL,
+ window_history_go_cb, YELP_WINDOW_ACTION_BACK,
+ "<StockItem>", GTK_STOCK_GO_BACK },
+ {N_("/Go/_Forward"), NULL,
+ window_history_go_cb, YELP_WINDOW_ACTION_FORWARD,
+ "<StockItem>", GTK_STOCK_GO_FORWARD },
+ {N_("/Go/_Home"), NULL,
+ window_go_home_cb, 0,
+ "<StockItem>", GTK_STOCK_HOME },
+ {N_("/Go/_Index"), NULL,
+ window_go_index_cb, 0,
+ "<StockItem>", GTK_STOCK_INDEX },
+ */
+
+ {N_("/_Help"), NULL, 0, 0, "<Branch>" },
+ {N_("/Help/_About"), NULL,
+ window_about_cb, 0,
+ "<StockItem>", GNOME_STOCK_ABOUT },
};
GType
yelp_window_get_type (void)
{
- static GType window_type = 0;
-
- if (!window_type) {
- static const GTypeInfo window_info =
- {
- sizeof (YelpWindowClass),
- NULL,
- NULL,
- (GClassInitFunc) window_class_init,
- NULL,
- NULL,
- sizeof (YelpWindow),
- 0,
- (GInstanceInitFunc) window_init,
- };
-
- window_type = g_type_register_static (GNOME_TYPE_APP,
- "YelpWindow",
- &window_info, 0);
- }
-
- return window_type;
+ static GType window_type = 0;
+
+ if (!window_type) {
+ static const GTypeInfo window_info = {
+ sizeof (YelpWindowClass),
+ NULL,
+ NULL,
+ (GClassInitFunc) window_class_init,
+ NULL,
+ NULL,
+ sizeof (YelpWindow),
+ 0,
+ (GInstanceInitFunc) window_init,
+ };
+
+ window_type = g_type_register_static (GTK_TYPE_WINDOW,
+ "YelpWindow",
+ &window_info, 0);
+ }
+
+ return window_type;
}
static void
window_init (YelpWindow *window)
{
- YelpWindowPriv *priv;
-/* YelpURI *uri; */
- gint width, height;
-
- priv = g_new0 (YelpWindowPriv, 1);
- window->priv = priv;
-
- priv->toc_view = NULL;
- priv->content_view = NULL;
- priv->index_view = NULL;
-
- priv->match_case = FALSE;
- priv->wrap = TRUE;
-
- priv->history = yelp_history_new ();
-
- g_signal_connect (priv->history,
- "back_exists_changed",
- G_CALLBACK (window_toggle_history_back),
- window);
-
- g_signal_connect (priv->history,
- "forward_exists_changed",
- G_CALLBACK (window_toggle_history_forward),
- window);
-
- width = gnome_config_get_int (YELP_CONFIG_WIDTH
- "=" YELP_CONFIG_WIDTH_DEFAULT);
- height = gnome_config_get_int (YELP_CONFIG_HEIGHT
- "=" YELP_CONFIG_HEIGHT_DEFAULT);
- gtk_window_set_default_size (GTK_WINDOW (window), width, height);
- g_signal_connect (window,
- "configure-event",
- G_CALLBACK (window_configure_cb),
- NULL);
-
- gtk_window_set_title (GTK_WINDOW (window), _("Help Browser"));
+ YelpWindowPriv *priv;
+ gint width, height;
+
+ priv = g_new0 (YelpWindowPriv, 1);
+ window->priv = priv;
+
+ priv->history = yelp_history_new ();
+
+ g_signal_connect (priv->history,
+ "back_exists_changed",
+ G_CALLBACK (window_toggle_history_back),
+ window);
+
+ g_signal_connect (priv->history,
+ "forward_exists_changed",
+ G_CALLBACK (window_toggle_history_forward),
+ window);
+
+ width = gnome_config_get_int (YELP_CONFIG_WIDTH
+ "=" YELP_CONFIG_WIDTH_DEFAULT);
+ height = gnome_config_get_int (YELP_CONFIG_HEIGHT
+ "=" YELP_CONFIG_HEIGHT_DEFAULT);
+ gtk_window_set_default_size (GTK_WINDOW (window), width, height);
+ g_signal_connect (window,
+ "configure-event",
+ G_CALLBACK (window_configure_cb),
+ NULL);
+
+ gtk_window_set_title (GTK_WINDOW (window), _("Help Browser"));
}
static void
window_class_init (YelpWindowClass *klass)
{
- signals[NEW_WINDOW_REQUESTED] =
- g_signal_new ("new_window_requested",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (YelpWindowClass,
- new_window_requested),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
+ signals[NEW_WINDOW_REQUESTED] =
+ g_signal_new ("new_window_requested",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (YelpWindowClass,
+ new_window_requested),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
}
-static void
-window_populate (YelpWindow *window)
+/******************************************************************************/
+
+GtkWidget *
+yelp_window_new (GNode *doc_tree, GList *index)
{
- YelpWindowPriv *priv;
- GtkWidget *toolbar;
- GtkWidget *main_box;
- GtkWidget *sw;
- GtkAccelGroup *accel_group;
- GtkWidget *menu_item;
+ YelpWindow *window;
+ YelpWindowPriv *priv;
- priv = window->priv;
+ window = g_object_new (YELP_TYPE_WINDOW, NULL);
+
+ priv = window->priv;
+
+ priv->doc_tree = doc_tree;
+ priv->index = index;
+
+ window_populate (window);
+
+ gtk_window_set_icon (GTK_WINDOW (window), window_load_icon ());
+
+ return GTK_WIDGET (window);
+}
+
+void
+yelp_window_open_uri (YelpWindow *window,
+ YelpURI *uri)
+{
+ g_return_if_fail (YELP_IS_WINDOW (window));
+
+ yelp_history_goto (window->priv->history, uri);
+
+ window_handle_uri (window, uri);
+}
- main_box = gtk_vbox_new (FALSE, 0);
+YelpURI *
+yelp_window_get_current_uri (YelpWindow *window)
+{
+ g_return_val_if_fail (YELP_IS_WINDOW (window), NULL);
- gnome_app_set_contents (GNOME_APP (window), main_box);
+ return yelp_history_get_current (window->priv->history);
+}
+
+/******************************************************************************/
+
+static void
+window_populate (YelpWindow *window)
+{
+ YelpWindowPriv *priv;
+ GtkWidget *main_box;
+ GtkWidget *toolbar;
+ GtkWidget *sw;
+ GtkAccelGroup *accel_group;
+ GtkWidget *menu_item;
+
+ priv = window->priv;
+
+ main_box = gtk_vbox_new (FALSE, 0);
+
+ gtk_container_add (GTK_CONTAINER (window), main_box);
- accel_group = gtk_accel_group_new ();
- priv->item_factory = gtk_item_factory_new (GTK_TYPE_MENU_BAR,
- "<main>", accel_group);
+ accel_group = gtk_accel_group_new ();
+ priv->item_factory = gtk_item_factory_new (GTK_TYPE_MENU_BAR,
+ "<main>", accel_group);
- gtk_item_factory_set_translate_func (priv->item_factory,
- (GtkTranslateFunc) gettext,
- NULL, NULL);
+ gtk_item_factory_set_translate_func (priv->item_factory,
+ (GtkTranslateFunc) gettext,
+ NULL, NULL);
- gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
+ gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
- gtk_item_factory_create_items (priv->item_factory,
- G_N_ELEMENTS (menu_items),
- menu_items,
- window);
+ gtk_item_factory_create_items (priv->item_factory,
+ G_N_ELEMENTS (menu_items),
+ menu_items,
+ window);
- menu_item = gtk_item_factory_get_item_by_action (priv->item_factory,
- YELP_WINDOW_ACTION_BACK);
- gtk_widget_set_sensitive (menu_item, FALSE);
+ menu_item = gtk_item_factory_get_item_by_action (priv->item_factory,
+ YELP_WINDOW_ACTION_BACK);
+ gtk_widget_set_sensitive (menu_item, FALSE);
- menu_item = gtk_item_factory_get_item_by_action (priv->item_factory,
- YELP_WINDOW_ACTION_FORWARD);
- gtk_widget_set_sensitive (menu_item, FALSE);
+ menu_item = gtk_item_factory_get_item_by_action (priv->item_factory,
+ YELP_WINDOW_ACTION_FORWARD);
+ gtk_widget_set_sensitive (menu_item, FALSE);
- gnome_app_set_menus (GNOME_APP (window), GTK_MENU_BAR (
- gtk_item_factory_get_widget (priv->item_factory, "<main>")));
+ gtk_box_pack_start (GTK_BOX (main_box),
+ GTK_WIDGET (gtk_item_factory_get_widget (priv->item_factory, "<main>")),
+ FALSE, FALSE, 0);
- toolbar = window_create_toolbar (window);
+ toolbar = window_create_toolbar (window);
- gnome_app_set_toolbar (GNOME_APP (window), GTK_TOOLBAR (toolbar));
+ gtk_box_pack_start (GTK_BOX (main_box),
+ GTK_WIDGET (toolbar),
+ FALSE, FALSE, 0);
- priv->notebook = gtk_notebook_new ();
+ priv->pane = gtk_hpaned_new ();
- gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), FALSE);
- gtk_notebook_set_show_border (GTK_NOTEBOOK (priv->notebook), FALSE);
+ priv->side_sects = gtk_tree_view_new ();
+ gtk_paned_add1 (GTK_PANED (priv->pane), priv->side_sects);
- sw = gtk_scrolled_window_new (NULL, NULL);
-
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
- GTK_POLICY_AUTOMATIC,
- GTK_POLICY_AUTOMATIC);
+ sw = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
- gtk_container_add (GTK_CONTAINER (sw),
- priv->toc_view->widget);
+ priv->html_view = yelp_html_new ();
+ gtk_container_add (GTK_CONTAINER (sw),
+ yelp_html_get_widget (priv->html_view));
- gtk_notebook_insert_page (GTK_NOTEBOOK (priv->notebook),
- sw, NULL, PAGE_TOC_VIEW);
-
- gtk_notebook_insert_page (GTK_NOTEBOOK (priv->notebook),
- priv->content_view->widget,
- NULL, PAGE_CONTENT_VIEW);
-
- if (priv->index) {
- gtk_notebook_insert_page (GTK_NOTEBOOK (priv->notebook),
- priv->index_view->widget,
- NULL, PAGE_INDEX_VIEW);
- }
-
- gtk_box_pack_end (GTK_BOX (main_box), priv->notebook,
- TRUE, TRUE, 0);
+ gtk_paned_add2 (GTK_PANED (priv->pane), sw);
- gtk_widget_grab_focus (priv->content_view->widget);
+ gtk_box_pack_start (GTK_BOX (main_box),
+ priv->pane,
+ TRUE, TRUE, 0);
+
+ gtk_widget_grab_focus (yelp_html_get_widget (priv->html_view));
}
-static gboolean
-window_handle_uri (YelpWindow *window, YelpURI *uri)
+static GtkWidget *
+window_create_toolbar (YelpWindow *window)
{
- YelpWindowPriv *priv;
- GError *error = NULL;
- gboolean handled = FALSE;
+ YelpWindowPriv *priv;
+ GtkWidget *toolbar;
+ GtkWidget *button;
+ GtkWidget *icon;
+
+ g_return_val_if_fail (YELP_IS_WINDOW (window), NULL);
+
+ priv = window->priv;
+
+ toolbar = gtk_toolbar_new ();
+
+ icon = gtk_image_new_from_stock ("gtk-go-back",
+ GTK_ICON_SIZE_LARGE_TOOLBAR);
+ priv->back_button =
+ gtk_toolbar_append_item (GTK_TOOLBAR (toolbar),
+ _("Back"),
+ _("Show previous page in history"),
+ NULL, icon,
+ G_CALLBACK (window_back_button_clicked),
+ window);
+ gtk_widget_set_sensitive (priv->back_button, FALSE);
+
+ icon = gtk_image_new_from_stock ("gtk-go-forward",
+ GTK_ICON_SIZE_LARGE_TOOLBAR);
+ priv->forward_button =
+ gtk_toolbar_append_item (GTK_TOOLBAR (toolbar),
+ _("Forward"),
+ _("Show next page in history"),
+ NULL, icon,
+ G_CALLBACK (window_forward_button_clicked),
+ window);
+ gtk_widget_set_sensitive (priv->forward_button, FALSE);
+
+ gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
+
+ icon = gtk_image_new_from_stock ("gtk-home",
+ GTK_ICON_SIZE_LARGE_TOOLBAR);
+ button =
+ gtk_toolbar_append_item (GTK_TOOLBAR (toolbar),
+ _("Home"),
+ _("Go to home view"),
+ NULL, icon,
+ G_CALLBACK (window_home_button_clicked),
+ window);
+
+ return toolbar;
+}
- priv = window->priv;
+static GdkPixbuf *
+window_load_icon (void)
+{
+ static GdkPixbuf *pixbuf = NULL;
- d(g_print ("Handling URL: %s\n", yelp_uri_to_string (uri)));
+ if (!pixbuf) {
+ gchar *file;
- if (!yelp_uri_exists (uri)) {
- gchar *str_uri = yelp_uri_to_string (uri);
-
- g_set_error (&error,
- YELP_ERROR,
- YELP_ERROR_URI_NOT_EXIST,
- _("The document '%s' does not exist"), str_uri);
- g_free (str_uri);
- }
- else if (yelp_uri_get_type (uri) == YELP_URI_TYPE_TOC) {
- d(g_print ("[TOC]\n"));
-
- yelp_view_show_uri (priv->toc_view, uri, NULL);
+ file = gnome_program_locate_file (NULL,
+ GNOME_FILE_DOMAIN_PIXMAP,
+ "gnome-help.png",
+ TRUE,
+ NULL);
- gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook),
- PAGE_TOC_VIEW);
- handled = TRUE;
- }
- else if (yelp_uri_get_type (uri) == YELP_URI_TYPE_INDEX) {
- d(g_print ("[INDEX]\n"));
- gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook),
- PAGE_INDEX_VIEW);
- yelp_view_show_uri (priv->index_view, uri, &error);
- handled = TRUE;
- }
- else if (yelp_uri_get_type (uri) == YELP_URI_TYPE_MAN ||
- yelp_uri_get_type (uri) == YELP_URI_TYPE_INFO ||
- yelp_uri_get_type (uri) == YELP_URI_TYPE_DOCBOOK_XML ||
- yelp_uri_get_type (uri) == YELP_URI_TYPE_DOCBOOK_SGML ||
- yelp_uri_get_type (uri) == YELP_URI_TYPE_HTML ||
- yelp_uri_get_type (uri) == YELP_URI_TYPE_PATH) {
- d(g_print ("[CONTENT]\n"));
- gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook),
- PAGE_CONTENT_VIEW);
- yelp_view_show_uri (priv->content_view,
- uri, &error);
- handled = TRUE;
- } else {
- gnome_url_show (yelp_uri_to_string (uri), &error);
- handled = FALSE;
+ if (file) {
+ pixbuf = gdk_pixbuf_new_from_file (file,
+ NULL);
+ g_free (file);
}
+ }
+
+ return pixbuf;
+}
+
+static gboolean
+window_handle_uri (YelpWindow *window,
+ YelpURI *uri)
+{
+ YelpWindowPriv *priv;
+ GError *error = NULL;
+ gboolean handled = FALSE;
+
+ priv = window->priv;
- if (error) {
- GtkWidget *dialog;
+ if (!yelp_uri_exists (uri)) {
+ gchar *str_uri = yelp_uri_to_string (uri);
- dialog = gtk_message_dialog_new (GTK_WINDOW (window),
- GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_ERROR,
- GTK_BUTTONS_OK,
- error->message);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ g_set_error (&error,
+ YELP_ERROR,
+ YELP_ERROR_URI_NOT_EXIST,
+ _("The document '%s' does not exist"), str_uri);
+ g_free (str_uri);
+ } else {
+ //FIXME
+ switch (yelp_uri_get_resource_type (uri)) {
+ case YELP_URI_TYPE_DOCBOOK_XML:
+ case YELP_URI_TYPE_DOCBOOK_SGML:
+ case YELP_URI_TYPE_HTML:
+ case YELP_URI_TYPE_MAN:
+ case YELP_URI_TYPE_INFO:
+ case YELP_URI_TYPE_GHELP:
+ case YELP_URI_TYPE_GHELP_OTHER:
+ case YELP_URI_TYPE_TOC:
+ case YELP_URI_TYPE_INDEX:
+ case YELP_URI_TYPE_PATH:
+ case YELP_URI_TYPE_FILE:
+ case YELP_URI_TYPE_UNKNOWN:
+ case YELP_URI_TYPE_RELATIVE:
+ default:
+ break;
}
+ }
- return handled;
+ return handled;
}
+/******************************************************************************/
+
static void
-window_uri_selected_cb (gpointer view,
- YelpURI *uri,
- gboolean handled,
- YelpWindow *window)
+window_new_window_cb (gpointer data, guint section, GtkWidget *widget)
{
- YelpWindowPriv *priv;
+ g_return_if_fail (YELP_IS_WINDOW (data));
- g_return_if_fail (YELP_IS_WINDOW (window));
+ g_signal_emit (data, signals[NEW_WINDOW_REQUESTED], 0);
+}
- d(g_print ("uri_selected: %s, handled: %d\n",
- yelp_uri_to_string (uri), handled));
+static void
+window_close_window_cb (gpointer data,
+ guint section,
+ GtkWidget *widget)
+{
+ gtk_widget_destroy (GTK_WIDGET (data));
+}
- priv = window->priv;
+static void
+window_about_cb (gpointer data, guint section, GtkWidget *widget)
+{
+ static GtkWidget *about = NULL;
+
+ if (about == NULL) {
+ const gchar *authors[] = {
+ "Mikael Hallendal <micke@imendio.com>",
+ "Alexander Larsson <alexl@redhat.com>",
+ "Shaun McCance <shaunm@gnome.org>",
+ NULL
+ };
+ /* Note to translators: put here your name (and address) so it
+ * will shop up in the "about" box */
+ gchar *translator_credits = _("translator_credits");
+
+ about = gnome_about_new
+ (PACKAGE, VERSION,
+ "Copyright 2001-2003 Mikael Hallendal <micke@imendio.com>\n",
+ _("A Help Browser for GNOME"),
+ authors,
+ NULL,
+ strcmp (translator_credits, "translator_credits") != 0
+ ? translator_credits : NULL,
+ window_load_icon ());
+
+ /* set the widget pointer to NULL when the widget is destroyed */
+ g_signal_connect (G_OBJECT (about), "destroy",
+ G_CALLBACK (gtk_widget_destroyed),
+ &about);
+ gtk_window_set_transient_for (GTK_WINDOW (about), GTK_WINDOW (data));
+ }
+ gtk_window_present (GTK_WINDOW (about));
+}
- yelp_uri_ref (uri);
-
- if (handled) {
- yelp_history_goto (priv->history, uri);
- } else {
- if (window_handle_uri (window, uri)) {
- yelp_history_goto (priv->history, uri);
- }
- }
+static gboolean
+window_configure_cb (GtkWidget *widget,
+ GdkEventConfigure *event,
+ gpointer data)
+{
+ gint width, height;
+ gtk_window_get_size (GTK_WINDOW (widget), &width, &height);
+ gnome_config_set_int (YELP_CONFIG_WIDTH, width);
+ gnome_config_set_int (YELP_CONFIG_HEIGHT, height);
+ gnome_config_sync ();
- yelp_uri_unref (uri);
+ return FALSE;
}
static void
-window_title_changed_cb (gpointer view, const gchar *title, YelpWindow *window)
+window_back_button_clicked (GtkWidget *button,
+ YelpWindow *window)
{
- gchar *new_title;
+ g_return_if_fail (GTK_IS_BUTTON (button));
+ g_return_if_fail (YELP_IS_WINDOW (window));
+
+ window_history_action (window, YELP_WINDOW_ACTION_BACK);
+}
+
+static void
+window_forward_button_clicked (GtkWidget *button,
+ YelpWindow *window)
+{
+ g_return_if_fail (GTK_IS_BUTTON (button));
+ g_return_if_fail (YELP_IS_WINDOW (window));
+
+ window_history_action (window, YELP_WINDOW_ACTION_FORWARD);
+}
+
+static void
+window_home_button_clicked (GtkWidget *button,
+ YelpWindow *window)
+{
+ YelpURI *uri;
- g_return_if_fail (title != NULL);
- g_return_if_fail (YELP_IS_WINDOW (window));
+ g_return_if_fail (YELP_IS_WINDOW (window));
- new_title = g_strconcat (title, " - ", _("Help Browser"), NULL);
+ uri = yelp_uri_new ("toc:");
- gtk_window_set_title (GTK_WINDOW (window), new_title);
+ // FIXME
+ /*
+ yelp_history_goto (window->priv->history, uri);
+ yelp_view_show_uri (window->priv->toc_view, uri, NULL);
- g_free (new_title);
+ yelp_uri_unref (uri);
+
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (window->priv->notebook),
+ PAGE_TOC_VIEW);
+ */
}
static void
@@ -464,19 +622,19 @@ window_toggle_history_back (YelpHistory *history,
gboolean sensitive,
YelpWindow *window)
{
- YelpWindowPriv *priv;
- GtkWidget *menu_item;
+ YelpWindowPriv *priv;
+ GtkWidget *menu_item;
- g_return_if_fail (YELP_IS_HISTORY (history));
- g_return_if_fail (YELP_IS_WINDOW (window));
+ g_return_if_fail (YELP_IS_HISTORY (history));
+ g_return_if_fail (YELP_IS_WINDOW (window));
- priv = window->priv;
+ priv = window->priv;
- gtk_widget_set_sensitive (priv->back_button, sensitive);
+ gtk_widget_set_sensitive (priv->back_button, sensitive);
- menu_item = gtk_item_factory_get_item_by_action (priv->item_factory,
- YELP_WINDOW_ACTION_BACK);
- gtk_widget_set_sensitive (menu_item, sensitive);
+ menu_item = gtk_item_factory_get_item_by_action (priv->item_factory,
+ YELP_WINDOW_ACTION_BACK);
+ gtk_widget_set_sensitive (menu_item, sensitive);
}
static void
@@ -484,83 +642,97 @@ window_toggle_history_forward (YelpHistory *history,
gboolean sensitive,
YelpWindow *window)
{
- YelpWindowPriv *priv;
- GtkWidget *menu_item;
+ YelpWindowPriv *priv;
+ GtkWidget *menu_item;
- g_return_if_fail (YELP_IS_HISTORY (history));
- g_return_if_fail (YELP_IS_WINDOW (window));
+ g_return_if_fail (YELP_IS_HISTORY (history));
+ g_return_if_fail (YELP_IS_WINDOW (window));
- priv = window->priv;
+ priv = window->priv;
- gtk_widget_set_sensitive (priv->forward_button, sensitive);
+ gtk_widget_set_sensitive (priv->forward_button, sensitive);
- menu_item = gtk_item_factory_get_item_by_action (priv->item_factory,
- YELP_WINDOW_ACTION_FORWARD);
- gtk_widget_set_sensitive (menu_item, sensitive);
+ menu_item = gtk_item_factory_get_item_by_action (priv->item_factory,
+ YELP_WINDOW_ACTION_FORWARD);
+ gtk_widget_set_sensitive (menu_item, sensitive);
}
static void
-window_history_action (YelpWindow *window, YelpHistoryAction action)
+window_history_action (YelpWindow *window,
+ YelpHistoryAction action)
{
- YelpWindowPriv *priv;
- YelpURI *uri;
-
- g_return_if_fail (YELP_IS_WINDOW (window));
+ YelpWindowPriv *priv;
+ YelpURI *uri;
- priv = window->priv;
+ g_return_if_fail (YELP_IS_WINDOW (window));
- switch (action) {
- case YELP_WINDOW_ACTION_BACK:
- uri = yelp_history_go_back (priv->history);
- break;
- case YELP_WINDOW_ACTION_FORWARD:
- uri = yelp_history_go_forward (priv->history);
- break;
- default:
- return;
- }
+ priv = window->priv;
+
+ switch (action) {
+ case YELP_WINDOW_ACTION_BACK:
+ uri = yelp_history_go_back (priv->history);
+ break;
+ case YELP_WINDOW_ACTION_FORWARD:
+ uri = yelp_history_go_forward (priv->history);
+ break;
+ default:
+ return;
+ }
- if (uri) {
- window_handle_uri (window, uri);
- }
+ if (uri) {
+ window_handle_uri (window, uri);
+ }
}
+/***************************** FIXME below
+
static void
-window_back_button_clicked (GtkWidget *button, YelpWindow *window)
+window_uri_selected_cb (gpointer view,
+ YelpURI *uri,
+ gboolean handled,
+ YelpWindow *window)
{
- g_return_if_fail (GTK_IS_BUTTON (button));
+ YelpWindowPriv *priv;
+
g_return_if_fail (YELP_IS_WINDOW (window));
- window_history_action (window, YELP_WINDOW_ACTION_BACK);
-}
+ d(g_print ("uri_selected: %s, handled: %d\n",
+ yelp_uri_to_string (uri), handled));
-static void
-window_forward_button_clicked (GtkWidget *button, YelpWindow *window)
-{
- g_return_if_fail (GTK_IS_BUTTON (button));
- g_return_if_fail (YELP_IS_WINDOW (window));
+ priv = window->priv;
- window_history_action (window, YELP_WINDOW_ACTION_FORWARD);
+ yelp_uri_ref (uri);
+
+ if (handled) {
+ yelp_history_goto (priv->history, uri);
+ } else {
+ if (window_handle_uri (window, uri)) {
+ yelp_history_goto (priv->history, uri);
+ }
+ }
+
+ yelp_uri_unref (uri);
}
static void
-window_home_button_clicked (GtkWidget *button, YelpWindow *window)
+window_title_changed_cb (gpointer view, const gchar *title, YelpWindow *window)
{
- YelpURI *uri;
+ gchar *new_title;
+ g_return_if_fail (title != NULL);
g_return_if_fail (YELP_IS_WINDOW (window));
- uri = yelp_uri_new ("toc:");
-
- yelp_history_goto (window->priv->history, uri);
- yelp_view_show_uri (window->priv->toc_view, uri, NULL);
+ new_title = g_strconcat (title, " - ", _("Help Browser"), NULL);
- yelp_uri_unref (uri);
+ gtk_window_set_title (GTK_WINDOW (window), new_title);
- gtk_notebook_set_current_page (GTK_NOTEBOOK (window->priv->notebook),
- PAGE_TOC_VIEW);
+ g_free (new_title);
}
+
+
+
+
static void
window_index_button_clicked (GtkWidget *button, YelpWindow *window)
{
@@ -576,21 +748,6 @@ window_index_button_clicked (GtkWidget *button, YelpWindow *window)
PAGE_INDEX_VIEW);
}
-static void
-window_new_window_cb (gpointer data, guint section, GtkWidget *widget)
-{
- g_return_if_fail (YELP_IS_WINDOW (data));
-
- g_signal_emit (data, signals[NEW_WINDOW_REQUESTED], 0);
-}
-
-static void
-window_close_window_cb (gpointer data,
- guint section,
- GtkWidget *widget)
-{
- gtk_widget_destroy (GTK_WIDGET (data));
-}
static void
window_find_cb (gpointer data, guint section, GtkWidget *widget)
@@ -678,38 +835,6 @@ window_go_index_cb (gpointer data, guint section, GtkWidget *widget)
window_index_button_clicked (NULL, YELP_WINDOW (data));
}
-static void
-window_about_cb (gpointer data, guint section, GtkWidget *widget)
-{
- static GtkWidget *about = NULL;
-
- if (about == NULL) {
- const gchar *authors[] = {
- "Mikael Hallendal <micke@imendio.com>",
- "Alexander Larsson <alexl@redhat.com>",
- "Shaun McCance <shaunm@gnome.org>",
- NULL
- };
- /* Note to translators: put here your name (and address) so it
- * will shop up in the "about" box */
- gchar *translator_credits = _("translator_credits");
-
- about = gnome_about_new (PACKAGE, VERSION,
- "Copyright 2001-2003 Mikael Hallendal <micke@imendio.com>",
- _("A Help Browser for GNOME"),
- authors,
- NULL,
- strcmp (translator_credits, "translator_credits") != 0 ? translator_credits : NULL,
- window_load_icon ());
-
- /* set the widget pointer to NULL when the widget is destroyed */
- g_signal_connect (G_OBJECT (about), "destroy",
- G_CALLBACK (gtk_widget_destroyed),
- &about);
- gtk_window_set_transient_for (GTK_WINDOW (about), GTK_WINDOW (data));
- }
- gtk_window_present (GTK_WINDOW (about));
-}
static gboolean
window_find_delete_event_cb (GtkWidget *widget, gpointer user_data)
@@ -792,182 +917,9 @@ window_get_active_view (YelpWindow *window)
return NULL;
}
-static GtkWidget *
-window_create_toolbar (YelpWindow *window)
-{
- YelpWindowPriv *priv;
- GtkWidget *toolbar;
- GtkWidget *button;
- GtkWidget *icon;
-
- g_return_val_if_fail (YELP_IS_WINDOW (window), NULL);
- priv = window->priv;
-
- toolbar = gtk_toolbar_new ();
-
- icon = gtk_image_new_from_stock ("gtk-go-back",
- GTK_ICON_SIZE_LARGE_TOOLBAR);
-
- priv->back_button = gtk_toolbar_append_item (GTK_TOOLBAR (toolbar),
- _("Back"),
- _("Show previous page in history"),
- NULL, icon,
- G_CALLBACK (window_back_button_clicked),
- window);
-
- gtk_widget_set_sensitive (priv->back_button, FALSE);
-
- icon = gtk_image_new_from_stock ("gtk-go-forward",
- GTK_ICON_SIZE_LARGE_TOOLBAR);
- priv->forward_button = gtk_toolbar_append_item (GTK_TOOLBAR (toolbar),
- _("Forward"),
- _("Show next page in history"),
- NULL, icon,
- G_CALLBACK (window_forward_button_clicked),
- window);
- gtk_widget_set_sensitive (priv->forward_button, FALSE);
-
- gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
-
- icon = gtk_image_new_from_stock ("gtk-home",
- GTK_ICON_SIZE_LARGE_TOOLBAR);
-
- button = gtk_toolbar_append_item (GTK_TOOLBAR (toolbar),
- _("Home"),
- _("Go to home view"),
- NULL, icon,
- G_CALLBACK (window_home_button_clicked),
- window);
-
- if (priv->index) {
- icon = gtk_image_new_from_stock ("gtk-index",
- GTK_ICON_SIZE_LARGE_TOOLBAR);
-
- button = gtk_toolbar_append_item (GTK_TOOLBAR (toolbar),
- _("Index"),
- _("Search in the index"),
- NULL, icon,
- G_CALLBACK (window_index_button_clicked),
- window);
-
- }
-
- return toolbar;
-}
-
-static GdkPixbuf *
-window_load_icon (void)
-{
- static GdkPixbuf *pixbuf = NULL;
-
- if (!pixbuf) {
- gchar *file;
-
- file = gnome_program_locate_file (NULL,
- GNOME_FILE_DOMAIN_PIXMAP,
- "gnome-help.png",
- TRUE,
- NULL);
-
- if (file) {
- pixbuf = gdk_pixbuf_new_from_file (file,
- NULL);
- g_free (file);
- }
- }
-
- return pixbuf;
-}
-
-static gboolean
-window_configure_cb (GtkWidget *widget,
- GdkEventConfigure *event,
- gpointer data)
-{
- gint width, height;
- gtk_window_get_size (GTK_WINDOW (widget), &width, &height);
- gnome_config_set_int (YELP_CONFIG_WIDTH, width);
- gnome_config_set_int (YELP_CONFIG_HEIGHT, height);
- gnome_config_sync ();
-
- return FALSE;
-}
-GtkWidget *
-yelp_window_new (GNode *doc_tree, GList *index)
-{
- YelpWindow *window;
- YelpWindowPriv *priv;
-
- window = g_object_new (YELP_TYPE_WINDOW,
- "app_id", PACKAGE, NULL);
- priv = window->priv;
-
- priv->doc_tree = doc_tree;
- priv->index = index;
-
- priv->toc_view = yelp_view_toc_new (doc_tree);
- priv->content_view = yelp_view_content_new (doc_tree);
-
- if (priv->index) {
- priv->index_view = yelp_view_index_new (index);
-
- g_signal_connect (priv->index_view, "uri_selected",
- G_CALLBACK (window_uri_selected_cb),
- window);
- }
-
- g_signal_connect (priv->toc_view, "uri_selected",
- G_CALLBACK (window_uri_selected_cb),
- window);
-
- g_signal_connect (priv->toc_view, "title_changed",
- G_CALLBACK (window_title_changed_cb),
- window);
-
- g_signal_connect (priv->content_view, "uri_selected",
- G_CALLBACK (window_uri_selected_cb),
- window);
-
- g_signal_connect (priv->content_view, "title_changed",
- G_CALLBACK (window_title_changed_cb),
- window);
-
- window_populate (window);
-
- gtk_window_set_icon (GTK_WINDOW (window), window_load_icon ());
-
- return GTK_WIDGET (window);
-}
-
-void
-yelp_window_open_uri (YelpWindow *window,
- const gchar *str_uri)
-{
- YelpWindowPriv *priv;
- YelpURI *uri;
-
- g_return_if_fail (YELP_IS_WINDOW (window));
-
- priv = window->priv;
-
- uri = yelp_uri_new (str_uri);
-
- yelp_history_goto (priv->history, uri);
-
- window_handle_uri (window, uri);
-
- yelp_uri_unref (uri);
-}
-
-YelpURI *
-yelp_window_get_current_uri (YelpWindow *window)
-{
- g_return_val_if_fail (YELP_IS_WINDOW (window), NULL);
-
- return yelp_history_get_current (window->priv->history);
-}
+**************************/
diff --git a/src/yelp-window.h b/src/yelp-window.h
index cc85f314..95bc0668 100644
--- a/src/yelp-window.h
+++ b/src/yelp-window.h
@@ -1,4 +1,4 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/*
* Copyright (C) 2001-2002 Mikael Hallendal <micke@imendio.com>
*
@@ -41,25 +41,24 @@ typedef struct _YelpWindowPriv YelpWindowPriv;
struct _YelpWindow
{
- GnomeApp parent;
-
- YelpWindowPriv *priv;
+ GtkWindow parent;
+
+ YelpWindowPriv *priv;
};
struct _YelpWindowClass
{
- GnomeAppClass parent_class;
+ GtkWindowClass paretn_class;
- /* Signals */
- void (*new_window_requested) (YelpWindow *window);
+ /* Signals */
+ void (*new_window_requested) (YelpWindow *window);
};
GType yelp_window_get_type (void);
GtkWidget * yelp_window_new (GNode *doc_tree,
GList *index);
-
void yelp_window_open_uri (YelpWindow *window,
- const gchar *str_uri);
+ YelpURI *uri);
YelpURI * yelp_window_get_current_uri (YelpWindow *window);
#endif /* __YELP_WINDOW_H__ */