Add private mode option to WebSearch items

This commit is contained in:
zoltanvi 2025-08-09 16:21:10 +02:00
parent 4ae58c8890
commit 0a848a32f7
29 changed files with 66 additions and 13 deletions

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">تعديل</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">إضافة</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">مفعل</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">مفعل</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">مُعطّل</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">تأكيد</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Editovat</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Přidat</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Povoleno</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Povoleno</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Deaktivován</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Potvrdit</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Rediger</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Tilføj</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Disabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Confirm</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Bearbeiten</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Hinzufügen</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Aktiviert</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Aktiviert</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Deaktiviert</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Bestätigen</system:String>

View file

@ -13,6 +13,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Edit</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Add</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Disabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Confirm</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Editar</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Añadir</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Disabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Confirmar</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Editar</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Añadir</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Activado</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Activado</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Desactivado</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Confirmar</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Modifier</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Ajouter</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Activé</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Activé</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Désactivé</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Confirmer</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">ערו</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">הוסף</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">מופעל</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">מופעל</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">מושבת</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">אישו</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Modifica</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Aggiungi</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Abilitato</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Abilitato</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Disabilitato</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Conferma</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">編集</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">追加</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Disabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Confirm</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">편집</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">추가</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">켬</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">켬</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Disabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">확인</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Rediger</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Legg til</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Aktivert</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Aktivert</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Deaktivert</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Bekreft</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Bewerken</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Toevoegen</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Disabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Confirm</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Edytuj</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Dodaj</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Aktywny</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Aktywny</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Wyłączony</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Potwierdź</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Editar</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Adicionar</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Disabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Confirm</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Editar</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Adicionar</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Ativo</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Ativo</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Inativo</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Confirmar</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Редактировать</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Добавить</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Отключён</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Confirm</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Upraviť</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Pridať</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Povolené</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Zapnuté</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Vypnuté</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Potvrdiť</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Izmeni</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Dodaj</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Disabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Confirm</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Düzenle</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Ekle</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Disabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Onayla</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Редагувати</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Додати</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Увімкнено</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Увімкнено</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Вимкнено</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Підтвердити</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">Sửa</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Thêm</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Đã bật</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Đã bật</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Vô hiệu hóa</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Xác nhận</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">编辑</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">添加</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">启用</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">已启用</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">已禁用</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">确认</system:String>

View file

@ -11,6 +11,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_edit">編輯</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">新增</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">已啟用</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_private_mode_label">Private mode</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">已啟用</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Disabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">確定</system:String>

View file

@ -71,7 +71,7 @@ namespace Flow.Launcher.Plugin.WebSearch
Score = score,
Action = c =>
{
_context.API.OpenWebUrl(searchSource.Url.Replace("{q}", Uri.EscapeDataString(keyword)));
_context.API.OpenWebUrl(searchSource.Url.Replace("{q}", Uri.EscapeDataString(keyword)), searchSource.IsPrivateMode);
return true;
},
@ -135,7 +135,7 @@ namespace Flow.Launcher.Plugin.WebSearch
ActionKeywordAssigned = searchSource.ActionKeyword == SearchSourceGlobalPluginWildCardSign ? string.Empty : searchSource.ActionKeyword,
Action = c =>
{
_context.API.OpenWebUrl(searchSource.Url.Replace("{q}", Uri.EscapeDataString(o)));
_context.API.OpenWebUrl(searchSource.Url.Replace("{q}", Uri.EscapeDataString(o)), searchSource.IsPrivateMode);
return true;
},

View file

@ -7,6 +7,7 @@ namespace Flow.Launcher.Plugin.WebSearch
public class SearchSource : BaseModel
{
public string Title { get; set; }
public string ActionKeyword { get; set; }
[NotNull]
@ -19,21 +20,17 @@ namespace Flow.Launcher.Plugin.WebSearch
/// Custom icons are placed in the user data directory
/// </summary>
[JsonIgnore]
public string IconPath
{
get
{
if (CustomIcon)
return Path.Combine(Main.CustomImagesDirectory, Icon);
return Path.Combine(Main.DefaultImagesDirectory, Icon);
}
}
public string IconPath => CustomIcon
? Path.Combine(Main.CustomImagesDirectory, Icon)
: Path.Combine(Main.DefaultImagesDirectory, Icon);
public string Url { get; set; }
[JsonIgnore]
public bool Status => Enabled;
public bool IsPrivateMode { get; set; }
public bool Enabled { get; set; }
public SearchSource DeepCopy()
@ -45,8 +42,10 @@ namespace Flow.Launcher.Plugin.WebSearch
Url = Url,
Icon = Icon,
CustomIcon = CustomIcon,
IsPrivateMode = IsPrivateMode,
Enabled = Enabled
};
return webSearch;
}
}

View file

@ -101,6 +101,7 @@
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock
Grid.Row="0"
@ -181,12 +182,26 @@
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontSize="14"
Text="{DynamicResource flowlauncher_plugin_websearch_enabled_label}" />
Text="{DynamicResource flowlauncher_plugin_websearch_private_mode_label}" />
<CheckBox
Grid.Row="4"
Grid.Column="1"
Margin="10 10 10 15"
VerticalAlignment="Center"
IsChecked="{Binding SearchSource.IsPrivateMode}" />
<TextBlock
Grid.Row="5"
Grid.Column="0"
Margin="10 0 10 10"
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontSize="14"
Text="{DynamicResource flowlauncher_plugin_websearch_enabled_label}" />
<CheckBox
Grid.Row="5"
Grid.Column="1"
Margin="10 0 10 10"
VerticalAlignment="Center"
IsChecked="{Binding SearchSource.Enabled}" />
</Grid>
</StackPanel>

View file

@ -96,6 +96,20 @@
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn
Width="120"
Header="{DynamicResource flowlauncher_plugin_websearch_private_mode_label}">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox
HorizontalAlignment="Center"
VerticalAlignment="Center"
IsChecked="{Binding IsPrivateMode}"
IsEnabled="False"
/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>