Add hyperlink layout

This commit is contained in:
DB p 2022-12-10 09:53:41 +09:00
parent ba3ed35699
commit 27016c4f2d
2 changed files with 30 additions and 3 deletions

View file

@ -1,4 +1,5 @@
using System.Collections.Generic; using System;
using System.Collections.Generic;
namespace Flow.Launcher.Core.Plugin namespace Flow.Launcher.Core.Plugin
{ {
@ -26,6 +27,8 @@ namespace Flow.Launcher.Core.Plugin
public string Name { get; set; } public string Name { get; set; }
public string Label { get; set; } public string Label { get; set; }
public string Description { get; set; } public string Description { get; set; }
public string urlLabel { get; set; }
public Uri url { get; set; }
public bool Validation { get; set; } public bool Validation { get; set; }
public List<string> Options { get; set; } public List<string> Options { get; set; }
public string DefaultValue { get; set; } public string DefaultValue { get; set; }
@ -40,4 +43,4 @@ namespace Flow.Launcher.Core.Plugin
DefaultValue = this.DefaultValue; DefaultValue = this.DefaultValue;
} }
} }
} }

View file

@ -22,6 +22,9 @@ using Control = System.Windows.Controls.Control;
using Orientation = System.Windows.Controls.Orientation; using Orientation = System.Windows.Controls.Orientation;
using TextBox = System.Windows.Controls.TextBox; using TextBox = System.Windows.Controls.TextBox;
using UserControl = System.Windows.Controls.UserControl; using UserControl = System.Windows.Controls.UserControl;
using System.Windows.Documents;
using static System.Windows.Forms.LinkLabel;
using Droplex;
namespace Flow.Launcher.Core.Plugin namespace Flow.Launcher.Core.Plugin
{ {
@ -33,7 +36,6 @@ namespace Flow.Launcher.Core.Plugin
{ {
protected PluginInitContext context; protected PluginInitContext context;
public const string JsonRPC = "JsonRPC"; public const string JsonRPC = "JsonRPC";
/// <summary> /// <summary>
/// The language this JsonRPCPlugin support /// The language this JsonRPCPlugin support
/// </summary> /// </summary>
@ -552,6 +554,28 @@ namespace Flow.Launcher.Core.Plugin
Grid.SetColumn(sep, 0); Grid.SetColumn(sep, 0);
Grid.SetColumnSpan(sep, 2); Grid.SetColumnSpan(sep, 2);
break; break;
case "hyperlink":
var hyperlink = new Hyperlink
{
ToolTip = attribute.Description,
NavigateUri = attribute.url
};
var linkbtn = new Button
{
HorizontalAlignment = HorizontalAlignment.Right,
Margin = settingControlMargin
};
linkbtn.Content = attribute.urlLabel;
contentControl = linkbtn;
Grid.SetColumn(contentControl, 1);
Grid.SetRow(contentControl, rowCount);
if (rowCount != 0)
mainPanel.Children.Add(sep);
Grid.SetRow(sep, rowCount);
Grid.SetColumn(sep, 0);
Grid.SetColumnSpan(sep, 2);
break;
default: default:
continue; continue;
} }