some icon fixes, also fix crash #539

This commit is contained in:
Martin Rotter 2021-11-23 12:53:02 +01:00
parent 9f68cf81bb
commit fb840a5440
4 changed files with 59 additions and 5 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-22"/>
<release version="4.0.4" date="2021-11-23"/>
</releases>
<content_rating type="oars-1.0">
<content_attribute id="violence-cartoon">none</content_attribute>

View File

@ -11,6 +11,7 @@
<file>./graphics/Breeze/actions/32/call-start.svg</file>
<file>./graphics/Breeze/status/64/dialog-error.svg</file>
<file>./graphics/Breeze/status/64/dialog-information.svg</file>
<file>./graphics/Breeze/actions/32/dialog-ok.svg</file>
<file>./graphics/Breeze/status/64/dialog-password.svg</file>
<file>./graphics/Breeze/status/64/dialog-question.svg</file>
<file>./graphics/Breeze/status/64/dialog-warning.svg</file>
@ -75,6 +76,7 @@
<file>./graphics/Breeze Dark/actions/32/call-start.svg</file>
<file>./graphics/Breeze Dark/status/64/dialog-error.svg</file>
<file>./graphics/Breeze Dark/status/64/dialog-information.svg</file>
<file>./graphics/Breeze Dark/actions/32/dialog-ok.svg</file>
<file>./graphics/Breeze Dark/status/64/dialog-password.svg</file>
<file>./graphics/Breeze Dark/status/64/dialog-question.svg</file>
<file>./graphics/Breeze Dark/status/64/dialog-warning.svg</file>
@ -138,6 +140,7 @@
<file>./graphics/Faenza/status/64/dialog-error.png</file>
<file>./graphics/Faenza/status/64/dialog-information.png</file>
<file>./graphics/Faenza/actions/64/dialog-no.png</file>
<file>./graphics/Faenza/actions/64/dialog-ok.png</file>
<file>./graphics/Faenza/status/64/dialog-password.png</file>
<file>./graphics/Faenza/status/64/dialog-question.png</file>
<file>./graphics/Faenza/status/64/dialog-warning.png</file>
@ -206,6 +209,7 @@
<file>./graphics/Numix/22/status/dialog-error.svg</file>
<file>./graphics/Numix/22/status/dialog-information.svg</file>
<file>./graphics/Numix/22/actions/dialog-no.svg</file>
<file>./graphics/Numix/22/actions/dialog-ok.svg</file>
<file>./graphics/Numix/22/status/dialog-password.svg</file>
<file>./graphics/Numix/22/status/dialog-question.svg</file>
<file>./graphics/Numix/22/status/dialog-warning.svg</file>

View File

@ -16,7 +16,7 @@ WidgetWithStatus::WidgetWithStatus(QWidget* parent)
m_iconInformation = qApp->icons()->fromTheme(QSL("dialog-information"));
m_iconWarning = qApp->icons()->fromTheme(QSL("dialog-warning"));
m_iconError = qApp->icons()->fromTheme(QSL("dialog-error"));
m_iconOk = qApp->icons()->fromTheme(QSL("dialog-yes"));
m_iconOk = qApp->icons()->fromTheme(QSL("dialog-yes"), QSL("dialog-ok"));
m_iconQuestion = qApp->icons()->fromTheme(QSL("dialog-question"));
// Set layout properties.

View File

@ -144,7 +144,6 @@ void GreaderNetwork::prepareFeedFetching(GreaderServiceRoot* root,
m_prefetchedStatus = Feed::Status::Normal;
try {
double perc_of_fetching = (feeds.size() * 1.0) / root->getSubTreeFeeds().size();
m_performGlobalFetching = perc_of_fetching > GREADER_GLOBAL_UPDATE_THRES;
@ -238,6 +237,24 @@ void GreaderNetwork::prepareFeedFetching(GreaderServiceRoot* root,
}
catch (const FeedFetchException& fex) {
m_prefetchedStatus = fex.feedStatus();
qCriticalNN << LOGSEC_CORE
<< "Failed to fetch item IDs for common stream:"
<< QUOTE_W_SPACE_DOT(fex.message());
}
catch (const NetworkException& nex) {
m_prefetchedStatus = Feed::Status::NetworkError;
qCriticalNN << LOGSEC_CORE
<< "Failed to fetch item IDs for common stream:"
<< QUOTE_W_SPACE_DOT(nex.message());
}
catch (const ApplicationException& aex) {
m_prefetchedStatus = Feed::Status::OtherError;
qCriticalNN << LOGSEC_CORE
<< "Failed to fetch item IDs for common stream:"
<< QUOTE_W_SPACE_DOT(aex.message());
}
}
@ -266,6 +283,40 @@ QList<Message> GreaderNetwork::getMessagesIntelligently(ServiceRoot* root,
: itemIds(stream_id, false, proxy, -1, m_newerThanFilter);
QStringList remote_unread_ids_list = itemIds(stream_id, true, proxy, -1, m_newerThanFilter);
try {
remote_all_ids_list = m_downloadOnlyUnreadMessages
? QStringList()
: itemIds(stream_id, false, proxy, -1, m_newerThanFilter);
remote_unread_ids_list = itemIds(stream_id, true, proxy, -1, m_newerThanFilter);
}
catch (const FeedFetchException& fex) {
error = fex.feedStatus();
qCriticalNN << LOGSEC_CORE
<< "Failed to fetch item IDs for specific stream:"
<< QUOTE_W_SPACE_DOT(fex.message());
return msgs;
}
catch (const NetworkException& nex) {
error = Feed::Status::NetworkError;
qCriticalNN << LOGSEC_CORE
<< "Failed to fetch item IDs for specific stream:"
<< QUOTE_W_SPACE_DOT(nex.message());
return msgs;
}
catch (const ApplicationException& aex) {
error = Feed::Status::OtherError;
qCriticalNN << LOGSEC_CORE
<< "Failed to fetch item IDs for specific stream:"
<< QUOTE_W_SPACE_DOT(aex.message());
return msgs;
}
// Convert item IDs to long form.
for (int i = 0; i < remote_all_ids_list.size(); i++) {
remote_all_ids_list.replace(i, convertShortStreamIdToLongStreamId(remote_all_ids_list.at(i)));
@ -353,12 +404,11 @@ QNetworkReply::NetworkError GreaderNetwork::markMessagesStarred(RootItem::Import
QStringList GreaderNetwork::itemIds(const QString& stream_id, bool unread_only, const QNetworkProxy& proxy,
int max_count, QDate newer_than) {
QString continuation;
if (!ensureLogin(proxy)) {
throw FeedFetchException(Feed::Status::AuthError, tr("login failed"));
}
QString continuation;
QStringList ids;
do {