Esempio n. 1
0
        private FrameworkElement ProcessVideo(TLPageBase page, TLPageBlockVideo block, IList <TLPhotoBase> photos, IList <TLDocumentBase> documents)
        {
            var video = documents.FirstOrDefault(x => x.Id == block.VideoId);

            if (video != null)
            {
                var galleryItem = new GalleryDocumentItem(video as TLDocument, block.Caption?.ToString());
                ViewModel.Gallery.Items.Add(galleryItem);

                var element = new StackPanel {
                    Style = Resources["BlockVideoStyle"] as Style
                };

                var child = new ImageView();
                child.Source              = (ImageSource)DefaultPhotoConverter.Convert(video, true);
                child.Constraint          = video;
                child.DataContext         = galleryItem;
                child.Click              += Image_Click;
                child.HorizontalAlignment = HorizontalAlignment.Center;

                var transferBinding = new Binding();
                transferBinding.Path   = new PropertyPath("IsTransferring");
                transferBinding.Source = video;

                var transfer = new TransferButton();
                transfer.Completed   += (s, args) => Image_Click(child, null);
                transfer.Transferable = video;
                transfer.Style        = Application.Current.Resources["MediaTransferButtonStyle"] as Style;
                transfer.SetBinding(TransferButton.IsTransferringProperty, transferBinding);

                var progressBinding = new Binding();
                progressBinding.Path   = new PropertyPath("Progress");
                progressBinding.Source = video;

                var progress = new ProgressBarRing();
                progress.Background       = new SolidColorBrush(Colors.Transparent);
                progress.Foreground       = new SolidColorBrush(Colors.White);
                progress.IsHitTestVisible = false;
                progress.SetBinding(ProgressBarRing.ValueProperty, progressBinding);

                var grid = new Grid();
                grid.Children.Add(child);
                grid.Children.Add(transfer);
                grid.Children.Add(progress);

                element.Children.Add(grid);

                var caption = ProcessText(page, block, photos, documents, true);
                if (caption != null)
                {
                    caption.Margin = new Thickness(0, 8, 0, 0);
                    element.Children.Add(caption);
                }

                return(element);
            }

            return(null);
        }
Esempio n. 2
0
        // Transfer delegate methods
        private void _session_Connected()
        {
            TransferButtonDelegate tBtnDel = new TransferButtonDelegate(TransferBtnDelegateFunction);

            TransferButton.Invoke(tBtnDel, false);

            Console.WriteLine("Connected");
        }
Esempio n. 3
0
        private void _session_Disconnected()
        {
            TransferButtonDelegate tBtnDel = new TransferButtonDelegate(TransferBtnDelegateFunction);

            TransferButton.Invoke(tBtnDel, true);

            Console.WriteLine("Disconnected\n");
        }
Esempio n. 4
0
        private FrameworkElement ProcessPhoto(TLPageBase page, TLPageBlockPhoto block, IList <TLPhotoBase> photos, IList <TLDocumentBase> documents)
        {
            var photo = photos.FirstOrDefault(x => x.Id == block.PhotoId);

            if (photo != null)
            {
                var galleryItem = new GalleryPhotoItem(photo as TLPhoto, block.Caption?.ToString());
                ViewModel.Gallery.Items.Add(galleryItem);

                var element = new StackPanel {
                    Style = Resources["BlockPhotoStyle"] as Style
                };

                var child = new ImageView();
                child.Source              = (ImageSource)DefaultPhotoConverter.Convert(photo, true);
                child.Constraint          = photo;
                child.DataContext         = galleryItem;
                child.Click              += Image_Click;
                child.HorizontalAlignment = HorizontalAlignment.Center;

                var transferBinding = new Binding();
                transferBinding.Path   = new PropertyPath("IsTransferring");
                transferBinding.Source = photo;

                var progressBinding = new Binding();
                progressBinding.Path   = new PropertyPath("Progress");
                progressBinding.Source = photo;

                var transfer = new TransferButton();
                transfer.Completed   += (s, args) => Image_Click(child, null);
                transfer.Transferable = photo;
                transfer.Style        = Application.Current.Resources["MediaTransferButtonStyle"] as Style;
                transfer.SetBinding(TransferButton.IsTransferringProperty, transferBinding);
                transfer.SetBinding(TransferButton.ProgressProperty, progressBinding);

                var grid = new Grid();
                grid.Children.Add(child);
                grid.Children.Add(transfer);

                element.Children.Add(grid);

                var caption = ProcessText(page, block, photos, documents, true);
                if (caption != null)
                {
                    caption.Margin = new Thickness(0, 8, 0, 0);
                    element.Children.Add(caption);
                }

                return(element);
            }

            return(null);
        }
Esempio n. 5
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            Button0.SetCommand(_viewModel.Button0Action);
            Button1.SetCommand(_viewModel.Button1Action);
            Button2.SetCommand(_viewModel.Button2Action);
            Button3.SetCommand(_viewModel.Button3Action);
            Button4.SetCommand(_viewModel.Button4Action);
            Button5.SetCommand(_viewModel.Button5Action);
            Button6.SetCommand(_viewModel.Button6Action);
            Button7.SetCommand(_viewModel.Button7Action);
            Button8.SetCommand(_viewModel.Button8Action);
            Button9.SetCommand(_viewModel.Button9Action);
            LeftButton.SetCommand(_viewModel.LeftButtonAction);
            CommaButton.SetCommand(_viewModel.CommaButtonAction);
            RightButton.SetCommand(_viewModel.RightButtonAction);
            AddRecordButton.SetCommand(_viewModel.AddRecordAction);
            DeleteButton.SetCommand(_viewModel.DeleteButtonAction);
            IncomeButton.SetCommand(_viewModel.IncomeButtonAction);
            ExpensesButton.SetCommand(_viewModel.ExpensesButtonAction);
            TransferButton.SetCommand(_viewModel.TransferButtonAction);

            _bindings.Add(this.SetBinding(() => _viewModel.SignText, () => SignLabel.Text));
            _bindings.Add(this.SetBinding(() => _viewModel.LeftButtonText, () => LeftButtonText));
            _bindings.Add(this.SetBinding(() => _viewModel.RightButtonText, () => RightButtonText));
            _bindings.Add(this.SetBinding(() => _viewModel.AmountLabelText, () => AmountLabel.Text));
            _bindings.Add(this.SetBinding(() => _viewModel.IncomeButtonColor, () => IncomeButton.BackgroundColor).ConvertSourceToTarget(x => x.ToNative()));
            _bindings.Add(this.SetBinding(() => _viewModel.TransButtonColor, () => TransferButton.BackgroundColor).ConvertSourceToTarget(x => x.ToNative()));
            _bindings.Add(this.SetBinding(() => _viewModel.ExpensesButtonColor, () => ExpensesButton.BackgroundColor).ConvertSourceToTarget(x => x.ToNative()));

            HolderView.ApplyStyle(_viewModel.MainStyling);
            TemplatesButton.ApplyStyle(_viewModel.MainStyling);
            RightButton.ApplyStyle(_viewModel.MainStyling);
            LeftButton.ApplyStyle(_viewModel.MainStyling);
            MiddleImageView.ApplyStyle(_viewModel.MainStyling);
        }
Esempio n. 6
0
        private FrameworkElement GetPhoto(KeyValuePair <TLMessage, GroupedMessagePosition> position, GroupedMessages groupedMessages, double left, double top)
        {
            var margin = 1;

            var width  = 320d;
            var height = 420d;

            var element = new ContentControl
            {
                Content = position.Key,
                ContentTemplateSelector    = App.Current.Resources["MediaTemplateSelector"] as DataTemplateSelector,
                HorizontalContentAlignment = HorizontalAlignment.Stretch,
                VerticalContentAlignment   = VerticalAlignment.Stretch
            };

            element.DataContext         = position.Key;
            element.Width               = position.Value.Width / 800d * width - margin * 2;
            element.Height              = height * position.Value.Height - margin * 2;
            element.Margin              = new Thickness(left + margin, top + margin, margin, margin);
            element.HorizontalAlignment = HorizontalAlignment.Left;
            element.VerticalAlignment   = VerticalAlignment.Top;

            return(element);

            var photo = position.Key.GetPhoto();

            var transferBinding = new Binding();

            transferBinding.Path   = new PropertyPath("IsTransferring");
            transferBinding.Source = photo;

            var progressBinding = new Binding();

            progressBinding.Path   = new PropertyPath("Progress");
            progressBinding.Source = photo;

            var child = new ImageView();

            child.DataContext = position.Key;
            child.Source      = (ImageSource)DefaultPhotoConverter.Convert(photo, true);
            child.Click      += Click;
            child.Stretch     = Stretch.UniformToFill;
            child.HorizontalContentAlignment = HorizontalAlignment.Center;
            child.VerticalContentAlignment   = VerticalAlignment.Center;

            var transfer = new TransferButton();

            transfer.DataContext  = position.Key;
            transfer.Completed   += Completed;
            transfer.Transferable = photo;
            transfer.Style        = Application.Current.Resources["MediaTransferButtonStyle"] as Style;
            transfer.SetBinding(TransferButton.IsTransferringProperty, transferBinding);
            transfer.SetBinding(TransferButton.ProgressProperty, progressBinding);

            var grid = new Grid();

            grid.Name                = "Media";
            grid.DataContext         = position.Key;
            grid.Width               = position.Value.Width / 800d * width - margin * 2;
            grid.Height              = height * position.Value.Height - margin * 2;
            grid.Margin              = new Thickness(left + margin, top + margin, margin, margin);
            grid.HorizontalAlignment = HorizontalAlignment.Left;
            grid.VerticalAlignment   = VerticalAlignment.Top;
            grid.Children.Add(child);
            grid.Children.Add(transfer);

            return(grid);
        }