• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdesdk API Reference
  • KDE Home
  • Contact Us
 

kompare

  • sources
  • kde-4.14
  • kdesdk
  • kompare
  • libdialogpages
viewpage.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  viewprefs.cpp
3  -------------
4  begin : Sun Mar 4 2001
5  Copyright 2001-2002 Otto Bruggeman <otto.bruggeman@home.nl>
6  Copyright 2001-2002 John Firebaugh <jfirebaugh@kde.org>
7  Copyright 2007-2011 Kevin Kofler <kevin.kofler@chello.at>
8 ****************************************************************************/
9 
10 /***************************************************************************
11 **
12 ** This program is free software; you can redistribute it and/or modify
13 ** it under the terms of the GNU General Public License as published by
14 ** the Free Software Foundation; either version 2 of the License, or
15 ** (at your option) any later version.
16 **
17 ***************************************************************************/
18 
19 #include "viewpage.h"
20 
21 #include <QtGui/QCheckBox>
22 #include <QtGui/QGroupBox>
23 #include <QtGui/QLabel>
24 #include <QtGui/QLayout>
25 #include <QtGui/QSpinBox>
26 #include <QtGui/QVBoxLayout>
27 #include <QtGui/QGridLayout>
28 #include <QtGui/QFontComboBox>
29 
30 #include <kapplication.h>
31 #include <kcolorbutton.h>
32 #include <kdialog.h>
33 #include <klocale.h>
34 #include <kglobal.h>
35 #include <ktabwidget.h>
36 
37 #include "viewsettings.h"
38 
39 ViewPage::ViewPage() : PageBase()
40 {
41  QWidget* page;
42  QVBoxLayout* layout;
43  QGridLayout* gridLayout;
44  QGroupBox* colorGroupBox;
45  QGroupBox* snolGroupBox;
46  QGroupBox* tabGroupBox;
47  QLabel* label;
48 
49  m_tabWidget = new KTabWidget( this );
50  page = new QWidget( m_tabWidget );
51  layout = new QVBoxLayout( page );
52  layout->setSpacing( KDialog::spacingHint() );
53  layout->setMargin( KDialog::marginHint() );
54 
55  // add a groupbox
56  colorGroupBox = new QGroupBox( page );
57  colorGroupBox->setTitle( i18n( "Colors" ) );
58  layout->addWidget( colorGroupBox );
59  //colorGroupBox->setMargin( KDialog::marginHint() );
60  gridLayout = new QGridLayout( colorGroupBox );
61 
62  // add the removeColor
63  label = new QLabel( i18n( "Removed color:" ), colorGroupBox );
64  m_removedColorButton = new KColorButton( colorGroupBox );
65  label->setBuddy( m_removedColorButton );
66  gridLayout->addWidget( label, 0, 0 );
67  gridLayout->addWidget( m_removedColorButton, 0, 1 );
68 
69  // add the changeColor
70  label = new QLabel( i18n( "Changed color:" ), colorGroupBox );
71  m_changedColorButton = new KColorButton( colorGroupBox );
72  label->setBuddy( m_changedColorButton );
73  gridLayout->addWidget( label, 1, 0 );
74  gridLayout->addWidget( m_changedColorButton, 1, 1 );
75 
76  // add the addColor
77  label = new QLabel( i18n( "Added color:" ), colorGroupBox );
78  m_addedColorButton = new KColorButton( colorGroupBox );
79  label->setBuddy( m_addedColorButton );
80  gridLayout->addWidget( label, 2, 0 );
81  gridLayout->addWidget( m_addedColorButton, 2, 1 );
82 
83  // add the appliedColor
84  label = new QLabel( i18n( "Applied color:" ), colorGroupBox );
85  m_appliedColorButton = new KColorButton( colorGroupBox );
86  label->setBuddy( m_appliedColorButton );
87  gridLayout->addWidget( label, 3, 0 );
88  gridLayout->addWidget( m_appliedColorButton, 3, 1 );
89 
90  // scroll number of lines (snol)
91  snolGroupBox = new QGroupBox( page );
92  QHBoxLayout *snolLayout = new QHBoxLayout;
93  snolGroupBox->setLayout( snolLayout );
94  snolGroupBox->setTitle( i18n( "Mouse Wheel" ) );
95  layout->addWidget( snolGroupBox );
96  //snolGroupBox->setMargin( KDialog::marginHint() );
97 
98  label = new QLabel( i18n( "Number of lines:" ) );
99  snolLayout->addWidget( label );
100  m_snolSpinBox = new QSpinBox( snolGroupBox );
101  m_snolSpinBox->setRange( 0, 50 );
102  snolLayout->addWidget( m_snolSpinBox );
103  label->setBuddy( m_snolSpinBox );
104 
105  // Temporarily here for testing...
106  // number of spaces for a tab character stuff
107  tabGroupBox = new QGroupBox( page );
108  QHBoxLayout *tabLayout = new QHBoxLayout;
109  tabGroupBox->setLayout( tabLayout );
110  tabGroupBox->setTitle( i18n( "Tabs to Spaces" ) );
111  layout->addWidget( tabGroupBox );
112  //tabGroupBox->setMargin( KDialog::marginHint() );
113 
114  label = new QLabel( i18n( "Number of spaces to convert a tab character to:" ) );
115  tabLayout->addWidget( label );
116  m_tabSpinBox = new QSpinBox( tabGroupBox );
117  m_tabSpinBox->setRange( 1, 16 );
118  tabLayout->addWidget( m_tabSpinBox );
119  label->setBuddy( m_tabSpinBox );
120 
121  layout->addStretch( 1 );
122  page->setMinimumSize( sizeHintForWidget( page ) );
123 
124  m_tabWidget->addTab( page, i18n( "Appearance" ) );
125 
126  page = new QWidget( m_tabWidget );
127  layout = new QVBoxLayout( page );
128  layout->setSpacing( KDialog::spacingHint() );
129  layout->setMargin( KDialog::marginHint() );
130 
131  QGroupBox* gb = new QGroupBox( page );
132  QHBoxLayout *layfont = new QHBoxLayout;
133  gb->setLayout( layfont );
134  gb->setTitle( i18n( "Text Font" ) );
135  layout->addWidget( gb );
136  //gb->setMargin( KDialog::marginHint() );
137 
138  label = new QLabel( i18n( "Font:" ) );
139  m_fontCombo = new QFontComboBox;
140  layfont->addWidget( label );
141  layfont->addWidget( m_fontCombo );
142  m_fontCombo->setObjectName( "fontcombo" );
143  label->setBuddy( m_fontCombo );
144 
145  label = new QLabel( i18n( "Size:" ) );
146  layfont->addWidget( label );
147  m_fontSizeSpinBox = new QSpinBox( gb );
148  m_fontSizeSpinBox->setRange( 6, 24 );
149  layfont->addWidget( m_fontSizeSpinBox );
150  label->setBuddy( m_fontSizeSpinBox );
151 
152  layout->addStretch( 1 );
153  page->setMinimumSize( sizeHintForWidget( page ) );
154 
155  m_tabWidget->addTab( page, i18n( "Fonts" ) );
156 }
157 
158 ViewPage::~ViewPage()
159 {
160 
161 }
162 
163 void ViewPage::setSettings( ViewSettings* setts )
164 {
165  m_settings = setts;
166 
167  m_addedColorButton->setColor ( m_settings->m_addColor );
168  m_changedColorButton->setColor( m_settings->m_changeColor );
169  m_removedColorButton->setColor( m_settings->m_removeColor );
170  m_appliedColorButton->setColor( m_settings->m_appliedColor );
171  m_snolSpinBox->setValue ( m_settings->m_scrollNoOfLines );
172  m_tabSpinBox->setValue ( m_settings->m_tabToNumberOfSpaces );
173 
174  m_fontCombo->setCurrentFont ( m_settings->m_font.family() );
175  m_fontSizeSpinBox->setValue ( m_settings->m_font.pointSize() );
176 }
177 
178 ViewSettings* ViewPage::settings( void )
179 {
180  return m_settings;
181 }
182 
183 void ViewPage::restore()
184 {
185 }
186 
187 void ViewPage::apply()
188 {
189  m_settings->m_addColor = m_addedColorButton->color();
190  m_settings->m_changeColor = m_changedColorButton->color();
191  m_settings->m_removeColor = m_removedColorButton->color();
192  m_settings->m_appliedColor = m_appliedColorButton->color();
193  m_settings->m_scrollNoOfLines = m_snolSpinBox->value();
194  m_settings->m_tabToNumberOfSpaces = m_tabSpinBox->value();
195 
196  m_settings->m_font = QFont( m_fontCombo->currentFont() );
197  m_settings->m_font.setPointSize( m_fontSizeSpinBox->value() );
198 
199  m_settings->saveSettings( KGlobal::config().data() );
200 }
201 
202 void ViewPage::setDefaults()
203 {
204  m_addedColorButton->setColor ( ViewSettings::default_addColor );
205  m_changedColorButton->setColor( ViewSettings::default_changeColor );
206  m_removedColorButton->setColor( ViewSettings::default_removeColor );
207  m_appliedColorButton->setColor( ViewSettings::default_appliedColor );
208  m_snolSpinBox->setValue ( 3 );
209  m_tabSpinBox->setValue ( 4 );
210 
211  // TODO: port
212  // m_fontCombo->setCurrentFont ( KGlobalSettings::fixedFont().family() );
213  m_fontSizeSpinBox->setValue ( 10 );
214 }
215 
216 #include "viewpage.moc"
ViewSettings::default_changeColor
static const QColor default_changeColor
Definition: viewsettings.h:34
QFontComboBox
QWidget
QFont::setPointSize
void setPointSize(int pointSize)
ViewPage::m_fontSizeSpinBox
QSpinBox * m_fontSizeSpinBox
Definition: viewpage.h:61
ViewPage::ViewPage
ViewPage()
Definition: viewpage.cpp:39
QGridLayout::addWidget
void addWidget(QWidget *widget, int row, int column, QFlags< Qt::AlignmentFlag > alignment)
ViewSettings::m_scrollNoOfLines
int m_scrollNoOfLines
Definition: viewsettings.h:55
ViewPage::m_appliedColorButton
KColorButton * m_appliedColorButton
Definition: viewpage.h:56
QFont
ViewPage::m_tabSpinBox
QSpinBox * m_tabSpinBox
Definition: viewpage.h:59
ViewPage::~ViewPage
~ViewPage()
Definition: viewpage.cpp:158
ViewSettings::m_removeColor
QColor m_removeColor
Definition: viewsettings.h:47
ViewSettings::m_tabToNumberOfSpaces
int m_tabToNumberOfSpaces
Definition: viewsettings.h:56
QHBoxLayout
viewpage.h
QGridLayout
ViewPage::settings
ViewSettings * settings(void)
Definition: viewpage.cpp:178
ViewSettings::default_appliedColor
static const QColor default_appliedColor
Definition: viewsettings.h:36
QSpinBox::setRange
void setRange(int minimum, int maximum)
ViewSettings::default_addColor
static const QColor default_addColor
Definition: viewsettings.h:35
QFontComboBox::setCurrentFont
void setCurrentFont(const QFont &font)
QLabel::setBuddy
void setBuddy(QWidget *buddy)
QWidget::setMinimumSize
void setMinimumSize(const QSize &)
QBoxLayout::addWidget
void addWidget(QWidget *widget, int stretch, QFlags< Qt::AlignmentFlag > alignment)
QWidget::setLayout
void setLayout(QLayout *layout)
QGroupBox
ViewPage::m_removedColorButton
KColorButton * m_removedColorButton
Definition: viewpage.h:53
QObject::setObjectName
void setObjectName(const QString &name)
ViewPage::setDefaults
virtual void setDefaults()
No descriptions.
Definition: viewpage.cpp:202
ViewPage::setSettings
void setSettings(ViewSettings *)
Definition: viewpage.cpp:163
QVBoxLayout
ViewPage::m_fontCombo
QFontComboBox * m_fontCombo
Definition: viewpage.h:60
ViewPage::apply
virtual void apply()
No descriptions.
Definition: viewpage.cpp:187
ViewPage::m_snolSpinBox
QSpinBox * m_snolSpinBox
Definition: viewpage.h:58
QLayout::setMargin
void setMargin(int margin)
ViewSettings::m_changeColor
QColor m_changeColor
Definition: viewsettings.h:48
QSpinBox
PageBase::sizeHintForWidget
QSize sizeHintForWidget(QWidget *widget)
No descriptions.
Definition: pagebase.cpp:35
ViewPage::restore
virtual void restore()
No descriptions.
Definition: viewpage.cpp:183
ViewSettings::m_appliedColor
QColor m_appliedColor
Definition: viewsettings.h:50
PageBase
Definition: pagebase.h:27
QBoxLayout::addStretch
void addStretch(int stretch)
QGroupBox::setTitle
void setTitle(const QString &title)
QSpinBox::setValue
void setValue(int val)
ViewSettings
Definition: viewsettings.h:29
QFont::family
QString family() const
ViewSettings::m_font
QFont m_font
Definition: viewsettings.h:58
viewsettings.h
ViewSettings::saveSettings
virtual void saveSettings(KConfig *config)
Definition: viewsettings.cpp:64
ViewPage::m_settings
ViewSettings * m_settings
Definition: viewpage.h:45
ViewSettings::m_addColor
QColor m_addColor
Definition: viewsettings.h:49
ViewPage::m_addedColorButton
KColorButton * m_addedColorButton
Definition: viewpage.h:55
QLabel
ViewSettings::default_removeColor
static const QColor default_removeColor
Definition: viewsettings.h:33
QBoxLayout::setSpacing
void setSpacing(int spacing)
QFont::pointSize
int pointSize() const
ViewPage::m_tabWidget
KTabWidget * m_tabWidget
Definition: viewpage.h:62
ViewPage::m_changedColorButton
KColorButton * m_changedColorButton
Definition: viewpage.h:54
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:40:01 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kompare

Skip menu "kompare"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdesdk API Reference

Skip menu "kdesdk API Reference"
  • kapptemplate
  • kcachegrind
  • kompare
  • lokalize
  • umbrello
  •   umbrello

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal