diff options
| author | 2008-08-05 18:16:05 +0000 | |
|---|---|---|
| committer | 2008-08-05 18:16:05 +0000 | |
| commit | 5d37e4bc6cb1a66d779b7ee7b0cb379aa1cd0bbb (patch) | |
| tree | e91f269d66f7df436469d199d9a1b00d94f8e202 | |
| parent | msvc fix (diff) | |
| download | KVIrc-5d37e4bc6cb1a66d779b7ee7b0cb379aa1cd0bbb.tar.gz KVIrc-5d37e4bc6cb1a66d779b7ee7b0cb379aa1cd0bbb.tar.bz2 KVIrc-5d37e4bc6cb1a66d779b7ee7b0cb379aa1cd0bbb.zip | |
initial implementation for #76 (wip)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2194 17fca916-40b9-46aa-a4ea-0a15b648b75c
| -rw-r--r-- | src/kvirc/kernel/kvi_options.cpp | 19 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_options.h | 4 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_ircview.cpp | 33 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_ircview.h | 2 | ||||
| -rw-r--r-- | src/modules/options/instances.cpp | 47 | ||||
| -rw-r--r-- | src/modules/options/instances.h | 2 | ||||
| -rwxr-xr-x | src/modules/options/mkcreateinstanceproc.sh | 6 | ||||
| -rw-r--r-- | src/modules/options/optw_ircview.cpp | 85 | ||||
| -rw-r--r-- | src/modules/options/optw_ircview.h | 20 |
9 files changed, 186 insertions, 32 deletions
diff --git a/src/kvirc/kernel/kvi_options.cpp b/src/kvirc/kernel/kvi_options.cpp index 41f40836f..a7a994ffc 100644 --- a/src/kvirc/kernel/kvi_options.cpp +++ b/src/kvirc/kernel/kvi_options.cpp @@ -617,14 +617,16 @@ KviUIntOption g_uintOptionsTable[KVI_NUM_UINT_OPTIONS]= UINT_OPTION("ToolBarAppletPixmapAlign",0,KviOption_sectFlagFrame | KviOption_groupTheme), UINT_OPTION("TreeTaskBarPixmapAlign",0,KviOption_sectFlagFrame | KviOption_groupTheme), UINT_OPTION("InputPixmapAlign",0,KviOption_sectFlagFrame | KviOption_groupTheme), - UINT_OPTION("AutoFlushLogs",30,KviOption_sectFlagFrame ), - UINT_OPTION("MinTrayLowLevelMessage",1,KviOption_sectFlagFrame ), - UINT_OPTION("MinTrayHighLevelMessage",4,KviOption_sectFlagFrame ), - UINT_OPTION("IdentdOutputMode",KviIdentdOutputMode::Quiet,KviOption_sectFlagConnection ), - UINT_OPTION("ScaleAvatarsOnLoadHeight",600,KviOption_sectFlagAvatar ), - UINT_OPTION("ScaleAvatarsOnLoadWidth",800,KviOption_sectFlagAvatar ), - UINT_OPTION("NotifierActiveTransparency",90,KviOption_sectFlagFrame ), - UINT_OPTION("NotifierInactiveTransparency",40,KviOption_sectFlagFrame ) + UINT_OPTION("AutoFlushLogs",30,KviOption_sectFlagFrame), + UINT_OPTION("MinTrayLowLevelMessage",1,KviOption_sectFlagFrame), + UINT_OPTION("MinTrayHighLevelMessage",4,KviOption_sectFlagFrame), + UINT_OPTION("IdentdOutputMode",KviIdentdOutputMode::Quiet,KviOption_sectFlagConnection), + UINT_OPTION("ScaleAvatarsOnLoadHeight",600,KviOption_sectFlagAvatar), + UINT_OPTION("ScaleAvatarsOnLoadWidth",800,KviOption_sectFlagAvatar), + UINT_OPTION("NotifierActiveTransparency",90,KviOption_sectFlagFrame), + UINT_OPTION("NotifierInactiveTransparency",40,KviOption_sectFlagFrame), + UINT_OPTION("IrcViewMarkerStyle",0,KviOption_sectFlagIrcView | KviOption_groupTheme), + UINT_OPTION("IrcViewMarkerSize",1,KviOption_sectFlagIrcView | KviOption_groupTheme) }; #define FONT_OPTION(_name,_face,_size,_flags) \ @@ -832,7 +834,6 @@ static const char * options_section_table[KVI_NUM_OPTION_SECT_FLAGS] = "Recent", "Geometry" }; - static void config_set_section(int flag,KviConfig * cfg) { int index = flag & KviOption_sectMask; diff --git a/src/kvirc/kernel/kvi_options.h b/src/kvirc/kernel/kvi_options.h index 0a76bb996..590665a6f 100644 --- a/src/kvirc/kernel/kvi_options.h +++ b/src/kvirc/kernel/kvi_options.h @@ -563,8 +563,10 @@ DECLARE_OPTION_STRUCT(KviStringListOption,QStringList) #define KviOption_uintScaleAvatarsOnLoadWidth 62 #define KviOption_uintNotifierActiveTransparency 63 #define KviOption_uintNotifierInactiveTransparency 64 +#define KviOption_uintIrcViewMarkerStyle 65 +#define KviOption_uintIrcViewMarkerSize 66 -#define KVI_NUM_UINT_OPTIONS 65 +#define KVI_NUM_UINT_OPTIONS 67 namespace KviIdentdOutputMode { enum Mode { diff --git a/src/kvirc/ui/kvi_ircview.cpp b/src/kvirc/ui/kvi_ircview.cpp index 4fbab0ca7..de8b07141 100644 --- a/src/kvirc/ui/kvi_ircview.cpp +++ b/src/kvirc/ui/kvi_ircview.cpp @@ -3447,8 +3447,31 @@ no_selection_paint: { // need to mark it! //pa.setRasterOp(NotROP); - //pa.setPen(Qt::black); - pa.setPen(QPen(KVI_OPTION_COLOR(KviOption_colorIrcViewMarkLine),1,Qt::DotLine)); + + QPen pen(KVI_OPTION_COLOR(KviOption_colorIrcViewMarkLine),KVI_OPTION_UINT(KviOption_uintIrcViewMarkerSize)); + + switch(KVI_OPTION_UINT(KviOption_uintIrcViewMarkerStyle)) + { + case 1: + pen.setStyle(Qt::DashLine); + break; + case 2: + pen.setStyle(Qt::SolidLine); + break; + case 3: + pen.setStyle(Qt::DashDotLine); + break; + case 4: + pen.setStyle(Qt::DashDotDotLine); + break; + default: + pen.setStyle(Qt::DotLine); + } + + pa.setPen(pen); + + //pa.setPen(QPen(KVI_OPTION_COLOR(KviOption_colorIrcViewMarkLine),1,Qt::DotLine)); + int x = widgetWidth - 8; int y = KVI_IRCVIEW_VERTICAL_BORDER; pa.drawLine(x,y,x,y); @@ -5171,14 +5194,16 @@ void KviIrcView::doLinkToolTip(const QRect &rct,QString &linkCmd,QString &linkTe m_pToolTip->doTip(rct,tip); } -void KviIrcView::leaveEvent ( QEvent * ) + +void KviIrcView::leaveEvent(QEvent * ) { if(m_pLastLinkUnderMouse) - { + { m_pLastLinkUnderMouse=0; update(); } } + void KviIrcView::timerEvent(QTimerEvent *e) { m_mouseCurrentPos = mapFromGlobal(QCursor::pos()); diff --git a/src/kvirc/ui/kvi_ircview.h b/src/kvirc/ui/kvi_ircview.h index 7edb6b298..74d912f84 100644 --- a/src/kvirc/ui/kvi_ircview.h +++ b/src/kvirc/ui/kvi_ircview.h @@ -236,7 +236,7 @@ protected: virtual void wheelEvent(QWheelEvent *e); virtual void keyPressEvent(QKeyEvent *e); void maybeTip(const QPoint &pnt); - virtual void leaveEvent ( QEvent * ); + virtual void leaveEvent(QEvent *); protected slots: virtual void scrollBarPositionChanged(int newValue); void masterDead(); diff --git a/src/modules/options/instances.cpp b/src/modules/options/instances.cpp index 119149290..9d37e7c03 100644 --- a/src/modules/options/instances.cpp +++ b/src/modules/options/instances.cpp @@ -297,6 +297,11 @@ KviOptionsWidget * classKviIrcViewFeaturesOptionsWidget_createInstanceProc(QWidg return new KviIrcViewFeaturesOptionsWidget(parent); } +KviOptionsWidget * classKviIrcViewMarkerOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new KviIrcViewMarkerOptionsWidget(parent); +} + KviOptionsWidget * classKviLagOptionsWidget_createInstanceProc(QWidget * parent) { return new KviLagOptionsWidget(parent); @@ -569,6 +574,8 @@ static const char * g_szName_KviIrcViewLookOptionsWidget = KVI_OPTIONS_WIDGET_NA static const char * g_szClassName_KviIrcViewLookOptionsWidget = "KviIrcViewLookOptionsWidget"; static const char * g_szName_KviIrcViewFeaturesOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcViewFeaturesOptionsWidget; static const char * g_szClassName_KviIrcViewFeaturesOptionsWidget = "KviIrcViewFeaturesOptionsWidget"; +static const char * g_szName_KviIrcViewMarkerOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcViewMarkerOptionsWidget; +static const char * g_szClassName_KviIrcViewMarkerOptionsWidget = "KviIrcViewMarkerOptionsWidget"; static const char * g_szName_KviLagOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviLagOptionsWidget; static const char * g_szClassName_KviLagOptionsWidget = "KviLagOptionsWidget"; static const char * g_szName_KviLoggingOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviLoggingOptionsWidget; @@ -2826,6 +2833,40 @@ KviOptionsInstanceManager::KviOptionsInstanceManager() e0->pChildList->append(e1); e1->pChildList = 0; + e1 = new KviOptionsWidgetInstanceEntry; + e1->createProc = &classKviIrcViewMarkerOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviIrcViewMarkerOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcViewMarkerOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewMarkerOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewMarkerOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewMarkerOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewMarkerOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcViewMarkerOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcViewMarkerOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewMarkerOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewMarkerOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewMarkerOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewMarkerOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviIrcViewMarkerOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcViewMarkerOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + e0 = new KviOptionsWidgetInstanceEntry; e0->createProc = &classKviMessageOptionsWidget_createInstanceProc; e0->pWidget = 0; @@ -3503,11 +3544,7 @@ KviOptionsWidget * KviOptionsInstanceManager::getInstance(KviOptionsWidgetInstan if(e->pWidget->parent() != par) { QWidget * oldPar = (QWidget *)e->pWidget->parent(); - //e->pWidget->reparent(par,QPoint(0,0)); - e->pWidget->setParent(par); - e->pWidget->setGeometry(0,0,e->pWidget->width(),e->pWidget->height()); - // - + e->pWidget->reparent(par,QPoint(0,0)); delete oldPar; } if(e->bIsContainer) diff --git a/src/modules/options/instances.h b/src/modules/options/instances.h index 55aca0422..12f10a42c 100644 --- a/src/modules/options/instances.h +++ b/src/modules/options/instances.h @@ -54,7 +54,7 @@ typedef struct _KviOptionsWidgetInstanceEntry bool bIsContainer; bool bIsNotContained; KviPointerList<KviOptionsWidgetInstanceEntry> * pChildList; - bool bDoInsert; // a helper for KviOptionsDialog::fillTreeWidget() + bool bDoInsert; // a helper for KviOptionsDialog::fillListView() } KviOptionsWidgetInstanceEntry; diff --git a/src/modules/options/mkcreateinstanceproc.sh b/src/modules/options/mkcreateinstanceproc.sh index ddab383c5..4a1c828c3 100755 --- a/src/modules/options/mkcreateinstanceproc.sh +++ b/src/modules/options/mkcreateinstanceproc.sh @@ -5,7 +5,7 @@ # Generator for instances.h and instances.cpp # # This file is part of the KVirc irc client distribution -# Copyright (C) 2001-2006 Szymon Stefanek (pragma at kvirc dot net) +# Copyright (C) 2001-2008 Szymon Stefanek (pragma at kvirc dot net) # ##################################################################################################### @@ -22,7 +22,7 @@ cat >> instances.h <<EOF // File : instances.h // // This file is part of the KVirc irc client distribution -// Copyright (C) 2001-2006 Szymon Stefanek (pragma at kvirc dot net) +// Copyright (C) 2001-2008 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 @@ -113,7 +113,7 @@ cat >> instances.cpp <<EOF // File : instances.cpp // // This file is part of the KVirc irc client distribution -// Copyright (C) 2001 Szymon Stefanek (stefanek@tin.it) +// Copyright (C) 2001-2008 Szymon Stefanek (stefanek@tin.it) // // This program is FREE software. You can redistribute it and/or // modify it under the terms of the GNU General Public License diff --git a/src/modules/options/optw_ircview.cpp b/src/modules/options/optw_ircview.cpp index 08e3f8861..79eda20ef 100644 --- a/src/modules/options/optw_ircview.cpp +++ b/src/modules/options/optw_ircview.cpp @@ -38,10 +38,12 @@ KviIrcViewThemeOptionsWidget::~KviIrcViewThemeOptionsWidget() //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// KviIrcViewLookOptionsWidget::KviIrcViewLookOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent,"ircviewlook_options_widget") +: KviOptionsWidget(parent) { createLayout(); + setObjectName("ircviewlook_options_widget"); + addFontSelector(0,0,1,0,__tr2qs_ctx("Font:","options"),KviOption_fontIrcView); addColorSelector(0,1,1,1,__tr2qs_ctx("Background color:","options"),KviOption_colorIrcViewBackground); @@ -54,8 +56,6 @@ KviIrcViewLookOptionsWidget::KviIrcViewLookOptionsWidget(QWidget * parent) addLabel(0,4,0,4,__tr2qs_ctx("Vertical align:","options")); m_pVerticalAlign=new QComboBox(this); addWidgetToLayout(m_pVerticalAlign,1,4,1,4); - - addColorSelector(0,5,1,5,__tr2qs_ctx("Mark Line:","options"),KviOption_colorIrcViewMarkLine); m_pHorizontalAlign->addItem(__tr2qs_ctx("Tile","options")); m_pHorizontalAlign->addItem(__tr2qs_ctx("Left","options")); @@ -153,16 +153,89 @@ KviIrcViewFeaturesOptionsWidget::KviIrcViewFeaturesOptionsWidget(QWidget * paren s->setSuffix(__tr2qs_ctx(" msec","options")); s = addUIntSelector(0,11,0,11,__tr2qs_ctx("Link tooltip hide delay:","options"),KviOption_uintIrcViewToolTipHideTimeoutInMsec,256,10000,12000); s->setSuffix(__tr2qs_ctx(" msec","options")); - addBoolSelector(0,12,0,12,__tr2qs_ctx("Track last read text line","options"),KviOption_boolTrackLastReadTextViewLine); - addRowSpacer(0,13,0,13); - + + addRowSpacer(0,12,0,12); } KviIrcViewFeaturesOptionsWidget::~KviIrcViewFeaturesOptionsWidget() { } +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +KviIrcViewMarkerOptionsWidget::KviIrcViewMarkerOptionsWidget(QWidget * parent) +: KviOptionsWidget(parent) +{ + createLayout(); + + setObjectName("ircviewmarker_options_widget"); + + addBoolSelector(0,0,1,0,__tr2qs_ctx("Track last read text line","options"),KviOption_boolTrackLastReadTextViewLine); + addColorSelector(0,1,1,1,__tr2qs_ctx("Marker color:","options"),KviOption_colorIrcViewMarkLine); + + KviUIntSelector * s = addUIntSelector(0,2,1,2,__tr2qs_ctx("Marker size:","options"),KviOption_uintIrcViewMarkerSize,1,5,1); + s->setSuffix(__tr2qs_ctx(" pixels","options")); + + addLabel(0,3,0,3,__tr2qs_ctx("Marker style:","options")); + m_pMarkerStyle=new QComboBox(this); + addWidgetToLayout(m_pMarkerStyle,1,3,1,3); + + addRowSpacer(0,4,0,4); + + m_pMarkerStyle->addItem(__tr2qs_ctx("DotLine","options")); + m_pMarkerStyle->addItem(__tr2qs_ctx("DashLine","options")); + m_pMarkerStyle->addItem(__tr2qs_ctx("SolidLine","options")); + m_pMarkerStyle->addItem(__tr2qs_ctx("DashDotLine","options")); + m_pMarkerStyle->addItem(__tr2qs_ctx("DashDotDotLine","options")); + + //switch( KVI_OPTION_UINT(KviOption_uintIrcViewMarkerStyle) & Qt::PenStyle) + //switch(Qt::PenStyle) + switch(KVI_OPTION_UINT(KviOption_uintIrcViewMarkerStyle)) + { + case Qt::DashLine: + m_pMarkerStyle->setCurrentIndex(1); + break; + case Qt::SolidLine: + m_pMarkerStyle->setCurrentIndex(2); + break; + case Qt::DashDotLine: + m_pMarkerStyle->setCurrentIndex(3); + break; + case Qt::DashDotDotLine: + m_pMarkerStyle->setCurrentIndex(4); + break; + default: + m_pMarkerStyle->setCurrentIndex(0); + } + +} + +KviIrcViewMarkerOptionsWidget::~KviIrcViewMarkerOptionsWidget() +{ +} +void KviIrcViewMarkerOptionsWidget::commit() +{ + int iFlags=0; + switch(m_pMarkerStyle->currentIndex()) + { + case 1: + iFlags|=Qt::DashLine; + break; + case 2: + iFlags|=Qt::SolidLine; + break; + case 3: + iFlags|=Qt::DashDotLine; + break; + case 4: + iFlags|=Qt::DashDotDotLine; + break; + } + + KVI_OPTION_UINT(KviOption_uintIrcViewMarkerStyle)=iFlags; + KviOptionsWidget::commit(); +} #ifndef COMPILE_USE_STANDALONE_MOC_SOURCES #include "m_optw_ircview.moc" diff --git a/src/modules/options/optw_ircview.h b/src/modules/options/optw_ircview.h index 0a1f1f4a7..fd3745705 100644 --- a/src/modules/options/optw_ircview.h +++ b/src/modules/options/optw_ircview.h @@ -56,8 +56,8 @@ class KviIrcViewLookOptionsWidget : public KviOptionsWidget { Q_OBJECT private: - QComboBox* m_pHorizontalAlign; - QComboBox* m_pVerticalAlign; + QComboBox * m_pHorizontalAlign; + QComboBox * m_pVerticalAlign; public: KviIrcViewLookOptionsWidget(QWidget * parent); ~KviIrcViewLookOptionsWidget(); @@ -79,6 +79,22 @@ public: ~KviIrcViewFeaturesOptionsWidget(); }; +#define KVI_OPTIONS_WIDGET_ICON_KviIrcViewMarkerOptionsWidget KVI_SMALLICON_IRCVIEW +#define KVI_OPTIONS_WIDGET_NAME_KviIrcViewMarkerOptionsWidget __tr2qs_no_lookup("Marker") +#define KVI_OPTIONS_WIDGET_GROUP_KviIrcViewMarkerOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_PARENT_KviIrcViewMarkerOptionsWidget KviIrcViewThemeOptionsWidget +#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewMarkerOptionsWidget 10 + +class KviIrcViewMarkerOptionsWidget : public KviOptionsWidget +{ + Q_OBJECT +public: + KviIrcViewMarkerOptionsWidget(QWidget * pParent); + ~KviIrcViewMarkerOptionsWidget(); + virtual void commit(); +private: + QComboBox * m_pMarkerStyle; +}; #endif //!_OPTW_IRCVIEW_H_ |
