|
|
|
@ -71,9 +71,9 @@ public:
|
|
|
|
|
CCrystalTooltip(TQWidget *widget,CrystalClient *vc):TQToolTip(widget),client(vc) {}
|
|
|
|
|
virtual void maybeTip(const TQPoint& p)
|
|
|
|
|
{
|
|
|
|
|
if (client->titlebar_->tqgeometry().contains(p))
|
|
|
|
|
if (client->titlebar_->geometry().contains(p))
|
|
|
|
|
{
|
|
|
|
|
tip(client->titlebar_->tqgeometry(),client->caption());
|
|
|
|
|
tip(client->titlebar_->geometry(),client->caption());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
@ -122,7 +122,7 @@ bool CrystalFactory::reset(unsigned long /*changed*/)
|
|
|
|
|
{
|
|
|
|
|
if (!image_holder)image_holder=new QImageHolder(active.userdefinedPicture,inactive.userdefinedPicture);
|
|
|
|
|
image_holder->setUserdefinedPictures(active.userdefinedPicture,inactive.userdefinedPicture);
|
|
|
|
|
image_holder->tqrepaint(true);
|
|
|
|
|
image_holder->repaint(true);
|
|
|
|
|
}else{
|
|
|
|
|
if (image_holder)delete image_holder;
|
|
|
|
|
image_holder=NULL;
|
|
|
|
@ -1000,7 +1000,7 @@ void CrystalClient::activeChange()
|
|
|
|
|
|
|
|
|
|
void CrystalClient::captionChange()
|
|
|
|
|
{
|
|
|
|
|
if (::factory->drawcaption) widget()->tqrepaint(titlebar_->tqgeometry(), false);
|
|
|
|
|
if (::factory->drawcaption) widget()->repaint(titlebar_->geometry(), false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CrystalClient::desktopChange()
|
|
|
|
@ -1170,34 +1170,34 @@ bool CrystalClient::eventFilter(TQObject *obj, TQEvent *e)
|
|
|
|
|
|
|
|
|
|
void CrystalClient::ClientWindows(Window* v_frame,Window* v_wrapper,Window *v_client)
|
|
|
|
|
{
|
|
|
|
|
Window root=0,frame=0,wrapper=0,client=0,parent=0,*tqchildren=NULL;
|
|
|
|
|
Window root=0,frame=0,wrapper=0,client=0,parent=0,*children=NULL;
|
|
|
|
|
uint numc;
|
|
|
|
|
if (v_frame) *v_frame=0;
|
|
|
|
|
if (v_wrapper) *v_wrapper=0;
|
|
|
|
|
if (v_client) *v_client=0;
|
|
|
|
|
// Our Deco is the child of a frame, get our parent
|
|
|
|
|
if (XQueryTree(qt_xdisplay(),widget()->winId(),&root,&frame,&tqchildren,&numc) == 0)
|
|
|
|
|
if (XQueryTree(qt_xdisplay(),widget()->winId(),&root,&frame,&children,&numc) == 0)
|
|
|
|
|
return;
|
|
|
|
|
if (tqchildren!=NULL)XFree(tqchildren);
|
|
|
|
|
tqchildren=NULL;
|
|
|
|
|
if (children!=NULL)XFree(children);
|
|
|
|
|
children=NULL;
|
|
|
|
|
|
|
|
|
|
// frame has two tqchildren, us and a wrapper, get the wrapper
|
|
|
|
|
if (XQueryTree(qt_xdisplay(),frame,&root,&parent,&tqchildren,&numc)==0)
|
|
|
|
|
// frame has two children, us and a wrapper, get the wrapper
|
|
|
|
|
if (XQueryTree(qt_xdisplay(),frame,&root,&parent,&children,&numc)==0)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
for (uint i=0;i<numc;i++)
|
|
|
|
|
{
|
|
|
|
|
if (tqchildren[i]!=widget()->winId())wrapper=tqchildren[i];
|
|
|
|
|
if (children[i]!=widget()->winId())wrapper=children[i];
|
|
|
|
|
}
|
|
|
|
|
if (tqchildren!=NULL)XFree(tqchildren);
|
|
|
|
|
tqchildren=NULL;
|
|
|
|
|
if (children!=NULL)XFree(children);
|
|
|
|
|
children=NULL;
|
|
|
|
|
|
|
|
|
|
// wrapper has only one child, which is the client. We want this!!
|
|
|
|
|
if (XQueryTree(qt_xdisplay(),wrapper,&root,&parent,&tqchildren,&numc)==0)
|
|
|
|
|
if (XQueryTree(qt_xdisplay(),wrapper,&root,&parent,&children,&numc)==0)
|
|
|
|
|
return;
|
|
|
|
|
if (numc==1)client=tqchildren[0];
|
|
|
|
|
if (tqchildren!=NULL)XFree(tqchildren);
|
|
|
|
|
tqchildren=NULL;
|
|
|
|
|
if (numc==1)client=children[0];
|
|
|
|
|
if (children!=NULL)XFree(children);
|
|
|
|
|
children=NULL;
|
|
|
|
|
if (v_client) *v_client=client;
|
|
|
|
|
if (v_wrapper) *v_wrapper=wrapper;
|
|
|
|
|
if (v_frame) *v_frame=frame;
|
|
|
|
@ -1205,7 +1205,7 @@ void CrystalClient::ClientWindows(Window* v_frame,Window* v_wrapper,Window *v_cl
|
|
|
|
|
|
|
|
|
|
void CrystalClient::mouseDoubleClickEvent(TQMouseEvent *e)
|
|
|
|
|
{
|
|
|
|
|
if (/*(titlebar_->tqgeometry().contains(e->pos()))&&*/(e->button()==Qt::LeftButton)) titlebarDblClickOperation();
|
|
|
|
|
if (/*(titlebar_->geometry().contains(e->pos()))&&*/(e->button()==Qt::LeftButton)) titlebarDblClickOperation();
|
|
|
|
|
else {
|
|
|
|
|
TQMouseEvent me(TQEvent::MouseButtonPress,e->pos(),e->button(),e->state());
|
|
|
|
|
processMousePressEvent(&me);
|
|
|
|
@ -1264,7 +1264,7 @@ void CrystalClient::paintEvent(TQPaintEvent*)
|
|
|
|
|
WND_CONFIG* wndcfg=(isActive()?&::factory->active:&::factory->inactive);
|
|
|
|
|
|
|
|
|
|
if (::factory->transparency && ::factory->trackdesktop)
|
|
|
|
|
::factory->image_holder->tqrepaint(false); // If other desktop than the last, regrab the root image
|
|
|
|
|
::factory->image_holder->repaint(false); // If other desktop than the last, regrab the root image
|
|
|
|
|
TQPixmap *background=::factory->transparency?::factory->image_holder->image(isActive()):NULL;
|
|
|
|
|
int drawFrame;
|
|
|
|
|
|
|
|
|
@ -1295,7 +1295,7 @@ void CrystalClient::paintEvent(TQPaintEvent*)
|
|
|
|
|
pufferPainter.setFont(options()->font(isActive(), false));
|
|
|
|
|
|
|
|
|
|
TQColor color=options()->color(KDecoration::ColorFont, isActive());
|
|
|
|
|
r=titlebar_->tqgeometry();
|
|
|
|
|
r=titlebar_->geometry();
|
|
|
|
|
r.moveBy(0,-1);
|
|
|
|
|
int logowidth=::factory->logo.width()+::factory->logoDistance;
|
|
|
|
|
if (::factory->logoEnabled!=1 && (isActive()||!::factory->logoActive))
|
|
|
|
@ -1336,7 +1336,7 @@ void CrystalClient::paintEvent(TQPaintEvent*)
|
|
|
|
|
}
|
|
|
|
|
}else if (::factory->logoEnabled!=1 && (isActive()||!::factory->logoActive)) {
|
|
|
|
|
int x=0;
|
|
|
|
|
r=titlebar_->tqgeometry();
|
|
|
|
|
r=titlebar_->geometry();
|
|
|
|
|
if (::factory->logoEnabled==0) x=r.left();
|
|
|
|
|
if (::factory->logoEnabled==2) x=r.right()-::factory->logo.width();
|
|
|
|
|
pufferPainter.drawPixmap(x,(::factory->titlesize-::factory->logo.height())/2,::factory->logo);
|
|
|
|
@ -1485,7 +1485,7 @@ void CrystalClient::resizeEvent(TQResizeEvent *e)
|
|
|
|
|
if (!timer.isActive())timer.start(0,true);
|
|
|
|
|
// Repaint();
|
|
|
|
|
}
|
|
|
|
|
// tqrepaint only every xxx ms
|
|
|
|
|
// repaint only every xxx ms
|
|
|
|
|
else if (::factory->repaintMode==3 || !timer.isActive())
|
|
|
|
|
{
|
|
|
|
|
// Repaint only, when mode!=fade || amount<100
|
|
|
|
@ -1509,7 +1509,7 @@ void CrystalClient::moveEvent(TQMoveEvent *)
|
|
|
|
|
{
|
|
|
|
|
Repaint();
|
|
|
|
|
}
|
|
|
|
|
// tqrepaint every xxx ms, so constant moving does not take too much CPU
|
|
|
|
|
// repaint every xxx ms, so constant moving does not take too much CPU
|
|
|
|
|
else if (::factory->repaintMode==3 || !timer.isActive())
|
|
|
|
|
{
|
|
|
|
|
// Repaint only, when mode!=fade || value<100, because otherwise it is a plain color
|
|
|
|
@ -1528,7 +1528,7 @@ void CrystalClient::showEvent(TQShowEvent *)
|
|
|
|
|
|
|
|
|
|
void CrystalClient::Repaint()
|
|
|
|
|
{
|
|
|
|
|
widget()->tqrepaint(false);
|
|
|
|
|
widget()->repaint(false);
|
|
|
|
|
for (int n=0; n<ButtonTypeCount; n++)
|
|
|
|
|
if (button[n]) button[n]->reset();
|
|
|
|
|
}
|
|
|
|
|