Exemple #1
0
 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);
        }
Exemple #4
0
        public TaskbarButton(ApplicationViewModel applicationViewModel, TaskbarIconsSize iconsSize)
        {
            DataContext = applicationViewModel;
            InitializeComponent();

            Id = applicationViewModel.Application.Id;

            SetIconSize(iconsSize);
        }
Exemple #5
0
        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));
        }
Exemple #6
0
        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);
            }
        }
Exemple #7
0
        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);
            }
        }
Exemple #8
0
        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);
                }
            }
        }
Exemple #9
0
        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);
            }
        }
Exemple #10
0
        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();
            }
        }
Exemple #11
0
        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);
 }