diff --git a/resources/skins/base/luxuous.xml b/resources/skins/base/luxuous.xml
deleted file mode 100644
index 915f829df..000000000
--- a/resources/skins/base/luxuous.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
- luxuous
-
- Martin Rotter
- rotter.martinos@gmail.com
-
-
- PGh0bWw+DQogIDxoZWFkPg0KICAgIDxzdHlsZT4NCiAgICAgIHByZSB7IHdoaXRlLXNwYWNlOiBwcmUtd3JhcCB9DQoNCiAgICAgIC5oZWFkZXJ0ZXh0IHsNCiAgICAgICAgICBmb250LXNpemU6IDE5cHg7DQogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgICAgIH0NCg0KICAgICAgLmhlYWRlciB7DQogICAgICAgICAgZm9udC1zaXplOiAxNXB4Ow0KICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxcyBlYXNlLW91dDsNCiAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDAlLCM0NTQ4NGQpLGNvbG9yLXN0b3AoMTAwJSwjMDAwMDAwKSk7DQogICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCM0NTQ4NGQgMCwjMDAwMDAwIDEwMCUpOw0KICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4Ow0KICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMXB4ICNmZmY7DQogICAgICAgICAgZmlsdGVyOiBkcm9wc2hhZG93KGNvbG9yPSNmZmZmZmYsb2ZmeD0wLG9mZnk9MCk7DQogICAgICAgICAgcGFkZGluZzogOHB4Ow0KICAgICAgICAgIG1hcmdpbjogNXB4IGF1dG8gNXB4IGF1dG87DQogICAgICAgICAgY29sb3I6IHdoaXRlOw0KICAgICAgfQ0KDQogICAgICAgLmhlYWRlciBhIHsgY29sb3I6IHdoaXRlIH0NCg0KICAgICAgLmNvbnRlbnQgew0KICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDAlLHJnYmEoMjM4LDIzOCwyMzgsMC42NikpLGNvbG9yLXN0b3AoMTAwJSxyZ2JhKDIzOCwyMzgsMjM4LDAuNjYpKSk7DQogICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMjM4LDIzOCwyMzgsMC42NikgMCxyZ2JhKDIzOCwyMzgsMjM4LDAuNjYpIDEwMCUpOw0KICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4Ow0KICAgICAgICAgIG1hcmdpbjogNXB4IGF1dG8gNXB4IGF1dG87DQogICAgICAgICAgcGFkZGluZzogOHB4Ow0KICAgICAgfQ0KDQogICAgICAuZm9vdGVyIHsNCiAgICAgICAgICBmb250LXNpemU6IDEycHg7DQogICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDFzIGVhc2Utb3V0Ow0KICAgICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCUsIzQ1NDg0ZCksY29sb3Itc3RvcCgxMDAlLCMwMDAwMDApKTsNCiAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIzQ1NDg0ZCAwLCMwMDAwMDAgMTAwJSk7DQogICAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7DQogICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxcHggI2ZmZjsNCiAgICAgICAgICBmaWx0ZXI6IGRyb3BzaGFkb3coY29sb3I9I2ZmZmZmZixvZmZ4PTAsb2ZmeT0wKTsNCiAgICAgICAgICBwYWRkaW5nOiA4cHg7DQogICAgICAgICAgbWFyZ2luOiA1cHggYXV0byA1cHggYXV0bzsNCiAgICAgICAgICBjb2xvcjogd2hpdGU7DQogICAgICB9DQogICAgPC9zdHlsZT4NCiAgICA8dGl0bGU+JTE8L3RpdGxlPg0KICA8L2hlYWQ+DQogIDxib2R5Pg0KICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj4NCiAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJ0ZXh0XCI+JTE8L2Rpdj4NCiAgICAgICUyPGJyLz4NCiAgICAgIDxhIGhyZWY9XCIlM1wiPiUzPC9hPiANCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPiAlNCA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCI+ICU1IDwvZGl2Pg0KICA8L2JvZHk+DQo8L2h0bWw+
-
-
\ No newline at end of file
diff --git a/resources/skins/base/vergilius.xml b/resources/skins/base/vergilius.xml
index 05ec0845d..341ab0584 100644
--- a/resources/skins/base/vergilius.xml
+++ b/resources/skins/base/vergilius.xml
@@ -6,7 +6,9 @@
rotter.martinos@gmail.com
- PGh0bWw+DQogIDxoZWFkPg0KICAgIDxzdHlsZT4NCiAgICAgIGJvZHkgew0KICAgICAgICBtYXJnaW46IDBweDsNCiAgICAgICAgcGFkZGluZzogMHB4Ow0KICAgICAgfQ0KICAgIA0KICAgICAgcHJlIHsNCiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOw0KICAgICAgfQ0KDQogICAgICAuaGVhZGVydGV4dCB7DQogICAgICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgICAgIH0NCg0KICAgICAgLmhlYWRlciB7DQogICAgICAgIGZvbnQtc2l6ZTogMTdweDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDFzIGVhc2Utb3V0Ow0KICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDAlLCM0NTQ4NGQpLGNvbG9yLXN0b3AoMTAwJSwjMDAwMDAwKSk7DQogICAgICAgIHRleHQtc2hhZG93OiAwIDAgMXB4ICNmZmY7DQogICAgICAgIGZpbHRlcjogZHJvcHNoYWRvdyhjb2xvcj0jZmZmZmZmLG9mZng9MCxvZmZ5PTApOw0KICAgICAgICBwYWRkaW5nOiA2cHg7DQogICAgICAgIG1hcmdpbjogMHB4IGF1dG87DQogICAgICAgIGNvbG9yOiB3aGl0ZTsNCiAgICAgIH0NCg0KICAgICAgLmhlYWRlciBhIHsNCiAgICAgICAgY29sb3I6IHdoaXRlOw0KICAgICAgfQ0KDQogICAgICAuY29udGVudCB7DQogICAgICAgIGZvbnQtc2l6ZTogMTZweDsNCgkJYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSxyZ2JhKDAsMCwwLDEpKSwgY29sb3Itc3RvcCgxJSxyZ2JhKDAsMCwwLDEpKSwgY29sb3Itc3RvcCgxMyUscmdiYSgyMjQsMjI0LDIyNCwxKSksIGNvbG9yLXN0b3AoMjQlLHJnYmEoMjU1LDI1NSwyNTUsMSkpLCBjb2xvci1zdG9wKDU4JSxyZ2JhKDI1NSwyNTUsMjU1LDEpKSwgY29sb3Itc3RvcCg3MSUscmdiYSgyNTUsMjU1LDI1NSwxKSksIGNvbG9yLXN0b3AoMTAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApKSk7IC8qIENocm9tZSxTYWZhcmk0KyAqLw0KICAgICAgICBtYXJnaW46IDBweCBhdXRvOw0KICAgICAgICBwYWRkaW5nOiA2cHg7DQoJCXBhZGRpbmctdG9wOiAxMnB4Ow0KICAgICAgfQ0KICAgIDwvc3R5bGU+DQogICAgPHRpdGxlPg0KICAgICAgJTENCiAgICA8L3RpdGxlPg0KICA8L2hlYWQ+DQogIDxib2R5Pg0KICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+DQogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXJ0ZXh0Ij4NCiAgICAgICAgJTENCiAgICAgIDwvZGl2Pg0KICAgICAgJTIgKCU1KQ0KICAgICAgPGJyPg0KICAgICAgPGEgaHJlZj0iJTMiPg0KICAgICAgJTMNCiAgICAgIDwvYT4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4NCiAgICAgICU0IA0KICAgIDwvZGl2Pg0KICA8L2JvZHk+DQo8L2h0bWw+
+ PGh0bWw+DQogIDxoZWFkPg0KICAgIDxzdHlsZT4NCiAgICAgIGJvZHkgew0KICAgICAgICBtYXJnaW46IDBweDsNCiAgICAgICAgcGFkZGluZzogMHB4Ow0KICAgICAgfQ0KICAgIA0KICAgICAgcHJlIHsNCiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOw0KICAgICAgfQ0KDQogICAgICAuaGVhZGVydGV4dCB7DQogICAgICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgICAgIH0NCg0KICAgICAgLmhlYWRlciB7DQogICAgICAgIGZvbnQtc2l6ZTogMTdweDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDFzIGVhc2Utb3V0Ow0KICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDAlLCM0NTQ4NGQpLGNvbG9yLXN0b3AoMTAwJSwjMDAwMDAwKSk7DQogICAgICAgIHRleHQtc2hhZG93OiAwIDAgMXB4ICNmZmY7DQogICAgICAgIGZpbHRlcjogZHJvcHNoYWRvdyhjb2xvcj0jZmZmZmZmLG9mZng9MCxvZmZ5PTApOw0KICAgICAgICBwYWRkaW5nOiA2cHg7DQogICAgICAgIG1hcmdpbjogMHB4IGF1dG87DQogICAgICAgIGNvbG9yOiB3aGl0ZTsNCiAgICAgIH0NCg0KICAgICAgLmhlYWRlciBhIHsNCiAgICAgICAgY29sb3I6IHdoaXRlOw0KICAgICAgfQ0KDQogICAgICAuY29udGVudCB7DQogICAgICAgIGZvbnQtc2l6ZTogMTZweDsNCgkJYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSxyZ2JhKDAsMCwwLDEpKSwgY29sb3Itc3RvcCgxJSxyZ2JhKDAsMCwwLDEpKSwgY29sb3Itc3RvcCgxMyUscmdiYSgyMjQsMjI0LDIyNCwxKSksIGNvbG9yLXN0b3AoMjQlLHJnYmEoMjU1LDI1NSwyNTUsMSkpLCBjb2xvci1zdG9wKDU4JSxyZ2JhKDI1NSwyNTUsMjU1LDEpKSwgY29sb3Itc3RvcCg3MSUscmdiYSgyNTUsMjU1LDI1NSwxKSksIGNvbG9yLXN0b3AoMTAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApKSk7IC8qIENocm9tZSxTYWZhcmk0KyAqLw0KICAgICAgICBtYXJnaW46IDBweCBhdXRvOw0KICAgICAgICBwYWRkaW5nOiA2cHg7DQoJCXBhZGRpbmctdG9wOiAxMnB4Ow0KICAgICAgfQ0KICAgIDwvc3R5bGU+DQogICAgPHRpdGxlPg0KICAgICAgJTENCiAgICA8L3RpdGxlPg0KICA8L2hlYWQ+DQogIDxib2R5Pg0KCSUyDQogIDwvYm9keT4NCjwvaHRtbD4=
+
+ PGRpdiBjbGFzcz0iaGVhZGVyIj4NCiAgPGRpdiBjbGFzcz0iaGVhZGVydGV4dCI+DQoJJTENCiAgPC9kaXY+DQogICUyICglNSkNCiAgPGJyPg0KICA8YSBocmVmPSIlMyI+DQogICUzDQogIDwvYT4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iY29udGVudCI+DQogICU0IA0KPC9kaXY+
\ No newline at end of file
diff --git a/src/gui/feedsview.h b/src/gui/feedsview.h
index 8fa9d53dd..cd92643c2 100644
--- a/src/gui/feedsview.h
+++ b/src/gui/feedsview.h
@@ -4,6 +4,15 @@
#include
+// TODO: http://soundguyrob.files.wordpress.com/2011/03/screen-shot-2011-03-01-at-7-45-23-pm.jpg
+// přepsat počet nepřečtených zpráv podle screenshotu (tedy smazat asi sloupec "unread")
+// a počet nepřečtených přes drawRow kreslit do prvního sloupce
+// taky použít ten layout pro zobrazení zprávy
+// + NEWSPAPER view -> v currentChanged MessagesView se
+// vytáhnou všechny vybrané zprávy a pro každou se vygeneruje ten HTML templejt
+// - na tohle udelat metodu v WebBrowseru, neco
+// jako navigateToMessages(const QList &messages)
+
class FeedsModel;
class FeedsProxyModel;
class FeedsModelFeed;
diff --git a/src/gui/skinfactory.cpp b/src/gui/skinfactory.cpp
index 277b5b88c..ca21f3616 100644
--- a/src/gui/skinfactory.cpp
+++ b/src/gui/skinfactory.cpp
@@ -103,6 +103,10 @@ QString SkinFactory::getCurrentMarkup() {
return m_currentSkin.m_layoutMarkup;
}
+QString SkinFactory::getCurrentMarkupLayout() {
+ return m_currentSkin.m_layoutMarkupWrapper;
+}
+
Skin SkinFactory::getSkinInfo(const QString &skin_name, bool *ok) {
Skin skin;
QString styles;
@@ -139,6 +143,10 @@ Skin SkinFactory::getSkinInfo(const QString &skin_name, bool *ok) {
// Obtain version.
skin.m_version = skin_node.attributes().namedItem("version").toAttr().value();
+ // Obtain layout markup wrapper.
+ skin.m_layoutMarkupWrapper = skin_node.namedItem("markup_wrapper").toElement().text();
+ skin.m_layoutMarkupWrapper = QByteArray::fromBase64(skin.m_layoutMarkupWrapper.toLocal8Bit());
+
// Obtain layout markup.
skin.m_layoutMarkup = skin_node.namedItem("markup").toElement().text();
skin.m_layoutMarkup = QByteArray::fromBase64(skin.m_layoutMarkup.toLocal8Bit());
diff --git a/src/gui/skinfactory.h b/src/gui/skinfactory.h
index c0e4832ac..481d06794 100644
--- a/src/gui/skinfactory.h
+++ b/src/gui/skinfactory.h
@@ -15,6 +15,7 @@ struct Skin {
QString m_email;
QString m_version;
QString m_rawData;
+ QString m_layoutMarkupWrapper;
QString m_layoutMarkup;
};
@@ -47,6 +48,7 @@ class SkinFactory : public QObject {
// Returns contents of current layout markup.
QString getCurrentMarkup();
+ QString getCurrentMarkupLayout();
// Returns the name of the skin, that should be activated
// after application restart.
diff --git a/src/gui/webbrowser.cpp b/src/gui/webbrowser.cpp
index 5c680aef6..4e74e053b 100644
--- a/src/gui/webbrowser.cpp
+++ b/src/gui/webbrowser.cpp
@@ -166,13 +166,18 @@ void WebBrowser::clear() {
}
void WebBrowser::navigateToMessage(const Message &message) {
- m_webView->setHtml(SkinFactory::getInstance()->getCurrentMarkup().arg(message.m_title,
- tr("Written by ") + (message.m_author.isEmpty() ?
- tr("uknown author") :
- message.m_author),
- message.m_url,
- message.m_contents,
- message.m_created.toString(Qt::DefaultLocaleShortDate)));
+ QString message_layout = SkinFactory::getInstance()->getCurrentMarkup().arg(message.m_title,
+ tr("Written by ") + (message.m_author.isEmpty() ?
+ tr("uknown author") :
+ message.m_author),
+ message.m_url,
+ message.m_contents,
+ message.m_created.toString(Qt::DefaultLocaleShortDate));
+
+ QString layout_wrapper = SkinFactory::getInstance()->getCurrentMarkupLayout().arg(tr("Newspaper view"),
+ message_layout);
+
+ m_webView->setHtml(layout_wrapper);
emit iconChanged(m_index,
IconThemeFactory::getInstance()->fromTheme("mail-mark-read"));
}