[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    Fix for 13979 (kspread)
From:       Niels Reedijk <n.reedijk () planet ! nl>
Date:       2001-07-14 12:02:31
[Download RAW message or body]

Hi,

I've taken the courtesy of fixing bug 13979. According to the API of KLocale, 
KLocale::readDate( QString ) can't handle long dates, which was noticable 
when entering long dates in kspread (read the bug report to see what 
happened). Anyway, this patch solves the problem for English and Dutch, and 
any other language that uses spaces to separate words and numbers from long 
dates.

Niels Reedijk

["13979.diff" (text/plain)]

? 13979.diff
? doc/kugar/dataref/Makefile
? doc/kugar/dataref/Makefile.in
? doc/kugar/kugar/Makefile
? doc/kugar/kugar/Makefile.in
? doc/kugar/templateref/Makefile
? doc/kugar/templateref/Makefile.in
? kivio/contrib/Makefile
? kivio/contrib/Makefile.in
? kivio/contrib/CircuitDrawing/Makefile
? kivio/contrib/CircuitDrawing/Makefile.in
? kivio/contrib/CircuitDrawing/BasicCircuitDrawing/Makefile
? kivio/contrib/CircuitDrawing/BasicCircuitDrawing/Makefile.in
? kspread/kspread.kdevelop
? lib/kformula/test.xml
cvs server: Diffing .
cvs server: Diffing admin
cvs server: Diffing debian
cvs server: Diffing doc
cvs server: Diffing doc/killustrator
cvs server: Diffing doc/koffice
cvs server: Diffing doc/koshell
cvs server: Diffing doc/kpresenter
cvs server: Diffing doc/kpresenter/pics
cvs server: Diffing doc/krayon
cvs server: Diffing doc/kspread
cvs server: Diffing doc/kspread/screenshots
cvs server: Diffing doc/kugar
cvs server: Diffing doc/kugar/dataref
cvs server: Diffing doc/kugar/kugar
cvs server: Diffing doc/kugar/templateref
cvs server: Diffing doc/kword
cvs server: Diffing example
cvs server: Diffing filters
cvs server: Diffing filters/killustrator
cvs server: Diffing filters/killustrator/applixgraphics
cvs server: Diffing filters/killustrator/msod
cvs server: Diffing filters/killustrator/svg
cvs server: Diffing filters/killustrator/wmf
cvs server: Diffing filters/killustrator/xfig
cvs server: Diffing filters/kocrypt
cvs server: Diffing filters/kpresenter
cvs server: Diffing filters/kpresenter/kword
cvs server: Diffing filters/kspread
cvs server: Diffing filters/kspread/applixspread
cvs server: Diffing filters/kspread/csv
cvs server: Diffing filters/kspread/gnumeric
cvs server: Diffing filters/kspread/html
cvs server: Diffing filters/kspread/qpro
cvs server: Diffing filters/kspread/qpro/libqpro
cvs server: Diffing filters/kspread/qpro/libqpro/qpro
cvs server: Diffing filters/kspread/qpro/libqpro/src
cvs server: Diffing filters/kword
cvs server: Diffing filters/kword/abiword
cvs server: Diffing filters/kword/applixword
cvs server: Diffing filters/kword/ascii
cvs server: Diffing filters/kword/docbook
cvs server: Diffing filters/kword/html
cvs server: Diffing filters/kword/latex
cvs server: Diffing filters/kword/rtf
cvs server: Diffing filters/kword/rtf/export
cvs server: Diffing filters/kword/rtf/import
cvs server: Diffing filters/olefilters
cvs server: Diffing filters/olefilters/excel97
cvs server: Diffing filters/olefilters/lib
cvs server: Diffing filters/olefilters/powerpoint97
cvs server: Diffing filters/olefilters/winword97
cvs server: Diffing filters/wrapper
cvs server: Diffing graphite
cvs server: Diffing graphite/tests
cvs server: Diffing interfaces
cvs server: Diffing kchart
cvs server: Diffing kchart/kdchart
cvs server: Diffing kchart/pics
cvs server: Diffing kchart/toolbar
cvs server: Diffing kchart/toolbar/hicolor
cvs server: Diffing kchart/toolbar/locolor
cvs server: Diffing kformula
cvs server: Diffing kformula/icons
cvs server: Diffing kformula/pics
cvs server: Diffing killustrator
cvs server: Diffing killustrator/filter
cvs server: Diffing killustrator/pics
cvs server: Diffing killustrator/templates
cvs server: Diffing killustrator/templates/Simple
cvs server: Diffing kimageshop
cvs server: Diffing kimageshop/core
cvs server: Diffing kimageshop/data
cvs server: Diffing kimageshop/data/brushes
cvs server: Diffing kimageshop/data/images
cvs server: Diffing kimageshop/data/patterns
cvs server: Diffing kimageshop/dtd
cvs server: Diffing kimageshop/pics
cvs server: Diffing kimageshop/plugins
cvs server: Diffing kimageshop/plugins/example
cvs server: Diffing kimageshop/test
cvs server: Diffing kimageshop/tools
cvs server: Diffing kimageshop/ui
cvs server: Diffing kivio
cvs server: Diffing kivio/contrib
cvs server: Diffing kivio/contrib/CircuitDrawing
cvs server: Diffing kivio/contrib/CircuitDrawing/BasicCircuitDrawing
cvs server: Diffing kivio/kiviopart
cvs server: Diffing kivio/kiviopart/kiviosdk
cvs server: Diffing kivio/kiviopart/pics
cvs server: Diffing kivio/kiviopart/stencils
cvs server: Diffing kivio/kiviopart/stencils/Flowcharting
cvs server: Diffing kivio/kiviopart/stencils/Flowcharting/BasicFlowcharting
cvs server: Diffing kivio/kiviopart/tiles
cvs server: Diffing kivio/kiviopart/tklib
cvs server: Diffing kivio/kiviopart/tools
cvs server: Diffing kivio/kiviopart/ui
cvs server: Diffing kivio/plugins
cvs server: Diffing kivio/plugins/kivioconnectortool
cvs server: Diffing kivio/plugins/kivioconnectortool/straight_connector
cvs server: Diffing kivio/plugins/kivioselecttool
cvs server: Diffing kivio/plugins/kivioselecttool/select_pics
cvs server: Diffing kivio/plugins/kiviotexttool
cvs server: Diffing kivio/plugins/kiviozoomtool
cvs server: Diffing kivio/plugins/kiviozoomtool/zoom_pics
cvs server: Diffing koshell
cvs server: Diffing kplato
cvs server: Diffing kpresenter
cvs server: Diffing kpresenter/autoformEdit
cvs server: Diffing kpresenter/autoforms
cvs server: Diffing kpresenter/autoforms/Arrows
cvs server: Diffing kpresenter/autoforms/Connections
cvs server: Diffing kpresenter/dtd
cvs server: Diffing kpresenter/pics
cvs server: Diffing kpresenter/scripts
cvs server: Diffing kpresenter/slideshow
cvs server: Diffing kpresenter/templates
cvs server: Diffing kpresenter/templates/A4
cvs server: Diffing kpresenter/templates/Screen
cvs server: Diffing kpresenter/templates/Screenpresentations
cvs server: Diffing kpresenter/templates/common_desktop
cvs server: Diffing kpresenter/templates/common_icon
cvs server: Diffing kpresenter/templates/legal
cvs server: Diffing kpresenter/templates/letter
cvs server: Diffing kpresenter/toolbar
cvs server: Diffing kspread
Index: kspread/kspread_cell.cc
===================================================================
RCS file: /home/kde/koffice/kspread/kspread_cell.cc,v
retrieving revision 1.294
diff -u -r1.294 kspread_cell.cc
--- kspread/kspread_cell.cc	2001/07/13 14:33:46	1.294
+++ kspread/kspread_cell.cc	2001/07/14 12:00:32
@@ -3817,23 +3817,28 @@
     QDate tmpDate;
     if((tmpDate=locale()->readDate(m_strText)).isValid())
     {
-        m_bDate = true;
-        m_dValue = 0;
-        formatNumber tmpFormat=getFormatNumber(column(),row());
-        if(tmpFormat!=TextDate &&
-        !(tmpFormat>=200&&tmpFormat<=216))
-                {
-                //test if it's a short date or text date.
-                if( (locale()->formatDate(tmpDate,true)==m_strText))
-                        setFormatNumber(ShortDate);
-                else if((locale()->formatDate(tmpDate,false)==m_strText))
-                        setFormatNumber(TextDate);
-                else
-                        setFormatNumber(ShortDate);
-                }
-        m_Date=tmpDate;
-        m_strText=locale()->formatDate(m_Date,true); //short format date
-        return;
+        //KLocale::readDate( QString ) doesn't support long dates... _If_ the input is a long date,
+        //check if the first character isn't a number...
+        if ( m_strText.contains( " " ) == 0 )  //No spaces " " in short dates...
+        {
+                m_bDate = true;
+                m_dValue = 0;
+                formatNumber tmpFormat=getFormatNumber(column(),row());
+                if(tmpFormat!=TextDate &&
+                !(tmpFormat>=200&&tmpFormat<=216))
+                        {
+                        //test if it's a short date or text date.
+                        if( (locale()->formatDate(tmpDate,true)==m_strText))
+                                setFormatNumber(ShortDate);
+                        else if((locale()->formatDate(tmpDate,false)==m_strText))
+                                setFormatNumber(TextDate);
+                        else
+                                setFormatNumber(ShortDate);
+                        }
+                m_Date=tmpDate;
+                m_strText=locale()->formatDate(m_Date,true); //short format date
+                return;
+        }
     }
 
     if(m_pTable->getFirstLetterUpper())
cvs server: Diffing kspread/demos
cvs server: Diffing kspread/dtd
cvs server: Diffing kspread/extensions
cvs server: Diffing kspread/pics
cvs server: Diffing kspread/plugins
cvs server: Diffing kspread/plugins/calculator
cvs server: Diffing kspread/plugins/calculator/pics
cvs server: Diffing kspread/scripts
cvs server: Diffing kspread/tablestyles
cvs server: Diffing kspread/toolbar
cvs server: Diffing kspread/toolbar/hicolor
cvs server: Diffing kspread/toolbar/locolor
cvs server: Diffing kugar
cvs server: Diffing kugar/lib
cvs server: Diffing kugar/part
cvs server: Diffing kugar/samples
cvs server: Diffing kugar/shell
cvs server: Diffing kword
cvs server: Diffing kword/demos
cvs server: Diffing kword/dtd
cvs server: Diffing kword/expression
cvs server: Diffing kword/filters
cvs server: Diffing kword/filters/mif
cvs server: Diffing kword/pics
cvs server: Diffing kword/templates
cvs server: Diffing kword/templates/DTP
cvs server: Diffing kword/templates/Wordprocessing
cvs server: Diffing kword/toolbar
cvs server: Diffing lib
cvs server: Diffing lib/kformula
cvs server: Diffing lib/kformula/pics
cvs server: Diffing lib/kformula/pics/hicolor
cvs server: Diffing lib/kformula/prototype
cvs server: Diffing lib/kofficecore
cvs server: Diffing lib/kofficeui
cvs server: Diffing lib/kofficeui/pics
cvs server: Diffing lib/koscript
cvs server: Diffing lib/kscript
cvs server: Diffing lib/kscript/ksidl
cvs server: Diffing lib/kscript/tools
cvs server: Diffing lib/kwmf
cvs server: Diffing lib/store
cvs server: Diffing pics
cvs server: Diffing pics/hicolor
cvs server: Diffing plugins
cvs server: Diffing plugins/scan
cvs server: Diffing qt3stuff
cvs server: Diffing qt3stuff/example
cvs server: Diffing servicetypes
cvs server: Diffing templates
cvs server: Diffing tools
cvs server: Diffing tools/converter
cvs server: Diffing tools/spell

_______________________________________________
Koffice-devel mailing list
Koffice-devel@master.kde.org
http://master.kde.org/mailman/listinfo/koffice-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic