private void MainForm_Load(object sender, EventArgs e)
{
var settings = application.Settings.Get<GUISettings>();
if (settings.WindowLeft>=0) this.Left = settings.WindowLeft;
if (settings.WindowTop>=0) this.Top = settings.WindowTop;
if (settings.WindowWidth>0) this.Width = settings.WindowWidth;
if (settings.WindowHeight>0) this.Height = settings.WindowHeight;
Rectangle rect = new Rectangle(
settings.WindowLeft>=0 ? settings.WindowLeft : this.Left,
settings.WindowTop>=0 ? settings.WindowTop : this.Top,
settings.WindowWidth>=0 ? settings.WindowWidth : this.Width,
settings.WindowHeight>=0 ? settings.WindowHeight : this.Height);
if (Screen.AllScreens.Any(screen => rect.IntersectsWith(screen.WorkingArea))) {
this.Bounds = rect;
}
Logger.AddWriter(guiWriter);
peerCast.ChannelAdded += ChannelAdded;
peerCast.ChannelRemoved += ChannelRemoved;
showWindowOnStartup.Checked = application.Settings.Get<GUISettings>().ShowWindowOnStartup;
logLevelList.DataSource = new LogLevelItem[] {
new LogLevelItem { Level=LogLevel.None, Text="なし" },
new LogLevelItem { Level=LogLevel.Error, Text="エラー" },
new LogLevelItem { Level=LogLevel.Warn, Text="エラーと警告" },
new LogLevelItem { Level=LogLevel.Info, Text="通知メッセージも含む" },
new LogLevelItem { Level=LogLevel.Debug, Text="デバッグメッセージも含む" },
};
logLevelList.SelectedValueChanged += logLevelList_SelectedValueChanged;
timer.Interval = 1000;
timer.Enabled = true;
timer.Tick += (s, args) => {
UpdateStatus();
};
UpdateStatus();
}