Bug 106011 - KoUnitDoubleSpinBox has a design flaw
Summary: KoUnitDoubleSpinBox has a design flaw
Status: RESOLVED FIXED
Alias: None
Product: koffice
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: KOffice Bug Wranglers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-20 11:34 UTC by Thomas Zander
Modified: 2005-09-06 14:19 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Zander 2005-05-20 11:34:47 UTC
Version:           1.4 (using KDE Devel)
Installed from:    Compiled sources

KoUnitDoubleSpinBox has a setValue(double) and a value() method; as they are used in kword/framedia.cc (KWFourSideConfigWidget)

It appears that the setter expects a value already converted using KoUnit, while the getter returns a pre-converted value.
This breaks a very simple concept that 
setValue(1.0);
value() == 1.0
sould be true.

I recommend looking into this and probably refactor some code to make sure this is consistent after 1.4 is released.
Note that I found some 100 usages of the class on a quick grep.
Comment 1 Nicolas Goutte 2005-05-20 14:56:37 UTC
I am sorry that I had started to change that code and that I have never found time to finish it.
Comment 2 Inge Wallin 2005-06-11 20:05:51 UTC
I have now changed KoUnitDoubleSpinBox into KoBuggyUnitDoubleSpinBox and introduced KoUnitDoubleSpinBox2.  The second one is supposed to be correct.
All maintainers now have to fix their usage.  In many cases it should be enough to use the Ko...SpinBox2 instead of KoBuggy...Box.  

When all usage of the old, buggy class has gone, we can merge the two classes and rename it into KoUnitDoubleSpinBox again.
Comment 3 Inge Wallin 2005-06-23 20:51:11 UTC
SVN commit 428323 by ingwa:

Apply the patch to KoUnitDoubleSpinBox, renaming it into
KoBuggyUnitDoubleSpinBox, to branch as well.  Now the long work of
actually fixing all the usages commences.

CCBUG: 106011



 M  +4 -4      karbon/dialogs/vconfiguredlg.cc  
 M  +5 -5      karbon/dialogs/vconfiguredlg.h  
 M  +1 -1      karbon/dialogs/vstrokedlg.cc  
 M  +2 -2      karbon/dialogs/vstrokedlg.h  
 M  +1 -1      karbon/dockers/vstrokedocker.cc  
 M  +2 -2      karbon/dockers/vstrokedocker.h  
 M  +4 -4      karbon/dockers/vtransformdocker.cc  
 M  +5 -5      karbon/dockers/vtransformdocker.h  
 M  +2 -0      karbon/tools/vellipsetool.cc  
 M  +4 -2      karbon/tools/vellipsetool.h  
 M  +1 -0      karbon/tools/vpolygontool.cc  
 M  +2 -0      karbon/tools/vpolygontool.h  
 M  +2 -1      karbon/tools/vrectangletool.cc  
 M  +3 -1      karbon/tools/vrectangletool.h  
 M  +1 -1      karbon/tools/vroundrecttool.h  
 M  +2 -0      karbon/tools/vsinustool.cc  
 M  +3 -1      karbon/tools/vsinustool.h  
 M  +1 -0      karbon/tools/vspiraltool.cc  
 M  +2 -0      karbon/tools/vspiraltool.h  
 M  +2 -0      karbon/tools/vstartool.cc  
 M  +2 -0      karbon/tools/vstartool.h  
 M  +4 -4      karbon/widgets/vselecttoolbar.cc  
 M  +5 -5      karbon/widgets/vselecttoolbar.h  
 M  +4 -4      kivio/kiviopart/kivio_stencil_geometry_panel.cpp  
 M  +2 -2      kivio/kiviopart/kivio_stencil_geometry_panel.h  
 M  +1 -1      kivio/kiviopart/kivio_view.h  
 M  +4 -4      kivio/kiviopart/ui/kivioarrowheadformatdlg.cpp  
 M  +5 -5      kivio/kiviopart/ui/kivioarrowheadformatdlg.h  
 M  +5 -5      kivio/kiviopart/ui/kiviooptionsdialog.cpp  
 M  +6 -6      kivio/kiviopart/ui/kiviooptionsdialog.h  
 M  +1 -1      kivio/kiviopart/ui/kiviostencilformatdlg.cpp  
 M  +2 -2      kivio/kiviopart/ui/kiviostencilformatdlg.h  
 M  +1 -1      kword/configfootnotedia.cc  
 M  +2 -2      kword/configfootnotedia.h  
 M  +9 -9      kword/framedia.cc  
 M  +2 -2      kword/framedia.h  
 M  +5 -5      kword/kwconfig.cc  
 M  +5 -5      kword/kwconfig.h  
 M  +1 -1      kword/resizetabledia.cc  
 M  +2 -2      kword/resizetabledia.h  
 M  +5 -2      lib/kofficecore/koDocument.cc  
 M  +33 -7     lib/kofficeui/koUnitWidgets.cc  
 M  +19 -3     lib/kofficeui/koUnitWidgets.h  
 M  +2 -2      lib/kofficeui/kolinewidthaction.cpp  
Comment 4 Inge Wallin 2005-09-06 01:44:34 UTC
SVN commit 457470 by ingwa:

Fix bug 106011: KoUnitDoubleSpinBox has a design flaw

This fix:
 - removes KoBuggyUnitDoubleSpinBox
 - renames KoUnitDoubleSpinBox2 into KoUnitDoubleSpinBox.
 - makes all of koffice use KoUnitDoubleSpinBox as it was originally 
   designed.

I will backport it into the 1.4 branch.

BUG: 106011



 M  +4 -4      karbon/dialogs/vconfiguredlg.cc  
 M  +5 -5      karbon/dialogs/vconfiguredlg.h  
 M  +1 -1      karbon/dialogs/vstrokedlg.cc  
 M  +2 -2      karbon/dialogs/vstrokedlg.h  
 M  +1 -1      karbon/dockers/vstrokedocker.cc  
 M  +2 -2      karbon/dockers/vstrokedocker.h  
 M  +4 -4      karbon/dockers/vtransformdocker.cc  
 M  +5 -5      karbon/dockers/vtransformdocker.h  
 M  +2 -2      karbon/tools/vellipsetool.cc  
 M  +3 -3      karbon/tools/vellipsetool.h  
 M  +1 -1      karbon/tools/vpolygontool.cc  
 M  +3 -3      karbon/tools/vpolygontool.h  
 M  +2 -2      karbon/tools/vrectangletool.cc  
 M  +3 -3      karbon/tools/vrectangletool.h  
 M  +1 -1      karbon/tools/vroundrecttool.h  
 M  +2 -2      karbon/tools/vsinustool.cc  
 M  +3 -3      karbon/tools/vsinustool.h  
 M  +1 -1      karbon/tools/vspiraltool.cc  
 M  +3 -3      karbon/tools/vspiraltool.h  
 M  +2 -2      karbon/tools/vstartool.cc  
 M  +4 -4      karbon/tools/vstartool.h  
 M  +4 -4      karbon/widgets/vselecttoolbar.cc  
 M  +5 -5      karbon/widgets/vselecttoolbar.h  
 M  +4 -4      kivio/kiviopart/kivio_stencil_geometry_panel.cpp  
 M  +2 -2      kivio/kiviopart/kivio_stencil_geometry_panel.h  
 M  +4 -4      kivio/kiviopart/ui/kivioarrowheadformatdlg.cpp  
 M  +5 -5      kivio/kiviopart/ui/kivioarrowheadformatdlg.h  
 M  +5 -5      kivio/kiviopart/ui/kiviooptionsdialog.cpp  
 M  +6 -6      kivio/kiviopart/ui/kiviooptionsdialog.h  
 M  +1 -1      kivio/kiviopart/ui/kiviostencilformatdlg.cpp  
 M  +2 -2      kivio/kiviopart/ui/kiviostencilformatdlg.h  
 M  +1 -1      kword/configfootnotedia.cc  
 M  +2 -2      kword/configfootnotedia.h  
 M  +9 -9      kword/framedia.cc  
 M  +2 -2      kword/framedia.h  
 M  +5 -5      kword/kwconfig.cc  
 M  +5 -5      kword/kwconfig.h  
 M  +4 -0      kword/kwtableframeset.cc  
 M  +1 -1      kword/resizetabledia.cc  
 M  +2 -2      kword/resizetabledia.h  
 M  +25 -41    lib/kofficeui/koUnitWidgets.cc  
 M  +13 -20    lib/kofficeui/koUnitWidgets.h  
 M  +2 -2      lib/kofficeui/kolinewidthaction.cpp  
Comment 5 Inge Wallin 2005-09-06 14:19:57 UTC
Now the fix is backported to 1.4 branch as well.