mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-26 12:08:37 +08:00
# Conflicts: # mRemoteNGTests/IntegrationTests/XmlSerializationLifeCycleTests.cs # mRemoteV1/App/Windows.cs # mRemoteV1/Config/Settings/SettingsLoader.cs # mRemoteV1/Messages/WriterDecorators/MessageFocusDecorator.cs # mRemoteV1/UI/Controls/ConnectionTree/ConnectionTree.cs # mRemoteV1/UI/Forms/OptionsPages/ConnectionsPage.cs # mRemoteV1/UI/Forms/OptionsPages/CredentialsPage.cs # mRemoteV1/UI/Forms/OptionsPages/TabsPanelsPage.cs # mRemoteV1/UI/Forms/OptionsPages/UpdatesPage.cs # mRemoteV1/UI/Forms/frmChoosePanel.cs # mRemoteV1/UI/Forms/frmMain.cs # mRemoteV1/UI/Window/ConfigWindow.cs # mRemoteV1/UI/Window/ConnectionTreeWindow.cs # mRemoteV1/UI/Window/ErrorAndInfoWindow.cs
88 lines
2.5 KiB
C#
88 lines
2.5 KiB
C#
using System.Windows.Forms;
|
|
using mRemoteNG.Tools;
|
|
using mRemoteNG.UI.Forms.Input;
|
|
using mRemoteNG.UI.Panels;
|
|
|
|
namespace mRemoteNG.UI.Forms
|
|
{
|
|
public partial class frmChoosePanel
|
|
{
|
|
private readonly PanelAdder _panelAdder;
|
|
private readonly WindowList _windowList;
|
|
|
|
public frmChoosePanel(PanelAdder panelAdder, WindowList windowList)
|
|
{
|
|
_panelAdder = panelAdder.ThrowIfNull(nameof(panelAdder));
|
|
_windowList = windowList.ThrowIfNull(nameof(windowList));
|
|
InitializeComponent();
|
|
}
|
|
public string Panel
|
|
{
|
|
get => cbPanels.SelectedItem.ToString();
|
|
set => cbPanels.SelectedItem = value;
|
|
}
|
|
|
|
private void frmChoosePanel_Load(object sender, System.EventArgs e)
|
|
{
|
|
ApplyLanguage();
|
|
ApplyTheme();
|
|
AddAvailablePanels();
|
|
}
|
|
|
|
private void ApplyLanguage()
|
|
{
|
|
btnOK.Text = Language.strButtonOK;
|
|
lblDescription.Text = Language.strLabelSelectPanel;
|
|
btnNew.Text = Language.strButtonNew;
|
|
Text = Language.strTitleSelectPanel;
|
|
}
|
|
|
|
private void ApplyTheme()
|
|
{
|
|
if (!Themes.ThemeManager.getInstance().ThemingActive) return;
|
|
BackColor = Themes.ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Background");
|
|
ForeColor = Themes.ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Foreground");
|
|
lblDescription.BackColor = Themes.ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Background");
|
|
lblDescription.ForeColor = Themes.ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Foreground");
|
|
}
|
|
|
|
private void AddAvailablePanels()
|
|
{
|
|
cbPanels.Items.Clear();
|
|
|
|
for (int i = 0; i <= _windowList.Count - 1; i++)
|
|
{
|
|
cbPanels.Items.Add(_windowList[i].Text.Replace("&&", "&"));
|
|
}
|
|
|
|
if (cbPanels.Items.Count > 0)
|
|
{
|
|
cbPanels.SelectedItem = cbPanels.Items[0];
|
|
cbPanels.Enabled = true;
|
|
btnOK.Enabled = true;
|
|
}
|
|
else
|
|
{
|
|
cbPanels.Enabled = false;
|
|
btnOK.Enabled = false;
|
|
}
|
|
}
|
|
|
|
private void btnNew_Click(object sender, System.EventArgs e)
|
|
{
|
|
var pnlName = Language.strNewPanel;
|
|
|
|
if (input.InputBox(Language.strNewPanel, Language.strPanelName + ":", ref pnlName) != DialogResult.OK || string.IsNullOrEmpty(pnlName)) return;
|
|
_panelAdder.AddPanel(pnlName);
|
|
AddAvailablePanels();
|
|
cbPanels.SelectedItem = pnlName;
|
|
cbPanels.Focus();
|
|
}
|
|
|
|
private void btnOK_Click(object sender, System.EventArgs e)
|
|
{
|
|
DialogResult = DialogResult.OK;
|
|
}
|
|
}
|
|
}
|