private void setupTitle() { labelTime.Text = DateTimeHelp.ISO8601ToDotNet(Post.timestamp, true); labelWho.Text = I18n.L.T("DetailView.Via") + " " + Post.code_name; labelWho.Left = labelTime.Right + 8; }
private Rectangle DrawPostTime(Graphics g, Font font, Rectangle cellRect, Post post) { string _postTime = post.timestamp; _postTime = DateTimeHelp.ISO8601ToDotNet(_postTime, false); _postTime = DateTimeHelp.PrettyDate(_postTime); Size _sizeTime = TextRenderer.MeasureText(g, _postTime, font) + new Size(2, 2); Rectangle _timeRect = new Rectangle(cellRect.X + cellRect.Width - _sizeTime.Width - 2 - ((post.favorite != null) ? FavoriteIconSize : 0), cellRect.Y + cellRect.Height - _sizeTime.Height - 4, _sizeTime.Width, _sizeTime.Height); TextRenderer.DrawText(g, _postTime, font, _timeRect, Color.FromArgb(127, 127, 127), TextFormatFlags.PreserveGraphicsClipping | TextFormatFlags.EndEllipsis); return(_timeRect); }
public void ScrollToDay(DateTime date) { int k = -1; for (int i = 0; i < m_posts.Count; i++) { if (DateTimeHelp.ISO8601ToDateTime(m_posts[i].timestamp).Date == date) { k = i; break; } } if (k != -1) { dataGridView.FirstDisplayedScrollingRowIndex = k; m_postBS.Position = k; } }
private void setCalendarBoldedDates(List <Post> posts) { MonthCalendar _mc = leftArea.MonthCalendar; _mc.SuspendLayout(); _mc.BoldedDates.Clear(); foreach (Post _p in posts) { DateTime _dt = DateTimeHelp.ISO8601ToDateTime(_p.timestamp); if (!_mc.BoldedDates.Contains(_dt.Date)) { _mc.BoldedDates.Add(_dt.Date); } } _mc.ResumeLayout(); _mc.Invalidate(); }
private void setCalendarDay() { Post _post = m_postBS[m_postBS.Position] as Post; Main.Current.setCalendarDay(DateTimeHelp.ISO8601ToDateTime(_post.timestamp).Date); }
private void bgWorkerGetAllData_DoWork(object sender, DoWorkEventArgs e) { string _firstGetCount = "100"; //200 string _continueGetCount = "-100"; //200 Dictionary <string, Post> _allPosts = new Dictionary <string, Post>(); string _datum = string.Empty; MR_posts_getLatest _getLatest = null; try { _getLatest = RT.REST.Posts_getLatest(_firstGetCount); } catch { //Hack: Cloud ¦R¥X¿ù»~¸ê®Æ ForceLogout(); m_getAllDataError = true; return; } if (_getLatest != null) { foreach (Post _p in _getLatest.posts) { _allPosts.Add(_p.post_id, _p); _datum = _p.timestamp; } if (_getLatest.get_count < _getLatest.total_count) { int _remainingCount = int.MaxValue; while (_remainingCount > 0) { _datum = DateTimeHelp.ToUniversalTime_ToISO8601(DateTimeHelp.ISO8601ToDateTime(_datum).AddSeconds(1)); MR_posts_get _postsGet = RT.REST.Posts_get(_continueGetCount, _datum, ""); if (_postsGet != null) { foreach (Post _p in _postsGet.posts) { if (!_allPosts.ContainsKey(_p.post_id)) { _allPosts.Add(_p.post_id, _p); _datum = _p.timestamp; } } _remainingCount = _postsGet.remaining_count; } } } } List <Post> _tmpPosts = new List <Post>(); foreach (Post _p in _allPosts.Values) { _tmpPosts.Add(_p); } if (m_manualRefresh) { RT.SetAllCurrentGroupPostHaveRead(); } RT.CurrentGroupPosts = _tmpPosts; if (m_manualRefresh) { SetLastReadPos(); } s_logger.Info("bgWorkerGetAllData_DoWork. Get Post Count:" + _tmpPosts.Count); }
public string GenCommentHTML(Post post) { string _html = "<blockquote><font face='微軟正黑體, Helvetica, Arial, Verdana, sans-serif' color='#eef'>"; int k = 1; foreach (Comment _c in post.comments) { StringBuilder _s = new StringBuilder(); _s.Append(" <table border=\"0\">"); _s.Append(" <tr>"); //_s.Append(" <td> </td>"); _s.Append(" <td>"); _s.Append(" <table border=\"0\">"); _s.Append(" <tr>"); string _t = " <td><font size='2pt' color='gray'>[CommentTime] "+ I18n.L.T("DetailView.Via") + " [code_name]</font></td>"; _s.Append(_t); _s.Append(" </tr>"); _s.Append(" <tr>"); _s.Append(" <td><font size='2.75pt'>[Comment]</font></td>"); _s.Append(" </tr>"); _s.Append(" </table>"); _s.Append(" </td>"); _s.Append(" </tr>"); _s.Append(" </table>"); if (post.comment_count != k) { _s.Append("<p></p>"); } k++; string _content = HttpUtility.HtmlEncode(_c.content); _content = _content.Replace(Environment.NewLine, "<BR>"); _content = _content.Replace("\n", "<BR>"); _content = _content.Replace("\r", "<BR>"); _html += _s.ToString(); _html = _html.Replace("[Comment]", _content); _html = _html.Replace("[CommentTime]", DateTimeHelp.ISO8601ToDotNet(_c.timestamp, true)); _html = _html.Replace("[code_name]", _c.code_name); foreach (User _user in Main.Current.RT.AllUsers) { if (_user.user_id == _c.creator_id) { _html = _html.Replace("[UserName]", _user.nickname); _html = _html.Replace("[Avatar]", _user.avatar_url); } } } _html += "</font></blockquote>"; _html += "<HR>"; return(_html); }