sanitize std feed titles when saving, also fix their display in status bar

This commit is contained in:
Martin Rotter 2021-11-03 07:13:49 +01:00
parent 71dd65aef9
commit 344f8cfe8b
7 changed files with 11 additions and 6 deletions

View File

@ -26,7 +26,7 @@
<url type="donation">https://github.com/sponsors/martinrotter</url>
<content_rating type="oars-1.1" />
<releases>
<release version="4.0.4" date="2021-11-02"/>
<release version="4.0.4" date="2021-11-03"/>
</releases>
<content_rating type="oars-1.0">
<content_attribute id="violence-cartoon">none</content_attribute>

View File

@ -299,7 +299,7 @@ QVariant MessagesModel::data(const QModelIndex& idx, int role) const {
}
else if (index_column == MSG_DB_FEED_TITLE_INDEX) {
// 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) {
// Do not display full contents here.

View File

@ -406,7 +406,7 @@ void FormMain::onFeedUpdatesStarted() {
void FormMain::onFeedUpdatesProgress(const Feed* feed, int current, int total) {
statusBar()->showProgressFeeds(int((current * 100.0) / total),
feed->title());
feed->sanitizedTitle());
}
void FormMain::updateMessageButtonsAvailability() {

View File

@ -164,7 +164,7 @@ QVariant RootItem::data(int column, int role) const {
case Qt::ItemDataRole::DisplayRole:
if (column == FDS_MODEL_TITLE_INDEX) {
return m_title.trimmed();
return sanitizedTitle();
}
else if (column == FDS_MODEL_COUNTS_INDEX) {
int count_unread = countOfUnreadMessages();
@ -500,6 +500,10 @@ QString RootItem::title() const {
return m_title;
}
QString RootItem::sanitizedTitle() const {
return m_title.simplified();
}
void RootItem::setTitle(const QString& title) {
m_title = title;
}

View File

@ -171,6 +171,7 @@ class RSSGUARD_DLLSPEC RootItem : public QObject {
// Each item has its title.
QString title() const;
QString sanitizedTitle() const;
void setTitle(const QString& title);
// This should be in UTC and should be converted to localtime when needed.

View File

@ -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>());
// 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->setDescription(m_standardFeedDetails->m_ui.m_txtDescription->lineEdit()->text());
std_feed->setIcon(m_standardFeedDetails->m_ui.m_btnIcon->icon());

View File

@ -166,7 +166,7 @@ void StandardFeedDetails::guessFeed(StandardFeed::SourceType source_type, const
// Icon or whole feed was guessed.
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_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);