KDE 3.2.2 and Qt 3.3.1 [Re: remember KDE 3.2.2]

Frerich Raabe raabe at kde.org
Sun Mar 28 23:06:38 BST 2004


On Sun, Mar 28, 2004 at 09:35:13PM +0200, Stephan Binner wrote:
> On Friday 26 March 2004 11:06, Stephan Kulow wrote:
> 
> > So if you have anything left to do for that release (including increasing
> > version numbers :), do so next week.
> 
> And don't forget to update changelog www/announcements/changelogs and also to 
> add your new version numbers to the products on http://bugs.kde.org. :-)
> 
> On the subject, shouldn't KDE 3.2.2 work flawless with the current Qt version?
> At the moment I'm aware of these unsolved problems:
> 
>  - K Menu gets wider with time (#78573, #78556)

Try the attached patch. It basically reverts revision 1.24 of
kicker/ui/k_mnu.h and revision 1.86 of k_mnu.cpp - both had the
log message 'Fix Kmenu width (broken by Qt 3.3)'.

- Frerich

-- 
if new true friend not protected for explicit private union, break
case and try using this.
-------------- next part --------------
Index: ui/k_mnu.cpp
===================================================================
RCS file: /home/kde/kdebase/kicker/ui/k_mnu.cpp,v
retrieving revision 1.89
diff -u -3 -p -r1.89 k_mnu.cpp
--- ui/k_mnu.cpp	27 Mar 2004 07:57:12 -0000	1.89
+++ ui/k_mnu.cpp	28 Mar 2004 22:08:08 -0000
@@ -325,8 +325,6 @@ void PanelKMenu::initialize()
       insertTearOffHandle();
 #endif
 
-    setMinimumSize( sizeHint() );
-
     setInitialized(true);
 }
 
@@ -421,6 +419,26 @@ void PanelKMenu::slotEditUserContact()
 {
 }
 
+void PanelKMenu::setMinimumSize(const QSize & s)
+{
+    KPanelMenu::setMinimumSize(s.width() + sidePixmap.width(), s.height());
+}
+
+void PanelKMenu::setMaximumSize(const QSize & s)
+{
+    KPanelMenu::setMaximumSize(s.width() + sidePixmap.width(), s.height());
+}
+
+void PanelKMenu::setMinimumSize(int w, int h)
+{
+    KPanelMenu::setMinimumSize(w + sidePixmap.width(), h);
+}
+
+void PanelKMenu::setMaximumSize(int w, int h)
+{
+  KPanelMenu::setMaximumSize(w + sidePixmap.width(), h);
+}
+
 QRect PanelKMenu::sideImageRect()
 {
     return QStyle::visualRect( QRect( frameWidth(), frameWidth(), sidePixmap.width(),
@@ -429,6 +447,9 @@ QRect PanelKMenu::sideImageRect()
 
 void PanelKMenu::resizeEvent(QResizeEvent * e)
 {
+//    kdDebug(1210) << "PanelKMenu::resizeEvent():" << endl;
+//    kdDebug(1210) << geometry().width() << ", " << geometry().height() << endl;
+
     PanelServiceMenu::resizeEvent(e);
 
     setFrameRect( QStyle::visualRect( QRect( sidePixmap.width(), 0,
@@ -438,7 +459,8 @@ void PanelKMenu::resizeEvent(QResizeEven
 QSize PanelKMenu::sizeHint() const
 {
     QSize s = PanelServiceMenu::sizeHint();
-    s.setWidth( s.width() + sidePixmap.width() );
+//    kdDebug(1210) << "PanelKMenu::sizeHint()" << endl;
+//    kdDebug(1210) << s.width() << ", " << s.height() << endl;
     return s;
 }
 
Index: ui/k_mnu.h
===================================================================
RCS file: /home/kde/kdebase/kicker/ui/k_mnu.h,v
retrieving revision 1.24
diff -u -3 -p -r1.24 k_mnu.h
--- ui/k_mnu.h	9 Feb 2004 07:35:57 -0000	1.24
+++ ui/k_mnu.h	28 Mar 2004 22:08:08 -0000
@@ -47,6 +47,10 @@ public:
     void removeClientMenu(int id);
 
     virtual QSize sizeHint() const;
+    virtual void setMinimumSize(const QSize &);
+    virtual void setMaximumSize(const QSize &);
+    virtual void setMinimumSize(int, int);
+    virtual void setMaximumSize(int, int);
 
 public slots:
     virtual void initialize();


More information about the kde-core-devel mailing list