Skip to content

Commit 4f2691c

Browse files
[ws] Fix websearch breaking users search engines config
1 parent c4e9870 commit 4f2691c

File tree

4 files changed

+18
-8
lines changed

4 files changed

+18
-8
lines changed

websearch/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
project(websearch VERSION 1.6)
1+
project(websearch VERSION 1.7)
22
albert_plugin(
33
NAME WebSearch
44
DESCRIPTION "Open websearches"

websearch/src/configwidget.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ static void handleAcceptedEditor(const SearchEngineEditor &editor, SearchEngine
153153

154154
auto image = editor.icon_image->scaled(256, 256, Qt::KeepAspectRatio, Qt::SmoothTransformation);
155155

156-
auto dst = plugin.dataDir()->filePath(QString("%1.png").arg(engine.guid));
156+
auto dst = plugin.dataDir()->filePath(QString("%1.png").arg(engine.id));
157157
if (!image.save(dst)){
158158
GWARN(QString("Could not save image to '%1'.").arg(dst));
159159
return;
@@ -189,7 +189,7 @@ void ConfigWidget::onButton_new()
189189
{
190190
if (SearchEngineEditor editor(":default", "", "", "", this); editor.exec()){
191191
SearchEngine engine;
192-
engine.guid = QUuid::createUuid().toString(QUuid::WithoutBraces).left(8);
192+
engine.id = QUuid::createUuid().toString(QUuid::WithoutBraces).left(8);
193193
engine.iconUrl = ":default";
194194
handleAcceptedEditor(editor, engine, *plugin_);
195195
auto engines = plugin_->engines();

websearch/src/plugin.cpp

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ static QByteArray serializeEngines(const vector<SearchEngine> &engines)
2626
QJsonArray array;
2727
for (const SearchEngine& engine : engines) {
2828
QJsonObject object;
29-
object["guid"] = engine.guid;
29+
object["id"] = engine.id;
3030
object["name"] = engine.name;
3131
object["url"] = engine.url;
3232
object["trigger"] = engine.trigger;
@@ -43,7 +43,17 @@ static vector<SearchEngine> deserializeEngines(const QByteArray &json)
4343
for (const auto &value : array) {
4444
QJsonObject object = value.toObject();
4545
SearchEngine searchEngine;
46-
searchEngine.guid = object["guid"].toString();
46+
47+
// Todo remove this in future releasea
48+
if (object.contains("id")){
49+
searchEngine.id = object["id"].toString();
50+
} else if (object.contains("guid")){
51+
searchEngine.id = object["guid"].toString();
52+
}
53+
54+
if (searchEngine.id.isEmpty())
55+
searchEngine.id = QUuid::createUuid().toString(QUuid::WithoutBraces).left(8);
56+
4757
searchEngine.name = object["name"].toString();
4858
searchEngine.trigger = object["trigger"].toString();
4959
searchEngine.iconUrl = object["iconPath"].toString();
@@ -89,7 +99,7 @@ void Plugin::restoreDefaultEngines()
8999
for (const auto &value : array) {
90100
QJsonObject object = value.toObject();
91101
SearchEngine searchEngine;
92-
searchEngine.guid = QUuid::createUuid().toString(QUuid::WithoutBraces).left(8);
102+
searchEngine.id = QUuid::createUuid().toString(QUuid::WithoutBraces).left(8);
93103
searchEngine.name = object["name"].toString();
94104
searchEngine.trigger = object["trigger"].toString();
95105
searchEngine.iconUrl = object["iconPath"].toString();
@@ -105,7 +115,7 @@ static shared_ptr<StandardItem> buildItem(const SearchEngine &se, const QString
105115
{
106116
QString url = QString(se.url).replace("%s", QUrl::toPercentEncoding(search_term));
107117
return StandardItem::make(
108-
se.guid,
118+
se.id,
109119
se.name,
110120
QString("Search %1 for '%2'").arg(se.name, search_term),
111121
QString("%1 %2").arg(se.name, search_term),

websearch/src/plugin.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
struct SearchEngine
1010
{
11-
QString guid;
11+
QString id;
1212
QString name;
1313
QString trigger;
1414
QString iconUrl;

0 commit comments

Comments
 (0)