public void GetClickedApplicationViewModelFromContextMenuReturnsApplicationViewModel() { MenuItem testMenuItem = new MenuItem(); var testAppViewModel = new ApplicationViewModel(LocalApplications.AppStoreApp); testMenuItem.DataContext = testAppViewModel; Assert.AreEqual(testAppViewModel, Helper.GetApplicationViewModelFromContextMenuClick(testMenuItem)); }
public void HideContextMenuHasHiddenVisibility() { var application = new Application() {HideContextMenu = true}; var avm = new ApplicationViewModel(application); Assert.AreEqual(Visibility.Hidden, avm.DisplayContextMenu); }
public void DefaultHasVisibleContextMenu() { var application = new Application(); var avm = new ApplicationViewModel(application); Assert.AreEqual(Visibility.Visible, avm.DisplayContextMenu); }
public TaskbarButton(ApplicationViewModel applicationViewModel, TaskbarIconsSize iconsSize) { DataContext = applicationViewModel; InitializeComponent(); Id = applicationViewModel.Application.Id; SetIconSize(iconsSize); }
private void RemoveFromSuggestedApps(ApplicationViewModel applicationViewModel, bool saveLocalStorage = true) { applicationViewModel.PinnedToTaskbarNotifier = false; lock (ServiceLocator.LocalStorage.Locker) { ServiceLocator.LocalStorage.LastSuggestedApps.Remove(applicationViewModel.Application); if (saveLocalStorage) { ServiceLocator.LocalStorage.SaveAppSettings(); } } Helper.PerformInUiThread(() => SuggestedApplications.Remove(applicationViewModel)); }
private void RemoveFromMyApps(ApplicationViewModel applicationViewModel, bool saveLocalStorage = true) { lock (ServiceLocator.LocalStorage.Locker) { if (applicationViewModel.Application.IsLocalApp) { ServiceLocator.LocalStorage.InstalledLocalApps.Remove(applicationViewModel.Application); } else { ServiceLocator.LocalStorage.InstalledAppDirectApps.Remove(applicationViewModel.Application); } if (saveLocalStorage) { ServiceLocator.LocalStorage.SaveAppSettings(); } } Helper.PerformInUiThread(() => MyApplications.Remove(applicationViewModel)); if (ApplicationRemovedNotifier != null) { ApplicationRemovedNotifier(applicationViewModel, null); } }
private void AddToMyApps(ApplicationViewModel applicationViewModel, bool saveLocalStorage = true) { var application = applicationViewModel.Application; application.PinnedToTaskbar = true; lock (ServiceLocator.LocalStorage.Locker) { if (application.IsLocalApp) { ServiceLocator.LocalStorage.InstalledLocalApps.Add(application); } else { ServiceLocator.LocalStorage.InstalledAppDirectApps.Add(application); } if (saveLocalStorage) { ServiceLocator.LocalStorage.SaveAppSettings(); } } Helper.PerformInUiThread(() => MyApplications.Add(applicationViewModel)); if (ApplicationAddedNotifier != null) { ApplicationAddedNotifier(applicationViewModel, null); } }
public void RemoveApp(ApplicationViewModel applicationViewModel) { if (applicationViewModel.Application.IsLocalApp) { RemoveFromMyApps(applicationViewModel, false); AddToSuggestedApps(applicationViewModel, false); lock (ServiceLocator.LocalStorage.Locker) { ServiceLocator.LocalStorage.SaveAppSettings(); } } else { if (!string.IsNullOrEmpty(applicationViewModel.Application.SubscriptionId)) { Helper.PerformInUiThread(() => applicationViewModel.ApplicationStatus = DisplayStatus.ApiCallInProgress); BackgroundWorker backgroundWorker = new BackgroundWorker(); backgroundWorker.DoWork += UnsubscribeAsynchronously; backgroundWorker.RunWorkerAsync(applicationViewModel); } else { Helper.PerformInUiThread(() => Message = applicationViewModel.Application.Name + " cannot be removed through " + Constants.ApplicationName); } } }
public void AddApp(ApplicationViewModel applicationViewModel) { if (applicationViewModel.Application.IsLocalApp) { RemoveFromSuggestedApps(applicationViewModel, false); AddToMyApps(applicationViewModel, false); lock (ServiceLocator.LocalStorage.Locker) { ServiceLocator.LocalStorage.SaveAppSettings(); } } else { applicationViewModel.ApplicationStatus = DisplayStatus.ApiCallInProgress; RemoveFromSuggestedApps(applicationViewModel); AddToMyApps(applicationViewModel); BackgroundWorker backgroundWorker = new BackgroundWorker(); backgroundWorker.DoWork += SubscribeAsynchronously; backgroundWorker.RunWorkerAsync(applicationViewModel); } }
private void RemoveButton(ApplicationViewModel applicationViewModel) { var btn = ButtonContainer.Children.OfType<TaskbarButton>().FirstOrDefault(b => b.Id == applicationViewModel.Application.Id); if (btn != null) { ButtonContainer.Children.Remove(btn); if (ButtonContainer.Orientation == Orientation.Horizontal) { Width -= btn.Width; } else { Height -= btn.Height; } NotifyTaskbarOfChange(); } }
private void AddButton(ApplicationViewModel application) { var taskbarButton = new TaskbarButton(application, CurrentIconSize); taskbarButton.PinToTaskbarClickNotifier += PinToTaskbarClickHandler; taskbarButton.UninstallClickNotifier += UninstallAppClickHandler; ButtonContainer.Children.Add(taskbarButton); if (ButtonContainer.Orientation == Orientation.Horizontal) { Width += taskbarButton.Width; } else { Height += taskbarButton.Height; } NotifyTaskbarOfChange(); }
public void RemovePinnedApp(ApplicationViewModel clickedApp) { PinnedApps.Remove(clickedApp); }
public void AddPinnedApp(ApplicationViewModel clickedApp) { PinnedApps.Add(clickedApp); }