@@ -7,14 +7,13 @@ QtObject {
77
88 readonly property int browserSearchEngineNone: 0
99 readonly property int browserSearchEngineDuckDuckGo: 1
10- readonly property int browserSearchEngineBrave: 2
11- readonly property int browserSearchEngineQwant: 3
12- readonly property int browserSearchEngineStartpage: 4
13- readonly property int browserSearchEngineMojeek: 5
14- readonly property int browserSearchEngineEcosia: 6
15- readonly property int browserSearchEngineBing: 7
16- readonly property int browserSearchEngineGoogle: 8
17- readonly property int browserSearchEngineCustom: 9
10+ readonly property int browserSearchEngineQwant: 2
11+ readonly property int browserSearchEngineStartpage: 3
12+ readonly property int browserSearchEngineMojeek: 4
13+ readonly property int browserSearchEngineEcosia: 5
14+ readonly property int browserSearchEngineBing: 6
15+ readonly property int browserSearchEngineGoogle: 7
16+ readonly property int browserSearchEngineCustom: 8
1817
1918 readonly property ListModel engines: ListModel {
2019 ListElement {
@@ -32,56 +31,49 @@ QtObject {
3231 urlTemplate: " https://duckduckgo.com/?q=%1"
3332 }
3433 ListElement {
35- engineId: 2 // browserSearchEngineBrave
36- name: " Brave Search"
37- description: " "
38- iconUrl: " search_engines/brave_search"
39- urlTemplate: " https://search.brave.com/search?q=%1"
40- }
41- ListElement {
42- engineId: 3 // browserSearchEngineQwant
34+ engineId: 2 // browserSearchEngineQwant
4335 name: " Qwant"
4436 description: " "
4537 iconUrl: " search_engines/qwant"
4638 urlTemplate: " https://www.qwant.com/?q=%1"
4739 }
4840 ListElement {
49- engineId: 4 // browserSearchEngineStartpage
41+ engineId: 3 // browserSearchEngineStartpage
5042 name: " Startpage"
5143 description: " "
5244 iconUrl: " search_engines/starpage"
5345 urlTemplate: " https://www.startpage.com/sp/search?q=%1"
5446 }
5547 ListElement {
56- engineId: 5 // browserSearchEngineMojeek
48+ engineId: 4 // browserSearchEngineMojeek
5749 name: " Mojeek"
5850 description: " "
5951 iconUrl: " search_engines/mojeek"
6052 urlTemplate: " https://www.mojeek.com/search?q=%1"
6153 }
6254 ListElement {
63- engineId: 6 // browserSearchEngineEcosia
55+ engineId: 5 // browserSearchEngineEcosia
6456 name: " Ecosia"
6557 description: " "
6658 iconUrl: " search_engines/ecosia"
6759 urlTemplate: " https://www.ecosia.org/search?q=%1"
6860 }
6961 ListElement {
70- engineId: 7 // browserSearchEngineBing
62+ engineId: 6 // browserSearchEngineBing
7163 name: " Bing"
7264 description: " "
7365 iconUrl: " search_engines/bing"
7466 urlTemplate: " https://www.bing.com/search?q=%1"
7567 }
7668 ListElement {
77- engineId: 8 // browserSearchEngineGoogle
69+ engineId: 7 // browserSearchEngineGoogle
7870 name: " Google"
7971 description: " "
8072 iconUrl: " search_engines/google"
8173 urlTemplate: " https://www.google.com/search?q=%1"
8274 }
8375 ListElement {
84- engineId: 9 // browserSearchEngineCustom
76+ engineId: 8 // browserSearchEngineCustom
8577 name: qsTr (" Custom" )
8678 description: qsTr (" Plug in your own search engine that follows the OpenSearch URL format" )
8779 iconUrl: " search_engines/custom"
@@ -98,25 +90,37 @@ QtObject {
9890 return null
9991 }
10092
101- function getEngineName (engineId ) {
93+ function getEngineByIdOrDefault (engineId ) {
10294 const engine = getEngineById (engineId)
95+ if (! engine) {
96+ console .warn (" SearchEnginesConfig: Invalid engine ID" , engineId, " - using DuckDuckGo as default" )
97+ return getEngineById (browserSearchEngineDuckDuckGo)
98+ }
99+ return engine
100+ }
101+
102+ function isValidEngineId (engineId ) {
103+ return getEngineById (engineId) !== null
104+ }
105+
106+ function getEngineName (engineId ) {
107+ const engine = getEngineByIdOrDefault (engineId)
103108 return engine ? engine .name : qsTr (" None" )
104109 }
105110
106111 function getEngineDescription (engineId ) {
107- const engine = getEngineById (engineId)
112+ const engine = getEngineByIdOrDefault (engineId)
108113 return engine ? engine .description : " "
109114 }
110115
111116 function formatSearchUrl (engineId , query , customUrl ) {
112- const engine = getEngineById (engineId)
117+ const engine = getEngineByIdOrDefault (engineId)
113118 if (! engine) {
114- console .warn (" SearchEnginesConfig: Engine not found for id:" , engineId)
115119 return " "
116120 }
117121
118122 // Custom: append query to the custom URL prefix
119- if (engineId === browserSearchEngineCustom) {
123+ if (engine . engineId === browserSearchEngineCustom) {
120124 if (! customUrl || customUrl === " " ) {
121125 console .warn (" SearchEnginesConfig: Custom search engine selected but no URL configured" )
122126 return " "
0 commit comments