r2803 rjek - /trunk/netsurf/gtk/gtk_window.c
by netsurf@semichrome.net
Author: rjek
Date: Mon Jul 31 12:28:37 2006
New Revision: 2803
URL: http://svn.semichrome.net?rev=2803&view=rev
Log:
Turn more recent GTK calls into properties sets for compatibility with GTK 2.6
Modified:
trunk/netsurf/gtk/gtk_window.c
Modified: trunk/netsurf/gtk/gtk_window.c
URL: http://svn.semichrome.net/trunk/netsurf/gtk/gtk_window.c?rev=2803&r1=2802...
==============================================================================
--- trunk/netsurf/gtk/gtk_window.c (original)
+++ trunk/netsurf/gtk/gtk_window.c Mon Jul 31 12:28:37 2006
@@ -316,9 +316,10 @@
gtk_entry_completion_set_text_column(url_bar_completion, 0);
gtk_entry_completion_set_minimum_key_length(url_bar_completion, 1);
gtk_entry_completion_set_popup_completion(url_bar_completion, TRUE);
- gtk_entry_completion_set_popup_set_width(url_bar_completion, TRUE);
- gtk_entry_completion_set_popup_single_match(url_bar_completion, TRUE);
-
+ g_object_set(G_OBJECT(url_bar_completion),
+ "popup-set-width", TRUE,
+ "popup-single-match", TRUE,
+ NULL);
#define NS_SIGNAL_CONNECT(obj, sig, callback, ptr) \
g_signal_connect(G_OBJECT(obj), (sig), G_CALLBACK(callback), (ptr))
17 years, 1 month
r2802 rjek - /trunk/netsurf/gtk/gtk_window.c
by netsurf@semichrome.net
Author: rjek
Date: Sun Jul 30 13:46:37 2006
New Revision: 2802
URL: http://svn.semichrome.net?rev=2802&view=rev
Log:
Fix key press event handling in drawing area for nsgtk
Modified:
trunk/netsurf/gtk/gtk_window.c
Modified: trunk/netsurf/gtk/gtk_window.c
URL: http://svn.semichrome.net/trunk/netsurf/gtk/gtk_window.c?rev=2802&r1=2801...
==============================================================================
--- trunk/netsurf/gtk/gtk_window.c (original)
+++ trunk/netsurf/gtk/gtk_window.c Sun Jul 30 13:46:37 2006
@@ -339,7 +339,7 @@
G_CALLBACK(nsgtk_window_button_press_event), g);
g_signal_connect(G_OBJECT(scrolled), "size_allocate",
G_CALLBACK(nsgtk_window_size_allocate_event), g);
- g_signal_connect(G_OBJECT(drawing_area), "activate",
+ g_signal_connect(G_OBJECT(drawing_area), "key_press_event",
G_CALLBACK(nsgtk_window_keypress_event), g);
g_signal_connect(G_OBJECT(zoomin_button), "clicked",
17 years, 1 month
r2801 rjek - in /trunk/netsurf/gtk: gtk_gui.c options.h
by netsurf@semichrome.net
Author: rjek
Date: Fri Jul 28 17:31:23 2006
New Revision: 2801
URL: http://svn.semichrome.net?rev=2801&view=rev
Log:
Loading and saving of urldb on init/exit of nsgtk.
Modified:
trunk/netsurf/gtk/gtk_gui.c
trunk/netsurf/gtk/options.h
Modified: trunk/netsurf/gtk/gtk_gui.c
URL: http://svn.semichrome.net/trunk/netsurf/gtk/gtk_gui.c?rev=2801&r1=2800&r2...
==============================================================================
--- trunk/netsurf/gtk/gtk_gui.c (original)
+++ trunk/netsurf/gtk/gtk_gui.c Fri Jul 28 17:31:23 2006
@@ -29,6 +29,7 @@
#include "netsurf/gtk/gtk_gui.h"
#include "netsurf/gtk/gtk_options.h"
#include "netsurf/gtk/gtk_completion.h"
+#include "netsurf/gtk/options.h"
#include "netsurf/render/box.h"
#include "netsurf/render/form.h"
#include "netsurf/render/html.h"
@@ -132,6 +133,12 @@
if (!option_cookie_file || !option_cookie_jar)
die("Failed initialising cookie options");
+ if (!option_url_file) {
+ find_resource(buf, "URLs", "URLs");
+ LOG(("Using '%s' as URL file", buf));
+ option_url_file = strdup(buf);
+ }
+
find_resource(buf, "messages", "messages");
LOG(("Using '%s' as Messages file", buf));
messages_load(buf);
@@ -145,7 +152,7 @@
adblock_stylesheet_url = path_to_url(buf);
LOG(("Using '%s' as AdBlock CSS URL", adblock_stylesheet_url));
-
+ urldb_load(option_url_file);
urldb_load_cookies(option_cookie_file);
}
@@ -225,6 +232,7 @@
void gui_quit(void)
{
urldb_save_cookies(option_cookie_jar);
+ urldb_save(option_url_file);
free(default_stylesheet_url);
free(adblock_stylesheet_url);
free(option_cookie_file);
Modified: trunk/netsurf/gtk/options.h
URL: http://svn.semichrome.net/trunk/netsurf/gtk/options.h?rev=2801&r1=2800&r2...
==============================================================================
--- trunk/netsurf/gtk/options.h (original)
+++ trunk/netsurf/gtk/options.h Fri Jul 28 17:31:23 2006
@@ -11,13 +11,15 @@
extern bool option_render_cairo;
extern bool option_render_resample;
+extern char *option_url_file;
#define EXTRA_OPTION_DEFINE \
bool option_render_cairo = true; \
-bool option_render_resample = false;
+bool option_render_resample = false; \
+char *option_url_file = 0;
#define EXTRA_OPTION_TABLE \
{ "render_cairo", OPTION_BOOL, &option_render_cairo }, \
-{ "render_resample", OPTION_BOOL, &option_render_resample },
-
+{ "render_resample", OPTION_BOOL, &option_render_resample }, \
+{ "url_file", OPTION_STRING, &option_url_file },
#endif
17 years, 1 month
r2800 rjek - in /trunk/netsurf/gtk: gtk_completion.c gtk_options.c netsurf.glade
by netsurf@semichrome.net
Author: rjek
Date: Fri Jul 28 16:57:00 2006
New Revision: 2800
URL: http://svn.semichrome.net?rev=2800&view=rev
Log:
Make URL completion optional in nsgtk
Modified:
trunk/netsurf/gtk/gtk_completion.c
trunk/netsurf/gtk/gtk_options.c
trunk/netsurf/gtk/netsurf.glade
Modified: trunk/netsurf/gtk/gtk_completion.c
URL: http://svn.semichrome.net/trunk/netsurf/gtk/gtk_completion.c?rev=2800&r1=...
==============================================================================
--- trunk/netsurf/gtk/gtk_completion.c (original)
+++ trunk/netsurf/gtk/gtk_completion.c Fri Jul 28 16:57:00 2006
@@ -9,6 +9,7 @@
#include "netsurf/gtk/gtk_completion.h"
#include "netsurf/content/urldb.h"
#include "netsurf/utils/log.h"
+#include "netsurf/desktop/options.h"
GtkListStore *nsgtk_completion_list;
@@ -57,6 +58,7 @@
void nsgtk_completion_update(const char *prefix)
{
nsgtk_completion_empty();
- urldb_iterate_partial(prefix, nsgtk_completion_udb_callback);
+ if (option_url_suggestion == true)
+ urldb_iterate_partial(prefix, nsgtk_completion_udb_callback);
}
Modified: trunk/netsurf/gtk/gtk_options.c
URL: http://svn.semichrome.net/trunk/netsurf/gtk/gtk_options.c?rev=2800&r1=279...
==============================================================================
--- trunk/netsurf/gtk/gtk_options.c (original)
+++ trunk/netsurf/gtk/gtk_options.c Fri Jul 28 16:57:00 2006
@@ -111,6 +111,7 @@
SET_ENTRY(entryHomePageURL, option_homepage_url);
SET_CHECK(checkHideAdverts, option_block_ads);
/* TODO: rest of "General" tab here */
+ SET_CHECK(checkDisplayRecentURLs, option_url_suggestion);
SET_CHECK(checkSendReferer, option_send_referer);
SET_ENTRY(entryProxyHost, option_http_proxy_host);
@@ -141,6 +142,7 @@
void nsgtk_options_save(void) {
GET_ENTRY(entryHomePageURL, option_homepage_url);
+ GET_CHECK(checkDisplayRecentURLs, option_url_suggestion);
GET_CHECK(checkUseCairo, option_render_cairo);
GET_CHECK(checkResampleImages, option_render_resample);
Modified: trunk/netsurf/gtk/netsurf.glade
URL: http://svn.semichrome.net/trunk/netsurf/gtk/netsurf.glade?rev=2800&r1=279...
==============================================================================
--- trunk/netsurf/gtk/netsurf.glade (original)
+++ trunk/netsurf/gtk/netsurf.glade Fri Jul 28 16:57:00 2006
@@ -532,7 +532,6 @@
<child>
<widget class="GtkCheckButton" id="checkDisplayRecentURLs">
<property name="visible">True</property>
- <property name="sensitive">False</property>
<property name="tooltip" translatable="yes">Show a drop-down list of recent addresses when typing into the address bar.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Display recently visited URLs as you type</property>
17 years, 1 month
r2799 rjek - in /trunk/netsurf: desktop/options.c desktop/options.h riscos/options.h
by netsurf@semichrome.net
Author: rjek
Date: Fri Jul 28 16:52:37 2006
New Revision: 2799
URL: http://svn.semichrome.net?rev=2799&view=rev
Log:
Make url_suggest option core, rather than RISC OS-specific.
Modified:
trunk/netsurf/desktop/options.c
trunk/netsurf/desktop/options.h
trunk/netsurf/riscos/options.h
Modified: trunk/netsurf/desktop/options.c
URL: http://svn.semichrome.net/trunk/netsurf/desktop/options.c?rev=2799&r1=279...
==============================================================================
--- trunk/netsurf/desktop/options.c (original)
+++ trunk/netsurf/desktop/options.c Fri Jul 28 16:52:37 2006
@@ -91,6 +91,8 @@
char *option_cookie_jar = 0;
/** Home page location */
char *option_homepage_url = 0;
+/** URL completion in url bar */
+bool option_url_suggestion = true;
/* Fetcher configuration */
/** Maximum simultaneous active fetchers */
int option_max_fetchers = 24;
@@ -139,6 +141,7 @@
{ "cookie_file", OPTION_STRING, &option_cookie_file },
{ "cookie_jar", OPTION_STRING, &option_cookie_jar },
{ "homepage_url", OPTION_STRING, &option_homepage_url },
+ { "url_suggestion", OPTION_BOOL, &option_url_suggestion },
/* Fetcher options */
{ "max_fetchers", OPTION_INTEGER, &option_max_fetchers },
{ "max_fetchers_per_host",
Modified: trunk/netsurf/desktop/options.h
URL: http://svn.semichrome.net/trunk/netsurf/desktop/options.h?rev=2799&r1=279...
==============================================================================
--- trunk/netsurf/desktop/options.h (original)
+++ trunk/netsurf/desktop/options.h Fri Jul 28 16:52:37 2006
@@ -57,6 +57,7 @@
extern char *option_cookie_file;
extern char *option_cookie_jar;
extern char *option_homepage_url;
+extern bool option_url_suggestion;
/* Fetcher configuration. */
extern int option_max_fetchers;
Modified: trunk/netsurf/riscos/options.h
URL: http://svn.semichrome.net/trunk/netsurf/riscos/options.h?rev=2799&r1=2798...
==============================================================================
--- trunk/netsurf/riscos/options.h (original)
+++ trunk/netsurf/riscos/options.h Fri Jul 28 16:52:37 2006
@@ -47,7 +47,6 @@
extern bool option_open_browser_at_startup;
extern bool option_no_plugins;
extern bool option_block_popups;
-extern bool option_url_suggestion;
extern int option_image_memory_direct; /* -1 means auto-detect */
extern int option_image_memory_compressed; /* -1 means auto-detect */
extern bool option_strip_extensions;
@@ -94,7 +93,6 @@
bool option_open_browser_at_startup = false; \
bool option_no_plugins = false; \
bool option_block_popups = false; \
-bool option_url_suggestion = true; \
int option_image_memory_direct = -1; \
int option_image_memory_compressed = -1; \
bool option_strip_extensions = true; \
@@ -141,7 +139,6 @@
{ "open_browser_at_startup",OPTION_BOOL, &option_open_browser_at_startup }, \
{ "no_plugins", OPTION_BOOL, &option_no_plugins }, \
{ "block_popups", OPTION_BOOL, &option_block_popups }, \
-{ "url_suggestion", OPTION_BOOL, &option_url_suggestion }, \
{ "image_memory_direct", OPTION_INTEGER, &option_image_memory_direct }, \
{ "image_memory_compressed",OPTION_INTEGER, &option_image_memory_compressed }, \
{ "strip_extensions", OPTION_BOOL, &option_strip_extensions }, \
17 years, 1 month
r2798 rjek - /trunk/netsurf/gtk/gtk_window.c
by netsurf@semichrome.net
Author: rjek
Date: Fri Jul 28 16:47:48 2006
New Revision: 2798
URL: http://svn.semichrome.net?rev=2798&view=rev
Log:
nsgtk URL completion: fix problem with pressing enter on a completion not working correctly.
Modified:
trunk/netsurf/gtk/gtk_window.c
Modified: trunk/netsurf/gtk/gtk_window.c
URL: http://svn.semichrome.net/trunk/netsurf/gtk/gtk_window.c?rev=2798&r1=2797...
==============================================================================
--- trunk/netsurf/gtk/gtk_window.c (original)
+++ trunk/netsurf/gtk/gtk_window.c Fri Jul 28 16:47:48 2006
@@ -93,8 +93,7 @@
void nsgtk_window_destroy_event(GtkWidget *widget, gpointer data);
gboolean nsgtk_window_expose_event(GtkWidget *widget,
GdkEventExpose *event, gpointer data);
-gboolean nsgtk_window_url_keypress_event(GtkWidget *widget,
- GdkEventKey *event, gpointer data);
+gboolean nsgtk_window_url_activate_event(GtkWidget *widget, gpointer data);
gboolean nsgtk_window_url_changed(GtkWidget *widget, GdkEventKey *event,
gpointer data);
gboolean nsgtk_window_configure_event(GtkWidget *widget,
@@ -240,8 +239,8 @@
url_bar = gtk_entry_new();
gtk_container_add(GTK_CONTAINER(url_item), url_bar);
gtk_widget_show(url_bar);
- g_signal_connect(G_OBJECT(url_bar), "key_press_event",
- G_CALLBACK(nsgtk_window_url_keypress_event), g);
+ g_signal_connect(G_OBJECT(url_bar), "activate",
+ G_CALLBACK(nsgtk_window_url_activate_event), g);
scrolled = gtk_scrolled_window_new(0, 0);
gtk_box_pack_start(GTK_BOX(vbox), scrolled, TRUE, TRUE, 0);
@@ -340,7 +339,7 @@
G_CALLBACK(nsgtk_window_button_press_event), g);
g_signal_connect(G_OBJECT(scrolled), "size_allocate",
G_CALLBACK(nsgtk_window_size_allocate_event), g);
- g_signal_connect(G_OBJECT(drawing_area), "key_press_event",
+ g_signal_connect(G_OBJECT(drawing_area), "activate",
G_CALLBACK(nsgtk_window_keypress_event), g);
g_signal_connect(G_OBJECT(zoomin_button), "clicked",
@@ -581,14 +580,10 @@
return TRUE;
}
-gboolean nsgtk_window_url_keypress_event(GtkWidget *widget,
- GdkEventKey *event, gpointer data)
+gboolean nsgtk_window_url_activate_event(GtkWidget *widget, gpointer data)
{
struct gui_window *g = data;
char *referer = 0;
-
- if (event->keyval != GDK_Return)
- return FALSE;
if (g->bw->current_content && g->bw->current_content->url)
referer = g->bw->current_content->url;
17 years, 1 month
r2797 rjek - /trunk/netsurf/gtk/gtk_gui.c
by netsurf@semichrome.net
Author: rjek
Date: Fri Jul 28 16:42:43 2006
New Revision: 2797
URL: http://svn.semichrome.net?rev=2797&view=rev
Log:
Make nsgtk use find_resource() to locate netsurf.glade
Modified:
trunk/netsurf/gtk/gtk_gui.c
Modified: trunk/netsurf/gtk/gtk_gui.c
URL: http://svn.semichrome.net/trunk/netsurf/gtk/gtk_gui.c?rev=2797&r1=2796&r2...
==============================================================================
--- trunk/netsurf/gtk/gtk_gui.c (original)
+++ trunk/netsurf/gtk/gtk_gui.c Fri Jul 28 16:42:43 2006
@@ -102,14 +102,12 @@
gtk_init(&argc, &argv);
- /* TODO: make this search for the file using the resource finding
- * function above
- */
- glade_file_location = strdup("./gtk/netsurf.glade");
+ find_resource(buf, "netsurf.glade", "./gtk/netsurf.glade");
+ LOG(("Using '%s' as Glade template file", buf));
+ glade_file_location = strdup(buf);
glade_init();
gladeWindows = glade_xml_new(glade_file_location, NULL, NULL);
-
glade_xml_signal_autoconnect(gladeWindows);
nsgtk_completion_init();
17 years, 1 month
r2796 rjek - /trunk/netsurf/gtk/gtk_completion.c
by netsurf@semichrome.net
Author: rjek
Date: Tue Jul 25 22:00:04 2006
New Revision: 2796
URL: http://svn.semichrome.net?rev=2796&view=rev
Log:
Fix problem number 2 in previous commit
Modified:
trunk/netsurf/gtk/gtk_completion.c
Modified: trunk/netsurf/gtk/gtk_completion.c
URL: http://svn.semichrome.net/trunk/netsurf/gtk/gtk_completion.c?rev=2796&r1=...
==============================================================================
--- trunk/netsurf/gtk/gtk_completion.c (original)
+++ trunk/netsurf/gtk/gtk_completion.c Tue Jul 25 22:00:04 2006
@@ -46,8 +46,11 @@
bool nsgtk_completion_udb_callback(const char *url, const struct url_data *data)
{
GtkTreeIter iter;
- gtk_list_store_append(nsgtk_completion_list, &iter);
- gtk_list_store_set(nsgtk_completion_list, &iter, 0, url, -1);
+
+ if (data->visits != 0) {
+ gtk_list_store_append(nsgtk_completion_list, &iter);
+ gtk_list_store_set(nsgtk_completion_list, &iter, 0, url, -1);
+ }
return true;
}
17 years, 1 month
r2795 rjek - in /trunk/netsurf: gtk/gtk_completion.c gtk/gtk_completion.h gtk/gtk_gui.c gtk/gtk_window.c makefile
by netsurf@semichrome.net
Author: rjek
Date: Tue Jul 25 21:55:10 2006
New Revision: 2795
URL: http://svn.semichrome.net?rev=2795&view=rev
Log:
Initial work on URL completion in nsgtk. Some problems still exist.
1. It works without the code that should be required to make it do so. Boggle.
2. It appears to include the URLs to images and other resources as well as pages
3. Although you can highlight a completion with the cursor keys, pressing enter on one doesn't work - you need to click on it with the mouse.
Added:
trunk/netsurf/gtk/gtk_completion.c
trunk/netsurf/gtk/gtk_completion.h
Modified:
trunk/netsurf/gtk/gtk_gui.c
trunk/netsurf/gtk/gtk_window.c
trunk/netsurf/makefile
Added: trunk/netsurf/gtk/gtk_completion.c
URL: http://svn.semichrome.net/trunk/netsurf/gtk/gtk_completion.c?rev=2795&vie...
==============================================================================
--- trunk/netsurf/gtk/gtk_completion.c (added)
+++ trunk/netsurf/gtk/gtk_completion.c Tue Jul 25 21:55:10 2006
@@ -1,0 +1,59 @@
+/*
+ * This file is part of NetSurf, http://netsurf.sourceforge.net/
+ * Licensed under the GNU General Public License,
+ * http://www.opensource.org/licenses/gpl-license
+ * Copyright 2006 Rob Kendrick <rjek(a)rjek.com>
+ */
+
+#include <gtk/gtk.h>
+#include "netsurf/gtk/gtk_completion.h"
+#include "netsurf/content/urldb.h"
+#include "netsurf/utils/log.h"
+
+GtkListStore *nsgtk_completion_list;
+
+static void nsgtk_completion_empty(void);
+static bool nsgtk_completion_udb_callback(const char *url,
+ const struct url_data *data);
+
+void nsgtk_completion_init(void)
+{
+ nsgtk_completion_list = gtk_list_store_new(1, G_TYPE_STRING);
+
+}
+
+gboolean nsgtk_completion_match(GtkEntryCompletion *completion,
+ const gchar *key,
+ GtkTreeIter *iter,
+ gpointer user_data)
+{
+ char *b[4096]; /* no way of finding out its length :( */
+ gtk_tree_model_get(GTK_TREE_MODEL(nsgtk_completion_list), iter,
+ 0, b, -1);
+
+ /* TODO: work out why this works, when there's no code to implement
+ * it. I boggle. */
+
+ return TRUE;
+
+}
+
+void nsgtk_completion_empty(void)
+{
+ gtk_list_store_clear(nsgtk_completion_list);
+}
+
+bool nsgtk_completion_udb_callback(const char *url, const struct url_data *data)
+{
+ GtkTreeIter iter;
+ gtk_list_store_append(nsgtk_completion_list, &iter);
+ gtk_list_store_set(nsgtk_completion_list, &iter, 0, url, -1);
+ return true;
+}
+
+void nsgtk_completion_update(const char *prefix)
+{
+ nsgtk_completion_empty();
+ urldb_iterate_partial(prefix, nsgtk_completion_udb_callback);
+}
+
Added: trunk/netsurf/gtk/gtk_completion.h
URL: http://svn.semichrome.net/trunk/netsurf/gtk/gtk_completion.h?rev=2795&vie...
==============================================================================
--- trunk/netsurf/gtk/gtk_completion.h (added)
+++ trunk/netsurf/gtk/gtk_completion.h Tue Jul 25 21:55:10 2006
@@ -1,0 +1,21 @@
+/*
+ * This file is part of NetSurf, http://netsurf.sourceforge.net/
+ * Licensed under the GNU General Public License,
+ * http://www.opensource.org/licenses/gpl-license
+ * Copyright 2006 Rob Kendrick <rjek(a)rjek.com>
+ */
+
+#ifndef _NETSURF_GTK_COMPLETION_H_
+#define _NETSURF_GTK_COMPLETION_H_
+
+#include <gtk/gtk.h>
+
+extern GtkListStore *nsgtk_completion_list;
+
+void nsgtk_completion_init(void);
+void nsgtk_completion_update(const char *prefix);
+gboolean nsgtk_completion_match(GtkEntryCompletion *completion,
+ const gchar *key,
+ GtkTreeIter *iter,
+ gpointer user_data);
+#endif
Modified: trunk/netsurf/gtk/gtk_gui.c
URL: http://svn.semichrome.net/trunk/netsurf/gtk/gtk_gui.c?rev=2795&r1=2794&r2...
==============================================================================
--- trunk/netsurf/gtk/gtk_gui.c (original)
+++ trunk/netsurf/gtk/gtk_gui.c Tue Jul 25 21:55:10 2006
@@ -28,6 +28,7 @@
#include "netsurf/desktop/options.h"
#include "netsurf/gtk/gtk_gui.h"
#include "netsurf/gtk/gtk_options.h"
+#include "netsurf/gtk/gtk_completion.h"
#include "netsurf/render/box.h"
#include "netsurf/render/form.h"
#include "netsurf/render/html.h"
@@ -110,6 +111,8 @@
gladeWindows = glade_xml_new(glade_file_location, NULL, NULL);
glade_xml_signal_autoconnect(gladeWindows);
+
+ nsgtk_completion_init();
find_resource(buf, "Choices", "Choices");
LOG(("Using '%s' as Choices file", buf));
Modified: trunk/netsurf/gtk/gtk_window.c
URL: http://svn.semichrome.net/trunk/netsurf/gtk/gtk_window.c?rev=2795&r1=2794...
==============================================================================
--- trunk/netsurf/gtk/gtk_window.c (original)
+++ trunk/netsurf/gtk/gtk_window.c Tue Jul 25 21:55:10 2006
@@ -24,6 +24,7 @@
#include "netsurf/gtk/gtk_plotters.h"
#include "netsurf/gtk/gtk_window.h"
#include "netsurf/gtk/gtk_options.h"
+#include "netsurf/gtk/gtk_completion.h"
#include "netsurf/render/box.h"
#include "netsurf/render/font.h"
#include "netsurf/render/form.h"
@@ -94,6 +95,8 @@
GdkEventExpose *event, gpointer data);
gboolean nsgtk_window_url_keypress_event(GtkWidget *widget,
GdkEventKey *event, gpointer data);
+gboolean nsgtk_window_url_changed(GtkWidget *widget, GdkEventKey *event,
+ gpointer data);
gboolean nsgtk_window_configure_event(GtkWidget *widget,
GdkEventConfigure *event, gpointer data);
gboolean nsgtk_window_motion_notify_event(GtkWidget *widget,
@@ -134,6 +137,7 @@
GtkWidget *scrolled, *history_scrolled;
GtkWidget *drawing_area, *history_area;
GtkWidget *status_box;
+ GtkEntryCompletion *url_bar_completion;
g = malloc(sizeof *g);
if (!g) {
@@ -289,9 +293,9 @@
gtk_widget_set_size_request(g->progress_bar, 64, 0);
gtk_box_pack_end(GTK_BOX(status_box), g->progress_bar, FALSE, FALSE, 0);
+ g->window = window;
gtk_widget_show(window);
- g->window = window;
g->url_bar = url_bar;
g->drawing_area = drawing_area;
g->bw = bw;
@@ -302,11 +306,30 @@
else
g->scale = 1.0;
+ /* set up URL bar completion */
+
+ url_bar_completion = gtk_entry_completion_new();
+ gtk_entry_set_completion(GTK_ENTRY(url_bar), url_bar_completion);
+ gtk_entry_completion_set_match_func(url_bar_completion,
+ nsgtk_completion_match, NULL, NULL);
+ gtk_entry_completion_set_model(url_bar_completion,
+ GTK_TREE_MODEL(nsgtk_completion_list));
+ gtk_entry_completion_set_text_column(url_bar_completion, 0);
+ gtk_entry_completion_set_minimum_key_length(url_bar_completion, 1);
+ gtk_entry_completion_set_popup_completion(url_bar_completion, TRUE);
+ gtk_entry_completion_set_popup_set_width(url_bar_completion, TRUE);
+ gtk_entry_completion_set_popup_single_match(url_bar_completion, TRUE);
+
+
#define NS_SIGNAL_CONNECT(obj, sig, callback, ptr) \
g_signal_connect(G_OBJECT(obj), (sig), G_CALLBACK(callback), (ptr))
NS_SIGNAL_CONNECT(window, "destroy", nsgtk_window_destroy_event, g);
-
+
+ g_signal_connect(G_OBJECT(url_bar), "changed",
+ G_CALLBACK(nsgtk_window_url_changed), g);
+// g_signal_connect(G_OBJECT(url_bar_completion), "match-selected",
+// G_CALLBACK(nsgtk_window_completion_selected), g);
g_signal_connect(G_OBJECT(drawing_area), "expose_event",
G_CALLBACK(nsgtk_window_expose_event), g);
g_signal_connect(G_OBJECT(drawing_area), "configure_event",
@@ -574,6 +597,15 @@
referer, true);
return TRUE;
+}
+
+gboolean nsgtk_window_url_changed(GtkWidget *widget, GdkEventKey *event,
+ gpointer data)
+{
+ struct gui_window *g = data;
+ const char *prefix;
+ prefix = gtk_entry_get_text(GTK_ENTRY(widget));
+ nsgtk_completion_update(prefix);
}
gboolean nsgtk_window_keypress_event(GtkWidget *widget,
Modified: trunk/netsurf/makefile
URL: http://svn.semichrome.net/trunk/netsurf/makefile?rev=2795&r1=2794&r2=2795...
==============================================================================
--- trunk/netsurf/makefile (original)
+++ trunk/netsurf/makefile Tue Jul 25 21:55:10 2006
@@ -68,7 +68,8 @@
version.o gesture_core.o # desktop/
OBJECTS_GTK += font_pango.o gtk_bitmap.o gtk_gui.o \
gtk_schedule.o gtk_thumbnail.o gtk_options.o \
- gtk_plotters.o gtk_treeview.o gtk_window.o # gtk/
+ gtk_plotters.o gtk_treeview.o gtk_window.o \
+ gtk_completion.o # gtk/
OBJDIR_RISCOS = arm-riscos-aof
@@ -121,7 +122,7 @@
CFLAGS_DEBUG = -std=c9x -D_BSD_SOURCE -DDEBUG_BUILD $(WARNFLAGS) -I.. \
$(PLATFORM_CFLAGS_DEBUG) -g
CFLAGS_GTK = -Dnsgtk -std=c9x -D_BSD_SOURCE -D_POSIX_C_SOURCE -Dgtk \
- $(WARNFLAGS) -I.. -g -O0 -Wformat=2 \
+ $(WARNFLAGS) -I.. -g -O2 -Wformat=2 \
`pkg-config --cflags libglade-2.0 gtk+-2.0` `xml2-config --cflags`
# Stop GCC under Cygwin throwing a fit
17 years, 1 month
r2794 rjek - in /trunk/netsurf/gtk: gtk_options.c gtk_plotters.c netsurf.glade
by netsurf@semichrome.net
Author: rjek
Date: Sun Jul 23 23:44:42 2006
New Revision: 2794
URL: http://svn.semichrome.net?rev=2794&view=rev
Log:
Make image resampling optional in nsgtk
Modified:
trunk/netsurf/gtk/gtk_options.c
trunk/netsurf/gtk/gtk_plotters.c
trunk/netsurf/gtk/netsurf.glade
Modified: trunk/netsurf/gtk/gtk_options.c
URL: http://svn.semichrome.net/trunk/netsurf/gtk/gtk_options.c?rev=2794&r1=279...
==============================================================================
--- trunk/netsurf/gtk/gtk_options.c (original)
+++ trunk/netsurf/gtk/gtk_options.c Sun Jul 23 23:44:42 2006
@@ -143,6 +143,7 @@
GET_ENTRY(entryHomePageURL, option_homepage_url);
GET_CHECK(checkUseCairo, option_render_cairo);
+ GET_CHECK(checkResampleImages, option_render_resample);
/* TODO: save the other options */
options_write(options_file_location);
Modified: trunk/netsurf/gtk/gtk_plotters.c
URL: http://svn.semichrome.net/trunk/netsurf/gtk/gtk_plotters.c?rev=2794&r1=27...
==============================================================================
--- trunk/netsurf/gtk/gtk_plotters.c (original)
+++ trunk/netsurf/gtk/gtk_plotters.c Sun Jul 23 23:44:42 2006
@@ -280,7 +280,8 @@
GdkPixbuf *scaled;
scaled = gdk_pixbuf_scale_simple(pixbuf,
width, height,
- GDK_INTERP_BILINEAR);
+ option_render_resample ? GDK_INTERP_BILINEAR
+ : GDK_INTERP_NEAREST);
if (!scaled)
return false;
Modified: trunk/netsurf/gtk/netsurf.glade
URL: http://svn.semichrome.net/trunk/netsurf/gtk/netsurf.glade?rev=2794&r1=279...
==============================================================================
--- trunk/netsurf/gtk/netsurf.glade (original)
+++ trunk/netsurf/gtk/netsurf.glade Sun Jul 23 23:44:42 2006
@@ -1255,7 +1255,6 @@
<child>
<widget class="GtkCheckButton" id="checkResampleImages">
<property name="visible">True</property>
- <property name="sensitive">False</property>
<property name="tooltip" translatable="yes">Smoothly resize images when zooming in and out.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Resample images when not at natural size</property>
17 years, 2 months