Review Request: Take care of the PopupPosition in popupApplet and save the resized dialog size
Aaron Seigo
aseigo at kde.org
Fri Sep 12 17:07:38 CEST 2008
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.vidsolbach.de/r/132/#review187
-----------------------------------------------------------
Ship it!
> The correct way to do that is to create a private void
> emitConfigNeedsSaving in popupApplet and call it from dialogSizeChanged()
> in the private Class ?
if this class weren't in libplasma, yes. but as it is, go the dirty route of making PopupAppletPrivate a friend of Applet. =)
/trunk/KDE/kdebase/workspace/libs/plasma/popupapplet.cpp
<http://reviewboard.vidsolbach.de/r/132/#comment156>
remove?
- Aaron
On 2008-09-12 07:26:26, Loic Marteau wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.vidsolbach.de/r/132/
> -----------------------------------------------------------
>
> (Updated 2008-09-12 07:26:26)
>
>
> Review request for Plasma.
>
>
> Summary
> -------
>
> Update 2 :
> patch Updated to adjust sizeHint stuff in kickoff
> Is it ok to commit the patch now ?
>
> I need just to correctly emit the signal q->configNeedsSaving() in the void PopupAppletPrivate::dialogSizeChanged() but the signal is protected in applet and the private class cant reach him.
>
> The correct way to do that is to create a private void emitConfigNeedsSaving in popupApplet and call it from dialogSizeChanged() in the private Class ?
>
> Cheers
>
> Update 1 :
> Now the idea is to provide functions to popupApplet so we save the new size of the dialog when the user resize it and we calculate the position of the dialog relatively to the icon so the applets can use it directly.
>
> Applied in kickoff
>
> i have just a problem with this in kickoff, it is code than i have removed this it is directly dealed in popupapplet
> if (d->applet) {
> sizeGroup = d->applet->config();
> } else {
> sizeGroup = componentData().config()->group("Size");
> }
>
> const int width = qMin(sizeGroup.readEntry("Width", 0), QApplication::desktop()->screen()->width()-50);
> const int height = qMin(sizeGroup.readEntry("Height", 0), QApplication::desktop()->screen()->height()-50);
> QSize wanted(width, height);
>
> i dont know exactly in wich case we dont have d->applet, is it a problem if in such case it is up to the component who contains the launcher to deal with size itself ?
>
> Cheers
>
> Lo
>
>
> Old Description of the proposed patch :
> hello !
>
> Here is a big patch to make kickoff use popupApplet.
>
> I have add some code to dialog to let the user resize a dialog .
> The dialog resize handle is activated by giving to the dialog which cardinal direction we want to see it, perhaps we can add support to combine different location later.
>
> I have add some code to popupApplet too to let the applet notified when popup is activated and where is located the popup relatively to the icon
> The popup Location is an enum in Plasma. This stuff is to permit fitt's law optimisation.
>
> The majority of the code i have added in dialog and popupapplet is inspired from the kickoff one.
>
> There is things missings in the patch but i want to know if the direction is good.
> - Default kickoff size does not work well
> - Tool tip manager does not work
> - the resize handle widget is a little ugly
> - More work to adjust the popup Position in popupApplet is needed to deal correctly with centered icons in panels and to let applets say to popup what it is their preferred alignment.
>
> Cheers
>
>
> Hope than you spend good time at akademy !
>
> Lo
>
>
> Diffs
> -----
>
> /trunk/KDE/kdebase/workspace/libs/plasma/plasma.h
> /trunk/KDE/kdebase/workspace/libs/plasma/popupapplet.h
> /trunk/KDE/kdebase/workspace/libs/plasma/popupapplet.cpp
> /trunk/KDE/kdebase/workspace/plasma/applets/kickoff/applet/applet.cpp
> /trunk/KDE/kdebase/workspace/plasma/applets/kickoff/ui/launcher.h
> /trunk/KDE/kdebase/workspace/plasma/applets/kickoff/ui/launcher.cpp
>
> Diff: http://reviewboard.vidsolbach.de/r/132/diff
>
>
> Testing
> -------
>
>
> Thanks,
>
> Loic
>
>
More information about the Plasma-devel
mailing list