diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-24 02:13:59 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-24 02:13:59 +0000 |
commit | a6d58bb6052ac8cb01805a48c4ad2f129126116f (patch) | |
tree | dd867a099fcbb263a8009a9fb22695b87855dad6 /src/kvirc/ui/kvi_optionswidget.cpp | |
download | kvirc-a6d58bb6052ac8cb01805a48c4ad2f129126116f.tar.gz kvirc-a6d58bb6052ac8cb01805a48c4ad2f129126116f.zip |
Added KDE3 version of kvirc
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kvirc@1095341 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/kvirc/ui/kvi_optionswidget.cpp')
-rw-r--r-- | src/kvirc/ui/kvi_optionswidget.cpp | 722 |
1 files changed, 722 insertions, 0 deletions
diff --git a/src/kvirc/ui/kvi_optionswidget.cpp b/src/kvirc/ui/kvi_optionswidget.cpp new file mode 100644 index 0000000..546d4b1 --- /dev/null +++ b/src/kvirc/ui/kvi_optionswidget.cpp @@ -0,0 +1,722 @@ +//============================================================================= +// +// File : kvi_optionswidget.h +// Creation date : Mon Jun 10 2000 17:47:33 by Szymon Stefanek +// +// This file is part of the KVirc irc client distribution +// Copyright (C) 2000-2006 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. +// +//============================================================================= + +#define __KVIRC__ + +#include "kvi_optionswidget.h" + +#define _WANT_OPTION_FLAGS_ +#include "kvi_options.h" + +#include "kvi_locale.h" + +#include "kvi_app.h" + +#include "kvi_tal_tooltip.h" + +#define KVI_OPTIONSWIDGET_GRIDLAYOUT_BORDER 4 +#define KVI_OPTIONSWIDGET_GRIDLAYOUT_SPACE 6 + +QString KviOptionsWidget::m_szBasicTipStart; // empty decl +QString KviOptionsWidget::m_szBasicTipEnd; + +KviOptionsWidget::KviOptionsWidget(QWidget * parent,const char * name,bool bSunken) +: QFrame(parent,name), KviSelectorInterface() +{ + if(m_szBasicTipStart.isEmpty()) + { + m_szBasicTipStart = "<center><font color=\"#a0a0a0\">"; + m_szBasicTipStart += __tr2qs("This option is also available as"); + m_szBasicTipStart += "<br><nobr>/option <b> "; + m_szBasicTipEnd = "</b></nobr></font></center>"; + + } + // FIXME: The bSunken value is ignored! + //if(bSunken)setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); + //setFrameStyle(QFrame::StyledPanel | QFrame::Plain); + m_pLayout = 0; + m_pTabWidget = 0; + m_iResetFlags = 0; + m_iSelectors = 0; + m_pSelectorInterfaceList = new KviPointerList<KviSelectorInterface>; + m_pSelectorInterfaceList->setAutoDelete(false); +} + +KviOptionsWidget::~KviOptionsWidget() +{ + delete m_pSelectorInterfaceList; +} + +void KviOptionsWidget::mergeTip(QWidget * w,const QString &tip) +{ + static QString begin = "<table width=\"100%\" align=\"center\"><tr><td bgcolor=\"#fefef0\">"; + static QString mid = "</td></tr><tr><td>"; + static QString end = "</td></tr></table>"; +#ifdef COMPILE_USE_QT4 + QString s = w->toolTip(); +#else + QString s = KviTalToolTip::textFor(w); +#endif + if(s.isEmpty())KviTalToolTip::add(w,tip); + else { + QString tmp = begin; + tmp += tip; + tmp += mid; + tmp += s; + tmp += end; + KviTalToolTip::add(w,tmp); + } +} + +void KviOptionsWidget::createLayout(int rows,int cols) +{ + if(m_pLayout)delete m_pLayout; + m_pLayout = new QGridLayout(this,rows,cols,KVI_OPTIONSWIDGET_GRIDLAYOUT_BORDER,KVI_OPTIONSWIDGET_GRIDLAYOUT_SPACE); +} + +void KviOptionsWidget::createTabbedPage() +{ + createLayout(1,1); + layout()->setMargin(0); + layout()->setSpacing(0); + m_pTabWidget = new QTabWidget(this); + addWidgetToLayout(m_pTabWidget,0,0,0,0); +} + +void KviOptionsWidget::addOptionsWidget(const QString &szText,const QIconSet &iconSet,KviOptionsWidget * pWidget) +{ + if(pWidget->layout()) + pWidget->layout()->setMargin(10); + m_pTabWidget->addTab(pWidget,iconSet,szText); + m_pSelectorInterfaceList->append(pWidget); +} + + +void KviOptionsWidget::addWidgetToLayout(QWidget * w,int x1,int y1,int x2,int y2) +{ + if((x1 == x2) && (y1 == y2))layout()->addWidget(w,y1,x1); + else layout()->addMultiCellWidget(w,y1,y2,x1,x2); +} + +/////////////////////////////////////////////////////////////////////////////////////////////////// + +KviDirectorySelector * KviOptionsWidget::addDirectorySelector(int x1,int y1,int x2,int y2,const QString & txt,QString *pOption,bool bEnabled) +{ + KviDirectorySelector * d = new KviDirectorySelector(this,txt,pOption,bEnabled); + addWidgetToLayout(d,x1,y1,x2,y2); + m_pSelectorInterfaceList->append(d); + return d; +} + +KviDirectorySelector * KviOptionsWidget::addDirectorySelector(QWidget * pParent,const QString & txt,QString *pOption,bool bEnabled) +{ + KviDirectorySelector * d = new KviDirectorySelector(pParent,txt,pOption,bEnabled); + //addWidgetToLayout(d,x1,y1,x2,y2); + m_pSelectorInterfaceList->append(d); + return d; +} + +KviDirectorySelector * KviOptionsWidget::addDirectorySelector(int x1,int y1,int x2,int y2,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_stringOptionsTable[optId].flags & KviOption_resetMask); + KviDirectorySelector * d = addDirectorySelector(x1,y1,x2,y2,txt,&(KVI_OPTION_STRING(optId)),bEnabled); + + QString tmp = m_szBasicTipStart; + tmp += g_stringOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + + return d; +} + +KviDirectorySelector * KviOptionsWidget::addDirectorySelector(QWidget * pParent,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_stringOptionsTable[optId].flags & KviOption_resetMask); + KviDirectorySelector * d = addDirectorySelector(pParent,txt,&(KVI_OPTION_STRING(optId)),bEnabled); + + QString tmp = m_szBasicTipStart; + tmp += g_stringOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + + return d; +} + + +/////////////////////////////////////////////////////////////////////////////////////////////////// + + +KviFileSelector * KviOptionsWidget::addFileSelector(int x1,int y1,int x2,int y2,const QString & txt,QString *pOption,bool bEnabled) +{ + KviFileSelector * d = new KviFileSelector(this,txt,pOption,bEnabled); + addWidgetToLayout(d,x1,y1,x2,y2); + m_pSelectorInterfaceList->append(d); + return d; +} + +KviFileSelector * KviOptionsWidget::addFileSelector(QWidget * pParent,const QString & txt,QString *pOption,bool bEnabled) +{ + KviFileSelector * d = new KviFileSelector(pParent,txt,pOption,bEnabled); + m_pSelectorInterfaceList->append(d); + return d; +} + +KviFileSelector * KviOptionsWidget::addFileSelector(int x1,int y1,int x2,int y2,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_stringOptionsTable[optId].flags & KviOption_resetMask); + KviFileSelector * d = addFileSelector(x1,y1,x2,y2,txt,&(KVI_OPTION_STRING(optId)),bEnabled); + + QString tmp = m_szBasicTipStart; + tmp += g_stringOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + + return d; +} + +KviFileSelector * KviOptionsWidget::addFileSelector(QWidget * pParent,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_stringOptionsTable[optId].flags & KviOption_resetMask); + KviFileSelector * d = addFileSelector(pParent,txt,&(KVI_OPTION_STRING(optId)),bEnabled); + + QString tmp = m_szBasicTipStart; + tmp += g_stringOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + + return d; +} + +/////////////////////////////////////////////////////////////////////////////////////////////////// + + +KviSoundSelector * KviOptionsWidget::addSoundSelector(int x1,int y1,int x2,int y2,const QString & txt,QString *pOption,bool bEnabled) +{ + KviSoundSelector * d = new KviSoundSelector(this,txt,pOption,bEnabled); + addWidgetToLayout(d,x1,y1,x2,y2); + m_pSelectorInterfaceList->append(d); + return d; +} + +KviSoundSelector * KviOptionsWidget::addSoundSelector(QWidget * pParent,const QString & txt,QString *pOption,bool bEnabled) +{ + KviSoundSelector * d = new KviSoundSelector(pParent,txt,pOption,bEnabled); + m_pSelectorInterfaceList->append(d); + return d; +} + +KviSoundSelector * KviOptionsWidget::addSoundSelector(int x1,int y1,int x2,int y2,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_stringOptionsTable[optId].flags & KviOption_resetMask); + KviSoundSelector * d = addSoundSelector(x1,y1,x2,y2,txt,&(KVI_OPTION_STRING(optId)),bEnabled); + + QString tmp = m_szBasicTipStart; + tmp += g_stringOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + + return d; +} + +KviSoundSelector * KviOptionsWidget::addSoundSelector(QWidget * pParent,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_stringOptionsTable[optId].flags & KviOption_resetMask); + KviSoundSelector * d = addSoundSelector(pParent,txt,&(KVI_OPTION_STRING(optId)),bEnabled); + + QString tmp = m_szBasicTipStart; + tmp += g_stringOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + + return d; +} + + +/////////////////////////////////////////////////////////////////////////////////////////////////// + +KviBoolSelector * KviOptionsWidget::addBoolSelector(int x1,int y1,int x2,int y2,const QString & txt,bool *pOption,bool bEnabled) +{ + KviBoolSelector * b = new KviBoolSelector(this,txt,pOption,bEnabled); + addWidgetToLayout(b,x1,y1,x2,y2); + m_pSelectorInterfaceList->append(b); + return b; +} + +KviBoolSelector * KviOptionsWidget::addBoolSelector(QWidget * pParent,const QString & txt,bool *pOption,bool bEnabled) +{ + KviBoolSelector * b = new KviBoolSelector(pParent,txt,pOption,bEnabled); + m_pSelectorInterfaceList->append(b); + return b; +} + +KviBoolSelector * KviOptionsWidget::addBoolSelector(int x1,int y1,int x2,int y2,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_boolOptionsTable[optId].flags & KviOption_resetMask); + KviBoolSelector * d = addBoolSelector(x1,y1,x2,y2,txt,&(KVI_OPTION_BOOL(optId)),bEnabled); + QString tmp = m_szBasicTipStart; + tmp += g_boolOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + return d; +} + +KviBoolSelector * KviOptionsWidget::addBoolSelector(QWidget * pParent,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_boolOptionsTable[optId].flags & KviOption_resetMask); + KviBoolSelector * d = addBoolSelector(pParent,txt,&(KVI_OPTION_BOOL(optId)),bEnabled); + QString tmp = m_szBasicTipStart; + tmp += g_boolOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + return d; +} + +/////////////////////////////////////////////////////////////////////////////////////////////////// + + +KviPixmapSelector * KviOptionsWidget::addPixmapSelector(int x1,int y1,int x2,int y2,const QString & txt,KviPixmap *pOption,bool bEnabled) +{ + KviPixmapSelector * b = new KviPixmapSelector(this,txt,pOption,bEnabled); + addWidgetToLayout(b,x1,y1,x2,y2); + m_pSelectorInterfaceList->append(b); + return b; +} + +KviPixmapSelector * KviOptionsWidget::addPixmapSelector(int x1,int y1,int x2,int y2,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_pixmapOptionsTable[optId].flags & KviOption_resetMask); + KviPixmapSelector * d = addPixmapSelector(x1,y1,x2,y2,txt,&(KVI_OPTION_PIXMAP(optId)),bEnabled); + QString tmp = m_szBasicTipStart; + tmp += g_pixmapOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + return d; +} + +/////////////////////////////////////////////////////////////////////////////////////////////////// + + +KviUIntSelector * KviOptionsWidget::addUIntSelector(int x1,int y1,int x2,int y2,const QString & txt, + unsigned int * pOption,unsigned int uLowBound, + unsigned int uHighBound,unsigned int uDefault,bool bEnabled) +{ + KviUIntSelector * u = new KviUIntSelector(this,txt,pOption,uLowBound,uHighBound,uDefault,bEnabled,false); + addWidgetToLayout(u,x1,y1,x2,y2); + m_pSelectorInterfaceList->append(u); + return u; +} + +KviUIntSelector * KviOptionsWidget::addUIntSelector(QWidget * pParent,const QString & txt, + unsigned int * pOption,unsigned int uLowBound, + unsigned int uHighBound,unsigned int uDefault,bool bEnabled) +{ + KviUIntSelector * u = new KviUIntSelector(pParent,txt,pOption,uLowBound,uHighBound,uDefault,bEnabled,false); + m_pSelectorInterfaceList->append(u); + return u; +} + +KviUIntSelector * KviOptionsWidget::addUIntSelector(int x1,int y1,int x2,int y2,const QString & txt, + int optId,unsigned int uLowBound, + unsigned int uHighBound,unsigned int uDefault,bool bEnabled) +{ + m_iResetFlags |= (g_uintOptionsTable[optId].flags & KviOption_resetMask); + KviUIntSelector * d = addUIntSelector(x1,y1,x2,y2,txt,&(KVI_OPTION_UINT(optId)),uLowBound,uHighBound,uDefault,bEnabled); + QString tmp = m_szBasicTipStart; + tmp += g_uintOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + return d; +} + +KviUIntSelector * KviOptionsWidget::addUIntSelector(QWidget * pParent,const QString & txt, + int optId,unsigned int uLowBound, + unsigned int uHighBound,unsigned int uDefault,bool bEnabled) +{ + m_iResetFlags |= (g_uintOptionsTable[optId].flags & KviOption_resetMask); + KviUIntSelector * d = addUIntSelector(pParent,txt,&(KVI_OPTION_UINT(optId)),uLowBound,uHighBound,uDefault,bEnabled); + QString tmp = m_szBasicTipStart; + tmp += g_uintOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + return d; +} + +//////////////////////////////////////////////////////////////////////////////////////////////// + +KviUIntSelector * KviOptionsWidget::addUShortIntSelector(int x1,int y1,int x2,int y2,const QString & txt, + unsigned short int * pOption,unsigned int uLowBound, + unsigned int uHighBound,unsigned int uDefault,bool bEnabled) +{ + KviUIntSelector * u = new KviUIntSelector(this,txt,(unsigned int *)pOption,uLowBound,uHighBound,uDefault,bEnabled,true); + addWidgetToLayout(u,x1,y1,x2,y2); + m_pSelectorInterfaceList->append(u); + return u; +} + +//////////////////////////////////////////////////////////////////////////////////////////////// + + +KviStringSelector * KviOptionsWidget::addStringSelector(int x1,int y1,int x2,int y2,const QString & txt,QString *pOption,bool bEnabled) +{ + KviStringSelector * d = new KviStringSelector(this,txt,pOption,bEnabled); + addWidgetToLayout(d,x1,y1,x2,y2); + m_pSelectorInterfaceList->append(d); + return d; +} + +KviStringSelector * KviOptionsWidget::addStringSelector(QWidget * pParent,const QString & txt,QString *pOption,bool bEnabled) +{ + KviStringSelector * d = new KviStringSelector(pParent,txt,pOption,bEnabled); + m_pSelectorInterfaceList->append(d); + return d; +} + +KviStringSelector * KviOptionsWidget::addStringSelector(int x1,int y1,int x2,int y2,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_stringOptionsTable[optId].flags & KviOption_resetMask); + KviStringSelector * d = addStringSelector(x1,y1,x2,y2,txt,&(KVI_OPTION_STRING(optId)),bEnabled); + QString tmp = m_szBasicTipStart; + tmp += g_stringOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + return d; +} + +KviStringSelector * KviOptionsWidget::addStringSelector(QWidget * pParent,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_stringOptionsTable[optId].flags & KviOption_resetMask); + KviStringSelector * d = addStringSelector(pParent,txt,&(KVI_OPTION_STRING(optId)),bEnabled); + QString tmp = m_szBasicTipStart; + tmp += g_stringOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + return d; +} + +//////////////////////////////////////////////////////////////////////////////////////////////// + + +KviPasswordSelector * KviOptionsWidget::addPasswordSelector(int x1,int y1,int x2,int y2,const QString & txt,QString *pOption,bool bEnabled) +{ + KviPasswordSelector * d = new KviPasswordSelector(this,txt,pOption,bEnabled); + addWidgetToLayout(d,x1,y1,x2,y2); + m_pSelectorInterfaceList->append(d); + return d; +} + +KviPasswordSelector * KviOptionsWidget::addPasswordSelector(QWidget * pParent,const QString & txt,QString *pOption,bool bEnabled) +{ + KviPasswordSelector * d = new KviPasswordSelector(pParent,txt,pOption,bEnabled); + m_pSelectorInterfaceList->append(d); + return d; +} + +KviPasswordSelector * KviOptionsWidget::addPasswordSelector(int x1,int y1,int x2,int y2,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_stringOptionsTable[optId].flags & KviOption_resetMask); + KviPasswordSelector * d = addPasswordSelector(x1,y1,x2,y2,txt,&(KVI_OPTION_STRING(optId)),bEnabled); + QString tmp = m_szBasicTipStart; + tmp += g_stringOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + return d; +} + +KviPasswordSelector * KviOptionsWidget::addPasswordSelector(QWidget * pParent,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_stringOptionsTable[optId].flags & KviOption_resetMask); + KviPasswordSelector * d = addPasswordSelector(pParent,txt,&(KVI_OPTION_STRING(optId)),bEnabled); + QString tmp = m_szBasicTipStart; + tmp += g_stringOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + return d; +} + +//////////////////////////////////////////////////////////////////////////////////////////////// + + +KviStringListSelector * KviOptionsWidget::addStringListSelector(int x1,int y1,int x2,int y2,const QString & txt,QStringList * pOption,bool bEnabled) +{ + KviStringListSelector * d = new KviStringListSelector(this,txt,pOption,bEnabled); + addWidgetToLayout(d,x1,y1,x2,y2); + m_pSelectorInterfaceList->append(d); + return d; +} + +KviStringListSelector * KviOptionsWidget::addStringListSelector(int x1,int y1,int x2,int y2,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_stringlistOptionsTable[optId].flags & KviOption_resetMask); + KviStringListSelector * d = addStringListSelector(x1,y1,x2,y2,txt,&(KVI_OPTION_STRINGLIST(optId)),bEnabled); + QString tmp = m_szBasicTipStart; + tmp += g_stringlistOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + return d; +} + +//////////////////////////////////////////////////////////////////////////////////////////////// + + +KviColorSelector * KviOptionsWidget::addColorSelector(int x1,int y1,int x2,int y2,const QString & txt,QColor * pOption,bool bEnabled) +{ + KviColorSelector * s = new KviColorSelector(this,txt,pOption,bEnabled); + addWidgetToLayout(s,x1,y1,x2,y2); + m_pSelectorInterfaceList->append(s); + return s; +} + +KviColorSelector * KviOptionsWidget::addColorSelector(QWidget * pParent,const QString & txt,QColor * pOption,bool bEnabled) +{ + KviColorSelector * s = new KviColorSelector(pParent,txt,pOption,bEnabled); + m_pSelectorInterfaceList->append(s); + return s; +} + +KviColorSelector * KviOptionsWidget::addColorSelector(int x1,int y1,int x2,int y2,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_colorOptionsTable[optId].flags & KviOption_resetMask); + KviColorSelector * d = addColorSelector(x1,y1,x2,y2,txt,&(KVI_OPTION_COLOR(optId)),bEnabled); + QString tmp = m_szBasicTipStart; + tmp += g_colorOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + return d; +} + +KviColorSelector * KviOptionsWidget::addColorSelector(QWidget * pParent,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_colorOptionsTable[optId].flags & KviOption_resetMask); + KviColorSelector * d = addColorSelector(pParent,txt,&(KVI_OPTION_COLOR(optId)),bEnabled); + QString tmp = m_szBasicTipStart; + tmp += g_colorOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + return d; +} + +///////////////////////////////////////////////////////////////////////////////////////////////// + + +KviMircTextColorSelector * KviOptionsWidget::addMircTextColorSelector(int x1,int y1,int x2,int y2,const QString & txt,unsigned int *uFore,unsigned int *uBack,bool bEnabled) +{ + KviMircTextColorSelector * s = new KviMircTextColorSelector(this,txt,uFore,uBack,bEnabled); + addWidgetToLayout(s,x1,y1,x2,y2); + m_pSelectorInterfaceList->append(s); + return s; +} + +KviMircTextColorSelector * KviOptionsWidget::addMircTextColorSelector(QWidget * pParent,const QString & txt,unsigned int *uFore,unsigned int *uBack,bool bEnabled) +{ + KviMircTextColorSelector * s = new KviMircTextColorSelector(pParent,txt,uFore,uBack,bEnabled); + m_pSelectorInterfaceList->append(s); + return s; +} + +KviMircTextColorSelector * KviOptionsWidget::addMircTextColorSelector(int x1,int y1,int x2,int y2,const QString & txt,int optForeId,int optBackId,bool bEnabled) +{ + m_iResetFlags |= (g_uintOptionsTable[optForeId].flags & KviOption_resetMask); + m_iResetFlags |= (g_uintOptionsTable[optBackId].flags & KviOption_resetMask); + KviMircTextColorSelector * d = addMircTextColorSelector(x1,y1,x2,y2,txt,&(KVI_OPTION_UINT(optForeId)),&(KVI_OPTION_UINT(optBackId)),bEnabled); + QString tmp = m_szBasicTipStart; + tmp += g_uintOptionsTable[optForeId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + return d; +} + +KviMircTextColorSelector * KviOptionsWidget::addMircTextColorSelector(QWidget * pParent,const QString & txt,int optForeId,int optBackId,bool bEnabled) +{ + m_iResetFlags |= (g_uintOptionsTable[optForeId].flags & KviOption_resetMask); + m_iResetFlags |= (g_uintOptionsTable[optBackId].flags & KviOption_resetMask); + KviMircTextColorSelector * d = addMircTextColorSelector(pParent,txt,&(KVI_OPTION_UINT(optForeId)),&(KVI_OPTION_UINT(optBackId)),bEnabled); + QString tmp = m_szBasicTipStart; + tmp += g_uintOptionsTable[optForeId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + return d; +} + + +//////////////////////////////////////////////////////////////////////////////////////////////// + + +KviFontSelector * KviOptionsWidget::addFontSelector(int x1,int y1,int x2,int y2,const QString & txt,QFont * pOption,bool bEnabled) +{ + KviFontSelector * f = new KviFontSelector(this,txt,pOption,bEnabled); + addWidgetToLayout(f,x1,y1,x2,y2); + m_pSelectorInterfaceList->append(f); + return f; +} + +KviFontSelector * KviOptionsWidget::addFontSelector(QWidget * pParent,const QString & txt,QFont * pOption,bool bEnabled) +{ + KviFontSelector * f = new KviFontSelector(pParent,txt,pOption,bEnabled); + m_pSelectorInterfaceList->append(f); + return f; +} + +KviFontSelector * KviOptionsWidget::addFontSelector(int x1,int y1,int x2,int y2,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_fontOptionsTable[optId].flags & KviOption_resetMask); + KviFontSelector * d = addFontSelector(x1,y1,x2,y2,txt,&(KVI_OPTION_FONT(optId)),bEnabled); + QString tmp = m_szBasicTipStart; + tmp += g_fontOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + return d; +} + +KviFontSelector * KviOptionsWidget::addFontSelector(QWidget * pParent,const QString & txt,int optId,bool bEnabled) +{ + m_iResetFlags |= (g_fontOptionsTable[optId].flags & KviOption_resetMask); + KviFontSelector * d = addFontSelector(pParent,txt,&(KVI_OPTION_FONT(optId)),bEnabled); + QString tmp = m_szBasicTipStart; + tmp += g_fontOptionsTable[optId].name; + tmp += m_szBasicTipEnd; + KviTalToolTip::add(d,tmp); + return d; +} + +//#define DECLARE_COMMIT_FUNCTION(__fnc,__class,__classString) +// void KviOptionsWidget::__fnc() +// { +// QObjectList * l = queryList(__classString); +// if(!l)return; +// QObjectListIt it(*l); +// while(it.current()) +// { +// ((__class *)it.current())->commit(); +// ++it; +// } +// delete l; +// } + +//DECLARE_COMMIT_FUNCTION(commitBoolSelectors,KviBoolSelector,"KviBoolSelector") +//DECLARE_COMMIT_FUNCTION(commitUIntSelectors,KviUIntSelector,"KviUIntSelector") +//DECLARE_COMMIT_FUNCTION(commitStringSelectors,KviStringSelector,"KviStringSelector") +//DECLARE_COMMIT_FUNCTION(commitPixmapSelectors,KviPixmapSelector,"KviPixmapSelector") + +void KviOptionsWidget::addRowSpacer(int x1,int y1,int x2,int y2) +{ + QWidget * w = new QWidget(this); + addWidgetToLayout(w,x1,y1,x2,y2); + layout()->setRowStretch(y1,1); +} + +QLabel * KviOptionsWidget::addLabel(int x1,int y1,int x2,int y2,const QString & text,bool bEnabled) +{ + QLabel * l = new QLabel(text,this); +#ifdef COMPILE_USE_QT4 + l->setWordWrap(true); +#endif + l->setEnabled(bEnabled); + addWidgetToLayout(l,x1,y1,x2,y2); + return l; +} + +QLabel * KviOptionsWidget::addLabel(QWidget * pParent,const QString & text,bool bEnabled) +{ + QLabel * l = new QLabel(text,pParent); +#ifdef COMPILE_USE_QT4 + l->setWordWrap(true); +#endif + l->setEnabled(bEnabled); + return l; +} + +QLineEdit * KviOptionsWidget::addLineEdit(int x1,int y1,int x2,int y2,bool bEnabled) +{ + QLineEdit * l = new QLineEdit(this); + l->setEnabled(bEnabled); + addWidgetToLayout(l,x1,y1,x2,y2); + return l; +} + +QFrame * KviOptionsWidget::addSeparator(int x1,int y1,int x2,int y2) +{ + QFrame * f = new QFrame(this); + f->setFrameStyle(QFrame::HLine | QFrame::Sunken); + addWidgetToLayout(f,x1,y1,x2,y2); + return f; +} + +#ifdef COMPILE_USE_QT4 +KviTalGroupBox * KviOptionsWidget::addGroupBox(int x1,int y1,int x2,int y2,int nStrips,Qt::Orientation o,const QString &txt,bool bEnabled) +#else +KviTalGroupBox * KviOptionsWidget::addGroupBox(int x1,int y1,int x2,int y2,int nStrips,KviTalGroupBox::Orientation o,const QString &txt,bool bEnabled) +#endif +{ + KviTalGroupBox * g = new KviTalGroupBox(nStrips,o,txt,this); + g->setEnabled(bEnabled); + addWidgetToLayout(g,x1,y1,x2,y2); + return g; +} + +void KviOptionsWidget::addAdvancedButton(int x1,int y1,int x2,int y2) +{ + QWidget * w = topLevelWidget(); + if(!w)return; + if(!w->inherits("KviGeneralOptionsDialog"))return; + + QPushButton * b = new QPushButton(__tr2qs("Advanced..."),this); + connect(b,SIGNAL(clicked()),this,SLOT(switchToAdvancedPage())); + addWidgetToLayout(b,x1,y1,x2,y2); +} + + +void KviOptionsWidget::commitSelectors() +{ +// if(m_iSelectors & KVI_OPTIONSELECTOR_TYPE_BOOL)commitBoolSelectors(); +// if(m_iSelectors & KVI_OPTIONSELECTOR_TYPE_UINT)commitUIntSelectors(); +// if(m_iSelectors & KVI_OPTIONSELECTOR_TYPE_STRING)commitStringSelectors(); +// if(m_iSelectors & KVI_OPTIONSELECTOR_TYPE_PIXMAP)commitPixmapSelectors(); +// m_iSelectors = 0; + for(KviSelectorInterface * i = m_pSelectorInterfaceList->first();i;i = m_pSelectorInterfaceList->next()) + { + i->commit(); + } +} + +void KviOptionsWidget::commitOptionsReset() +{ + if(m_iResetFlags)g_pApp->optionResetUpdate(m_iResetFlags); + //m_iResetFlags = 0; +} + +void KviOptionsWidget::commit() +{ + commitSelectors(); + commitOptionsReset(); +} + +void KviOptionsWidget::switchToAdvancedPage() +{ + // FIXME: what happens if we're toplevel ???? + // (so nobody listens to this signal....) + + emit wantToSwitchToAdvancedPage(this); +} + +#include "kvi_optionswidget.moc" |