diff -urNp anjuta-2.24.2.orig/configure anjuta-2.24.2/configure
--- anjuta-2.24.2.orig/configure 2009-01-04 15:27:36.000000000 +0530
+++ anjuta-2.24.2/configure 2009-01-04 15:27:51.000000000 +0530
@@ -2395,7 +2395,7 @@ VTE_REQUIRED=0.9.0
VTE_NEW_REQUIRED=0.13.1
LIBXML_REQUIRED=2.4.23
PANGO_REQUIRED=1.1.1
-LIBDEVHELP_REQUIRED=0.13
+LIBDEVHELP_REQUIRED=0.22
GDL_REQUIRED=0.7.3
GNOMEBUILD_REQUIRED=0.3.0
GLADEUI_REQUIRED=3.2.0
@@ -18753,12 +18753,12 @@ if test -n "$PKG_CONFIG"; then
pkg_cv_PLUGIN_DEVHELP_CFLAGS="$PLUGIN_DEVHELP_CFLAGS"
else
if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libdevhelp-1.0 >= \$LIBDEVHELP_REQUIRED\"") >&5
- ($PKG_CONFIG --exists --print-errors "libdevhelp-1.0 >= $LIBDEVHELP_REQUIRED") 2>&5
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libdevhelp-1.0 >= \$LIBDEVHELP_REQUIRED webkit-1.0\"") >&5
+ ($PKG_CONFIG --exists --print-errors "libdevhelp-1.0 >= $LIBDEVHELP_REQUIRED webkit-1.0") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- pkg_cv_PLUGIN_DEVHELP_CFLAGS=`$PKG_CONFIG --cflags "libdevhelp-1.0 >= $LIBDEVHELP_REQUIRED" 2>/dev/null`
+ pkg_cv_PLUGIN_DEVHELP_CFLAGS=`$PKG_CONFIG --cflags "libdevhelp-1.0 >= $LIBDEVHELP_REQUIRED webkit-1.0" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -18771,12 +18771,12 @@ if test -n "$PKG_CONFIG"; then
pkg_cv_PLUGIN_DEVHELP_LIBS="$PLUGIN_DEVHELP_LIBS"
else
if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libdevhelp-1.0 >= \$LIBDEVHELP_REQUIRED\"") >&5
- ($PKG_CONFIG --exists --print-errors "libdevhelp-1.0 >= $LIBDEVHELP_REQUIRED") 2>&5
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libdevhelp-1.0 >= \$LIBDEVHELP_REQUIRED webkit-1.0\"") >&5
+ ($PKG_CONFIG --exists --print-errors "libdevhelp-1.0 >= $LIBDEVHELP_REQUIRED webkit-1.0") 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- pkg_cv_PLUGIN_DEVHELP_LIBS=`$PKG_CONFIG --libs "libdevhelp-1.0 >= $LIBDEVHELP_REQUIRED" 2>/dev/null`
+ pkg_cv_PLUGIN_DEVHELP_LIBS=`$PKG_CONFIG --libs "libdevhelp-1.0 >= $LIBDEVHELP_REQUIRED webkit-1.0" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -18795,9 +18795,9 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- PLUGIN_DEVHELP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libdevhelp-1.0 >= $LIBDEVHELP_REQUIRED"`
+ PLUGIN_DEVHELP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libdevhelp-1.0 >= $LIBDEVHELP_REQUIRED webkit-1.0"`
else
- PLUGIN_DEVHELP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libdevhelp-1.0 >= $LIBDEVHELP_REQUIRED"`
+ PLUGIN_DEVHELP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libdevhelp-1.0 >= $LIBDEVHELP_REQUIRED webkit-1.0"`
fi
# Put the nasty error message in config.log where it belongs
echo "$PLUGIN_DEVHELP_PKG_ERRORS" >&5
diff -urNp anjuta-2.24.2.orig/plugins/devhelp/anjuta-devhelp.ui anjuta-2.24.2/plugins/devhelp/anjuta-devhelp.ui
--- anjuta-2.24.2.orig/plugins/devhelp/anjuta-devhelp.ui 2009-01-04 15:27:36.000000000 +0530
+++ anjuta-2.24.2/plugins/devhelp/anjuta-devhelp.ui 2009-01-04 15:27:51.000000000 +0530
@@ -1,14 +1,6 @@
-
@@ -24,7 +16,5 @@
-
-
diff -urNp anjuta-2.24.2.orig/plugins/devhelp/htmlview.c anjuta-2.24.2/plugins/devhelp/htmlview.c
--- anjuta-2.24.2.orig/plugins/devhelp/htmlview.c 2009-01-04 15:27:36.000000000 +0530
+++ anjuta-2.24.2/plugins/devhelp/htmlview.c 1970-01-01 05:30:00.000000000 +0530
@@ -1,182 +0,0 @@
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Library General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#include "htmlview.h"
-
-#include
-#include
-#include
-#include
-#include
-
-static void html_view_class_init(HtmlViewClass *klass);
-static void html_view_init(HtmlView *sp);
-static void html_view_finalize(GObject *object);
-
-struct _HtmlViewPrivate {
- DhHtml* html;
- AnjutaDevhelp* devhelp;
- gchar* uri;
- guint idle_realize;
-};
-
-G_DEFINE_TYPE(HtmlView, html_view, GTK_TYPE_HBOX)
-
-static gboolean
-devhelp_html_open_uri_cb (DhHtml *html,
- const gchar *uri,
- AnjutaDevhelp *widget)
-{
-#ifdef HAVE_OLD_DEVHELP
- dh_book_tree_show_uri (DH_BOOK_TREE (widget->book_tree), uri);
-#else
- dh_book_tree_select_uri (DH_BOOK_TREE (widget->book_tree), uri);
-#endif
- return FALSE;
-}
-
-static void
-devhelp_html_location_changed_cb (DhHtml *html,
- const gchar *location,
- AnjutaDevhelp *widget)
-{
- anjuta_devhelp_check_history (widget);
-}
-
-static gboolean
-html_view_create_html(HtmlView* html_view)
-{
- GtkWidget* view;
- HtmlViewPrivate* priv = html_view->priv;
-
- priv->html = dh_html_new();
-
- if (!priv->html || !DH_IS_HTML(priv->html))
- return TRUE; /* I think the idea is to wait until we get a widget? */
-
- view = dh_html_get_widget(priv->html);
- gtk_box_pack_start(GTK_BOX(html_view), dh_html_get_widget(priv->html), TRUE, TRUE, 1);
-
- g_signal_connect (priv->html, "open-uri",
- G_CALLBACK (devhelp_html_open_uri_cb),
- priv->devhelp);
- g_signal_connect (priv->html, "location-changed",
- G_CALLBACK (devhelp_html_location_changed_cb),
- priv->devhelp);
-
- /* Hack to get GtkMozEmbed to work properly. */
- gtk_widget_realize (view);
-
- if (priv->uri)
- dh_html_open_uri(priv->html, priv->uri);
- else
- dh_html_clear(priv->html);
-
- gtk_widget_show (view);
-
- return FALSE;
-}
-
-static void
-html_view_realize(GtkWidget* widget)
-{
- HtmlView* html_view = HTML_VIEW(widget);
-
- if (html_view->priv->idle_realize == 0)
- {
- html_view->priv->idle_realize =
- g_idle_add((GSourceFunc) html_view_create_html, html_view);
- }
- (* GTK_WIDGET_CLASS (html_view_parent_class)->realize)(widget);
-}
-
-static void
-html_view_unrealize(GtkWidget* widget)
-{
- HtmlView* html_view = HTML_VIEW(widget);
-
- if (html_view->priv->idle_realize > 0)
- {
- g_source_remove (html_view->priv->idle_realize);
- html_view->priv->idle_realize = 0;
- }
-
- if (html_view->priv->html != NULL)
- {
- g_free(html_view->priv->uri);
- html_view->priv->uri = dh_html_get_location(html_view->priv->html);
- }
- else
- html_view->priv->uri = NULL;
-
- if (gtk_container_get_children(GTK_CONTAINER(html_view)))
- {
- gtk_container_remove(GTK_CONTAINER(widget), dh_html_get_widget(html_view->priv->html));
- html_view->priv->html = NULL;
- }
-
- (* GTK_WIDGET_CLASS (html_view_parent_class)->unrealize)(widget);
-}
-
-static void
-html_view_class_init(HtmlViewClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS(klass);
- GtkWidgetClass* widget_class = GTK_WIDGET_CLASS(klass);
-
- object_class->finalize = html_view_finalize;
-
- widget_class->realize = html_view_realize;
- widget_class->unrealize = html_view_unrealize;
-}
-
-static void
-html_view_init(HtmlView *obj)
-{
- obj->priv = g_new0(HtmlViewPrivate, 1);
- gtk_widget_show(GTK_WIDGET(obj));
-}
-
-static void
-html_view_finalize(GObject *object)
-{
- HtmlView *cobj;
- cobj = HTML_VIEW(object);
-
- /* Free private members, etc. */
- if (cobj->priv->html)
- gtk_widget_destroy(dh_html_get_widget(cobj->priv->html));
- g_free (cobj->priv->uri);
- g_free(cobj->priv);
- G_OBJECT_CLASS(html_view_parent_class)->finalize(object);
-}
-
-GtkWidget*
-html_view_new(AnjutaDevhelp* devhelp)
-{
- HtmlView *obj;
-
- obj = HTML_VIEW(g_object_new(HTML_TYPE_VIEW, NULL));
-
- obj->priv->devhelp = devhelp;
-
- return GTK_WIDGET(obj);
-}
-
-DhHtml* html_view_get_dh_html(HtmlView* view)
-{
- return view->priv->html;
-}
diff -urNp anjuta-2.24.2.orig/plugins/devhelp/htmlview.h anjuta-2.24.2/plugins/devhelp/htmlview.h
--- anjuta-2.24.2.orig/plugins/devhelp/htmlview.h 2009-01-04 15:27:36.000000000 +0530
+++ anjuta-2.24.2/plugins/devhelp/htmlview.h 1970-01-01 05:30:00.000000000 +0530
@@ -1,57 +0,0 @@
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Library General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#ifndef HTMLVIEW_H
-#define HTMLVIEW_H
-
-#include
-#include
-#include
-
-#include
-
-#include "plugin.h"
-
-G_BEGIN_DECLS
-
-#define HTML_TYPE_VIEW (html_view_get_type ())
-#define HTML_VIEW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), HTML_TYPE_VIEW, HtmlView))
-#define HTML_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), HTML_TYPE_VIEW, HtmlViewClass))
-#define HTML_IS_VIEW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), HTML_TYPE_VIEW))
-#define HTML_IS_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), HTML_TYPE_VIEW))
-#define HTML_VIEW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), HTML_TYPE_VIEW, HtmlViewClass))
-
-typedef struct _HtmlView HtmlView;
-typedef struct _HtmlViewPrivate HtmlViewPrivate;
-typedef struct _HtmlViewClass HtmlViewClass;
-
-struct _HtmlView {
- GtkHBox parent;
- HtmlViewPrivate *priv;
-};
-
-struct _HtmlViewClass {
- GtkHBoxClass parent_class;
-};
-
-GType html_view_get_type(void);
-GtkWidget *html_view_new(AnjutaDevhelp* devhelp);
-
-DhHtml* html_view_get_dh_html(HtmlView* html_view);
-
-G_END_DECLS
-
-#endif /* HTMLVIEW_H */
diff -urNp anjuta-2.24.2.orig/plugins/devhelp/Makefile.in anjuta-2.24.2/plugins/devhelp/Makefile.in
--- anjuta-2.24.2.orig/plugins/devhelp/Makefile.in 2009-01-04 15:27:36.000000000 +0530
+++ anjuta-2.24.2/plugins/devhelp/Makefile.in 2009-01-04 15:27:51.000000000 +0530
@@ -37,11 +37,7 @@ build_triplet = @build@
host_triplet = @host@
@HAVE_PLUGIN_DEVHELP_TRUE@am__append_1 = $(PLUGIN_DEVHELP_CFLAGS)
@HAVE_PLUGIN_DEVHELP_FALSE@am__append_2 = -DDISABLE_EMBEDDED_DEVHELP
-@HAVE_PLUGIN_DEVHELP_TRUE@am__append_3 = \
-@HAVE_PLUGIN_DEVHELP_TRUE@ htmlview.c \
-@HAVE_PLUGIN_DEVHELP_TRUE@ htmlview.h
-
-@HAVE_PLUGIN_DEVHELP_TRUE@am__append_4 = $(PLUGIN_DEVHELP_LIBS)
+@HAVE_PLUGIN_DEVHELP_TRUE@am__append_3 = $(PLUGIN_DEVHELP_LIBS)
subdir = plugins/devhelp
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -67,10 +63,7 @@ am__DEPENDENCIES_1 =
@HAVE_PLUGIN_DEVHELP_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
libanjuta_devhelp_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
-am__libanjuta_devhelp_la_SOURCES_DIST = plugin.c plugin.h htmlview.c \
- htmlview.h
-@HAVE_PLUGIN_DEVHELP_TRUE@am__objects_1 = htmlview.lo
-am_libanjuta_devhelp_la_OBJECTS = plugin.lo $(am__objects_1)
+am_libanjuta_devhelp_la_OBJECTS = plugin.lo
libanjuta_devhelp_la_OBJECTS = $(am_libanjuta_devhelp_la_OBJECTS)
libanjuta_devhelp_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
@@ -88,7 +81,7 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLF
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
SOURCES = $(libanjuta_devhelp_la_SOURCES)
-DIST_SOURCES = $(am__libanjuta_devhelp_la_SOURCES_DIST)
+DIST_SOURCES = $(libanjuta_devhelp_la_SOURCES)
devhelp_pixmapsDATA_INSTALL = $(INSTALL_DATA)
devhelp_pluginDATA_INSTALL = $(INSTALL_DATA)
devhelp_uiDATA_INSTALL = $(INSTALL_DATA)
@@ -389,6 +382,7 @@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@@ -424,11 +418,14 @@ plugin_LTLIBRARIES = libanjuta-devhelp.l
libanjuta_devhelp_la_LDFLAGS = $(ANJUTA_PLUGIN_LDFLAGS)
# Plugin sources
-libanjuta_devhelp_la_SOURCES = plugin.c plugin.h $(am__append_3)
+libanjuta_devhelp_la_SOURCES = \
+ plugin.c \
+ plugin.h
+
# Plugin dependencies
libanjuta_devhelp_la_LIBADD = $(GTK_LIBS) $(LIBANJUTA_LIBS) \
- $(am__append_4)
+ $(am__append_3)
EXTRA_DIST = \
$(plugin_in_files) \
$(devhelp_plugin_DATA) \
@@ -504,7 +501,6 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htmlview.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plugin.Plo@am__quote@
.c.o:
diff -urNp anjuta-2.24.2.orig/plugins/devhelp/plugin.c anjuta-2.24.2/plugins/devhelp/plugin.c
--- anjuta-2.24.2.orig/plugins/devhelp/plugin.c 2009-01-04 15:27:36.000000000 +0530
+++ anjuta-2.24.2/plugins/devhelp/plugin.c 2009-01-04 15:27:51.000000000 +0530
@@ -34,11 +34,9 @@
#ifndef DISABLE_EMBEDDED_DEVHELP
#include
-#include
-#include
#include
#include
-#include "htmlview.h"
+#include
#define UI_FILE PACKAGE_DATA_DIR"/ui/anjuta-devhelp.ui"
#else /* DISABLE_EMBEDDED_DEVHELP */
@@ -51,12 +49,8 @@ static gpointer parent_class;
#ifndef DISABLE_EMBEDDED_DEVHELP
-#define ANJUTA_PIXMAP_HELP_NEXT "anjuta-go-help-next-24.png"
-#define ANJUTA_PIXMAP_HELP_PREV "anjuta-go-help-prev-24.png"
#define ANJUTA_PIXMAP_DEVHELP "anjuta-devhelp-plugin-48.png"
-#define ANJUTA_STOCK_HELP_NEXT "anjuta-help-next"
-#define ANJUTA_STOCK_HELP_PREV "anjuta-help-prev"
#define ANJUTA_STOCK_DEVHELP "anjuta-devhelp"
static void
@@ -74,76 +68,55 @@ register_stock_icons (AnjutaPlugin *plug
/* Register stock icons */
ui = anjuta_shell_get_ui (plugin->shell, NULL);
icon_factory = anjuta_ui_get_icon_factory (ui);
- REGISTER_ICON (ANJUTA_PIXMAP_HELP_NEXT, ANJUTA_STOCK_HELP_NEXT);
- REGISTER_ICON (ANJUTA_PIXMAP_HELP_PREV, ANJUTA_STOCK_HELP_PREV);
REGISTER_ICON (ANJUTA_PIXMAP_DEVHELP, ANJUTA_STOCK_DEVHELP);
}
static void
-devhelp_tree_link_selected_cb (GObject *ignored,
- DhLink *link,
- AnjutaDevhelp *widget)
+devhelp_tree_link_selected_cb (GObject *ignored, DhLink *link,
+ AnjutaDevhelp *widget)
{
+ gchar *uri;
- DhHtml *html;
+ /*anjuta_shell_present_widget (ANJUTA_PLUGIN (widget)->shell,
+ widget->view, NULL);*/
- anjuta_shell_present_widget (ANJUTA_PLUGIN (widget)->shell,
- widget->htmlview, NULL);
-
- html = html_view_get_dh_html(HTML_VIEW(widget->htmlview));
-
- if (!DH_IS_HTML(html))
- return;
+ uri = dh_link_get_uri (link);
+ webkit_web_view_open (WEBKIT_WEB_VIEW (widget->view), uri);
+ g_free (uri);
- dh_html_open_uri (html, link->uri);
-
anjuta_devhelp_check_history (widget);
}
static void
-devhelp_search_link_selected_cb (GObject *ignored,
- DhLink *link,
- AnjutaDevhelp *widget)
+devhelp_search_link_selected_cb (GObject *ignored, DhLink *link,
+ AnjutaDevhelp *widget)
{
- DhHtml *html;
-
- anjuta_shell_present_widget (ANJUTA_PLUGIN (widget)->shell,
- widget->htmlview, NULL);
-
- html = html_view_get_dh_html(HTML_VIEW(widget->htmlview));
-
- if (!DH_IS_HTML(html))
- return;
-
- dh_html_open_uri (html, link->uri);
+ gchar *uri;
+
+ /*anjuta_shell_present_widget (ANJUTA_PLUGIN (widget)->shell,
+ widget->view, NULL);*/
+ uri = dh_link_get_uri (link);
+ webkit_web_view_open (WEBKIT_WEB_VIEW (widget->view), uri);
+ g_free (uri);
+
anjuta_devhelp_check_history (widget);
}
static void
-on_go_back_activate (GtkAction *action, AnjutaDevhelp *plugin)
+on_go_back_clicked (GtkWidget *widget, AnjutaDevhelp *plugin)
{
- DhHtml* html;
-
- html = html_view_get_dh_html(HTML_VIEW(plugin->htmlview));
+ webkit_web_view_go_back (WEBKIT_WEB_VIEW (plugin->view));
- if (!DH_IS_HTML(html))
- return;
-
- dh_html_go_back(html);
+ anjuta_devhelp_check_history (plugin);
}
static void
-on_go_forward_activate (GtkAction *action, AnjutaDevhelp *plugin)
+on_go_forward_clicked (GtkWidget *widget, AnjutaDevhelp *plugin)
{
- DhHtml* html;
-
- html = html_view_get_dh_html(HTML_VIEW(plugin->htmlview));
+ webkit_web_view_go_forward (WEBKIT_WEB_VIEW (plugin->view));
- if (!DH_IS_HTML(html))
- return;
-
- dh_html_go_forward(html);
+ anjuta_devhelp_check_history (plugin);
}
static gboolean
@@ -173,7 +146,7 @@ on_api_reference_activate (GtkAction *ac
}
static gboolean
-context_idle(AnjutaDevhelp* plugin)
+context_idle (AnjutaDevhelp* plugin)
{
IAnjutaEditor *editor;
gchar *current_word;
@@ -232,22 +205,6 @@ static GtkActionEntry actions[] = {
NULL,
NULL
},
- {
- "ActionDevhelpBack",
- ANJUTA_STOCK_HELP_PREV,
- N_("Previous Help"),
- NULL,
- N_("Go to previous help page"),
- G_CALLBACK (on_go_back_activate)
- },
- {
- "ActionDevhelpForward",
- ANJUTA_STOCK_HELP_NEXT,
- N_("Next Help"),
- NULL,
- N_("Go to next help page"),
- G_CALLBACK (on_go_forward_activate)
- },
#endif /* DISABLE_EMBEDDED_DEVHELP */
{
"ActionHelpApi",
@@ -282,7 +239,7 @@ static GtkActionEntry actions[] = {
/* Watches callbacks */
static void
-value_added_current_editor (AnjutaPlugin *plugin, const char *name,
+value_added_current_editor (AnjutaPlugin *plugin, const gchar *name,
const GValue *value, gpointer data)
{
GtkAction *action;
@@ -300,7 +257,7 @@ value_added_current_editor (AnjutaPlugin
static void
value_removed_current_editor (AnjutaPlugin *plugin,
- const char *name, gpointer data)
+ const gchar *name, gpointer data)
{
GtkAction *action;
AnjutaDevhelp* devhelp = ANJUTA_PLUGIN_DEVHELP (data);
@@ -314,7 +271,6 @@ value_removed_current_editor (AnjutaPlug
static gboolean
devhelp_activate (AnjutaPlugin *plugin)
{
-
AnjutaUI *ui;
AnjutaDevhelp *devhelp;
@@ -323,12 +279,15 @@ devhelp_activate (AnjutaPlugin *plugin)
GNode *books;
GList *keywords;
GtkWidget* books_sw;
+ GtkWidget *scrolled_window;
+ GtkWidget *main_vbox;
+ GtkWidget *button_hbox;
if (!init)
{
register_stock_icons (plugin);
init = TRUE;
- }
+ }
#endif
DEBUG_PRINT ("AnjutaDevhelp: Activating AnjutaDevhelp plugin ...");
@@ -346,47 +305,89 @@ devhelp_activate (AnjutaPlugin *plugin)
devhelp->uiid = anjuta_ui_merge (ui, UI_FILE);
#ifndef DISABLE_EMBEDDED_DEVHELP
-
+ /*
+ * Forward/back buttons
+ */
+ main_vbox = gtk_vbox_new (FALSE, 6);
+ gtk_widget_show (main_vbox);
+ button_hbox = gtk_hbox_new (FALSE, 0);
+ gtk_widget_show (button_hbox);
+
+ devhelp->go_back = gtk_button_new_from_stock (GTK_STOCK_GO_BACK);
+ gtk_widget_show (devhelp->go_back);
+ gtk_box_pack_start (GTK_BOX (button_hbox), devhelp->go_back, FALSE, FALSE, 0);
+ gtk_widget_set_sensitive (devhelp->go_back, FALSE);
+ g_signal_connect (devhelp->go_back, "clicked",
+ G_CALLBACK (on_go_back_clicked), devhelp);
+
+ devhelp->go_forward = gtk_button_new_from_stock (GTK_STOCK_GO_FORWARD);
+ gtk_widget_show (devhelp->go_forward);
+ gtk_box_pack_start (GTK_BOX (button_hbox), devhelp->go_forward, FALSE, FALSE, 0);
+ gtk_widget_set_sensitive (devhelp->go_forward, FALSE);
+ g_signal_connect (devhelp->go_forward, "clicked",
+ G_CALLBACK (on_go_forward_clicked), devhelp);
+
+ gtk_box_pack_start (GTK_BOX (main_vbox), button_hbox, FALSE, FALSE, 0);
+
+ /*
+ * Notebook
+ */
books = dh_base_get_book_tree (devhelp->base);
keywords = dh_base_get_keywords (devhelp->base);
- books_sw = gtk_scrolled_window_new(NULL, NULL);
+ books_sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (books_sw),
- GTK_POLICY_NEVER,
- GTK_POLICY_AUTOMATIC);
+ GTK_POLICY_NEVER,
+ GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (books_sw),
- GTK_SHADOW_IN);
+ GTK_SHADOW_IN);
gtk_container_set_border_width (GTK_CONTAINER (books_sw), 2);
- devhelp->control_notebook = gtk_notebook_new();
- devhelp->book_tree = dh_book_tree_new(books);
- devhelp->search = dh_search_new(keywords);
+ devhelp->control_notebook = gtk_notebook_new ();
+ gtk_box_pack_start (GTK_BOX (main_vbox), devhelp->control_notebook, TRUE, TRUE, 0);
+ devhelp->book_tree = dh_book_tree_new (books);
+
+ devhelp->search = dh_search_new (keywords);
+ gtk_widget_set_size_request (devhelp->search, 0, 0);
g_signal_connect (devhelp->book_tree,
- "link-selected",
- G_CALLBACK (devhelp_tree_link_selected_cb),
- devhelp);
+ "link-selected",
+ G_CALLBACK (devhelp_tree_link_selected_cb),
+ devhelp);
g_signal_connect (devhelp->search,
- "link-selected",
- G_CALLBACK (devhelp_search_link_selected_cb),
- devhelp);
-
- gtk_container_add(GTK_CONTAINER(books_sw), devhelp->book_tree);
- gtk_notebook_append_page(GTK_NOTEBOOK(devhelp->control_notebook), books_sw,
- gtk_label_new(_("Books")));
- gtk_notebook_append_page(GTK_NOTEBOOK(devhelp->control_notebook), devhelp->search,
- gtk_label_new(_("Search")));
-
- devhelp->htmlview = html_view_new(devhelp);
-
- anjuta_shell_add_widget (plugin->shell, devhelp->control_notebook,
- "AnjutaDevhelpIndex", _("Help"), ANJUTA_STOCK_DEVHELP,
- ANJUTA_SHELL_PLACEMENT_LEFT, NULL);
+ "link-selected",
+ G_CALLBACK (devhelp_search_link_selected_cb),
+ devhelp);
+
+ gtk_container_add (GTK_CONTAINER (books_sw), devhelp->book_tree);
+ gtk_notebook_append_page (GTK_NOTEBOOK (devhelp->control_notebook), books_sw,
+ gtk_label_new (_("Contents")));
+ gtk_notebook_append_page (GTK_NOTEBOOK (devhelp->control_notebook), devhelp->search,
+ gtk_label_new (_("Search")));
+
+ gtk_widget_show_all (devhelp->control_notebook);
+
+ /* View */
+ devhelp->view = webkit_web_view_new ();
+ gtk_widget_show (devhelp->view);
+
+ webkit_web_view_open (WEBKIT_WEB_VIEW (devhelp->view), "about:blank");
+
+ scrolled_window = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
+ gtk_widget_show (scrolled_window);
+ gtk_container_add (GTK_CONTAINER (scrolled_window), devhelp->view);
+
+ anjuta_shell_add_widget (plugin->shell, main_vbox,
+ "AnjutaDevhelpIndex", _("Help"), ANJUTA_STOCK_DEVHELP,
+ ANJUTA_SHELL_PLACEMENT_LEFT, NULL);
/* This is the window that show the html help text */
- anjuta_shell_add_widget (plugin->shell, devhelp->htmlview,
- "AnjutaDevhelpDisplay", _("Help display"),
- ANJUTA_STOCK_DEVHELP,
- ANJUTA_SHELL_PLACEMENT_CENTER, NULL);
+ anjuta_shell_add_widget (plugin->shell, scrolled_window,
+ "AnjutaDevhelpDisplay", _("Help display"),
+ ANJUTA_STOCK_DEVHELP,
+ ANJUTA_SHELL_PLACEMENT_CENTER, NULL);
#endif /* DISABLE_EMBEDDED_DEVHELP */
@@ -415,7 +416,7 @@ devhelp_deactivate (AnjutaPlugin *plugin
#ifndef DISABLE_EMBEDDED_DEVHELP
/* Remove widgets */
- anjuta_shell_remove_widget(plugin->shell, devhelp->htmlview, NULL);
+ anjuta_shell_remove_widget(plugin->shell, devhelp->view, NULL);
anjuta_shell_remove_widget(plugin->shell, devhelp->control_notebook, NULL);
#endif /* DISABLE_EMBEDDED_DEVHELP */
@@ -431,32 +432,22 @@ devhelp_deactivate (AnjutaPlugin *plugin
#ifndef DISABLE_EMBEDDED_DEVHELP
-void anjuta_devhelp_check_history(AnjutaDevhelp* devhelp)
+void
+anjuta_devhelp_check_history (AnjutaDevhelp* devhelp)
{
- GtkAction* action_forward;
- GtkAction* action_back;
- DhHtml* html = html_view_get_dh_html(HTML_VIEW(devhelp->htmlview));
-
- action_forward = gtk_action_group_get_action (devhelp->action_group,
- "ActionDevhelpForward");
- action_back = gtk_action_group_get_action (devhelp->action_group,
- "ActionDevhelpBack");
- if (html != NULL)
- {
- g_object_set (action_forward, "sensitive", dh_html_can_go_forward (html) , NULL);
- g_object_set (action_back, "sensitive", dh_html_can_go_back (html) , NULL);
- }
+ gtk_widget_set_sensitive (devhelp->go_forward, webkit_web_view_can_go_forward (WEBKIT_WEB_VIEW (devhelp->view)));
+
+ gtk_widget_set_sensitive (devhelp->go_back, webkit_web_view_can_go_back (WEBKIT_WEB_VIEW (devhelp->view)));
}
#endif /* DISABLE_EMBEDDED_DEVHELP */
-#if 0
static void
devhelp_finalize (GObject *obj)
{
+ DEBUG_PRINT ("%s", "Finalising Devhelp plugin");
+
/* Finalization codes here */
- AnjutaDevhelp *plugin = ANJUTA_PLUGIN_DEVHELP (obj);
-
G_OBJECT_CLASS (parent_class)->finalize (obj);
}
@@ -465,13 +456,17 @@ devhelp_dispose (GObject *obj)
{
AnjutaDevhelp* devhelp = ANJUTA_PLUGIN_DEVHELP (obj);
- /* Destroy devhelp - seems not to work... */
- // g_object_unref(G_OBJECT(devhelp->base));
+ DEBUG_PRINT ("%s", "Disposing Devhelp plugin");
+
+ if (devhelp->base)
+ {
+ g_object_unref(G_OBJECT(devhelp->base));
+ devhelp->base = NULL;
+ }
/* Disposition codes */
G_OBJECT_CLASS (parent_class)->dispose (obj);
}
-#endif
static void
devhelp_instance_init (GObject *obj)
@@ -497,10 +492,9 @@ devhelp_class_init (GObjectClass *klass)
plugin_class->activate = devhelp_activate;
plugin_class->deactivate = devhelp_deactivate;
-#if 0
+
klass->finalize = devhelp_finalize;
klass->dispose = devhelp_dispose;
-#endif
}
#ifndef DISABLE_EMBEDDED_DEVHELP
@@ -515,7 +509,7 @@ ihelp_search (IAnjutaHelp *help, const g
anjuta_shell_present_widget (ANJUTA_PLUGIN (plugin)->shell,
plugin->control_notebook, NULL);
- dh_search_set_search_string (DH_SEARCH (plugin->search), query);
+ dh_search_set_search_string (DH_SEARCH (plugin->search), query, NULL);
gtk_notebook_set_current_page (GTK_NOTEBOOK (plugin->control_notebook), 1);
}
@@ -524,34 +518,33 @@ ihelp_search (IAnjutaHelp *help, const g
static void
ihelp_search (IAnjutaHelp *help, const gchar *query, GError **err)
{
- AnjutaDevhelp *plugin;
-
- plugin = ANJUTA_PLUGIN_DEVHELP (help);
+ gchar *cmd[4];
if (!anjuta_util_prog_is_installed ("devhelp", TRUE))
{
return;
}
- if(query && strlen (query) > 0)
+ cmd[0] = "devhelp";
+
+ if (query && strlen (query) > 0)
{
- fprintf(stderr, "Word is %s\n", query);
- if(fork()==0)
- {
- execlp("devhelp", "devhelp", "-s", query, NULL);
- g_warning (_("Cannot execute command: \"%s\""), "devhelp");
- _exit(1);
- }
+ cmd[1] = "-s";
+ cmd[2] = (gchar *)query;
+ cmd[3] = NULL;
}
else
{
- if(fork()==0)
- {
- execlp("devhelp", "devhelp", NULL);
- g_warning (_("Cannot execute command: \"%s\""), "devhelp");
- _exit(1);
- }
+ cmd[1] = NULL;
}
+
+ gdk_spawn_on_screen (gdk_screen_get_default (),
+ NULL,
+ cmd,
+ NULL,
+ G_SPAWN_SEARCH_PATH,
+ NULL,
+ NULL, NULL, NULL);
}
#endif /* DISABLE_EMBEDDED_DEVHELP */
diff -urNp anjuta-2.24.2.orig/plugins/devhelp/plugin.h anjuta-2.24.2/plugins/devhelp/plugin.h
--- anjuta-2.24.2.orig/plugins/devhelp/plugin.h 2009-01-04 15:27:36.000000000 +0530
+++ anjuta-2.24.2/plugins/devhelp/plugin.h 2009-01-04 15:27:51.000000000 +0530
@@ -49,10 +49,12 @@ struct _AnjutaDevhelp{
#ifndef DISABLE_EMBEDDED_DEVHELP
DhBase *base;
#endif /* DISABLE_EMBEDDED_DEVHELP */
- GtkWidget *htmlview;
+ GtkWidget *view;
GtkWidget *control_notebook;
GtkWidget *book_tree;
GtkWidget *search;
+ GtkWidget *go_back;
+ GtkWidget *go_forward;
IAnjutaEditor *editor;
guint editor_watch_id;