Blob Blame History Raw
--- qt-x11-free-3.3.3.orig/src/widgets/qmenubar.cpp	2004-08-05 16:42:21.000000000 +0200
+++ qt-x11-free-3.3.3/src/widgets/qmenubar.cpp	2004-12-03 17:26:43.000000000 +0100
@@ -228,6 +228,10 @@
 static const int motifItemHMargin	= 5;	// menu item hor text margin
 static const int motifItemVMargin	= 4;	// menu item ver text margin
 
+// The others are 0
+static const int gtkItemHMargin = 8;
+static const int gtkItemVMargin = 8;
+
 /*
 
 +-----------------------------
@@ -292,7 +296,14 @@
     setFrameStyle( QFrame::MenuBarPanel | QFrame::Raised );
 
     QFontMetrics fm = fontMetrics();
-    int h = 2*motifBarVMargin + fm.height() + motifItemVMargin + 2*frameWidth() + 2*motifItemFrame;
+
+    int h;
+    int gs = style().styleHint(QStyle::SH_GUIStyle);
+    if (gs == GtkStyle) {
+        h = fm.height() + gtkItemVMargin;
+    } else {
+        h = 2*motifBarVMargin + fm.height() + motifItemVMargin + 2*frameWidth() + 2*motifItemFrame;
+    }
 
     setGeometry( 0, 0, width(), h );
 
@@ -944,12 +955,19 @@
 	    h = QMAX( mi->pixmap()->height() + 4, QApplication::globalStrut().height() );
 	} else if ( !mi->text().isNull() ) {	// text item
 	    QString s = mi->text();
-	    w = fm.boundingRect( s ).width()
-		+ 2*motifItemHMargin;
+        if ( gs == GtkStyle ) {
+            w = fm.boundingRect( s ).width() + 2*gtkItemHMargin;
+        } else {
+	        w = fm.boundingRect( s ).width() + 2*motifItemHMargin;
+        }
 	    w -= s.contains('&')*fm.width('&');
 	    w += s.contains("&&")*fm.width('&');
 	    w = QMAX( w, QApplication::globalStrut().width() );
-	    h = QMAX( fm.height() + motifItemVMargin, QApplication::globalStrut().height() );
+        if (gs == GtkStyle ) {
+            h = QMAX( fm.height() + gtkItemVMargin, QApplication::globalStrut().height() );
+        } else {
+	        h = QMAX( fm.height() + motifItemVMargin, QApplication::globalStrut().height() );
+        }
 	} else if ( mi->isSeparator() ) {	// separator item
 	    if ( style().styleHint(QStyle::SH_GUIStyle) == MotifStyle )
 		separator = i; //### only motif?
--- qt-x11-free-3.3.3.orig/src/widgets/qpopupmenu.cpp	2004-08-05 16:42:21.000000000 +0200
+++ qt-x11-free-3.3.3/src/widgets/qpopupmenu.cpp	2004-12-03 17:43:50.000000000 +0100
@@ -65,6 +65,8 @@
 static const int motifArrowHMargin	= 6;	// arrow horizontal margin
 static const int motifArrowVMargin	= 2;	// arrow vertical margin
 
+static const int gtkArrowHMargin	= 0;	// arrow horizontal margin
+static const int gtkArrowVMargin	= 0;	// arrow vertical margin
 
 /*
 
@@ -2289,8 +2291,18 @@
     QRect r( itemGeometry( actItem ) );
     QPoint p;
     QSize ps = popup->sizeHint();
+    // GUI Style
+    int gs = style().styleHint(QStyle::SH_GUIStyle);
+    int arrowHMargin, arrowVMargin;
+    if (gs == GtkStyle) {
+        arrowHMargin = gtkArrowHMargin;
+        arrowVMargin = gtkArrowVMargin;
+    } else {
+        arrowHMargin = motifArrowHMargin;
+        arrowVMargin = motifArrowVMargin;
+    }
     if( QApplication::reverseLayout() ) {
-	p = QPoint( r.left() + motifArrowHMargin - ps.width(), r.top() + motifArrowVMargin );
+	p = QPoint( r.left() + arrowHMargin - ps.width(), r.top() + arrowVMargin );
 	p = mapToGlobal( p );
 
 	bool right = FALSE;
@@ -2303,7 +2315,7 @@
 	if ( right )
 	    p.setX( mapToGlobal( r.topRight() ).x() );
     } else {
-	p = QPoint( r.right() - motifArrowHMargin, r.top() + motifArrowVMargin );
+	p = QPoint( r.right() - arrowHMargin, r.top() + arrowVMargin );
 	p = mapToGlobal( p );
 
 	bool left = FALSE;
--- qt-x11-free-3.3.3.orig/src/kernel/qnamespace.h	2004-08-05 16:42:10.000000000 +0200
+++ qt-x11-free-3.3.3/src/kernel/qnamespace.h	2004-11-29 22:22:26.000000000 +0100
@@ -294,7 +294,8 @@
 #ifdef QT_NO_COMPAT
     enum GUIStyle {
 	WindowsStyle = 1,     // ### Qt 4.0: either remove the obsolete enums or clean up compat vs.
-	MotifStyle = 4        // ### QT_NO_COMPAT by reordering or combination into one enum.
+	MotifStyle = 4,       // ### QT_NO_COMPAT by reordering or combination into one enum.
+    GtkStyle = 6          // Gtk compability mode
     };
 #else
     enum GUIStyle {
@@ -302,7 +303,8 @@
 	WindowsStyle,
 	Win3Style, // OBSOLETE
 	PMStyle, // OBSOLETE
-	MotifStyle
+	MotifStyle,
+    GtkStyle = 6          // Gtk compability mode
     };
 #endif