KDElibs: KSystemTray: On window close dialog
Diego Iastrubni
elcuco at kdemail.net
Thu Sep 16 15:37:45 BST 2004
int tw = Global::tray->width();
int th = Global::tray->height();
int w = desktopWidth / 4;
int h = desktopHeight / 9;
int x = g.x() + tw/2 - w/2; // Center the rectange in the systray icon
int y = g.y() + th/2 - h/2;
if (x < 0) x = 0; // Move the rectangle to stay in the
desktop limits
if (y < 0) y = 0;
if (x + w > desktopWidth) x = desktopWidth - w;
if (y + h > desktopHeight) y = desktopHeight - h;
// Grab the desktop and draw a circle arround the icon:
QPixmap shot = QPixmap::grabWindow(qt_xrootwin(), x, y, w, h);
Will this work for right-to-left desktops? please try running "kicker
--reverse" and see if it works, as I am not quite sure about it.
ביום חמישי, 16 בספטמבר 2004, 10:21, נכתב על ידי Olivier Goffart:
> Le Mercredi 15 Septembre 2004 23:37, Sébastien Laoût [temporar] a écrit :
> > I've implemented it here:
> > http://les83plus.free.fr/sebastien.laout/basket/usability-on-close-info.h
> >tm l (screenshots + comments + code)
>
> looks good.
>
> Maybe you should use KMessageBox::shouldBeShown to don't take the
> screenshot if the user already clicked on the "don't show again"
> checkbox.
>
> > I am asking you if it can be added to KDE libs for KDE 3.4.
> > Since then, every app could call the KSystemTray::hideWindowMessage() or
> > other method to display it (displayHideMessage()...).
> > This also would uniform such feedback to the user...
>
> Yes, please.
>
> > Unfortunaly, I haven't any CVS account and even less skill in CVS :-/
> > So I couldn't do it myself.
>
> You still may ask for one.
>
> > I've writed the code to put into KDE CVS:
> > http://les83plus.free.fr/sebastien.laout/basket/systray-close-message-int
> >o- kdelibs.txt
>
> We need to add a way to have a dontAskAgainName checkbox in the queued
> messagebox, and you will be able to remove your FIXME :-) (I need this in
> Kopete too)
>
> You didn't remove the Pixmap form the QMimeFactory , you probably shoud.
> Problem: if you uses queuedMessageBox, you can't.
>
> don't forget to add the API documentation.
>
> I think you can obtaon the application name from KGlobal
--
diego, kde-il translation team, http://www.kde.org/il
Please avoid sending me Word or PowerPoint attachments.
See http://www.fsf.org/philosophy/no-word-attachments.html
More information about the kde-core-devel
mailing list