Introduce compat.h which provides new api for old libraries
This commit is contained in:
parent
cdadca0d0c
commit
65c0195501
7 changed files with 148 additions and 53 deletions
|
@ -30,4 +30,5 @@ midori_SOURCES = \
|
||||||
webSearch.c webSearch.h \
|
webSearch.c webSearch.h \
|
||||||
gjs.c gjs.h \
|
gjs.c gjs.h \
|
||||||
sokoke.c sokoke.h \
|
sokoke.c sokoke.h \
|
||||||
search.c search.h
|
search.c search.h \
|
||||||
|
compat.c compat.h
|
||||||
|
|
102
midori/compat.c
Normal file
102
midori/compat.c
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
/*
|
||||||
|
Copyright (C) 2008 Christian Dywan <christian@twotoasts.de>
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
See the file COPYING for the full license text.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "compat.h"
|
||||||
|
|
||||||
|
#ifndef WEBKIT_CHECK_VERSION
|
||||||
|
|
||||||
|
/**
|
||||||
|
* webkit_web_view_get_zoom_level:
|
||||||
|
* @web_view: a #WebKitWebView
|
||||||
|
*
|
||||||
|
* Retrieves the current zoom level.
|
||||||
|
*
|
||||||
|
* Return value: the zoom level, always 1.0 if not supported
|
||||||
|
**/
|
||||||
|
gfloat
|
||||||
|
webkit_web_view_get_zoom_level (WebKitWebView* web_view)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (WEBKIT_IS_WEB_VIEW (web_view), 1.0);
|
||||||
|
|
||||||
|
if (g_object_class_find_property (G_OBJECT_GET_CLASS (web_view),
|
||||||
|
"zoom-level"))
|
||||||
|
{
|
||||||
|
gfloat zoom_level;
|
||||||
|
g_object_get (web_view, "zoom-level", &zoom_level, NULL);
|
||||||
|
return zoom_level;
|
||||||
|
}
|
||||||
|
return 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* webkit_web_view_set_zoom_level:
|
||||||
|
* @web_view: a #WebKitWebView
|
||||||
|
*
|
||||||
|
* Sets the current zoom level.
|
||||||
|
*
|
||||||
|
* Does nothing if not supported.
|
||||||
|
**/
|
||||||
|
void
|
||||||
|
webkit_web_view_set_zoom_level (WebKitWebView* web_view,
|
||||||
|
gfloat zoom_level)
|
||||||
|
{
|
||||||
|
g_return_if_fail (WEBKIT_IS_WEB_VIEW (web_view));
|
||||||
|
|
||||||
|
if (g_object_class_find_property (G_OBJECT_GET_CLASS (web_view),
|
||||||
|
"zoom-level"))
|
||||||
|
g_object_set (web_view, "zoom-level", zoom_level, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* webkit_web_view_zoom_in:
|
||||||
|
* @web_view: a #WebKitWebView
|
||||||
|
*
|
||||||
|
* Increases the current zoom level.
|
||||||
|
*
|
||||||
|
* Does nothing if not supported.
|
||||||
|
**/
|
||||||
|
void
|
||||||
|
webkit_web_view_zoom_in (WebKitWebView* web_view)
|
||||||
|
{
|
||||||
|
g_return_if_fail (WEBKIT_IS_WEB_VIEW (web_view));
|
||||||
|
|
||||||
|
gfloat zoom_level = webkit_web_view_get_zoom_level (web_view);
|
||||||
|
WebKitWebSettings* settings = webkit_web_view_get_settings (web_view);
|
||||||
|
gfloat zoom_step;
|
||||||
|
g_object_get (settings, "zoom-step", &zoom_step, NULL);
|
||||||
|
webkit_web_view_set_zoom_level (web_view, zoom_level + zoom_step);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* webkit_web_view_zoom_out:
|
||||||
|
* @web_view: a #WebKitWebView
|
||||||
|
*
|
||||||
|
* Decreases the current zoom level.
|
||||||
|
*
|
||||||
|
* Does nothing if not supported.
|
||||||
|
**/
|
||||||
|
void
|
||||||
|
webkit_web_view_zoom_out (WebKitWebView* web_view)
|
||||||
|
{
|
||||||
|
g_return_if_fail (WEBKIT_IS_WEB_VIEW (web_view));
|
||||||
|
|
||||||
|
gfloat zoom_level = webkit_web_view_get_zoom_level (web_view);
|
||||||
|
WebKitWebSettings* settings = webkit_web_view_get_settings (web_view);
|
||||||
|
if (g_object_class_find_property (G_OBJECT_GET_CLASS (settings),
|
||||||
|
"zoom-step"))
|
||||||
|
{
|
||||||
|
gfloat zoom_step;
|
||||||
|
g_object_get (settings, "zoom-step", &zoom_step, NULL);
|
||||||
|
webkit_web_view_set_zoom_level (web_view, zoom_level - zoom_step);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
37
midori/compat.h
Normal file
37
midori/compat.h
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
Copyright (C) 2008 Christian Dywan <christian@twotoasts.de>
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
See the file COPYING for the full license text.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __COMPAT_H__
|
||||||
|
#define __COMPAT_H__
|
||||||
|
|
||||||
|
#include <webkit/webkit.h>
|
||||||
|
|
||||||
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
#ifndef WEBKIT_CHECK_VERSION
|
||||||
|
|
||||||
|
gfloat
|
||||||
|
webkit_web_view_get_zoom_level (WebKitWebView* web_view);
|
||||||
|
|
||||||
|
void
|
||||||
|
webkit_web_view_set_zoom_level (WebKitWebView* web_view);
|
||||||
|
|
||||||
|
void
|
||||||
|
webkit_web_view_zoom_in (WebKitWebView* web_view);
|
||||||
|
|
||||||
|
void
|
||||||
|
webkit_web_view_zoom_out (WebKitWebView* web_view);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
#endif /* __COMPAT_H__ */
|
|
@ -379,8 +379,6 @@ midori_app_set_settings (MidoriApp* app,
|
||||||
{
|
{
|
||||||
g_return_if_fail (MIDORI_IS_APP (app));
|
g_return_if_fail (MIDORI_IS_APP (app));
|
||||||
|
|
||||||
MidoriAppPrivate* priv = app->priv;
|
|
||||||
|
|
||||||
g_object_set (app, "settings", settings, NULL);
|
g_object_set (app, "settings", settings, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -179,7 +179,7 @@ _midori_browser_update_interface (MidoriBrowser* browser)
|
||||||
{
|
{
|
||||||
loading = midori_web_view_is_loading (MIDORI_WEB_VIEW (web_view));
|
loading = midori_web_view_is_loading (MIDORI_WEB_VIEW (web_view));
|
||||||
_action_set_sensitive (browser, "ZoomNormal",
|
_action_set_sensitive (browser, "ZoomNormal",
|
||||||
midori_web_view_get_zoom_level (MIDORI_WEB_VIEW (web_view)) != 1.0);
|
webkit_web_view_get_zoom_level (WEBKIT_WEB_VIEW (web_view)) != 1.0);
|
||||||
if (!g_object_class_find_property (G_OBJECT_GET_CLASS (web_view),
|
if (!g_object_class_find_property (G_OBJECT_GET_CLASS (web_view),
|
||||||
"zoom-level"))
|
"zoom-level"))
|
||||||
{
|
{
|
||||||
|
@ -1248,16 +1248,8 @@ _action_zoom_in_activate (GtkAction* action,
|
||||||
MidoriBrowser* browser)
|
MidoriBrowser* browser)
|
||||||
{
|
{
|
||||||
GtkWidget* web_view = midori_browser_get_current_web_view (browser);
|
GtkWidget* web_view = midori_browser_get_current_web_view (browser);
|
||||||
if (web_view && g_object_class_find_property (
|
if (web_view)
|
||||||
G_OBJECT_GET_CLASS (web_view), "zoom-level"))
|
webkit_web_view_zoom_in (WEBKIT_WEB_VIEW (web_view));
|
||||||
{
|
|
||||||
MidoriBrowserPrivate* priv = browser->priv;
|
|
||||||
|
|
||||||
gfloat zoom_level, zoom_step;
|
|
||||||
g_object_get (web_view, "zoom-level", &zoom_level, NULL);
|
|
||||||
g_object_get (priv->settings, "zoom-step", &zoom_step, NULL);
|
|
||||||
g_object_set (web_view, "zoom-level", zoom_level + zoom_step, NULL);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1265,16 +1257,8 @@ _action_zoom_out_activate (GtkAction* action,
|
||||||
MidoriBrowser* browser)
|
MidoriBrowser* browser)
|
||||||
{
|
{
|
||||||
GtkWidget* web_view = midori_browser_get_current_web_view (browser);
|
GtkWidget* web_view = midori_browser_get_current_web_view (browser);
|
||||||
if (web_view && g_object_class_find_property (
|
if (web_view)
|
||||||
G_OBJECT_GET_CLASS (web_view), "zoom-level"))
|
webkit_web_view_zoom_out (WEBKIT_WEB_VIEW (web_view));
|
||||||
{
|
|
||||||
MidoriBrowserPrivate* priv = browser->priv;
|
|
||||||
|
|
||||||
gfloat zoom_level, zoom_step;
|
|
||||||
g_object_get (web_view, "zoom-level", &zoom_level, NULL);
|
|
||||||
g_object_get (priv->settings, "zoom-step", &zoom_step, NULL);
|
|
||||||
g_object_set (web_view, "zoom-level", zoom_level - zoom_step, NULL);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1282,9 +1266,8 @@ _action_zoom_normal_activate (GtkAction* action,
|
||||||
MidoriBrowser* browser)
|
MidoriBrowser* browser)
|
||||||
{
|
{
|
||||||
GtkWidget* web_view = midori_browser_get_current_web_view (browser);
|
GtkWidget* web_view = midori_browser_get_current_web_view (browser);
|
||||||
if (web_view && g_object_class_find_property (
|
if (web_view)
|
||||||
G_OBJECT_GET_CLASS (web_view), "zoom-level"))
|
webkit_web_view_set_zoom_level (WEBKIT_WEB_VIEW (web_view), 1.0);
|
||||||
g_object_set (web_view, "zoom-level", 1.0, NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*static void
|
/*static void
|
||||||
|
|
|
@ -1080,26 +1080,3 @@ midori_web_view_get_link_uri (MidoriWebView* web_view)
|
||||||
MidoriWebViewPrivate* priv = web_view->priv;
|
MidoriWebViewPrivate* priv = web_view->priv;
|
||||||
return priv->link_uri;
|
return priv->link_uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* midori_web_view_get_zoom_level:
|
|
||||||
* @web_view: a #MidoriWebView
|
|
||||||
*
|
|
||||||
* Retrieves the current zoom level.
|
|
||||||
*
|
|
||||||
* Return value: the zoom level, always 1 if not supported
|
|
||||||
**/
|
|
||||||
gfloat
|
|
||||||
midori_web_view_get_zoom_level (MidoriWebView* web_view)
|
|
||||||
{
|
|
||||||
g_return_val_if_fail (MIDORI_IS_WEB_VIEW (web_view), 1);
|
|
||||||
|
|
||||||
if (g_object_class_find_property (G_OBJECT_GET_CLASS (web_view),
|
|
||||||
"zoom-level"))
|
|
||||||
{
|
|
||||||
gfloat zoom_level;
|
|
||||||
g_object_get (web_view, "zoom-level", &zoom_level, NULL);
|
|
||||||
return zoom_level;
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
|
@ -107,9 +107,6 @@ midori_web_view_get_display_title (MidoriWebView* web_view);
|
||||||
const gchar*
|
const gchar*
|
||||||
midori_web_view_get_link_uri (MidoriWebView* web_view);
|
midori_web_view_get_link_uri (MidoriWebView* web_view);
|
||||||
|
|
||||||
gfloat
|
|
||||||
midori_web_view_get_zoom_level (MidoriWebView* web_view);
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __MIDORI_WEB_VIEW_H__ */
|
#endif /* __MIDORI_WEB_VIEW_H__ */
|
||||||
|
|
Loading…
Reference in a new issue