1
//=============================================================================
3
// File : OptionsWidget_theme.cpp
4
// Creation date : Sun Jun 3 2001 20:50:13 CEST by Szymon Stefanek
6
// This file is part of the KVIrc irc client distribution
7
// Copyright (C) 2001-2010 Szymon Stefanek (pragma at kvirc dot net)
9
// This program is FREE software. You can redistribute it and/or
10
// modify it under the terms of the GNU General Public License
11
// as published by the Free Software Foundation; either version 2
12
// of the License, or (at your opinion) any later version.
14
// This program is distributed in the HOPE that it will be USEFUL,
15
// but WITHOUT ANY WARRANTY; without even the implied warranty of
16
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
// See the GNU General Public License for more details.
19
// You should have received a copy of the GNU General Public License
20
// along with this program. If not, write to the Free Software Foundation,
21
// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
23
//=============================================================================
25
#include "OptionsWidget_theme.h"
27
#include "kvi_settings.h"
28
#include "KviOptions.h"
29
#include "KviLocale.h"
30
#include "KviApplication.h"
31
#include "KviTalToolTip.h"
35
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
37
OptionsWidget_theme::OptionsWidget_theme(QWidget * parent)
38
: KviOptionsWidget(parent)
42
KviBoolSelector * b = addBoolSelector(0,1,1,1,__tr2qs_ctx("Use global application font","options"),KviOption_boolUseGlobalApplicationFont);
43
KviTalToolTip::add(b,__tr2qs_ctx("This option will force a static font for every widget that has no specific font setting","options"));
44
addBoolSelector(0,0,1,0,__tr2qs_ctx("Show icons in popup menus","options"),KviOption_boolShowIconsInPopupMenus);
45
KviFontSelector * f = addFontSelector(0,2,1,2,__tr2qs_ctx("Global application font:","options"),KviOption_fontApplication,
46
KVI_OPTION_BOOL(KviOption_boolUseGlobalApplicationFont));
48
connect(b,SIGNAL(toggled(bool)),f,SLOT(setEnabled(bool)));
50
addRowSpacer(0,3,1,3);
53
OptionsWidget_theme::~OptionsWidget_theme()
57
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
60
OptionsWidget_themeTransparency::OptionsWidget_themeTransparency(QWidget * parent)
61
: KviOptionsWidget(parent)
63
#ifdef COMPILE_PSEUDO_TRANSPARENCY
67
KviUIntSelector * u = addUIntSelector(0,0,1,0,__tr2qs_ctx("Global window opacity percent:","options"),KviOption_uintGlobalWindowOpacityPercent,
70
m_pUseTransparencyBoolSelector = addBoolSelector(0,1,1,1,__tr2qs_ctx("Enable transparency","options"),KviOption_boolUseGlobalPseudoTransparency);
71
#ifdef COMPILE_X11_SUPPORT
72
mergeTip(m_pUseTransparencyBoolSelector,
73
__tr2qs_ctx("<center>This option makes all KVIrc windows look " \
74
"transparent.<br>You must choose a blending " \
75
"background image to below or check the " \
76
"\"Use compositing for real transparency\" option.</center>","options"));
77
#elif defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
78
mergeTip(m_pUseTransparencyBoolSelector,
79
__tr2qs_ctx("<center>This option makes all KVIrc windows look " \
80
"transparent.<br>You must choose a blending " \
81
"background image to below or check the " \
82
"\"Use desktop background for transparency\" option.</center>","options"));
84
mergeTip(m_pUseTransparencyBoolSelector,
85
__tr2qs_ctx("<center>This option makes all KVIrc windows look " \
86
"like transparent.<br>You must choose a blending " \
87
"background image to below.</center>","options"));
90
u = addUIntSelector(0,2,1,2,__tr2qs_ctx("Child window opacity:","options"),KviOption_uintGlobalTransparencyChildFadeFactor,
91
0,100,35,KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency));
92
connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool)));
94
u = addUIntSelector(0,3,1,3,__tr2qs_ctx("Parent window opacity:","options"),KviOption_uintGlobalTransparencyParentFadeFactor,
95
0,100,10,KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency));
96
connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool)));
98
KviColorSelector * c = addColorSelector(0,4,1,4,__tr2qs_ctx("Blend color:","options"),KviOption_colorGlobalTransparencyFade,
99
KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency));
100
connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),c,SLOT(setEnabled(bool)));
102
#ifdef COMPILE_X11_SUPPORT
103
m_pUseCompositingForTransparencyBoolSelector = addBoolSelector(0,5,1,5,__tr2qs_ctx("Use compositing for real transparency","options"),KviOption_boolUseCompositingForTransparency, KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency));
105
m_pGlobalBackgroundPixmapSelector = addPixmapSelector(0,6,1,6,__tr2qs_ctx("Transparency blend image:","options"),KviOption_pixmapGlobalTransparencyBackground, KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency) && !KVI_OPTION_BOOL(KviOption_boolUseCompositingForTransparency));
106
layout()->setRowStretch(7,1);
108
if(g_pApp->supportsCompositing())
110
connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),m_pUseCompositingForTransparencyBoolSelector,SLOT(setEnabled(bool)));
111
connect(m_pUseCompositingForTransparencyBoolSelector,SIGNAL(toggled(bool)),this,SLOT(enableGlobalBackgroundPixmapSelector(bool)));
113
m_pUseCompositingForTransparencyBoolSelector->setEnabled(false);
114
m_pUseCompositingForTransparencyBoolSelector->setChecked(false);
115
enableGlobalBackgroundPixmapSelector(true);
118
#elif defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
119
m_pUseWindowsFakeDesktopTransparencyBoolSelector = addBoolSelector(0,5,1,5,__tr2qs_ctx("Use desktop background for transparency","options"),KviOption_boolUseWindowsDesktopForTransparency, KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency));
121
m_pGlobalBackgroundPixmapSelector = addPixmapSelector(0,6,1,6,__tr2qs_ctx("Transparency blend image:","options"),KviOption_pixmapGlobalTransparencyBackground, KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency) && !KVI_OPTION_BOOL(KviOption_boolUseCompositingForTransparency));
122
layout()->setRowStretch(7,1);
124
connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),m_pUseWindowsFakeDesktopTransparencyBoolSelector,SLOT(setEnabled(bool)));
125
connect(m_pUseWindowsFakeDesktopTransparencyBoolSelector,SIGNAL(toggled(bool)),this,SLOT(enableGlobalBackgroundPixmapSelector(bool)));
128
m_pGlobalBackgroundPixmapSelector = addPixmapSelector(0,5,1,5,__tr2qs_ctx("Transparency blend image:","options"),KviOption_pixmapGlobalTransparencyBackground, KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency));
129
layout()->setRowStretch(6,1);
130
#endif //!COMPILE_X11_SUPPORT
132
connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),this,SLOT(enableGlobalBackgroundPixmapSelector(bool)));
133
#else //!COMPILE_PSEUDO_TRANSPARENCY
135
addRowSpacer(0,0,0,0);
139
OptionsWidget_themeTransparency::~OptionsWidget_themeTransparency()
143
void OptionsWidget_themeTransparency::enableGlobalBackgroundPixmapSelector(bool)
145
#ifdef COMPILE_PSEUDO_TRANSPARENCY
146
#ifdef COMPILE_X11_SUPPORT
147
m_pGlobalBackgroundPixmapSelector->setEnabled(m_pUseTransparencyBoolSelector->isChecked() && !(m_pUseCompositingForTransparencyBoolSelector->isChecked()));
148
#elif defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
149
m_pGlobalBackgroundPixmapSelector->setEnabled(m_pUseTransparencyBoolSelector->isChecked() && !(m_pUseWindowsFakeDesktopTransparencyBoolSelector->isChecked()));
151
m_pGlobalBackgroundPixmapSelector->setEnabled(m_pUseTransparencyBoolSelector->isChecked());
156
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
159
OptionsWidget_themeMdiArea::OptionsWidget_themeMdiArea(QWidget * parent)
160
: KviOptionsWidget(parent)
164
addColorSelector(0,0,0,0,__tr2qs_ctx("Background","options"),KviOption_colorMdiBackground);
165
addPixmapSelector(0,1,0,1,__tr2qs_ctx("Background Image","options"),KviOption_pixmapMdiBackground);
167
layout()->setRowStretch(1,1);
170
OptionsWidget_themeMdiArea::~OptionsWidget_themeMdiArea()
174
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
177
OptionsWidget_themeToolBarApplets::OptionsWidget_themeToolBarApplets(QWidget * parent)
178
: KviOptionsWidget(parent)
182
addFontSelector(0,0,0,0,__tr2qs_ctx("Font","options"),KviOption_fontIrcToolBarApplet);
184
addColorSelector(0,1,0,1,__tr2qs_ctx("Background","options"),KviOption_colorIrcToolBarAppletBackground);
185
addColorSelector(0,2,0,2,__tr2qs_ctx("Low-Contrast Foreground","options"),KviOption_colorIrcToolBarAppletForegroundLowContrast);
186
addColorSelector(0,3,0,3,__tr2qs_ctx("Mid-Contrast Foreground","options"),KviOption_colorIrcToolBarAppletForegroundMidContrast);
187
addColorSelector(0,4,0,4,__tr2qs_ctx("Active High-Contrast Foreground (Primary)","options"),KviOption_colorIrcToolBarAppletForegroundHighContrastActive1);
188
addColorSelector(0,5,0,5,__tr2qs_ctx("Active High-Contrast Foreground (Secondary)","options"),KviOption_colorIrcToolBarAppletForegroundHighContrastActive2);
189
addColorSelector(0,6,0,6,__tr2qs_ctx("Inactive High-Contrast Foreground (Primary)","options"),KviOption_colorIrcToolBarAppletForegroundHighContrastInactive1);
190
addColorSelector(0,7,0,7,__tr2qs_ctx("Inactive High-Contrast Foreground (Secondary)","options"),KviOption_colorIrcToolBarAppletForegroundHighContrastInactive2);
192
addPixmapSelector(0,8,0,8,__tr2qs_ctx("Background Image","options"),KviOption_pixmapIrcToolBarAppletBackground);
194
layout()->setRowStretch(8,1);
197
OptionsWidget_themeToolBarApplets::~OptionsWidget_themeToolBarApplets()
202
#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES
203
#include "m_OptionsWidget_theme.moc"
204
#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES