Ejemplo n.º 1
0
        private void UpdateUI()
        {
            CNBlogs.DataHelper.DataModel.Post post = this.DataContext as CNBlogs.DataHelper.DataModel.Post;
            if (post == null)
            {
                return;
            }

            TextBlock tbSummary = this.GetTemplateChild("tb_Summary") as TextBlock;

            if (tbSummary == null)
            {
                return;
            }

            if (CNBlogs.DataHelper.DataModel.CNBlogSettings.Instance.DefaultDisplaySummary)
            {
                this.ShowSummary     = true;
                tbSummary.Visibility = Windows.UI.Xaml.Visibility.Visible;
            }
            else
            {
                this.ShowSummary     = false;
                tbSummary.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
            }

            base.OnApplyTemplate();
        }
Ejemplo n.º 2
0
        /*
         * private void ShowStatus(string text)
         * {
         *  this.GetStatusControl();
         *  if (this.tbStatus != null)
         *  {
         *      this.tbStatus.Text = text;
         *      this.tbStatus.Visibility = Windows.UI.Xaml.Visibility.Visible;
         *  }
         * }
         *
         * private void HideStatus()
         * {
         *  this.GetStatusControl();
         *  if (this.tbStatus != null)
         *  {
         *      this.tbStatus.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
         *  }
         * }
         */
        /// <summary>
        /// if user click title, control will collapse summary, set status = Skip, next time: show title only
        /// if user click summary, goto reading page, set status = Read, next time: show title only
        /// if user click favorite in reading page, set status = Favorite, next time: show title only
        /// </summary>
        /// <param name="e"></param>
        protected override void OnTapped(TappedRoutedEventArgs e)
        {
            CNBlogs.DataHelper.DataModel.Post post = this.DataContext as CNBlogs.DataHelper.DataModel.Post;
            if (post == null)
            {
                return;
            }

            // click on the title
            if (e.OriginalSource is Windows.UI.Xaml.Shapes.Rectangle)
            {
                this.GotoReadingPage = false;
                if (this.showSummary) // show summary
                {
                    this.HideSummary();
                    this.SetNewStatus(post, DataHelper.DataModel.PostStatus.Skip);
                }
                else // hide summary
                {
                    this.ShowSummary(true);
                }
            }
            else // click on the summary
            {
                TextBlock tbSource = e.OriginalSource as TextBlock;
                if (tbSource.Name == "tb_Summary")
                {
                    // don't navigate to target page here(in control), need do that in page's viewmodel (.cs)
                    this.GotoReadingPage = true;
                    this.SetNewStatus(post, DataHelper.DataModel.PostStatus.Read);
                }
            }

            base.OnTapped(e);
        }
Ejemplo n.º 3
0
        private void UpdateUI()
        {
            CNBlogs.DataHelper.DataModel.Post post = this.DataContext as CNBlogs.DataHelper.DataModel.Post;
            if (post == null)
            {
                return;
            }

            switch (post.Status)
            {
            case DataHelper.DataModel.PostStatus.None:
                break;

            case DataHelper.DataModel.PostStatus.Skip:
                break;

            case DataHelper.DataModel.PostStatus.Read:
                this.SetReadStatus();
                break;

            case DataHelper.DataModel.PostStatus.Favorite:
                this.SetFavoriteStatus();
                this.SetReadStatus();
                break;

            default:
                post.Status = DataHelper.DataModel.PostStatus.None;
                break;
            }

            base.OnApplyTemplate();
        }
