mirror of
https://github.com/martinrotter/rssguard.git
synced 2025-01-28 16:20:34 +01:00
Fixed shrinked toolbar when messages text is to short.
This commit is contained in:
parent
c8b1b900df
commit
46133e5204
@ -159,12 +159,11 @@ void FeedDownloader::updateOneFeed(Feed* feed) {
|
||||
|
||||
switch (decision) {
|
||||
case MessageObject::FilteringAction::Accept:
|
||||
|
||||
// Message is normally accepted, it could be tweaked by the filter.
|
||||
continue;
|
||||
|
||||
case MessageObject::FilteringAction::Ignore:
|
||||
|
||||
default:
|
||||
// Remove the message, we do not want it.
|
||||
remove_msg = true;
|
||||
break;
|
||||
@ -201,7 +200,8 @@ void FeedDownloader::updateOneFeed(Feed* feed) {
|
||||
// Label is not there anymore, it was deassigned.
|
||||
lbl->deassignFromMessage(*msg_orig);
|
||||
|
||||
qDebugNN << "It was detected that label" << QUOTE_W_SPACE(lbl->customId())
|
||||
qDebugNN << LOGSEC_FEEDDOWNLOADER
|
||||
<< "It was detected that label" << QUOTE_W_SPACE(lbl->customId())
|
||||
<< "was DEASSIGNED from message" << QUOTE_W_SPACE(msg_orig->m_customId)
|
||||
<< "by message filter(s).";
|
||||
}
|
||||
@ -213,7 +213,8 @@ void FeedDownloader::updateOneFeed(Feed* feed) {
|
||||
// was newly assigned.
|
||||
lbl->assignToMessage(*msg_orig);
|
||||
|
||||
qDebugNN << "It was detected that label" << QUOTE_W_SPACE(lbl->customId())
|
||||
qDebugNN << LOGSEC_FEEDDOWNLOADER
|
||||
<< "It was detected that label" << QUOTE_W_SPACE(lbl->customId())
|
||||
<< "was ASSIGNED to message" << QUOTE_W_SPACE(msg_orig->m_customId)
|
||||
<< "by message filter(s).";
|
||||
}
|
||||
|
@ -58,10 +58,12 @@ MessagePreviewer::MessagePreviewer(bool should_resize_to_fit, QWidget* parent)
|
||||
m_txtMessage = new MessageBrowser(should_resize_to_fit, this);
|
||||
#endif
|
||||
|
||||
m_toolBar->setOrientation(Qt::Orientation::Vertical);
|
||||
|
||||
// NOTE: To make sure that if we have many labels and short message
|
||||
// that whole toolbar is visible.
|
||||
m_toolBar->setSizePolicy(m_toolBar->sizePolicy().horizontalPolicy(), QSizePolicy::Policy::MinimumExpanding);
|
||||
|
||||
m_toolBar->setOrientation(Qt::Orientation::Vertical);
|
||||
m_layout->setContentsMargins(3, 3, 3, 3);
|
||||
m_layout->addWidget(m_txtMessage, 0, 1, 1, 1);
|
||||
m_layout->addWidget(m_toolBar, 0, 0, -1, 1);
|
||||
@ -210,7 +212,7 @@ void MessagePreviewer::updateLabels(bool only_clear) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_root.data() != nullptr && m_root.data()->getParentServiceRoot()->labelsNode()->labels().size() > 0) {
|
||||
if (m_root.data() != nullptr && !m_root.data()->getParentServiceRoot()->labelsNode()->labels().isEmpty()) {
|
||||
m_separator = m_toolBar->addSeparator();
|
||||
QSqlDatabase database = qApp->database()->connection(metaObject()->className());
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
#include "miscellaneous/databasequeries.h"
|
||||
|
||||
#include "3rd-party/boolinq/boolinq.h"
|
||||
#include "exceptions/applicationexception.h"
|
||||
#include "miscellaneous/application.h"
|
||||
#include "miscellaneous/iconfactory.h"
|
||||
@ -132,6 +133,36 @@ QList<Label*> DatabaseQueries::getLabels(const QSqlDatabase& db, int account_id)
|
||||
return labels;
|
||||
}
|
||||
|
||||
QList<Label*> DatabaseQueries::getLabelsForMessage(const QSqlDatabase& db,
|
||||
const Message& msg,
|
||||
const QList<Label*> installed_labels) {
|
||||
QList<Label*> labels;
|
||||
QSqlQuery q(db);
|
||||
|
||||
q.setForwardOnly(true);
|
||||
q.prepare("SELECT DISTINCT label FROM LabelsInMessages WHERE message = :message AND account_id = :account_id;");
|
||||
|
||||
q.bindValue(QSL(":account_id"), msg.m_accountId);
|
||||
q.bindValue(QSL(":message"), msg.m_customId);
|
||||
|
||||
if (q.exec()) {
|
||||
auto iter = boolinq::from(installed_labels);
|
||||
|
||||
while (q.next()) {
|
||||
auto lbl_id = q.value(0).toString();
|
||||
Label* candidate_label = iter.firstOrDefault([&](const Label* lbl) {
|
||||
return lbl->customId() == lbl_id;
|
||||
});
|
||||
|
||||
if (candidate_label != nullptr) {
|
||||
labels << candidate_label;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return labels;
|
||||
}
|
||||
|
||||
bool DatabaseQueries::updateLabel(const QSqlDatabase& db, Label* label) {
|
||||
QSqlQuery q(db);
|
||||
|
||||
|
@ -24,6 +24,7 @@ class DatabaseQueries {
|
||||
static bool assignLabelToMessage(const QSqlDatabase& db, Label* label, const Message& msg);
|
||||
static bool setLabelsForMessage(const QSqlDatabase& db, const QList<Label*>& labels, const Message& msg);
|
||||
static QList<Label*> getLabels(const QSqlDatabase& db, int account_id);
|
||||
static QList<Label*> getLabelsForMessage(const QSqlDatabase& db, const Message& msg, const QList<Label*> installed_labels);
|
||||
static bool updateLabel(const QSqlDatabase& db, Label* label);
|
||||
static bool deleteLabel(const QSqlDatabase& db, Label* label);
|
||||
static bool createLabel(const QSqlDatabase& db, Label* label, int account_id);
|
||||
|
Loading…
x
Reference in New Issue
Block a user