Newspaper mode initial implementation.
This commit is contained in:
parent
b2b2c06964
commit
6e7332036e
@ -153,6 +153,8 @@ endif(CMAKE_BUILD_TYPE STREQUAL "release" OR CMAKE_BUILD_TYPE STREQUAL "Release"
|
||||
|
||||
# Force Qt to use string builders.
|
||||
add_definitions(-DQT_USE_QSTRINGBUILDER)
|
||||
add_definitions(-DQT_USE_FAST_CONCATENATION)
|
||||
add_definitions(-DQT_USE_FAST_OPERATOR_PLUS)
|
||||
|
||||
# Unicode settings.
|
||||
add_definitions(-DUNICODE -D_UNICODE)
|
||||
|
@ -136,6 +136,10 @@ void FeedMessageViewer::createConnections() {
|
||||
m_messagesBrowser, SLOT(clear()));
|
||||
connect(m_messagesView, SIGNAL(currentMessageChanged(Message)),
|
||||
m_messagesBrowser, SLOT(navigateToMessage(Message)));
|
||||
|
||||
connect(m_messagesView, SIGNAL(openMessagesInNewspaperViewRequested(QList<Message>)),
|
||||
m_messagesBrowser, SLOT(navigateToMessages(QList<Message>)));
|
||||
|
||||
connect(m_messagesView, SIGNAL(openMessageNewTabRequested(Message)),
|
||||
FormMain::getInstance()->m_ui->m_tabWidget,
|
||||
SLOT(addBrowserWithMessage(Message)));
|
||||
|
@ -66,6 +66,8 @@ class MessagesView : public QTreeView {
|
||||
signals:
|
||||
void openLinkMessageNewTabRequested(const QString &link);
|
||||
void openMessageNewTabRequested(const Message &message);
|
||||
void openMessagesInNewspaperViewRequested(const QList<Message> &messages);
|
||||
|
||||
void currentMessageChanged(const Message &message);
|
||||
void currentMessageRemoved();
|
||||
|
||||
|
@ -182,6 +182,28 @@ void WebBrowser::navigateToMessage(const Message &message) {
|
||||
IconThemeFactory::getInstance()->fromTheme("mail-mark-read"));
|
||||
}
|
||||
|
||||
void WebBrowser::navigateToMessages(const QList<Message> &messages) {
|
||||
QString messages_layout;
|
||||
QString default_message_layout = SkinFactory::getInstance()->getCurrentMarkup();
|
||||
|
||||
foreach (const Message &message, messages) {
|
||||
messages_layout.append(default_message_layout.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"),
|
||||
messages_layout);
|
||||
|
||||
m_webView->setHtml(layout_wrapper);
|
||||
emit iconChanged(m_index,
|
||||
IconThemeFactory::getInstance()->fromTheme("mail-mark-read"));
|
||||
|
||||
}
|
||||
|
||||
void WebBrowser::updateZoomGui() {
|
||||
m_btnResetZoom->setText(QString("%1%").arg(QString::number(m_webView->zoomFactor() * 100,
|
||||
'f',
|
||||
|
@ -63,6 +63,9 @@ class WebBrowser : public TabContent {
|
||||
// Navigates to message.
|
||||
void navigateToMessage(const Message &message);
|
||||
|
||||
// Navigates to messages via "newspaper" view.
|
||||
void navigateToMessages(const QList<Message> &messages);
|
||||
|
||||
// Clears contents.
|
||||
void clear();
|
||||
|
||||
|
@ -107,17 +107,19 @@ void WebView::initializeActions() {
|
||||
}
|
||||
|
||||
void WebView::displayErrorPage() {
|
||||
setHtml(SkinFactory::getInstance()->getCurrentMarkup().arg(tr("Page not found"),
|
||||
tr("Check your internet connection or website address"),
|
||||
QString(),
|
||||
tr("This failure can be caused by:<br><ul>"
|
||||
"<li>non-functional internet connection,</li>"
|
||||
"<li>incorrect website address,</li>"
|
||||
"<li>bad proxy server settings,</li>"
|
||||
"<li>target destination outage,</li>"
|
||||
"<li>many other things.</li>"
|
||||
"</ul>"),
|
||||
QDateTime::currentDateTime().toString(Qt::DefaultLocaleLongDate)));
|
||||
setHtml(SkinFactory::getInstance()->getCurrentMarkupLayout().arg(
|
||||
tr("Error page"),
|
||||
SkinFactory::getInstance()->getCurrentMarkup().arg(tr("Page not found"),
|
||||
tr("Check your internet connection or website address"),
|
||||
QString(),
|
||||
tr("This failure can be caused by:<br><ul>"
|
||||
"<li>non-functional internet connection,</li>"
|
||||
"<li>incorrect website address,</li>"
|
||||
"<li>bad proxy server settings,</li>"
|
||||
"<li>target destination outage,</li>"
|
||||
"<li>many other things.</li>"
|
||||
"</ul>"),
|
||||
QDateTime::currentDateTime().toString(Qt::DefaultLocaleLongDate))));
|
||||
}
|
||||
|
||||
void WebView::popupContextMenu(const QPoint &pos) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user