From: Marcus Eggenberger Date: Thu, 4 Sep 2008 18:27:29 +0000 (+0200) Subject: QtUiSettings().value(QString("ChatView/%1/KEY").arg(idString())) --> ChatViewSettings... X-Git-Tag: 0.3.1~290 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=0f16a547d17c536cc567bfb2746824bfca3424cd;ds=sidebyside QtUiSettings().value(QString("ChatView/%1/KEY").arg(idString())) --> ChatViewSettings(idString()).value("KEY") --- diff --git a/src/qtui/CMakeLists.txt b/src/qtui/CMakeLists.txt index 1fca8945..b62fc3a0 100644 --- a/src/qtui/CMakeLists.txt +++ b/src/qtui/CMakeLists.txt @@ -19,6 +19,7 @@ set(SOURCES chatview.cpp chatviewsearchbar.cpp chatviewsearchcontroller.cpp + chatviewsettings.cpp columnhandleitem.cpp coreconfigwizard.cpp coreconnectdlg.cpp @@ -77,6 +78,7 @@ set(HEADERS chatitem.h chatline.h chatlinemodelitem.h + chatviewsettings.h qtuisettings.h qtuistyle.h) diff --git a/src/qtui/chatmonitorfilter.cpp b/src/qtui/chatmonitorfilter.cpp index e30faa59..c93c235e 100644 --- a/src/qtui/chatmonitorfilter.cpp +++ b/src/qtui/chatmonitorfilter.cpp @@ -23,18 +23,16 @@ #include "client.h" #include "chatlinemodel.h" #include "networkmodel.h" +#include "chatviewsettings.h" ChatMonitorFilter::ChatMonitorFilter(MessageModel *model, QObject *parent) : MessageFilter(model, parent) { - QtUiSettings qtUiSettings; - QString showFieldSettingId = QString("ChatView/%1/showFields").arg(idString()); - QString showOwnMessagesSettingId = QString("ChatView/%1/showOwnMsgs").arg(idString()); - - _showFields = qtUiSettings.value(showFieldSettingId, AllFields).toInt(); - _showOwnMessages = qtUiSettings.value(showOwnMessagesSettingId, true).toBool(); - qtUiSettings.notify(showFieldSettingId, this, SLOT(showFieldsSettingsChanged(const QVariant &))); - qtUiSettings.notify(showOwnMessagesSettingId, this, SLOT(showOwnMessagesSettingChanged(const QVariant &))); + ChatViewSettings viewSettings(idString()); + _showFields = viewSettings.value("showFields", AllFields).toInt(); + _showOwnMessages = viewSettings.value("showOwnMsgs", true).toBool(); + viewSettings.notify("showFields", this, SLOT(showFieldsSettingsChanged(const QVariant &))); + viewSettings.notify("showOwnMsgs", this, SLOT(showOwnMessagesSettingChanged(const QVariant &))); } bool ChatMonitorFilter::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const { @@ -85,21 +83,21 @@ void ChatMonitorFilter::addShowField(int field) { if(_showFields & field) return; - QtUiSettings().setValue(QString("ChatView/%1/showFields").arg(idString()), _showFields | field); + ChatViewSettings(idString()).setValue("showFields", _showFields | field); } void ChatMonitorFilter::removeShowField(int field) { if(!(_showFields & field)) return; - QtUiSettings().setValue(QString("ChatView/%1/showFields").arg(idString()), _showFields ^ field); + ChatViewSettings(idString()).setValue("showFields", _showFields ^ field); } void ChatMonitorFilter::setShowOwnMessages(bool show) { if(_showOwnMessages == show) return; - QtUiSettings().setValue(QString("ChatView/%1/showOwnMsgs").arg(idString()), show); + ChatViewSettings(idString()).setValue("showOwnMsgs", show); } void ChatMonitorFilter::showFieldsSettingsChanged(const QVariant &newValue) { diff --git a/src/qtui/chatmonitorfilter.h b/src/qtui/chatmonitorfilter.h index 468b56db..5c1cfe9b 100644 --- a/src/qtui/chatmonitorfilter.h +++ b/src/qtui/chatmonitorfilter.h @@ -24,7 +24,6 @@ #include #include "messagefilter.h" -#include "qtuisettings.h" class ChatMonitorFilter : public MessageFilter { Q_OBJECT diff --git a/src/qtui/chatscene.cpp b/src/qtui/chatscene.cpp index 03c0e5f9..4b2bf5c5 100644 --- a/src/qtui/chatscene.cpp +++ b/src/qtui/chatscene.cpp @@ -32,7 +32,7 @@ #include "columnhandleitem.h" #include "messagefilter.h" #include "qtui.h" -#include "qtuisettings.h" +#include "chatviewsettings.h" const qreal minContentsWidth = 200; @@ -51,14 +51,13 @@ ChatScene::ChatScene(QAbstractItemModel *model, const QString &idString, qreal w _singleBufferScene = filter->isSingleBufferFilter(); } - QtUiSettings s; - int defaultFirstColHandlePos = s.value("ChatView/DefaultFirstColumnHandlePos", 80).toInt(); - int defaultSecondColHandlePos = s.value("ChatView/DefaultSecondColumnHandlePos", 200).toInt(); + ChatViewSettings defaultSettings; + int defaultFirstColHandlePos = defaultSettings.value("FirstColumnHandlePos", 80).toInt(); + int defaultSecondColHandlePos = defaultSettings.value("SecondColumnHandlePos", 200).toInt(); - firstColHandlePos = s.value(QString("ChatView/%1/FirstColumnHandlePos").arg(_idString), - defaultFirstColHandlePos).toInt(); - secondColHandlePos = s.value(QString("ChatView/%1/SecondColumnHandlePos").arg(_idString), - defaultSecondColHandlePos).toInt(); + ChatViewSettings viewSettings(idString); + firstColHandlePos = viewSettings.value("FirstColumnHandlePos", defaultFirstColHandlePos).toInt(); + secondColHandlePos = viewSettings.value("SecondColumnHandlePos", defaultSecondColHandlePos).toInt(); firstColHandle = new ColumnHandleItem(QtUi::style()->firstColumnSeparator()); addItem(firstColHandle); @@ -263,11 +262,14 @@ void ChatScene::handlePositionChanged(qreal xpos) { oldx = secondColHandlePos; secondColHandlePos = xpos; } - QtUiSettings s; - s.setValue(QString("ChatView/%1/FirstColumnHandlePos").arg(_idString), firstColHandlePos); - s.setValue(QString("ChatView/%1/SecondColumnHandlePos").arg(_idString), secondColHandlePos); - s.setValue(QString("ChatView/DefaultFirstColumnHandlePos"), firstColHandlePos); - s.setValue(QString("ChatView/DefaultSecondColumnHandlePos"), secondColHandlePos); + + ChatViewSettings viewSettings(idString()); + viewSettings.setValue("FirstColumnHandlePos", firstColHandlePos); + viewSettings.setValue("SecondColumnHandlePos", secondColHandlePos); + + ChatViewSettings defaultSettings; + defaultSettings.setValue("FirstColumnHandlePos", firstColHandlePos); + defaultSettings.setValue("SecondColumnHandlePos", secondColHandlePos); setWidth(width(), true); // readjust all chatlines // we get ugly redraw errors if we don't update this explicitly... :( diff --git a/src/qtui/chatviewsettings.cpp b/src/qtui/chatviewsettings.cpp new file mode 100644 index 00000000..da48f52e --- /dev/null +++ b/src/qtui/chatviewsettings.cpp @@ -0,0 +1,26 @@ +/*************************************************************************** + * Copyright (C) 2005-08 by the Quassel Project * + * devel@quassel-irc.org * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) version 3. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#include "chatviewsettings.h" + +ChatViewSettings::ChatViewSettings(const QString &id) + : QtUiSettings(QString("ChatView/%1").arg(id)) +{ +} diff --git a/src/qtui/chatviewsettings.h b/src/qtui/chatviewsettings.h new file mode 100644 index 00000000..01d9d71f --- /dev/null +++ b/src/qtui/chatviewsettings.h @@ -0,0 +1,31 @@ +/*************************************************************************** + * Copyright (C) 2005-08 by the Quassel Project * + * devel@quassel-irc.org * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) version 3. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#ifndef CHATVIEWSETTINGS_H +#define CHATVIEWSETTINGS_H + +#include "qtuisettings.h" + +class ChatViewSettings : public QtUiSettings { +public: + ChatViewSettings(const QString &id = "__default__"); +}; + +#endif //CHATVIEWSETTINGS_H diff --git a/src/qtui/qtuisettings.cpp b/src/qtui/qtuisettings.cpp index d89f5c15..f06cac7d 100644 --- a/src/qtui/qtuisettings.cpp +++ b/src/qtui/qtuisettings.cpp @@ -20,8 +20,14 @@ #include "qtuisettings.h" -QtUiSettings::QtUiSettings(const QString &group) : UiSettings(group) { +QtUiSettings::QtUiSettings(const QString &subGroup) + : UiSettings(QString("QtUi/%1").arg(subGroup)) +{ +} +QtUiSettings::QtUiSettings() + : UiSettings("QtUi") +{ } /***********************************************************************/ diff --git a/src/qtui/qtuisettings.h b/src/qtui/qtuisettings.h index eda3c2d2..9754ecba 100644 --- a/src/qtui/qtuisettings.h +++ b/src/qtui/qtuisettings.h @@ -18,28 +18,25 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#ifndef _QTUISETTINGS_H_ -#define _QTUISETTINGS_H_ +#ifndef QTUISETTINGS_H_ +#define QTUISETTINGS_H_ #include #include "uisettings.h" class QtUiSettings : public UiSettings { - - public: - QtUiSettings(const QString &group = "QtUi"); - +public: + QtUiSettings(const QString &subGroup); + QtUiSettings(); }; class QtUiStyleSettings : public UiStyleSettings { +public: + QtUiStyleSettings(const QString &group = "QtUiStyle"); - public: - QtUiStyleSettings(const QString &group = "QtUiStyle"); - - void setHighlightColor(const QColor &); - QColor highlightColor(); - + void setHighlightColor(const QColor &); + QColor highlightColor(); }; #endif diff --git a/src/uisupport/uisettings.h b/src/uisupport/uisettings.h index 40463bf8..efd2828b 100644 --- a/src/uisupport/uisettings.h +++ b/src/uisupport/uisettings.h @@ -33,16 +33,16 @@ public: void remove(const QString &key); }; -class UiStyleSettings : public ClientSettings { - public: - UiStyleSettings(const QString &group = "UiStyle"); +class UiStyleSettings : public ClientSettings { +public: + UiStyleSettings(const QString &group = "UiStyle"); - void setCustomFormat(UiStyle::FormatType, QTextCharFormat); - QTextCharFormat customFormat(UiStyle::FormatType); + void setCustomFormat(UiStyle::FormatType, QTextCharFormat); + QTextCharFormat customFormat(UiStyle::FormatType); - void removeCustomFormat(UiStyle::FormatType); - QList availableFormats(); + void removeCustomFormat(UiStyle::FormatType); + QList availableFormats(); }; #endif