Summary: | the addition of a HTML "summary" page | ||
---|---|---|---|
Product: | [Applications] akregator | Reporter: | Charles Phoenix <phoenixreads> |
Component: | general | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Charles Phoenix
2004-07-20 05:34:26 UTC
CVS commit by rytilahti: Added beginnings of the summary view. Currently only shows "small" summary for feeds, but folder summary and more details coming hopefully soon. FEATURE:85532 M +7 -4 ChangeLog 1.70 M +9 -1 src/akregator_view.cpp 1.148 M +58 -0 src/articleviewer.cpp 1.60 M +3 -0 src/articleviewer.h 1.25 --- kdenonbeta/akregator/ChangeLog #1.69:1.70 @@ -6,9 +6,12 @@ ----------------------------- +New features: +#85532 - Add feed summary -tpr + Changes: - - Do not allow user to stop feedlist loading to avoid data loss -tpr - - Do not show feedlist url in title -tpr - - Clear the statusbar when pressing Stop button -tpr - - make search bar optional -fo + - Do not allow user to stop feedlist loading to avoid data loss -tpr + - Do not show feedlist url in title -tpr + - Clear the statusbar when pressing Stop button -tpr + - make search bar optional -fo Bug fixes: --- kdenonbeta/akregator/src/akregator_view.cpp #1.147:1.148 @@ -856,6 +856,14 @@ void aKregatorView::slotNodeSelected(Tre if (m_viewMode == CombinedView) m_articleViewer->slotShowNode(node); - else + + else { m_articles->slotShowNode(node); + if(node->isGroup()) + m_articleViewer->slotShowSummary(node); + else { + Feed *f = static_cast<Feed *>(node); + m_articleViewer->slotShowSummary(f); + } + } if (m_part->actionCollection()->action("feed_remove") ) --- kdenonbeta/akregator/src/articleviewer.cpp #1.59:1.60 @@ -265,4 +265,62 @@ void ArticleViewer::endWriting() } +void ArticleViewer::slotShowSummary(TreeNode *item) +{ + //for (QListViewItem *it = item->firstChild(); it; it = it->nextSibling()) + + + /*begin(); + write(m_htmlHead+text); + end();*/ +} + +void ArticleViewer::slotShowSummary(Feed *f) +{ + if(!f) return; + + m_currentText = QString("<div id=\"headerbox\" dir=\"%1\">\n").arg(QApplication::reverseLayout() ? "rtl" : "ltr"); + m_currentText += QString("<div id=\"headertitle\" dir=\"%1\">%2</div>\n").arg(directionOf(f->title())).arg(f->title()); + m_currentText += "</div>\n"; // /headerbox + + if (!f->image().isNull()) // image + { + m_currentText += QString("<div id=\"body\" style=\"height:%1px\">").arg(f->image().height()+10); + QString url=f->xmlUrl(); + m_currentText += QString("<a href=\""+f->htmlUrl()+"\"><img id=\"headimage\" src=\""+m_imageDir+url.replace("/", "_").replace(":", "_")+".png\"></a>\n"); + } + else m_currentText += "<div id=\"body\">"; + + if(f->description() && !f->description().isEmpty()) { + m_currentText += QString("<div dir=\"%1\">").arg(directionOf(f->description())); + m_currentText += i18n("<b>Description:</b> %1").arg(f->description()); + m_currentText += "</div>\n"; // /description + } + + /*if(f->language() && !f->language().isEmpty()) { + // language name code from kttsd + QString langName; + QString langFile = locate("locale", QString::fromLatin1("%1/entry.desktop").arg(f->language())); + if (!langFile.isNull() && !langFile.isEmpty()) { + KSimpleConfig entry(langFile); + entry.setGroup("KCM Locale"); + langName = entry.readEntry("Name", QString::null); + } + // if(name.isEmpty()) langName = f->language(); + + m_currentText += QString("<div dir=\"%1\">").arg(directionOf(f->language())); + m_currentText += i18n("<b>Language:</b> %1").arg((langName)); + m_currentText += "</div>\n"; // /language + }*/ + + m_currentText += i18n("<b>Unread articles:</b> %1").arg(f->unread()); + m_currentText += "</div>"; // /body + + m_currentText += "</body></html>"; + + begin(); + write(m_htmlHead+m_currentText); + end(); +} + void ArticleViewer::slotShowArticle(const MyArticle& article) { --- kdenonbeta/akregator/src/articleviewer.h #1.24:1.25 @@ -66,4 +66,7 @@ namespace Akregator void slotClear(); + void slotShowSummary(Feed *f); + void slotShowSummary(TreeNode *node); + protected: /** nobody uses this right now. Do we need it? -fo */ |