Files
mRemoteNG/mRemoteV1/UI/Forms/frmChoosePanel.cs
David Sparer 4dea0d03ed Merge branch 'develop' into remove_statics
# 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
2018-08-24 18:14:54 -05:00

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;
}
}
}