Ejemplo n.º 1
0
        private async void ShowLoggedIn()
        {
            if (loginForm == null)
            {
                loginForm = AccountBox.Content;
            }
            await Aoba.UpdateStats();

            var spanel       = new StackPanel();
            var logoutButton = new Button();

            logoutButton.Content = $"Logout";
            logoutButton.Click  += (o, e) =>
            {
                Aoba.Settings.AuthToken = null;
                AccountBox.Content      = loginForm;
                UserStatus.Content      = "User not logged in...";
            };
            spanel.Children.Add(new Label {
                Content = $"Logged in as: {Aoba.Settings.Username}"
            });
            spanel.Children.Add(logoutButton);
            AccountBox.Content = spanel;
            UserStatus.Content = $"Upload Count: {Aoba.UserStats?.screenShotCount}";
        }
Ejemplo n.º 2
0
        private void Save()
        {
            //Startup
            Aoba.Settings.RunAtStart = (RunOnStartup.IsChecked == null) ? false : (bool)RunOnStartup.IsChecked;
            //After Load
            Aoba.Settings.CopyLink = (CopyLink.IsChecked == null) ? false : (bool)CopyLink.IsChecked;
            Aoba.Settings.OpenLink = (OpenLink.IsChecked == null) ? false : (bool)OpenLink.IsChecked;
            //Toasts
            Aoba.Settings.ShowToasts   = (ToastAll.IsChecked == null) ? false : (bool)ToastAll.IsChecked;
            Aoba.Settings.ToastCapture = (ToastCapture.IsChecked == null) ? false : (bool)ToastCapture.IsChecked;
            Aoba.Settings.ToastSucess  = (ToastSuccess.IsChecked == null) ? false : (bool)ToastSuccess.IsChecked;
            Aoba.Settings.ToastFailed  = (ToastFailed.IsChecked == null) ? false : (bool)ToastFailed.IsChecked;
            //Sounds
            Aoba.Settings.PlaySounds   = (SoundAll.IsChecked == null) ? false : (bool)SoundAll.IsChecked;
            Aoba.Settings.SoundCapure  = (SoundCapture.IsChecked == null) ? false : (bool)SoundCapture.IsChecked;
            Aoba.Settings.SoundSuccess = (SoundSuccess.IsChecked == null) ? false : (bool)SoundSuccess.IsChecked;
            Aoba.Settings.SoundFailed  = (SoundFailed.IsChecked == null) ? false : (bool)SoundFailed.IsChecked;
            //Image Format
            Aoba.Settings.Format = (ImageFormat.SelectedIndex == 0) ? System.Drawing.Imaging.ImageFormat.Png : System.Drawing.Imaging.ImageFormat.Jpeg;
            //Save Copy
            Aoba.Settings.SaveCopy     = (SaveCopy.IsChecked == null) ? false : (bool)SaveCopy.IsChecked;
            Aoba.Settings.SaveLocation = SaveLocation.Text;
            //Fullscreen Capture Mode
            Aoba.Settings.FullscreenCapture = (DataStore.FullscreenCaptureMode)FullscreenCaputue.SelectedIndex;
            //Tray
            Aoba.Settings.CloseToTray = (CloseToTray.IsChecked == null) ? false : (bool)CloseToTray.IsChecked;
            Aoba.Settings.StartInTray = (StartInTray.IsChecked == null) ? false : (bool)StartInTray.IsChecked;
            //In-Game
            Aoba.Settings.ShowFPS     = (ShowFPS.IsChecked == null) ? false : (bool)ShowFPS.IsChecked;
            Aoba.Settings.GameCapture = (GameCapture.IsChecked == null) ? false : (bool)GameCapture.IsChecked;
            //Misc
            Aoba.Settings.AutoUploadFromClipboard = (ClipboardAutoUpload.IsChecked == null) ? false : (bool)ClipboardAutoUpload.IsChecked;

            Aoba.Save();
        }
Ejemplo n.º 3
0
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         Aoba.InstallContextMenu();
     }catch (Exception ex)
     {
         Debug.WriteLine(ex.Message);
     }
 }
