summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2009-12-23 13:29:10 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2009-12-23 13:29:10 +0000
commita3d82a36341bad93af63265f9f2291d850238ef0 (patch)
treef27f3ae25e1f9f2fd93fb3245ba9b046ddab6baf
parentb11df6139418bc59472ac05ee1c316bebb4beba7 (diff)
downloadnetsurf-a3d82a36341bad93af63265f9f2291d850238ef0.tar.gz
netsurf-a3d82a36341bad93af63265f9f2291d850238ef0.tar.bz2
Search and a couple of other new options
svn path=/trunk/netsurf/; revision=9756
-rw-r--r--!NetSurf/Resources/de/Messages5
-rw-r--r--!NetSurf/Resources/en/Messages5
-rw-r--r--!NetSurf/Resources/fr/Messages5
-rwxr-xr-x!NetSurf/Resources/it/Messages5
-rw-r--r--!NetSurf/Resources/nl/Messages5
-rwxr-xr-xamiga/gui.c5
-rwxr-xr-xamiga/gui_options.c149
-rw-r--r--amiga/options.h3
8 files changed, 162 insertions, 20 deletions
diff --git a/!NetSurf/Resources/de/Messages b/!NetSurf/Resources/de/Messages
index bf5a114b3..ce80d314d 100644
--- a/!NetSurf/Resources/de/Messages
+++ b/!NetSurf/Resources/de/Messages
@@ -1368,6 +1368,11 @@ DownloadDir:Initial download location
TabbedBrowsing:Tabbed browsing
TabActive:Open new tabs in background
TabMiddle:Middle mouse button opens tabs
+DownloadNotify:Notify on completion
+SearchWeb:Web search
+SearchURL:Search from URL bar
+SearchProvider:Search provider
+OptionDocky:Show in AmiDock
Clipboard:Clipboard
ClipboardUTF8:Write text as UTF-8
ContextMenu:Context menu
diff --git a/!NetSurf/Resources/en/Messages b/!NetSurf/Resources/en/Messages
index db233fe0c..3e2a5c121 100644
--- a/!NetSurf/Resources/en/Messages
+++ b/!NetSurf/Resources/en/Messages
@@ -1372,6 +1372,11 @@ DownloadDir:Initial download location
TabbedBrowsing:Tabbed browsing
TabActive:Open new tabs in background
TabMiddle:Middle mouse button opens tabs
+DownloadNotify:Notify on completion
+SearchWeb:Web search
+SearchURL:Search from URL bar
+SearchProvider:Search provider
+OptionDocky:Show in AmiDock
Clipboard:Clipboard
ClipboardUTF8:Write text as UTF-8
ContextMenu:Context menu
diff --git a/!NetSurf/Resources/fr/Messages b/!NetSurf/Resources/fr/Messages
index 85a44f2e1..425050b95 100644
--- a/!NetSurf/Resources/fr/Messages
+++ b/!NetSurf/Resources/fr/Messages
@@ -1374,6 +1374,11 @@ DownloadDir:Initial download location
TabbedBrowsing:Tabbed browsing
TabActive:Open new tabs in background
TabMiddle:Middle mouse button opens tabs
+DownloadNotify:Notify on completion
+SearchWeb:Web search
+SearchURL:Search from URL bar
+SearchProvider:Search provider
+OptionDocky:Show in AmiDock
Clipboard:Clipboard
ClipboardUTF8:Write text as UTF-8
ContextMenu:Context menu
diff --git a/!NetSurf/Resources/it/Messages b/!NetSurf/Resources/it/Messages
index 9c2e8367d..0823cb89b 100755
--- a/!NetSurf/Resources/it/Messages
+++ b/!NetSurf/Resources/it/Messages
@@ -1376,6 +1376,11 @@ DownloadDir:Percorso predefinito per i trasferimenti
TabbedBrowsing:Navigazione a schede
TabActive:Apri nuove schede in sottofondo
TabMiddle:Tasto centrale del mouse per l'apertura delle schede (Tab)
+DownloadNotify:Notify on completion
+SearchWeb:Web search
+SearchURL:Search from URL bar
+SearchProvider:Search provider
+OptionDocky:Show in AmiDock
Clipboard:Clipboard
ClipboardUTF8:Scrivi testo come UTF-8
ContextMenu:Menu contestuali
diff --git a/!NetSurf/Resources/nl/Messages b/!NetSurf/Resources/nl/Messages
index 78b450590..26c1d3866 100644
--- a/!NetSurf/Resources/nl/Messages
+++ b/!NetSurf/Resources/nl/Messages
@@ -1368,6 +1368,11 @@ DownloadDir:Initial download location
TabbedBrowsing:Tabbed browsing
TabActive:Open new tabs in background
TabMiddle:Middle mouse button opens tabs
+DownloadNotify:Notify on completion
+SearchWeb:Web search
+SearchURL:Search from URL bar
+SearchProvider:Search provider
+OptionDocky:Show in AmiDock
Clipboard:Clipboard
ClipboardUTF8:Write text as UTF-8
ContextMenu:Context menu
diff --git a/amiga/gui.c b/amiga/gui.c
index bd28e0b9a..219d2aa11 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -2383,6 +2383,9 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
GA_RelVerify,TRUE,
StringEnd,
*/
+ // GA_ID, GID_TOOLBARLAYOUT,
+ // GA_RelVerify, TRUE,
+ // LAYOUT_RelVerify, TRUE,
LAYOUT_WeightBar, TRUE,
LAYOUT_AddChild, HGroupObject,
LAYOUT_VertAlignment, LALIGN_CENTER,
@@ -3828,7 +3831,7 @@ void ami_scroller_hook(struct Hook *hook,Object *object,struct IntuiMessage *msg
if(option_faster_scroll)
gwin->redraw_scroll = true;
gwin->redraw_required = true;
- break;
+ break;
}
break;
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index c759ff175..a33febfa7 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -31,6 +31,7 @@
#include "utils/messages.h"
#include "amiga/options.h"
#include "amiga/utf8.h"
+#include "desktop/searchweb.h"
#include <proto/window.h>
#include <proto/layout.h>
@@ -101,14 +102,18 @@ enum
GID_OPTS_CACHE_MEM,
GID_OPTS_CACHE_DISC,
GID_OPTS_OVERWRITE,
+ GID_OPTS_NOTIFY,
GID_OPTS_DLDIR,
GID_OPTS_TAB_ACTIVE,
GID_OPTS_TAB_2,
+ GID_OPTS_SEARCH_URLBAR,
+ GID_OPTS_SEARCH_PROV,
GID_OPTS_CLIPBOARD,
GID_OPTS_CMENU_ENABLE,
GID_OPTS_CMENU_STICKY,
GID_OPTS_STARTUP_NO_WIN,
GID_OPTS_CLOSE_NO_QUIT,
+ GID_OPTS_DOCKY,
GID_OPTS_MARGIN_TOP,
GID_OPTS_MARGIN_LEFT,
GID_OPTS_MARGIN_BOTTOM,
@@ -145,6 +150,7 @@ enum
GRP_OPTS_DISCCACHE,
GRP_OPTS_DOWNLOADS,
GRP_OPTS_TABS,
+ GRP_OPTS_SEARCH,
GRP_OPTS_CLIPBOARD,
GRP_OPTS_CONTEXTMENU,
GRP_OPTS_BEHAVIOUR,
@@ -189,6 +195,10 @@ CONST_STRPTR proxyopts[OPTS_MAX_PROXY];
CONST_STRPTR nativebmopts[OPTS_MAX_NATIVEBM];
CONST_STRPTR fontopts[6];
CONST_STRPTR gadlab[OPTS_LAST];
+STRPTR *websearch_list;
+
+STRPTR *ami_gui_opts_websearch(void);
+void ami_gui_opts_websearch_free(STRPTR *websearchlist);
void ami_gui_opts_setup(void)
{
@@ -218,6 +228,8 @@ void ami_gui_opts_setup(void)
nativebmopts[2] = (char *)ami_utf8_easy((char *)messages_get("All"));
nativebmopts[3] = NULL;
+ websearch_list = ami_gui_opts_websearch();
+
gadlab[GID_OPTS_HOMEPAGE] = (char *)ami_utf8_easy((char *)messages_get("HomePageURL"));
gadlab[GID_OPTS_HOMEPAGE_DEFAULT] = (char *)ami_utf8_easy((char *)messages_get("HomePageDefault"));
gadlab[GID_OPTS_HOMEPAGE_CURRENT] = (char *)ami_utf8_easy((char *)messages_get("HomePageCurrent"));
@@ -250,14 +262,18 @@ void ami_gui_opts_setup(void)
gadlab[GID_OPTS_CACHE_MEM] = (char *)ami_utf8_easy((char *)messages_get("Size"));
gadlab[GID_OPTS_CACHE_DISC] = (char *)ami_utf8_easy((char *)messages_get("Duration"));
gadlab[GID_OPTS_OVERWRITE] = (char *)ami_utf8_easy((char *)messages_get("ConfirmOverwrite"));
+ gadlab[GID_OPTS_NOTIFY] = (char *)ami_utf8_easy((char *)messages_get("DownloadNotify"));
gadlab[GID_OPTS_DLDIR] = (char *)ami_utf8_easy((char *)messages_get("DownloadDir"));
gadlab[GID_OPTS_TAB_ACTIVE] = (char *)ami_utf8_easy((char *)messages_get("TabActive"));
gadlab[GID_OPTS_TAB_2] = (char *)ami_utf8_easy((char *)messages_get("TabMiddle"));
+ gadlab[GID_OPTS_SEARCH_URLBAR] = (char *)ami_utf8_easy((char *)messages_get("SearchURL"));
+ gadlab[GID_OPTS_SEARCH_PROV] = (char *)ami_utf8_easy((char *)messages_get("SearchProvider"));
gadlab[GID_OPTS_CLIPBOARD] = (char *)ami_utf8_easy((char *)messages_get("ClipboardUTF8"));
gadlab[GID_OPTS_CMENU_ENABLE] = (char *)ami_utf8_easy((char *)messages_get("Enable"));
gadlab[GID_OPTS_CMENU_STICKY] = (char *)ami_utf8_easy((char *)messages_get("Sticky"));
gadlab[GID_OPTS_STARTUP_NO_WIN] = (char *)ami_utf8_easy((char *)messages_get("OptionNoWindow"));
gadlab[GID_OPTS_CLOSE_NO_QUIT] = (char *)ami_utf8_easy((char *)messages_get("OptionNoQuit"));
+ gadlab[GID_OPTS_DOCKY] = (char *)ami_utf8_easy((char *)messages_get("OptionDocky"));
gadlab[GID_OPTS_MARGIN_TOP] = (char *)ami_utf8_easy((char *)messages_get("Top"));
gadlab[GID_OPTS_MARGIN_LEFT] = (char *)ami_utf8_easy((char *)messages_get("Left"));
gadlab[GID_OPTS_MARGIN_RIGHT] = (char *)ami_utf8_easy((char *)messages_get("Right"));
@@ -298,6 +314,7 @@ void ami_gui_opts_setup(void)
gadlab[GRP_OPTS_DISCCACHE] = (char *)ami_utf8_easy((char *)messages_get("CacheDisc"));
gadlab[GRP_OPTS_DOWNLOADS] = (char *)ami_utf8_easy((char *)messages_get("Downloads"));
gadlab[GRP_OPTS_TABS] = (char *)ami_utf8_easy((char *)messages_get("TabbedBrowsing"));
+ gadlab[GRP_OPTS_SEARCH] = (char *)ami_utf8_easy((char *)messages_get("SearchWeb"));
gadlab[GRP_OPTS_CLIPBOARD] = (char *)ami_utf8_easy((char *)messages_get("Clipboard"));
gadlab[GRP_OPTS_CONTEXTMENU] = (char *)ami_utf8_easy((char *)messages_get("ContextMenu"));
gadlab[GRP_OPTS_BEHAVIOUR] = (char *)ami_utf8_easy((char *)messages_get("Behaviour"));
@@ -332,6 +349,8 @@ void ami_gui_opts_free(void)
for(i = 0; i++; i < OPTS_MAX_NATIVEBM)
if(nativebmopts[i]) FreeVec((APTR)nativebmopts[i]);
+
+ ami_gui_opts_websearch_free(websearch_list);
}
void ami_gui_opts_open(void)
@@ -988,13 +1007,22 @@ void ami_gui_opts_open(void)
LAYOUT_SpaceOuter, TRUE,
LAYOUT_BevelStyle, BVS_GROUP,
LAYOUT_Label, gadlab[GRP_OPTS_DOWNLOADS],
- LAYOUT_AddChild, gow->gadgets[GID_OPTS_OVERWRITE] = CheckBoxObject,
- GA_ID, GID_OPTS_CLIPBOARD,
- GA_RelVerify, TRUE,
- GA_Disabled, TRUE,
- GA_Text, gadlab[GID_OPTS_OVERWRITE],
- GA_Selected, FALSE, //option_ask_overwrite,
- CheckBoxEnd,
+ LAYOUT_AddChild, HGroupObject,
+ LAYOUT_AddChild, gow->gadgets[GID_OPTS_OVERWRITE] = CheckBoxObject,
+ GA_ID, GID_OPTS_CLIPBOARD,
+ GA_RelVerify, TRUE,
+ GA_Disabled, TRUE,
+ GA_Text, gadlab[GID_OPTS_OVERWRITE],
+ GA_Selected, FALSE, //option_ask_overwrite,
+ CheckBoxEnd,
+ LAYOUT_AddChild, gow->gadgets[GID_OPTS_NOTIFY] = CheckBoxObject,
+ GA_ID, GID_OPTS_NOTIFY,
+ GA_RelVerify, TRUE,
+ GA_Disabled, TRUE,
+ GA_Text, gadlab[GID_OPTS_NOTIFY],
+ GA_Selected, FALSE, //option_download_notify,
+ CheckBoxEnd,
+ LayoutEnd,
LAYOUT_AddChild, gow->gadgets[GID_OPTS_DLDIR] = GetFileObject,
GA_ID, GID_OPTS_DLDIR,
GA_RelVerify, TRUE,
@@ -1049,6 +1077,29 @@ void ami_gui_opts_open(void)
LAYOUT_AddChild,HGroupObject,
LAYOUT_SpaceOuter, TRUE,
LAYOUT_BevelStyle, BVS_GROUP,
+ LAYOUT_Label, gadlab[GRP_OPTS_SEARCH],
+ LAYOUT_AddChild, gow->gadgets[GID_OPTS_SEARCH_URLBAR] = CheckBoxObject,
+ GA_ID, GID_OPTS_SEARCH_URLBAR,
+ GA_RelVerify, TRUE,
+ GA_Text, gadlab[GID_OPTS_SEARCH_URLBAR],
+ GA_Selected, option_search_url_bar,
+ CheckBoxEnd,
+ LAYOUT_AddChild, gow->gadgets[GID_OPTS_SEARCH_PROV] = ChooserObject,
+ GA_ID, GID_OPTS_SEARCH_PROV,
+ GA_RelVerify, TRUE,
+ CHOOSER_PopUp, TRUE,
+ CHOOSER_LabelArray, websearch_list,
+ CHOOSER_Selected, option_search_provider,
+ CHOOSER_MaxLabels, 40,
+ ChooserEnd,
+ CHILD_Label, LabelObject,
+ LABEL_Text, gadlab[GID_OPTS_SEARCH_PROV],
+ LabelEnd,
+ LayoutEnd, // search
+ CHILD_WeightedHeight, 0,
+ LAYOUT_AddChild,HGroupObject,
+ LAYOUT_SpaceOuter, TRUE,
+ LAYOUT_BevelStyle, BVS_GROUP,
LAYOUT_Label, gadlab[GRP_OPTS_CLIPBOARD],
LAYOUT_AddChild, gow->gadgets[GID_OPTS_CLIPBOARD] = CheckBoxObject,
GA_ID, GID_OPTS_CLIPBOARD,
@@ -1058,22 +1109,30 @@ void ami_gui_opts_open(void)
CheckBoxEnd,
LayoutEnd, // clipboard
CHILD_WeightedHeight, 0,
- LAYOUT_AddChild,HGroupObject,
+ LAYOUT_AddChild,VGroupObject,
LAYOUT_SpaceOuter, TRUE,
LAYOUT_BevelStyle, BVS_GROUP,
LAYOUT_Label, gadlab[GRP_OPTS_BEHAVIOUR],
- LAYOUT_AddChild, gow->gadgets[GID_OPTS_STARTUP_NO_WIN] = CheckBoxObject,
- GA_ID, GID_OPTS_STARTUP_NO_WIN,
- GA_RelVerify, TRUE,
- GA_Text, gadlab[GID_OPTS_STARTUP_NO_WIN],
- GA_Selected, option_startup_no_window,
- CheckBoxEnd,
- LAYOUT_AddChild, gow->gadgets[GID_OPTS_CLOSE_NO_QUIT] = CheckBoxObject,
- GA_ID, GID_OPTS_CLOSE_NO_QUIT,
+ LAYOUT_AddChild, HGroupObject,
+ LAYOUT_AddChild, gow->gadgets[GID_OPTS_STARTUP_NO_WIN] = CheckBoxObject,
+ GA_ID, GID_OPTS_STARTUP_NO_WIN,
+ GA_RelVerify, TRUE,
+ GA_Text, gadlab[GID_OPTS_STARTUP_NO_WIN],
+ GA_Selected, option_startup_no_window,
+ CheckBoxEnd,
+ LAYOUT_AddChild, gow->gadgets[GID_OPTS_CLOSE_NO_QUIT] = CheckBoxObject,
+ GA_ID, GID_OPTS_CLOSE_NO_QUIT,
+ GA_RelVerify, TRUE,
+ GA_Text, gadlab[GID_OPTS_CLOSE_NO_QUIT],
+ GA_Selected, option_close_no_quit,
+ CheckBoxEnd,
+ LayoutEnd,
+ LAYOUT_AddChild, gow->gadgets[GID_OPTS_DOCKY] = CheckBoxObject,
+ GA_ID, GID_OPTS_DOCKY,
GA_RelVerify, TRUE,
- GA_Text, gadlab[GID_OPTS_CLOSE_NO_QUIT],
- GA_Selected, option_close_no_quit,
- CheckBoxEnd,
+ GA_Text, gadlab[GID_OPTS_DOCKY],
+ GA_Selected, !option_hide_docky_icon,
+ CheckBoxEnd,
LayoutEnd, // behaviour
CHILD_WeightedHeight, 0,
LayoutEnd, // page vgroup
@@ -1420,6 +1479,10 @@ void ami_gui_opts_use(void)
if(data) option_ask_overwrite = true;
else option_ask_overwrite = false;
+ GetAttr(GA_Selected,gow->gadgets[GID_OPTS_NOTIFY],(ULONG *)&data);
+ if(data) option_download_notify = true;
+ else option_download_notify = false;
+
GetAttr(GETFILE_Drawer,gow->gadgets[GID_OPTS_DLDIR],(ULONG *)&data);
if(option_download_dir) free(option_download_dir);
option_download_dir = (char *)strdup((char *)data);
@@ -1432,6 +1495,14 @@ void ami_gui_opts_use(void)
if(data) option_button_2_tab = true;
else option_button_2_tab = false;
+ GetAttr(GA_Selected,gow->gadgets[GID_OPTS_SEARCH_URLBAR],(ULONG *)&data);
+ if(data) option_search_url_bar = true;
+ else option_search_url_bar = false;
+
+ GetAttr(CHOOSER_Selected,gow->gadgets[GID_OPTS_SEARCH_PROV],(ULONG *)&option_search_provider);
+ search_web_provider_details(option_search_provider);
+ search_web_retrieve_ico(false);
+
GetAttr(GA_Selected,gow->gadgets[GID_OPTS_CLIPBOARD],(ULONG *)&data);
if(data) option_utf8_clipboard = true;
else option_utf8_clipboard = false;
@@ -1452,6 +1523,10 @@ void ami_gui_opts_use(void)
if(data) option_close_no_quit = true;
else option_close_no_quit = false;
+ GetAttr(GA_Selected,gow->gadgets[GID_OPTS_DOCKY],(ULONG *)&data);
+ if(data) option_hide_docky_icon = false;
+ else option_hide_docky_icon = true;
+
GetAttr(INTEGER_Number,gow->gadgets[GID_OPTS_MARGIN_TOP],(ULONG *)&option_margin_top);
GetAttr(INTEGER_Number,gow->gadgets[GID_OPTS_MARGIN_LEFT],(ULONG *)&option_margin_left);
@@ -1667,3 +1742,39 @@ BOOL ami_gui_opts_event(void)
return FALSE;
}
+STRPTR *ami_gui_opts_websearch(void)
+{
+ char buf[300];
+ ULONG ref = 0;
+ STRPTR *websearchlist;
+
+ if (option_search_engines_file == NULL) return NULL;
+
+ FILE *f = fopen(option_search_engines_file, "r");
+ if (f == NULL) return NULL;
+
+ websearchlist = AllocVec(40, MEMF_CLEAR);
+
+ while (fgets(buf, sizeof(buf), f) != NULL) {
+ if (buf[0] == '\0') continue;
+ buf[strlen(buf)-1] = '\0';
+ websearchlist[ref] = strdup(strtok(buf, "|"));
+ ref++;
+ }
+ fclose(f);
+ websearchlist[ref] = NULL;
+
+ return websearchlist;
+}
+
+void ami_gui_opts_websearch_free(STRPTR *websearchlist)
+{
+ ULONG ref = 0;
+
+ while (websearchlist[ref] != NULL) {
+ free(websearchlist[ref]);
+ ref++;
+ }
+
+ FreeVec(websearchlist);
+}
diff --git a/amiga/options.h b/amiga/options.h
index 04f7d2467..18d9e0905 100644
--- a/amiga/options.h
+++ b/amiga/options.h
@@ -40,6 +40,7 @@ extern char *option_search_engines_file;
extern char *option_search_ico_file;
extern char *option_arexx_dir;
extern char *option_download_dir;
+extern bool option_download_notify;
extern bool option_faster_scroll;
extern bool option_scale_quality;
extern bool option_ask_overwrite;
@@ -70,6 +71,7 @@ char *option_search_engines_file = 0; \
char *option_search_ico_file = 0; \
char *option_arexx_dir = 0; \
char *option_download_dir = 0; \
+bool option_download_notify = false; \
bool option_faster_scroll = true; \
bool option_scale_quality = false; \
bool option_ask_overwrite = false; \
@@ -100,6 +102,7 @@ bool option_hide_docky_icon = false; \
{ "search_ico_file", OPTION_STRING, &option_search_ico_file }, \
{ "arexx_dir", OPTION_STRING, &option_arexx_dir }, \
{ "download_dir", OPTION_STRING, &option_download_dir }, \
+{ "download_notify", OPTION_BOOL, &option_download_notify}, \
{ "faster_scroll", OPTION_BOOL, &option_faster_scroll}, \
{ "scale_quality", OPTION_BOOL, &option_scale_quality}, \
{ "ask_overwrite", OPTION_BOOL, &option_ask_overwrite}, \