Fix the search in the custom homepage and optimize the saving
This commit is contained in:
parent
5916815daf
commit
2e250b66e8
3 changed files with 52 additions and 30 deletions
|
@ -3,14 +3,7 @@
|
|||
Copyright (C) 2009 Jean-François Guchens <zcx000@gmail.com>
|
||||
This file is licensed under the terms of the expat license, see the file EXPAT.
|
||||
-->
|
||||
|
||||
<body>
|
||||
<div id="wrap">
|
||||
<form id="search_bar" name="search_bar" action="{search_uri}" method="get">
|
||||
<input type="text" name="q" value="{search_title}" onfocus="javascript:this.value='';"
|
||||
onblur="javascript:if(this.value=='') this.value='{search_title}';" />
|
||||
<button>{search}</button>
|
||||
</form>
|
||||
<div id="content">
|
||||
<div class="shortcut top" id="s1">
|
||||
<a href="#" onclick="javascript:return getAction('s1');">
|
||||
<h1>1</h1><h4><span/></h4>
|
||||
|
@ -65,7 +58,8 @@
|
|||
</a>
|
||||
<p> </p>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- #wrap -->
|
||||
<div class="clear"></div>
|
||||
</div> <!-- #content -->
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -200,6 +200,8 @@
|
|||
if (!name) return;
|
||||
|
||||
$(id).getLast ().set ('html', name);
|
||||
|
||||
console.log ("speeddial-save");
|
||||
}
|
||||
|
||||
var clearShortcut = function (id)
|
||||
|
@ -226,6 +228,29 @@
|
|||
console.log ("speeddial-save");
|
||||
}
|
||||
|
||||
var speeddialSearch = function ()
|
||||
{
|
||||
var reg = new RegExp("%s", "g");
|
||||
var search_url = $('search_bar').getProperty ('action');
|
||||
var search_content = $('search_bar').getFirst ().get ('value');
|
||||
window.location.href = search_url.replace (reg, encodeURIComponent (search_content));
|
||||
return false;
|
||||
}
|
||||
|
||||
var getSpeeddialContent = function()
|
||||
{
|
||||
var content = $('content').get ('html');
|
||||
return '<div id="content">' + content + '</div></div></body></html>';
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="wrap">
|
||||
<form id="search_bar" name="search_bar" action="{search_uri}"
|
||||
method="get" onsubmit="javascript:return speeddialSearch();">
|
||||
<input type="text" name="q" value="{search_title}" onfocus="javascript:this.value='';"
|
||||
onblur="javascript:if(this.value=='') this.value='{search_title}';" />
|
||||
<button>{search}</button>
|
||||
</form>
|
||||
|
||||
|
|
|
@ -1014,13 +1014,13 @@ midori_web_view_menu_action_add_speeddial_cb (GtkWidget* widget,
|
|||
gchar* file_content;
|
||||
gchar* encoded;
|
||||
gchar* speeddial_body;
|
||||
gchar* t_body_fname;
|
||||
gchar* body_fname;
|
||||
gsize sz;
|
||||
|
||||
t_body_fname = g_strdup_printf ("%s%s", g_get_user_config_dir (),
|
||||
"/midori/speeddial-body.html");
|
||||
body_fname = g_strconcat (g_get_user_config_dir (),
|
||||
"/midori/speeddial-body.html", NULL);
|
||||
|
||||
g_file_get_contents (t_body_fname, &speeddial_body, NULL, NULL);
|
||||
g_file_get_contents (body_fname, &speeddial_body, NULL, NULL);
|
||||
|
||||
img = gdk_pixbuf_new_from_file_at_scale (filename, 160, 107, FALSE, NULL);
|
||||
gdk_pixbuf_save_to_buffer (img, &file_content, &sz, "png", NULL, NULL);
|
||||
|
@ -1046,13 +1046,13 @@ midori_web_view_menu_action_add_speeddial_cb (GtkWidget* widget,
|
|||
replace = g_regex_replace (regex, speeddial_body, -1,
|
||||
1, replace_by, 0, NULL);
|
||||
|
||||
g_file_set_contents (t_body_fname, replace, -1, NULL);
|
||||
g_file_set_contents (body_fname, replace, -1, NULL);
|
||||
|
||||
g_object_unref (img);
|
||||
g_regex_unref (regex);
|
||||
g_free (encoded);
|
||||
g_free (file_content);
|
||||
g_free (t_body_fname);
|
||||
g_free (body_fname);
|
||||
g_free (speeddial_body);
|
||||
g_free (replace_by);
|
||||
g_free (replace_from);
|
||||
|
@ -2028,7 +2028,7 @@ midori_view_set_uri (MidoriView* view,
|
|||
gchar* speeddial_head;
|
||||
gchar* speeddial_body;
|
||||
gchar* speeddial_html;
|
||||
gchar* t_body_fname;
|
||||
gchar* body_fname;
|
||||
gchar* location_entry_search;
|
||||
|
||||
katze_assign (view->uri, g_strdup (""));
|
||||
|
@ -2039,32 +2039,34 @@ midori_view_set_uri (MidoriView* view,
|
|||
res_server = sokoke_get_res_server ();
|
||||
port = soup_server_get_port (res_server);
|
||||
res_root = g_strdup_printf ("http://localhost:%d/res", port);
|
||||
t_body_fname = g_strconcat (g_get_user_config_dir (),
|
||||
body_fname = g_strconcat (g_get_user_config_dir (),
|
||||
"/midori/speeddial-body.html", NULL);
|
||||
|
||||
if (!g_file_test (t_body_fname, G_FILE_TEST_EXISTS))
|
||||
if (!g_file_test (body_fname, G_FILE_TEST_EXISTS))
|
||||
{
|
||||
g_file_get_contents (DATADIR "/midori/res/speeddial-body.html",
|
||||
&speeddial_body, NULL, NULL );
|
||||
g_file_set_contents (t_body_fname, speeddial_body, -1, NULL );
|
||||
g_file_set_contents (body_fname, speeddial_body, -1, NULL );
|
||||
}
|
||||
else
|
||||
g_file_get_contents (t_body_fname, &speeddial_body, NULL, NULL);
|
||||
g_file_get_contents (body_fname, &speeddial_body, NULL, NULL);
|
||||
|
||||
speeddial_html = g_strconcat (speeddial_head, speeddial_body, NULL);
|
||||
|
||||
g_object_get (view->settings, "location-entry-search",
|
||||
&location_entry_search, NULL);
|
||||
|
||||
data = sokoke_replace_variables (speeddial_html,
|
||||
"{res}", res_root,
|
||||
"{title}", _("Blank page"),
|
||||
"{search_uri}", &location_entry_search,
|
||||
"{search_uri}", location_entry_search,
|
||||
"{search_title}", _("Search"),
|
||||
"{search}", _("Search"),
|
||||
"{click_to_add}", _("Click to add a shortcut"),
|
||||
"{enter_shortcut_address}", _("Enter shortcut address"),
|
||||
"{enter_shortcut_name}", _("Enter shortcut name"),
|
||||
"{are_you_sure}", _("Are you sure you want to delete this shortcut?"), NULL);
|
||||
g_free (location_entry_search);
|
||||
|
||||
|
||||
#if WEBKIT_CHECK_VERSION (1, 1, 6)
|
||||
webkit_web_frame_load_alternate_string (
|
||||
|
@ -2080,7 +2082,8 @@ midori_view_set_uri (MidoriView* view,
|
|||
g_free (speeddial_html);
|
||||
g_free (speeddial_head);
|
||||
g_free (speeddial_body);
|
||||
g_free (t_body_fname);
|
||||
g_free (body_fname);
|
||||
g_free (location_entry_search);
|
||||
}
|
||||
/* This is not prefectly elegant, but creating an
|
||||
error page inline is the simplest solution. */
|
||||
|
@ -3101,7 +3104,7 @@ midori_view_speeddial_save (GtkWidget* web_view)
|
|||
{
|
||||
JSContextRef js_context = webkit_web_frame_get_global_context (
|
||||
webkit_web_view_get_main_frame (WEBKIT_WEB_VIEW (web_view)));
|
||||
gchar* newdom = sokoke_js_script_eval (js_context,"document.body.innerHTML", NULL);
|
||||
gchar* newdom = sokoke_js_script_eval (js_context,"getSpeeddialContent()", NULL);
|
||||
gchar* fname = g_strconcat (g_get_user_config_dir (), "/midori/speeddial-body.html", NULL);
|
||||
g_file_set_contents (fname, newdom, -1, NULL);
|
||||
g_free (fname);
|
||||
|
|
Loading…
Reference in a new issue