Ejemplo n.º 4
0
 private void MainWindow_ClipboardUpdate(object sender, EventArgs e)
 {
     if (Clipboard.ContainsImage() && Aoba.Settings.AutoUploadFromClipboard)
     {
         var src        = Clipboard.GetImage();
         var bitmap     = new Bitmap(src.PixelWidth, src.PixelHeight, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
         var bitmapData = bitmap.LockBits(new System.Drawing.Rectangle(System.Drawing.Point.Empty, bitmap.Size), System.Drawing.Imaging.ImageLockMode.WriteOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
         src.CopyPixels(Int32Rect.Empty, bitmapData.Scan0, bitmapData.Height * bitmapData.Stride, bitmapData.Stride);
         bitmap.UnlockBits(bitmapData);
         Aoba.PublishScreen(bitmap);
     }
 }
Ejemplo n.º 5
0
        private async void Load()
        {
            //Startup
            RunOnStartup.IsChecked = Aoba.Settings.RunAtStart;
            //After Load
            CopyLink.IsChecked = Aoba.Settings.CopyLink;
            OpenLink.IsChecked = Aoba.Settings.OpenLink;
            //Toasts
            ToastAll.IsChecked     = ToastBox.IsEnabled = Aoba.Settings.ShowToasts;
            ToastCapture.IsChecked = Aoba.Settings.ToastCapture;
            ToastSuccess.IsChecked = Aoba.Settings.ToastSucess;
            ToastFailed.IsChecked  = Aoba.Settings.ToastFailed;
            //Sounds
            SoundAll.IsChecked     = SoundBox.IsEnabled = Aoba.Settings.PlaySounds;
            SoundCapture.IsChecked = Aoba.Settings.SoundCapure;
            SoundSuccess.IsChecked = Aoba.Settings.SoundSuccess;
            SoundFailed.IsChecked  = Aoba.Settings.SoundFailed;
            //Image Format
            ImageFormat.SelectedIndex = (Aoba.Settings.Format == System.Drawing.Imaging.ImageFormat.Jpeg) ? 1 : 0;
            //Save Copy
            SaveCopy.IsChecked = SaveBox.IsEnabled = Aoba.Settings.SaveCopy;
            SaveLocation.Text  = Aoba.Settings.SaveLocation;
            //Fullscreen Capture Mode
            FullscreenCaputue.SelectedIndex = (int)Aoba.Settings.FullscreenCapture;
            //Tray
            CloseToTray.IsChecked = Aoba.Settings.CloseToTray;
            StartInTray.IsChecked = Aoba.Settings.StartInTray;
            //In-Game
            GameCapture.IsChecked = Aoba.Settings.GameCapture;
            ShowFPS.IsChecked     = Aoba.Settings.ShowFPS;
            //Misc
            ClipboardAutoUpload.IsChecked = Aoba.Settings.AutoUploadFromClipboard;
            //Account
            Username.Text = Aoba.Settings.Username;
            await Aoba.UpdateStats();

            if (Aoba.UserStats == null)
            {
                Aoba.Settings.AuthToken = null;

                if (Aoba.Settings.Password != null)
                {
                    await Aoba.Login();

                    if (Aoba.Settings.AuthToken != null)
                    {
                        ShowLoggedIn();
                    }
                }
            }
            RenderKeyBinds();
        }
Ejemplo n.º 6
0
        public MainWindow()
        {
            InitializeComponent();
            Aoba.Init();
            //Start in Tray
            if (Aoba.Settings.StartInTray)
            {
                Hide();
            }
            if (!Aoba.Settings.HasAuth)
            {
                User.Focus();
            }
            //Set Values
            Load();
            //Tray Icon

            var pauseItem = new System.Windows.Forms.MenuItem("Pause");

            pauseItem.Click += (_, e) =>
            {
                Aoba.IsListening = !Aoba.IsListening;
                pauseItem.Text   = (Aoba.IsListening) ? "Pause" : "Unpause";
                Aoba.Notify($"Key Listening {pauseItem.Text}ed");
            };

            _contextMenu = new System.Windows.Forms.ContextMenu(new System.Windows.Forms.MenuItem[]
            {
                new System.Windows.Forms.MenuItem("Settings", RestoreWindow),
                pauseItem,
                new System.Windows.Forms.MenuItem("Quit", (o, e) =>
                {
                    willExit = true;
                    Aoba.Save();
                    Close();
                })
            });
            Aoba.TrayIcon.ContextMenu  = _contextMenu;
            Aoba.TrayIcon.DoubleClick += RestoreWindow;

            ClipboardUpdate += MainWindow_ClipboardUpdate;
        }
Ejemplo n.º 7
0
        private async void LoginButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                AccountBox.IsEnabled   = false;
                Aoba.Settings.Username = Username.Text;
                Aoba.Settings.Password = Password.Password;
                await Aoba.Login();

                AccountBox.IsEnabled = true;
                ShowLoggedIn();
            }catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
                AccountBox.IsEnabled = true;
            }
            finally
            {
                Save();
            }
        }
Ejemplo n.º 8
0
 protected override void OnClosing(CancelEventArgs e)
 {
     Save();
     if (!Aoba.Settings.CloseToTray)
     {
         willExit = true;
     }
     if (WindowState == WindowState.Normal)
     {
         if (!willExit)
         {
             e.Cancel = true;
             HideWindow();
         }
     }
     if (willExit)
     {
         Aoba.Dispose();
     }
     base.OnClosing(e);
 }