Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/d55a41e070e851a3dca0f0561a3002bedde80fd6
...commit
http://git.netsurf-browser.org/netsurf.git/commit/d55a41e070e851a3dca0f0561a3002bedde80fd6
...tree
http://git.netsurf-browser.org/netsurf.git/tree/d55a41e070e851a3dca0f0561a3002bedde80fd6
The branch, vince/gtk-tab-restyle has been updated
via d55a41e070e851a3dca0f0561a3002bedde80fd6 (commit)
from 90bbe288b60402feb5d3d1b365d38092970d179e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=d55a41e070e851a3dca0f0561a3002bedde80fd6
commit d55a41e070e851a3dca0f0561a3002bedde80fd6
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>
clean up find in page to operate nicely
diff --git a/frontends/gtk/res/netsurf.gtk3.ui
b/frontends/gtk/res/netsurf.gtk3.ui
index ce47c63..6ea8f07 100644
--- a/frontends/gtk/res/netsurf.gtk3.ui
+++ b/frontends/gtk/res/netsurf.gtk3.ui
@@ -1,9 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.22.1 -->
<interface>
- <!-- interface-requires gtk+ 3.0 -->
+ <requires lib="gtk+" version="3.0"/>
<object class="GtkWindow" id="wndBrowser">
<property name="can_focus">False</property>
<child>
+ <placeholder/>
+ </child>
+ <child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -20,156 +24,6 @@
</packing>
</child>
<child>
- <object class="GtkToolbar" id="toolbar">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="toolbar_style">both</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolbar" id="searchbar">
- <property name="can_focus">False</property>
- <property name="toolbar_style">both</property>
- <child>
- <object class="GtkToolButton" id="closeSearchButton">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
- <property name="label" translatable="yes">gtk-close</property>
- <property name="stock_id">gtk-close</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolItem" id="searchLabelItem">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
- <child>
- <object class="GtkLabel" id="searchlabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">4</property>
- <property name="label" translatable="yes">Match</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolItem" id="toolSearch">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
- <child>
- <object class="GtkEntry" id="searchEntry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolButton" id="searchBackButton">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
- <property name="label" translatable="yes">Search
_Back</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-go-back</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolButton" id="searchForwardButton">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
- <property name="label" translatable="yes">Search
_Forward</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-go-forward</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolItem" id="checkAllSearchItem">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
- <child>
- <object class="GtkCheckButton" id="checkAllSearch">
- <property name="label" translatable="yes">All</property>
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_action_appearance">False</property>
- <property name="xalign">0</property>
- <property name="draw_indicator">True</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolItem" id="caseSensItem">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
- <child>
- <object class="GtkCheckButton" id="caseSensButton">
- <property name="label" translatable="yes">Case</property>
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_action_appearance">False</property>
- <property name="xalign">0</property>
- <property name="draw_indicator">True</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
<object class="GtkNotebook" id="notebook">
<property name="visible">True</property>
<property name="can_focus">True</property>
diff --git a/frontends/gtk/res/tabcontents.gtk3.ui
b/frontends/gtk/res/tabcontents.gtk3.ui
index 607d511..5d7a40b 100644
--- a/frontends/gtk/res/tabcontents.gtk3.ui
+++ b/frontends/gtk/res/tabcontents.gtk3.ui
@@ -29,67 +29,37 @@
</packing>
</child>
<child>
- <object class="GtkToolbar" id="searchbar">
+ <object class="GtkToolbar" id="findbar">
<property name="can_focus">False</property>
<property name="toolbar_style">both</property>
<child>
- <object class="GtkToolButton" id="closeSearchButton">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">gtk-close</property>
- <property name="stock_id">gtk-close</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolItem" id="searchLabelItem">
+ <object class="GtkToolItem">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <object class="GtkLabel" id="searchlabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">4</property>
- <property name="label" translatable="yes">Match</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">False</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolItem" id="toolSearch">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkEntry" id="searchEntry">
+ <object class="GtkEntry" id="Find">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
+ <property name="placeholder_text"
translatable="yes">gtkFindPlaceholder</property>
</object>
</child>
</object>
<packing>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="homogeneous">False</property>
</packing>
</child>
<child>
- <object class="GtkToolButton" id="searchBackButton">
+ <object class="GtkToolButton" id="FindBack">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Search _Back</property>
+ <property name="tooltip_text"
translatable="yes">gtkFindBack</property>
+ <property name="label" translatable="yes">gtkFindBack</property>
<property name="use_underline">True</property>
- <property name="stock_id">gtk-go-back</property>
+ <property name="stock_id">gtk-go-up</property>
</object>
<packing>
<property name="expand">False</property>
@@ -97,13 +67,14 @@
</packing>
</child>
<child>
- <object class="GtkToolButton" id="searchForwardButton">
+ <object class="GtkToolButton" id="FindForward">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Search
_Forward</property>
+ <property name="tooltip_text"
translatable="yes">gtkFindForward</property>
+ <property name="label" translatable="yes">gtkFindForward</property>
<property name="use_underline">True</property>
- <property name="stock_id">gtk-go-forward</property>
+ <property name="stock_id">gtk-go-down</property>
</object>
<packing>
<property name="expand">False</property>
@@ -111,13 +82,13 @@
</packing>
</child>
<child>
- <object class="GtkToolItem" id="checkAllSearchItem">
+ <object class="GtkToolItem">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <object class="GtkCheckButton" id="checkAllSearch">
- <property name="label" translatable="yes">All</property>
+ <object class="GtkCheckButton" id="FindHightlightAll">
+ <property name="label"
translatable="yes">gtkFindHighlightAll</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -133,13 +104,13 @@
</packing>
</child>
<child>
- <object class="GtkToolItem" id="caseSensItem">
+ <object class="GtkToolItem">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <object class="GtkCheckButton" id="caseSensButton">
- <property name="label" translatable="yes">Case</property>
+ <object class="GtkCheckButton" id="FindMatchCase">
+ <property name="label"
translatable="yes">gtkFindMatchCase</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -154,6 +125,20 @@
<property name="homogeneous">False</property>
</packing>
</child>
+ <child>
+ <object class="GtkToolButton" id="FindClose">
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">gtkFindClose</property>
+ <property name="label" translatable="yes">gtkFindClose</property>
+ <property name="stock_id">gtk-close</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
diff --git a/frontends/gtk/scaffolding.c b/frontends/gtk/scaffolding.c
index b86b914..5a50d81 100644
--- a/frontends/gtk/scaffolding.c
+++ b/frontends/gtk/scaffolding.c
@@ -1,6 +1,5 @@
/*
- * Copyright 2006 Rob Kendrick <[email protected]>
- * Copyright 2009 Mark Benjamin <[email protected]>
+ * Copyright 2019 Vincent Sanders <[email protected]>
*
* This file is part of NetSurf, http://www.netsurf-browser.org/
*
@@ -18,26 +17,25 @@
*/
#include <gtk/gtk.h>
+#include <stdbool.h>
#include "utils/utils.h"
#include "utils/log.h"
-#include "utils/nsurl.h"
#include "utils/messages.h"
+#include "utils/nsurl.h"
#include "utils/nsoption.h"
#include "netsurf/browser_window.h"
#include "desktop/browser_history.h"
#include "desktop/hotlist.h"
#include "gtk/compat.h"
-#include "gtk/warn.h"
#include "gtk/toolbar_items.h"
-#include "gtk/toolbar.h"
#include "gtk/menu.h"
#include "gtk/local_history.h"
-#include "gtk/download.h"
#include "gtk/gui.h"
+#include "gtk/download.h"
#include "gtk/window.h"
-#include "gtk/completion.h"
+#include "gtk/warn.h"
#include "gtk/tabs.h"
#include "gtk/resources.h"
#include "gtk/scaffolding.h"
diff --git a/frontends/gtk/search.c b/frontends/gtk/search.c
index a75dc94..ead511f 100644
--- a/frontends/gtk/search.c
+++ b/frontends/gtk/search.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2009 Mark Benjamin <[email protected]>
+ * Copyright 2019 Vincent Sanders <[email protected]>
*
* This file is part of NetSurf, http://www.netsurf-browser.org/
*
@@ -19,30 +19,24 @@
/**
* \file
- * Free text search (front component)
+ * find in page gtk frontend implementation
+ *
+ * \todo this whole thing should be named find rather than search as
+ * that generally means web search and is confusing.
*/
-#include <stdint.h>
-#include <ctype.h>
-#include <string.h>
-#include <gdk/gdkkeysyms.h>
+#include <stdbool.h>
+#include <gtk/gtk.h>
-#include "utils/config.h"
-#include "utils/log.h"
-#include "utils/messages.h"
-#include "utils/nsurl.h"
#include "utils/nsoption.h"
#include "netsurf/search.h"
-#include "netsurf/browser_window.h"
#include "desktop/search.h"
-#include "desktop/searchweb.h"
-#include "gtk/warn.h"
#include "gtk/compat.h"
-#include "gtk/search.h"
#include "gtk/toolbar_items.h"
-#include "gtk/scaffolding.h"
#include "gtk/window.h"
+#include "gtk/search.h"
+
/**
* activate search forwards button in gui.
@@ -161,12 +155,9 @@ static gboolean nsgtk_search_entry_changed(GtkWidget
*widget, gpointer data)
search = (struct gtk_search *)data;
- nsgtk_search_set_forward_state(true, search->gw);
- nsgtk_search_set_back_state(true, search->gw);
-
bw = nsgtk_get_browser_window(search->gw);
- flags = SEARCH_FLAG_FORWARDS;
+ flags = 0;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(search->caseSens))) {
flags |= SEARCH_FLAG_CASE_SENSITIVE;
@@ -241,14 +232,15 @@ nserror nsgtk_search_toggle_visibility(struct gtk_search
*search)
{
gboolean vis;
+ browser_window_search_clear(nsgtk_get_browser_window(search->gw));
+
g_object_get(G_OBJECT(search->bar), "visible", &vis, NULL);
if (vis) {
-
browser_window_search_clear(nsgtk_get_browser_window(search->gw));
-
gtk_widget_hide(GTK_WIDGET(search->bar));
} else {
gtk_widget_show(GTK_WIDGET(search->bar));
gtk_widget_grab_focus(GTK_WIDGET(search->entry));
+ nsgtk_search_entry_changed(GTK_WIDGET(search->entry), search);
}
return NSERROR_OK;
@@ -306,20 +298,18 @@ nsgtk_search_create(GtkBuilder *builder,
search->gw = gw;
- search->bar = GTK_TOOLBAR(gtk_builder_get_object(builder,
- "searchbar"));
- search->entry = GTK_ENTRY(gtk_builder_get_object(builder,
- "searchEntry"));
+ search->bar = GTK_TOOLBAR(gtk_builder_get_object(builder, "findbar"));
+ search->entry = GTK_ENTRY(gtk_builder_get_object(builder, "Find"));
search->back = GTK_TOOL_BUTTON(gtk_builder_get_object(builder,
- "searchBackButton"));
+ "FindBack"));
search->forward = GTK_TOOL_BUTTON(gtk_builder_get_object(builder,
- "searchForwardButton"));
+ "FindForward"));
search->close = GTK_TOOL_BUTTON(gtk_builder_get_object(builder,
- "closeSearchButton"));
+ "FindClose"));
search->checkAll = GTK_CHECK_BUTTON(gtk_builder_get_object(builder,
- "checkAllSearch"));
+ "FindHightlightAll"));
search->caseSens = GTK_CHECK_BUTTON(gtk_builder_get_object(builder,
- "caseSensButton"));
+ "FindMatchCase"));
g_signal_connect(search->forward,
"clicked",
@@ -356,8 +346,14 @@ nsgtk_search_create(GtkBuilder *builder,
G_CALLBACK(nsgtk_search_entry_changed),
search);
+ g_signal_connect(search->checkAll,
+ "toggled",
+ G_CALLBACK(nsgtk_search_entry_changed),
+ search);
+
nsgtk_search_restyle(search);
+
*search_out = search;
return NSERROR_OK;
diff --git a/frontends/gtk/window.c b/frontends/gtk/window.c
index a8badc4..8a93f37 100644
--- a/frontends/gtk/window.c
+++ b/frontends/gtk/window.c
@@ -889,8 +889,8 @@ gui_window_create(struct browser_window *bw,
}
nsgtk_tab_add(g, g->container, tempback, messages_get("NewTab"),
g->icon);
- /* \todo move search bar properly */
- gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(tab_builder,
"searchbar")));
+ /* initialy should not be visible */
+ nsgtk_search_toggle_visibility(g->search);
/* safe to drop the reference to the tab_builder as the container is
* referenced by the notebook now.
diff --git a/resources/FatMessages b/resources/FatMessages
index ee56dee..9125866 100644
--- a/resources/FatMessages
+++ b/resources/FatMessages
@@ -3301,6 +3301,15 @@ nl.gtk.gtkThemeAdd:Thema is succesvol toegevoegd
en.gtk.gtkCustomizeToolbarTitle:Customise Toolbar
en.gtk.gtkCustomizeToolbarInstructions:Drag toolbar items into and out of the
toolbar.
+# GTK find in page
+
+en.gtk.gtkFindPlaceholder:Find in page
+en.gtk.gtkFindBack:Find Previous Occurrence
+en.gtk.gtkFindForward:Find _Next Occurrence
+en.gtk.gtkFindHighlightAll:Highlight All
+en.gtk.gtkFindMatchCase:Match Case
+en.gtk.gtkFindClose:Close Find Bar
+
# GTK preferences dialog
en.gtk.preferencesTitle:Netsurf Preferences
-----------------------------------------------------------------------
Summary of changes:
frontends/gtk/res/netsurf.gtk3.ui | 156 ++-------------------------------
frontends/gtk/res/tabcontents.gtk3.ui | 81 +++++++----------
frontends/gtk/scaffolding.c | 12 ++-
frontends/gtk/search.c | 56 ++++++------
frontends/gtk/window.c | 4 +-
resources/FatMessages | 9 ++
6 files changed, 80 insertions(+), 238 deletions(-)
diff --git a/frontends/gtk/res/netsurf.gtk3.ui
b/frontends/gtk/res/netsurf.gtk3.ui
index ce47c63..6ea8f07 100644
--- a/frontends/gtk/res/netsurf.gtk3.ui
+++ b/frontends/gtk/res/netsurf.gtk3.ui
@@ -1,9 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.22.1 -->
<interface>
- <!-- interface-requires gtk+ 3.0 -->
+ <requires lib="gtk+" version="3.0"/>
<object class="GtkWindow" id="wndBrowser">
<property name="can_focus">False</property>
<child>
+ <placeholder/>
+ </child>
+ <child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -20,156 +24,6 @@
</packing>
</child>
<child>
- <object class="GtkToolbar" id="toolbar">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="toolbar_style">both</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolbar" id="searchbar">
- <property name="can_focus">False</property>
- <property name="toolbar_style">both</property>
- <child>
- <object class="GtkToolButton" id="closeSearchButton">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
- <property name="label" translatable="yes">gtk-close</property>
- <property name="stock_id">gtk-close</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolItem" id="searchLabelItem">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
- <child>
- <object class="GtkLabel" id="searchlabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">4</property>
- <property name="label" translatable="yes">Match</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolItem" id="toolSearch">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
- <child>
- <object class="GtkEntry" id="searchEntry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolButton" id="searchBackButton">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
- <property name="label" translatable="yes">Search
_Back</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-go-back</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolButton" id="searchForwardButton">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
- <property name="label" translatable="yes">Search
_Forward</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-go-forward</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolItem" id="checkAllSearchItem">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
- <child>
- <object class="GtkCheckButton" id="checkAllSearch">
- <property name="label" translatable="yes">All</property>
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_action_appearance">False</property>
- <property name="xalign">0</property>
- <property name="draw_indicator">True</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolItem" id="caseSensItem">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_action_appearance">False</property>
- <child>
- <object class="GtkCheckButton" id="caseSensButton">
- <property name="label" translatable="yes">Case</property>
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_action_appearance">False</property>
- <property name="xalign">0</property>
- <property name="draw_indicator">True</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
<object class="GtkNotebook" id="notebook">
<property name="visible">True</property>
<property name="can_focus">True</property>
diff --git a/frontends/gtk/res/tabcontents.gtk3.ui
b/frontends/gtk/res/tabcontents.gtk3.ui
index 607d511..5d7a40b 100644
--- a/frontends/gtk/res/tabcontents.gtk3.ui
+++ b/frontends/gtk/res/tabcontents.gtk3.ui
@@ -29,67 +29,37 @@
</packing>
</child>
<child>
- <object class="GtkToolbar" id="searchbar">
+ <object class="GtkToolbar" id="findbar">
<property name="can_focus">False</property>
<property name="toolbar_style">both</property>
<child>
- <object class="GtkToolButton" id="closeSearchButton">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">gtk-close</property>
- <property name="stock_id">gtk-close</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolItem" id="searchLabelItem">
+ <object class="GtkToolItem">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <object class="GtkLabel" id="searchlabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">4</property>
- <property name="label" translatable="yes">Match</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">False</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolItem" id="toolSearch">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkEntry" id="searchEntry">
+ <object class="GtkEntry" id="Find">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
+ <property name="placeholder_text"
translatable="yes">gtkFindPlaceholder</property>
</object>
</child>
</object>
<packing>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="homogeneous">False</property>
</packing>
</child>
<child>
- <object class="GtkToolButton" id="searchBackButton">
+ <object class="GtkToolButton" id="FindBack">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Search _Back</property>
+ <property name="tooltip_text"
translatable="yes">gtkFindBack</property>
+ <property name="label" translatable="yes">gtkFindBack</property>
<property name="use_underline">True</property>
- <property name="stock_id">gtk-go-back</property>
+ <property name="stock_id">gtk-go-up</property>
</object>
<packing>
<property name="expand">False</property>
@@ -97,13 +67,14 @@
</packing>
</child>
<child>
- <object class="GtkToolButton" id="searchForwardButton">
+ <object class="GtkToolButton" id="FindForward">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Search
_Forward</property>
+ <property name="tooltip_text"
translatable="yes">gtkFindForward</property>
+ <property name="label" translatable="yes">gtkFindForward</property>
<property name="use_underline">True</property>
- <property name="stock_id">gtk-go-forward</property>
+ <property name="stock_id">gtk-go-down</property>
</object>
<packing>
<property name="expand">False</property>
@@ -111,13 +82,13 @@
</packing>
</child>
<child>
- <object class="GtkToolItem" id="checkAllSearchItem">
+ <object class="GtkToolItem">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <object class="GtkCheckButton" id="checkAllSearch">
- <property name="label" translatable="yes">All</property>
+ <object class="GtkCheckButton" id="FindHightlightAll">
+ <property name="label"
translatable="yes">gtkFindHighlightAll</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -133,13 +104,13 @@
</packing>
</child>
<child>
- <object class="GtkToolItem" id="caseSensItem">
+ <object class="GtkToolItem">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <object class="GtkCheckButton" id="caseSensButton">
- <property name="label" translatable="yes">Case</property>
+ <object class="GtkCheckButton" id="FindMatchCase">
+ <property name="label"
translatable="yes">gtkFindMatchCase</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -154,6 +125,20 @@
<property name="homogeneous">False</property>
</packing>
</child>
+ <child>
+ <object class="GtkToolButton" id="FindClose">
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">gtkFindClose</property>
+ <property name="label" translatable="yes">gtkFindClose</property>
+ <property name="stock_id">gtk-close</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
diff --git a/frontends/gtk/scaffolding.c b/frontends/gtk/scaffolding.c
index b86b914..5a50d81 100644
--- a/frontends/gtk/scaffolding.c
+++ b/frontends/gtk/scaffolding.c
@@ -1,6 +1,5 @@
/*
- * Copyright 2006 Rob Kendrick <[email protected]>
- * Copyright 2009 Mark Benjamin <[email protected]>
+ * Copyright 2019 Vincent Sanders <[email protected]>
*
* This file is part of NetSurf, http://www.netsurf-browser.org/
*
@@ -18,26 +17,25 @@
*/
#include <gtk/gtk.h>
+#include <stdbool.h>
#include "utils/utils.h"
#include "utils/log.h"
-#include "utils/nsurl.h"
#include "utils/messages.h"
+#include "utils/nsurl.h"
#include "utils/nsoption.h"
#include "netsurf/browser_window.h"
#include "desktop/browser_history.h"
#include "desktop/hotlist.h"
#include "gtk/compat.h"
-#include "gtk/warn.h"
#include "gtk/toolbar_items.h"
-#include "gtk/toolbar.h"
#include "gtk/menu.h"
#include "gtk/local_history.h"
-#include "gtk/download.h"
#include "gtk/gui.h"
+#include "gtk/download.h"
#include "gtk/window.h"
-#include "gtk/completion.h"
+#include "gtk/warn.h"
#include "gtk/tabs.h"
#include "gtk/resources.h"
#include "gtk/scaffolding.h"
diff --git a/frontends/gtk/search.c b/frontends/gtk/search.c
index a75dc94..ead511f 100644
--- a/frontends/gtk/search.c
+++ b/frontends/gtk/search.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2009 Mark Benjamin <[email protected]>
+ * Copyright 2019 Vincent Sanders <[email protected]>
*
* This file is part of NetSurf, http://www.netsurf-browser.org/
*
@@ -19,30 +19,24 @@
/**
* \file
- * Free text search (front component)
+ * find in page gtk frontend implementation
+ *
+ * \todo this whole thing should be named find rather than search as
+ * that generally means web search and is confusing.
*/
-#include <stdint.h>
-#include <ctype.h>
-#include <string.h>
-#include <gdk/gdkkeysyms.h>
+#include <stdbool.h>
+#include <gtk/gtk.h>
-#include "utils/config.h"
-#include "utils/log.h"
-#include "utils/messages.h"
-#include "utils/nsurl.h"
#include "utils/nsoption.h"
#include "netsurf/search.h"
-#include "netsurf/browser_window.h"
#include "desktop/search.h"
-#include "desktop/searchweb.h"
-#include "gtk/warn.h"
#include "gtk/compat.h"
-#include "gtk/search.h"
#include "gtk/toolbar_items.h"
-#include "gtk/scaffolding.h"
#include "gtk/window.h"
+#include "gtk/search.h"
+
/**
* activate search forwards button in gui.
@@ -161,12 +155,9 @@ static gboolean nsgtk_search_entry_changed(GtkWidget
*widget, gpointer data)
search = (struct gtk_search *)data;
- nsgtk_search_set_forward_state(true, search->gw);
- nsgtk_search_set_back_state(true, search->gw);
-
bw = nsgtk_get_browser_window(search->gw);
- flags = SEARCH_FLAG_FORWARDS;
+ flags = 0;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(search->caseSens))) {
flags |= SEARCH_FLAG_CASE_SENSITIVE;
@@ -241,14 +232,15 @@ nserror nsgtk_search_toggle_visibility(struct gtk_search
*search)
{
gboolean vis;
+ browser_window_search_clear(nsgtk_get_browser_window(search->gw));
+
g_object_get(G_OBJECT(search->bar), "visible", &vis, NULL);
if (vis) {
-
browser_window_search_clear(nsgtk_get_browser_window(search->gw));
-
gtk_widget_hide(GTK_WIDGET(search->bar));
} else {
gtk_widget_show(GTK_WIDGET(search->bar));
gtk_widget_grab_focus(GTK_WIDGET(search->entry));
+ nsgtk_search_entry_changed(GTK_WIDGET(search->entry), search);
}
return NSERROR_OK;
@@ -306,20 +298,18 @@ nsgtk_search_create(GtkBuilder *builder,
search->gw = gw;
- search->bar = GTK_TOOLBAR(gtk_builder_get_object(builder,
- "searchbar"));
- search->entry = GTK_ENTRY(gtk_builder_get_object(builder,
- "searchEntry"));
+ search->bar = GTK_TOOLBAR(gtk_builder_get_object(builder, "findbar"));
+ search->entry = GTK_ENTRY(gtk_builder_get_object(builder, "Find"));
search->back = GTK_TOOL_BUTTON(gtk_builder_get_object(builder,
- "searchBackButton"));
+ "FindBack"));
search->forward = GTK_TOOL_BUTTON(gtk_builder_get_object(builder,
- "searchForwardButton"));
+ "FindForward"));
search->close = GTK_TOOL_BUTTON(gtk_builder_get_object(builder,
- "closeSearchButton"));
+ "FindClose"));
search->checkAll = GTK_CHECK_BUTTON(gtk_builder_get_object(builder,
- "checkAllSearch"));
+ "FindHightlightAll"));
search->caseSens = GTK_CHECK_BUTTON(gtk_builder_get_object(builder,
- "caseSensButton"));
+ "FindMatchCase"));
g_signal_connect(search->forward,
"clicked",
@@ -356,8 +346,14 @@ nsgtk_search_create(GtkBuilder *builder,
G_CALLBACK(nsgtk_search_entry_changed),
search);
+ g_signal_connect(search->checkAll,
+ "toggled",
+ G_CALLBACK(nsgtk_search_entry_changed),
+ search);
+
nsgtk_search_restyle(search);
+
*search_out = search;
return NSERROR_OK;
diff --git a/frontends/gtk/window.c b/frontends/gtk/window.c
index a8badc4..8a93f37 100644
--- a/frontends/gtk/window.c
+++ b/frontends/gtk/window.c
@@ -889,8 +889,8 @@ gui_window_create(struct browser_window *bw,
}
nsgtk_tab_add(g, g->container, tempback, messages_get("NewTab"),
g->icon);
- /* \todo move search bar properly */
- gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(tab_builder,
"searchbar")));
+ /* initialy should not be visible */
+ nsgtk_search_toggle_visibility(g->search);
/* safe to drop the reference to the tab_builder as the container is
* referenced by the notebook now.
diff --git a/resources/FatMessages b/resources/FatMessages
index ee56dee..9125866 100644
--- a/resources/FatMessages
+++ b/resources/FatMessages
@@ -3301,6 +3301,15 @@ nl.gtk.gtkThemeAdd:Thema is succesvol toegevoegd
en.gtk.gtkCustomizeToolbarTitle:Customise Toolbar
en.gtk.gtkCustomizeToolbarInstructions:Drag toolbar items into and out of the
toolbar.
+# GTK find in page
+
+en.gtk.gtkFindPlaceholder:Find in page
+en.gtk.gtkFindBack:Find Previous Occurrence
+en.gtk.gtkFindForward:Find _Next Occurrence
+en.gtk.gtkFindHighlightAll:Highlight All
+en.gtk.gtkFindMatchCase:Match Case
+en.gtk.gtkFindClose:Close Find Bar
+
# GTK preferences dialog
en.gtk.preferencesTitle:Netsurf Preferences
--
NetSurf Browser
_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org