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
104
105
106
107
108
109
110
111
112
113
|
/***************************************************************************
kstartuplogo.cpp
-------------------
copyright : (C) 2000 by Michael Edwardes
email : mte@users.sourceforge.net
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#include <kdecompat.h>
// ----------------------------------------------------------------------------
// QT Includes
#include <qapplication.h>
#include <qpixmap.h>
#include <qframe.h>
#include <qpainter.h>
// ----------------------------------------------------------------------------
// KDE Includes
#include <kglobal.h>
#include <klocale.h>
#include <kstandarddirs.h>
#include <kapplication.h>
// ----------------------------------------------------------------------------
// Project Includes
#include "kstartuplogo.h"
#include "kmymoneyglobalsettings.h"
class KStartupSplash::Private
{
public:
QString message;
QColor color;
int align;
};
KStartupSplash::KStartupSplash(const QPixmap &pixmap, WFlags f) :
KSplashScreen(pixmap, f),
d(new Private)
{
}
KStartupSplash::~KStartupSplash()
{
delete d;
}
void KStartupSplash::message( const QString &message, int alignment, const QColor &color)
{
d->message = message;
d->align = alignment;
d->color = color;
// the next line causes the base class signal management to happen
// and also forces a repaint
KSplashScreen::clear();
}
void KStartupSplash::drawContents( QPainter *painter )
{
painter->setPen( d->color );
QRect r = rect();
r.setRect( r.x() + 15, r.y() + r.height() - 28, r.width() - 20, 20 );
painter->drawText( r, d->align, d->message);
}
KStartupLogo::KStartupLogo() :
QObject(0, 0),
m_splash(0)
{
// splash screen setting
if(!KMyMoneyGlobalSettings::showSplash())
return;
QString filename = KGlobal::dirs()->findResource("appdata", "pics/startlogo.png");
QPixmap splashPixmap(filename);
if(!splashPixmap.isNull()) {
QPixmap backGround(splashPixmap);
backGround.fill(KGlobalSettings::highlightColor());
bitBlt ( &backGround, 0, 0, &splashPixmap, 0, 0, splashPixmap.width(), splashPixmap.height(), Qt::CopyROP );
KStartupSplash* splash = new KStartupSplash(backGround);
splash->setFixedSize(backGround.size());
// FIXME: I added the 'Loading file...' message here, because this was the only
// existing string we have and I did not want to change the strings. We should
// change that in the future.
splash->message(i18n("Loading..."), AlignLeft, white);
splash->show();
splash->repaint();
m_splash = splash;
}
}
KStartupLogo::~KStartupLogo()
{
delete m_splash;
}
#include "kstartuplogo.moc"
|