sanitize std feed titles when saving, also fix their display in status bar
This commit is contained in:
parent
71dd65aef9
commit
344f8cfe8b
@ -26,7 +26,7 @@
|
|||||||
<url type="donation">https://github.com/sponsors/martinrotter</url>
|
<url type="donation">https://github.com/sponsors/martinrotter</url>
|
||||||
<content_rating type="oars-1.1" />
|
<content_rating type="oars-1.1" />
|
||||||
<releases>
|
<releases>
|
||||||
<release version="4.0.4" date="2021-11-02"/>
|
<release version="4.0.4" date="2021-11-03"/>
|
||||||
</releases>
|
</releases>
|
||||||
<content_rating type="oars-1.0">
|
<content_rating type="oars-1.0">
|
||||||
<content_attribute id="violence-cartoon">none</content_attribute>
|
<content_attribute id="violence-cartoon">none</content_attribute>
|
||||||
|
@ -299,7 +299,7 @@ QVariant MessagesModel::data(const QModelIndex& idx, int role) const {
|
|||||||
}
|
}
|
||||||
else if (index_column == MSG_DB_FEED_TITLE_INDEX) {
|
else if (index_column == MSG_DB_FEED_TITLE_INDEX) {
|
||||||
// Trim feed title.
|
// Trim feed title.
|
||||||
return data(idx, Qt::ItemDataRole::EditRole).toString().trimmed();
|
return data(idx, Qt::ItemDataRole::EditRole).toString().simplified();
|
||||||
}
|
}
|
||||||
else if (index_column == MSG_DB_CONTENTS_INDEX) {
|
else if (index_column == MSG_DB_CONTENTS_INDEX) {
|
||||||
// Do not display full contents here.
|
// Do not display full contents here.
|
||||||
|
@ -406,7 +406,7 @@ void FormMain::onFeedUpdatesStarted() {
|
|||||||
|
|
||||||
void FormMain::onFeedUpdatesProgress(const Feed* feed, int current, int total) {
|
void FormMain::onFeedUpdatesProgress(const Feed* feed, int current, int total) {
|
||||||
statusBar()->showProgressFeeds(int((current * 100.0) / total),
|
statusBar()->showProgressFeeds(int((current * 100.0) / total),
|
||||||
feed->title());
|
feed->sanitizedTitle());
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormMain::updateMessageButtonsAvailability() {
|
void FormMain::updateMessageButtonsAvailability() {
|
||||||
|
@ -164,7 +164,7 @@ QVariant RootItem::data(int column, int role) const {
|
|||||||
|
|
||||||
case Qt::ItemDataRole::DisplayRole:
|
case Qt::ItemDataRole::DisplayRole:
|
||||||
if (column == FDS_MODEL_TITLE_INDEX) {
|
if (column == FDS_MODEL_TITLE_INDEX) {
|
||||||
return m_title.trimmed();
|
return sanitizedTitle();
|
||||||
}
|
}
|
||||||
else if (column == FDS_MODEL_COUNTS_INDEX) {
|
else if (column == FDS_MODEL_COUNTS_INDEX) {
|
||||||
int count_unread = countOfUnreadMessages();
|
int count_unread = countOfUnreadMessages();
|
||||||
@ -500,6 +500,10 @@ QString RootItem::title() const {
|
|||||||
return m_title;
|
return m_title;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString RootItem::sanitizedTitle() const {
|
||||||
|
return m_title.simplified();
|
||||||
|
}
|
||||||
|
|
||||||
void RootItem::setTitle(const QString& title) {
|
void RootItem::setTitle(const QString& title) {
|
||||||
m_title = title;
|
m_title = title;
|
||||||
}
|
}
|
||||||
|
@ -171,6 +171,7 @@ class RSSGUARD_DLLSPEC RootItem : public QObject {
|
|||||||
|
|
||||||
// Each item has its title.
|
// Each item has its title.
|
||||||
QString title() const;
|
QString title() const;
|
||||||
|
QString sanitizedTitle() const;
|
||||||
void setTitle(const QString& title);
|
void setTitle(const QString& title);
|
||||||
|
|
||||||
// This should be in UTC and should be converted to localtime when needed.
|
// This should be in UTC and should be converted to localtime when needed.
|
||||||
|
@ -70,7 +70,7 @@ void FormStandardFeedDetails::apply() {
|
|||||||
static_cast<StandardFeed::Type>(m_standardFeedDetails->m_ui.m_cmbType->itemData(m_standardFeedDetails->m_ui.m_cmbType->currentIndex()).value<int>());
|
static_cast<StandardFeed::Type>(m_standardFeedDetails->m_ui.m_cmbType->itemData(m_standardFeedDetails->m_ui.m_cmbType->currentIndex()).value<int>());
|
||||||
|
|
||||||
// Setup data for new_feed.
|
// Setup data for new_feed.
|
||||||
std_feed->setTitle(m_standardFeedDetails->m_ui.m_txtTitle->lineEdit()->text());
|
std_feed->setTitle(m_standardFeedDetails->m_ui.m_txtTitle->lineEdit()->text().simplified());
|
||||||
std_feed->setCreationDate(QDateTime::currentDateTime());
|
std_feed->setCreationDate(QDateTime::currentDateTime());
|
||||||
std_feed->setDescription(m_standardFeedDetails->m_ui.m_txtDescription->lineEdit()->text());
|
std_feed->setDescription(m_standardFeedDetails->m_ui.m_txtDescription->lineEdit()->text());
|
||||||
std_feed->setIcon(m_standardFeedDetails->m_ui.m_btnIcon->icon());
|
std_feed->setIcon(m_standardFeedDetails->m_ui.m_btnIcon->icon());
|
||||||
|
@ -166,7 +166,7 @@ void StandardFeedDetails::guessFeed(StandardFeed::SourceType source_type, const
|
|||||||
|
|
||||||
// Icon or whole feed was guessed.
|
// Icon or whole feed was guessed.
|
||||||
m_ui.m_btnIcon->setIcon(metadata->icon());
|
m_ui.m_btnIcon->setIcon(metadata->icon());
|
||||||
m_ui.m_txtTitle->lineEdit()->setText(metadata->title());
|
m_ui.m_txtTitle->lineEdit()->setText(metadata->sanitizedTitle());
|
||||||
m_ui.m_txtDescription->lineEdit()->setText(metadata->description());
|
m_ui.m_txtDescription->lineEdit()->setText(metadata->description());
|
||||||
m_ui.m_cmbType->setCurrentIndex(m_ui.m_cmbType->findData(QVariant::fromValue((int) metadata->type())));
|
m_ui.m_cmbType->setCurrentIndex(m_ui.m_cmbType->findData(QVariant::fromValue((int) metadata->type())));
|
||||||
int encoding_index = m_ui.m_cmbEncoding->findText(metadata->encoding(), Qt::MatchFlag::MatchFixedString);
|
int encoding_index = m_ui.m_cmbEncoding->findText(metadata->encoding(), Qt::MatchFlag::MatchFixedString);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user