rpms/kdebase/devel kdebase-4.0.3-kde#160422.patch, NONE, 1.1 kdebase.spec, 1.312, 1.313

Kevin Kofler (kkofler) fedora-extras-commits at redhat.com
Sun Apr 6 09:37:55 UTC 2008


Author: kkofler

Update of /cvs/pkgs/rpms/kdebase/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv20330/devel

Modified Files:
	kdebase.spec 
Added Files:
	kdebase-4.0.3-kde#160422.patch 
Log Message:
* Thu Apr 03 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.3-6
- backport Konsole window size fixes from 4.1 (#439638, kde#160422)

kdebase-4.0.3-kde#160422.patch:

--- NEW FILE kdebase-4.0.3-kde#160422.patch ---
Index: konsole/src/TerminalDisplay.cpp
===================================================================
--- konsole/src/TerminalDisplay.cpp	(revision 793963)
+++ konsole/src/TerminalDisplay.cpp	(revision 793970)
@@ -2575,7 +2575,7 @@
 
   _topMargin = DEFAULT_TOP_MARGIN;
   _contentHeight = contentsRect().height() - 2 * DEFAULT_TOP_MARGIN + /* mysterious */ 1;
-
+   
   if (!_isFixedSize)
   {
      // ensure that display is always at least one column wide
@@ -2606,16 +2606,16 @@
   clearImage();
 }
 
-// calculate the needed size
+// calculate the needed size, this must be synced with calcGeometry()
 void TerminalDisplay::setSize(int columns, int lines)
 {
-  //FIXME - Not quite correct, a small amount of additional space
-  // will be used for margins, the scrollbar etc.
-  // we need to allow for this so that '_size' does allow
-  // enough room for the specified number of columns and lines to fit
+  int scrollBarWidth = _scrollBar->isHidden() ? 0 :  
+						style()->pixelMetric(QStyle::PM_ScrollBarExtent);
+  int horizontalMargin = 2 * DEFAULT_LEFT_MARGIN;
+  int verticalMargin = 2 * DEFAULT_TOP_MARGIN;
 
-  QSize newSize = QSize( columns * _fontWidth  ,
-				 lines * _fontHeight   );
+  QSize newSize = QSize( horizontalMargin + scrollBarWidth + (columns * _fontWidth)  ,
+				 verticalMargin + (lines * _fontHeight)   );
 
   if ( newSize != size() )
   {
Index: konsole/src/Application.cpp
===================================================================
--- konsole/src/Application.cpp	(revision 793963)
+++ konsole/src/Application.cpp	(revision 793970)
@@ -131,8 +131,23 @@
     if ( args->isSet("background-mode") )
         startBackgroundMode(window);
     else
-        window->show();
+	{
+		// Qt constrains top-level windows which have not been manually resized
+		// (via QWidget::resize()) to a maximum of 2/3rds of the screen size.
+		//
+		// This means that the terminal display might not get the width/height
+		// it asks for.  To work around this, the widget must be manually resized
+		// to its sizeHint().
+		//
+		// This problem only affects the first time the application is run.  After
+		// that KMainWindow will have manually resized the window to its saved size
+		// at this point (so the Qt::WA_Resized attribute will be set)
+		if (!window->testAttribute(Qt::WA_Resized))
+			window->resize(window->sizeHint());
 
+		window->show();
+	}
+
     return 0;
 }
 


Index: kdebase.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kdebase/devel/kdebase.spec,v
retrieving revision 1.312
retrieving revision 1.313
diff -u -r1.312 -r1.313
--- kdebase.spec	3 Apr 2008 17:24:50 -0000	1.312
+++ kdebase.spec	6 Apr 2008 09:37:17 -0000	1.313
@@ -1,7 +1,7 @@
 
 Summary: K Desktop Environment 4 - Core Files
 Version: 4.0.3
-Release: 5%{?dist}
+Release: 6%{?dist}
 
 %if 0%{?fedora} > 8
 Name: kdebase
@@ -23,6 +23,10 @@
 Group: User Interface/Desktops
 URL: http://www.kde.org/
 Source0: ftp://ftp.kde.org/pub/kde/stable/%{version}/src/kdebase-%{version}.tar.bz2
+# fix Konsole window size (backported from 4.1, #439638, kde#160422)
+# http://websvn.kde.org/?view=rev&revision=793964
+# http://websvn.kde.org/?view=rev&revision=793970
+Patch100: kdebase-4.0.3-kde#160422.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires: kde-filesystem >= 4
@@ -114,6 +118,7 @@
 
 %prep
 %setup -q -n kdebase-%{version}
+%patch100 -p1 -b .kde#160422
 
 %build
 
@@ -291,6 +296,9 @@
 
 
 %changelog
+* Thu Apr 03 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.3-6
+- backport Konsole window size fixes from 4.1 (#439638, kde#160422)
+
 * Thu Apr 03 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.3-5
 - rebuild (again) for the fixed %%{_kde4_buildtype}
 




More information about the fedora-extras-commits mailing list