summaryrefslogtreecommitdiffstats
path: root/ksplashml/themeengine/redmond/themeredmond.h
blob: a35662181c9d495f75371d46fdfeb006ca49607d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
/***************************************************************************
 *   Copyright Brian Ledbetter 2001-2003 <brian@shadowcom.net>             *
 *   Copyright Ravikiran Rajagopal 2003                                    *
 *   ravi@ee.eng.ohio-state.edu                                            *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License (version 2) as   *
 *   published by the Free Software Foundation. (The original KSplash/ML   *
 *   codebase (upto version 0.95.3) is BSD-licensed.)                      *
 *                                                                         *
 ***************************************************************************/

#ifndef __THEMEREDMOND_H__
#define __THEMEREDMOND_H__

#include <kdebug.h>
#include <kpixmap.h>

#include <themeengine.h>

class KFontCombo;
class QCheckBox;

class CfgRedmond: public ThemeEngineConfig
{
  Q_OBJECT
public:
  CfgRedmond( QWidget *, KConfig * );

protected:
  QCheckBox *mShowUsername;
  QCheckBox *mShowIcon;
  QCheckBox *mShowWelcome;
  KFontCombo *mWelcomeFont;
  KFontCombo *mUsernameFont;
  KFontCombo *mActionFont;
};

class ObjKsTheme;
class ThemeRedmond: public ThemeEngine
{
  Q_OBJECT
public:
  ThemeRedmond( QWidget *, const char *, const QStringList& );

  inline const QString name() { return( QString("Redmond") );  }
  static QStringList names()
  {
    QStringList Names;
    Names << "Redmond";
    return( Names );
  };

public slots:
  inline void slotSetText( const QString& s )
  {
    if( mText != s )
    {
      mText = s;
      repaint( false );
    }
  };

private:
  void paintEvent( QPaintEvent * );

  void _initUi();
  void _readSettings();

  QString mText;
  QPixmap mPixmap;
  bool mRedrawKonqi;
  QPoint mMsgPos;
  KPixmap mImage;

  // ThemeEngine configuration.
  bool mShowWelcomeText;
  bool mShowWelcomeTextShadow;
  bool mWelcomeFontItalic;
  bool mShowUsernameText;
  bool mShowActionText;
  bool mShowIcon;
  bool mUseKdmUserIcon;
  QString mBackgroundImage;
  QString mWelcomeText;
  QString mUsernameText; // Leave this undefined to autodetect the username.
  QString mIcon;
  QFont mWelcomeFont;
  QFont mUsernameFont;
  QFont mActionFont;
  QColor mWelcomeTextColor;
  QColor mWelcomeTextShadowColor;
  QColor mUsernameTextColor;
  QColor mActionTextColor;
  QPoint mWelcomeTextPosition; // Set this to (0,0) to autoposition the text.
  QPoint mUsernameTextPosition; // Likewise.
  QPoint mActionTextPosition; // Likewise likewise.
  QPoint mIconPosition; // ...

}
;

#endif