diff options
| author | 2011-01-01 20:19:56 +0000 | |
|---|---|---|
| committer | 2011-01-01 20:19:56 +0000 | |
| commit | c601b5a27f74b16158adafe429faefbe573e64a2 (patch) | |
| tree | a3cde3206a45628f8ac86e8dfbdab70b20c3a831 /src/modules/options/OptionsWidget_message.h | |
| parent | probable compilation fix for rijndaled/crypto++ (diff) | |
| download | KVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.tar.gz KVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.tar.bz2 KVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.zip | |
The big rename for modules. Still some details remaining.
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5284 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/options/OptionsWidget_message.h')
| -rw-r--r-- | src/modules/options/OptionsWidget_message.h | 205 |
1 files changed, 205 insertions, 0 deletions
diff --git a/src/modules/options/OptionsWidget_message.h b/src/modules/options/OptionsWidget_message.h new file mode 100644 index 000000000..d62541901 --- /dev/null +++ b/src/modules/options/OptionsWidget_message.h @@ -0,0 +1,205 @@ +#ifndef _OPTW_MESSAGES_H_ +#define _OPTW_MESSAGES_H_ +//============================================================================= +// +// File : OptionsWidget_message.h +// Creation date : Sat Aug 11 2001 18:11:21 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 Szymon Stefanek (pragma at kvirc dot net) +// +// 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 opinion) any later version. +// +// 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// +//============================================================================= + +#include "KviOptionsWidget.h" +#include "KviMessageTypeSettings.h" +#include "KviTalPopupMenu.h" + +#include <QTreeWidget> +#include <QItemDelegate> +#include <QCheckBox> +#include <QToolButton> +#include <QPainter> +#include <QColorGroup> + +#define KVI_OPTIONS_WIDGET_ICON_KviMessageOptionsWidget KVI_SMALLICON_MESSAGES +#define KVI_OPTIONS_WIDGET_NAME_KviMessageOptionsWidget __tr2qs_no_lookup("Text") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviMessageOptionsWidget __tr2qs_no_lookup("theme,colors,output") +#define KVI_OPTIONS_WIDGET_GROUP_KviMessageOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_CONTAINER_KviMessageOptionsWidget true + +class OptionsWidget_message : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_message(QWidget * pParent); + ~OptionsWidget_message(); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviPrivmsgOptionsWidget KVI_SMALLICON_RAW +#define KVI_OPTIONS_WIDGET_NAME_KviPrivmsgOptionsWidget __tr2qs_no_lookup("Message Style") +#define KVI_OPTIONS_WIDGET_PARENT_KviPrivmsgOptionsWidget OptionsWidget_message +#define KVI_OPTIONS_WIDGET_PRIORITY_KviPrivmsgOptionsWidget 40 +#define KVI_OPTIONS_WIDGET_GROUP_KviPrivmsgOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviPrivmsgOptionsWidget __tr2qs_no_lookup("theme,privmsg,output,format") + +class OptionsWidget_privmsg : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_privmsg(QWidget * parent); + ~OptionsWidget_privmsg(); +public: + KviBoolSelector * m_pUseSmartColorSelector; + KviBoolSelector * m_pSpecialSmartColorSelector; + KviMircTextColorSelector * m_pSmartColorSelector; +protected slots: + void enableDisableSmartColorSelector(bool); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviTimestampOptionsWidget KVI_SMALLICON_TIME +#define KVI_OPTIONS_WIDGET_NAME_KviTimestampOptionsWidget __tr2qs_no_lookup("Timestamp") +#define KVI_OPTIONS_WIDGET_PARENT_KviTimestampOptionsWidget OptionsWidget_message +#define KVI_OPTIONS_WIDGET_PRIORITY_KviTimestampOptionsWidget 20 +#define KVI_OPTIONS_WIDGET_GROUP_KviTimestampOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTimestampOptionsWidget __tr2qs_no_lookup("time,timestamp") + +class OptionsWidget_timestamp : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_timestamp(QWidget * parent); + ~OptionsWidget_timestamp(); +public: + KviBoolSelector * m_pUseTimestampSelector; + KviBoolSelector * m_pSpecialTimestampColorSelector; + KviMircTextColorSelector * m_pTimestampColorSelector; +protected slots: + void enableDisableTimestampSelector(bool); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviMessageColorsOptionsWidget KVI_SMALLICON_MESSAGES +#define KVI_OPTIONS_WIDGET_NAME_KviMessageColorsOptionsWidget __tr2qs_no_lookup("Message Colors") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviMessageColorsOptionsWidget __tr2qs_no_lookup("theme,colors,messages,output") +#define KVI_OPTIONS_WIDGET_GROUP_KviMessageColorsOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_PARENT_KviMessageColorsOptionsWidget OptionsWidget_message +#define KVI_OPTIONS_WIDGET_PRIORITY_KviMessageColorsOptionsWidget 30 + +class MessageListWidget : public KviTalListWidget +{ + Q_OBJECT +public: + MessageListWidget(QWidget * par): KviTalListWidget(par) {}; + ~MessageListWidget() {}; +}; + +class MessageListWidgetItemDelegate : public QItemDelegate +{ + Q_OBJECT +public: + MessageListWidgetItemDelegate(QAbstractItemView * pWidget=0) + : QItemDelegate(pWidget) {}; + ~MessageListWidgetItemDelegate(){}; + void paint(QPainter * p, const QStyleOptionViewItem & opt, const QModelIndex & index) const; +}; + +class MessageListWidgetItem : public KviTalListWidgetItem +{ +public: + MessageListWidgetItem(MessageListWidget* l,int optId); + ~MessageListWidgetItem(); +private: + int m_iOptId; + KviMessageTypeSettings * m_pMsgType; +public: + inline int optionId(){ return m_iOptId; }; + inline KviMessageTypeSettings * msgType(){ return m_pMsgType; }; +}; + + +class MessageColorListWidgetItem : public KviTalListWidgetText +{ +public: + MessageColorListWidgetItem(KviTalListWidget * b, int idx); + ~MessageColorListWidgetItem(); +public: + int m_iClrIdx; +public: + inline int clrIdx() { return m_iClrIdx; }; +}; + +class MessageColorListWidgetItemDelegate : public QItemDelegate +{ + Q_OBJECT +public: + MessageColorListWidgetItemDelegate(QAbstractItemView * pWidget=0) + : QItemDelegate(pWidget) {}; + ~MessageColorListWidgetItemDelegate(){}; + void paint(QPainter * p, const QStyleOptionViewItem & opt, const QModelIndex & index) const; +}; + +class OptionsWidget_messageColors : public KviOptionsWidget +{ + Q_OBJECT + friend class KviTalListWidget; +public: + OptionsWidget_messageColors(QWidget * parent); + ~OptionsWidget_messageColors(); +public: + MessageListWidget * m_pListView; + MessageListWidgetItemDelegate * m_pListViewItemDelegate; + KviTalListWidget * m_pForeListWidget; + MessageColorListWidgetItemDelegate * m_pForeListWidgetDelegate; + KviTalListWidget * m_pBackListWidget; + MessageColorListWidgetItemDelegate * m_pBackListWidgetDelegate; + KviTalListWidget * m_pLevelListWidget; + MessageColorListWidgetItem * m_pForeItems[16]; + MessageColorListWidgetItem * m_pBackItems[17]; + MessageListWidgetItem * m_pLastItem; + QCheckBox * m_pEnableLogging; + QToolButton * m_pIconButton; + KviTalPopupMenu * m_pIconPopup; +public: + void saveLastItem(); +protected slots: + void itemChanged(); + void colorChanged(); + void iconButtonClicked(); + void newIconSelected(int iconId); + virtual void commit(); + virtual void save(); + virtual void load(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviStandardColorsOptionsWidget KVI_SMALLICON_COLORS +#define KVI_OPTIONS_WIDGET_NAME_KviStandardColorsOptionsWidget __tr2qs_no_lookup("Color Set") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviStandardColorsOptionsWidget __tr2qs_no_lookup("theme,colors,messages,output") +#define KVI_OPTIONS_WIDGET_GROUP_KviStandardColorsOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_PRIORITY_KviStandardColorsOptionsWidget 20 +#define KVI_OPTIONS_WIDGET_PARENT_KviStandardColorsOptionsWidget OptionsWidget_message + +class OptionsWidget_standardColors : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_standardColors(QWidget * par); + ~OptionsWidget_standardColors(); + +}; + + +#endif //!_OPTW_MESSAGES_H_ |
