Пример #1
0
		private async void selectPlayerToolStripMenuItem_Click(object sender, EventArgs e)
		{
			var psf = new PlayerSelectForm();
			if (psf.ShowDialog() != DialogResult.OK)
			{
				this.Close();
				return;
			}

			SettingStorage.Instance.TargetPlayer = psf.Response;

			await SettingStorage.Instance.Save();
			Application.Restart();
		}
Пример #2
0
		private async void Form1_Load(object sender, EventArgs e)
		{
			menuStrip1.Renderer = new ToolStripProfessionalRenderer(new CustomColorTable());

			var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(3);
			this.Text = string.Format("MisskeyNowPlaying - v{0}", version);

			// Load Setting
			await SettingStorage.Instance.Load();
			if (SettingStorage.Instance.TargetPlayer == PlayerType.None)
			{
				var psf = new PlayerSelectForm();
				if (psf.ShowDialog() == DialogResult.OK)
				{
					SettingStorage.Instance.TargetPlayer = psf.Response;
					await SettingStorage.Instance.Save();
				}
				else
				{
					this.Close();
					return;
				}
			}

			// Cooperate Player
			var playerInfo = "";
			if (SettingStorage.Instance.TargetPlayer == PlayerType.WindowsMediaPlayer)
			{
				if (!await InitalizeWMP())
				{
					if (MessageBox.Show("WMPとの連携に失敗しました。プレイヤーを選択し直しますか?", "質問", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == System.Windows.Forms.DialogResult.Yes)
					{
						var psf = new PlayerSelectForm();
						if (psf.ShowDialog() != DialogResult.OK)
						{
							this.Close();
							return;
						}
						SettingStorage.Instance.TargetPlayer = psf.Response;
						await SettingStorage.Instance.Save();
						Application.Restart();
					}
					else
					{
						this.Close();
						return;
					}
				}
				else
					playerInfo = "WMP";
			}
			else if (SettingStorage.Instance.TargetPlayer == PlayerType.iTunes)
			{
				if (!await InitalizeiTunes())
				{
					if (MessageBox.Show("iTunesとの連携に失敗しました。プレイヤーを選択し直しますか?", "質問", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == System.Windows.Forms.DialogResult.Yes)
					{
						var psf = new PlayerSelectForm();
						if (psf.ShowDialog() != DialogResult.OK)
						{
							this.Close();
							return;
						}
						SettingStorage.Instance.TargetPlayer = psf.Response;
						await SettingStorage.Instance.Save();
						Application.Restart();
					}
					else
					{
						this.Close();
						return;
					}
				}
				else
					playerInfo = "iTunes";
			}
			else
			{
				this.Close();
				return;
			}
			this.Text = string.Format("MisskeyNowPlaying({1}モード) - v{0}", version, playerInfo);

			// Authorize
			if (!SettingStorage.Instance.Account.IsAuthorized)
			{
				await SettingStorage.Instance.Account.StartAuthorize();
				var authform = new AuthForm();
				if (authform.ShowDialog() == DialogResult.OK)
				{
					try
					{
						SettingStorage.Instance.Account = await SettingStorage.Instance.Account.AuthorizePIN(authform.Response);
						await SettingStorage.Instance.Save();
					}
					catch
					{
						MessageBox.Show("認証に失敗しました。", "エラー");
						this.Close();
					}
				}
				else
					this.Close();
			}
		}