Fixed #97.
This commit is contained in:
parent
7c7e6b4e76
commit
d2d23bda7f
@ -9,6 +9,7 @@ Fixed:
|
|||||||
|
|
||||||
Added:
|
Added:
|
||||||
<ul>
|
<ul>
|
||||||
|
<li>Sort order/column in message list is now persistent (bug #97).</li>
|
||||||
<li>Inline searching in feed/message list is now case insensitive and more polished (bug report #84).</li>
|
<li>Inline searching in feed/message list is now case insensitive and more polished (bug report #84).</li>
|
||||||
<li>Items in feed list (categories and feeds) now can be re-arranged via drag-drop functionality (issue report #91).</li>
|
<li>Items in feed list (categories and feeds) now can be re-arranged via drag-drop functionality (issue report #91).</li>
|
||||||
<li>Tray icon now displays blue number of unread messages if any of those messages is newly downloaded from online feed (enhancement #87).</li>
|
<li>Tray icon now displays blue number of unread messages if any of those messages is newly downloaded from online feed (enhancement #87).</li>
|
||||||
|
@ -49,6 +49,12 @@ MessagesView::~MessagesView() {
|
|||||||
qDebug("Destroying MessagesView instance.");
|
qDebug("Destroying MessagesView instance.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MessagesView::setSortingEnabled(bool enable) {
|
||||||
|
disconnect(header(), SIGNAL(sortIndicatorChanged(int,Qt::SortOrder)), this, SLOT(saveSortState(int,Qt::SortOrder)));
|
||||||
|
QTreeView::setSortingEnabled(enable);
|
||||||
|
connect(header(), SIGNAL(sortIndicatorChanged(int,Qt::SortOrder)), this, SLOT(saveSortState(int,Qt::SortOrder)));
|
||||||
|
}
|
||||||
|
|
||||||
void MessagesView::createConnections() {
|
void MessagesView::createConnections() {
|
||||||
// Make sure that source message is opened
|
// Make sure that source message is opened
|
||||||
// in new tab on double click.
|
// in new tab on double click.
|
||||||
@ -56,6 +62,7 @@ void MessagesView::createConnections() {
|
|||||||
|
|
||||||
// Adjust columns when layout gets changed.
|
// Adjust columns when layout gets changed.
|
||||||
connect(header(), SIGNAL(geometriesChanged()), this, SLOT(adjustColumns()));
|
connect(header(), SIGNAL(geometriesChanged()), this, SLOT(adjustColumns()));
|
||||||
|
connect(header(), SIGNAL(sortIndicatorChanged(int,Qt::SortOrder)), this, SLOT(saveSortState(int,Qt::SortOrder)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessagesView::keyboardSearch(const QString &search) {
|
void MessagesView::keyboardSearch(const QString &search) {
|
||||||
@ -231,7 +238,13 @@ void MessagesView::loadFeeds(const QList<int> &feed_ids) {
|
|||||||
|
|
||||||
// Make sure that initial sorting is that unread messages are visible
|
// Make sure that initial sorting is that unread messages are visible
|
||||||
// first.
|
// first.
|
||||||
sortByColumn(MSG_DB_DCREATED_INDEX, Qt::DescendingOrder);
|
// TODO: pokračovat, při stortovani uložit column a order
|
||||||
|
int col = qApp->settings()->value(APP_CFG_GUI, "default_sort_column_messages", MSG_DB_DCREATED_INDEX).toInt();
|
||||||
|
Qt::SortOrder ord = static_cast<Qt::SortOrder>(qApp->settings()->value(APP_CFG_GUI,
|
||||||
|
"default_sort_order_messages", Qt::DescendingOrder).toInt());
|
||||||
|
|
||||||
|
sortByColumn(col,
|
||||||
|
ord);
|
||||||
|
|
||||||
// Messages are loaded, make sure that previously
|
// Messages are loaded, make sure that previously
|
||||||
// active message is not shown in browser.
|
// active message is not shown in browser.
|
||||||
@ -503,3 +516,8 @@ void MessagesView::adjustColumns() {
|
|||||||
qDebug("Adjusting column resize modes for MessagesView.");
|
qDebug("Adjusting column resize modes for MessagesView.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MessagesView::saveSortState(int column, Qt::SortOrder order) {
|
||||||
|
qApp->settings()->setValue(APP_CFG_GUI, "default_sort_column_messages", column);
|
||||||
|
qApp->settings()->setValue(APP_CFG_GUI, "default_sort_order_messages", order);
|
||||||
|
}
|
||||||
|
@ -34,10 +34,7 @@ class MessagesView : public QTreeView {
|
|||||||
explicit MessagesView(QWidget *parent = 0);
|
explicit MessagesView(QWidget *parent = 0);
|
||||||
virtual ~MessagesView();
|
virtual ~MessagesView();
|
||||||
|
|
||||||
inline void setSortingEnabled(bool enable) {
|
void setSortingEnabled(bool enable);
|
||||||
QTreeView::setSortingEnabled(enable);
|
|
||||||
header()->setSortIndicatorShown(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Model accessors.
|
// Model accessors.
|
||||||
inline MessagesProxyModel *model() {
|
inline MessagesProxyModel *model() {
|
||||||
@ -83,13 +80,15 @@ class MessagesView : public QTreeView {
|
|||||||
void searchMessages(const QString &pattern);
|
void searchMessages(const QString &pattern);
|
||||||
void filterMessages(MessagesModel::MessageFilter filter);
|
void filterMessages(MessagesModel::MessageFilter filter);
|
||||||
|
|
||||||
protected slots:
|
private slots:
|
||||||
// Marks given indexes as selected.
|
// Marks given indexes as selected.
|
||||||
void reselectIndexes(const QModelIndexList &indexes);
|
void reselectIndexes(const QModelIndexList &indexes);
|
||||||
|
|
||||||
// Changes resize mode for all columns.
|
// Changes resize mode for all columns.
|
||||||
void adjustColumns();
|
void adjustColumns();
|
||||||
|
|
||||||
|
void saveSortState(int column, Qt::SortOrder order);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Initializes context menu.
|
// Initializes context menu.
|
||||||
void initializeContextMenu();
|
void initializeContextMenu();
|
||||||
|
@ -44,5 +44,7 @@ bool WebPage::acceptNavigationRequest(QWebFrame *frame,
|
|||||||
emit linkClicked(request.url());
|
emit linkClicked(request.url());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
qDebug("Accepting request '%s'.", qPrintable(request.url().toString()));
|
||||||
|
|
||||||
return QWebPage::acceptNavigationRequest(frame, request, type);
|
return QWebPage::acceptNavigationRequest(frame, request, type);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user