Ejemplo n.º 4
0
        private void UpdateUI()
        {
            CNBlogs.DataHelper.DataModel.Post post = this.DataContext as CNBlogs.DataHelper.DataModel.Post;
            if (post == null)
            {
                return;
            }

            switch (post.Status)
            {
            case DataHelper.DataModel.PostStatus.None:
                break;

            case DataHelper.DataModel.PostStatus.Skip:
                break;

            case DataHelper.DataModel.PostStatus.Read:
                this.SetReadStatus();
                break;

            case DataHelper.DataModel.PostStatus.Favorite:
                this.SetFavoriteStatus();
                break;

            default:
                post.Status = DataHelper.DataModel.PostStatus.None;
                break;
            }

            if (post.CommentsCount == null && post.DiggsCount == null && post.ViewsCount == null)
            {
                GetAttributionControl();
                if (attributionControl != null)
                {
                    attributionControl.Visibility = Visibility.Collapsed;
                }
            }

            //if(post.Author == null)
            //{
            //    GetAvatarControl();
            //    if(avatarGrid!=null)
            //    {
            //        avatarGrid.Visibility = Visibility.Collapsed;
            //    }
            //}
            //else if(post.Author.Avatar==null)
            //{
            //    GetAvatarControl();
            //    if (avatarGrid != null)
            //    {
            //        avatarGrid.Visibility = Visibility.Collapsed;
            //    }
            //}

            base.OnApplyTemplate();
        }
Ejemplo n.º 5
0
 private void SetNewStatus(CNBlogs.DataHelper.DataModel.Post post, CNBlogs.DataHelper.DataModel.PostStatus newStatus, bool updateUI = true)
 {
     if (post.Status != newStatus)
     {
         if (post.Status <= newStatus)
         {
             post.Status = newStatus;
             DataHelper.DataModel.CNBlogSettings.Instance.SaveBlogStatus(post);
         }
         if (updateUI)
         {
             this.UpdateUI();
         }
     }
 }
Ejemplo n.º 6
0
        protected override void OnTapped(TappedRoutedEventArgs e)
        {
            CNBlogs.DataHelper.DataModel.Post post = this.DataContext as CNBlogs.DataHelper.DataModel.Post;
            if (post == null)
            {
                return;
            }

            // click to go to reading page
            if (!CNBlogs.DataHelper.DataModel.CNBlogSettings.Instance.ClickTitleForSummary)
            {
                this.GotoReadingPage = true;
                return;
            }
            else // click to show/hide summary
            {
                if (e.OriginalSource is Windows.UI.Xaml.Shapes.Rectangle)
                {
                    this.GotoReadingPage = false;
                    TextBlock tbSummary = this.GetTemplateChild("tb_Summary") as TextBlock;
                    if (this.ShowSummary)
                    {
                        this.ShowSummary     = false;
                        tbSummary.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
                    }
                    else
                    {
                        this.ShowSummary     = true;
                        tbSummary.Visibility = Windows.UI.Xaml.Visibility.Visible;
                        Storyboard sbSummary = this.GetTemplateChild("sb_Summary") as Storyboard;
                        sbSummary.Begin();
                    }
                }
                else
                {
                    TextBlock tbSource = e.OriginalSource as TextBlock;
                    if (tbSource.Name == "tb_Summary")
                    {
                        this.GotoReadingPage = true;
                        // don't navigate to target page here(in control), need do that in page's viewmodel (.cs)
                        return;
                    }
                }
            }

            base.OnTapped(e);
        }
Ejemplo n.º 7
0
        private void UpdateUI(bool showAnimation = true)
        {
            CNBlogs.DataHelper.DataModel.Post post = this.DataContext as CNBlogs.DataHelper.DataModel.Post;
            if (post == null)
            {
                return;
            }

            switch (post.Status)
            {
            case DataHelper.DataModel.PostStatus.None:
                this.ShowSummary(showAnimation);
                //this.HideStatus();
                break;

            case DataHelper.DataModel.PostStatus.Skip:
                this.HideSummary();
                //this.ShowStatus(" 朕无视");
                break;

            case DataHelper.DataModel.PostStatus.Read:
                this.HideSummary();
                //this.ShowStatus(" 朕已阅");
                break;

            case DataHelper.DataModel.PostStatus.Favorite:
                this.HideSummary();
                //this.ShowStatus(" 朕收藏");
                break;

            default:
                post.Status = DataHelper.DataModel.PostStatus.None;
                this.ShowSummary(showAnimation);
                //this.HideStatus();
                break;
            }

            base.OnApplyTemplate();
        }