Re: [Interest] qt5 settings ini format regression

2013-01-01 Thread Frank Hemer
On Sunday 30 December 2012 16:50:50 Thiago Macieira wrote:
 On domingo, 30 de dezembro de 2012 18.35.20, Frank Hemer wrote:
  In QT5, QSettings with IniFormat being used with keys like
  'general/entry1'
  do write all items into a '%General' section.
  This is what the doc explains as a way to ensure no keys without a group
  may get overwritten.
  
  Unfortunately it seems that with qt5 there appear multiple '%General'
  sections when accessed as described above.
  This is a regression to the 4.x.
  
  Can anybody confirm this behavior, maybe with other os (I tried linux) -
  I'll file a  bugreport then.
 
 Please do, because there are no changes that could account for that. I've
 attached the full diff on all QSettings from 4.8.4 to 5.0.0. The changes can

Done, @see here:
https://bugreports.qt-project.org/browse/QTBUG-28893

Thanks Thiago for the detailed diff - looking over the code I suspect the 
splitting into several sections being an old issue that was possibly never 
recognized but didn't do any harm as the map reading the values put all things 
together.

Anyway since 5.0 this fails ... maybe a change in the map being used? (I love 
these sideeffects *ironie*)

Frank
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] qt5 settings ini format regression

2013-01-01 Thread Thiago Macieira
On terça-feira, 1 de janeiro de 2013 16.58.06, Frank Hemer wrote:
 Done, @see here:
 https://bugreports.qt-project.org/browse/QTBUG-28893

 Thanks Thiago for the detailed diff - looking over the code I suspect the
 splitting into several sections being an old issue that was possibly never
 recognized but didn't do any harm as the map reading the values put all
 things  together.

 Anyway since 5.0 this fails ... maybe a change in the map being used? (I
 love  these sideeffects *ironie*)

The QMap implementation was completely changed in Qt 5.0. In Qt 4, it was a
skiplist; in Qt 5, it's an RB tree -- the same implementation as Qt 3.

The QHash implementation has received a random hashing, which changes all the
buckets.

In both cases, those changes may have made old bugs surface.
--
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center


signature.asc
Description: This is a digitally signed message part.
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] qt5 settings ini format regression

2013-01-01 Thread Thiago Macieira
On terça-feira, 1 de janeiro de 2013 19.12.33, Philippe wrote:
  The QMap implementation was completely changed in Qt 5.0. In Qt 4, it was
  a
  skiplist; in Qt 5, it's an RB tree -- the same implementation as Qt 3.

 What was the motivation for this change?

Because the Qt 4 implementation wasn't that good.

--
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center


signature.asc
Description: This is a digitally signed message part.
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] Widget cross-platform (minimum) size constraint problem.

2013-01-01 Thread Goblin Coding
Hi All,

First of all, I have had a look at the documentation, I’ve tried various
combinations of setting minimum sizes, different size policies, calling
updateGeometry() and adjustSize(), I’ve searched the forum for “qwidget
minimum size” and others, I’ve asked Google…and I’m still stuck.

*Background*
I have a widget deriving from QScrollArea. This widget is populated with a
bunch of QGroupBox’es in a horizontal layout (the main layout for the
widget). Each QGroupBox contains buttons and/or other standard Qt widgets
and all of them have layouts assigned to them and their content.

*The problem*
On Windows, I manage to ensure that the widget is created with the minimum
size required to display the content WITHOUT having to show any scroll bars
by setting the minimumSize property (using QtCreator and designer) and
setting both the horizontal and vertical size policies to “Fixed”. This
works just fine.

However, compiling the same code on Ubuntu (12.04 LTS), the widget is
displayed with the horizontal scroll bar showing at start-up. Now, I can
obviously sort that out (for Ubuntu) by playing around with the minimum
size settings, but that kind of defeats the point of “code once, deploy
everywhere”.

*The question*
Is there a way to ensure that what I see in designer is what I get? In case
this is not clear: is there a way to ensure that the widget, when set on a
parent widget or window, will look *exactly* like it does when viewed in
designer?
*Qt details:*

QtCreator 2.4.1 based on Qt 4.7.4 (32 bit)

Thanks for your help!
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Widget cross-platform (minimum) size constraint problem.

2013-01-01 Thread Tony Rietwyk
Hi, 

 

The short answer is NO - Qt does not guarantee that designer created layouts
look identical on all platforms.   Especially on Mac where the minimum sizes
are much larger due to the larger default font size and layout margins.
The same widget type will have different default minimum sizes depending on
the platform and desktop style.  

 

It's not clear to me why you have put the groups in a scroll area, if you
don't want scroll bars to be shown.   If you drag the layout into a normal
dialog or main window, then the minimum sizes that you have set should be
respected, and the group boxes should grow if you have allowed that.  

 

Tony.

 

 

 

From: interest-bounces+tony=rightsoft.com...@qt-project.org
[mailto:interest-bounces+tony=rightsoft.com...@qt-project.org] On Behalf Of
Goblin Coding
Sent: Wednesday, 2 January 2013 5:13 PM
To: interest@qt-project.org
Subject: [Interest] Widget cross-platform (minimum) size constraint problem.

 

Hi All,

First of all, I have had a look at the documentation, I've tried various
combinations of setting minimum sizes, different size policies, calling
updateGeometry() and adjustSize(), I've searched the forum for qwidget
minimum size and others, I've asked Google.and I'm still stuck.

Background
I have a widget deriving from QScrollArea. This widget is populated with a
bunch of QGroupBox'es in a horizontal layout (the main layout for the
widget). Each QGroupBox contains buttons and/or other standard Qt widgets
and all of them have layouts assigned to them and their content.

The problem
On Windows, I manage to ensure that the widget is created with the minimum
size required to display the content WITHOUT having to show any scroll bars
by setting the minimumSize property (using QtCreator and designer) and
setting both the horizontal and vertical size policies to Fixed. This
works just fine. 

However, compiling the same code on Ubuntu (12.04 LTS), the widget is
displayed with the horizontal scroll bar showing at start-up. Now, I can
obviously sort that out (for Ubuntu) by playing around with the minimum size
settings, but that kind of defeats the point of code once, deploy
everywhere.

The question
Is there a way to ensure that what I see in designer is what I get? In case
this is not clear: is there a way to ensure that the widget, when set on a
parent widget or window, will look exactly like it does when viewed in
designer?

Qt details:

QtCreator 2.4.1 based on Qt 4.7.4 (32 bit) 

Thanks for your help!

 

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest