Fixed #97.
This commit is contained in:
parent
7c7e6b4e76
commit
d2d23bda7f
@ -9,6 +9,7 @@ Fixed:
|
||||
|
||||
Added:
|
||||
<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>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>
|
||||
|
@ -49,6 +49,12 @@ MessagesView::~MessagesView() {
|
||||
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() {
|
||||
// Make sure that source message is opened
|
||||
// in new tab on double click.
|
||||
@ -56,6 +62,7 @@ void MessagesView::createConnections() {
|
||||
|
||||
// Adjust columns when layout gets changed.
|
||||
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) {
|
||||
@ -231,7 +238,13 @@ void MessagesView::loadFeeds(const QList<int> &feed_ids) {
|
||||
|
||||
// Make sure that initial sorting is that unread messages are visible
|
||||
// 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
|
||||
// active message is not shown in browser.
|
||||
@ -503,3 +516,8 @@ void MessagesView::adjustColumns() {
|
||||
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);
|
||||
virtual ~MessagesView();
|
||||
|
||||
inline void setSortingEnabled(bool enable) {
|
||||
QTreeView::setSortingEnabled(enable);
|
||||
header()->setSortIndicatorShown(false);
|
||||
}
|
||||
void setSortingEnabled(bool enable);
|
||||
|
||||
// Model accessors.
|
||||
inline MessagesProxyModel *model() {
|
||||
@ -83,13 +80,15 @@ class MessagesView : public QTreeView {
|
||||
void searchMessages(const QString &pattern);
|
||||
void filterMessages(MessagesModel::MessageFilter filter);
|
||||
|
||||
protected slots:
|
||||
private slots:
|
||||
// Marks given indexes as selected.
|
||||
void reselectIndexes(const QModelIndexList &indexes);
|
||||
|
||||
// Changes resize mode for all columns.
|
||||
void adjustColumns();
|
||||
|
||||
void saveSortState(int column, Qt::SortOrder order);
|
||||
|
||||
protected:
|
||||
// Initializes context menu.
|
||||
void initializeContextMenu();
|
||||
|
@ -44,5 +44,7 @@ bool WebPage::acceptNavigationRequest(QWebFrame *frame,
|
||||
emit linkClicked(request.url());
|
||||
}
|
||||
|
||||
qDebug("Accepting request '%s'.", qPrintable(request.url().toString()));
|
||||
|
||||
return QWebPage::acceptNavigationRequest(frame, request, type);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user