summaryrefslogtreecommitdiff
path: root/src/newtabpage.cpp
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2010-03-20 22:54:21 +0100
committerAndrea Diamantini <adjam7@gmail.com>2010-03-20 22:54:21 +0100
commita6ef003dd4c1b6ad08eca4f5adaa4679bbc20bce (patch)
treef8a2aa5daa3e9e68984308a1cb891cc1bd4e3675 /src/newtabpage.cpp
parentNewTabPage: clean API (diff)
downloadrekonq-a6ef003dd4c1b6ad08eca4f5adaa4679bbc20bce.tar.xz
Downloads Page
This commit implements the downloads history page. While it is in an horrible shape, its slots seem working well It needs just some love..
Diffstat (limited to 'src/newtabpage.cpp')
-rw-r--r--src/newtabpage.cpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/newtabpage.cpp b/src/newtabpage.cpp
index 69a80b29..36ddafed 100644
--- a/src/newtabpage.cpp
+++ b/src/newtabpage.cpp
@@ -53,6 +53,9 @@
// Qt Includes
#include <QFile>
+// Defines
+#define QL1S(x) QLatin1String(x)
+
NewTabPage::NewTabPage(QWebFrame *frame)
: m_root(frame->documentElement())
@@ -124,6 +127,11 @@ void NewTabPage::generate(const KUrl &url)
bookmarksPage();
title = i18n("Bookmarks");
}
+ else if(url == KUrl("about:downloads"))
+ {
+ downloadsPage();
+ title = i18n("Downloads");
+ }
m_root.document().findFirst("title").setPlainText(title);
}
@@ -315,6 +323,13 @@ void NewTabPage::browsingMenu(const KUrl &currentUrl)
nav.findFirst("a").appendInside(i18n("History"));
navItems.append(nav);
+ nav = markup(".link"); // History
+ nav.findFirst("a").setAttribute("href", "about:downloads");
+ nav.findFirst("img").setAttribute("src" , QString("file:///" +
+ loader->iconPath("download", KIconLoader::Desktop ||KIconLoader::SizeSmall)));
+ nav.findFirst("a").appendInside(i18n("Downloads"));
+ navItems.append(nav);
+
QWebElement it;
foreach(it, navItems)
{
@@ -442,3 +457,39 @@ QString NewTabPage::checkTitle(const QString &title)
}
return t;
}
+
+
+void NewTabPage::downloadsPage()
+{
+ m_root.addClass("downloads");
+
+ DownloadList list = Application::historyManager()->downloads();
+
+ foreach(const DownloadItem &item, list)
+ {
+ m_root.appendInside(markup("h3"));
+ m_root.lastChild().setPlainText("");
+
+ KUrl u = KUrl(item.destUrlString);
+ QString fName = u.fileName();
+ QString dir = QL1S("file://") + u.directory();
+
+ m_root.appendInside( item.dateTime.toString("dddd") );
+ m_root.appendInside("<br/>");
+ m_root.appendInside( item.dateTime.toString("dd MMMM yyyy") );
+ m_root.appendInside(", ");
+ m_root.appendInside( item.dateTime.toString("hh:mm:ss") );
+ m_root.appendInside("<br/>");
+
+ m_root.appendInside(fName);
+ m_root.appendInside("<br/>");
+
+ m_root.appendInside(item.srcUrlString);
+ m_root.appendInside("<br/>");
+
+ m_root.appendInside(markup("a"));
+ m_root.lastChild().setAttribute("href" , dir);
+ m_root.lastChild().setPlainText("browse dir");
+ m_root.appendInside("<br/>");
+ }
+}