2
* Copyright 2001 by Laurent Montel, released under Artistic License.
5
#include "kchartHeaderFooterConfigPage.h"
6
#include "kchartHeaderFooterConfigPage.moc"
8
#include <kapplication.h>
13
#include <qlineedit.h>
14
#include <qbuttongroup.h>
15
#include <kfontdialog.h>
17
#include "kchart_params.h"
19
KChartHeaderFooterConfigPage::KChartHeaderFooterConfigPage( KChartParams* params,
21
QWidget( parent ),_params( params )
23
QVBoxLayout* toplevel = new QVBoxLayout( this, 10 );
25
QGridLayout* layout = new QGridLayout( 1, 3 );
26
toplevel->addLayout( layout );
28
QButtonGroup* gb1 = new QButtonGroup( 0, Qt::Vertical, i18n("Header/Footer"), this );
29
gb1->layout()->setSpacing(KDialog::spacingHint());
30
gb1->layout()->setMargin(KDialog::marginHint());
31
QGridLayout *grid1 = new QGridLayout(gb1->layout(),3,4);
33
QLabel *lab=new QLabel(i18n("Title:"),gb1);
34
grid1->addWidget(lab,0,0);
36
titleEdit=new QLineEdit(gb1);
37
grid1->addWidget(titleEdit,0,1);
39
titleColorButton=new KColorButton(gb1);
40
grid1->addWidget(titleColorButton,0,2);
42
titleFontButton=new QPushButton(i18n("Font..."),gb1);
43
grid1->addWidget(titleFontButton,0,3);
44
connect( titleFontButton, SIGNAL(clicked()), this, SLOT(changeTitleFont()));
46
lab=new QLabel(i18n("Subtitle:"),gb1);
47
grid1->addWidget(lab,1,0);
49
subtitleEdit=new QLineEdit(gb1);
50
grid1->addWidget(subtitleEdit,1,1);
52
subtitleColorButton=new KColorButton(gb1);
53
grid1->addWidget(subtitleColorButton,1,2);
55
subtitleFontButton=new QPushButton(i18n("Font..."),gb1);
56
grid1->addWidget(subtitleFontButton,1,3);
57
connect( subtitleFontButton, SIGNAL(clicked()), this, SLOT(changeSubtitleFont()));
59
lab=new QLabel(i18n("Footer:"),gb1);
60
grid1->addWidget(lab,2,0);
62
footerEdit=new QLineEdit(gb1);
63
grid1->addWidget(footerEdit,2,1);
65
footerColorButton=new KColorButton(gb1);
66
grid1->addWidget(footerColorButton,2,2);
68
footerFontButton=new QPushButton(i18n("Font..."),gb1);
69
connect( footerFontButton, SIGNAL(clicked()), this, SLOT(changeFooterFont()));
70
grid1->addWidget(footerFontButton,2,3);
72
layout->addWidget(gb1,0,0);
76
void KChartHeaderFooterConfigPage::init()
78
titleColorButton->setColor(_params->headerFooterColor( KDChartParams::HdFtPosHeader ) );
79
subtitleColorButton->setColor(_params->headerFooterColor( KDChartParams::HdFtPosHeader2 ));
80
footerColorButton->setColor(_params->headerFooterColor( KDChartParams::HdFtPosFooter ) );
81
titleEdit->setText(_params->header1Text());
82
subtitleEdit->setText(_params->header2Text());
83
footerEdit->setText(_params->footerText());
86
titleFont = _params->header1Font();
87
titleFontIsRelative = _params->headerFooterFontUseRelSize(KDChartParams::HdFtPosHeader)
90
if( QButton::On == titleFontIsRelative )
91
titleFont.setPointSize( _params->headerFooterFontRelSize(KDChartParams::HdFtPosHeader) );
93
subtitleFont = _params->header2Font();
94
subtitleFontIsRelative = _params->headerFooterFontUseRelSize(KDChartParams::HdFtPosHeader2)
97
if( QButton::On == subtitleFontIsRelative )
98
subtitleFont.setPointSize( _params->headerFooterFontRelSize(KDChartParams::HdFtPosHeader2) );
100
footerFont = _params->footerFont();
101
footerFontIsRelative = _params->headerFooterFontUseRelSize(KDChartParams::HdFtPosFooter)
104
if( QButton::On == footerFontIsRelative )
105
footerFont.setPointSize( _params->headerFooterFontRelSize(KDChartParams::HdFtPosFooter) );
109
void KChartHeaderFooterConfigPage::apply()
111
_params->setHeaderFooterColor( KDChartParams::HdFtPosHeader,titleColorButton->color() );
112
_params->setHeaderFooterColor( KDChartParams::HdFtPosHeader2,subtitleColorButton->color() );
113
_params->setHeaderFooterColor( KDChartParams::HdFtPosFooter, footerColorButton->color() );
116
_params->setHeader1Text(titleEdit->text());
117
_params->setHeader2Text(subtitleEdit->text());
118
_params->setFooterText(footerEdit->text());
121
_params->setHeaderFooterFont( KDChartParams::HdFtPosHeader, titleFont,
123
titleFont.pointSize() );
124
_params->setHeaderFooterFont( KDChartParams::HdFtPosHeader2, subtitleFont,
125
subtitleFontIsRelative,
126
subtitleFont.pointSize() );
127
_params->setHeaderFooterFont( KDChartParams::HdFtPosFooter, footerFont,
128
footerFontIsRelative,
129
footerFont.pointSize() );
132
void KChartHeaderFooterConfigPage::changeTitleFont()
134
QButton::ToggleState state = titleFontIsRelative;
135
if ( KFontDialog::getFont( titleFont,false,this, true,&state ) != QDialog::Rejected
136
&& QButton::NoChange != state )
137
titleFontIsRelative = state;
140
void KChartHeaderFooterConfigPage::changeSubtitleFont()
142
QButton::ToggleState state = subtitleFontIsRelative;
143
if ( KFontDialog::getFont( subtitleFont,false,this, true,&state ) != QDialog::Rejected
144
&& QButton::NoChange != state )
145
subtitleFontIsRelative = state;
148
void KChartHeaderFooterConfigPage::changeFooterFont()
150
QButton::ToggleState state = footerFontIsRelative;
151
if ( KFontDialog::getFont( footerFont,false,this, true,&state ) != QDialog::Rejected
152
&& QButton::NoChange != state )
153
footerFontIsRelative = state;