Some simplifications regarding storing states of columns in msg view.
This commit is contained in:
parent
357663c8dc
commit
e76b379bb7
@ -45,7 +45,6 @@
|
|||||||
#define NO_PARENT_CATEGORY -1
|
#define NO_PARENT_CATEGORY -1
|
||||||
#define ID_RECYCLE_BIN -2
|
#define ID_RECYCLE_BIN -2
|
||||||
#define TRAY_ICON_BUBBLE_TIMEOUT 20000
|
#define TRAY_ICON_BUBBLE_TIMEOUT 20000
|
||||||
#define KEY_MESSAGES_VIEW "messages_view_column_"
|
|
||||||
#define CLOSE_LOCK_TIMEOUT 500
|
#define CLOSE_LOCK_TIMEOUT 500
|
||||||
#define DOWNLOAD_TIMEOUT 5000
|
#define DOWNLOAD_TIMEOUT 5000
|
||||||
#define MESSAGES_VIEW_DEFAULT_COL 170
|
#define MESSAGES_VIEW_DEFAULT_COL 170
|
||||||
|
@ -113,20 +113,12 @@ void FeedMessageViewer::saveSize() {
|
|||||||
|
|
||||||
m_feedsView->saveAllExpandStates();
|
m_feedsView->saveAllExpandStates();
|
||||||
|
|
||||||
|
|
||||||
// Store offsets of splitters.
|
// Store offsets of splitters.
|
||||||
settings->setValue(GROUP(GUI), GUI::SplitterFeeds, QString(m_feedSplitter->saveState().toBase64()));
|
settings->setValue(GROUP(GUI), GUI::SplitterFeeds, QString(m_feedSplitter->saveState().toBase64()));
|
||||||
settings->setValue(GROUP(GUI), GUI::SplitterMessages, QString(m_messageSplitter->saveState().toBase64()));
|
settings->setValue(GROUP(GUI), GUI::SplitterMessages, QString(m_messageSplitter->saveState().toBase64()));
|
||||||
|
settings->setValue(GROUP(GUI), GUI::MessageViewState, QString(m_messagesView->header()->saveState().toBase64()));
|
||||||
// States of splitters are stored, let's store
|
|
||||||
// widths of columns.
|
|
||||||
int width_column_author = m_messagesView->columnWidth(MSG_DB_AUTHOR_INDEX);
|
|
||||||
int width_column_date = m_messagesView->columnWidth(MSG_DB_DCREATED_INDEX);
|
|
||||||
|
|
||||||
if (width_column_author != 0 && width_column_date != 0) {
|
|
||||||
settings->setValue(GROUP(GUI), KEY_MESSAGES_VIEW + QString::number(MSG_DB_AUTHOR_INDEX), width_column_author);
|
|
||||||
settings->setValue(GROUP(GUI), KEY_MESSAGES_VIEW + QString::number(MSG_DB_DCREATED_INDEX), width_column_date);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Store "visibility" of toolbars and list headers.
|
// Store "visibility" of toolbars and list headers.
|
||||||
settings->setValue(GROUP(GUI), GUI::ToolbarsVisible, m_toolBarsEnabled);
|
settings->setValue(GROUP(GUI), GUI::ToolbarsVisible, m_toolBarsEnabled);
|
||||||
settings->setValue(GROUP(GUI), GUI::ListHeadersVisible, m_listHeadersEnabled);
|
settings->setValue(GROUP(GUI), GUI::ListHeadersVisible, m_listHeadersEnabled);
|
||||||
@ -134,19 +126,12 @@ void FeedMessageViewer::saveSize() {
|
|||||||
|
|
||||||
void FeedMessageViewer::loadSize() {
|
void FeedMessageViewer::loadSize() {
|
||||||
const Settings *settings = qApp->settings();
|
const Settings *settings = qApp->settings();
|
||||||
const int default_msg_section_size = m_messagesView->header()->defaultSectionSize();
|
|
||||||
|
|
||||||
// Restore offsets of splitters.
|
// Restore offsets of splitters.
|
||||||
m_feedSplitter->restoreState(QByteArray::fromBase64(settings->value(GROUP(GUI), SETTING(GUI::SplitterFeeds)).toString().toLocal8Bit()));
|
m_feedSplitter->restoreState(QByteArray::fromBase64(settings->value(GROUP(GUI), SETTING(GUI::SplitterFeeds)).toString().toLocal8Bit()));
|
||||||
m_messageSplitter->restoreState(QByteArray::fromBase64(settings->value(GROUP(GUI), SETTING(GUI::SplitterMessages)).toString().toLocal8Bit()));
|
m_messageSplitter->restoreState(QByteArray::fromBase64(settings->value(GROUP(GUI), SETTING(GUI::SplitterMessages)).toString().toLocal8Bit()));
|
||||||
|
|
||||||
// Splitters are restored, now, restore widths of columns.
|
m_messagesView->header()->restoreState(QByteArray::fromBase64(settings->value(GROUP(GUI), SETTING(GUI::MessageViewState)).toString().toLocal8Bit()));
|
||||||
m_messagesView->setColumnWidth(MSG_DB_AUTHOR_INDEX, settings->value(GROUP(GUI),
|
|
||||||
KEY_MESSAGES_VIEW + QString::number(MSG_DB_AUTHOR_INDEX),
|
|
||||||
default_msg_section_size).toInt());
|
|
||||||
m_messagesView->setColumnWidth(MSG_DB_DCREATED_INDEX, settings->value(GROUP(GUI),
|
|
||||||
KEY_MESSAGES_VIEW + QString::number(MSG_DB_DCREATED_INDEX),
|
|
||||||
default_msg_section_size).toInt());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void FeedMessageViewer::loadMessageViewerFonts() {
|
void FeedMessageViewer::loadMessageViewerFonts() {
|
||||||
|
@ -88,8 +88,8 @@ void MessagesView::reloadSelections() {
|
|||||||
QModelIndex current_index = selectionModel()->currentIndex();
|
QModelIndex current_index = selectionModel()->currentIndex();
|
||||||
const QModelIndex mapped_current_index = m_proxyModel->mapToSource(current_index);
|
const QModelIndex mapped_current_index = m_proxyModel->mapToSource(current_index);
|
||||||
const Message selected_message = m_sourceModel->messageAt(mapped_current_index.row());
|
const Message selected_message = m_sourceModel->messageAt(mapped_current_index.row());
|
||||||
const int col = qApp->settings()->value(GROUP(GUI), SETTING(GUI::DefaultSortColumnMessages)).toInt();
|
const int col = header()->sortIndicatorSection();
|
||||||
const Qt::SortOrder ord = static_cast<Qt::SortOrder>(qApp->settings()->value(GROUP(GUI), SETTING(GUI::DefaultSortOrderMessages)).toInt());
|
const Qt::SortOrder ord = header()->sortIndicatorOrder();
|
||||||
|
|
||||||
// Reload the model now.
|
// Reload the model now.
|
||||||
sort(col, ord, true, false, false);
|
sort(col, ord, true, false, false);
|
||||||
@ -268,8 +268,8 @@ void MessagesView::selectionChanged(const QItemSelection &selected, const QItemS
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MessagesView::loadItem(RootItem *item) {
|
void MessagesView::loadItem(RootItem *item) {
|
||||||
const int col = qApp->settings()->value(GROUP(GUI), SETTING(GUI::DefaultSortColumnMessages)).toInt();
|
const int col = header()->sortIndicatorSection();
|
||||||
const Qt::SortOrder ord = static_cast<Qt::SortOrder>(qApp->settings()->value(GROUP(GUI), SETTING(GUI::DefaultSortOrderMessages)).toInt());
|
const Qt::SortOrder ord = header()->sortIndicatorOrder();
|
||||||
|
|
||||||
scrollToTop();
|
scrollToTop();
|
||||||
sort(col, ord, false, true, false);
|
sort(col, ord, false, true, false);
|
||||||
@ -513,7 +513,6 @@ void MessagesView::adjustColumns() {
|
|||||||
// Hide columns.
|
// Hide columns.
|
||||||
hideColumn(MSG_DB_ID_INDEX);
|
hideColumn(MSG_DB_ID_INDEX);
|
||||||
hideColumn(MSG_DB_DELETED_INDEX);
|
hideColumn(MSG_DB_DELETED_INDEX);
|
||||||
//hideColumn(MSG_DB_FEED_INDEX);
|
|
||||||
hideColumn(MSG_DB_URL_INDEX);
|
hideColumn(MSG_DB_URL_INDEX);
|
||||||
hideColumn(MSG_DB_CONTENTS_INDEX);
|
hideColumn(MSG_DB_CONTENTS_INDEX);
|
||||||
hideColumn(MSG_DB_PDELETED_INDEX);
|
hideColumn(MSG_DB_PDELETED_INDEX);
|
||||||
@ -528,11 +527,6 @@ void MessagesView::adjustColumns() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MessagesView::onSortIndicatorChanged(int column, Qt::SortOrder order) {
|
void MessagesView::onSortIndicatorChanged(int column, Qt::SortOrder order) {
|
||||||
// Save current setup.
|
|
||||||
qApp->settings()->setValue(GROUP(GUI), GUI::DefaultSortColumnMessages, column);
|
|
||||||
qApp->settings()->setValue(GROUP(GUI), GUI::DefaultSortOrderMessages, order);
|
|
||||||
qApp->settings()->sync();
|
|
||||||
|
|
||||||
// Repopulate the shit.
|
// Repopulate the shit.
|
||||||
sort(column, order, true, false, false);
|
sort(column, order, true, false, false);
|
||||||
emit currentMessageRemoved();
|
emit currentMessageRemoved();
|
||||||
|
@ -73,6 +73,9 @@ NON_CONST_DVALUE(QString) Messages::PreviewerFontStandardDef = QFont(
|
|||||||
// GUI.
|
// GUI.
|
||||||
DKEY GUI::ID = "gui";
|
DKEY GUI::ID = "gui";
|
||||||
|
|
||||||
|
DKEY GUI::MessageViewState = "msg_view_state";
|
||||||
|
DVALUE(QString) GUI::MessageViewStateDef = QString();
|
||||||
|
|
||||||
DKEY GUI::SplitterFeeds = "splitter_feeds";
|
DKEY GUI::SplitterFeeds = "splitter_feeds";
|
||||||
DVALUE(char*) GUI::SplitterFeedsDef = "";
|
DVALUE(char*) GUI::SplitterFeedsDef = "";
|
||||||
|
|
||||||
@ -139,12 +142,6 @@ DVALUE(bool) GUI::HideTabBarIfOnlyOneTabDef = false;
|
|||||||
DKEY GUI::MessagesToolbarDefaultButtons = "messages_toolbar";
|
DKEY GUI::MessagesToolbarDefaultButtons = "messages_toolbar";
|
||||||
DVALUE(char*) GUI::MessagesToolbarDefaultButtonsDef = "m_actionMarkSelectedMessagesAsRead,m_actionMarkSelectedMessagesAsUnread,m_actionSwitchImportanceOfSelectedMessages,separator,highlighter,spacer,search";
|
DVALUE(char*) GUI::MessagesToolbarDefaultButtonsDef = "m_actionMarkSelectedMessagesAsRead,m_actionMarkSelectedMessagesAsUnread,m_actionSwitchImportanceOfSelectedMessages,separator,highlighter,spacer,search";
|
||||||
|
|
||||||
DKEY GUI::DefaultSortColumnMessages = "default_sort_column_messages";
|
|
||||||
DVALUE(int) GUI::DefaultSortColumnMessagesDef = MSG_DB_DCREATED_INDEX;
|
|
||||||
|
|
||||||
DKEY GUI::DefaultSortOrderMessages = "default_sort_order_messages";
|
|
||||||
DVALUE(Qt::SortOrder) GUI::DefaultSortOrderMessagesDef = Qt::DescendingOrder;
|
|
||||||
|
|
||||||
DKEY GUI::DefaultSortColumnFeeds = "default_sort_column_feeds";
|
DKEY GUI::DefaultSortColumnFeeds = "default_sort_column_feeds";
|
||||||
DVALUE(int) GUI::DefaultSortColumnFeedsDef = FDS_MODEL_TITLE_INDEX;
|
DVALUE(int) GUI::DefaultSortColumnFeedsDef = FDS_MODEL_TITLE_INDEX;
|
||||||
|
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
#include <QNetworkProxy>
|
#include <QNetworkProxy>
|
||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
#include <QColor>
|
#include <QColor>
|
||||||
|
#include <QByteArray>
|
||||||
|
|
||||||
#define KEY extern const char*
|
#define KEY extern const char*
|
||||||
#define DKEY const char*
|
#define DKEY const char*
|
||||||
@ -92,6 +93,9 @@ namespace Messages {
|
|||||||
namespace GUI {
|
namespace GUI {
|
||||||
KEY ID;
|
KEY ID;
|
||||||
|
|
||||||
|
KEY MessageViewState;
|
||||||
|
VALUE(QString) MessageViewStateDef;
|
||||||
|
|
||||||
KEY SplitterFeeds;
|
KEY SplitterFeeds;
|
||||||
VALUE(char*) SplitterFeedsDef;
|
VALUE(char*) SplitterFeedsDef;
|
||||||
|
|
||||||
@ -158,12 +162,6 @@ namespace GUI {
|
|||||||
KEY MessagesToolbarDefaultButtons;
|
KEY MessagesToolbarDefaultButtons;
|
||||||
VALUE(char*) MessagesToolbarDefaultButtonsDef;
|
VALUE(char*) MessagesToolbarDefaultButtonsDef;
|
||||||
|
|
||||||
KEY DefaultSortColumnMessages;
|
|
||||||
VALUE(int) DefaultSortColumnMessagesDef;
|
|
||||||
|
|
||||||
KEY DefaultSortOrderMessages;
|
|
||||||
VALUE(Qt::SortOrder) DefaultSortOrderMessagesDef;
|
|
||||||
|
|
||||||
KEY DefaultSortColumnFeeds;
|
KEY DefaultSortColumnFeeds;
|
||||||
VALUE(int) DefaultSortColumnFeedsDef;
|
VALUE(int) DefaultSortColumnFeedsDef;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user