示例#1
0
        public async void Initialize()
        {
            await GetGlobalLock();

            try
            {
                Util.LogHandlers.Add(AddLog);
                Server = new EncodeServer(App.Option.ServerPort, null, async() =>
                {
                    await RealCloseWindow();
                });
                await Server.Init();

                RaisePropertyChanged(nameof(Server));
                WindowCaption = "AmatsukazeServer" + Server.Version + "@" + Dns.GetHostName() + ":" + App.Option.ServerPort;

                // SleepCancel
                SleepCancelVM = new SleepCancelViewModel()
                {
                    Model = Server
                };
                var modelListener = new PropertyChangedEventListener(Server);
                modelListener.Add(() => Server.SleepCancel, (_, __) => ShowOrCloseSleepCancel());
                CompositeDisposable.Add(modelListener);
            }
            catch (Exception e)
            {
                var message = new InformationMessage(
                    "起動処理でエラーが発生しました\r\n" +
                    e.Message + "\r\n" + e.StackTrace,
                    "AmatsukazeServer",
                    "Message");

                await Messenger.RaiseAsync(message);

                await RealCloseWindow();
            }

            if (App.Option.LaunchType == LaunchType.Debug)
            {
                var asm = Assembly.GetExecutingAssembly().GetName();
                Process.Start(new ProcessStartInfo()
                {
                    FileName  = $"{AppContext.BaseDirectory}{asm.Name}.exe",
                    Arguments = "--launch client",
                });
            }
        }
示例#2
0
        public MainWindowViewModel()
        {
            Model       = new ClientModel();
            ConsoleList = new ObservableViewModelCollection <ConsoleViewModel, DisplayConsole>(
                Model.ConsoleList, console => new ConsoleViewModel()
            {
                Name      = "コンソール" + (console.Id),
                ShortName = (console.Id).ToString(),
                Model     = console
            });
            QueueVM = new QueueViewModel()
            {
                Name = "キュー", Model = Model, MainPanel = this
            };
            MainPanelMenu.Add(QueueVM);
            MainPanelMenu.Add(new LogViewModel()
            {
                Name = "ログ", Model = Model
            });
            MainPanelMenu.Add(new ProfileSettingViewModel()
            {
                Name = "プロファイル", Model = Model
            });
            MainPanelMenu.Add(new AutoSelectSettingViewModel()
            {
                Name = "自動選択", Model = Model
            });
            MainPanelMenu.Add(new ServiceSettingViewModel()
            {
                Name = "チャンネル設定", Model = Model
            });
            MainPanelMenu.Add(new SettingViewModel()
            {
                Name = "基本設定", Model = Model
            });
            ConsolePanelMenu.Add(new LogFileViewModel()
            {
                Name = "ログファイル", Model = Model
            });
            InfoPanelMenu.Add(new SummaryViewModel()
            {
                Name = "サマリー", Model = Model, MainPanel = this
            });
            InfoPanelMenu.Add(new DrcsImageListViewModel()
            {
                Name = "DRCS外字", Model = Model
            });
            InfoPanelMenu.Add(new AddQueueConsoleViewModel()
            {
                Name = "追加コンソール", Model = Model
            });
            InfoPanelMenu.Add(new DiskFreeSpaceViewModel()
            {
                Name = "ディスク空き", Model = Model
            });
            InfoPanelMenu.Add(new MakeScriptViewModel()
            {
                Name = "その他", Model = Model
            });
            InfoPanelMenu.Add(new ClientLogViewModel()
            {
                Name = "クライアントログ", Model = Model
            });

            SleepCancelVM = new SleepCancelViewModel()
            {
                Model = Model
            };
        }