Exemplo n.º 1
0
        private static void Initialize(Settings settings, OptionItems options, PatrolTable patterns)
        {
            if (initialized)
            {
                throw new InvalidOperationException("既に初期化されています");
            }
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }
            OnInitializing();

            //シリアル化インスタンス
            //アプリケーション設定
            currentSettings = settings;
            currentSettings.MarkCrush();
            //ユーザー設定
            Options = options;
            Options.ItemsChanged += new EventHandler(Options_ItemsChanged);
            //巡回設定
            PatrolPatterns = patterns;

            //オプション
            InitializeOptions();

            //バージョンテキスト
            version = System.Windows.Forms.Application.ProductVersion;
            if (version.EndsWith(TrimedTailVersionText))
            {
                version = version.Substring(0, version.Length - TrimedTailVersionText.Length);
            }
            //if (IsBeta)
            //{
            //    version += "β";
            //}

            //詳細情報
            currentSettings.Information.LastUptime = DateTime.Now;

            //作業フォルダー
            if (System.IO.Directory.Exists(DeanCCCore.Core.VersionUp.VersionUpClient.NewVersionFolder))
            {
                System.IO.Directory.Delete(DeanCCCore.Core.VersionUp.VersionUpClient.NewVersionFolder, true);
            }

            //板一覧
            if (settings.FirstRunning)
            {
                try
                {
                    currentSettings.Boards.OnlineUpdate();
                }
                catch (ApplicationException ex)
                {
                    currentSettings.Boards.LoadBoardFromXml();
                    logs.Add("板一覧更新", ex.Message + " デフォルトの板一覧を読み込みます。", LogStatus.Error);
                }
                catch (System.Net.WebException ex)
                {
                    currentSettings.Boards.LoadBoardFromXml();
                    logs.Add("通信エラー", ex.Message + " デフォルトの板一覧を読み込みます。", LogStatus.Error);
                }
            }

            //スレッド一覧
            UpdateThreads();

            OnInitialized();
        }
Exemplo n.º 2
0
        //private static bool savableUserSettings = true;
        ///// <summary>
        ///// ユーザーが変更可能な設定を保存するかどうかを取得または設定します
        ///// </summary>
        //public static bool SavableUserSettings
        //{
        //    get { return savableUserSettings; }
        //    set { savableUserSettings = value; }
        //}
        private static Settings CreateSettings()
        {
            Settings settings = null;
            //if (loadBackup)
            //{
            //    try
            //    {
            //        settings = Settings.CreateBackUp();
            //        return settings;
            //    }
            //    catch (SerializationException ex)
            //    {
            //        MessageBox.Show(ex.Message,
            //            "バックアップ適用失敗", MessageBoxButtons.OK, MessageBoxIcon.Error);
            //    }
            //}
            try
            {
                settings = Settings.Create();
            }
            catch (SerializationException ex)
            {
                settings = new Settings();
                MessageBox.Show(ex.Message + "\n初期設定を適用します",
                    "設定ファイル読み込み失敗", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            return settings;
        }