fix confusion in datetimes saving/loading when refreshing account

This commit is contained in:
Martin Rotter 2023-08-01 07:55:40 +02:00
parent c364c49dd4
commit 23b118f63d
6 changed files with 11 additions and 12 deletions

View File

@ -241,7 +241,7 @@ void FeedDownloader::updateOneFeed(ServiceRoot* acc,
if (!feed->addAnyDatetimeArticles()) {
QDateTime dt_to_avoid;
if (feed->datetimeToAvoid().isValid()) {
if (feed->datetimeToAvoid().toMSecsSinceEpoch() > 0) {
dt_to_avoid = feed->datetimeToAvoid();
}
else if (qApp->settings()->value(GROUP(Messages), SETTING(Messages::AvoidOldArticles)).toBool()) {

View File

@ -355,11 +355,7 @@ Assignment DatabaseQueries::getFeeds(const QSqlDatabase& db,
feed->setIsQuiet(query.value(FDS_DB_IS_QUIET_INDEX).toBool());
feed->setIsRtl(query.value(FDS_DB_IS_RTL_INDEX).toBool());
feed->setAddAnyDatetimeArticles(query.value(FDS_DB_ADD_ANY_DATETIME_ARTICLES_INDEX).toBool());
auto dt_avoid = query.value(FDS_DB_DATETIME_TO_AVOID_INDEX).value<qint64>();
feed->setDatetimeToAvoid(dt_avoid > 0 ? TextFactory::parseDateTime(dt_avoid) : QDateTime());
feed->setDatetimeToAvoid(TextFactory::parseDateTime(query.value(FDS_DB_DATETIME_TO_AVOID_INDEX).value<qint64>()));
feed->setOpenArticlesDirectly(query.value(FDS_DB_OPEN_ARTICLES_INDEX).toBool());
qDebugNN << LOGSEC_CORE << "Custom ID of feed when loading from DB is" << QUOTE_W_SPACE_DOT(feed->customId());

View File

@ -21,8 +21,8 @@ Feed::Feed(RootItem* parent)
: RootItem(parent), m_source(QString()), m_status(Status::Normal), m_statusString(QString()),
m_autoUpdateType(AutoUpdateType::DefaultAutoUpdate), m_autoUpdateInterval(DEFAULT_AUTO_UPDATE_INTERVAL),
m_lastUpdated(QDateTime::currentDateTimeUtc()), m_isSwitchedOff(false), m_isQuiet(false),
m_openArticlesDirectly(false), m_isRtl(false), m_addAnyDatetimeArticles(false), m_datetimeToAvoid(QDateTime()),
m_messageFilters(QList<QPointer<MessageFilter>>()) {
m_openArticlesDirectly(false), m_isRtl(false), m_addAnyDatetimeArticles(false),
m_datetimeToAvoid(TextFactory::parseDateTime(0)), m_messageFilters(QList<QPointer<MessageFilter>>()) {
setKind(RootItem::Kind::Feed);
}

View File

@ -52,7 +52,7 @@ void FormFeedDetails::apply() {
m_feed->setIsRtl(m_ui->m_cbFeedRTL->isChecked());
m_feed->setAddAnyDatetimeArticles(m_ui->m_cbAddAnyDateArticles->isChecked());
m_feed->setDatetimeToAvoid(m_ui->m_gbAvoidOldArticles->isChecked() ? m_ui->m_dtDateTimeToAvoid->dateTime()
: QDateTime());
: TextFactory::parseDateTime(0));
m_feed->setIsSwitchedOff(m_ui->m_cbDisableFeed->isChecked());
m_feed->setIsQuiet(m_ui->m_cbSuppressFeed->isChecked());
@ -107,7 +107,7 @@ void FormFeedDetails::loadFeedData() {
m_ui->m_cbOpenArticlesAutomatically->setChecked(m_feed->openArticlesDirectly());
m_ui->m_cbFeedRTL->setChecked(m_feed->isRtl());
m_ui->m_cbAddAnyDateArticles->setChecked(m_feed->addAnyDatetimeArticles());
m_ui->m_gbAvoidOldArticles->setChecked(m_feed->datetimeToAvoid().isValid());
m_ui->m_gbAvoidOldArticles->setChecked(m_feed->datetimeToAvoid().toMSecsSinceEpoch() > 0);
m_ui->m_dtDateTimeToAvoid->setDateTime(m_feed->datetimeToAvoid());
m_ui->m_cbDisableFeed->setChecked(m_feed->isSwitchedOff());
m_ui->m_cbSuppressFeed->setChecked(m_feed->isQuiet());

View File

@ -20,7 +20,7 @@ Search::Search(const QString& name, const QString& filter, const QColor& color,
setFilter(filter);
}
Search::Search(RootItem* parent_item) : RootItem(parent_item) {
Search::Search(RootItem* parent_item) : RootItem(parent_item), m_totalCount(-1), m_unreadCount(-1) {
setKind(RootItem::Kind::Probe);
}

View File

@ -439,7 +439,10 @@ void ServiceRoot::restoreCustomFeedsData(const QMap<QString, QVariantMap>& data,
feed->setOpenArticlesDirectly(feed_custom_data.value(QSL("open_articles_directly")).toBool());
feed->setIsRtl(feed_custom_data.value(QSL("is_rtl")).toBool());
feed->setAddAnyDatetimeArticles(feed_custom_data.value(QSL("add_any_datetime_articles")).toBool());
feed->setDatetimeToAvoid(feed_custom_data.value(QSL("datetime_to_avoid")).toDateTime());
feed->setDatetimeToAvoid(TextFactory::parseDateTime(feed_custom_data.value(QSL("datetime_to_avoid"))
.value<qint64>()));
// qDebugNN << feed->datetimeToAvoid().toString();
}
}
}