mirror of
https://github.com/martinrotter/rssguard.git
synced 2025-02-03 18:57:37 +01:00
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 ID_RECYCLE_BIN -2
|
||||
#define TRAY_ICON_BUBBLE_TIMEOUT 20000
|
||||
#define KEY_MESSAGES_VIEW "messages_view_column_"
|
||||
#define CLOSE_LOCK_TIMEOUT 500
|
||||
#define DOWNLOAD_TIMEOUT 5000
|
||||
#define MESSAGES_VIEW_DEFAULT_COL 170
|
||||
|
@ -113,19 +113,11 @@ void FeedMessageViewer::saveSize() {
|
||||
|
||||
m_feedsView->saveAllExpandStates();
|
||||
|
||||
|
||||
// Store offsets of splitters.
|
||||
settings->setValue(GROUP(GUI), GUI::SplitterFeeds, QString(m_feedSplitter->saveState().toBase64()));
|
||||
settings->setValue(GROUP(GUI), GUI::SplitterMessages, QString(m_messageSplitter->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);
|
||||
}
|
||||
settings->setValue(GROUP(GUI), GUI::MessageViewState, QString(m_messagesView->header()->saveState().toBase64()));
|
||||
|
||||
// Store "visibility" of toolbars and list headers.
|
||||
settings->setValue(GROUP(GUI), GUI::ToolbarsVisible, m_toolBarsEnabled);
|
||||
@ -134,19 +126,12 @@ void FeedMessageViewer::saveSize() {
|
||||
|
||||
void FeedMessageViewer::loadSize() {
|
||||
const Settings *settings = qApp->settings();
|
||||
const int default_msg_section_size = m_messagesView->header()->defaultSectionSize();
|
||||
|
||||
// Restore offsets of splitters.
|
||||
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()));
|
||||
|
||||
// Splitters are restored, now, restore widths of columns.
|
||||
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());
|
||||
m_messagesView->header()->restoreState(QByteArray::fromBase64(settings->value(GROUP(GUI), SETTING(GUI::MessageViewState)).toString().toLocal8Bit()));
|
||||
}
|
||||
|
||||
void FeedMessageViewer::loadMessageViewerFonts() {
|
||||
|
@ -88,8 +88,8 @@ void MessagesView::reloadSelections() {
|
||||
QModelIndex current_index = selectionModel()->currentIndex();
|
||||
const QModelIndex mapped_current_index = m_proxyModel->mapToSource(current_index);
|
||||
const Message selected_message = m_sourceModel->messageAt(mapped_current_index.row());
|
||||
const int col = qApp->settings()->value(GROUP(GUI), SETTING(GUI::DefaultSortColumnMessages)).toInt();
|
||||
const Qt::SortOrder ord = static_cast<Qt::SortOrder>(qApp->settings()->value(GROUP(GUI), SETTING(GUI::DefaultSortOrderMessages)).toInt());
|
||||
const int col = header()->sortIndicatorSection();
|
||||
const Qt::SortOrder ord = header()->sortIndicatorOrder();
|
||||
|
||||
// Reload the model now.
|
||||
sort(col, ord, true, false, false);
|
||||
@ -268,8 +268,8 @@ void MessagesView::selectionChanged(const QItemSelection &selected, const QItemS
|
||||
}
|
||||
|
||||
void MessagesView::loadItem(RootItem *item) {
|
||||
const int col = qApp->settings()->value(GROUP(GUI), SETTING(GUI::DefaultSortColumnMessages)).toInt();
|
||||
const Qt::SortOrder ord = static_cast<Qt::SortOrder>(qApp->settings()->value(GROUP(GUI), SETTING(GUI::DefaultSortOrderMessages)).toInt());
|
||||
const int col = header()->sortIndicatorSection();
|
||||
const Qt::SortOrder ord = header()->sortIndicatorOrder();
|
||||
|
||||
scrollToTop();
|
||||
sort(col, ord, false, true, false);
|
||||
@ -513,7 +513,6 @@ void MessagesView::adjustColumns() {
|
||||
// Hide columns.
|
||||
hideColumn(MSG_DB_ID_INDEX);
|
||||
hideColumn(MSG_DB_DELETED_INDEX);
|
||||
//hideColumn(MSG_DB_FEED_INDEX);
|
||||
hideColumn(MSG_DB_URL_INDEX);
|
||||
hideColumn(MSG_DB_CONTENTS_INDEX);
|
||||
hideColumn(MSG_DB_PDELETED_INDEX);
|
||||
@ -528,11 +527,6 @@ void MessagesView::adjustColumns() {
|
||||
}
|
||||
|
||||
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.
|
||||
sort(column, order, true, false, false);
|
||||
emit currentMessageRemoved();
|
||||
|
@ -73,6 +73,9 @@ NON_CONST_DVALUE(QString) Messages::PreviewerFontStandardDef = QFont(
|
||||
// GUI.
|
||||
DKEY GUI::ID = "gui";
|
||||
|
||||
DKEY GUI::MessageViewState = "msg_view_state";
|
||||
DVALUE(QString) GUI::MessageViewStateDef = QString();
|
||||
|
||||
DKEY GUI::SplitterFeeds = "splitter_feeds";
|
||||
DVALUE(char*) GUI::SplitterFeedsDef = "";
|
||||
|
||||
@ -139,12 +142,6 @@ DVALUE(bool) GUI::HideTabBarIfOnlyOneTabDef = false;
|
||||
DKEY GUI::MessagesToolbarDefaultButtons = "messages_toolbar";
|
||||
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";
|
||||
DVALUE(int) GUI::DefaultSortColumnFeedsDef = FDS_MODEL_TITLE_INDEX;
|
||||
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include <QNetworkProxy>
|
||||
#include <QStringList>
|
||||
#include <QColor>
|
||||
#include <QByteArray>
|
||||
|
||||
#define KEY extern const char*
|
||||
#define DKEY const char*
|
||||
@ -92,6 +93,9 @@ namespace Messages {
|
||||
namespace GUI {
|
||||
KEY ID;
|
||||
|
||||
KEY MessageViewState;
|
||||
VALUE(QString) MessageViewStateDef;
|
||||
|
||||
KEY SplitterFeeds;
|
||||
VALUE(char*) SplitterFeedsDef;
|
||||
|
||||
@ -158,12 +162,6 @@ namespace GUI {
|
||||
KEY MessagesToolbarDefaultButtons;
|
||||
VALUE(char*) MessagesToolbarDefaultButtonsDef;
|
||||
|
||||
KEY DefaultSortColumnMessages;
|
||||
VALUE(int) DefaultSortColumnMessagesDef;
|
||||
|
||||
KEY DefaultSortOrderMessages;
|
||||
VALUE(Qt::SortOrder) DefaultSortOrderMessagesDef;
|
||||
|
||||
KEY DefaultSortColumnFeeds;
|
||||
VALUE(int) DefaultSortColumnFeedsDef;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user