コード例 #1
0
        public SettingsWindow(ServiceBuilder serviceBuilder, HotKeysBuilder hotKeysBuilder)
        {
            InitializeComponent();

            serverPortConverter = new IntConverter();
            clientPortConverter = new IntNullableConverter()
            {
                AutoParseNullOrWhiteSpace = true,
                NullOrWhiteSpaceValue     = null
            };

            timMode.DataContext    = ServiceBuilder = serviceBuilder;
            timHotKeys.DataContext = HotKeysBuilder = hotKeysBuilder;

            if (serviceBuilder.BuildServer)
            {
                tbxPort.Text = serverPortConverter.Convert(serviceBuilder.ServerPort);
            }
            else if (serviceBuilder.BuildClient)
            {
                tbxPort.Text = clientPortConverter.Convert(serviceBuilder.ClientPort);
            }
            else
            {
                tbxPort.Text = "1884";
            }

            if (string.IsNullOrWhiteSpace(ServiceBuilder.ServerAddress))
            {
                ServiceBuilder.ServerAddress = "127.0.0.1";
            }
        }
コード例 #2
0
        private async void Window_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                IEnumerable <string> args     = Environment.GetCommandLineArgs().Skip(1);
                IntPtr         windowHandle   = new WindowInteropHelper(this).Handle;
                ServiceBuilder serviceBuilder = new ServiceBuilder()
                                                .WithArgs(args)
                                                .WithWindowHandler(windowHandle);

                DataContext = viewModel = new ViewModel(await serviceBuilder.Build());
            }
            catch (Exception exc)
            {
                MessageBox.Show(Utils.GetTypeMessageAndStack(exc), "Building service", MessageBoxButton.OK, MessageBoxImage.Error);
                throw;
            }

            try
            {
                IEnumerable <string> args = Environment.GetCommandLineArgs().Skip(1);

                hotKeys = new HotKeysBuilder().WithArgs(args).Build();

                hotKeys.Toggle_Pressed   += OnTogglePlayPause;
                hotKeys.Next_Pressed     += OnNext;
                hotKeys.Previous_Pressed += OnPrevious;
                hotKeys.Play_Pressed     += OnPlay;
                hotKeys.Pause_Pressed    += OnPause;
                hotKeys.Restart_Pressed  += OnRestart;

                hotKeys.Register();
            }
            catch (Exception exc)
            {
                MessageBox.Show(Utils.GetTypeMessageAndStack(exc), "Building hotkeys", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
コード例 #3
0
 private void RbnClient_Checked(object sender, RoutedEventArgs e)
 {
     ServiceBuilder.WithClient(tbxServerAddress.Text, clientPortConverter.Value);
 }
コード例 #4
0
 private void RbnServer_Checked(object sender, RoutedEventArgs e)
 {
     ServiceBuilder.WithServer(serverPortConverter.Value);
 }
コード例 #5
0
 private void RbnStandalone_Checked(object sender, RoutedEventArgs e)
 {
     ServiceBuilder.WithStandalone();
 }