コード例 #1
0
        public async void ChangeViberProfile_Click(object sender, RoutedEventArgs e)
        {
            var viewMode = (MainViewModel)DataContext;

            var client = Viber.Instance(viewMode.Config.ViberClientPath);

            client.Close();
            SetDisabled(Start, ChangeViberProfile);
            await ReplaceDefaultViberProfileInRoamingAppData(viewMode.Config.ProfilePath);
        }
コード例 #2
0
        private async void RegistrationNewAccount_Click(object sender, RoutedEventArgs e)
        {
            var viewMode = (MainViewModel)DataContext;

            var client = Viber.Instance(viewMode.Config.ViberClientPath);

            client.Close();

            SetDisabled(RegistrationNewAccount);
            var db = new ViberDb(DefaultViberConfigDbInRoamingAppData());
            await db.OffAccountsAsync();

            client.Run();
            ViberAccounts.DataContext = await db.WaitNewAccountAsync();

            SetEnabled(RegistrationNewAccount);
        }
コード例 #3
0
        private async void ChangeAccount_Click(object sender, EventArgs e)
        {
            try
            {
                var viewMode = (MainViewModel)DataContext;

                var client = Viber.Instance(viewMode.Config.ViberClientPath);
                client.Close();
                SetDisabled(ChangeAccount);

                await SelectNextViberProfileAsync();

                client.Run();
            }
            finally
            {
                SetEnabled(ChangeAccount);
            }
        }
コード例 #4
0
        private async void Start_Click(object sender, RoutedEventArgs e)
        {
            var viewMode = (MainViewModel)DataContext;

            var errors = CheckConfig();

            if (errors.Any())
            {
                System.Windows.MessageBox.Show(string.Join("\n", errors.Select(err => err.Value)));
                return;
            }

            var client = Viber.Instance(viewMode.Config.ViberClientPath);

            client.StopIfRunning();

            SetDisabled(Start);
            SetEnabled(Stop);

            _cts = new CancellationTokenSource();
            var token = _cts.Token;

            await RunWork(client, viewMode.Config, token);
        }