WABA: Listen to resetClients()

svn path=/trunk/kdebase/kwin/; revision=78463
icc-effect-5.14.5
Waldo Bastian 2001-01-16 21:45:23 +00:00
parent 01241073b6
commit 4ab7a90097
2 changed files with 36 additions and 7 deletions

View File

@ -33,8 +33,8 @@ enum FramePixmap{FrameTop=0, FrameBottom, FrameLeft, FrameRight, FrameTopLeft,
static QPixmap *framePixmaps[8]; static QPixmap *framePixmaps[8];
static QPixmap *menuPix, *iconifyPix, *closePix, *maxPix, *minmaxPix, static QPixmap *menuPix, *iconifyPix, *closePix, *maxPix, *minmaxPix,
*pinupPix, *pindownPix; *pinupPix, *pindownPix;
static KPixmap *aTitlePix = NULL; static KPixmap *aTitlePix = 0;
static KPixmap *iTitlePix = NULL; static KPixmap *iTitlePix = 0;
static KPixmapEffect::GradientType grType; static KPixmapEffect::GradientType grType;
static int maxExtent, titleAlign; static int maxExtent, titleAlign;
static bool titleGradient = true; static bool titleGradient = true;
@ -57,8 +57,7 @@ static void init_theme()
config->setGroup("General"); config->setGroup("General");
QString tmpStr; QString tmpStr;
int i; for(int i=0; i < 8; ++i){
for(i=0; i < 8; ++i){
framePixmaps[i] = new QPixmap(locate("appdata", framePixmaps[i] = new QPixmap(locate("appdata",
"pics/"+config->readEntry(keys[i], " "))); "pics/"+config->readEntry(keys[i], " ")));
if(framePixmaps[i]->isNull()) if(framePixmaps[i]->isNull())
@ -164,6 +163,34 @@ static void init_theme()
} }
} }
void
KWMThemeClient::slotReset()
{
if (!pixmaps_created) return;
pixmaps_created = false;
for(int i=0; i < 8; ++i)
delete framePixmaps[i];
delete menuPix;
delete iconifyPix;
delete closePix;
delete maxPix;
delete minmaxPix;
delete pinupPix;
delete pindownPix;
delete aTitlePix;
aTitlePix = 0;
delete iTitlePix;
iTitlePix = 0;
titleGradient = true;
pixmaps_created = false;
titleSunken = false;
init_theme();
}
void MyButton::drawButtonLabel(QPainter *p) void MyButton::drawButtonLabel(QPainter *p)
{ {
if(pixmap()){ if(pixmap()){
@ -177,7 +204,7 @@ KWMThemeClient::KWMThemeClient( Workspace *ws, WId w, QWidget *parent,
: Client( ws, w, parent, name, WResizeNoErase | WNorthWestGravity) : Client( ws, w, parent, name, WResizeNoErase | WNorthWestGravity)
{ {
init_theme(); init_theme();
connect(options, SIGNAL(resetClients()), this, SLOT(slotReset()));
QGridLayout *layout = new QGridLayout(this); QGridLayout *layout = new QGridLayout(this);
layout->addColSpacing(0, maxExtent); layout->addColSpacing(0, maxExtent);
layout->addColSpacing(2, maxExtent); layout->addColSpacing(2, maxExtent);
@ -256,8 +283,8 @@ KWMThemeClient::KWMThemeClient( Workspace *ws, WId w, QWidget *parent,
iGradient = new KPixmap; iGradient = new KPixmap;
} }
else{ else{
aGradient = NULL; aGradient = 0;
iGradient = NULL; iGradient = 0;
} }
setBackgroundMode(NoBackground); setBackgroundMode(NoBackground);

View File

@ -37,6 +37,8 @@ protected:
void stickyChange(bool on); void stickyChange(bool on);
void maximizeChange(bool m); void maximizeChange(bool m);
MousePosition mousePosition(const QPoint &) const; MousePosition mousePosition(const QPoint &) const;
protected slots:
void slotReset();
private: private:
KPixmap *aGradient, *iGradient; KPixmap *aGradient, *iGradient;
MyButton *maxBtn, *stickyBtn; MyButton *maxBtn, *stickyBtn;