make article previewers support RTL too, atleast naive approach at this point
This commit is contained in:
parent
73d28d23e2
commit
066221e2ef
@ -1,4 +1,4 @@
|
||||
<div class="rssguard-mwrapper" dir="auto" id="%8">
|
||||
<div class="rssguard-mwrapper" dir="%9" id="%8">
|
||||
|
||||
<section class="rssguard-mhead">
|
||||
<div style="float: right; margin: 10px;"><!-- Should it remain here??? -->%7</div>
|
||||
|
@ -303,9 +303,10 @@ void TextBrowserViewer::loadMessages(const QList<Message>& messages, RootItem* r
|
||||
|
||||
setHtml(html_messages.m_html, html_messages.m_baseUrl);
|
||||
|
||||
// TODO: pokračovat
|
||||
bool is_rtl_feed = root != nullptr && root->kind() == RootItem::Kind::Feed && qobject_cast<Feed*>(root)->isRtl();
|
||||
|
||||
QTextOption op;
|
||||
op.setTextDirection(Qt::RightToLeft);
|
||||
op.setTextDirection(is_rtl_feed ? Qt::LayoutDirection::RightToLeft : Qt::LayoutDirection::LeftToRight);
|
||||
document()->setDefaultTextOption(op);
|
||||
|
||||
emit loadingFinished(true);
|
||||
@ -550,16 +551,6 @@ void TextBrowserViewer::setHtml(const QString& html, const QUrl& base_url) {
|
||||
}
|
||||
|
||||
setVerticalScrollBarPosition(0.0);
|
||||
|
||||
// TODO: implement RTL for viewers somehow?
|
||||
/*
|
||||
auto to = document()->defaultTextOption();
|
||||
|
||||
to.setTextDirection(Qt::LayoutDirection::RightToLeft);
|
||||
to.setAlignment(Qt::AlignmentFlag::AlignRight);
|
||||
|
||||
document()->setDefaultTextOption(to);
|
||||
*/
|
||||
}
|
||||
|
||||
void TextBrowserViewer::setHtmlPrivate(const QString& html, const QUrl& base_url) {
|
||||
|
@ -231,6 +231,15 @@ PreparedHtml SkinFactory::generateHtmlOfArticles(const QList<Message>& messages,
|
||||
const auto forced_img_size =
|
||||
qApp->settings()->value(GROUP(Messages), SETTING(Messages::MessageHeadImageHeight)).toInt();
|
||||
|
||||
auto* feed = root != nullptr
|
||||
? root->getParentServiceRoot()
|
||||
->getItemFromSubTree([messages](const RootItem* it) {
|
||||
return it->kind() == RootItem::Kind::Feed && it->customId() == messages.at(0).m_feedId;
|
||||
})
|
||||
->toFeed()
|
||||
: nullptr;
|
||||
bool is_rtl_feed = feed != nullptr && feed->isRtl();
|
||||
|
||||
for (const Message& message : messages) {
|
||||
QString enclosures;
|
||||
QString enclosure_images;
|
||||
@ -274,17 +283,13 @@ PreparedHtml SkinFactory::generateHtmlOfArticles(const QList<Message>& messages,
|
||||
msg_date,
|
||||
enclosures,
|
||||
enclosure_images,
|
||||
QString::number(message.m_id)));
|
||||
QString::number(message.m_id),
|
||||
is_rtl_feed ? QSL("rtl") : QSL("ltr")));
|
||||
}
|
||||
|
||||
QString msg_contents =
|
||||
skin.m_layoutMarkupWrapper.arg(messages.size() == 1 ? messages.at(0).m_title : tr("Newspaper view"),
|
||||
messages_layout);
|
||||
auto* feed = root->getParentServiceRoot()
|
||||
->getItemFromSubTree([messages](const RootItem* it) {
|
||||
return it->kind() == RootItem::Kind::Feed && it->customId() == messages.at(0).m_feedId;
|
||||
})
|
||||
->toFeed();
|
||||
QString base_url;
|
||||
|
||||
if (feed != nullptr) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user