Add an option to strip invisible images.
By default this option is not set. If it is set, all invisible images, i.e. images with a height or width of 0 or 1, will be removed from the feed item content.
This commit is contained in:
parent
6d62ebecdf
commit
93faf4279b
5 changed files with 71 additions and 20 deletions
|
|
@ -578,49 +578,49 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/harmattan/Settings.qml" line="63"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="85"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="87"/>
|
||||
<source>Order</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/harmattan/Settings.qml" line="65"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="94"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="96"/>
|
||||
<source>Newest First</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/harmattan/Settings.qml" line="65"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="95"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="97"/>
|
||||
<source>Oldest First</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/harmattan/Settings.qml" line="70"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="138"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="142"/>
|
||||
<source>Font Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/harmattan/Settings.qml" line="78"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="102"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="104"/>
|
||||
<source>Automatically Mark Items as Read</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/harmattan/Settings.qml" line="84"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="116"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="119"/>
|
||||
<source>Show Icons</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/harmattan/Settings.qml" line="90"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="70"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="71"/>
|
||||
<source>Use All Feeds on Startup</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/harmattan/Settings.qml" line="96"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="64"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="65"/>
|
||||
<source>Automatically Login</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
@ -635,57 +635,67 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="110"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="113"/>
|
||||
<source>Icons</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="123"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="126"/>
|
||||
<source>Show a White Background on Icons</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="58"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="59"/>
|
||||
<source>Startup</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="71"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="72"/>
|
||||
<source>You need to restart the App for this to take effect.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="79"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="81"/>
|
||||
<source>Items</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="131"/>
|
||||
<source>Text</source>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="175"/>
|
||||
<source>Images</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="146"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="181"/>
|
||||
<source>Strip invisible images</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="150"/>
|
||||
<source>Tiny</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="149"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="135"/>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="153"/>
|
||||
<source>Small</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="152"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="156"/>
|
||||
<source>Medium</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="155"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="159"/>
|
||||
<source>Large</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="158"/>
|
||||
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="162"/>
|
||||
<source>Huge</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
|||
|
|
@ -264,6 +264,16 @@ Page {
|
|||
var attachmentsCode = computeAttachmentsCode(data)
|
||||
|
||||
var content = data.content.replace('target="_blank"', '')
|
||||
|
||||
if (settings.stripInvisibleImg) {
|
||||
// remove images with a height or width of 0 or 1
|
||||
var height_regex = /<img\s[^>]*height="[01]"[^>]*>/gi;
|
||||
content = content.replace(height_regex, "")
|
||||
|
||||
var width_regex = /<img\s[^>]*width="[01]"[^>]*>/gi;
|
||||
content = content.replace(width_regex, "")
|
||||
}
|
||||
|
||||
if (!content.match(/<body>/gi)) {
|
||||
// not yet html, detect urls
|
||||
console.log('doing link detection on ' + content)
|
||||
|
|
|
|||
|
|
@ -166,6 +166,21 @@ Dialog {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// -- Images --
|
||||
Label {
|
||||
width: parent.width
|
||||
horizontalAlignment: Text.AlignRight
|
||||
color: Theme.highlightColor
|
||||
text: qsTr("Images")
|
||||
font.pixelSize: Theme.fontSizeSmall;
|
||||
}
|
||||
|
||||
TextSwitch {
|
||||
id: stripInvisibleImgSetting
|
||||
text: qsTr('Strip invisible images')
|
||||
checked: settings.stripInvisibleImg
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -176,6 +191,7 @@ Dialog {
|
|||
settings.whiteBackgroundOnIcons = showWhiteBackgroundSetting.checked
|
||||
settings.useAllFeedsOnStartup = useAllFeedsOnStartupSetting.checked
|
||||
settings.useAutologin = autoLoginSetting.checked
|
||||
settings.stripInvisibleImg = stripInvisibleImgSetting.checked
|
||||
settings.webviewFontSize = fontSizeSetting.value
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -159,6 +159,13 @@ void Settings::setShowAll(bool showAll) {
|
|||
}
|
||||
}
|
||||
|
||||
void Settings::setStripInvisibleImg(bool stripInvisibleImg) {
|
||||
if (_stripInvisibleImg != stripInvisibleImg) {
|
||||
_stripInvisibleImg = stripInvisibleImg;
|
||||
m_settings->setValue("stripInvisibleImg", _stripInvisibleImg);
|
||||
}
|
||||
}
|
||||
|
||||
Settings::Settings(QObject *parent) : QObject(parent), m_settings(new QSettings(this)) {
|
||||
_servername = m_settings->value("servername", "http://").toString();
|
||||
_username = m_settings->value("username", "").toString();
|
||||
|
|
@ -178,4 +185,5 @@ Settings::Settings(QObject *parent) : QObject(parent), m_settings(new QSettings(
|
|||
_useAllFeedsOnStartup = m_settings->value("useAllFeedsOnStartup", false).toBool();
|
||||
_whiteBackgroundOnIcons = m_settings->value("whiteBackgroundOnIcons", true).toBool();
|
||||
_showAll = m_settings->value("showAll", false).toBool();
|
||||
_stripInvisibleImg = m_settings->value("stripInvisibleImg", false).toBool();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ class Settings : public QObject
|
|||
Q_PROPERTY(bool useAllFeedsOnStartup READ useAllFeedsOnStartup WRITE setUseAllFeedsOnStartup NOTIFY useAllFeedsOnStartupChanged)
|
||||
Q_PROPERTY(bool whiteBackgroundOnIcons READ whiteBackgroundOnIcons WRITE setWhiteBackgroundOnIcons NOTIFY whiteBackgroundOnIconsChanged)
|
||||
Q_PROPERTY(bool showAll READ showAll WRITE setShowAll NOTIFY showAllChanged)
|
||||
Q_PROPERTY(bool stripInvisibleImg READ stripInvisibleImg WRITE setStripInvisibleImg)
|
||||
public:
|
||||
static Settings *instance();
|
||||
|
||||
|
|
@ -132,6 +133,11 @@ public:
|
|||
}
|
||||
void setShowAll(bool showAll);
|
||||
|
||||
bool stripInvisibleImg() const {
|
||||
return this->_stripInvisibleImg;
|
||||
}
|
||||
void setStripInvisibleImg(bool stripInvisibleImg);
|
||||
|
||||
signals:
|
||||
void servernameChanged();
|
||||
void usernameChanged();
|
||||
|
|
@ -178,5 +184,6 @@ private:
|
|||
bool _useAllFeedsOnStartup;
|
||||
bool _whiteBackgroundOnIcons;
|
||||
bool _showAll;
|
||||
bool _stripInvisibleImg;
|
||||
};
|
||||
#endif // SETTINGS_HH
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue