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}"; }
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(); }
private void Button_Click(object sender, RoutedEventArgs e) { try { Aoba.InstallContextMenu(); }catch (Exception ex) { Debug.WriteLine(ex.Message); } }
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); } }
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(); }
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; }
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(); } }
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); }