예제 #1
0
파일: MainForm.cs 프로젝트: okabi/Twitdon
        private async void MainForm_Load(object sender, EventArgs e)
        {
            Initialize();

            // アカウント未登録時は登録フォームを表示する
            if (Settings.Default.MastodonDomains.Count == 0 && Settings.Default.TwitterAccessTokens.Count == 0)
            {
                using (var f = new RegisterForm())
                {
                    f.ShowDialog(this);
                }
            }

            // 登録されたアカウントが無ければ終了
            if (Settings.Default.MastodonDomains.Count == 0 && Settings.Default.TwitterAccessTokens.Count == 0)
            {
                Application.Exit();
                return;
            }

            try
            {
                // 全クライアントを作成
                await CreateAllClients();

                // メニューを更新
                UpdateMenuStrip();

                foreach (var client in clients)
                {
                    // (テスト用)ユーザーのアイコン画像を取得する
                    textboxBlank = true;
                    pictureBoxUser.ImageLocation = client.Icon;
                    if (client is TwitdonMastodonClient)
                    {
                        // (テスト用)ホーム・Public タイムラインを追加。
                        var c = client as TwitdonMastodonClient;
                        await AddTimeLine(new TimeLineMastodon(c, Define.MastodonTimeLineType.Home));
                        await AddTimeLine(new TimeLineMastodon(c, Define.MastodonTimeLineType.Public));
                    }
                    else if (client is TwitdonTwitterClient)
                    {
                        var c = client as TwitdonTwitterClient;
                        await AddTimeLine(new TimeLineTwitter(c, Define.TwitterTimeLineType.Home));
                    }
                }
            }
            catch (Exception ex)
            {
                logger.ErrorFormat($"エラーが発生しました。インターネット接続を確認してください。{ex.Message}");
                Utilities.ShowError($"エラーが発生しました。\nインターネット接続を確認してください。");
                Application.Exit();
                return;
            }
        }
예제 #2
0
파일: MainForm.cs 프로젝트: okabi/Twitdon
        private async void 登録RToolStripMenuItem_Click(object sender, EventArgs e)
        {
            IClient client;

            using (var f = new RegisterForm())
            {
                f.ShowDialog(this);
                client = f.Client;
                if (client == null)
                {
                    return;
                }
            }

            try
            {
                if (client is TwitdonMastodonClient)
                {
                    // (テスト用)ホーム・Public タイムラインを追加。
                    var c = client as TwitdonMastodonClient;
                    clients.Add(c);
                    await AddTimeLine(new TimeLineMastodon(c, Define.MastodonTimeLineType.Home));
                    await AddTimeLine(new TimeLineMastodon(c, Define.MastodonTimeLineType.Public));
                }
                else if (client is TwitdonTwitterClient)
                {
                    var c = client as TwitdonTwitterClient;
                    clients.Add(c);
                    await AddTimeLine(new TimeLineTwitter(c, Define.TwitterTimeLineType.Home));
                }

                // (テスト用)ユーザーのアイコン画像を取得する
                textboxBlank = true;
                pictureBoxUser.ImageLocation = client.Icon;

                // メニューを更新
                UpdateMenuStrip();
            }
            catch (Exception ex)
            {
                logger.ErrorFormat($"エラーが発生しました。インターネット接続を確認してください。{ex.Message}");
                Utilities.ShowError($"エラーが発生しました。\nインターネット接続を確認してください。");
                Application.Exit();
                return;
            }
        }