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

knotes

  • sources
  • kde-4.12
  • kdepim
  • knotes
  • configdialog
knoteconfigdialog.cpp
Go to the documentation of this file.
1 /*******************************************************************
2  KNotes -- Notes for the KDE project
3 
4  Copyright (c) 1997-2005, The KNotes Developers
5 
6  This program is free software; you can redistribute it and/or
7  modify it under the terms of the GNU General Public License
8  as published by the Free Software Foundation; either version 2
9  of the License, or (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program; if not, write to the Free Software
18  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 *******************************************************************/
20 
21 
22 #include "knoteconfigdialog.h"
23 #include "notes/knote.h"
24 #include "print/knoteprintselectthemecombobox.h"
25 #include "knotesglobalconfig.h"
26 
27 #include "kdepim-version.h"
28 
29 #include <kapplication.h>
30 #include <kcolorbutton.h>
31 #include <kconfig.h>
32 #include <kfontrequester.h>
33 #include <kiconloader.h>
34 #include <klineedit.h>
35 #include <klocale.h>
36 #include <knuminput.h>
37 #include <kwindowsystem.h>
38 
39 #include <QCheckBox>
40 #include <QComboBox>
41 #include <QGridLayout>
42 #include <QGroupBox>
43 #include <QHBoxLayout>
44 #include <QLabel>
45 #include <QVBoxLayout>
46 #include <QWhatsThis>
47 
48 KNoteConfigDialog::KNoteConfigDialog( const QString &title,
49  QWidget *parent )
50  : KCMultiDialog( parent )
51 {
52  setFaceType( KPageDialog::List );
53  setButtons( Default | Ok | Cancel );
54  setDefaultButton( Ok );
55 
56  setCaption( title );
57 #ifdef Q_WS_X11
58  KWindowSystem::setIcons( winId(),
59  qApp->windowIcon().pixmap(
60  IconSize( KIconLoader::Desktop ),
61  IconSize( KIconLoader::Desktop ) ),
62  qApp->windowIcon().pixmap(
63  IconSize( KIconLoader::Small ),
64  IconSize( KIconLoader::Small ) ) );
65 #endif
66  showButtonSeparator( true );
67 
68  addModule( QLatin1String("knote_config_display") );
69  addModule( QLatin1String("knote_config_editor") );
70  addModule( QLatin1String("knote_config_action") );
71  addModule( QLatin1String("knote_config_network") );
72  addModule( QLatin1String("knote_config_print") );
73 
74  KNotesGlobalConfig::self()->setVersion( QLatin1String(KDEPIM_VERSION) );
75  connect( this, SIGNAL(okClicked()), SLOT(slotOk()) );
76 }
77 
78 KNoteConfigDialog::~KNoteConfigDialog()
79 {
80 }
81 
82 void KNoteConfigDialog::slotOk() {
83  KNotesGlobalConfig::self()->writeConfig();
84  emit configWrote();
85 }
86 
87 
88 extern "C"
89 {
90 KDE_EXPORT KCModule *create_knote_config_display( QWidget *parent )
91 {
92  KComponentData instance( "kcmnote_config_display" );
93  return new KNoteDisplayConfig( instance, parent );
94 }
95 }
96 
97 extern "C"
98 {
99 KDE_EXPORT KCModule *create_knote_config_editor( QWidget *parent )
100 {
101  KComponentData instance( "kcmnote_config_editor" );
102  return new KNoteEditorConfig( instance, parent );
103 }
104 }
105 
106 extern "C"
107 {
108 KDE_EXPORT KCModule *create_knote_config_action( QWidget *parent )
109 {
110  KComponentData instance( "kcmnote_config_action" );
111  return new KNoteActionConfig( instance, parent );
112 }
113 }
114 
115 extern "C"
116 {
117 KDE_EXPORT KCModule *create_knote_config_network( QWidget *parent )
118 {
119  KComponentData instance( "kcmnote_config_network" );
120  return new KNoteNetworkConfig( instance, parent );
121 }
122 }
123 
124 extern "C"
125 {
126 KDE_EXPORT KCModule *create_knote_config_print( QWidget *parent )
127 {
128  KComponentData instance( "kcmnote_config_print" );
129  return new KNotePrintConfig( instance, parent );
130 }
131 }
132 
133 
134 KNoteDisplayConfigWidget::KNoteDisplayConfigWidget( bool defaults )
135  :QWidget( 0 )
136 {
137  QGridLayout *layout = new QGridLayout( this );
138  layout->setSpacing( KDialog::spacingHint() );
139  layout->setMargin( defaults ? KDialog::marginHint() : 0 );
140 
141  QLabel *label_FgColor = new QLabel( i18n( "&Text color:" ),this );
142  label_FgColor->setObjectName( QLatin1String("label_FgColor") );
143  layout->addWidget( label_FgColor, 0, 0 );
144 
145  KColorButton *kcfg_FgColor = new KColorButton( this );
146  kcfg_FgColor->setObjectName( QLatin1String("kcfg_FgColor") );
147  label_FgColor->setBuddy( kcfg_FgColor );
148  layout->addWidget( kcfg_FgColor, 0, 1 );
149 
150  QLabel *label_BgColor = new QLabel( i18n( "&Background color:" ),
151  this );
152  label_BgColor->setObjectName( QLatin1String("label_BgColor") );
153  layout->addWidget( label_BgColor, 1, 0 );
154 
155  KColorButton *kcfg_BgColor = new KColorButton( this );
156  kcfg_BgColor->setObjectName( QLatin1String("kcfg_BgColor") );
157  label_BgColor->setBuddy( kcfg_BgColor );
158  layout->addWidget( kcfg_BgColor, 1, 1 );
159 
160  QCheckBox *kcfg_ShowInTaskbar =
161  new QCheckBox( i18n( "&Show note in taskbar" ), this );
162  kcfg_ShowInTaskbar->setObjectName( QLatin1String("kcfg_ShowInTaskbar") );
163 #ifdef Q_WS_X11
164  QCheckBox *kcfg_RememberDesktop =
165  new QCheckBox( i18n( "&Remember desktop" ), this );
166  kcfg_RememberDesktop->setObjectName( QLatin1String("kcfg_RememberDesktop") );
167 #endif
168  if ( defaults ) {
169  QLabel *label_Width = new QLabel( i18n( "Default &width:" ), this );
170 
171  layout->addWidget( label_Width, 2, 0 );
172 
173  KIntNumInput *kcfg_Width = new KIntNumInput( this );
174  kcfg_Width->setObjectName( QLatin1String("kcfg_Width") );
175  label_Width->setBuddy( kcfg_Width );
176  kcfg_Width->setRange( 50, 2000, 10 );
177  kcfg_Width->setSliderEnabled( false );
178  layout->addWidget( kcfg_Width, 2, 1 );
179 
180  QLabel *label_Height = new QLabel( i18n( "Default &height:" ),
181  this );
182  layout->addWidget( label_Height, 3, 0 );
183 
184  KIntNumInput *kcfg_Height = new KIntNumInput( this );
185  kcfg_Height->setObjectName( QLatin1String("kcfg_Height") );
186  kcfg_Height->setRange( 50, 2000, 10 );
187  kcfg_Height->setSliderEnabled( false );
188  label_Height->setBuddy( kcfg_Height );
189  layout->addWidget( kcfg_Height, 3, 1 );
190 
191  layout->addWidget( kcfg_ShowInTaskbar, 4, 0 );
192 #ifdef Q_WS_X11
193  layout->addWidget( kcfg_RememberDesktop, 5, 0 );
194 #endif
195  } else {
196  layout->addWidget( kcfg_ShowInTaskbar, 2, 0 );
197 #ifdef Q_WS_X11
198  layout->addWidget( kcfg_RememberDesktop, 3, 0 );
199 #endif
200  }
201  layout->setRowStretch(4,1);
202 }
203 
204 KNoteDisplayConfig::KNoteDisplayConfig( const KComponentData &inst, QWidget *parent )
205  :KCModule( inst, parent )
206 {
207  QVBoxLayout *lay = new QVBoxLayout( this );
208  QWidget * w = new KNoteDisplayConfigWidget( true );
209  lay->addWidget( w );
210  lay->addStretch();
211  addConfig( KNotesGlobalConfig::self(), w );
212  load();
213 }
214 
215 void KNoteDisplayConfig::load()
216 {
217  KCModule::load();
218 }
219 
220 void KNoteDisplayConfig::save()
221 {
222  KCModule::save();
223 }
224 
225 KNoteEditorConfigWidget::KNoteEditorConfigWidget( bool defaults )
226  :QWidget( 0 )
227 {
228  QGridLayout *layout = new QGridLayout( this );
229  layout->setSpacing( KDialog::spacingHint() );
230  layout->setMargin( defaults ? KDialog::marginHint() : 0 );
231 
232  QLabel *label_TabSize = new QLabel( i18n( "&Tab size:" ), this );
233  layout->addWidget( label_TabSize, 0, 0, 1, 2 );
234 
235  KIntNumInput *kcfg_TabSize = new KIntNumInput( this );
236  kcfg_TabSize->setObjectName( QLatin1String("kcfg_TabSize") );
237  kcfg_TabSize->setRange( 1, 40 );
238  kcfg_TabSize->setSliderEnabled( false );
239  label_TabSize->setBuddy( kcfg_TabSize );
240  layout->addWidget( kcfg_TabSize, 0, 2 );
241 
242  QCheckBox *kcfg_AutoIndent = new QCheckBox( i18n( "Auto &indent" ),
243  this );
244  kcfg_AutoIndent->setObjectName( QLatin1String("kcfg_AutoIndent") );
245  layout->addWidget( kcfg_AutoIndent, 1, 0, 1, 2 );
246 
247  QCheckBox *kcfg_RichText = new QCheckBox( i18n( "&Rich text" ), this );
248  kcfg_RichText->setObjectName( QLatin1String("kcfg_RichText") );
249  layout->addWidget( kcfg_RichText, 1, 2 );
250 
251  QLabel *label_Font = new QLabel( i18n( "Text font:" ), this );
252  layout->addWidget( label_Font, 3, 0 );
253 
254  KFontRequester *kcfg_Font = new KFontRequester( this );
255  kcfg_Font->setObjectName( QLatin1String("kcfg_Font") );
256  kcfg_Font->setSizePolicy( QSizePolicy( QSizePolicy::Minimum,
257  QSizePolicy::Fixed ) );
258  layout->addWidget( kcfg_Font, 3, 1, 1, 2 );
259 
260  QLabel *label_TitleFont = new QLabel( i18n( "Title font:" ), this );
261  layout->addWidget( label_TitleFont, 2, 0 );
262 
263  KFontRequester *kcfg_TitleFont = new KFontRequester( this );
264  kcfg_TitleFont->setObjectName( QLatin1String("kcfg_TitleFont") );
265  kcfg_TitleFont->setSizePolicy( QSizePolicy( QSizePolicy::Minimum,
266  QSizePolicy::Fixed ) );
267  layout->addWidget( kcfg_TitleFont, 2, 1, 1, 2 );
268  layout->setRowStretch(4,1);
269 }
270 
271 KNoteEditorConfig::KNoteEditorConfig( const KComponentData &inst, QWidget *parent )
272  :KCModule( inst, parent )
273 {
274  QVBoxLayout *lay = new QVBoxLayout( this );
275  QWidget * w = new KNoteEditorConfigWidget( true );
276  lay->addWidget( w );
277  lay->addStretch();
278  addConfig( KNotesGlobalConfig::self(), w );
279  load();
280 }
281 
282 void KNoteEditorConfig::save()
283 {
284  KCModule::save();
285 }
286 
287 void KNoteEditorConfig::load()
288 {
289  KCModule::load();
290 }
291 
292 KNoteActionConfig::KNoteActionConfig(const KComponentData &inst, QWidget *parent )
293  :KCModule( inst, parent )
294 {
295  QVBoxLayout *lay = new QVBoxLayout( this );
296  QWidget * w = new QWidget( this );
297  lay->addWidget( w );
298  QGridLayout *layout = new QGridLayout( w );
299  layout->setSpacing( KDialog::spacingHint() );
300  layout->setMargin( 0 );
301 
302  QLabel *label_MailAction = new QLabel( i18n( "&Mail action:" ), this );
303  layout->addWidget( label_MailAction, 0, 0 );
304 
305  KLineEdit *kcfg_MailAction = new KLineEdit( this );
306  kcfg_MailAction->setObjectName( QLatin1String("kcfg_MailAction") );
307  label_MailAction->setBuddy( kcfg_MailAction );
308  layout->addWidget( kcfg_MailAction, 0, 1 );
309 
310  QLabel *howItWorks = new QLabel(i18n( "<a href=\"whatsthis\">How does this work?</a>" ));
311  connect( howItWorks, SIGNAL(linkActivated(QString)),SLOT(slotHelpLinkClicked(QString)) );
312  layout->addWidget( howItWorks, 1, 0 );
313 
314  addConfig( KNotesGlobalConfig::self(), w );
315  lay->addStretch();
316  load();
317 }
318 
319 void KNoteActionConfig::slotHelpLinkClicked(const QString &)
320 {
321  const QString help =
322  i18n( "<qt>"
323  "<p>You can customize command line. "
324  "You can use:</p>"
325  "<ul>"
326  "<li>%t returns current note title</li>"
327  "<li>%f returns current note text</li>"
328  "</ul>"
329  "</qt>" );
330 
331  QWhatsThis::showText( QCursor::pos(), help );
332 }
333 
334 void KNoteActionConfig::save()
335 {
336  KCModule::save();
337 }
338 
339 void KNoteActionConfig::load()
340 {
341  KCModule::load();
342 }
343 
344 KNoteNetworkConfig::KNoteNetworkConfig(const KComponentData &inst, QWidget *parent )
345  :KCModule( inst, parent )
346 {
347  QVBoxLayout *lay = new QVBoxLayout( this );
348  QWidget * w = new QWidget( this );
349  lay->addWidget( w );
350  QVBoxLayout *layout = new QVBoxLayout( w );
351  layout->setSpacing( KDialog::spacingHint() );
352  layout->setMargin( 0 );
353 
354  QGroupBox *incoming = new QGroupBox( i18n( "Incoming Notes" ) );
355  QHBoxLayout *tmpLayout = new QHBoxLayout;
356 
357  QCheckBox *tmpChkB=new QCheckBox( i18n( "Accept incoming notes" ) );
358  tmpChkB->setObjectName( QLatin1String("kcfg_ReceiveNotes") );
359  tmpLayout->addWidget( tmpChkB );
360  incoming->setLayout( tmpLayout );
361  layout->addWidget( incoming );
362 
363  QGroupBox *outgoing = new QGroupBox( i18n( "Outgoing Notes" ) );
364  tmpLayout = new QHBoxLayout;
365 
366  QLabel *label_SenderID = new QLabel( i18n( "&Sender ID:" ) );
367  KLineEdit *kcfg_SenderID = new KLineEdit;
368  kcfg_SenderID->setClearButtonShown(true);
369  kcfg_SenderID->setObjectName( QLatin1String("kcfg_SenderID") );
370  label_SenderID->setBuddy( kcfg_SenderID );
371  tmpLayout->addWidget( label_SenderID );
372  tmpLayout->addWidget( kcfg_SenderID );
373  outgoing->setLayout( tmpLayout );
374  layout->addWidget( outgoing );
375 
376  tmpLayout = new QHBoxLayout;
377 
378  QLabel *label_Port = new QLabel( i18n( "&Port:" ) );
379 
380  tmpLayout->addWidget( label_Port );
381 
382  KIntNumInput *kcfg_Port = new KIntNumInput;
383  kcfg_Port->setObjectName( QLatin1String("kcfg_Port") );
384  kcfg_Port->setRange( 0, 65535 );
385  kcfg_Port->setSliderEnabled( false );
386  label_Port->setBuddy( kcfg_Port );
387  tmpLayout->addWidget( kcfg_Port );
388  layout->addLayout( tmpLayout );
389  lay->addStretch();
390  addConfig( KNotesGlobalConfig::self(), w );
391  load();
392 }
393 
394 void KNoteNetworkConfig::save()
395 {
396  KCModule::save();
397 }
398 
399 void KNoteNetworkConfig::load()
400 {
401  KCModule::load();
402 }
403 
404 
405 KNotePrintConfig::KNotePrintConfig(const KComponentData &inst, QWidget *parent )
406  :KCModule( inst, parent )
407 {
408  QVBoxLayout *lay = new QVBoxLayout( this );
409  QWidget * w = new QWidget( this );
410  lay->addWidget( w );
411  QGridLayout *layout = new QGridLayout( w );
412  layout->setSpacing( KDialog::spacingHint() );
413  layout->setMargin( 0 );
414 
415  QLabel *label_PrintAction = new QLabel( i18n( "Theme:" ), this );
416  layout->addWidget( label_PrintAction, 0, 0 );
417 
418  mSelectTheme = new KNotePrintSelectThemeComboBox(this);
419  connect(mSelectTheme, SIGNAL(activated(int)), SLOT(slotThemeChanged()));
420  label_PrintAction->setBuddy( mSelectTheme );
421  layout->addWidget( mSelectTheme, 0, 1 );
422  lay->addStretch();
423  load();
424 }
425 
426 void KNotePrintConfig::slotThemeChanged()
427 {
428  Q_EMIT changed(true);
429 }
430 
431 void KNotePrintConfig::save()
432 {
433  KNotesGlobalConfig::self()->setTheme(mSelectTheme->selectedTheme());
434 }
435 
436 void KNotePrintConfig::load()
437 {
438  mSelectTheme->loadThemes();
439 }
440 
441 void KNotePrintConfig::defaults()
442 {
443  mSelectTheme->setCurrentIndex(0);
444  Q_EMIT changed(true);
445 }
446 
447 #include "knoteconfigdialog.moc"
KNoteEditorConfigWidget::KNoteEditorConfigWidget
KNoteEditorConfigWidget(bool defaults)
Definition: knoteconfigdialog.cpp:225
KNotePrintSelectThemeComboBox::selectedTheme
QString selectedTheme() const
Definition: knoteprintselectthemecombobox.cpp:90
KNoteActionConfig
Definition: knoteconfigdialog.h:67
KNoteDisplayConfigWidget
Definition: knoteconfigdialog.h:90
KNoteNetworkConfig::KNoteNetworkConfig
KNoteNetworkConfig(const KComponentData &inst, QWidget *parent)
Definition: knoteconfigdialog.cpp:344
KNoteConfigDialog::slotOk
void slotOk()
Definition: knoteconfigdialog.cpp:82
QWidget
KNotePrintConfig::load
virtual void load()
Reimplemented from KCModule.
Definition: knoteconfigdialog.cpp:436
KNoteEditorConfig::KNoteEditorConfig
KNoteEditorConfig(const KComponentData &inst, QWidget *parent)
Definition: knoteconfigdialog.cpp:271
KNoteDisplayConfig::load
virtual void load()
Reimplemented from KCModule.
Definition: knoteconfigdialog.cpp:215
create_knote_config_print
KCModule * create_knote_config_print(QWidget *parent)
Definition: knoteconfigdialog.cpp:126
KNotePrintConfig::KNotePrintConfig
KNotePrintConfig(const KComponentData &inst, QWidget *parent)
Definition: knoteconfigdialog.cpp:405
create_knote_config_editor
KCModule * create_knote_config_editor(QWidget *parent)
Definition: knoteconfigdialog.cpp:99
knoteconfigdialog.h
knote.h
KNotePrintSelectThemeComboBox::loadThemes
void loadThemes()
Definition: knoteprintselectthemecombobox.cpp:39
KNoteDisplayConfig
Definition: knoteconfigdialog.h:46
KNoteDisplayConfig::save
virtual void save()
Definition: knoteconfigdialog.cpp:220
knoteprintselectthemecombobox.h
KNoteNetworkConfig
Definition: knoteconfigdialog.h:80
KNotePrintSelectThemeComboBox
Definition: knoteprintselectthemecombobox.h:24
KNotePrintConfig
Definition: knoteconfigdialog.h:104
KNotePrintConfig::defaults
virtual void defaults()
Definition: knoteconfigdialog.cpp:441
KNoteActionConfig::save
virtual void save()
Definition: knoteconfigdialog.cpp:334
KNoteEditorConfig::load
virtual void load()
Reimplemented from KCModule.
Definition: knoteconfigdialog.cpp:287
create_knote_config_network
KCModule * create_knote_config_network(QWidget *parent)
Definition: knoteconfigdialog.cpp:117
KNoteNetworkConfig::save
virtual void save()
Definition: knoteconfigdialog.cpp:394
create_knote_config_display
KCModule * create_knote_config_display(QWidget *parent)
Definition: knoteconfigdialog.cpp:90
KNoteEditorConfig
Definition: knoteconfigdialog.h:56
KNoteEditorConfigWidget
Definition: knoteconfigdialog.h:97
KNoteConfigDialog::KNoteConfigDialog
KNoteConfigDialog(const QString &title, QWidget *parent)
Definition: knoteconfigdialog.cpp:48
KNoteActionConfig::KNoteActionConfig
KNoteActionConfig(const KComponentData &inst, QWidget *parent)
Definition: knoteconfigdialog.cpp:292
KNoteNetworkConfig::load
virtual void load()
Reimplemented from KCModule.
Definition: knoteconfigdialog.cpp:399
KNotePrintConfig::save
virtual void save()
Definition: knoteconfigdialog.cpp:431
KNoteActionConfig::load
virtual void load()
Reimplemented from KCModule.
Definition: knoteconfigdialog.cpp:339
KNoteDisplayConfigWidget::KNoteDisplayConfigWidget
KNoteDisplayConfigWidget(bool defaults)
Definition: knoteconfigdialog.cpp:134
KCMultiDialog
KNoteConfigDialog::~KNoteConfigDialog
~KNoteConfigDialog()
Definition: knoteconfigdialog.cpp:78
KNoteDisplayConfig::KNoteDisplayConfig
KNoteDisplayConfig(const KComponentData &inst, QWidget *parent)
Definition: knoteconfigdialog.cpp:204
create_knote_config_action
KCModule * create_knote_config_action(QWidget *parent)
Definition: knoteconfigdialog.cpp:108
KCModule
KNoteEditorConfig::save
virtual void save()
Definition: knoteconfigdialog.cpp:282
KNoteConfigDialog::configWrote
void configWrote()
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:56:33 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

knotes

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

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

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