apps/webview: make search engine configurable via app.ini, add setting to main menu (#420)

Changes:
- Added `search_engine` variable to `WebView.c`
- Modified `EventSeachWeb()` to use configurable search engine
- Added `LoadIniConfig( )` for `search_engine` in `settings.h`
- Updated `app.ini` with default **Wiby** and alternatives (**Bing**, **DuckDuckGo**)
- Added menu tab and hotkey for opening `app.ini`

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: KolibriOS/kolibrios#420
Reviewed-by: Burer <burer@noreply.localhost>
Reviewed-by: Ivan B <dunkaist@noreply.localhost>
Co-authored-by: jaskaran-singh-77 <jassijatt951@gmail.com>
Co-committed-by: jaskaran-singh-77 <jassijatt951@gmail.com>
This commit is contained in:
jaskaran-singh-77andBurer authored and Burer committed 2026-04-18 09:13:39 +00:00
1 parent db529bc1a8
commit 096cca20cb
4 files changed
+14 -6

No files matched your search

+4 -1
View File
@@ -23,4 +23,7 @@ path=/usbhd0/1/kolibri.img
autoclose=0
[WebView]
proxy=http://proxy.kolibrios.org:82/?site=
proxy_address=http://proxy.kolibrios.org:82/?site=
search_engine=http://wiby.me/?q=
;search_engine=http://bing.com/search?q=
;search_engine=https://html.duckduckgo.com/html/?q=
+4 -2
View File
@@ -73,6 +73,7 @@ proc_info Form;
char settings_file[256];
char proxy_address[768];
char search_engine[768];
#include "settings.h"
#include "tabs.h"
@@ -309,6 +310,7 @@ void ProcessButtonClick(dword id__)
case VIEW_HISTORY: OpenPage(URL_SERVICE_HISTORY); return;
case DOWNLOAD_MANAGER: EventOpenDownloader(""); return;
case UPDATE_BROWSER: EventUpdateBrowser(); return;
case OPEN_SETTINGS: RunProgram("/sys/@open", #settings_file); return;
case CLEAR_CACHE: EventClearCache(); return;
case IN_NEW_TAB: EventClickLink(TARGET_NEW_TAB); return;
case IN_NEW_WINDOW: EventClickLink(TARGET_NEW_WINDOW); return;
@@ -330,6 +332,7 @@ void ProcessKeyEvent()
{
case SCAN_CODE_KEY_O: EventOpenDialog(); return;
case SCAN_CODE_KEY_H: ProcessButtonClick(VIEW_HISTORY); return;
case SCAN_CODE_KEY_E: ProcessButtonClick(OPEN_SETTINGS); return;
case SCAN_CODE_KEY_U: EventViewSource(); return;
case SCAN_CODE_KEY_T: EventOpenNewTab(URL_SERVICE_HOMEPAGE); return;
case SCAN_CODE_KEY_N: RunProgram(#program_path, NULL); return;
@@ -840,8 +843,7 @@ void EventSearchWeb()
char new_url[URL_SIZE+1];
// replace the spaces with '+' for the search query
replace_char(#editURL, ' ', '+', URL_SIZE);
//strcpy(#new_url, "https://html.duckduckgo.com/html/?q=");
strcpy(#new_url, "http://bing.com/search?q=");
strcpy(#new_url, #search_engine);
strncat(#new_url, #editURL, URL_SIZE);
OpenPage(#new_url);
}
+4 -2
View File
@@ -20,6 +20,7 @@ char main_menu[] =
-
История|Ctrl+H
Менеджер загрузок|Ctrl+J
Настройки|Ctrl+E
Очистить кэш|Ctrl+F5
Обновить браузер";
char link_menu[] =
@@ -60,6 +61,7 @@ New window|Ctrl+N
-
History|Ctrl+H
Download Manager|Ctrl+J
Settings|Ctrl+E
Clear cache|Ctrl+F5
Update browser";
char link_menu[] =
@@ -101,7 +103,7 @@ enum {
REFRESH_BUTTON, GOTOURL_BUTTON, CHANGE_ENCODING,
GO_BUTTON, SEARCH_BUTTON, SANDWICH_BUTTON,
OPEN_FILE, NEW_WINDOW, VIEW_HISTORY, DOWNLOAD_MANAGER,
CLEAR_CACHE, UPDATE_BROWSER, IN_NEW_TAB, IN_NEW_WINDOW,
OPEN_SETTINGS, CLEAR_CACHE, UPDATE_BROWSER, IN_NEW_TAB, IN_NEW_WINDOW,
COPY_LINK_URL, DOWNLOAD_LINK_CT, TAB_ID,
TAB_CLOSE_ID = 900
};
@@ -113,4 +115,4 @@ char editbox_icons[] = FROM "res/editbox_icons.raw";
#define DEFAULT_URL URL_SERVICE_HOMEPAGE
char version[]="WebView 3.94";
char version[]="WebView 3.95";
+2 -1
View File
@@ -5,5 +5,6 @@ void LoadIniConfig()
ini.path = GetIni(#settings_file, "app.ini");
ini.section = "WebView";
ini.GetString("proxy", #proxy_address, sizeof(proxy_address), NULL);
ini.GetString("proxy_address", #proxy_address, sizeof(proxy_address), NULL);
ini.GetString("search_engine", #search_engine, sizeof(search_engine), "http://bing.com/search?q=");
}