Esempio n. 1
0
        private void OnContactRightTapped(object sender, RightTappedRoutedEventArgs e)
        {
            IMegaContact itemTapped = ((FrameworkElement)e.OriginalSource)?.DataContext as IMegaContact;

            if (itemTapped == null)
            {
                return;
            }

            if (!(this.ViewModel.ActiveView is ContactsListViewModel))
            {
                return;
            }

            this.ViewModel.MegaContacts.ItemCollection.FocusedItem = itemTapped;

            var view = (ListViewBase)sender;

            if (view == null)
            {
                return;
            }

            if (this.ViewModel.MegaContacts.ItemCollection.IsMultiSelectActive)
            {
                view.SelectedItems?.Add(itemTapped);
            }
            else
            {
                view.SelectedItem = itemTapped;
            }
        }
Esempio n. 2
0
        private void OnRightItemTapped(object sender, RightTappedRoutedEventArgs e)
        {
            if (this.ViewModel.Node is FolderNodeViewModel == false)
            {
                return;
            }

            var folderNode = (FolderNodeViewModel)this.ViewModel.Node;

            IMegaContact itemTapped = ((FrameworkElement)e.OriginalSource)?.DataContext as IMegaContact;

            if (itemTapped == null)
            {
                return;
            }

            folderNode.ContactsList.ItemCollection.FocusedItem = itemTapped;

            var view = (ListViewBase)sender;

            if (view == null)
            {
                return;
            }

            if (folderNode.ContactsList.ItemCollection.IsMultiSelectActive)
            {
                view.SelectedItems?.Add(itemTapped);
            }
            else
            {
                view.SelectedItem = itemTapped;
            }
        }
Esempio n. 3
0
        private void OnMultiSelectDisabled(object sender, EventArgs e)
        {
            if (this.ViewModel.Node is FolderNodeViewModel == false)
            {
                return;
            }

            var folderNode = this.ViewModel.Node as FolderNodeViewModel;

            // Needed to avoid strange behaviors during the view update
            DisableViewsBehaviors();

            // If there is only one selected item save it to restore it after disable the multi select mode
            IMegaContact selectedItem = null;

            if (folderNode.ContactsList.ItemCollection.OnlyOneSelectedItem)
            {
                selectedItem = folderNode.ContactsList.ItemCollection.SelectedItems.First();
            }

            this.ListViewContacts.SelectionMode =
                DeviceService.GetDeviceType() == DeviceFormFactorType.Desktop ?
                ListViewSelectionMode.Extended : ListViewSelectionMode.Single;

            // Restore the selected item
            this.ListViewContacts.SelectedItem = folderNode.ContactsList.ItemCollection.FocusedItem = selectedItem;

            // Restore the view behaviors again
            EnableViewsBehaviors();
        }
Esempio n. 4
0
        private void OnContactTapped(object sender, TappedRoutedEventArgs e)
        {
            IMegaContact itemTapped = ((FrameworkElement)e.OriginalSource)?.DataContext as IMegaContact;

            if (itemTapped == null)
            {
                return;
            }

            this.ViewModel.MegaContacts.ItemCollection.FocusedItem = itemTapped;
        }