diff options
author | Michael Nottebrock <lofi@FreeBSD.org> | 2005-08-01 10:46:03 +0000 |
---|---|---|
committer | Michael Nottebrock <lofi@FreeBSD.org> | 2005-08-01 10:46:03 +0000 |
commit | 2fd0aa065c8a05765cdcf89406d965c7664718a4 (patch) | |
tree | 471289b27a2d8050ce8e5e19afdce3b82ecb5e33 /editors | |
parent | 8e3bf2f0a54ffacce3aa62455d4c613055ead377 (diff) | |
download | ports-2fd0aa065c8a05765cdcf89406d965c7664718a4.tar.gz ports-2fd0aa065c8a05765cdcf89406d965c7664718a4.zip |
Notes
Diffstat (limited to 'editors')
-rw-r--r-- | editors/calligra/files/patch-1.4.0_patchset_1.diff | 5060 | ||||
-rw-r--r-- | editors/koffice-kde3/files/patch-1.4.0_patchset_1.diff | 5060 | ||||
-rw-r--r-- | editors/koffice-kde4/files/patch-1.4.0_patchset_1.diff | 5060 |
3 files changed, 0 insertions, 15180 deletions
diff --git a/editors/calligra/files/patch-1.4.0_patchset_1.diff b/editors/calligra/files/patch-1.4.0_patchset_1.diff deleted file mode 100644 index bf61a1b9ba41..000000000000 --- a/editors/calligra/files/patch-1.4.0_patchset_1.diff +++ /dev/null @@ -1,5060 +0,0 @@ -Index: kformula/kformulapart.desktop -=================================================================== ---- kformula/kformulapart.desktop (revision 427945) -+++ kformula/kformulapart.desktop (working copy) -@@ -19,6 +19,7 @@ - Name[pt]=Componente de Fórmulas do KOffice - Name[pt_BR]=Componente de Fórmulas do KOffice - Name[ru]=Компонент формул KOffice -+Name[sl]=Komponenta za enačbe za KOffice - Name[sr]=KOffice-ова компонента за формуле - Name[sr@Latn]=KOffice-ova komponenta za formule - Name[sv]=Koffice-formelkomponent -Index: servicetypes/koplugin.desktop -=================================================================== ---- servicetypes/koplugin.desktop (revision 427945) -+++ servicetypes/koplugin.desktop (working copy) -@@ -22,6 +22,7 @@ - Comment[fi]=KOffice-laajennus - Comment[fo]=KSkrivstovu-ístingur - Comment[fr]=Module externe de KOffice -+Comment[ga]=Breiseán KOffice - Comment[he]=תוסף של KOffice - Comment[hr]=KOffice dodatak - Comment[hu]=KOffice-bővítőmodul -Index: servicetypes/kofficepart.desktop -=================================================================== ---- servicetypes/kofficepart.desktop (revision 427945) -+++ servicetypes/kofficepart.desktop (working copy) -@@ -22,6 +22,7 @@ - Comment[fa]=KOffice اجزای - Comment[fi]=KOffice-komponentti - Comment[fr]=Composant KOffice -+Comment[ga]=Comhpháirt KOffice - Comment[he]=רכיב של KOffice - Comment[hr]=KOffice komponenta - Comment[hu]=KOffice-komponens -Index: servicetypes/kofilter.desktop -=================================================================== ---- servicetypes/kofilter.desktop (revision 427945) -+++ servicetypes/kofilter.desktop (working copy) -@@ -22,6 +22,7 @@ - Comment[fi]=KOffice-suodin - Comment[fo]=KSkrivstovu-filtur - Comment[fr]=Filtre KOffice -+Comment[ga]=Scagaire KOffice - Comment[he]=מסנן של KOffice - Comment[hr]=KOffice filter - Comment[hu]=KOffice-szűrő -Index: kword/kwordpart.desktop -=================================================================== ---- kword/kwordpart.desktop (revision 427945) -+++ kword/kwordpart.desktop (working copy) -@@ -20,6 +20,7 @@ - Name[pt]=Componente de Processamento de Texto do KOffice - Name[pt_BR]=Componente de Processamento de Texto do KOffice - Name[ru]=Компонент текстового редактора KOffice -+Name[sl]=Komponenta za obdelovanje besedil za KOffice - Name[sr]=KOffice-ова компонента за обраду текста - Name[sr@Latn]=KOffice-ova komponenta za obradu teksta - Name[sv]=Koffice-ordbehandlingskomponent -Index: kword/kwmailmerge.desktop -=================================================================== ---- kword/kwmailmerge.desktop (revision 427945) -+++ kword/kwmailmerge.desktop (working copy) -@@ -17,6 +17,7 @@ - Comment[et]=KWordi kirjakoosteplugin - Comment[fi]=KWord-postituslaajennus - Comment[fr]=Module fusion de courrier pour KWord -+Comment[ga]=Breiseán postchumaisc KWord - Comment[he]=תוסף מיזוג דואר ל־KWord - Comment[hr]=KWord dodatak za mailmerge - Comment[hu]=KWord körlevél-bővítőmodul -Index: kword/configfootnotedia.h -=================================================================== ---- kword/configfootnotedia.h (revision 427945) -+++ kword/configfootnotedia.h (working copy) -@@ -28,7 +28,7 @@ - class QRadioButton; - class KIntNumInput; - class QComboBox; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - class KWConfigFootNoteDia : public KDialogBase - { -@@ -47,7 +47,7 @@ - QRadioButton *rbPosCentered; - QRadioButton *rbPosRight; - KIntNumInput *spLength; -- KoUnitDoubleSpinBox *spWidth; -+ KoBuggyUnitDoubleSpinBox *spWidth; - QComboBox *m_cbLineType; - protected slots: - virtual void slotOk(); -Index: kword/kwconfig.cc -=================================================================== ---- kword/kwconfig.cc (revision 427945) -+++ kword/kwconfig.cc (working copy) -@@ -301,7 +301,7 @@ - - QHBox* hbGridX = new QHBox( gbInterfaceGroup ); - QLabel* labelGridX = new QLabel( i18n("&Horizontal grid size:"), hbGridX ); -- gridX=new KoUnitDoubleSpinBox( hbGridX, -+ gridX=new KoBuggyUnitDoubleSpinBox( hbGridX, - 0.1, - 50, - 0.1, -@@ -313,7 +313,7 @@ - - QHBox* hbGridY = new QHBox( gbInterfaceGroup ); - QLabel* labelGridY = new QLabel( i18n("&Vertical grid size:"), hbGridY ); -- gridY=new KoUnitDoubleSpinBox( hbGridY, -+ gridY=new KoBuggyUnitDoubleSpinBox( hbGridY, - 0.1, - 50, - 0.1, -@@ -326,7 +326,7 @@ - - QHBox* hbIndent = new QHBox( gbInterfaceGroup ); - QLabel* labelIdent = new QLabel( i18n("&Paragraph indent by toolbar buttons:"), hbIndent ); -- indent = new KoUnitDoubleSpinBox( hbIndent, -+ indent = new KoBuggyUnitDoubleSpinBox( hbIndent, - 0.1, - 50, - 0.1, -@@ -662,7 +662,7 @@ - - QHBox* hbColumnSpacing = new QHBox( gbDocumentDefaults ); - QLabel* columnSpacingLabel = new QLabel( i18n("Default column spacing:"), hbColumnSpacing ); -- m_columnSpacing = new KoUnitDoubleSpinBox( hbColumnSpacing, -+ m_columnSpacing = new KoBuggyUnitDoubleSpinBox( hbColumnSpacing, - 0.1, - 50, - 0.1, -@@ -764,7 +764,7 @@ - - QHBox* hbTabStop = new QHBox( gbDocumentSettings ); - tabStop = new QLabel(i18n("Tab stop (%1):").arg(doc->unitName()), hbTabStop); -- m_tabStopWidth = new KoUnitDoubleSpinBox( hbTabStop, -+ m_tabStopWidth = new KoBuggyUnitDoubleSpinBox( hbTabStop, - MM_TO_POINT(2), - doc->ptPaperWidth(), - 0.1, -Index: kword/framedia.cc -=================================================================== ---- kword/framedia.cc (revision 427945) -+++ kword/framedia.cc (working copy) -@@ -956,7 +956,7 @@ - lx->resize( lx->sizeHint() ); - pGrid->addWidget( lx, 1, 0 ); - -- sx = new KoUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); -+ sx = new KoBuggyUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); - - sx->resize( sx->sizeHint() ); - pGrid->addWidget( sx, 1, 1 ); -@@ -965,7 +965,7 @@ - ly->resize( ly->sizeHint() ); - pGrid->addWidget( ly, 1, 2 ); - -- sy = new KoUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); -+ sy = new KoBuggyUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); - sy->resize( sy->sizeHint() ); - pGrid->addWidget( sy, 1, 3 ); - -@@ -973,7 +973,7 @@ - lw->resize( lw->sizeHint() ); - pGrid->addWidget( lw, 2, 0 ); - -- sw = new KoUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); -+ sw = new KoBuggyUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); - - sw->resize( sw->sizeHint() ); - connect( sw, SIGNAL(valueChanged(double)), -@@ -985,7 +985,7 @@ - lh->resize( lh->sizeHint() ); - pGrid->addWidget( lh, 2, 2 ); - -- sh = new KoUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); -+ sh = new KoBuggyUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); - connect( sh, SIGNAL(valueChanged(double)), - this, SLOT(slotUpdateWidthForHeight(double)) ); - -@@ -1095,7 +1095,7 @@ - - f=allFrames.next(); - } -- // TODO port to KoUnitDoubleSpinBox -+ // TODO port to KoBuggyUnitDoubleSpinBox - // and TODO show a special value when frames have a different width/height - if ( sw->isEnabled() ) - sw->setValue( KoUnit::toUserValue( commonWidth, doc->unit() ) ); -@@ -2103,7 +2103,7 @@ - //lml->resize( lml->sizeHint() ); - mGrid->addWidget( lml, 2, 0 ); - -- m_inputLeft = new KoUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); -+ m_inputLeft = new KoBuggyUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); - - mGrid->addWidget( m_inputLeft, 2, 1 ); - -@@ -2111,7 +2111,7 @@ - //lmt->resize( lmt->sizeHint() ); - mGrid->addWidget( lmt, 2, 2 ); - -- m_inputTop = new /*KDoubleNumInput*/KoUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); -+ m_inputTop = new /*KDoubleNumInput*/KoBuggyUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); - - //m_inputTop->resize( m_inputTop->sizeHint() ); - -@@ -2121,7 +2121,7 @@ - //lmr->resize( lmr->sizeHint() ); - mGrid->addWidget( lmr, 3, 0 ); - -- m_inputRight = new KoUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); -+ m_inputRight = new KoBuggyUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); - - //m_inputRight->resize( m_inputRight->sizeHint() ); - mGrid->addWidget( m_inputRight, 3, 1 ); -@@ -2130,7 +2130,7 @@ - //lmb->resize( lmb->sizeHint() ); - mGrid->addWidget( lmb, 3, 2 ); - -- m_inputBottom = new KoUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); -+ m_inputBottom = new KoBuggyUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); - - //m_inputBottom->resize( m_inputBottom->sizeHint() ); - mGrid->addWidget( m_inputBottom, 3, 3 ); -Index: kword/resizetabledia.cc -=================================================================== ---- kword/resizetabledia.cc (revision 427945) -+++ kword/resizetabledia.cc (working copy) -@@ -77,7 +77,7 @@ - else - value->setValue( type == ROW ? (rowSelected+1) : (colSelected+1) ); - rc = new QLabel( type == ROW ? i18n( "Height (%1):" ).arg(doc->unitName()) : i18n( "Width (%1):" ).arg(doc->unitName()), page ); -- position= new KoUnitDoubleSpinBox( page, 0.01, table->anchorFrameset()->isFloating() ? table->anchorFrameset()->frame(0)->width(): 9999, 1, 0.0, doc->unit(), doc->unit() ); -+ position= new KoBuggyUnitDoubleSpinBox( page, 0.01, table->anchorFrameset()->isFloating() ? table->anchorFrameset()->frame(0)->width(): 9999, 1, 0.0, doc->unit(), doc->unit() ); - slotValueChanged( value->value()); - connect( value, SIGNAL( valueChanged ( int )), this, SLOT( slotValueChanged( int ))); - -Index: kword/mailmerge/sql/kwserialletter_qtsqldb.desktop -=================================================================== ---- kword/mailmerge/sql/kwserialletter_qtsqldb.desktop (revision 427945) -+++ kword/mailmerge/sql/kwserialletter_qtsqldb.desktop (working copy) -@@ -4,6 +4,7 @@ - ServiceTypes=KWord/MailMergePlugin - - Name=Qt-SQL Source (single table) -+Name[cy]=Ffynhonell Qt-SQL (tabl sengl) - Name[da]=Qt-SQL-kilde (enkelt tabel) - Name[de]=Qt-SQL (Einzeltabelle) - Name[el]=Qt-SQL πηγή (μονός πίνακας) -Index: kword/mailmerge/kspread/kwmailmerge_kspread.desktop -=================================================================== ---- kword/mailmerge/kspread/kwmailmerge_kspread.desktop (revision 427945) -+++ kword/mailmerge/kspread/kwmailmerge_kspread.desktop (working copy) -@@ -22,6 +22,7 @@ - Name[pt]=Fonte de Tabela do KSpread - Name[pt_BR]=Fonte de Tabela do KSpread - Name[ru]=Источник таблиц KSpread -+Name[sl]=Vir tabel KSpread - Name[sr]=KSpread-ов извор табеле - Name[sr@Latn]=KSpread-ov izvor tabele - Name[sv]=Kspread-tabellkällfil -Index: kword/framedia.h -=================================================================== ---- kword/framedia.h (revision 427945) -+++ kword/framedia.h (working copy) -@@ -81,7 +81,7 @@ - void slotValueChanged( double ); - - private: -- KoUnitDoubleSpinBox *m_inputLeft, *m_inputRight, *m_inputTop, *m_inputBottom; -+ KoBuggyUnitDoubleSpinBox *m_inputLeft, *m_inputRight, *m_inputTop, *m_inputBottom; - QCheckBox *m_synchronize; - KWDocument *doc; - bool m_changed; -@@ -168,7 +168,7 @@ - QWidget *tab4; - QGroupBox *grp1; - QLabel *lx, *ly, *lw, *lh; -- KoUnitDoubleSpinBox *sx, *sy, *sw, *sh; -+ KoBuggyUnitDoubleSpinBox *sx, *sy, *sw, *sh; - KWFourSideConfigWidget* m_paddingConfigWidget; - QCheckBox *floating; - QCheckBox *protectSize; -Index: kword/kwconfig.h -=================================================================== ---- kword/kwconfig.h (revision 427945) -+++ kword/kwconfig.h (working copy) -@@ -29,7 +29,7 @@ - class KWView; - class QCheckBox; - class KIntNumInput; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KConfig; - class QComboBox; - class KIntNumInput; -@@ -69,8 +69,8 @@ - KWView* m_pView; - KConfig* config; - QComboBox *m_unitCombo; -- KoUnitDoubleSpinBox* gridX,*gridY; -- KoUnitDoubleSpinBox* indent; -+ KoBuggyUnitDoubleSpinBox* gridX,*gridY; -+ KoBuggyUnitDoubleSpinBox* indent; - KIntNumInput* recentFiles; - QCheckBox *showStatusBar, *showScrollBar, *pgUpDownMovesCaret; - int oldNbRecentFiles; -@@ -114,7 +114,7 @@ - QLabel *fontName; - QLabel *tabStop; - -- KoUnitDoubleSpinBox* m_columnSpacing; -+ KoBuggyUnitDoubleSpinBox* m_columnSpacing; - - KIntNumInput* autoSave; - int oldAutoSaveValue; -@@ -123,7 +123,7 @@ - int m_oldStartingPage; - bool m_oldBackupFile; - KIntNumInput* m_variableNumberOffset; -- KoUnitDoubleSpinBox *m_tabStopWidth; -+ KoBuggyUnitDoubleSpinBox *m_tabStopWidth; - QCheckBox *m_cursorInProtectedArea; - QCheckBox *m_createBackupFile; - // QCheckBox *m_directInsertCursor; -Index: kword/configfootnotedia.cc -=================================================================== ---- kword/configfootnotedia.cc (revision 427945) -+++ kword/configfootnotedia.cc (working copy) -@@ -106,7 +106,7 @@ - - QGridLayout *layout = new QGridLayout( 0, 1, 1, 0, 6); - -- spWidth = new KoUnitDoubleSpinBox(page, 0, 5, 0.5, 1.0, m_doc->unit(), 1); -+ spWidth = new KoBuggyUnitDoubleSpinBox(page, 0, 5, 0.5, 1.0, m_doc->unit(), 1); - spWidth->setValue( m_doc->footNoteSeparatorLineWidth()); - layout->addWidget( spWidth, 1, 1 ); - -Index: kword/templates/DTP/SimpleLayout.desktop -=================================================================== ---- kword/templates/DTP/SimpleLayout.desktop (revision 427945) -+++ kword/templates/DTP/SimpleLayout.desktop (working copy) -@@ -21,6 +21,7 @@ - Name[fa]=نمونه طرح بندی - Name[fi]=Yksinkertainen taittomalli - Name[fr]=Mise en page simple -+Name[ga]=Leagan Amach Simplí - Name[he]=פריסה פשוטה - Name[hr]=Jednostavni raspored - Name[hu]=Egyszerű elrendezés -Index: kword/templates/DTP/Empty.desktop -=================================================================== ---- kword/templates/DTP/Empty.desktop (revision 427945) -+++ kword/templates/DTP/Empty.desktop (working copy) -@@ -17,6 +17,7 @@ - Name[fa]=صفحه خالی - Name[fi]=Tyhjä sivu - Name[fr]=Page vide -+Name[ga]=Leathanach Folamh - Name[he]=דף ריק - Name[hr]=Prazna stranica - Name[hu]=Üres oldal -Index: kword/templates/DTP/fax.desktop -=================================================================== ---- kword/templates/DTP/fax.desktop (revision 427945) -+++ kword/templates/DTP/fax.desktop (working copy) -@@ -20,6 +20,7 @@ - Name[fa]=نمونه دورنگار - Name[fi]=Faksipohja - Name[fr]=Modèle de fax -+Name[ga]=Teimpléad Facs - Name[he]=תבנית פקס - Name[hr]=Fax predložak - Name[hu]=Faxsablon -@@ -63,6 +64,7 @@ - Comment[et]=Faks päisega - Comment[fi]=Faksiasiakirja otsikolla - Comment[fr]=Document de fax. avec en-tête -+Comment[ga]=Cáipéis fhacs, le ceanntásc - Comment[he]=מסמך פקס עם כותרת - Comment[hr]=Faks dokument, sa zaglavljem - Comment[hu]=Fax dokumentum (fejléccel) -Index: kword/templates/Wordprocessing/TwoColumns.desktop -=================================================================== ---- kword/templates/Wordprocessing/TwoColumns.desktop (revision 427945) -+++ kword/templates/Wordprocessing/TwoColumns.desktop (working copy) -@@ -22,6 +22,7 @@ - Name[fi]=Kaksi palstaa - Name[fo]=Tveir teigar - Name[fr]=Deux colonnes -+Name[ga]=Dhá Cholún - Name[he]=שני טורים - Name[hr]=Dva stupca - Name[hu]=Kétoszlopos -Index: kword/resizetabledia.h -=================================================================== ---- kword/resizetabledia.h (revision 427945) -+++ kword/resizetabledia.h (working copy) -@@ -31,7 +31,7 @@ - class QRadioButton; - class QLabel; - class QSpinBox; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - class KWResizeTableDia : public KDialogBase - { -@@ -48,7 +48,7 @@ - KWDocument *doc; - ResizeType type; - KWCanvas *canvas; -- KoUnitDoubleSpinBox *position; -+ KoBuggyUnitDoubleSpinBox *position; - double resetValue; - protected slots: - virtual void slotOk(); -Index: kexi/plugins/forms/kexilabel.cpp -=================================================================== ---- kexi/plugins/forms/kexilabel.cpp (revision 427945) -+++ kexi/plugins/forms/kexilabel.cpp (working copy) -@@ -33,6 +33,20 @@ - #define SHADOW_DIAGONAL_FACTOR 1.0 - #define SHADOW_THICKNESS 1 - -+class KexiLabelPrivate : public QLabel { -+ friend class KexiLabel; -+ public: -+ KexiLabelPrivate( KexiLabel* ); -+ virtual ~KexiLabelPrivate(); -+ private: -+ QImage makeShadow( const QImage& textImage, const QColor &bgColor, const QRect& boundingRect ); -+ QRect getBounding( const QImage &image, const QRect& startRect ); -+// double defaultDecay( QImage& source, int i, int j ); -+ KPixmap getShadowPixmap(); -+ -+ QRect p_shadowRect; -+}; -+ - KexiLabelPrivate::KexiLabelPrivate( KexiLabel* parent ) - : QLabel( parent ) - { -@@ -404,6 +418,40 @@ - QLabel::paintEvent( e ); - } - -+void KexiLabel::fontChange( const QFont& font ) { -+ p_pixmapDirty = true; -+ p_privateLabel->setFont( font ); -+ QLabel::fontChange( font ); -+} -+ -+void KexiLabel::styleChange( QStyle& style ) { -+ p_pixmapDirty = true; -+ QLabel::styleChange( style ); -+} -+ -+void KexiLabel::enabledChange( bool enabled ) { -+ p_pixmapDirty = true; -+ p_privateLabel->setEnabled( enabled ); -+ QLabel::enabledChange( enabled ); -+} -+ -+void KexiLabel::paletteChange( const QPalette& pal ) { -+ p_pixmapDirty = true; -+ p_privateLabel->setPalette( pal ); -+ QLabel::paletteChange( pal ); -+} -+ -+void KexiLabel::frameChanged() { -+ p_pixmapDirty = true; -+ p_privateLabel->frameChanged(); -+ QFrame::frameChanged(); -+} -+ -+void KexiLabel::showEvent( QShowEvent* e ) { -+ p_pixmapDirty = true; -+ QLabel::showEvent( e ); -+} -+ - void KexiLabel::setValueInternal( const QVariant& add, bool removeOld ) { - if (removeOld) - setText(add.toString()); -Index: kexi/plugins/forms/kexilabel.h -=================================================================== ---- kexi/plugins/forms/kexilabel.h (revision 427945) -+++ kexi/plugins/forms/kexilabel.h (working copy) -@@ -32,20 +32,10 @@ - class QTimer; - class KexiLabel; - --class KexiLabelPrivate : public QLabel { -- friend class KexiLabel; -- public: -- KexiLabelPrivate( KexiLabel* ); -- virtual ~KexiLabelPrivate(); -- private: -- QImage makeShadow( const QImage& textImage, const QColor &bgColor, const QRect& boundingRect ); -- QRect getBounding( const QImage &image, const QRect& startRect ); --// double defaultDecay( QImage& source, int i, int j ); -- KPixmap getShadowPixmap(); -+class KexiLabelPrivate; - -- QRect p_shadowRect; --}; - -+ - /** - An extended, data-aware, read-only text label. - It's text may have a drop-shadow. -@@ -139,40 +129,14 @@ - */ - virtual void setValueInternal( const QVariant& add, bool removeOld ); - -- virtual void fontChange( const QFont& font ) { -- p_pixmapDirty = true; -- p_privateLabel->setFont( font ); -- QLabel::fontChange( font ); -- } -+ virtual void fontChange( const QFont& font ); -+ virtual void styleChange( QStyle& style ); -+ virtual void enabledChange( bool enabled ); - -- virtual void styleChange( QStyle& style ) { -- p_pixmapDirty = true; -- QLabel::styleChange( style ); -- } -+ virtual void paletteChange( const QPalette& pal ); -+ virtual void frameChanged(); -+ virtual void showEvent( QShowEvent* e ); - -- virtual void enabledChange( bool enabled ) { -- p_pixmapDirty = true; -- p_privateLabel->setEnabled( enabled ); -- QLabel::enabledChange( enabled ); -- } -- -- virtual void paletteChange( const QPalette& pal ) { -- p_pixmapDirty = true; -- p_privateLabel->setPalette( pal ); -- QLabel::paletteChange( pal ); -- } -- -- virtual void frameChanged() { -- p_pixmapDirty = true; -- p_privateLabel->frameChanged(); -- QFrame::frameChanged(); -- } -- -- virtual void showEvent( QShowEvent* e ) { -- p_pixmapDirty = true; -- QLabel::showEvent( e ); -- } -- - private: - void updatePixmapLater(); - -Index: kexi/plugins/kugar/kexikugarhandler.desktop -=================================================================== ---- kexi/plugins/kugar/kexikugarhandler.desktop (revision 427945) -+++ kexi/plugins/kugar/kexikugarhandler.desktop (working copy) -@@ -60,7 +60,7 @@ - Comment[nn]=Integrasjon av Kugar-basert rapportgenerering - Comment[pt]=Integração da geração de relatórios do Kugar - Comment[pt_BR]=Integração do Kugar baseada na geração de relatório --Comment[ru]=Интеграция с Kugar для построения отчётов -+Comment[ru]=Отчёт посредством Kugar - Comment[sk]=Integrácia generovaných správ založených na Kugar - Comment[sl]=Integracija ustvarjanja poročil na osnovi Kugarja - Comment[sr]=Интеграција прављења извештаја заснованог на Kugar-у -Index: kexi/plugins/reports/kexireportfactory.desktop -=================================================================== ---- kexi/plugins/reports/kexireportfactory.desktop (revision 427945) -+++ kexi/plugins/reports/kexireportfactory.desktop (working copy) -@@ -19,6 +19,7 @@ - Name[pt]=Elementos de Relatório do Kexi - Name[pt_BR]=Widgets de Relatório do Kexi - Name[ru]=Элементы управления для отчётов Kexi -+Name[sl]=Gradniki za poročila za Kexi - Name[sr]=Kexi-јеве контроле за извештаје - Name[sr@Latn]=Kexi-jeve kontrole za izveštaje - Name[sv]=Kexi-rapportkomponenter -Index: kexi/kexipart.desktop -=================================================================== ---- kexi/kexipart.desktop (revision 427945) -+++ kexi/kexipart.desktop (working copy) -@@ -19,6 +19,7 @@ - Name[pt]=Componente de Bases de Dados do KOffice - Name[pt_BR]=Componente de Banco de Dados do KOffice - Name[ru]=Компонент баз данных KOffice -+Name[sl]=Komponenta za zbirke podatkov za KOffice - Name[sr]=KOffice-ова компонента за базе података - Name[sr@Latn]=KOffice-ova komponenta za baze podataka - Name[sv]=Koffice-databaskomponent -Index: kexi/filters/import/csv/kexicsvimport.desktop -=================================================================== ---- kexi/filters/import/csv/kexicsvimport.desktop (revision 427945) -+++ kexi/filters/import/csv/kexicsvimport.desktop (working copy) -@@ -42,7 +42,7 @@ - Comment[pl]=Import pliku CVS... - Comment[pt]=Importar um Ficheiro CSV... - Comment[pt_BR]=Importar Arquivo CSV... --Comment[ru]=Импорт данных из CSV... -+Comment[ru]=Импорт из CSV... - Comment[sk]=Import súborov CSV... - Comment[sl]=Uvoz datoteke CSV ... - Comment[sr]=Увози се CSV фајл... -Index: kexi/filters/import/kspread_chain/kexikspreadimport.desktop -=================================================================== ---- kexi/filters/import/kspread_chain/kexikspreadimport.desktop (revision 427945) -+++ kexi/filters/import/kspread_chain/kexikspreadimport.desktop (working copy) -@@ -38,7 +38,7 @@ - Comment[nn]=Importer KSpread-lesbar fil ... - Comment[pt]=Importar um ficheiro KSpread... - Comment[pt_BR]=Importar arquivo legível do KSpread... --Comment[ru]=Импорт в KSpread... -+Comment[ru]=Импорт данных из KSpread... - Comment[sk]=Import súboru podporovaného KSpread... - Comment[sl]=Uvoz datoteke za KSpread ... - Comment[sr]=Увози се фајл који се може читати KSpread-ом... -Index: kexi/data/x-kexiproject-sqlite2.desktop -=================================================================== ---- kexi/data/x-kexiproject-sqlite2.desktop (revision 427945) -+++ kexi/data/x-kexiproject-sqlite2.desktop (working copy) -@@ -21,6 +21,7 @@ - Comment[pt]=Projecto do Kexi em Ficheiro de Base de Dados - Comment[pt_BR]=Projeto Baseado em Arquivo de Banco de Dados do Kexi - Comment[ru]=Проект Kexi с хранилищем данных в файлах -+Comment[sl]=Na datotekah zasnovan projekt zbirke podatkov Kexi - Comment[sr]=Kexi-јев пројекат базе података заснован на фајлу - Comment[sr@Latn]=Kexi-jev projekat baze podataka zasnovan na fajlu - Comment[sv]=Kexi filbaserat databasprojekt -Index: kexi/data/x-kexiproject-sqlite3.desktop -=================================================================== ---- kexi/data/x-kexiproject-sqlite3.desktop (revision 427945) -+++ kexi/data/x-kexiproject-sqlite3.desktop (working copy) -@@ -21,6 +21,7 @@ - Comment[pt]=Projecto do Kexi em Ficheiro de Base de Dados - Comment[pt_BR]=Projeto Baseado em Arquivo de Banco de Dados do Kexi - Comment[ru]=Проект Kexi с хранилищем данных в файлах -+Comment[sl]=Na datotekah zasnovan projekt zbirke podatkov Kexi - Comment[sr]=Kexi-јев пројекат базе података заснован на фајлу - Comment[sr@Latn]=Kexi-jev projekat baze podataka zasnovan na fajlu - Comment[sv]=Kexi filbaserat databasprojekt -Index: kexi/data/x-kexiproject-sqlite.desktop -=================================================================== ---- kexi/data/x-kexiproject-sqlite.desktop (revision 427945) -+++ kexi/data/x-kexiproject-sqlite.desktop (working copy) -@@ -22,6 +22,7 @@ - Comment[pt]=Projecto do Kexi em Ficheiro de Base de Dados - Comment[pt_BR]=Projeto Baseado em Arquivo de Banco de Dados do Kexi - Comment[ru]=Проект Kexi с хранилищем данных в файлах -+Comment[sl]=Na datotekah zasnovan projekt zbirke podatkov Kexi - Comment[sr]=Kexi-јев пројекат базе података заснован на фајлу - Comment[sr@Latn]=Kexi-jev projekat baze podataka zasnovan na fajlu - Comment[sv]=Kexi filbaserat databasprojekt -Index: kexi/data/kde32compat/x-sqlite2.desktop -=================================================================== ---- kexi/data/kde32compat/x-sqlite2.desktop (revision 427945) -+++ kexi/data/kde32compat/x-sqlite2.desktop (working copy) -@@ -21,6 +21,7 @@ - Comment[pt]=Ficheiro de Base de Dados do SQLite2 - Comment[pt_BR]=Ficheiro de Base de Dados do SQLite2 - Comment[ru]=База данных SQLite2 -+Comment[sl]=Datoteka zbirke podatkov SQLite2 - Comment[sr]=Фајл базе података SQLite2 - Comment[sr@Latn]=Fajl baze podataka SQLite2 - Comment[sv]=SQLite2-databasfil -Index: kexi/data/kde32compat/x-sqlite3.desktop -=================================================================== ---- kexi/data/kde32compat/x-sqlite3.desktop (revision 427945) -+++ kexi/data/kde32compat/x-sqlite3.desktop (working copy) -@@ -20,6 +20,7 @@ - Comment[pt]=Ficheiro de Base de Dados do SQLite3 - Comment[pt_BR]=Ficheiro de Base de Dados do SQLite3 - Comment[ru]=База данных SQLite3 -+Comment[sl]=Datoteka zbirke podatkov SQLite3 - Comment[sr]=Фајл базе података SQLite3 - Comment[sr@Latn]=Fajl baze podataka SQLite3 - Comment[sv]=SQLite3-databasfil -Index: kexi/data/kexiscripthandler.desktop -=================================================================== ---- kexi/data/kexiscripthandler.desktop (revision 427945) -+++ kexi/data/kexiscripthandler.desktop (working copy) -@@ -5,6 +5,7 @@ - - GenericName=Scripts - GenericName[br]=Urzhiaouegoù -+GenericName[cy]=Sgriptiau - GenericName[da]=Scripter - GenericName[de]=Skripte - GenericName[el]=Σενάρια -@@ -27,6 +28,7 @@ - GenericName[zh_CN]=脚本 - Name=Scripts - Name[br]=Urzhiaouegoù -+Name[cy]=Sgriptiau - Name[da]=Scripter - Name[de]=Skripte - Name[el]=Σενάρια -Index: kexi/formeditor/kdevelop_plugin/kformdesigner_kdev_part.desktop -=================================================================== ---- kexi/formeditor/kdevelop_plugin/kformdesigner_kdev_part.desktop (revision 427945) -+++ kexi/formeditor/kdevelop_plugin/kformdesigner_kdev_part.desktop (working copy) -@@ -17,6 +17,7 @@ - Name[pt]='Plugin' para o KDevelop de Desenho de Formulários - Name[pt_BR]=Plugin do Desenhista de Formulário do KDevelop - Name[ru]=Модуль форм KDevelop -+Name[sl]=Vstavek za oblikovanje obrazcev za KDevelop - Name[sr]=Прикључак дизајнера форми за KDevelop - Name[sr@Latn]=Priključak dizajnera formi za KDevelop - Name[sv]=KDevelop insticksprogram för formulärkonstruktion -Index: tools/thumbnail/kofficethumbnail.desktop -=================================================================== ---- tools/thumbnail/kofficethumbnail.desktop (revision 427945) -+++ tools/thumbnail/kofficethumbnail.desktop (working copy) -@@ -20,6 +20,7 @@ - Name[fi]=KOffice-tiedostot - Name[fo]=KSkrivstovu-fílir - Name[fr]=Fichiers KOffice -+Name[ga]=Comhaid KOffice - Name[he]=קבצי KOffice - Name[hr]=KOffice datoteke - Name[hu]=KOffice-fájlok -Index: tools/kfile-plugins/koffice/kfile_koffice.desktop -=================================================================== ---- tools/kfile-plugins/koffice/kfile_koffice.desktop (revision 427945) -+++ tools/kfile-plugins/koffice/kfile_koffice.desktop (working copy) -@@ -5,6 +5,7 @@ - Name[af]=Koffice Inligting - Name[ar]=معلومات KOffice - Name[bg]=Информация за KOffice -+Name[br]=Titouroù diwar-benn KOffice - Name[ca]=Informació KOffice - Name[cs]=KOffice info - Name[cy]=Gwybodaeth KOffice -@@ -18,6 +19,7 @@ - Name[fi]=KOffice tiedot - Name[fo]=KSkrivstovu-upplýsingar - Name[fr]=Informations sur KOffice -+Name[ga]=Eolas faoi KOffice - Name[he]=מידע KOffice - Name[hu]=KOffice-információ - Name[it]=Informazioni KOffice -@@ -32,7 +34,7 @@ - Name[pl]=Dane koffice - Name[pt]=Informação do KOffice - Name[pt_BR]=Informações do KOffice --Name[ru]=Информация о KOffice -+Name[ru]=Информация KOffice - Name[se]=KOffice-dieđut - Name[sk]=Informácie o KOffice - Name[sl]=Informacije o KOffice -Index: tools/kfile-plugins/ooo/kfile_ooo.desktop -=================================================================== ---- tools/kfile-plugins/ooo/kfile_ooo.desktop (revision 427945) -+++ tools/kfile-plugins/ooo/kfile_ooo.desktop (working copy) -@@ -13,6 +13,7 @@ - Name[et]=OpenOffice.org-i info - Name[fi]=KOffice tiedot - Name[fr]=Informations sur OpenOffice.org -+Name[ga]=Eolas faoi OpenOffice.org - Name[he]=מידע OpenOffice.org - Name[hu]=OpenOffice.org-információ - Name[it]=Informazioni OpenOffice.org -@@ -23,7 +24,7 @@ - Name[pl]=Informacja OpenOffice.org - Name[pt]=Informação do OpenOffice.org - Name[pt_BR]=Informações do OpenOffice.org --Name[ru]=Информация об OpenOffice.org -+Name[ru]=Информация OpenOffice.org - Name[se]=OpenOffice.org-dieđut - Name[sk]=Informácie o OpenOffice.org - Name[sl]=Informacije o OpenOffice.org -Index: lib/kofficecore/koApplication.cc -=================================================================== ---- lib/kofficecore/koApplication.cc (revision 427945) -+++ lib/kofficecore/koApplication.cc (working copy) -@@ -149,7 +149,10 @@ - shell->setRootDocument( doc ); - } - else -+ { -+ delete doc; - return false; -+ } - - QObject::disconnect(doc, SIGNAL(sigProgress(int)), shell, SLOT(slotProgress(int))); - } else { -Index: lib/kofficecore/koMainWindow.cc -=================================================================== ---- lib/kofficecore/koMainWindow.cc (revision 427945) -+++ lib/kofficecore/koMainWindow.cc (working copy) -@@ -1033,6 +1033,13 @@ - if ( !newdoc->initDoc( (KoDocument::InitDocFlags)initDocFlags, this ) ) - { - delete newdoc; -+ // See cancelQuits() in KoTemplateChooseDia. -+ // The quit() must be done here so that the KoDocument got deleted already. -+ bool onlyDoc = !KoDocument::documentList() || KoDocument::documentList()->isEmpty(); -+ bool onlyMainWindow = !KMainWindow::memberList || KMainWindow::memberList->count() <= 1; -+ if ( onlyDoc && onlyMainWindow && kapp->instanceName() != "koshell" ) { -+ kapp->quit(); -+ } - return; - } - disconnect(newdoc, SIGNAL(sigProgress(int)), this, SLOT(slotProgress(int))); -Index: lib/kofficecore/koDocument.cc -=================================================================== ---- lib/kofficecore/koDocument.cc (revision 427945) -+++ lib/kofficecore/koDocument.cc (working copy) -@@ -890,6 +890,9 @@ - kdDebug(30003)<<k_funcinfo<<" external (don't save) url:" << childDoc->url().url()<<endl; - path = childDoc->url().url(); - } -+ // OOo uses a trailing slash for the path to embedded objects (== directories) -+ if ( !path.endsWith( "/" ) ) -+ path += '/'; - manifestWriter->addManifestEntry( path, childDoc->nativeOasisMimeType() ); - } - } -@@ -1793,7 +1796,9 @@ - //if ( !oasisStore.loadAndParse( "tar:/META-INF/manifest.xml", manifestDoc, d->lastErrorMessage ) ) - // return false; - -- (void)oasisStore.loadAndParse( "settings.xml", settingsDoc, d->lastErrorMessage ); -+ if ( store->hasFile( "settings.xml" ) ) { -+ (void)oasisStore.loadAndParse( "settings.xml", settingsDoc, d->lastErrorMessage ); -+ } - if ( !loadOasis( contentDoc, oasisStyles, settingsDoc, store ) ) - return false; - -@@ -1920,9 +1925,12 @@ - KoDocument *doc = it.current()->document(); - if ( doc ) - { -- if ( doc->isStoredExtern() ) //###TODO: Handle non-native mimetype docs -+ bool foo = doc->isStoredExtern(); -+ kdDebug(36001) << "========== isStoredExtern() returned " -+ << foo << " ==========" << endl; -+ -+ if ( foo ) //###TODO: Handle non-native mimetype docs - { -- if ( doc->isModified() ) - { - kdDebug(30003)<<k_funcinfo<<" found modified child: "<<doc->url().url()<<" extern="<<doc->isStoredExtern()<<endl; - if ( doc->queryCloseDia() == KMessageBox::Cancel ) -Index: lib/kofficecore/koDocumentChild.cc -=================================================================== ---- lib/kofficecore/koDocumentChild.cc (revision 427945) -+++ lib/kofficecore/koDocumentChild.cc (working copy) -@@ -230,6 +230,8 @@ - QString relPath = KURL( m_tmpURL ).path(); - path += relPath.mid( 1 ); // remove leading '/' - } -+ if ( !path.endsWith( "/" ) ) -+ path += '/'; - const QString mimeType = KoOasisStore::mimeForPath( manifestDoc, path ); - kdDebug() << k_funcinfo << "path for manifest file=" << path << " mimeType=" << mimeType << endl; - if ( mimeType.isEmpty() ) { -@@ -312,6 +314,8 @@ - } - if ( !res ) - { -+ // Keep the error message from the attempted loading -+ QString errorMessage = d->m_doc->errorMessage(); - delete d->m_doc; - d->m_doc = 0; - QString tmpURL = m_tmpURL; // keep a copy, createUnavailDocument will erase it -@@ -322,7 +326,7 @@ - d->m_doc->setProperty( "realURL", tmpURL ); // so that it gets saved correctly - d->m_doc->setStoreInternal( true ); - if ( internalURL ) -- d->m_doc->setProperty( "unavailReason", i18n( "Could not load embedded object." ) ); -+ d->m_doc->setProperty( "unavailReason", i18n( "Could not load embedded object." ) + "\n" + errorMessage ); - else - d->m_doc->setProperty( "unavailReason", i18n( "External document not found:\n%1" ).arg( tmpURL ) ); - } -Index: lib/kofficeui/koTemplateChooseDia.cc -=================================================================== ---- lib/kofficeui/koTemplateChooseDia.cc (revision 427945) -+++ lib/kofficeui/koTemplateChooseDia.cc (working copy) -@@ -210,6 +210,7 @@ - d=0L; - } - -+// Keep in sync with KoMainWindow::chooseNewDocument - static bool cancelQuits() { - bool onlyDoc = !KoDocument::documentList() || KoDocument::documentList()->count() <= 1; - bool onlyMainWindow = !KMainWindow::memberList || KMainWindow::memberList->count() <= 1; -@@ -261,10 +262,6 @@ - } - - delete dlg; -- if ( rt == Cancel && dialogType == Everything && cancelQuits() ) -- // The button says quit, so let's quit -- kapp->quit(); -- - return rt; - } - -@@ -458,8 +455,8 @@ - d->m_jwidget->showPage(templateNum); - else if ( defaultTemplateGroup != -1) - d->m_jwidget->showPage(defaultTemplateGroup); -- - -+ - // Set the initially selected template, possibly from the last usage of the dialog - currentChanged(itemtoselect); - -Index: lib/kofficeui/koUnitWidgets.h -=================================================================== ---- lib/kofficeui/koUnitWidgets.h (revision 427945) -+++ lib/kofficeui/koUnitWidgets.h (working copy) -@@ -77,7 +77,7 @@ - */ - QString getVisibleText( double value ) const; - /** -- * Transfrom a string inot a double, while taking care of locale specific symbols. -+ * Transfrom a string into a double, while taking care of locale specific symbols. - * @param str the string to transform into a number - * @param ok true, if the conversion was succesful - * @return the value as double -@@ -94,11 +94,11 @@ - * Spin box for double precision numbers with unit display - * \since 1.4 (change of behavior) - */ --class KOFFICEUI_EXPORT KoUnitDoubleSpinBox : public KDoubleSpinBox, public KoUnitDoubleBase -+class KOFFICEUI_EXPORT KoBuggyUnitDoubleSpinBox : public KDoubleSpinBox, public KoUnitDoubleBase - { - public: - // lower, upper, step and value are in pt -- KoUnitDoubleSpinBox( QWidget *parent, double lower, double upper, double step, double value = 0.0, -+ KoBuggyUnitDoubleSpinBox( QWidget *parent, double lower, double upper, double step, double value = 0.0, - KoUnit::Unit unit = KoUnit::U_PT, unsigned int precision = 2, const char *name = 0 ); - - virtual void changeValue( double ); -@@ -123,6 +123,22 @@ - }; - - /** -+ * Temporary class that will be merged with koBuggyUnitDoubleSpinBox -+ * and renamed into KoUnitDoubleSpinBox when all the users of that -+ * class have been converted. -+ */ -+class KOFFICEUI_EXPORT KoUnitDoubleSpinBox2 : public KoBuggyUnitDoubleSpinBox -+{ -+public: -+ // lower, upper, step and value are in pt -+ KoUnitDoubleSpinBox2( QWidget *parent, double lower, double upper, double step, double value = 0.0, -+ KoUnit::Unit unit = KoUnit::U_PT, unsigned int precision = 2, const char *name = 0 ); -+ -+ virtual void changeValue( double ); -+}; -+ -+ -+/** - * Line edit for double precision numbers with unit display - * \since 1.4 (change of behavior) - */ -Index: lib/kofficeui/kolinewidthaction.cpp -=================================================================== ---- lib/kofficeui/kolinewidthaction.cpp (revision 427945) -+++ lib/kofficeui/kolinewidthaction.cpp (working copy) -@@ -160,7 +160,7 @@ - { - public: - KoUnit::Unit m_unit; -- KoUnitDoubleSpinBox* m_lineWidthUSBox; -+ KoBuggyUnitDoubleSpinBox* m_lineWidthUSBox; - }; - - KoLineWidthChooser::KoLineWidthChooser(QWidget* parent, const char* name) -@@ -174,7 +174,7 @@ - setMainWidget(mainWidget); - QGridLayout* gl = new QGridLayout(mainWidget, 1, 2, KDialog::marginHint(), KDialog::spacingHint()); - QLabel* textLbl = new QLabel(i18n("Line width:"), mainWidget); -- d->m_lineWidthUSBox = new KoUnitDoubleSpinBox(mainWidget, 0.0, 1000.0, 0.1, 1.0, d->m_unit, 2); -+ d->m_lineWidthUSBox = new KoBuggyUnitDoubleSpinBox(mainWidget, 0.0, 1000.0, 0.1, 1.0, d->m_unit, 2); - gl->addWidget(textLbl, 0, 0); - gl->addWidget(d->m_lineWidthUSBox, 0, 1); - } -Index: lib/kofficeui/koUnitWidgets.cc -=================================================================== ---- lib/kofficeui/koUnitWidgets.cc (revision 427945) -+++ lib/kofficeui/koUnitWidgets.cc (working copy) -@@ -25,6 +25,7 @@ - #include <qpushbutton.h> - #include <qlayout.h> - -+ - KoUnitDoubleValidator::KoUnitDoubleValidator( KoUnitDoubleBase *base, QObject *parent, const char *name ) - : KDoubleValidator( parent, name ), m_base( base ) - { -@@ -108,7 +109,10 @@ - } - - --KoUnitDoubleSpinBox::KoUnitDoubleSpinBox( QWidget *parent, double lower, double upper, double step, double value, KoUnit::Unit unit, unsigned int precision, const char *name ) -+// ---------------------------------------------------------------- -+ -+ -+KoBuggyUnitDoubleSpinBox::KoBuggyUnitDoubleSpinBox( QWidget *parent, double lower, double upper, double step, double value, KoUnit::Unit unit, unsigned int precision, const char *name ) - : KDoubleSpinBox( lower, upper, step, value, precision, parent, name ), KoUnitDoubleBase( unit, precision ), - m_lowerInPoints( lower ), m_upperInPoints( upper ), m_stepInPoints( step ) - { -@@ -120,7 +124,7 @@ - } - - void --KoUnitDoubleSpinBox::changeValue( double val ) -+KoBuggyUnitDoubleSpinBox::changeValue( double val ) - { - KDoubleSpinBox::setValue( val ); - // TODO: emit valueChanged ONLY if the value was out-of-bounds -@@ -129,7 +133,7 @@ - } - - void --KoUnitDoubleSpinBox::setUnit( KoUnit::Unit unit ) -+KoBuggyUnitDoubleSpinBox::setUnit( KoUnit::Unit unit ) - { - double oldvalue = KoUnit::fromUserValue( KDoubleSpinBox::value(), m_unit ); - KDoubleSpinBox::setMinValue( KoUnit::toUserValue( m_lowerInPoints, unit ) ); -@@ -140,31 +144,53 @@ - setSuffix( KoUnit::unitName( unit ).prepend( ' ' ) ); - } - --double KoUnitDoubleSpinBox::value( void ) const -+double KoBuggyUnitDoubleSpinBox::value( void ) const - { - return KoUnit::fromUserValue( KDoubleSpinBox::value(), m_unit ); - } - --void KoUnitDoubleSpinBox::setMinValue( double min ) -+void KoBuggyUnitDoubleSpinBox::setMinValue( double min ) - { - m_lowerInPoints = min; - KDoubleSpinBox::setMinValue( KoUnit::toUserValue( m_lowerInPoints, m_unit ) ); - } - --void KoUnitDoubleSpinBox::setMaxValue( double max ) -+void KoBuggyUnitDoubleSpinBox::setMaxValue( double max ) - { - m_upperInPoints = max; - KDoubleSpinBox::setMaxValue( KoUnit::toUserValue( m_upperInPoints, m_unit ) ); - } - --void KoUnitDoubleSpinBox::setLineStep( double step ) -+void KoBuggyUnitDoubleSpinBox::setLineStep( double step ) - { - m_stepInPoints = step; - KDoubleSpinBox::setLineStep( KoUnit::toUserValue( m_stepInPoints, m_unit ) ); - } - - -+// ---------------------------------------------------------------- - -+ -+KoUnitDoubleSpinBox2::KoUnitDoubleSpinBox2( QWidget *parent, double lower, double upper, double step, double value, KoUnit::Unit unit, unsigned int precision, const char *name ) -+ : KoBuggyUnitDoubleSpinBox( parent, lower, upper, step, value, unit, precision, name ) -+{ -+ m_validator = new KoUnitDoubleValidator( this, this ); -+ QSpinBox::setValidator( m_validator ); -+ setAcceptLocalizedNumbers( true ); -+ setUnit( unit ); -+ changeValue( value ); -+} -+ -+void -+KoUnitDoubleSpinBox2::changeValue( double val ) -+{ -+ KDoubleSpinBox::setValue( KoUnit::toUserValue( val, m_unit ) ); -+} -+ -+ -+// ---------------------------------------------------------------- -+ -+ - KoUnitDoubleLineEdit::KoUnitDoubleLineEdit( QWidget *parent, double lower, double upper, double value, KoUnit::Unit unit, - unsigned int precision, const char *name ) - : KLineEdit( parent, name ), KoUnitDoubleBase( unit, precision ), m_value( value ), m_lower( lower ), m_upper( upper ), -Index: lib/CHANGES -=================================================================== ---- lib/CHANGES (revision 427945) -+++ lib/CHANGES (working copy) -@@ -1,6 +1,15 @@ -+Changes after KOffice-1.4 -+========================= -+KOfficeCore: -+- OASIS loading/saving fix for embedded objects -+- Fix crash when pressing Quit in the initial startup dialog (#107911) -+ -+KoText: -+- Fix crash when updating a TOC with a table inside it (#107961) -+ - Changes after KOffice-1.4-beta1 - =============================== --KForumula: -+KFormula: - - Disable the matrix actions when the cursor isn't in a matrix element. - - Do not crash when exporting to PNG. - -Index: lib/kotext/kotextdocument.cc -=================================================================== ---- lib/kotext/kotextdocument.cc (revision 427945) -+++ lib/kotext/kotextdocument.cc (working copy) -@@ -135,6 +135,7 @@ - flow_->clear(); - while ( fParag ) { - KoTextParag *p = fParag->next(); -+ fParag->string()->clear(); // avoid the "unregister custom items" code, not needed - delete fParag; - fParag = p; - } -@@ -142,6 +143,7 @@ - if ( createEmptyParag ) - fParag = lParag = createParag( this ); - selections.clear(); -+ customItems.clear(); - } - - /* -Index: lib/kotext/kotextparag.cc -=================================================================== ---- lib/kotext/kotextparag.cc (revision 427945) -+++ lib/kotext/kotextparag.cc (working copy) -@@ -109,6 +109,17 @@ - KoTextParag::~KoTextParag() - { - //kdDebug(32500) << "KoTextParag::~KoTextParag " << this << " id=" << paragId() << endl; -+ -+ // #107961: unregister custom items; KoTextString::clear() will delete them -+ const int len = str->length(); -+ for ( int i = 0; i < len; ++i ) { -+ KoTextStringChar *c = at( i ); -+ if ( doc && c->isCustom() ) { -+ doc->unregisterCustomItem( c->customItem(), this ); -+ //removeCustomItem(); -+ } -+ } -+ - delete str; - str = 0; - // if ( doc && p == doc->minwParag ) { -Index: filters/kword/ascii/kword_ascii_import.desktop -=================================================================== ---- filters/kword/ascii/kword_ascii_import.desktop (revision 427945) -+++ filters/kword/ascii/kword_ascii_import.desktop (working copy) -@@ -5,6 +5,7 @@ - Name[br]=Sil Enporzh ASCII KWord - Name[ca]=Filtre d'importació ASCII per a KWord - Name[cs]=KWord ASCII importní filtr -+Name[cy]=Hidlen Fewnforio Ascii KWord - Name[da]=KWord ASCII-importfilter - Name[de]=ASCII-Importfilter für KWord - Name[el]=Φίλτρο εισαγωγής ascii του KWord -Index: filters/kspread/excel/sidewinder/excel.cpp -=================================================================== ---- filters/kspread/excel/sidewinder/excel.cpp (revision 427945) -+++ filters/kspread/excel/sidewinder/excel.cpp (working copy) -@@ -5412,7 +5412,7 @@ - case 10: valueFormat = "0.00%"; break; - case 11: valueFormat = "0.00E+00"; break; - case 12: valueFormat = "#?/?"; break; -- case 13: valueFormat = "#\?\?\/\?\?"; break; -+ case 13: valueFormat = "#\?\?/\?\?"; break; - case 14: valueFormat = "M/D/YY"; break; - case 15: valueFormat = "D-MMM-YY"; break; - case 16: valueFormat = "D-MMM"; break; -Index: filters/karbon/svg/svgexport.cc -=================================================================== ---- filters/karbon/svg/svgexport.cc (revision 427945) -+++ filters/karbon/svg/svgexport.cc (working copy) -@@ -36,8 +36,10 @@ - #include "vfill.h" - #include "vgradient.h" - #include "vgroup.h" -+#include "vimage.h" - #include "vlayer.h" - #include "vpath.h" -+#include "vpattern.h" - #include "vsegment.h" - #include "vselection.h" - #include "vstroke.h" -@@ -119,11 +121,9 @@ - "\"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\">" - << endl; - -- // add some PR -+ // add some PR. one line is more than enough. - *m_defs << -- "<!-- This file was created using the SVG export filter from Karbon14, a free vector drawing app. -->" << endl; -- *m_defs << -- "<!-- It is part of koffice, the free, integrated office suite for KDE (http://www.koffice.org/). -->" << endl; -+ "<!-- Created using Karbon14, part of koffice: http://www.koffice.org/karbon -->" << endl; - - *m_defs << - "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"" << -@@ -164,7 +164,30 @@ - *m_body << "</g>" << endl; - } - -+// horrible but at least something gets exported now -+// will need this for patterns - void -+SvgExport::visitVImage( VImage& image ) -+{ -+ *m_body << "<image "; -+ VVisitor::visitVImage( image ); -+ *m_body << "x=\"" << "\" "; -+ *m_body << "y=\"" << "\" "; -+ *m_body << "width=\"" << "\" "; -+ *m_body << "height=\"" << "\" "; -+ *m_body << "xlink:href=\"" << "\""; -+ *m_body << " />" << endl; -+} -+ -+void -+SvgExport::visitVLayer( VLayer& layer ) -+{ -+ *m_body << "<g" << getID( &layer ) << ">" << endl; -+ VVisitor::visitVLayer( layer ); -+ *m_body << "</g>" << endl; -+} -+ -+void - SvgExport::visitVPath( VPath& composite ) - { - *m_body << "<path" << getID( &composite ); -@@ -261,9 +284,50 @@ - *m_defs << "</radialGradient>" << endl; - *m_body << "url(#" << uid << ")"; - } -+ // gah! pointless abbreviation of conical to conic -+ else if( grad.type() == VGradient::conic ) -+ { -+ // fake conical grad as radial. -+ // fugly but better than data loss. -+ *m_defs << "<radialGradient id=\"" << uid << "\" "; -+ *m_defs << "gradientUnits=\"userSpaceOnUse\" "; -+ *m_defs << "cx=\"" << grad.origin().x() << "\" "; -+ *m_defs << "cy=\"" << grad.origin().y() << "\" "; -+ *m_defs << "fx=\"" << grad.focalPoint().x() << "\" "; -+ *m_defs << "fy=\"" << grad.focalPoint().y() << "\" "; -+ double r = sqrt( pow( grad.vector().x() - grad.origin().x(), 2 ) + pow( grad.vector().y() - grad.origin().y(), 2 ) ); -+ *m_defs << "r=\"" << QString().setNum( r ) << "\" "; -+ if( grad.repeatMethod() == VGradient::reflect ) -+ *m_defs << "spreadMethod=\"reflect\" "; -+ else if( grad.repeatMethod() == VGradient::repeat ) -+ *m_defs << "spreadMethod=\"repeat\" "; -+ *m_defs << ">" << endl; -+ -+ // color stops -+ getColorStops( grad.colorStops() ); -+ -+ *m_defs << "</radialGradient>" << endl; -+ *m_body << "url(#" << uid << ")"; -+ } - } - -+// better than nothing - void -+SvgExport::getPattern( const VPattern & patt ) -+{ -+ QString uid = createUID(); -+ *m_defs << "<pattern id=\"" << uid << "\" "; -+ *m_defs << "width=\"" << "\" "; -+ *m_defs << "height=\"" << "\" "; -+ *m_defs << "patternUnits=\"userSpaceOnUse\" "; -+ *m_defs << "patternContentUnits=\"userSpaceOnUse\" "; -+ *m_defs << " />" << endl; -+ // TODO: insert hard work here ;) -+ *m_defs << "</pattern>" << endl; -+ *m_body << "url(#" << uid << ")"; -+} -+ -+void - SvgExport::getFill( const VFill& fill ) - { - *m_body << " fill=\""; -@@ -271,6 +335,8 @@ - *m_body << "none"; - else if( fill.type() == VFill::grad ) - getGradient( fill.gradient() ); -+ else if( fill.type() == VFill::patt ) -+ getPattern( fill.pattern() ); - else - getHexColor( m_body, fill.color() ); - *m_body << "\""; -Index: filters/karbon/svg/svgexport.h -=================================================================== ---- filters/karbon/svg/svgexport.h (revision 427945) -+++ filters/karbon/svg/svgexport.h (working copy) -@@ -35,6 +35,7 @@ - class VDocument; - class VFill; - class VGroup; -+class VImage; - class VLayer; - class VSubpath; - class VStroke; -@@ -55,6 +56,8 @@ - virtual void visitVPath( VPath& composite ); - virtual void visitVDocument( VDocument& document ); - virtual void visitVGroup( VGroup& group ); -+ virtual void visitVImage( VImage& image ); -+ virtual void visitVLayer( VLayer& layer ); - virtual void visitVSubpath( VSubpath& path ); - virtual void visitVText( VText& text ); - -@@ -62,6 +65,7 @@ - void getColorStops( const QPtrVector<VColorStop> &colorStops ); - void getFill( const VFill& fill ); - void getGradient( const VGradient& grad ); -+ void getPattern( const VPattern& patt ); - void getHexColor( QTextStream *, const VColor& color ); - QString getID( VObject *obj ); - -Index: filters/generic_wrapper/generic_filter.desktop -=================================================================== ---- filters/generic_wrapper/generic_filter.desktop (revision 427945) -+++ filters/generic_wrapper/generic_filter.desktop (working copy) -@@ -3,6 +3,7 @@ - Name=Generic KOffice Filter - Name[ca]=Filtre genèric de KOffice - Name[cs]=Obecný filtr KOffice -+Name[cy]=Hidlen generig KOffice - Name[da]=Generisk KOffice-filter - Name[de]=Generischer KOffice-Filter - Name[el]=Γενικό φίλτρο του KOffice -Index: krita/plugins/cimg/CImg.h -=================================================================== ---- krita/plugins/cimg/CImg.h (revision 427945) -+++ krita/plugins/cimg/CImg.h (working copy) -@@ -5135,7 +5135,7 @@ - if (ny1<0 || ny0>=dimy()) return *this; - if (ny0<0) { nx0-=ny0*(nx1-nx0)/(ny1-ny0); ny0=0; } - if (ny1>=dimy()) { nx1+=(ny1-dimy())*(nx0-nx1)/(ny1-ny0); ny1=dimy()-1;} -- const unsigned int dmax = (unsigned int)cimg::max(std::abs(nx1-nx0),ny1-ny0), whz = width*height*depth; -+ const unsigned int dmax = (unsigned int)cimg::max(std::abs((long int)(nx1-nx0)),(long int)(ny1-ny0)), whz = width*height*depth; - const float px = dmax?(nx1-nx0)/(float)dmax:0, py = dmax?(ny1-ny0)/(float)dmax:0; - float x = (float)nx0, y = (float)ny0; - if (opacity>=1) for (unsigned int t=0; t<=dmax; t++) { -Index: krita/plugins/tool_polygon/kritatoolpolygon.desktop -=================================================================== ---- krita/plugins/tool_polygon/kritatoolpolygon.desktop (revision 427945) -+++ krita/plugins/tool_polygon/kritatoolpolygon.desktop (working copy) -@@ -2,6 +2,7 @@ - Encoding=UTF-8 - Name=Polygon Tool - Name[br]=Ostilh liestueg -+Name[cy]=Erfyn Polygon - Name[da]=Polygonværktøj - Name[de]=Polygon-Werkzeug - Name[el]=Εργαλείο πολυγώνου -Index: krita/plugins/tool_polyline/kritatoolpolyline.desktop -=================================================================== ---- krita/plugins/tool_polyline/kritatoolpolyline.desktop (revision 427945) -+++ krita/plugins/tool_polyline/kritatoolpolyline.desktop (working copy) -@@ -1,6 +1,7 @@ - [Desktop Entry] - Encoding=UTF-8 - Name=Polyline Tool -+Name[cy]=Erfyn Polylinell - Name[da]=Flerlinjeværktøj - Name[de]=Polylinien-Werkzeug - Name[el]=Εργαλείο Polyline -Index: krita/plugins/imagemagick/kritamagick.desktop -=================================================================== ---- krita/plugins/imagemagick/kritamagick.desktop (revision 427945) -+++ krita/plugins/imagemagick/kritamagick.desktop (working copy) -@@ -14,7 +14,8 @@ - Name[nn]=ImageMagick-omslag - Name[pt]=Interface para ImageMagick - Name[pt_BR]=Wrapper do ImageMagick --Name[ru]=Интерфейс к ImageMagick -+Name[ru]=Оболочка к ImageMagick -+Name[sl]=Ovojnik za ImageMagick - Name[sr]=Омотач ImageMagick-а - Name[sr@Latn]=Omotač ImageMagick-a - Name[sv]=ImageMagick-gränssnitt -@@ -35,7 +36,7 @@ - Comment[nn]=ImageMagick-basert import, eksport og filkonvertering - Comment[pt]=Importação/exportação e conversão de ficheiro com o ImageMagick - Comment[pt_BR]=Conversão de arquivos e filtro de importação/exportação baseado no ImageMagick --Comment[ru]=Фильтр импорта/экспорта рисунков посредством ImageMagick -+Comment[ru]=Фильтр импорта/экспорта и преобразования формата посредством ImageMagick - Comment[sr]=Увоз, извоз и конверзија фајлова помоћу ImageMagick-а - Comment[sr@Latn]=Uvoz, izvoz i konverzija fajlova pomoću ImageMagick-a - Comment[sv]=ImageMagick-baserad import, export och filkonvertering -Index: krita/plugins/tool_crop/kritatoolcrop.desktop -=================================================================== ---- krita/plugins/tool_crop/kritatoolcrop.desktop (revision 427945) -+++ krita/plugins/tool_crop/kritatoolcrop.desktop (working copy) -@@ -16,7 +16,7 @@ - Name[nn]=Beskjæringsverktøy - Name[pt]=Ferramenta de Recorte - Name[pt_BR]=Ferramenta de Recorte --Name[ru]=Инструмент обрезки -+Name[ru]=Обрезка - Name[sl]=Orodje za obrezavo - Name[sr]=Алат за сасецање - Name[sr@Latn]=Alat za sasecanje -Index: krita/plugins/selectiontools/kritaselectiontools.desktop -=================================================================== ---- krita/plugins/selectiontools/kritaselectiontools.desktop (revision 427945) -+++ krita/plugins/selectiontools/kritaselectiontools.desktop (working copy) -@@ -2,12 +2,14 @@ - Encoding=UTF-8 - Name=Selection Tools - Name[ca]=Eines de selecció -+Name[cy]=Offer Detholi - Name[da]=Markeringsværktøj - Name[de]=Auswahlwerkzeuge - Name[el]=Εργαλεία επιλογής - Name[es]=Herramientas de selección - Name[et]=Valikutööriistad - Name[fr]=Outils de sélection -+Name[ga]=Uirlisí Roghnúcháin - Name[he]=כלי בחירה - Name[hu]=Kiválasztó eszközök - Name[it]=Strumenti di selezione -Index: krita/plugins/tool_star/kritatoolstar.desktop -=================================================================== ---- krita/plugins/tool_star/kritatoolstar.desktop (revision 427945) -+++ krita/plugins/tool_star/kritatoolstar.desktop (working copy) -@@ -2,6 +2,7 @@ - Encoding=UTF-8 - Name=Star Tool - Name[br]=Ostilh steredenn -+Name[cy]=Erfyn Seren - Name[da]=Stjerneværktøj - Name[de]=Sterne-Werkzeug - Name[el]=Εργαλείο αστέρα -@@ -18,6 +19,7 @@ - Name[pt]=Ferramenta de Estrelas - Name[pt_BR]=Ferramenta Estrela - Name[ru]=Звёзды -+Name[sl]=Zvezdno orodje - Name[sr]=Алат за звезде - Name[sr@Latn]=Alat za zvezde - Name[sv]=Stjärnverktyg -Index: krita/plugins/tool_transform/kritatooltransform.desktop -=================================================================== ---- krita/plugins/tool_transform/kritatooltransform.desktop (revision 427945) -+++ krita/plugins/tool_transform/kritatooltransform.desktop (working copy) -@@ -16,7 +16,7 @@ - Name[nn]=Beskjæringsverktøy - Name[pt]=Ferramenta de Recorte - Name[pt_BR]=Ferramenta de Recorte --Name[ru]=Инструмент обрезки -+Name[ru]=Обрезка - Name[sl]=Orodje za obrezavo - Name[sr]=Алат за сасецање - Name[sr@Latn]=Alat za sasecanje -Index: krita/krita.desktop -=================================================================== ---- krita/krita.desktop (revision 427945) -+++ krita/krita.desktop (working copy) -@@ -22,6 +22,7 @@ - GenericName[fa]=برنامه دستکاری تصویر - GenericName[fi]=Kuvienmuokkausohjelma - GenericName[fr]=Logiciel de manipulation d'images -+GenericName[ga]=Clár Ionramhála na nÍomhánna - GenericName[he]=תוכנית לטיפול בתמונות - GenericName[hr]=Program za obradu slika - GenericName[hu]=Képszerkesztő -@@ -39,7 +40,7 @@ - GenericName[pt]=Programa de Manipulação de Imagens - GenericName[pt_BR]=Manipulador de Imagens - GenericName[ro]=Program de procesare imagini --GenericName[ru]=Редактор графических изображений -+GenericName[ru]=Программа редактирования изображений - GenericName[sk]=Program pre úpravu obrázkov - GenericName[sl]=Program za obdelavo slik - GenericName[sr]=Програм за уређивање слика -Index: krita/core/kis_paint_device.cc -=================================================================== ---- krita/core/kis_paint_device.cc (revision 427945) -+++ krita/core/kis_paint_device.cc (working copy) -@@ -791,24 +791,23 @@ - QRect r = m_selection -> selectedRect(); - r = r.normalize(); - -+ for (Q_INT32 y = 0; y < r.height(); y++) { -+ KisHLineIterator devIt = createHLineIterator(r.x(), r.y() + y, r.width(), true); -+ KisHLineIterator selectionIt = m_selection -> createHLineIterator(r.x(), r.y() + y, r.width(), false); - -- KisRectIterator devIt = createRectIterator(r.x(), r.y(), r.width(), r.height(), true); -- KisRectIterator selectionIt = m_selection -> createRectIterator(r.x(), r.y(), r.width(), r.height(), false); -+ while (!devIt.isDone()) { -+ KisPixel p = toPixel(devIt.rawData()); -+ KisPixel s = m_selection -> toPixel(selectionIt.rawData()); -+ Q_UINT16 p_alpha, s_alpha; -+ p_alpha = p.alpha(); -+ s_alpha = MAX_SELECTED - s.alpha(); - -- while (!devIt.isDone()) { -- KisPixel p = toPixel(devIt.rawData()); -- KisPixel s = m_selection -> toPixel(selectionIt.rawData()); -- Q_UINT16 p_alpha, s_alpha; -- p_alpha = p.alpha(); -- s_alpha = MAX_SELECTED - s.alpha(); -- -- p.alpha() = (Q_UINT8) ((p_alpha * s_alpha) >> 8); -+ p.alpha() = (Q_UINT8) ((p_alpha * s_alpha) >> 8); - -- ++devIt; -- ++selectionIt; -+ ++devIt; -+ ++selectionIt; -+ } - } -- -- - } - - void KisPaintDevice::applySelectionMask(KisSelectionSP mask) -Index: krita/core/kis_selection_manager.cc -=================================================================== ---- krita/core/kis_selection_manager.cc (revision 427945) -+++ krita/core/kis_selection_manager.cc (working copy) -@@ -319,20 +319,22 @@ - - // Apply selection mask. - -- KisRectIterator layerIt = clip -> createRectIterator(0, 0, r.width(), r.height(), true); -- KisRectIterator selectionIt = selection -> createRectIterator(r.x(), r.y(), r.width(), r.height(), false); -+ for (Q_INT32 y = 0; y < r.height(); y++) { -+ KisHLineIterator layerIt = clip -> createHLineIterator(0, y, r.width(), true); -+ KisHLineIterator selectionIt = selection -> createHLineIterator(r.x(), r.y() + y, r.width(), false); - -- while (!layerIt.isDone()) { -- KisPixel p = clip -> toPixel(layerIt.rawData()); -- KisPixel s = selection -> toPixel(selectionIt.rawData()); -- Q_UINT16 p_alpha, s_alpha; -- p_alpha = p.alpha(); -- s_alpha = s.alpha(); -- -- p.alpha() = (Q_UINT8) ((p_alpha * s_alpha) >> 8); -- -- ++layerIt; -- ++selectionIt; -+ while (!layerIt.isDone()) { -+ KisPixel p = clip -> toPixel(layerIt.rawData()); -+ KisPixel s = selection -> toPixel(selectionIt.rawData()); -+ Q_UINT16 p_alpha, s_alpha; -+ p_alpha = p.alpha(); -+ s_alpha = s.alpha(); -+ -+ p.alpha() = (Q_UINT8) ((p_alpha * s_alpha) >> 8); -+ -+ ++layerIt; -+ ++selectionIt; -+ } - } - - // kdDebug() << "Selection copied: " -Index: krita/core/tiles/kis_tiledrectiterator.cc -=================================================================== ---- krita/core/tiles/kis_tiledrectiterator.cc (revision 427945) -+++ krita/core/tiles/kis_tiledrectiterator.cc (working copy) -@@ -66,7 +66,8 @@ - m_xInTile = m_leftInTile; - m_yInTile = m_topInTile; - -- fetchTileData(m_col, m_row); -+ if (! m_beyondEnd) -+ fetchTileData(m_col, m_row); - m_offset = m_pixelSize * (m_yInTile * KisTile::WIDTH + m_xInTile); - } - -Index: krita/core/builder/kis_image_magick_converter.cc -=================================================================== ---- krita/core/builder/kis_image_magick_converter.cc (revision 427945) -+++ krita/core/builder/kis_image_magick_converter.cc (working copy) -@@ -64,10 +64,10 @@ - */ - KisStrategyColorSpaceSP getColorSpaceForColorType(ColorspaceType type) { - if (type == GRAYColorspace) { -- KisColorSpaceRegistry::instance() -> get(KisID("CMYK", "")); -+ return KisColorSpaceRegistry::instance() -> get(KisID("GRAYA", "")); - } - else if (type == CMYKColorspace) { -- return KisColorSpaceRegistry::instance() -> get(KisID("GRAYA", "")); -+ return KisColorSpaceRegistry::instance() -> get(KisID("CMYK", "")); - } - else if (type == RGBColorspace || type == sRGBColorspace || type == TransparentColorspace) { - return KisColorSpaceRegistry::instance() -> get(KisID("RGBA", "")); -Index: krita/core/kis_view.cc -=================================================================== ---- krita/core/kis_view.cc (revision 427945) -+++ krita/core/kis_view.cc (working copy) -@@ -218,8 +218,7 @@ - { - delete m_dcop; - delete m_dockerManager; -- -- -+ delete m_selectionManager; - } - - DCOPObject* KisView::dcopObject() -Index: krita/core/kis_iterators_pixel.h -=================================================================== ---- krita/core/kis_iterators_pixel.h (revision 427945) -+++ krita/core/kis_iterators_pixel.h (working copy) -@@ -37,6 +37,7 @@ - public: - KisHLineIteratorPixel( KisPaintDevice *ndevice, KisDataManager *dm, KisDataManager *sel_dm, Q_INT32 x , Q_INT32 y , Q_INT32 w, Q_INT32 offsetx, Q_INT32 offsety, bool writable); - -+ ~KisHLineIteratorPixel() { delete m_selectionIterator; } - inline KisHLineIteratorPixel & operator ++() { KisHLineIterator::operator++(); advance(1); return *this;} - - /// Advances a number of pixels until it reaches the end of the line -@@ -52,6 +53,7 @@ - { - public: - KisVLineIteratorPixel( KisPaintDevice *ndevice, KisDataManager *dm, KisDataManager *sel_dm, Q_INT32 xpos , Q_INT32 ypos , Q_INT32 height, Q_INT32 offsetx, Q_INT32 offsety, bool writable); -+ ~KisVLineIteratorPixel() { delete m_selectionIterator; } - - inline KisVLineIteratorPixel & operator ++() { KisVLineIterator::operator++(); advance(1); return *this;} - -@@ -65,6 +67,7 @@ - { - public: - KisRectIteratorPixel( KisPaintDevice *ndevice, KisDataManager *dm, KisDataManager *sel_dm, Q_INT32 x, Q_INT32 y, Q_INT32 w, Q_INT32 h, Q_INT32 offsetx, Q_INT32 offsety, bool writable); -+ ~KisRectIteratorPixel() { delete m_selectionIterator; } - - inline KisRectIteratorPixel & operator ++() { KisRectIterator::operator++(); advance(1); return *this;} - -Index: krita/paintops/kritadefaultpaintops.desktop -=================================================================== ---- krita/paintops/kritadefaultpaintops.desktop (revision 427945) -+++ krita/paintops/kritadefaultpaintops.desktop (working copy) -@@ -15,7 +15,7 @@ - Name[nn]=Standard måleoperasjonar - Name[pt]=Operações de Pintura Predefinidas - Name[pt_BR]=Operações de pintura padrão --Name[ru]=Стандартные действия рисования -+Name[ru]=Стандартные операции рисования - Name[sr]=Подразумеване сликарске операције - Name[sr@Latn]=Podrazumevane slikarske operacije - Name[sv]=Förvalda målningsoperationer -@@ -36,7 +36,7 @@ - Comment[nn]=Standard måleoperasjonar - Comment[pt]=Operações de pintura predefinidas - Comment[pt_BR]=Operações de pintura padrão --Comment[ru]=Действия рисования по умолчанию -+Comment[ru]=Операции рисования по умолчанию - Comment[sr]=Подразумеване сликарске операције - Comment[sr@Latn]=Podrazumevane slikarske operacije - Comment[sv]=Förvalda ritåtgärder -Index: krita/modules/colorspace_ws/kritawsplugin.desktop -=================================================================== ---- krita/modules/colorspace_ws/kritawsplugin.desktop (revision 427945) -+++ krita/modules/colorspace_ws/kritawsplugin.desktop (working copy) -@@ -13,7 +13,7 @@ - Name[nn]=Fargemodell for vått lerret - Name[pt]=Modelo de Cores de Tela Molhado e Pegajoso - Name[pt_BR]=Modelo de cores de tela Molhada & Pegajosa --Name[ru]=Цветовая модель влажности и прилипания -+Name[ru]=Цветовая модель с параметрами влажности и прилипания - Name[sr]=Модел боја мокрог и лепљивог платна - Name[sr@Latn]=Model boja mokrog i lepljivog platna - Name[sv]=Våt och klibbig dukfärgmodell -Index: krita/modules/colorspace_rgb/templates/transparent_1280x1024.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/transparent_1280x1024.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/transparent_1280x1024.desktop (working copy) -@@ -4,6 +4,7 @@ - URL=.source/transparent_1280x1024.kra - Icon=template_rgb_empty - Name=Transparent 1280 x 1024 -+Name[br]=Treuzwelus 1280 x 1024 - Name[da]=Gennemsigtig 1280 x 1024 - Name[el]=Διαφανής 1280 x 1024 - Name[es]=1280 x 1024 transparente -@@ -16,7 +17,7 @@ - Name[nn]=Gjennomsiktig 1280 × 1024 - Name[pt]=Transparente 1280 x 1024 - Name[pt_BR]=Transparente de 1280 x 1024 --Name[ru]=Прозрачный 1280x1024 -+Name[ru]=Рисунок 1280x1024, прозрачный фон - Name[sl]=Prosojna 1280 x 1024 - Name[sr]=Провидна 1280 x 1024 - Name[sr@Latn]=Providna 1280 x 1024 -@@ -39,7 +40,7 @@ - Comment[nn]=Lagar eit gjennomsiktig bilete på 1280 × 1024 pikslar. - Comment[pt]=Cria uma imagem transparente com 1280 x 1024 pontos. - Comment[pt_BR]=Cria uma imagem transparente de 1280 x 1024 pixels. --Comment[ru]=Прозрачное, 1280x1024. -+Comment[ru]=Рисунок 1280x1024, прозрачный фон. - Comment[sl]=Ustvari prosojno sliko velikosti 1280 x 1024 točk. - Comment[sr]=Прави провидну слику са 1280 x 1024 пиксела. - Comment[sr@Latn]=Pravi providnu sliku sa 1280 x 1024 piksela. -Index: krita/modules/colorspace_rgb/templates/transparent_640x480.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/transparent_640x480.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/transparent_640x480.desktop (working copy) -@@ -4,6 +4,7 @@ - URL=.source/transparent_1600x1200.kra - Icon=template_rgb_empty - Name=Transparent 640 x 480 -+Name[br]=Treuzwelus 640 x 480 - Name[da]=Gennemsigtig 640 x 480 - Name[el]=Διαφανής 640 x 480 - Name[es]=640 x 480 transparente -@@ -16,7 +17,7 @@ - Name[nn]=Gjennomsiktig 640 × 480 - Name[pt]=Transparente 640 x 480 - Name[pt_BR]=Transparente de 640 x 480 --Name[ru]=Прозрачный 640x480 -+Name[ru]=Рисунок 640x480, прозрачный фон - Name[sl]=Prosojna 640 x 480 - Name[sr]=Провидна 640 x 480 - Name[sr@Latn]=Providna 640 x 480 -@@ -39,7 +40,7 @@ - Comment[nn]=Lagar eit gjennomsiktig bilete på 640 × 480 pikslar. - Comment[pt]=Cria uma imagem transparente com 640 x 480 pontos. - Comment[pt_BR]=Cria uma imagem transparente de 640 x 480 pixels. --Comment[ru]=Прозрачное, 640x480. -+Comment[ru]=Рисунок 640x480, прозрачный фон. - Comment[sl]=Ustvari prosojno sliko velikosti 640 x 480 točk. - Comment[sr]=Прави провидну слику са 640 x 480 пиксела. - Comment[sr@Latn]=Pravi providnu sliku sa 640 x 480 piksela. -Index: krita/modules/colorspace_rgb/templates/white_1600x1200.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/white_1600x1200.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/white_1600x1200.desktop (working copy) -@@ -10,6 +10,7 @@ - Name[es]=1600 x 1200 blanco - Name[et]=Valge 1600 x 1200 - Name[fr]=Image blanche 1600 x 1200 -+Name[ga]=Bán 1600×1200 - Name[he]=לבן 1600 x 1200 - Name[hu]=Fehér 1600 x 1200 - Name[it]=Bianco 1600 x 1200 -@@ -17,7 +18,7 @@ - Name[nn]=Kvitt 1600 × 1200 - Name[pt]=Branca 1600 x 1200 - Name[pt_BR]=1600 x 1200 em Branco --Name[ru]=Белый 1600x1200 -+Name[ru]=Рисунок 1600x1200, белый фон - Name[sl]=Bela 1600 x 1200 - Name[sr]=Бела 1600 x 1200 - Name[sr@Latn]=Bela 1600 x 1200 -@@ -39,7 +40,7 @@ - Comment[nn]=Lagar eit kvitt RGB-bilete på 1600 × 1200 pikslar. - Comment[pt]=Cria uma imagem RGB branca com 1600 x 1200 pontos. - Comment[pt_BR]=Cria uma imagem RGB em branco de 1600 x 1200 pixels. --Comment[ru]=Белое в формате RGB, 1600x1200. -+Comment[ru]=Рисунок RGB 1600x1200, белый фон. - Comment[sl]=Ustvari belo sliko RGB velikosti 1600 x 1200 točk. - Comment[sr]=Прави белу RGB слику са 1600 x 1200 пиксела. - Comment[sr@Latn]=Pravi belu RGB sliku sa 1600 x 1200 piksela. -Index: krita/modules/colorspace_rgb/templates/white_1024x768.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/white_1024x768.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/white_1024x768.desktop (working copy) -@@ -13,6 +13,7 @@ - Name[es]=1024 x 768 blanco - Name[et]=Valge 1024 x 768 - Name[fr]=Image blanche 1024 x 768 -+Name[ga]=Bán 1024×768 - Name[he]=לבן 1024 x 768 - Name[hu]=Fehér 1024 x 768 - Name[it]=Bianco 1024 x 768 -@@ -21,7 +22,7 @@ - Name[nn]=Kvitt 1024 × 768 - Name[pt]=Branca 1024 x 768 - Name[pt_BR]=1024 x 768 em Branco --Name[ru]=Белый 1024x768 -+Name[ru]=Рисунок 1024x768, белый фон - Name[sl]=Bela 1024 x 768 - Name[sr]=Бела 1024 x 768 - Name[sr@Latn]=Bela 1024 x 768 -@@ -46,7 +47,7 @@ - Comment[nn]=Lagar eit kvitt RGB-bilete på 1024 × 768 pikslar. - Comment[pt]=Cria uma imagem RGB branca com 1024 x 768 pontos. - Comment[pt_BR]=Cria uma imagem RGB em branco de 1024 x 768 pixéis. --Comment[ru]=Белое в формате RGB, 1024x768. -+Comment[ru]=Рисунок RGB 1024x768, белый фон. - Comment[sl]=Ustvari belo sliko RGB velikosti 1024 x 768 točk. - Comment[sr]=Прави белу RGB слику са 1024 x 768 пиксела. - Comment[sr@Latn]=Pravi belu RGB sliku sa 1024 x 768 piksela. -Index: krita/modules/colorspace_rgb/templates/white_1280x1024.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/white_1280x1024.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/white_1280x1024.desktop (working copy) -@@ -10,6 +10,7 @@ - Name[es]=1280 x 1024 blanco - Name[et]=Valge 1280 x 1024 - Name[fr]=Image blanche 1280 x 1024 -+Name[ga]=Bán 1280×1024 - Name[he]=לבן 1280 x 1024 - Name[hu]=Fehér 1280 x 1024 - Name[it]=Bianco 1280 x 1024 -@@ -17,7 +18,7 @@ - Name[nn]=Kvitt 1280 × 1024 - Name[pt]=Branca 1280 x 1024 - Name[pt_BR]=1280 x 1024 em Branco --Name[ru]=Белый 1280x1024 -+Name[ru]=Рисунок 1280x1024, белый фон - Name[sl]=Bela 1280 x 1024 - Name[sr]=Бела 1280 x 1024 - Name[sr@Latn]=Bela 1280 x 1024 -@@ -39,7 +40,7 @@ - Comment[nn]=Lagar eit kvitt RGB-bilete på 1280 × 1024 pikslar. - Comment[pt]=Cria uma imagem RGB branca com 1280 x 1024 pontos. - Comment[pt_BR]=Cria uma imagem RGB em branco de 1280 x 1024 pixels. --Comment[ru]=Белое в формате RGB, 1280x1024. -+Comment[ru]=Рисунок RGB 1280x1024, белый фон. - Comment[sl]=Ustvari belo sliko RGB velikosti 1280 x 1024 točk. - Comment[sr]=Прави белу RGB слику са 1280 x 1024 пиксела. - Comment[sr@Latn]=Pravi belu RGB sliku sa 1280 x 1024 piksela. -Index: krita/modules/colorspace_rgb/templates/white_640x480.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/white_640x480.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/white_640x480.desktop (working copy) -@@ -13,6 +13,7 @@ - Name[es]=640x480 blanco - Name[et]=Valge 640x480 - Name[fr]=Image blanche 640 x 480 -+Name[ga]=Bán 640×480 - Name[he]=לבן 640x480 - Name[hu]=Fehér 640 x 480 - Name[it]=Bianco 640x480 -@@ -21,7 +22,7 @@ - Name[nn]=Kvitt 640 × 480 - Name[pt]=Branca 640x480 - Name[pt_BR]=640x480 em Branco --Name[ru]=Белый 640x480 -+Name[ru]=Рисунок 640x480, белый фон - Name[sl]=Bela 640x480 - Name[sr]=Бела 640x480 - Name[sr@Latn]=Bela 640x480 -@@ -42,11 +43,11 @@ - Comment[hu]=Létrehoz egy 640 x 480 képpontos fehér RGB képet. - Comment[it]=Crea un'immagine RGB bianca di 640 x 480 pixel. - Comment[nb]=Lager et hvitt bilde på 640 x 480 piksler. --Comment[nl]=Maakt een witte RGB-afbeelding aan van 540 x 480 pixels. -+Comment[nl]=Maakt een witte RGB-afbeelding aan van 640 x 480 pixels. - Comment[nn]=Lagar eit kvitt RGB-bilete på 640 × 480 pikslar. - Comment[pt]=Cria uma imagem RGB branca com 640 x 480 pontos. - Comment[pt_BR]=Cria uma imagem RGB em branco de 640 x 480 pixéis. --Comment[ru]=Белое в формате RGB, 640x480. -+Comment[ru]=Рисунок RGB 640x480, белый фон. - Comment[sl]=Ustvari belo sliko RGB velikosti 640 x 480 točk. - Comment[sr]=Прави белу RGB слику са 640 x 480 пиксела. - Comment[sr@Latn]=Pravi belu RGB sliku sa 640 x 480 piksela. -Index: krita/modules/colorspace_rgb/templates/transparent_1600x1200.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/transparent_1600x1200.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/transparent_1600x1200.desktop (working copy) -@@ -5,6 +5,7 @@ - Icon=template_rgb_empty - Name=Transparent 1600 x 1200 - Name[bg]=Прозрачно 1600 x 1200 -+Name[br]=Treuzwelus 1600 x 1200 - Name[da]=Gennemsigtig 1600 x 1200 - Name[el]=Διαφανής 1600 x 1200 - Name[es]=1600 x 1200 transparente -@@ -18,7 +19,7 @@ - Name[nn]=Gjennomsiktig 1600 × 1200 - Name[pt]=Transparente 1600 x 1200 - Name[pt_BR]=Transparente de 1600 x 1200 --Name[ru]=Прозрачный 1600x1200 -+Name[ru]=Рисунок 1600x1200, прозрачный фон - Name[sl]=Prosojna 1600 x 1200 - Name[sr]=Провидна 1600 x 1200 - Name[sr@Latn]=Providna 1600 x 1200 -@@ -44,7 +45,7 @@ - Comment[nn]=Lagar eit gjennomsiktig bilete på 1600 × 1200 pikslar. - Comment[pt]=Cria uma imagem transparente com 1600 x 1200 pontos. - Comment[pt_BR]=Cria uma imagem transparente de 1600 x 1200 pixéis. --Comment[ru]=Прозрачное, 1600x1200. -+Comment[ru]=Рисунок 1600x1200, прозрачный фон. - Comment[sl]=Ustvari prosojno sliko velikosti 1600 x 1200 točk. - Comment[sr]=Прави провидну слику са 1600 x 1200 пиксела. - Comment[sr@Latn]=Pravi providnu sliku sa 1600 x 1200 piksela. -Index: krita/modules/colorspace_rgb/templates/transparent_1024x768.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/transparent_1024x768.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/transparent_1024x768.desktop (working copy) -@@ -4,6 +4,7 @@ - URL=.source/transparent_1024x768.kra - Icon=template_rgb_empty - Name=Transparent 1024 x 768 -+Name[br]=Treuzwelus 1024 x 768 - Name[da]=Gennemsigtig 1024 x 768 - Name[el]=Διαφανής 1024 x 768 - Name[es]=1024 x 768 transparente -@@ -16,7 +17,7 @@ - Name[nn]=Gjennomsiktig 1024 × 768 - Name[pt]=Transparente 1024 x 768 - Name[pt_BR]=Transparente de 1024 x 768 --Name[ru]=Прозрачный 1024x768 -+Name[ru]=Рисунок 1024x768, прозрачный фон - Name[sl]=Prosojna 1024 x 768 - Name[sr]=Провидна 1024 x 768 - Name[sr@Latn]=Providna 1024 x 768 -@@ -39,7 +40,7 @@ - Comment[nn]=Lagar eit gjennomsiktig bilete på 1024 × 768 pikslar. - Comment[pt]=Cria uma imagem transparente com 1024 x 768 pontos. - Comment[pt_BR]=Cria uma imagem transparente de 1024 x 768 pixels. --Comment[ru]=Прозрачное, 1024x768. -+Comment[ru]=Рисунок 1024x768, прозрачный фон. - Comment[sl]=Ustvari prosojno sliko velikosti 1024 x 768 točk. - Comment[sr]=Прави провидну слику са 1024 x 768 пиксела. - Comment[sr@Latn]=Pravi providnu sliku sa 1024 x 768 piksela. -Index: krita/modules/krita_module.desktop -=================================================================== ---- krita/modules/krita_module.desktop (revision 427945) -+++ krita/modules/krita_module.desktop (working copy) -@@ -19,6 +19,7 @@ - Comment[pt]=Módulo de funcionalidade nuclear para o Krita - Comment[pt_BR]=Módulo de funcionalidades principais para o Krita - Comment[ru]=Движок Krita -+Comment[sl]=Modul za osnovne zmožnosti Krite - Comment[sr]=Модел основне функционалности за Krita-у - Comment[sr@Latn]=Model osnovne funkcionalnosti za Krita-u - Comment[sv]=Modul med kärnfunktioner för Krita -Index: krita/modules/colorspace_gray/templates/white_640x480.desktop -=================================================================== ---- krita/modules/colorspace_gray/templates/white_640x480.desktop (revision 427945) -+++ krita/modules/colorspace_gray/templates/white_640x480.desktop (working copy) -@@ -12,6 +12,7 @@ - Name[es]=Fondo blanco, 640 x 480 - Name[et]=Valge taust, 640 x 480 - Name[fr]=Fond blanc 640 x 480 -+Name[ga]=Cúlra Bán, 640×480 - Name[he]=רקע לבן, 640 x 480 - Name[hu]=Fehér háttér, 640 x 480 - Name[it]=Sfondo bianco, 640 x 480 -@@ -20,7 +21,7 @@ - Name[nn]=Kvit bakgrunn, 640 × 480 - Name[pt]=Fundo Branco, 640 x 480 - Name[pt_BR]=Fundo em branco, 640 x 480 --Name[ru]=Белый фон, 640x480 -+Name[ru]=Рисунок 640x480, белый фон - Name[sl]=Belo ozadje, 640 x 480 - Name[sr]=Бела позадина, 640 x 480 - Name[sr@Latn]=Bela pozadina, 640 x 480 -@@ -46,7 +47,7 @@ - Comment[nn]=Lagar eit bilete på 640 × 480 pikslar med ein kvit bakgrunn. - Comment[pt]=Cria uma imagem de 640 x 480 pontos com um fundo branco. - Comment[pt_BR]=Cria uma imagem de 640 x 480 pixéis com um fundo branco. --Comment[ru]=Белое, 640x480. -+Comment[ru]=Рисунок 640x480, белый фон. - Comment[sl]=Ustvari sliko velikosti 640 x 480 točk z belim ozadjem. - Comment[sr]=Прави слику од 640 x 480 пиксела са белом позадином. - Comment[sr@Latn]=Pravi sliku od 640 x 480 piksela sa belom pozadinom. -Index: krita/modules/colorspace_cmyk/kritacmykplugin.desktop -=================================================================== ---- krita/modules/colorspace_cmyk/kritacmykplugin.desktop (revision 427945) -+++ krita/modules/colorspace_cmyk/kritacmykplugin.desktop (working copy) -@@ -46,7 +46,7 @@ - Comment[nn]=Fargemodell for CMYK-bilete med 8 bit per kanal - Comment[pt]=Modelo de cor para imagens CMYK com 8 bits por canal - Comment[pt_BR]=Modelo de cor para imagens com 8-bits de canal CMYK --Comment[ru]=Цветовая модель для изображений в CMYK (болотный, пурпурный, жёлтый, чёрный) 8-бит/канал -+Comment[ru]=Цветовая модель для изображений в CMYK (циан, пурпурный, жёлтый, чёрный) 8-бит/канал - Comment[sl]=Barvni model za slike CMYK z 8 biti/kanal - Comment[sr]=Модел боја за CMYK слике са 8 битова/каналу - Comment[sr@Latn]=Model boja za CMYK slike sa 8 bitova/kanalu -Index: krita/modules/colorspace_cmyk/templates/white_2000x800.desktop -=================================================================== ---- krita/modules/colorspace_cmyk/templates/white_2000x800.desktop (revision 427945) -+++ krita/modules/colorspace_cmyk/templates/white_2000x800.desktop (working copy) -@@ -12,6 +12,7 @@ - Name[es]=2000 x 800 blanco - Name[et]=Valge 2000 x 800 - Name[fr]=Image blanche 2000 x 800 -+Name[ga]=Bán 2000×800 - Name[he]=לבן 2000 x 800 - Name[hu]=fehér 2000 x 800 - Name[it]=Bianco 2000 x 800 -@@ -45,7 +46,7 @@ - Comment[nn]=Lagar eit kvitt CMYK-bilete på 2000 × 800 pikslar. - Comment[pt]=Cria uma imagem CMYK branca com 2000 x 800 pontos. - Comment[pt_BR]=Cria uma imagem CMYK em branco de 2000 x 800 pixéis. --Comment[ru]=Белое в формате CMYK, 2000x800. -+Comment[ru]=Рисунок CMYK, 2000x800, белый фон. - Comment[sl]=Ustvari belo sliko CMYK velikosti 2000 x 800 točk. - Comment[sr]=Прави белу CMYK слику са 2000 x 800 пиксела. - Comment[sr@Latn]=Pravi belu CMYK sliku sa 2000 x 800 piksela. -Index: krita/data/krita_module.desktop -=================================================================== ---- krita/data/krita_module.desktop (revision 427945) -+++ krita/data/krita_module.desktop (working copy) -@@ -19,6 +19,7 @@ - Comment[pt]=Módulo de funcionalidade nuclear para o Krita - Comment[pt_BR]=Módulo de funcionalidades principais para o Krita - Comment[ru]=Движок Krita -+Comment[sl]=Modul za osnovne zmožnosti Krite - Comment[sr]=Модел основне функционалности за Krita-у - Comment[sr@Latn]=Model osnovne funkcionalnosti za Krita-u - Comment[sv]=Modul med kärnfunktioner för Krita -Index: krita/data/krita_paintop.desktop -=================================================================== ---- krita/data/krita_paintop.desktop (revision 427945) -+++ krita/data/krita_paintop.desktop (working copy) -@@ -17,6 +17,7 @@ - Comment[pt]=Módulo de operações de pintura do Krita - Comment[pt_BR]=plugin de operação de pintura para o Krita - Comment[ru]=Модуль рисования Krita -+Comment[sl]=vstavek za dejanja slikanja za Krito - Comment[sr]=Прикључак за сликарске операције за Krita-у - Comment[sr@Latn]=Priključak za slikarske operacije za Krita-u - Comment[sv]=Målningsinsticksprogram för Krita -Index: krita/kritapart.desktop -=================================================================== ---- krita/kritapart.desktop (revision 427945) -+++ krita/kritapart.desktop (working copy) -@@ -18,7 +18,7 @@ - Name[nn]=KOffice-komponent for biletmanipulering - Name[pt]=Componente de Manipulação de Imagens do KOffice - Name[pt_BR]=Componente de Manipulação de Imagens do KOffice --Name[ru]=Компонент редактирования изображений KOffice -+Name[ru]=Компонент редактирования изображений - Name[sl]=Komponenta za obdelavo slik za KOffice - Name[sr]=KOffice-ова компонента за манипулацију сликама - Name[sr@Latn]=KOffice-ova komponenta za manipulaciju slikama -@@ -49,7 +49,7 @@ - GenericName[nn]=Bilethandsaming - GenericName[pt]=Manipulação de Imagens - GenericName[pt_BR]=Manipulação de Imagens --GenericName[ru]=Редактор графических изображений -+GenericName[ru]=Редактирование изображений - GenericName[sl]=Obdelava slik - GenericName[sr]=Манипулација сликама - GenericName[sr@Latn]=Manipulacija slikama -Index: krita/ui/kis_layerbox.cc -=================================================================== ---- krita/ui/kis_layerbox.cc (revision 427945) -+++ krita/ui/kis_layerbox.cc (working copy) -@@ -372,7 +372,7 @@ - void KisLayerBoxItem::init(const QString& label, QListBox *parent, - KisLayerBox::flags f) - { -- KIconLoader il; -+ KIconLoader il( "krita" ); - - m_label = label; - -Index: krita/ui/kis_dockframedocker.cc -=================================================================== ---- krita/ui/kis_dockframedocker.cc (revision 427945) -+++ krita/ui/kis_dockframedocker.cc (working copy) -@@ -125,7 +125,6 @@ - m_page -> lblCaption -> show(); - m_page -> bnShade -> show(); - m_page -> lblCaption -> setText(caption()); -- resize(sizeHint()); - } - else { - m_docked = false; -@@ -133,7 +132,6 @@ - m_page -> bnShade -> hide(); - m_page -> tabWidget -> show(); - m_page -> lblCaption -> setText(""); -- resize(sizeHint()); - } - - } -Index: kchart/kchartpart.desktop -=================================================================== ---- kchart/kchartpart.desktop (revision 427945) -+++ kchart/kchartpart.desktop (working copy) -@@ -20,6 +20,7 @@ - Name[pt]=Componente de Gráficos do KOffice - Name[pt_BR]=Componente de Gráficos do KOffice - Name[ru]=Компонент диаграмм KOffice -+Name[sl]=Komponenta za grafe za KOffice - Name[sr]=KOffice-ова компонента за графике - Name[sr@Latn]=KOffice-ova komponenta za grafike - Name[sv]=Koffice-diagramkomponent -Index: kchart/kdchart/KDDrawText.cpp -=================================================================== ---- kchart/kdchart/KDDrawText.cpp (revision 427945) -+++ kchart/kdchart/KDDrawText.cpp (working copy) -@@ -256,10 +256,12 @@ - painter->setPen( QColor( Qt::darkGreen ) ); - painter->drawRect(x,y,txtWidth,txtHeight); - }else{ -+#if 0 - // Working around a strange Qt bug: Rotated painter must be - // initialized by drawing before text can be painted there. - painter->setPen( QColor( Qt::white ) ); - painter->drawLine( 30000,0,30001,0 ); -+#endif - } - painter->setPen( savePen ); - } -Index: kchart/kchartWizardSelectChartTypePage.cc -=================================================================== ---- kchart/kchartWizardSelectChartTypePage.cc (revision 427945) -+++ kchart/kchartWizardSelectChartTypePage.cc (working copy) -@@ -16,11 +16,11 @@ - namespace KChart - { - --KChartButton::KChartButton(QWidget *parent, const QString & _text, QPixmap *_pixmap) -+KChartButton::KChartButton(QWidget *parent, const QString & _text, const QPixmap &_pixmap) - : QVBox(parent) - { - m_button = new QPushButton(this); -- m_button->setPixmap(*_pixmap); -+ m_button->setPixmap(_pixmap); - m_button->setToggleButton( true ); - QLabel *label = new QLabel(_text, this); - label->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed); -@@ -30,16 +30,16 @@ - KChartButton::~KChartButton() - { - } -- -+ - void KChartWizardSelectChartTypePage::addButton(const QString &name, - const QString &icon_name, - int type) - { -- KChartButton *button = new KChartButton( this, name, &BarIcon( icon_name,KIcon::SizeMedium, KIcon::DefaultState,KChartFactory::global() ) ); -+ KChartButton *button = new KChartButton( this, name, BarIcon( icon_name,KIcon::SizeMedium, KIcon::DefaultState,KChartFactory::global() ) ); - _layout->addWidget(button,r_pos,c_pos); - _typeBG->insert( button->button(), type ); - -- if (c_pos == 3) -+ if (c_pos == 3) - { - c_pos=0; - r_pos++; //place the next button in the second row -Index: kchart/kchartWizardSelectChartTypePage.h -=================================================================== ---- kchart/kchartWizardSelectChartTypePage.h (revision 427945) -+++ kchart/kchartWizardSelectChartTypePage.h (working copy) -@@ -23,9 +23,9 @@ - { - Q_OBJECT - public: -- KChartButton(QWidget* parent, const QString &, QPixmap *); -+ KChartButton(QWidget* parent, const QString &, const QPixmap &); - ~KChartButton(); -- -+ - QPushButton *button() const { return m_button;} - private: - QPushButton *m_button; -Index: mimetypes/kde32/vnd.stardivision.math.desktop -=================================================================== ---- mimetypes/kde32/vnd.stardivision.math.desktop (revision 427945) -+++ mimetypes/kde32/vnd.stardivision.math.desktop (working copy) -@@ -25,7 +25,7 @@ - Comment[nn]=StarOffice-formel - Comment[pt]=Documento Matemático do StarOffice - Comment[pt_BR]=Documento do StarOffice Math --Comment[ru]=Формулы StarOffice -+Comment[ru]=Формула StarOffice - Comment[sl]=Dokument za StarOffice Math - Comment[sr]=StarOffice Math-ов документ - Comment[sr@Latn]=StarOffice Math-ov dokument -Index: mimetypes/kde32/vnd.stardivision.writer-global.desktop -=================================================================== ---- mimetypes/kde32/vnd.stardivision.writer-global.desktop (revision 427945) -+++ mimetypes/kde32/vnd.stardivision.writer-global.desktop (working copy) -@@ -23,7 +23,7 @@ - Comment[nn]=StarOffice Writer-hovuddokument - Comment[pt]=Documento Mestre do Writer do StarOffice - Comment[pt_BR]=Documento Mestre do StarOffice Writer --Comment[ru]=Основной документ StarOffice Writer -+Comment[ru]=Мастер-документ StarOffice - Comment[sl]=Dokument za StarOffice Writer Master - Comment[sr]=StarOffice Writer-ов главни документ - Comment[sr@Latn]=StarOffice Writer-ov glavni dokument -Index: mimetypes/kde32/vnd.sun.xml.writer.master.desktop -=================================================================== ---- mimetypes/kde32/vnd.sun.xml.writer.master.desktop (revision 427945) -+++ mimetypes/kde32/vnd.sun.xml.writer.master.desktop (working copy) -@@ -20,7 +20,7 @@ - Comment[nn]=OpenOffice.org-hovudtekstdokument - Comment[pt]=Documento Mestre de Texto do OpenOffice.org - Comment[pt_BR]=Documento Mestre de Texto do OpenOffice.org --Comment[ru]=Основной текстовый документ OpenOffice.org -+Comment[ru]=Мастер-документ OpenOffice.org - Comment[sr]=OpenOffice.org-ов главни текстуални документ - Comment[sr@Latn]=OpenOffice.org-ov glavni tekstualni dokument - Comment[sv]=Openoffice.org huvudtextdokument -Index: mimetypes/kde32/vnd.sun.xml.writer.template.desktop -=================================================================== ---- mimetypes/kde32/vnd.sun.xml.writer.template.desktop (revision 427945) -+++ mimetypes/kde32/vnd.sun.xml.writer.template.desktop (working copy) -@@ -21,7 +21,7 @@ - Comment[nn]=OpenOffice.org-tekstdokumentmal - Comment[pt]=Modelo de Documento de Texto do OpenOffice.org - Comment[pt_BR]=Modelo de Documento de Texto do OpenOffice.org --Comment[ru]=Шаблон текстового документа OpenОffice.org -+Comment[ru]=Шаблон документа OpenOffice.org - Comment[sl]=Predloga besedilnega dokumenta za OpenOffice.org - Comment[sr]=OpenOffice.org-ов шаблон текстуалног документа - Comment[sr@Latn]=OpenOffice.org-ov šablon tekstualnog dokumenta -Index: mimetypes/kde32/vnd.stardivision.draw.desktop -=================================================================== ---- mimetypes/kde32/vnd.stardivision.draw.desktop (revision 427945) -+++ mimetypes/kde32/vnd.stardivision.draw.desktop (working copy) -@@ -23,7 +23,7 @@ - Comment[nn]=StarOffice-teikning - Comment[pt]=Desenho do StarOffice - Comment[pt_BR]=Desenho do StarOffice --Comment[ru]=Изображение StarOffice -+Comment[ru]=Рисунок StarOffice - Comment[sl]=Risanje za StarOffice - Comment[sr]=StarOffice-ов цртеж - Comment[sr@Latn]=StarOffice-ov crtež -Index: mimetypes/kde32/vnd.sun.xml.draw.template.desktop -=================================================================== ---- mimetypes/kde32/vnd.sun.xml.draw.template.desktop (revision 427945) -+++ mimetypes/kde32/vnd.sun.xml.draw.template.desktop (working copy) -@@ -20,7 +20,7 @@ - Comment[nn]=OpenOffice.org-teikningsmal - Comment[pt]=Modelo de Desenho do OpenOffice.org - Comment[pt_BR]=Modelo de Desenho do OpenOffice.org --Comment[ru]=Шаблон изображения OpenOffice.org -+Comment[ru]=Шаблон рисунка OpenOffice.org - Comment[sl]=Predloga risanja za OpenOffice.org - Comment[sr]=OpenOffice.org-ов шаблон цртежа - Comment[sr@Latn]=OpenOffice.org-ov šablon crteža -Index: mimetypes/kde32/vnd.sun.xml.calc.template.desktop -=================================================================== ---- mimetypes/kde32/vnd.sun.xml.calc.template.desktop (revision 427945) -+++ mimetypes/kde32/vnd.sun.xml.calc.template.desktop (working copy) -@@ -21,7 +21,7 @@ - Comment[nn]=OpenOffice.org-reknearkmal - Comment[pt]=Modelo de Folha de Cálculo do OpenOffice.org - Comment[pt_BR]=Modelo de Planilha OpenOffice.org --Comment[ru]=Шаблон таблицы OpenOffice.org -+Comment[ru]=Шаблон электронной таблицы OpenOffice.org - Comment[sl]=Predloga preglednice za OpenOffice.org - Comment[sr]=OpenOffice.org-ов шаблон прорачунског листа - Comment[sr@Latn]=OpenOffice.org-ov šablon proračunskog lista -Index: mimetypes/kde33/vnd.oasis.opendocument.graphics-template.desktop -=================================================================== ---- mimetypes/kde33/vnd.oasis.opendocument.graphics-template.desktop (revision 427945) -+++ mimetypes/kde33/vnd.oasis.opendocument.graphics-template.desktop (working copy) -@@ -22,7 +22,7 @@ - Comment[nn]=OASIS OpenDocument-teikningsmal - Comment[pt]=Modelo de Desenho OASIS OpenDocument - Comment[pt_BR]=Modelo de Gráfico OpenDocument OASIS --Comment[ru]=Шаблон графики OASIS OpenDocument Graphics -+Comment[ru]=Шаблон рисунка OASIS OpenDocument Graphics - Comment[sl]=Predloga grafike OASIS OpenDocument - Comment[sr]=OASIS-ов OpenDocument графички шаблон - Comment[sr@Latn]=OASIS-ov OpenDocument grafički šablon -Index: mimetypes/kde33/vnd.oasis.opendocument.graphics.desktop -=================================================================== ---- mimetypes/kde33/vnd.oasis.opendocument.graphics.desktop (revision 427945) -+++ mimetypes/kde33/vnd.oasis.opendocument.graphics.desktop (working copy) -@@ -22,7 +22,7 @@ - Comment[nn]=OASIS OpenDocument-teikning - Comment[pt]=Desenho OASIS OpenDocument - Comment[pt_BR]=Gráfico OpenDocument OASIS --Comment[ru]=Графика OASIS OpenDocument -+Comment[ru]=Рисунок OASIS OpenDocument - Comment[sl]=Grafika OASIS OpenDocument - Comment[sr]=OASIS-ова OpenDocument графика - Comment[sr@Latn]=OASIS-ova OpenDocument grafika -Index: kivio/kiviopart/kivio_stencil_geometry_panel.cpp -=================================================================== ---- kivio/kiviopart/kivio_stencil_geometry_panel.cpp (revision 427945) -+++ kivio/kiviopart/kivio_stencil_geometry_panel.cpp (working copy) -@@ -96,10 +96,10 @@ - lw->setPixmap( QPixmap((const char **)width_xpm) ); - lh->setPixmap( QPixmap((const char **)height_xpm) ); - -- m_pX = new KoUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -- m_pY = new KoUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -- m_pW = new KoUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -- m_pH = new KoUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -+ m_pX = new KoBuggyUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -+ m_pY = new KoBuggyUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -+ m_pW = new KoBuggyUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -+ m_pH = new KoBuggyUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); - m_rotationSBox = new KIntSpinBox(-360, 360, 1, 0, 10, this); - m_rotationSBox->hide(); - -Index: kivio/kiviopart/kivio_stencil_geometry_panel.h -=================================================================== ---- kivio/kiviopart/kivio_stencil_geometry_panel.h (revision 427945) -+++ kivio/kiviopart/kivio_stencil_geometry_panel.h (working copy) -@@ -5,14 +5,14 @@ - #include <koUnit.h> - - class KoPageLayout; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KIntSpinBox; - - class KivioStencilGeometryPanel : public QWidget - { - Q_OBJECT - protected: -- KoUnitDoubleSpinBox *m_pX, *m_pY, *m_pW, *m_pH; -+ KoBuggyUnitDoubleSpinBox *m_pX, *m_pY, *m_pW, *m_pH; - KIntSpinBox* m_rotationSBox; - KoUnit::Unit m_unit; - bool m_emitSignals; -Index: kivio/kiviopart/kivio_view.h -=================================================================== ---- kivio/kiviopart/kivio_view.h (revision 427945) -+++ kivio/kiviopart/kivio_view.h (working copy) -@@ -63,7 +63,7 @@ - class DCOPObject; - class KoRuler; - class KoZoomHandler; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KStatusBarLabel; - class KoLineWidthAction; - class KoLineStyleAction; -Index: kivio/kiviopart/ui/kiviostencilformatdlg.cpp -=================================================================== ---- kivio/kiviopart/ui/kiviostencilformatdlg.cpp (revision 427945) -+++ kivio/kiviopart/ui/kiviostencilformatdlg.cpp (working copy) -@@ -46,7 +46,7 @@ - QGridLayout* gl = new QGridLayout(mainWidget, 3, 2, KDialog::marginHint(), KDialog::spacingHint()); - - QLabel* lineWidthLbl = new QLabel(i18n("Line &width:"), mainWidget); -- m_lineWidthUSBox = new KoUnitDoubleSpinBox(mainWidget, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); -+ m_lineWidthUSBox = new KoBuggyUnitDoubleSpinBox(mainWidget, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); - lineWidthLbl->setBuddy(m_lineWidthUSBox); - QLabel* lineColorLbl = new QLabel(i18n("Line &color:"), mainWidget); - m_lineCBtn = new KColorButton(mainWidget); -Index: kivio/kiviopart/ui/kiviostencilformatdlg.h -=================================================================== ---- kivio/kiviopart/ui/kiviostencilformatdlg.h (revision 427945) -+++ kivio/kiviopart/ui/kiviostencilformatdlg.h (working copy) -@@ -24,7 +24,7 @@ - - #include <koUnit.h> - --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KColorButton; - class KComboBox; - class KivioView; -@@ -61,7 +61,7 @@ - void initLineEndStyles(); - - protected: -- KoUnitDoubleSpinBox* m_lineWidthUSBox; -+ KoBuggyUnitDoubleSpinBox* m_lineWidthUSBox; - KColorButton* m_lineCBtn; - KColorButton* m_fillCBtn; - KComboBox* m_patternCBox; -Index: kivio/kiviopart/ui/kiviooptionsdialog.cpp -=================================================================== ---- kivio/kiviopart/ui/kiviooptionsdialog.cpp (revision 427945) -+++ kivio/kiviopart/ui/kiviooptionsdialog.cpp (working copy) -@@ -178,20 +178,20 @@ - gridColorLbl->setBuddy(m_gridColorBtn); - QGroupBox* spacingGrp = new QGroupBox(2, Qt::Horizontal, i18n("Spacing"), page); - QLabel* spaceHorizLbl = new QLabel(i18n("&Horizontal:"), spacingGrp); -- m_spaceHorizUSpin = new KoUnitDoubleSpinBox(spacingGrp, 0.0, pgw, 0.1, -+ m_spaceHorizUSpin = new KoBuggyUnitDoubleSpinBox(spacingGrp, 0.0, pgw, 0.1, - fw, unit); - spaceHorizLbl->setBuddy(m_spaceHorizUSpin); - QLabel* spaceVertLbl = new QLabel(i18n("&Vertical:"), spacingGrp); -- m_spaceVertUSpin = new KoUnitDoubleSpinBox(spacingGrp, 0.0, pgh, 0.1, -+ m_spaceVertUSpin = new KoBuggyUnitDoubleSpinBox(spacingGrp, 0.0, pgh, 0.1, - fh, unit); - spaceVertLbl->setBuddy(m_spaceVertUSpin); - QGroupBox* snapGrp = new QGroupBox(2, Qt::Horizontal, i18n("Snap Distance"), page); - QLabel* snapHorizLbl = new QLabel(i18n("H&orizontal:"), snapGrp); -- m_snapHorizUSpin = new KoUnitDoubleSpinBox(snapGrp, 0.0, fw, 0.1, -+ m_snapHorizUSpin = new KoBuggyUnitDoubleSpinBox(snapGrp, 0.0, fw, 0.1, - sw, unit); - snapHorizLbl->setBuddy(m_snapHorizUSpin); - QLabel* snapVertLbl = new QLabel(i18n("V&ertical:"), snapGrp); -- m_snapVertUSpin = new KoUnitDoubleSpinBox(snapGrp, 0.0, fh, 0.1, -+ m_snapVertUSpin = new KoBuggyUnitDoubleSpinBox(snapGrp, 0.0, fh, 0.1, - sh, unit); - snapVertLbl->setBuddy(m_snapVertUSpin); - -@@ -245,7 +245,7 @@ - orientBGrp->insert(m_orientVertRBtn); - QLabel* posLbl = new QLabel(i18n("&Position:"), m_propertiesGrp); - KoUnit::Unit unit = view->doc()->units(); -- m_posUSpin = new KoUnitDoubleSpinBox(m_propertiesGrp, 0.0, 0.0, 0.0, unit); -+ m_posUSpin = new KoBuggyUnitDoubleSpinBox(m_propertiesGrp, 0.0, 0.0, 0.0, unit); - posLbl->setBuddy(m_posUSpin); - - QGridLayout* pgl = new QGridLayout(m_propertiesGrp->layout()); -Index: kivio/kiviopart/ui/kivioarrowheadformatdlg.cpp -=================================================================== ---- kivio/kiviopart/ui/kivioarrowheadformatdlg.cpp (revision 427945) -+++ kivio/kiviopart/ui/kivioarrowheadformatdlg.cpp (working copy) -@@ -53,10 +53,10 @@ - loadArrowHeads(m_startAHTypeCBox, false); - startAHTypeLbl->setBuddy(m_startAHTypeCBox); - QLabel* startAHWidthLbl = new QLabel(i18n("&Width:"), startGBox); -- m_startAHWidthUSBox = new KoUnitDoubleSpinBox(startGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); -+ m_startAHWidthUSBox = new KoBuggyUnitDoubleSpinBox(startGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); - startAHWidthLbl->setBuddy(m_startAHWidthUSBox); - QLabel* startAHHeightLbl = new QLabel(i18n("&Length:"), startGBox); -- m_startAHHeightUSBox = new KoUnitDoubleSpinBox(startGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); -+ m_startAHHeightUSBox = new KoBuggyUnitDoubleSpinBox(startGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); - startAHHeightLbl->setBuddy(m_startAHHeightUSBox); - - QGroupBox* endGBox = new QGroupBox(2, Qt::Horizontal, i18n("Arrowhead at End"), mainWidget); -@@ -65,10 +65,10 @@ - loadArrowHeads(m_endAHTypeCBox, true); - endAHTypeLbl->setBuddy(m_endAHTypeCBox); - QLabel* endAHWidthLbl = new QLabel(i18n("W&idth:"), endGBox); -- m_endAHWidthUSBox = new KoUnitDoubleSpinBox(endGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); -+ m_endAHWidthUSBox = new KoBuggyUnitDoubleSpinBox(endGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); - endAHWidthLbl->setBuddy(m_endAHWidthUSBox); - QLabel* endAHHeightLbl = new QLabel(i18n("L&ength:"), endGBox); -- m_endAHHeightUSBox = new KoUnitDoubleSpinBox(endGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); -+ m_endAHHeightUSBox = new KoBuggyUnitDoubleSpinBox(endGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); - endAHHeightLbl->setBuddy(m_endAHHeightUSBox); - - gl->addWidget(startGBox, 0, 0); -Index: kivio/kiviopart/ui/kiviooptionsdialog.h -=================================================================== ---- kivio/kiviopart/ui/kiviooptionsdialog.h (revision 427945) -+++ kivio/kiviopart/ui/kiviooptionsdialog.h (working copy) -@@ -32,7 +32,7 @@ - class QRadioButton; - class KColorButton; - class KURLRequester; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KivioGuideLineData; - class QGroupBox; - class QFont; -@@ -105,17 +105,17 @@ - KoPageLayout m_layout; - QLabel* m_fontTxtLbl; - QFont m_font; -- KoUnitDoubleSpinBox* m_spaceHorizUSpin; -- KoUnitDoubleSpinBox* m_spaceVertUSpin; -- KoUnitDoubleSpinBox* m_snapHorizUSpin; -- KoUnitDoubleSpinBox* m_snapVertUSpin; -+ KoBuggyUnitDoubleSpinBox* m_spaceHorizUSpin; -+ KoBuggyUnitDoubleSpinBox* m_spaceVertUSpin; -+ KoBuggyUnitDoubleSpinBox* m_snapHorizUSpin; -+ KoBuggyUnitDoubleSpinBox* m_snapVertUSpin; - QCheckBox* m_gridChBox; - QCheckBox* m_snapChBox; - KColorButton* m_gridColorBtn; - KListView* m_guideList; - QRadioButton* m_orientHorizRBtn; - QRadioButton* m_orientVertRBtn; -- KoUnitDoubleSpinBox* m_posUSpin; -+ KoBuggyUnitDoubleSpinBox* m_posUSpin; - QCheckBox* m_snapGuideChBox; - QCheckBox* m_guidesChBox; - KColorButton* m_guideColorBtn; -Index: kivio/kiviopart/ui/kivioarrowheadformatdlg.h -=================================================================== ---- kivio/kiviopart/ui/kivioarrowheadformatdlg.h (revision 427945) -+++ kivio/kiviopart/ui/kivioarrowheadformatdlg.h (working copy) -@@ -24,7 +24,7 @@ - - #include <koUnit.h> - --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KComboBox; - class KivioView; - -@@ -58,10 +58,10 @@ - void loadArrowHeads(KComboBox* combo, bool endArrow); - - protected: -- KoUnitDoubleSpinBox* m_startAHWidthUSBox; -- KoUnitDoubleSpinBox* m_startAHHeightUSBox; -- KoUnitDoubleSpinBox* m_endAHWidthUSBox; -- KoUnitDoubleSpinBox* m_endAHHeightUSBox; -+ KoBuggyUnitDoubleSpinBox* m_startAHWidthUSBox; -+ KoBuggyUnitDoubleSpinBox* m_startAHHeightUSBox; -+ KoBuggyUnitDoubleSpinBox* m_endAHWidthUSBox; -+ KoBuggyUnitDoubleSpinBox* m_endAHHeightUSBox; - KComboBox* m_startAHTypeCBox; - KComboBox* m_endAHTypeCBox; - KoUnit::Unit m_unit; -Index: kpresenter/kppieobject.h -=================================================================== ---- kpresenter/kppieobject.h (revision 427945) -+++ kpresenter/kppieobject.h (working copy) -@@ -1,5 +1,6 @@ - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -79,7 +80,6 @@ - { return lineEnd; } - - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual double load(const QDomElement &element); - virtual void flip(bool horizontal ); -@@ -89,6 +89,9 @@ - virtual KoPoint getRealOrig() const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void paint( QPainter *_painter, KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour ); - -Index: kpresenter/kpcubicbeziercurveobject.h -=================================================================== ---- kpresenter/kpcubicbeziercurveobject.h (revision 427945) -+++ kpresenter/kpcubicbeziercurveobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -42,10 +43,9 @@ - virtual QString getTypeString() const { return i18n("Cubic Bezier Curve"); } - - virtual QDomDocumentFragment save( QDomDocument& doc,double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual double load( const QDomElement &element ); -- virtual void loadOasis( const QDomElement &element, KoOasisContext & context,KPRLoadingInfo* info ); -+ virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo* info ); - - virtual void flip(bool horizontal ); - void closeObject(bool _close); -@@ -53,6 +53,9 @@ - - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void updatePoints( double _fx, double _fy ); - virtual KoPointArray getDrawingPoints() const; - -Index: kpresenter/kprectobject.h -=================================================================== ---- kpresenter/kprectobject.h (revision 427945) -+++ kpresenter/kprectobject.h (working copy) -@@ -53,9 +53,11 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext &context, KPRLoadingInfo *info); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void paint( QPainter *_painter,KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour ); - -Index: kpresenter/kpellipseobject.h -=================================================================== ---- kpresenter/kpellipseobject.h (revision 427945) -+++ kpresenter/kpellipseobject.h (working copy) -@@ -49,9 +49,11 @@ - { return i18n("Ellipse"); } - - virtual KoSize getRealSize() const; -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void paint( QPainter *_painter,KoZoomHandler *_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour = FALSE ); - -Index: kpresenter/kpfreehandobject.h -=================================================================== ---- kpresenter/kpfreehandobject.h (revision 427945) -+++ kpresenter/kpfreehandobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -43,8 +44,11 @@ - - virtual QDomDocumentFragment save( QDomDocument& doc,double offset ); - virtual double load( const QDomElement &element ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; -+ virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo* info ); - -+protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; - }; - - #endif -Index: kpresenter/kppointobject.cc -=================================================================== ---- kpresenter/kppointobject.cc (revision 427945) -+++ kpresenter/kppointobject.cc (working copy) -@@ -1,6 +1,6 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project -- Copyright (C) 2004 Thorsten Zachmann <zachmann@kde.org> -+ Copyright (C) 2004-2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -83,71 +83,24 @@ - return fragment; - } - --QString KPPointObject::saveOasisStrokeElement( KoGenStyles& mainStyles ) const -+const char * KPPointObject::getOasisElementName() const - { -- KoGenStyle styleobjectauto( KoGenStyle::STYLE_GRAPHICAUTO, "graphic" ); -- saveOasisMarkerElement( mainStyles, styleobjectauto ); -- saveOasisObjectProtectStyle( styleobjectauto ); -- KPShadowObject::saveOasisStrokeElement( mainStyles, styleobjectauto ); -- return mainStyles.lookup( styleobjectauto, "gr" ); -+ return "draw:custom-shape"; - } - -- --bool KPPointObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context ) const --{ -- QString listOfPoint; -- int maxX=0; -- int maxY=0; -- KoPointArray::ConstIterator it; -- for ( it = points.begin(); it != points.end(); ++it ) { -- int tmpX = 0; -- int tmpY = 0; -- tmpX = ( int ) ( KoUnit::toMM( ( *it ).x() )*100 ); -- tmpY = ( int ) ( KoUnit::toMM( ( *it ).y() )*100 ); -- if ( !listOfPoint.isEmpty() ) -- listOfPoint += QString( " %1,%2" ).arg( tmpX ).arg( tmpY ); -- else -- listOfPoint = QString( "%1,%2" ).arg( tmpX ).arg( tmpY ); -- maxX = QMAX( maxX, tmpX ); -- maxY = QMAX( maxY, tmpY ); -- } -- xmlWriter.addAttribute("draw:points", listOfPoint ); -- xmlWriter.addAttribute("svg:viewBox", QString( "0 0 %1 %2" ).arg( maxX ).arg( maxY ) ); -- return true; --} -- - void KPPointObject::loadOasisMarker( KoOasisContext & context ) - { - loadOasisMarkerElement( context, "marker-start", lineBegin ); - loadOasisMarkerElement( context, "marker-end", lineEnd ); - } - --void KPPointObject::loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ) -+void KPPointObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const - { -- //kdDebug()<<"void KPPointObject::loadOasis( const QDomElement &element )*************\n"; -- KPShadowObject::loadOasis( element, context, info ); -- //load point. -- QStringList ptList = QStringList::split(' ', element.attributeNS( KoXmlNS::draw, "points", QString::null)); -- QString pt_x, pt_y; -- double tmp_x, tmp_y; -- unsigned int index = 0; -- for (QStringList::Iterator it = ptList.begin(); it != ptList.end(); ++it) -- { -- tmp_x = (*it).section(',',0,0).toInt() / 100; -- tmp_y = (*it).section(',',1,1).toInt() / 100; -- -- pt_x.setNum(tmp_x); -- pt_x+="mm"; -- -- pt_y.setNum(tmp_y); -- pt_y+="mm"; -- -- points.putPoints( index, 1, KoUnit::parseValue(pt_x),KoUnit::parseValue(pt_y) ); -- ++index; -- } -- loadOasisMarker( context ); -+ KPShadowObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisMarkerElement( mainStyles, styleObjectAuto ); - } - -+ - double KPPointObject::load( const QDomElement &element ) - { - double offset = KPShadowObject::load( element ); -Index: kpresenter/kplineobject.h -=================================================================== ---- kpresenter/kplineobject.h (revision 427945) -+++ kpresenter/kplineobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -63,16 +64,18 @@ - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info); - -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; -- - virtual void flip(bool horizontal ); - - virtual KoSize getRealSize() const; - virtual KoPoint getRealOrig() const; - - protected: -- QString saveOasisStrokeElement( KoGenStyles& mainStyles ) const; -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ virtual void saveOasisPosObject( KoXmlWriter &xmlWriter, int indexObj ) const; - -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ - virtual void paint( QPainter *_painter, KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour = FALSE ); - LineType lineType; -Index: kpresenter/kppointobject.h -=================================================================== ---- kpresenter/kppointobject.h (revision 427945) -+++ kpresenter/kppointobject.h (working copy) -@@ -1,6 +1,6 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project -- Copyright (C) 2004 Thorsten Zachmann <zachmann@kde.org> -+ Copyright (C) 2004-2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -34,10 +34,8 @@ - virtual KoPoint getRealOrig() const; - - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context ) const; - - virtual double load( const QDomElement &element ); -- virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ); - - virtual void setLineBegin( LineEnd _lineBegin ) { lineBegin = _lineBegin; } - virtual void setLineEnd( LineEnd _lineEnd ) { lineEnd = _lineEnd; } -@@ -53,10 +51,13 @@ - - virtual void closeObject( bool close ); - virtual bool isClosed() const; -- virtual QString saveOasisStrokeElement( KoGenStyles& mainStyles ) const; - - protected: -+ virtual const char * getOasisElementName() const; -+ - void loadOasisMarker( KoOasisContext & context ); -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ - virtual void paint( QPainter *_painter,KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour = FALSE ); - virtual void updatePoints( double _fx, double _fy ); -Index: kpresenter/kpautoformobject.cc -=================================================================== ---- kpresenter/kpautoformobject.cc (revision 427945) -+++ kpresenter/kpautoformobject.cc (working copy) -@@ -76,12 +76,17 @@ - } - - --bool KPAutoformObject::saveOasis( KoXmlWriter & xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPAutoformObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- kdDebug()<<"bool KPAutoformObject::saveOasis( KoXmlWriter & xmlWriter ) not implemented\n"; -+ kdDebug()<<"bool KPAutoformObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) not implemented\n"; - return true; - } - -+const char * KPAutoformObject::getOasisElementName() const -+{ -+ return "draw:custom-shape"; -+} -+ - QDomDocumentFragment KPAutoformObject::save( QDomDocument& doc, double offset ) - { - QDomDocumentFragment fragment=KP2DObject::save(doc, offset); -Index: kpresenter/kpgroupobject.h -=================================================================== ---- kpresenter/kpgroupobject.h (revision 427945) -+++ kpresenter/kpgroupobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -70,7 +71,6 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load(const QDomElement &element, KPresenterDoc *doc); - virtual void loadOasisGroupObject( KPresenterDoc *doc, KPrPage * newpage, QDomNode &element, KoOasisContext & context, KPRLoadingInfo *info); -- virtual bool saveOasis(KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj) const; - - virtual void draw( QPainter *_painter, KoZoomHandler *_zoomhandler, - int pageNum, SelectionMode selectionMode, bool drawContour = FALSE ); -@@ -101,6 +101,9 @@ - virtual void decCmdRef(); - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - void updateSizes( double fx, double fy ); - void updateCoords( double dx, double dy ); - -Index: kpresenter/kppixmapobject.h -=================================================================== ---- kpresenter/kppixmapobject.h (revision 427945) -+++ kpresenter/kppixmapobject.h (working copy) -@@ -2,6 +2,7 @@ - - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -72,7 +73,6 @@ - { return i18n("Picture"); } - - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info); -@@ -113,11 +113,15 @@ - virtual void flip(bool horizontal ); - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - KPPixmapObject() {} - - QPixmap changePictureSettings( QPixmap _tmpPixmap ); -- virtual void saveOasisPictureElement( KoGenStyle &styleobjectauto ); -+ virtual void saveOasisPictureElement( KoGenStyle &styleobjectauto ) const; - void loadOasisPictureEffect(KoOasisContext & context ); -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; - - /** - * @internal -Index: kpresenter/kppartobject.h -=================================================================== ---- kpresenter/kppartobject.h (revision 427945) -+++ kpresenter/kppartobject.h (working copy) -@@ -49,14 +49,15 @@ - - KPresenterChild *getChild() const { return child; } - void enableDrawing( bool f ) { _enableDrawing = f; } -- virtual bool saveOasisPart( KoXmlWriter &xmlWriter, KoStore *store, KoSavingContext& context, int indexObj, int partIndexObj, KoXmlWriter* manifestWriter ) const; - virtual void loadOasis(const QDomElement &element, KoOasisContext &context, KPRLoadingInfo *info); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext &context, int indexObj ) const { return true;/* use saveOasisPart*/}; - - public slots: - void slot_changed( KoChild *_koChild ); - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - void updateChildGeometry(); - virtual void paint( QPainter *_painter,KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour = FALSE ); -Index: kpresenter/kpobject.cc -=================================================================== ---- kpresenter/kpobject.cc (revision 427945) -+++ kpresenter/kpobject.cc (working copy) -@@ -344,7 +344,7 @@ - xmlWriter.addAttributePt( "svg:width", ext.width() ); - xmlWriter.addAttributePt( "svg:height", ext.height() ); - -- if ( angle!=0.0 ) -+ if ( kAbs( angle ) > 1E-6 ) - { - double value = -1 * ( ( double )angle* M_PI )/180.0; - QString str=QString( "rotate (%1)" ).arg( value ); -@@ -362,6 +362,40 @@ - } - } - -+QString KPObject::getStyle( KPOasisSaveContext &sc ) const -+{ -+ kdDebug(33001) << "KPObject::getStyle" << endl; -+ KoGenStyle styleObjectAuto; -+ KoGenStyles &mainStyles( sc.context.mainStyles() ); -+ if ( sc.onMaster ) -+ { -+ styleObjectAuto = KoGenStyle( KPresenterDoc::STYLE_PRESENTATIONSTICKYOBJECT, "presentation" ); -+ } -+ else -+ { -+ styleObjectAuto = KoGenStyle( KoGenStyle::STYLE_GRAPHICAUTO, "graphic" ); -+ } -+ fillStyle( styleObjectAuto, mainStyles ); -+ if ( sc.onMaster ) -+ { -+ return mainStyles.lookup( styleObjectAuto, "pr" ); -+ } -+ return mainStyles.lookup( styleObjectAuto, "gr" ); -+} -+ -+void KPObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& /* mainStyles */ ) const -+{ -+ kdDebug(33001) << "KPObject::fillStyle" << endl; -+ saveOasisObjectProtectStyle( styleObjectAuto ); -+ saveOasisShadowElement( styleObjectAuto ); -+} -+ -+bool KPObject::saveOasisObjectAttributes( KPOasisSaveContext &/* sc */ ) const -+{ -+ kdDebug()<<"bool saveOasisObjectAttributes not implemented"; -+ return true; -+} -+ - bool KPObject::haveAnimation() const - { - //kdDebug()<<" effect :"<<effect<<" effect3 :"<<effect3<<" a_fileName :"<<a_fileName<<" d_fileName :"<<d_fileName<<" appearTimer :"<<appearTimer<<" disappearTimer :"<<disappearTimer<<endl; -@@ -849,6 +883,20 @@ - } - } - -+bool KPObject::saveOasisObject( KPOasisSaveContext &sc ) const -+{ -+ sc.xmlWriter.startElement( getOasisElementName() ); -+ sc.xmlWriter.addAttribute( "draw:style-name", getStyle( sc ) ); -+ saveOasisPosObject( sc.xmlWriter, sc.indexObj ); -+ if( !objectName.isEmpty()) -+ sc.xmlWriter.addAttribute( "draw:name", objectName ); -+ -+ saveOasisObjectAttributes( sc ); -+ -+ sc.xmlWriter.endElement(); -+ return true; -+} -+ - void KPObject::saveOasisShadowElement( KoGenStyle &styleobjectauto ) const - { - //FIXME default value -@@ -1628,6 +1676,99 @@ - // <draw:stroke-dash draw:name="Fine Dotted" draw:style="rect" draw:dots1="1" draw:distance="0.457cm"/> - } - -+bool KPShadowObject::saveOasisDrawPoints( const KoPointArray &points, KPOasisSaveContext &sc ) -+{ -+ QString listOfPoint; -+ int maxX=0; -+ int maxY=0; -+ KoPointArray::ConstIterator it( points.begin() ); -+ for ( ; it != points.end(); ++it ) -+ { -+ int tmpX = int( ( *it ).x() * 10000 ); -+ int tmpY = int( ( *it ).y() * 10000 ); -+ //if ( !listOfPoint.isEmpty() ) -+ listOfPoint += QString( " %1,%2" ).arg( tmpX ).arg( tmpY ); -+ //else -+ // listOfPoint = QString( "%1,%2" ).arg( tmpX ).arg( tmpY ); -+ maxX = QMAX( maxX, tmpX ); -+ maxY = QMAX( maxY, tmpY ); -+ } -+ sc.xmlWriter.addAttribute("draw:points", listOfPoint ); -+ sc.xmlWriter.addAttribute("svg:viewBox", QString( "0 0 %1 %2" ).arg( maxX ).arg( maxY ) ); -+ return true; -+} -+ -+bool KPShadowObject::loadOasisDrawPoints( KoPointArray &points, const QDomElement &element, -+ KoOasisContext & context, KPRLoadingInfo *info ) -+{ -+ QStringList ptList = QStringList::split(' ', element.attributeNS( KoXmlNS::draw, "points", QString::null)); -+ QStringList viewBox = QStringList::split( ' ', element.attributeNS( KoXmlNS::svg, "viewBox", QString::null ) ); -+ //for ( QStringList::Iterator it = viewBox.begin(); it != viewBox.end(); ++it ) -+ //{ -+ // kdDebug(33001) << "viewBox = " << *it << endl; -+ //} -+ -+ int left = 0; -+ int top = 0; -+ int right = 0; -+ int bottom = 0; -+ -+ if ( viewBox.size() == 4 ) -+ { -+ QStringList::Iterator it = viewBox.begin(); -+ left = ( *it++ ).toInt(); -+ top = ( *it++ ).toInt(); -+ right = ( *it++ ).toInt(); -+ bottom = ( *it ).toInt(); -+ //kdDebug(33001) << "left = " << left -+ // << "top = " << top -+ // << "right =" << right -+ // << "bottom =" << bottom << endl; -+ } -+ else -+ { -+ //if no viewBox is found -+ for (QStringList::Iterator it = ptList.begin(); it != ptList.end(); ++it) -+ { -+ right = QMAX( (*it).section( ',', 0, 0 ).toInt(), right ); -+ bottom = QMAX( (*it).section( ',', 1, 1 ).toInt(), bottom ); -+ } -+ } -+ -+ if ( right - left != 0 && bottom - top != 0 ) -+ { -+ double tmp_x, tmp_y; -+ unsigned int index = 0; -+ for (QStringList::Iterator it = ptList.begin(); it != ptList.end(); ++it) -+ { -+ tmp_x = double( (*it).section( ',', 0, 0 ).toInt() + left ) / ( right - left ) * ext.width(); -+ tmp_y = double( (*it).section( ',', 1, 1 ).toInt() + top ) / ( bottom - top ) * ext.height(); -+ -+ //kdDebug(33001) << "p" << index << " x: " << tmp_x << endl; -+ //kdDebug(33001) << "p" << index << " y: " << tmp_y << endl; -+ -+ points.putPoints( index, 1, tmp_x, tmp_y ); -+ ++index; -+ } -+ } -+ else -+ { -+ kdDebug(33001) << "problem in viewBox values are: " -+ << "left = " << left << ", " -+ << "top = " << top << ", " -+ << "right =" << right << ", " -+ << "bottom =" << bottom << endl; -+ } -+ return true; -+} -+ -+void KPShadowObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const -+{ -+ kdDebug(33001) << "KPShadowObject::fillStyle" << endl; -+ KPObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisStrokeElement( mainStyles, styleObjectAuto ); -+} -+ - void KPShadowObject::loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info) - { - //kdDebug()<<"void KPShadowObject::loadOasis(const QDomElement &element)**********************\n"; -@@ -1822,14 +1963,15 @@ - return fragment; - } - --QString KP2DObject::saveOasisBackgroundStyle( KoXmlWriter &xmlWriter, KoGenStyles& mainStyles, int indexObj ) const -+void KP2DObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const - { -- saveOasisPosObject( xmlWriter,indexObj ); -- KoGenStyle styleobjectauto; -- if ( sticky ) -- styleobjectauto = KoGenStyle( KPresenterDoc::STYLE_PRESENTATIONSTICKYOBJECT, "presentation" ); -- else -- styleobjectauto = KoGenStyle( KoGenStyle::STYLE_GRAPHICAUTO, "graphic" ); -+ kdDebug(33001) << "KP2DObject::fillStyle" << endl; -+ KPShadowObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisBackgroundElement( styleObjectAuto, mainStyles ); -+} -+ -+void KP2DObject::saveOasisBackgroundElement( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const -+{ - switch ( getFillType() ) - { - case FT_BRUSH: -@@ -1838,34 +1980,22 @@ - //todo FIXME when text object doesn't have a background - if( brush != QBrush() ) - { -- KoOasisStyles::saveOasisFillStyle( styleobjectauto, mainStyles, brush ); -+ KoOasisStyles::saveOasisFillStyle( styleObjectAuto, mainStyles, brush ); - } - else - { -- styleobjectauto.addProperty( "draw:fill","none" ); -+ styleObjectAuto.addProperty( "draw:fill","none" ); - } - break; - } - case FT_GRADIENT: -- styleobjectauto.addProperty( "draw:fill","gradient" ); -- styleobjectauto.addProperty( "draw:fill-gradient-name", saveOasisGradientStyle( mainStyles ) ); -+ styleObjectAuto.addProperty( "draw:fill","gradient" ); -+ styleObjectAuto.addProperty( "draw:fill-gradient-name", saveOasisGradientStyle( mainStyles ) ); - break; - } -- saveOasisObjectProtectStyle( styleobjectauto ); -- -- saveOasisStrokeElement( mainStyles, styleobjectauto ); -- saveOasisMarginElement( styleobjectauto ); -- saveOasisShadowElement( styleobjectauto ); -- saveOasisPictureElement( styleobjectauto ); -- -- if ( sticky ) -- return mainStyles.lookup( styleobjectauto, "pr" ); -- else -- return mainStyles.lookup( styleobjectauto, "gr" ); - } - - -- - QString KP2DObject::saveOasisGradientStyle( KoGenStyles& mainStyles ) const - { - KoGenStyle gradientStyle( KPresenterDoc::STYLE_GRADIENT /*no family name*/); -@@ -2170,6 +2300,56 @@ - return offset; - } - -+void KP2DObject::draw( QPainter *_painter, KoZoomHandler*_zoomHandler, -+ int pageNum, SelectionMode selectionMode, bool drawContour ) -+{ -+ double ox = orig.x(); -+ double oy = orig.y(); -+ _painter->save(); -+ -+ // Draw the shadow if any -+ if ( shadowDistance > 0 && !drawContour ) -+ { -+ _painter->save(); -+ QPen tmpPen( pen ); -+ pen.setColor( shadowColor ); -+ QBrush tmpBrush( m_brush.getBrush() ); -+ QBrush shadowBrush( tmpBrush ); -+ shadowBrush.setColor( shadowColor ); -+ m_brush.setBrush( shadowBrush ); -+ -+ if ( angle == 0 ) -+ { -+ double sx = ox; -+ double sy = oy; -+ getShadowCoords( sx, sy ); -+ -+ _painter->translate( _zoomHandler->zoomItX( sx ), _zoomHandler->zoomItY( sy ) ); -+ paint( _painter, _zoomHandler, pageNum, true, drawContour ); -+ } -+ else -+ { -+ _painter->translate( _zoomHandler->zoomItX(ox), _zoomHandler->zoomItY(oy) ); -+ rotateObjectWithShadow(_painter, _zoomHandler); -+ paint( _painter, _zoomHandler, pageNum, true, drawContour ); -+ } -+ -+ pen = tmpPen; -+ m_brush.setBrush( tmpBrush ); -+ _painter->restore(); -+ } -+ -+ _painter->translate( _zoomHandler->zoomItX(ox), _zoomHandler->zoomItY(oy) ); -+ -+ if ( angle != 0 ) -+ rotateObject(_painter,_zoomHandler); -+ paint( _painter, _zoomHandler, pageNum, false, drawContour ); -+ -+ _painter->restore(); -+ -+ KPObject::draw( _painter, _zoomHandler, pageNum, selectionMode, drawContour ); -+} -+ - void KP2DObject::flip( bool horizontal ) { - KPObject::flip( horizontal ); - -Index: kpresenter/kppolygonobject.cc -=================================================================== ---- kpresenter/kppolygonobject.cc (revision 427945) -+++ kpresenter/kppolygonobject.cc (working copy) -@@ -68,38 +68,24 @@ - return dcop; - } - --bool KPPolygonObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPPolygonObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- //FIXME me wait that it will define into oo spec -- xmlWriter.startElement( "draw:regular-polygon" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(), indexObj ) ); -- -- QString listOfPoint; -- int maxX=0; -- int maxY=0; -- KoPointArray::ConstIterator it; -- for ( it = points.begin(); it != points.end(); ++it ) { -- int tmpX = 0; -- int tmpY = 0; -- tmpX = ( int ) ( KoUnit::toMM( ( *it ).x() )*100 ); -- tmpY = ( int ) ( KoUnit::toMM( ( *it ).y() )*100 ); -- if ( !listOfPoint.isEmpty() ) -- listOfPoint += QString( " %1,%2" ).arg( tmpX ).arg( tmpY ); -- else -- listOfPoint = QString( "%1,%2" ).arg( tmpX ).arg( tmpY ); -- maxX = QMAX( maxX, tmpX ); -- maxY = QMAX( maxY, tmpY ); -+ sc.xmlWriter.addAttribute( "draw:corners", cornersValue ); -+ sc.xmlWriter.addAttribute( "draw:concave", checkConcavePolygon ? "true" : "false" ); -+ if ( checkConcavePolygon ) -+ { -+ sc.xmlWriter.addAttribute( "draw:sharpness", QString( "%1%").arg( sharpnessValue ) ); - } -- xmlWriter.addAttribute("draw:points", listOfPoint ); -- xmlWriter.addAttribute("svg:viewBox", QString( "0 0 %1 %2" ).arg( maxX ).arg( maxY ) ); - -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); - return true; - } - -+const char * KPPolygonObject::getOasisElementName() const -+{ -+ return "draw:regular-polygon"; -+} - -+ - QDomDocumentFragment KPPolygonObject::save( QDomDocument& doc, double offset ) - { - QDomDocumentFragment fragment = KP2DObject::save( doc, offset ); -@@ -133,26 +119,14 @@ - { - kdDebug()<<"void KPPolygonObject::loadOasis( const QDomElement &element )***********\n"; - KP2DObject::loadOasis( element,context, info ); -- //load point. -- QStringList ptList = QStringList::split(' ', element.attributeNS( KoXmlNS::draw, "points", QString::null)); -- -- QString pt_x, pt_y; -- double tmp_x, tmp_y; -- unsigned int index = 0; -- for (QStringList::Iterator it = ptList.begin(); it != ptList.end(); ++it) -+ cornersValue = element.attributeNS( KoXmlNS::draw, "corners", QString::null ).toInt(); -+ checkConcavePolygon = element.attributeNS( KoXmlNS::draw, "concave", QString::null ) == "true"; -+ sharpnessValue = 0; -+ if ( checkConcavePolygon ) - { -- tmp_x = (*it).section(',',0,0).toInt() / 100; -- tmp_y = (*it).section(',',1,1).toInt() / 100; -- -- pt_x.setNum(tmp_x); -- pt_x+="mm"; -- -- pt_y.setNum(tmp_y); -- pt_y+="mm"; -- -- points.putPoints( index, 1, KoUnit::parseValue(pt_x),KoUnit::parseValue(pt_y) ); -- ++index; -+ sharpnessValue = element.attributeNS( KoXmlNS::draw, "sharpness", QString::null ).remove( '%').toInt(); - } -+ drawPolygon(); - } - - double KPPolygonObject::load( const QDomElement &element ) -@@ -280,7 +254,8 @@ - - void KPPolygonObject::drawPolygon() - { -- KoRect _rect = points.boundingRect(); -+ kdDebug()<<"void KPPolygonObject::drawPolygon()***********\n"; -+ KoRect _rect( 0, 0, ext.width(), ext.height() ); - double angle = 2 * M_PI / cornersValue; - double diameter = static_cast<double>( QMAX( _rect.width(), _rect.height() ) ); - double radius = diameter * 0.5; -Index: kpresenter/kpcubicbeziercurveobject.cc -=================================================================== ---- kpresenter/kpcubicbeziercurveobject.cc (revision 427945) -+++ kpresenter/kpcubicbeziercurveobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -60,16 +61,17 @@ - return dcop; - } - --bool KPCubicBezierCurveObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPCubicBezierCurveObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- kdDebug()<<"bool KPCubicBezierCurveObject::saveOasis( KoXmlWriter &xmlWriter ) not implemented\n"; -- //saveOasisShadowElement( styleobjectauto ); -- //KPPointObject::saveOasisStrokeElement( KoGenStyles& mainStyles ); --// -- //call saveOasisStrokeElement( KoGenStyle &styleobjectauto ); -+ kdDebug()<<"bool KPCubicBezierCurveObject::saveOasis( KoXmlWriter & xmlWriter ) not implemented\n"; - return true; - } - -+const char * KPCubicBezierCurveObject::getOasisElementName() const -+{ -+ return "draw:custom-shape"; -+} -+ - void KPCubicBezierCurveObject::loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo* info ) - { - //todo -Index: kpresenter/kpquadricbeziercurveobject.h -=================================================================== ---- kpresenter/kpquadricbeziercurveobject.h (revision 427945) -+++ kpresenter/kpquadricbeziercurveobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -43,7 +44,6 @@ - virtual QString getTypeString() const { return i18n("Quadric Bezier Curve"); } - - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ); - - virtual double load( const QDomElement &element ); -@@ -53,6 +53,9 @@ - bool isClosed()const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void updatePoints( double _fx, double _fy ); - virtual KoPointArray getDrawingPoints() const; - -Index: kpresenter/autoforms/Arrows/ArrowLeftUp.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowLeftUp.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowLeftUp.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowLeftUp.atf - Name=Arrow Left/Up -+Name[cy]=Saeth i'r Chwith/i Fyny - Name[da]=Pil til venstre/op - Name[de]=Pfeil nach links/oben - Name[el]=Αριστερό/πάνω βέλος -Index: kpresenter/autoforms/Arrows/ArrowRightDown.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowRightDown.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowRightDown.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowRightDown.atf - Name=Arrow Right/Down -+Name[cy]=Saeth i'r Dde/i Lawr - Name[da]=Pil til højre/ned - Name[de]=Pfeil nach rechts/unten - Name[el]=Δεξί/κάτω βέλος -Index: kpresenter/autoforms/Arrows/ArrowDown.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowDown.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowDown.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowDown.atf - Name=Arrow Down -+Name[cy]=Saeth i Lawr - Name[da]=Pil ned - Name[de]=Pfeil nach unten - Name[el]=Κάτω βέλος -Index: kpresenter/autoforms/Arrows/ArrowRight.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowRight.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowRight.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowRight.atf - Name=Arrow Right -+Name[cy]=Saeth i'r Dde - Name[da]=Pil til højre - Name[de]=Pfeil nach rechts - Name[el]=Δεξί βέλος -Index: kpresenter/autoforms/Arrows/ArrowLeftDown.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowLeftDown.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowLeftDown.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowLeftDown.atf - Name=Arrow Left/Down -+Name[cy]=Saeth i'r Chwith/i Lawr - Name[da]=Pil til venstre/ned - Name[de]=Pfeil nach links/unten - Name[el]=Αριστερό/κάτω βέλος -Index: kpresenter/autoforms/Arrows/ArrowRightUp.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowRightUp.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowRightUp.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowRightUp.atf - Name=Arrow Right/Up -+Name[cy]=Saeth i'r Chwith/i Fyny - Name[da]=Pil til højre/op - Name[de]=Pfeil nach rechts/oben - Name[el]=Δεξί/πάνω βέλος -Index: kpresenter/autoforms/Arrows/ArrowUp.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowUp.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowUp.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowUp.atf - Name=Arrow Up -+Name[cy]=Saeth i Fyny - Name[da]=Pil op - Name[de]=Pfeil nach oben - Name[el]=Πάνω βέλος -Index: kpresenter/autoforms/Arrows/ArrowLeft.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowLeft.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowLeft.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowLeft.atf - Name=Arrow Left -+Name[cy]=Saeth i'r Chwith - Name[da]=Pil til venstre - Name[de]=Pfeil nach links - Name[el]=Αριστερό βέλος -Index: kpresenter/kpfreehandobject.cc -=================================================================== ---- kpresenter/kpfreehandobject.cc (revision 427945) -+++ kpresenter/kpfreehandobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -54,21 +55,26 @@ - return dcop; - } - --bool KPFreehandObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPFreehandObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- kdDebug()<<"bool KPFreehandObject::saveOasis( KoXmlWriter &xmlWriter ) not implemented\n"; -- xmlWriter.startElement( "draw:path" ); -- //FIXME !!!!!!!!!!!!!!!!!!!!! --//xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, mainStyles ) ); --//call saveOasisStrokeElement( KoGenStyle &styleobjectauto ); -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- //save path I don't know how to do. -- //add "svg:viewBox" add "svg:d" -- xmlWriter.endElement(); -+ kdDebug()<<"bool KPFreehandObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) not implemented\n"; - return true; - } - -+const char * KPFreehandObject::getOasisElementName() const -+{ -+ return "draw:path"; -+} -+ -+void KPFreehandObject::loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo* info ) -+{ -+ //todo -+ //we use draw:path -+ -+ //load marker -+ loadOasisMarker( context ); -+} -+ - QDomDocumentFragment KPFreehandObject::save( QDomDocument& doc,double offset ) - { - return KPPointObject::save( doc, offset ); -Index: kpresenter/kppieobject.cc -=================================================================== ---- kpresenter/kppieobject.cc (revision 427945) -+++ kpresenter/kppieobject.cc (working copy) -@@ -1,5 +1,6 @@ - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -86,40 +87,38 @@ - return fragment; - } - --bool KPPieObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPPieObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( ( ext.width() == ext.height() ) ? "draw:circle" : "draw:ellipse" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(),indexObj ) ); -- -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); - switch( pieType ) - { -- case PT_PIE: -- xmlWriter.addAttribute( "draw:kind", "section" ); -- break; -- case PT_CHORD: -- xmlWriter.addAttribute( "draw:kind", "cut" ); -- break; -- case PT_ARC: -- xmlWriter.addAttribute( "draw:kind", "arc" ); -- break; -- default: -- kdDebug()<<" type of pie not supported\n"; -+ case PT_PIE: -+ sc.xmlWriter.addAttribute( "draw:kind", "section" ); -+ break; -+ case PT_CHORD: -+ sc.xmlWriter.addAttribute( "draw:kind", "cut" ); -+ break; -+ case PT_ARC: -+ sc.xmlWriter.addAttribute( "draw:kind", "arc" ); -+ break; -+ default: -+ kdDebug() << " type of pie not supported" << endl; - } -- int startangle = 45; -- if ( p_angle != 0.0 ) -- startangle = ( ( int )p_angle )/16; -- xmlWriter.addAttribute( "draw:start-angle", startangle ); -- int endangle = endangle = ( ( int ) p_len/16 )+startangle; -- xmlWriter.addAttribute( "draw:end-angle", endangle ); - -- //we don't have a simple object -- xmlWriter.endElement(); -+ int startangle = ( (int)p_angle / 16 ); -+ sc.xmlWriter.addAttribute( "draw:start-angle", startangle ); -+ -+ int endangle = ( (int) p_len / 16 ) + startangle; -+ sc.xmlWriter.addAttribute( "draw:end-angle", endangle ); -+ - return true; - } - -+const char * KPPieObject::getOasisElementName() const -+{ -+ return ext.width() == ext.height() ? "draw:circle" : "draw:ellipse"; -+} - -+ - void KPPieObject::loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info) - { - kdDebug()<<"void KPPieObject::loadOasis(const QDomElement &element) ***************\n"; -Index: kpresenter/kpobject.h -=================================================================== ---- kpresenter/kpobject.h (revision 427945) -+++ kpresenter/kpobject.h (working copy) -@@ -136,9 +136,25 @@ - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info); - -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext &context, int indexObj ) const =0; -+ struct KPOasisSaveContext -+ { -+ KPOasisSaveContext( KoXmlWriter &_xmlWriter, KoSavingContext &_context, -+ int &_indexObj, int &_partIndexObj, bool _onMaster ) -+ : xmlWriter( _xmlWriter ) -+ , context( _context ) -+ , indexObj( _indexObj ) -+ , partIndexObj( _partIndexObj ) -+ , onMaster( _onMaster ) {}; -+ -+ KoXmlWriter &xmlWriter; -+ KoSavingContext &context; -+ int &indexObj; -+ int &partIndexObj; -+ bool onMaster; -+ }; - -- void saveOasisPosObject( KoXmlWriter &xmlWriter, int indexObj ) const; -+ virtual bool saveOasisObject( KPOasisSaveContext &sc ) const; -+ - //return true if we have a animation into object - bool saveOasisObjectStyleShowAnimation( KoXmlWriter &animation, int objectId ); - bool saveOasisObjectStyleHideAnimation( KoXmlWriter &animation, int objectId ); -@@ -297,8 +313,17 @@ - - void saveOasisObjectProtectStyle( KoGenStyle &styleobjectauto ) const; - void saveOasisShadowElement( KoGenStyle &styleobjectauto ) const; -- virtual void saveOasisPictureElement( KoGenStyle& /*styleobjectauto*/ ) const {}; - -+ QString getStyle( KPOasisSaveContext &sc ) const; -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ /** -+ * Get the element name for saving the object -+ */ -+ virtual const char * getOasisElementName() const = 0; -+ //virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const = 0; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ virtual void saveOasisPosObject( KoXmlWriter &xmlWriter, int indexObj ) const; -+ - float angle; - KoPoint orig; - KoSize ext; -@@ -378,6 +403,19 @@ - - protected: - /** -+ * Helper method for saving draw:points. The svg:viewBox is also saved. -+ */ -+ static bool saveOasisDrawPoints( const KoPointArray &points, KPOasisSaveContext &sc ); -+ -+ /** -+ * Helper method for loading draw:points. The svg:viewBox is taken into account. -+ */ -+ bool loadOasisDrawPoints( KoPointArray &points, const QDomElement &element, -+ KoOasisContext & context, KPRLoadingInfo *info ); -+ -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ -+ /** - * @ref save() only saves if the pen is different from the default pen. - * The default pen can vary depending on the subclass of KPShadowObject - * (e.g. it's a black solidline for lines and rects, but it's NoPen -@@ -445,14 +483,16 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info); -+ virtual void draw( QPainter *_painter, KoZoomHandler*_zoomHandler, -+ int pageNum, SelectionMode selectionMode, bool drawContour = FALSE ); - - virtual void flip(bool horizontal ); - - protected: - QString saveOasisGradientStyle( KoGenStyles& mainStyles ) const; -- QString saveOasisBackgroundStyle( KoXmlWriter &xmlWriter, KoGenStyles& mainStyles, int indexObj ) const; - -- virtual void saveOasisMarginElement( KoGenStyle& /*styleobjectauto*/ ) const { /* nothing just used into kptextobject*/}; -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ void saveOasisBackgroundElement( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; - - KPrBrush m_brush; - KPGradient *gradient; -Index: kpresenter/kptextobject.h -=================================================================== ---- kpresenter/kptextobject.h (revision 427945) -+++ kpresenter/kptextobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -81,7 +82,6 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext& context, KPRLoadingInfo *info); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - virtual void saveOasisMarginElement( KoGenStyle &styleobjectauto ) const; - - virtual void paint( QPainter *_painter, KoZoomHandler*_zoomHandler, -@@ -180,9 +180,14 @@ - void slotAfterFormatting( int, KoTextParag*, bool* ); - void slotParagraphDeleted(KoTextParag*_parag); - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual QDomElement saveKTextObject( QDomDocument& doc ); - QDomElement saveHelper(const QString &tmpText,KoTextFormat*lastFormat ,QDomDocument &doc); - -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ - virtual void loadKTextObject( const QDomElement &e ); - void drawText( QPainter* _painter, KoZoomHandler* zoomHandler, bool onlyChanged, KoTextCursor* cursor, bool resetChanged ); - void drawParags( QPainter *p, KoZoomHandler* zoomHandler, const QColorGroup& cg, int from, int to ); -Index: kpresenter/kppolygonobject.h -=================================================================== ---- kpresenter/kppolygonobject.h (revision 427945) -+++ kpresenter/kppolygonobject.h (working copy) -@@ -59,7 +59,6 @@ - int getSharpnessValue() const { return sharpnessValue; } - - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual double load( const QDomElement &element ); - virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ); -@@ -69,6 +68,9 @@ - virtual KoPoint getRealOrig() const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void paint( QPainter *_painter,KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour ); - -Index: kpresenter/kpgroupobject.cc -=================================================================== ---- kpresenter/kpgroupobject.cc (revision 427945) -+++ kpresenter/kpgroupobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -132,24 +133,23 @@ - } - - --bool KPGroupObject::saveOasis(KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj) const -+bool KPGroupObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:g" ); -- - QPtrListIterator<KPObject> it( objects ); - for ( ; it.current() ; ++it ) - { --#if 0 -- if ( it.current()->getType() == OT_PART ) -- continue; --#endif -- it.current()->saveOasis( xmlWriter, context, indexObj ); -+ //TODO what to do with parts? -+ it.current()->saveOasisObject( sc ); - } -- xmlWriter.endElement(); - return true; - } - -+const char * KPGroupObject::getOasisElementName() const -+{ -+ return "draw:g"; -+} - -+ - void KPGroupObject::loadOasisGroupObject( KPresenterDoc *_doc, KPrPage * newpage, QDomNode &element, KoOasisContext & context, KPRLoadingInfo *info) - { - //KPObject::loadOasis( element, context, info ); -Index: kpresenter/kprectobject.cc -=================================================================== ---- kpresenter/kprectobject.cc (revision 427945) -+++ kpresenter/kprectobject.cc (working copy) -@@ -76,18 +76,19 @@ - return fragment; - } - --bool KPRectObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPRectObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:rect" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(), indexObj ) ); -- -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); -+ // TODO corner-radius - return true; - } - - -+const char * KPRectObject::getOasisElementName() const -+{ -+ return "draw:rect"; -+} -+ -+ - void KPRectObject::loadOasis(const QDomElement &element, KoOasisContext&context, KPRLoadingInfo *info) - { - KP2DObject::loadOasis(element, context, info); -Index: kpresenter/kpellipseobject.cc -=================================================================== ---- kpresenter/kpellipseobject.cc (revision 427945) -+++ kpresenter/kpellipseobject.cc (working copy) -@@ -116,14 +116,14 @@ - return size; - } - --bool KPEllipseObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPEllipseObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( ( ext.width() == ext.height() ) ? "draw:circle" : "draw:ellipse" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(), indexObj ) ); -- -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); -+ // nothing to do - return true; - } - -+const char * KPEllipseObject::getOasisElementName() const -+{ -+ return ext.width() == ext.height() ? "draw:circle" : "draw:ellipse"; -+} -+ -Index: kpresenter/kppolylineobject.h -=================================================================== ---- kpresenter/kppolylineobject.h (revision 427945) -+++ kpresenter/kppolylineobject.h (working copy) -@@ -47,8 +47,10 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load( const QDomElement &element ); - virtual void loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - -+protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; - }; - - #endif -Index: kpresenter/kpclosedlineobject.cc -=================================================================== ---- kpresenter/kpclosedlineobject.cc (revision 427945) -+++ kpresenter/kpclosedlineobject.cc (working copy) -@@ -90,36 +90,18 @@ - return fragment; - } - --bool KPClosedLineObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPClosedLineObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:polygon" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(), indexObj ) ); -- -- QString listOfPoint; -- int maxX=0; -- int maxY=0; -- KoPointArray::ConstIterator it; -- for ( it = points.begin(); it != points.end(); ++it ) { -- int tmpX = 0; -- int tmpY = 0; -- tmpX = ( int ) ( KoUnit::toMM( ( *it ).x() )*100 ); -- tmpY = ( int ) ( KoUnit::toMM( ( *it ).y() )*100 ); -- if ( !listOfPoint.isEmpty() ) -- listOfPoint += QString( " %1,%2" ).arg( tmpX ).arg( tmpY ); -- else -- listOfPoint = QString( "%1,%2" ).arg( tmpX ).arg( tmpY ); -- maxX = QMAX( maxX, tmpX ); -- maxY = QMAX( maxY, tmpY ); -- } -- xmlWriter.addAttribute("draw:points", listOfPoint ); -- xmlWriter.addAttribute("svg:viewBox", QString( "0 0 %1 %2" ).arg( maxX ).arg( maxY ) ); -- -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); -+ KPShadowObject::saveOasisDrawPoints( points, sc ); - return true; - } - -+const char * KPClosedLineObject::getOasisElementName() const -+{ -+ return "draw:polygon"; -+} -+ -+ - double KPClosedLineObject::load( const QDomElement &element ) - { - double offset = KP2DObject::load( element ); -@@ -269,26 +251,7 @@ - { - kdDebug()<<"void KPClosedLineObject::loadOasis( const QDomElement &element )***********\n"; - KP2DObject::loadOasis( element,context, info ); -- //load point. -- QStringList ptList = QStringList::split(' ', element.attributeNS( KoXmlNS::draw, "points", QString::null)); -- -- QString pt_x, pt_y; -- double tmp_x, tmp_y; -- unsigned int index = 0; -- for (QStringList::Iterator it = ptList.begin(); it != ptList.end(); ++it) -- { -- tmp_x = (*it).section(',',0,0).toInt() / 100; -- tmp_y = (*it).section(',',1,1).toInt() / 100; -- -- pt_x.setNum(tmp_x); -- pt_x+="mm"; -- -- pt_y.setNum(tmp_y); -- pt_y+="mm"; -- -- points.putPoints( index, 1, KoUnit::parseValue(pt_x),KoUnit::parseValue(pt_y) ); -- ++index; -- } -+ KPShadowObject::loadOasisDrawPoints( points, element, context, info ); - } - - KoSize KPClosedLineObject::getRealSize() const { -Index: kpresenter/kpclosedlineobject.h -=================================================================== ---- kpresenter/kpclosedlineobject.h (revision 427945) -+++ kpresenter/kpclosedlineobject.h (working copy) -@@ -53,13 +53,14 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load( const QDomElement &element ); - virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual void flip(bool horizontal ); - virtual KoSize getRealSize() const; - virtual KoPoint getRealOrig() const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; - virtual void paint( QPainter *_painter,KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour ); - -Index: kpresenter/kpresenter_doc.cc -=================================================================== ---- kpresenter/kpresenter_doc.cc (revision 427945) -+++ kpresenter/kpresenter_doc.cc (working copy) -@@ -1770,33 +1770,35 @@ - else - newpage->appendObject(kppixmapobject); - } -- -- QDomNode object = KoDom::namedItemNS( o, KoXmlNS::draw, "object" ); -- kdDebug()<<" object:"<<object.isNull()<<endl; -- if ( !object.isNull() ) -- { -- fillStyleStack( o, context ); -- KPresenterChild *ch = new KPresenterChild( this ); -- QRect r; -- KPPartObject *kppartobject = new KPPartObject( ch ); -- kppartobject->loadOasis( o, context, m_loadingInfo ); -- r = ch->geometry(); -- if ( groupObject ) -- groupObject->addObjects( kppartobject ); -- else -- newpage->appendObject(kppartobject); -- insertChild( ch ); -- kppartobject->setOrig( r.x(), r.y() ); -- kppartobject->setSize( r.width(), r.height() ); -- } - else - { -- KPTextObject *kptextobject = new KPTextObject( this ); -- kptextobject->loadOasis(o, context, m_loadingInfo); -- if ( groupObject ) -- groupObject->addObjects( kptextobject ); -+ QDomNode object = KoDom::namedItemNS( o, KoXmlNS::draw, "object" ); -+ kdDebug()<<" object:"<<object.isNull()<<endl; -+ if ( !object.isNull() ) -+ { -+ fillStyleStack( o, context ); -+ KPresenterChild *ch = new KPresenterChild( this ); -+ QRect r; -+ KPPartObject *kppartobject = new KPPartObject( ch ); -+ kppartobject->loadOasis( o, context, m_loadingInfo ); -+ r = ch->geometry(); -+ if ( groupObject ) -+ groupObject->addObjects( kppartobject ); -+ else -+ newpage->appendObject(kppartobject); -+ insertChild( ch ); -+ kppartobject->setOrig( r.x(), r.y() ); -+ kppartobject->setSize( r.width(), r.height() ); -+ } - else -- newpage->appendObject(kptextobject); -+ { -+ KPTextObject *kptextobject = new KPTextObject( this ); -+ kptextobject->loadOasis(o, context, m_loadingInfo); -+ if ( groupObject ) -+ groupObject->addObjects( kptextobject ); -+ else -+ newpage->appendObject(kptextobject); -+ } - } - } - else if ( name == "rect" && isDrawNS) // rectangle -@@ -1836,7 +1838,10 @@ - fillStyleStack( o, context ); - KPLineObject *kplineobject = new KPLineObject(); - kplineobject->loadOasis(o, context, m_loadingInfo); -- newpage->appendObject(kplineobject); -+ if ( groupObject ) -+ groupObject->addObjects( kplineobject ); -+ else -+ newpage->appendObject( kplineobject ); - } - else if (name=="polyline" && isDrawNS) { // polyline - fillStyleStack( o, context ); -Index: kpresenter/kppixmapobject.cc -=================================================================== ---- kpresenter/kppixmapobject.cc (revision 427945) -+++ kpresenter/kppixmapobject.cc (working copy) -@@ -2,6 +2,7 @@ - - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -101,7 +102,7 @@ - return QString::number( val )+"%"; - } - --void KPPixmapObject::saveOasisPictureElement( KoGenStyle &styleobjectauto ) -+void KPPixmapObject::saveOasisPictureElement( KoGenStyle &styleobjectauto ) const - { - - if ( bright != 0 ) -@@ -201,26 +202,24 @@ - } - } - -- --bool KPPixmapObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPPixmapObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:frame" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(),indexObj ) ); -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -+ sc.xmlWriter.startElement( "draw:image" ); -+ sc.xmlWriter.addAttribute( "xlink:type", "simple" ); -+ sc.xmlWriter.addAttribute( "xlink:show", "embed" ); -+ sc.xmlWriter.addAttribute( "xlink:actuate", "onLoad" ); -+ sc.xmlWriter.addAttribute( "xlink:href", imageCollection->getOasisFileName( image ) ); -+ sc.xmlWriter.endElement(); - -- xmlWriter.startElement( "draw:image" ); -- xmlWriter.addAttribute( "xlink:type", "simple" ); -- xmlWriter.addAttribute( "xlink:show", "embed" ); -- xmlWriter.addAttribute( "xlink:actuate", "onLoad" ); -- xmlWriter.addAttribute( "xlink:href", imageCollection->getOasisFileName(image) ); -- xmlWriter.endElement(); -- -- xmlWriter.endElement(); - return true; - } - -+const char * KPPixmapObject::getOasisElementName() const -+{ -+ return "draw:frame"; -+} - -+ - // Deprecated, same as KPPixmapObject::loadPicture - void KPPixmapObject::loadImage( const QString & fileName ) - { -@@ -339,6 +338,12 @@ - - } - -+void KPPixmapObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const -+{ -+ KP2DObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisPictureElement( styleObjectAuto ); -+} -+ - void KPPixmapObject::loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info) - { - //load it into kpresenter_doc -Index: kpresenter/kpautoformobject.h -=================================================================== ---- kpresenter/kpautoformobject.h (revision 427945) -+++ kpresenter/kpautoformobject.h (working copy) -@@ -63,10 +63,12 @@ - { return lineEnd; } - - virtual QDomDocumentFragment save( QDomDocument& doc,double offset ); -- virtual bool saveOasis( KoXmlWriter & xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual double load(const QDomElement &element); - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void paint( QPainter *_painter, KoZoomHandler *_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour = FALSE ); - -Index: kpresenter/kppartobject.cc -=================================================================== ---- kpresenter/kppartobject.cc (revision 427945) -+++ kpresenter/kppartobject.cc (working copy) -@@ -63,39 +63,25 @@ - zh->zoomItY( getOrig().y() + getSize().height() / 2 ) ) ); - } - --bool KPPartObject::saveOasisPart( KoXmlWriter &xmlWriter, KoStore *store, KoSavingContext& context, int indexObj, int partIndexObj, KoXmlWriter* manifestWriter ) const -+bool KPPartObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- kdDebug() << "KPPartObject::saveOasisPart " << partIndexObj << endl; -- xmlWriter.startElement( "draw:frame" ); -- // saveOasisBackgroundStyle also saves draw:id, x,y,width and height.... -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(),indexObj ) ); -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -+ kdDebug() << "KPPartObject::saveOasisPart " << sc.partIndexObj << endl; - --#if 0 // geometry was already saved, this isn't needed -- // geometry is no zoom value ! -- QRect _rect = child->geometry(); -- KoZoomHandler* zh = child->parent()->zoomHandler(); -- double tmpX = zh->unzoomItX( _rect.x() ); -- double tmpY = zh->unzoomItY( _rect.y() ); -- double tmpWidth = zh->unzoomItX( _rect.width() ); -- double tmpHeight = zh->unzoomItY( _rect.height() ); -- //child->setGeometry( QRect( tmpX, tmpY, tmpWidth, tmpHeight ) ); // ## why? -- xmlWriter.addAttributePt( "svg:width", tmpWidth ); -- xmlWriter.addAttributePt( "svg:height", tmpHeight ); -- xmlWriter.addAttributePt( "svg:x", tmpX ); -- xmlWriter.addAttributePt( "svg:y", tmpY ); --#endif -+ sc.xmlWriter.startElement( "draw:object" ); -+ const QString name = QString( "Object_%1" ).arg( sc.partIndexObj + 1 ); -+ ++sc.partIndexObj; -+ child->saveOasisAttributes( sc.xmlWriter, name ); - -- xmlWriter.startElement( "draw:object" ); -- const QString name = QString( "Object_%1" ).arg( partIndexObj+1 ); -- child->saveOasisAttributes( xmlWriter, name ); -- -- xmlWriter.endElement(); // draw:object -- xmlWriter.endElement(); // draw:frame -+ sc.xmlWriter.endElement(); - return true; - } - -+const char * KPPartObject::getOasisElementName() const -+{ -+ return "draw:frame"; -+} -+ -+ - void KPPartObject::loadOasis(const QDomElement &element, KoOasisContext&context, KPRLoadingInfo *info) - { - kdDebug()<<"void KPPartObject::loadOasis(const QDomElement &element)******************\n"; -Index: kpresenter/kprpage.cc -=================================================================== ---- kpresenter/kprpage.cc (revision 427945) -+++ kpresenter/kprpage.cc (working copy) -@@ -131,6 +131,8 @@ - - void KPrPage::saveOasisObject( KoStore *store, KoXmlWriter &xmlWriter, KoSavingContext& context, int & indexObj, int &partIndexObj, KoXmlWriter* manifestWriter, bool stickyObj ) const - { -+ KPObject::KPOasisSaveContext sc( xmlWriter, context, indexObj, partIndexObj, isMasterPage() ); -+ - KTempFile animationTmpFile; - animationTmpFile.setAutoDelete( true ); - QFile* tmpFile = animationTmpFile.file(); -@@ -139,17 +141,10 @@ - QPtrListIterator<KPObject> it( m_objectList ); - for ( ; it.current() ; ++it ) - { -- if ( it.current()->getType() == OT_PART ) -- { -- static_cast<KPPartObject*>( it.current() )->saveOasisPart( xmlWriter, store, context, indexObj, partIndexObj, manifestWriter); -- ++partIndexObj; -- } -- else -- { -- if ( it.current()== m_doc->header() || it.current()== m_doc->footer()) -- continue; -- it.current()->saveOasis( xmlWriter, context, indexObj ); -- } -+ if ( it.current()== m_doc->header() || it.current()== m_doc->footer()) -+ continue; -+ it.current()->saveOasisObject( sc ); -+ - if ( !stickyObj && it.current()->haveAnimation() ) - { - kdDebug()<<" it.current()->haveAnimation() \n"; -Index: kpresenter/kptextobject.cc -=================================================================== ---- kpresenter/kptextobject.cc (revision 427945) -+++ kpresenter/kptextobject.cc (working copy) -@@ -212,22 +212,19 @@ - return fragment; - } - --bool KPTextObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPTextObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:frame" ); -- // #### This should use KoGenStyle to share the style -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(), indexObj ) ); -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- -- xmlWriter.startElement( "draw:text-box" ); -- m_textobj->saveOasisContent( xmlWriter, context ); -- xmlWriter.endElement(); -- -- xmlWriter.endElement(); -+ sc.xmlWriter.startElement( "draw:text-box" ); -+ m_textobj->saveOasisContent( sc.xmlWriter, sc.context ); -+ sc.xmlWriter.endElement(); - return true; - } - -+const char * KPTextObject::getOasisElementName() const -+{ -+ return "draw:frame"; -+} -+ - void KPTextObject::saveOasisMarginElement( KoGenStyle &styleobjectauto ) const - { - kdDebug()<<"void KPTextObject::saveOasisMarginElement( KoGenStyle &styleobjectauto )\n"; -@@ -673,6 +670,12 @@ - return element; - } - -+void KPTextObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const -+{ -+ KP2DObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisMarginElement( styleObjectAuto ); -+} -+ - void KPTextObject::loadKTextObject( const QDomElement &elem ) - { - QDomElement e = elem.firstChild().toElement(); -Index: kpresenter/kplineobject.cc -=================================================================== ---- kpresenter/kplineobject.cc (revision 427945) -+++ kpresenter/kplineobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -64,21 +65,23 @@ - } - - --QString KPLineObject::saveOasisStrokeElement( KoGenStyles& mainStyles ) const -+void KPLineObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const - { -- KoGenStyle styleobjectauto( KoGenStyle::STYLE_GRAPHICAUTO, "graphic" ); -- saveOasisMarkerElement( mainStyles, styleobjectauto ); -- KPShadowObject::saveOasisStrokeElement( mainStyles, styleobjectauto ); -- saveOasisShadowElement( styleobjectauto ); -- saveOasisObjectProtectStyle( styleobjectauto ); -- return mainStyles.lookup( styleobjectauto, "gr" ); -+ KPShadowObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisMarkerElement( mainStyles, styleObjectAuto ); - } - --bool KPLineObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+ -+bool KPLineObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:line" ); -- xmlWriter.addAttribute( "draw:style-name", saveOasisStrokeElement( context.mainStyles() ) ); -+ // nothing to do -+ return true; -+} - -+void KPLineObject::saveOasisPosObject( KoXmlWriter &xmlWriter, int indexObj ) const -+{ -+ xmlWriter.addAttribute( "draw:id", "object" + QString::number( indexObj ) ); -+ - float x1 = orig.x(); - float y1 = orig.y(); - float x2 = x1 + ext.width(); -@@ -102,17 +105,24 @@ - break; - } - -+ //save all into pt -+ xmlWriter.addAttributePt( "svg:x1", x1 ); - xmlWriter.addAttributePt( "svg:y1", y1 ); -+ xmlWriter.addAttributePt( "svg:x2", x2 ); - xmlWriter.addAttributePt( "svg:y2", y2 ); -- xmlWriter.addAttributePt( "svg:x1", x1 ); -- xmlWriter.addAttributePt( "svg:x2", x2 ); - -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); -- return true; -+ if ( kAbs( angle ) > 1E-6 ) -+ { -+ double value = -1 * ( ( double )angle* M_PI )/180.0; -+ QString str=QString( "rotate (%1)" ).arg( value ); -+ xmlWriter.addAttribute( "draw:transform", str ); -+ } - } - -+const char * KPLineObject::getOasisElementName() const -+{ -+ return "draw:line"; -+} - - QDomDocumentFragment KPLineObject::save( QDomDocument& doc, double offset ) - { -@@ -163,10 +173,10 @@ - - kdDebug()<<"KPLineObject::loadOasis(const QDomElement &element) : real position x :"<<orig.x()<<" y "<<orig.y()<< " width :"<<ext.width()<<" height :"<<ext.height()<<endl; - -- QString attr = (x1 < x2) ? "marker-start" : "marker-end"; -+ QString attr = (x1 <= x2) ? "marker-start" : "marker-end"; - loadOasisMarkerElement( context, attr, lineBegin ); - -- attr = (x1 < x2) ? "marker-end" : "marker-start"; -+ attr = (x1 <= x2) ? "marker-end" : "marker-start"; - loadOasisMarkerElement( context, attr, lineEnd ); - } - -Index: kpresenter/kppolylineobject.cc -=================================================================== ---- kpresenter/kppolylineobject.cc (revision 427945) -+++ kpresenter/kppolylineobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -29,6 +30,7 @@ - #include <kdebug.h> - #include <kozoomhandler.h> - #include <kooasiscontext.h> -+#include <koUnit.h> - - #include <math.h> - using namespace std; -@@ -68,22 +70,22 @@ - return KPPointObject::load( element ); - } - --bool KPPolylineObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPPolylineObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:polyline" ); -- saveOasisPosObject(xmlWriter, indexObj ); -- xmlWriter.addAttribute( "draw:style-name", saveOasisStrokeElement( context.mainStyles() ) ); -- -- KPPointObject::saveOasis( xmlWriter, context ); -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); -+ KPShadowObject::saveOasisDrawPoints( points, sc ); - return true; - } - -+const char * KPPolylineObject::getOasisElementName() const -+{ -+ return "draw:polyline"; -+} - -+ - void KPPolylineObject::loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info) - { - kdDebug()<<"void KPPolylineObject::loadOasis(const QDomElement &element)************\n"; -- KPPointObject::loadOasis( element,context, info ); -+ KPShadowObject::loadOasis( element, context, info ); -+ KPShadowObject::loadOasisDrawPoints( points, element, context, info ); -+ loadOasisMarker( context ); - } -Index: kpresenter/kpquadricbeziercurveobject.cc -=================================================================== ---- kpresenter/kpquadricbeziercurveobject.cc (revision 427945) -+++ kpresenter/kpquadricbeziercurveobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -60,16 +61,18 @@ - return *this; - } - --bool KPQuadricBezierCurveObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPQuadricBezierCurveObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- kdDebug()<<"bool KPQuadricBezierCurveObject::saveOasis( KoXmlWriter &xmlWriter ) not implemented\n"; -- //todo -- // call saveOasisShadowElement( styleobjectauto ); -- // call saveOasisStrokeElement( KoGenStyle &styleobjectauto ); -- //call xmlWriter.addAttribute( "draw:style-name", style ); -+ kdDebug()<<"bool KPQuadricBezierCurveObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) not implemented\n"; - return true; - } - -+const char * KPQuadricBezierCurveObject::getOasisElementName() const -+{ -+ // use draw:path ? -+ return "draw:custom-shape"; -+} -+ - void KPQuadricBezierCurveObject::loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ) - { - //todo -Index: kspread/dialogs/kspread_dlg_database.cc -=================================================================== ---- kspread/dialogs/kspread_dlg_database.cc (revision 427945) -+++ kspread/dialogs/kspread_dlg_database.cc (working copy) -@@ -600,8 +600,8 @@ - // An update command must also be followed by a space, or it would be parsed - // as an identifier. - // For sanity, also check that there is a SELECT -- QRegExp couldModifyDB( "(^|[( \s])(UPDATE|DELETE|INSERT|CREATE) ", false /* cs */ ); -- QRegExp couldQueryDB( "(^|[( \s])(SELECT) ", false /* cs */ ); -+ QRegExp couldModifyDB( "(^|[( \\s])(UPDATE|DELETE|INSERT|CREATE) ", false /* cs */ ); -+ QRegExp couldQueryDB( "(^|[( \\s])(SELECT) ", false /* cs */ ); - - if (couldModifyDB.search( queryStr ) != -1 || couldQueryDB.search ( queryStr ) == -1 ) - { -Index: kspread/CHANGES -=================================================================== ---- kspread/CHANGES (revision 427945) -+++ kspread/CHANGES (working copy) -@@ -1,5 +1,9 @@ -+since 1.4.0 -+=========== -+- Fix potential crash when rendering obscured cells (#108659) -+ - since 1.4-beta1 --============================= -+=============== - - Use General/Blank Worksheet as default template. - - KSpread crashes on exit if there is a chart in the sheet (#101915). - - The data editor is disabled for charts which has been loaded. -Index: kspread/kspreadpart.desktop -=================================================================== ---- kspread/kspreadpart.desktop (revision 427945) -+++ kspread/kspreadpart.desktop (working copy) -@@ -19,6 +19,7 @@ - Name[pt]=Componente de Folha de Cálculo do KOffice - Name[pt_BR]=Componente de Planilha de Cálculo do KOffice - Name[ru]=Компонент электронных таблиц KOffice -+Name[sl]=Komponenta za preglednice za KOffice - Name[sr]=KOffice-ова компонента за унакрсне табеле - Name[sr@Latn]=KOffice-ova komponenta za unakrsne tabele - Name[sv]=Koffice-kalkylarkskomponent -Index: kspread/kspread_cell.cc -=================================================================== ---- kspread/kspread_cell.cc (revision 427945) -+++ kspread/kspread_cell.cc (working copy) -@@ -825,7 +825,12 @@ - if (!d->hasExtra()) - return (KSpreadCell *) this; - -- return d->extra()->obscuringCells.first(); -+ else if (d->extra()->obscuringCells.isEmpty()) -+ return (KSpreadCell *) this; -+ -+ else -+ return d->extra()->obscuringCells.first(); -+ - #if 0 - QValueList<KSpreadCell*>::const_iterator it = d->extra()->obscuringCells.begin(); - QValueList<KSpreadCell*>::const_iterator end = d->extra()->obscuringCells.end(); -@@ -2489,6 +2494,7 @@ - // If the cell towards the top is part of a merged cell, get - // the pointer to the master cell. - cellUp = cellUp->ultimateObscuringCell(); -+ - topPen = cellUp->effBottomBorderPen( cellUp->column(), - cellUp->row() ); - -Index: templates/SpreadSheet.desktop -=================================================================== ---- templates/SpreadSheet.desktop (revision 427945) -+++ templates/SpreadSheet.desktop (working copy) -@@ -23,7 +23,7 @@ - Name[pl]=Arkusz kalkulacyjny... - Name[pt]=Documento de Folha de Cálculo... - Name[pt_BR]=Planilha de Cálculo... --Name[ru]=Электронная таблица... -+Name[ru]=Электронную таблицу... - Name[se]=Rehkenastinárka ... - Name[sl]=Preglednični dokument ... - Name[sr]=Документ са прорачунским листовима... -@@ -54,6 +54,7 @@ - Comment[fa]=KSpread سند جدید: - Comment[fi]=Uusi KSpread-asiakirja: - Comment[fr]=Nouveau document KSpread : -+Comment[ga]=Cáipéis nua KSpread: - Comment[he]=מסמך חדש של KSpread - Comment[hr]=Novi KSpread dokument: - Comment[hu]=Új KSpread-dokumentum: -@@ -67,7 +68,7 @@ - Comment[pl]=Nowy arkusz KSpread: - Comment[pt]=Novo documento do KSpread: - Comment[pt_BR]=Novo documento KSpread: --Comment[ru]=Новый документ KSpread: -+Comment[ru]=Новая электронная таблица KSpread: - Comment[se]=Ođđa KSpread-dokumeanta: - Comment[sk]=Nový dokument KSpread: - Comment[sl]=Nov dokument za KSpread -Index: templates/Illustration.desktop -=================================================================== ---- templates/Illustration.desktop (revision 427945) -+++ templates/Illustration.desktop (working copy) -@@ -22,7 +22,7 @@ - Name[pl]=Rysunek... - Name[pt]=Documento de Ilustração.... - Name[pt_BR]=Documento de Ilustração... --Name[ru]=Иллюстрированный документ... -+Name[ru]=Векторный рисунок... - Name[se]=Illustrašuvdna ... - Name[sl]=Ilustracijski dokument ... - Name[sr]=Илустрациони документ... -@@ -49,6 +49,7 @@ - Comment[fa]=Karbon14 سند جدید: - Comment[fi]=Uusi Karbon14-asiakirja: - Comment[fr]=Nouveau document Karbon14 : -+Comment[ga]=Cáipéis nua Karbon14: - Comment[he]=מסמך Karbon14 חדש - Comment[hr]=Novi Karbon14 dokument: - Comment[hu]=Új Karbon14-dokumentum: -@@ -59,7 +60,7 @@ - Comment[pl]=Nowy dokument Karbon14: - Comment[pt]=Novo documento do Karbon14: - Comment[pt_BR]=Novo documento do Karbon14 --Comment[ru]=Новый документ Karbon14: -+Comment[ru]=Новый рисунок Karbon14: - Comment[se]=Ođđa Karbon14-dokumeanta: - Comment[sk]=Nový dokument Karbon14: - Comment[sl]=Nov dokument za Karbon14 -Index: templates/Presentation.desktop -=================================================================== ---- templates/Presentation.desktop (revision 427945) -+++ templates/Presentation.desktop (working copy) -@@ -23,7 +23,7 @@ - Name[pl]=Prezentacja... - Name[pt]=Documento de Apresentação... - Name[pt_BR]=Apresentação de Slides... --Name[ru]=Презентация... -+Name[ru]=Презентацию... - Name[se]=Presentašuvdna ... - Name[sl]=Predstavitveni dokument ... - Name[sr]=Презентациони документ... -@@ -67,7 +67,7 @@ - Comment[pl]=Nowa prezentacja KPresenter: - Comment[pt]=Novo documento do KPresenter: - Comment[pt_BR]=Novo documento de apresentação KPresenter: --Comment[ru]=Новый документ KPresenter: -+Comment[ru]=Новая презентация KPresenter: - Comment[se]=Ođđa KPresenter-presentašuvdna: - Comment[sk]=Nový dokument KPresenter: - Comment[sl]=Nov predstavitveni dokument za KPresenter -Index: templates/TextDocument.desktop -=================================================================== ---- templates/TextDocument.desktop (revision 427945) -+++ templates/TextDocument.desktop (working copy) -@@ -13,6 +13,7 @@ - Name[et]=Tekstidokument... - Name[fi]=Tekstiasiakirja... - Name[fr]=Document texte... -+Name[ga]=Cáipéis Téacs... - Name[he]=מסמך טקסט... - Name[hr]=Tekst datoteka... - Name[hu]=KWord-dokumentum... -@@ -24,7 +25,7 @@ - Name[pl]=Dokument tekstowy... - Name[pt]=Documento de Texto... - Name[pt_BR]=Documento de Texto... --Name[ru]=Текстовый документ... -+Name[ru]=Документ... - Name[se]=Teakstadokumeanta ... - Name[sl]=Besedilni dokument ... - Name[sr]=Текстуални документ... -@@ -55,6 +56,7 @@ - Comment[fa]=KWord سند جدید برای: - Comment[fi]=Uusi KWord-asiakirja: - Comment[fr]=Nouveau document KWord : -+Comment[ga]=Cáipéis nua KWord: - Comment[he]=מסמך חדש של KWord - Comment[hr]=Novi KWord dokument - Comment[hu]=Új KWord-dokumentum: -Index: karbon/tools/vroundrecttool.h -=================================================================== ---- karbon/tools/vroundrecttool.h (revision 427945) -+++ karbon/tools/vroundrecttool.h (working copy) -@@ -29,7 +29,7 @@ - - class KarbonPart; - class QLabel; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - - class VRoundRectTool : public VShapeTool -Index: karbon/tools/vpolygontool.cc -=================================================================== ---- karbon/tools/vpolygontool.cc (revision 427945) -+++ karbon/tools/vpolygontool.cc (working copy) -@@ -37,6 +37,7 @@ - - new QLabel( i18n( "Radius:" ), group ); - m_radius = new KDoubleSpinBox(0.0, 1000.0, 0.5, 5.0,2, group ); -+ //m_radius = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 50.0, KoUnit::U_MM ); - refreshUnit(); - new QLabel( i18n( "Edges:" ), group ); - m_edges = new KIntSpinBox( group ); -Index: karbon/tools/vpolygontool.h -=================================================================== ---- karbon/tools/vpolygontool.h (revision 427945) -+++ karbon/tools/vpolygontool.h (working copy) -@@ -58,7 +58,9 @@ - void refreshUnit(); - - private: -+ // FIXME: This should be a KoUnitDoubleSpinBox! - KDoubleSpinBox *m_radius; -+ - KIntSpinBox *m_edges; - KarbonPart *m_part; - }; -Index: karbon/tools/vspiraltool.h -=================================================================== ---- karbon/tools/vspiraltool.h (revision 427945) -+++ karbon/tools/vspiraltool.h (working copy) -@@ -67,7 +67,9 @@ - void refreshUnit(); - - private: -+ // FIXME: This should be a KoUnitDoubleSpinBox! - KDoubleSpinBox *m_radius; -+ - KIntSpinBox *m_segments; - KDoubleNumInput *m_fade; - KComboBox *m_type; -Index: karbon/tools/vellipsetool.cc -=================================================================== ---- karbon/tools/vellipsetool.cc (revision 427945) -+++ karbon/tools/vellipsetool.cc (working copy) -@@ -49,8 +49,10 @@ - // add width/height-input: - new QLabel( i18n( "Width:" ), group ); - m_width = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -+ //m_width = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - new QLabel( i18n( "Height:" ), group ); - m_height = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -+ //m_height = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - - new QLabel( i18n( "Start angle:" ), group ); - m_startAngle = new KIntSpinBox( group ); -Index: karbon/tools/vellipsetool.h -=================================================================== ---- karbon/tools/vellipsetool.h (revision 427945) -+++ karbon/tools/vellipsetool.h (working copy) -@@ -25,8 +25,7 @@ - - #include "vshapetool.h" - --class KoUnitDoubleSpinBox; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KComboBox; - class KIntSpinBox; - class KarbonPart; -@@ -55,8 +54,11 @@ - KComboBox *m_type; - KIntSpinBox *m_startAngle; - KIntSpinBox *m_endAngle; -+ -+ // FIXME: These should be KoUnitDoubleSpinBoxes! - KDoubleSpinBox *m_width; - KDoubleSpinBox *m_height; -+ - KarbonPart *m_part; - }; - -Index: karbon/tools/vsinustool.cc -=================================================================== ---- karbon/tools/vsinustool.cc (revision 427945) -+++ karbon/tools/vsinustool.cc (working copy) -@@ -40,8 +40,10 @@ - // add width/height-input: - new QLabel( i18n( "Width:" ), group ); - m_width = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -+ //m_width = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - new QLabel( i18n( "Height:" ), group ); - m_height = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -+ //m_height = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - - refreshUnit(); - -Index: karbon/tools/vsinustool.h -=================================================================== ---- karbon/tools/vsinustool.h (revision 427945) -+++ karbon/tools/vsinustool.h (working copy) -@@ -24,7 +24,7 @@ - #include <knuminput.h> - #include "vshapetool.h" - --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KIntSpinBox; - class KarbonPart; - class QLabel; -@@ -58,8 +58,10 @@ - void refreshUnit(); - - private: -+ // FIXME: These should be KoUnitDoubleSpinBoxes! - KDoubleSpinBox *m_width; - KDoubleSpinBox *m_height; -+ - KIntSpinBox *m_periods; - KarbonPart *m_part; - }; -Index: karbon/tools/vrectangletool.cc -=================================================================== ---- karbon/tools/vrectangletool.cc (revision 427945) -+++ karbon/tools/vrectangletool.cc (working copy) -@@ -37,10 +37,11 @@ - // add width/height-input: - new QLabel( i18n( "Width:" ), group ); - m_width = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -+ //m_width = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - - new QLabel( i18n( "Height:" ), group ); - m_height = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -- -+ //m_height = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - refreshUnit(); - - group->setInsideMargin( 4 ); -Index: karbon/tools/vstartool.cc -=================================================================== ---- karbon/tools/vstartool.cc (revision 427945) -+++ karbon/tools/vstartool.cc (working copy) -@@ -49,10 +49,12 @@ - // add width/height-input: - new QLabel( i18n( "Outer radius:" ), group ); - m_outerR = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 5.0, 2, group ); -+ //m_outerR = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 50.0, KoUnit::U_MM ); - connect( m_outerR, SIGNAL( valueChanged( double ) ), this, SLOT( setOuterRadius( double ) ) ); - - new QLabel( i18n( "Inner radius:" ), group ); - m_innerR = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 5.0, 2, group ); -+ //m_innerR = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 25.0, KoUnit::U_MM ); - - refreshUnit(); - -Index: karbon/tools/vstartool.h -=================================================================== ---- karbon/tools/vstartool.h (revision 427945) -+++ karbon/tools/vstartool.h (working copy) -@@ -54,8 +54,10 @@ - void setOuterRadius( double ); - - private: -+ // FIXME: These should be KoUnitDoubleSpinBoxes! - KDoubleSpinBox *m_innerR; - KDoubleSpinBox *m_outerR; -+ - KDoubleNumInput *m_roundness; - KIntSpinBox *m_edges; - KIntSpinBox *m_innerAngle; -Index: karbon/tools/vspiraltool.cc -=================================================================== ---- karbon/tools/vspiraltool.cc (revision 427945) -+++ karbon/tools/vspiraltool.cc (working copy) -@@ -43,6 +43,7 @@ - - new QLabel( i18n( "Radius:" ), group ); - m_radius = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 5.0, 2, group ); -+ //m_radius = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 50.0, KoUnit::U_MM ); - refreshUnit(); - new QLabel( i18n( "Segments:" ), group ); - m_segments = new KIntSpinBox( group ); -Index: karbon/tools/vrectangletool.h -=================================================================== ---- karbon/tools/vrectangletool.h (revision 427945) -+++ karbon/tools/vrectangletool.h (working copy) -@@ -29,7 +29,7 @@ - - class KarbonPart; - class QLabel; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - class VRectangleTool : public VShapeTool - { -@@ -59,8 +59,10 @@ - void refreshUnit(); - - private: -+ // FIXME: These should be KoUnitDoubleSpinBoxes! - KDoubleSpinBox *m_width; - KDoubleSpinBox *m_height; -+ - KarbonPart *m_part; - }; - -Index: karbon/dialogs/vconfiguredlg.cc -=================================================================== ---- karbon/dialogs/vconfiguredlg.cc (revision 427945) -+++ karbon/dialogs/vconfiguredlg.cc (working copy) -@@ -317,17 +317,17 @@ - gridColorLbl->setBuddy( m_gridColorBtn ); - QGroupBox* spacingGrp = new QGroupBox( 2, Qt::Horizontal, i18n( "Spacing" ), page ); - QLabel* spaceHorizLbl = new QLabel( i18n( "&Horizontal:" ), spacingGrp ); -- m_spaceHorizUSpin = new KoUnitDoubleSpinBox( spacingGrp, 0.0, pgw, 0.1, fw, unit ); -+ m_spaceHorizUSpin = new KoBuggyUnitDoubleSpinBox( spacingGrp, 0.0, pgw, 0.1, fw, unit ); - spaceHorizLbl->setBuddy( m_spaceHorizUSpin ); - QLabel* spaceVertLbl = new QLabel( i18n( "&Vertical:" ), spacingGrp ); -- m_spaceVertUSpin = new KoUnitDoubleSpinBox( spacingGrp, 0.0, pgh, 0.1, fh, unit ); -+ m_spaceVertUSpin = new KoBuggyUnitDoubleSpinBox( spacingGrp, 0.0, pgh, 0.1, fh, unit ); - spaceVertLbl->setBuddy( m_spaceVertUSpin ); - QGroupBox* snapGrp = new QGroupBox( 2, Qt::Horizontal, i18n( "Snap Distance" ), page ); - QLabel* snapHorizLbl = new QLabel( i18n( "H&orizontal:" ), snapGrp ); -- m_snapHorizUSpin = new KoUnitDoubleSpinBox( snapGrp, 0.0, fw, 0.1, sw, unit ); -+ m_snapHorizUSpin = new KoBuggyUnitDoubleSpinBox( snapGrp, 0.0, fw, 0.1, sw, unit ); - snapHorizLbl->setBuddy( m_snapHorizUSpin ); - QLabel* snapVertLbl = new QLabel( i18n( "V&ertical:" ), snapGrp ); -- m_snapVertUSpin = new KoUnitDoubleSpinBox( snapGrp, 0.0, fh, 0.1, sh, unit ); -+ m_snapVertUSpin = new KoBuggyUnitDoubleSpinBox( snapGrp, 0.0, fh, 0.1, sh, unit ); - snapVertLbl->setBuddy( m_snapVertUSpin ); - - QGridLayout* gl = new QGridLayout(); -Index: karbon/dialogs/vconfiguredlg.h -=================================================================== ---- karbon/dialogs/vconfiguredlg.h (revision 427945) -+++ karbon/dialogs/vconfiguredlg.h (working copy) -@@ -27,7 +27,7 @@ - class KConfig; - class KIntNumInput; - class KColorButton; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class QCheckBox; - class QComboBox; - -@@ -129,10 +129,10 @@ - - private: - KarbonView* m_view; -- KoUnitDoubleSpinBox* m_spaceHorizUSpin; -- KoUnitDoubleSpinBox* m_spaceVertUSpin; -- KoUnitDoubleSpinBox* m_snapHorizUSpin; -- KoUnitDoubleSpinBox* m_snapVertUSpin; -+ KoBuggyUnitDoubleSpinBox* m_spaceHorizUSpin; -+ KoBuggyUnitDoubleSpinBox* m_spaceVertUSpin; -+ KoBuggyUnitDoubleSpinBox* m_snapHorizUSpin; -+ KoBuggyUnitDoubleSpinBox* m_snapVertUSpin; - QCheckBox* m_gridChBox; - QCheckBox* m_snapChBox; - KColorButton* m_gridColorBtn; -Index: karbon/dialogs/vstrokedlg.cc -=================================================================== ---- karbon/dialogs/vstrokedlg.cc (revision 427945) -+++ karbon/dialogs/vstrokedlg.cc (working copy) -@@ -50,7 +50,7 @@ - - QLabel* widthLabel = new QLabel( i18n ( "Width:" ), mainWidget ); - leftLayout->addWidget ( widthLabel ); -- m_setLineWidth = new KoUnitDoubleSpinBox( mainWidget, 0.0, 1000.0, 0.5, 1.0, KoUnit::U_PT, 1 ); -+ m_setLineWidth = new KoBuggyUnitDoubleSpinBox( mainWidget, 0.0, 1000.0, 0.5, 1.0, KoUnit::U_PT, 1 ); - leftLayout->addWidget ( m_setLineWidth ); - - //Dashing -> -Index: karbon/dialogs/vstrokedlg.h -=================================================================== ---- karbon/dialogs/vstrokedlg.h (revision 427945) -+++ karbon/dialogs/vstrokedlg.h (working copy) -@@ -27,7 +27,7 @@ - class QVButtonGroup; - - class KarbonPart; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class VStroke; - class VColorTab; - -@@ -41,7 +41,7 @@ - private: - VColorTab* m_colortab; - KarbonPart *m_part; -- KoUnitDoubleSpinBox *m_setLineWidth; -+ KoBuggyUnitDoubleSpinBox *m_setLineWidth; - QComboBox *m_styleCombo; - QVButtonGroup *m_typeOption; - QVButtonGroup *m_capOption; -Index: karbon/dockers/vtransformdocker.h -=================================================================== ---- karbon/dockers/vtransformdocker.h (revision 427945) -+++ karbon/dockers/vtransformdocker.h (working copy) -@@ -25,7 +25,7 @@ - - class KarbonPart; - class KarbonView; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - class VTransformDocker : public VDocker - { -@@ -43,10 +43,10 @@ - private: - KarbonPart *m_part; - KarbonView *m_view; -- KoUnitDoubleSpinBox *m_x; -- KoUnitDoubleSpinBox *m_y; -- KoUnitDoubleSpinBox *m_width; -- KoUnitDoubleSpinBox *m_height; -+ KoBuggyUnitDoubleSpinBox *m_x; -+ KoBuggyUnitDoubleSpinBox *m_y; -+ KoBuggyUnitDoubleSpinBox *m_width; -+ KoBuggyUnitDoubleSpinBox *m_height; - QWidget *mainWidget; - }; - -Index: karbon/dockers/vstrokedocker.cc -=================================================================== ---- karbon/dockers/vstrokedocker.cc (revision 427945) -+++ karbon/dockers/vstrokedocker.cc (working copy) -@@ -50,7 +50,7 @@ - - QLabel* widthLabel = new QLabel( i18n ( "Width:" ), mainWidget ); - mainLayout->addWidget( widthLabel, 0, 0 ); -- m_setLineWidth = new KoUnitDoubleSpinBox( mainWidget, 0.0, 1000.0, 0.5, 1.0, KoUnit::U_PT, 1 ); -+ m_setLineWidth = new KoBuggyUnitDoubleSpinBox( mainWidget, 0.0, 1000.0, 0.5, 1.0, KoUnit::U_PT, 1 ); - mainLayout->addWidget ( m_setLineWidth, 0, 1 ); - connect( m_setLineWidth, SIGNAL( valueChanged( double ) ), this, SLOT( widthChanged() ) ); - -Index: karbon/dockers/vstrokedocker.h -=================================================================== ---- karbon/dockers/vstrokedocker.h (revision 427945) -+++ karbon/dockers/vstrokedocker.h (working copy) -@@ -26,7 +26,7 @@ - class QHButtonGroup; - class QWidget; - --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - class KoMainWindow; - class KarbonView; -@@ -48,7 +48,7 @@ - QWidget *mainWidget; - KarbonPart *m_part; - KarbonView *m_view; -- KoUnitDoubleSpinBox *m_setLineWidth; -+ KoBuggyUnitDoubleSpinBox *m_setLineWidth; - - private slots: - void slotCapChanged( int ID ); -Index: karbon/dockers/vtransformdocker.cc -=================================================================== ---- karbon/dockers/vtransformdocker.cc (revision 427945) -+++ karbon/dockers/vtransformdocker.cc (working copy) -@@ -48,25 +48,25 @@ - //X: (TODO: Set 5000 limit to real Karbon14 limit) - QLabel* xLabel = new QLabel( i18n ( "X:" ), mainWidget ); - mainLayout->addWidget( xLabel, 1, 0 ); -- m_x = new KoUnitDoubleSpinBox( mainWidget, -5000.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); -+ m_x = new KoBuggyUnitDoubleSpinBox( mainWidget, -5000.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); - mainLayout->addWidget( m_x, 1, 1 ); - - //Y: (TODO: Set 5000 limit to real Karbon14 limit) - QLabel* yLabel = new QLabel( i18n ( "Y:" ), mainWidget ); - mainLayout->addWidget( yLabel, 2, 0 ); -- m_y = new KoUnitDoubleSpinBox( mainWidget, -5000.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); -+ m_y = new KoBuggyUnitDoubleSpinBox( mainWidget, -5000.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); - mainLayout->addWidget( m_y, 2, 1 ); - - //Width: (TODO: Set 5000 limit to real Karbon14 limit) - QLabel* wLabel = new QLabel( i18n ( "W:" ), mainWidget ); - mainLayout->addWidget( wLabel, 1, 2 ); -- m_width = new KoUnitDoubleSpinBox( mainWidget, 0.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); -+ m_width = new KoBuggyUnitDoubleSpinBox( mainWidget, 0.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); - mainLayout->addWidget( m_width, 1, 3 ); - - //Height: (TODO: Set 5000 limit to real Karbon14 limit) - QLabel* hLabel = new QLabel( i18n ( "H:" ), mainWidget ); - mainLayout->addWidget( hLabel, 2, 2 ); -- m_height = new KoUnitDoubleSpinBox( mainWidget, 0.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); -+ m_height = new KoBuggyUnitDoubleSpinBox( mainWidget, 0.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); - mainLayout->addWidget( m_height, 2, 3 ); - - //TODO: Add Rotation, Shear -Index: karbon/widgets/vselecttoolbar.cc -=================================================================== ---- karbon/widgets/vselecttoolbar.cc (revision 427945) -+++ karbon/widgets/vselecttoolbar.cc (working copy) -@@ -38,24 +38,24 @@ - setCaption( i18n( "Object Properties" ) ); - QLabel *x_label = new QLabel( i18n( "X:" ), this, "kde toolbar widget" ); - insertWidget( 0, x_label->width(), x_label ); -- m_x = new KoUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); -+ m_x = new KoBuggyUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); - connect( m_x, SIGNAL( valueChanged( double ) ), this, SLOT( slotXChanged( double ) ) ); - insertWidget( 1, m_x->width(), m_x ); - QLabel *y_label = new QLabel( i18n( "Y:" ), this, "kde toolbar widget" ); - insertWidget( 2, y_label->width(), y_label ); -- m_y = new KoUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); -+ m_y = new KoBuggyUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); - connect( m_y, SIGNAL( valueChanged( double ) ), this, SLOT( slotYChanged( double ) ) ); - insertWidget( 3, m_y->width(), m_y ); - - insertSeparator( 4 ); - QLabel *w_label = new QLabel( i18n( "Width:" ), this, "kde toolbar widget" ); - insertWidget( 5, w_label->width(), w_label ); -- m_width = new KoUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); -+ m_width = new KoBuggyUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); - connect( m_width, SIGNAL( valueChanged( double ) ), this, SLOT( slotWidthChanged( double ) ) ); - insertWidget( 6, m_width->width(), m_width ); - QLabel *h_label = new QLabel( i18n( "Height:" ), this, "kde toolbar widget" ); - insertWidget( 7, h_label->width(), h_label ); -- m_height = new KoUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); -+ m_height = new KoBuggyUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); - connect( m_height, SIGNAL( valueChanged( double ) ), this, SLOT( slotHeightChanged( double ) ) ); - insertWidget( 8, m_height->width(), m_height ); - -Index: karbon/widgets/vselecttoolbar.h -=================================================================== ---- karbon/widgets/vselecttoolbar.h (revision 427945) -+++ karbon/widgets/vselecttoolbar.h (working copy) -@@ -24,7 +24,7 @@ - - #include <ktoolbar.h> - --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KarbonView; - - class VSelectToolBar : public KToolBar -@@ -42,10 +42,10 @@ - void slotHeightChanged( double ); - - private: -- KoUnitDoubleSpinBox *m_x; -- KoUnitDoubleSpinBox *m_y; -- KoUnitDoubleSpinBox *m_width; -- KoUnitDoubleSpinBox *m_height; -+ KoBuggyUnitDoubleSpinBox *m_x; -+ KoBuggyUnitDoubleSpinBox *m_y; -+ KoBuggyUnitDoubleSpinBox *m_width; -+ KoBuggyUnitDoubleSpinBox *m_height; - KarbonView *m_view; - }; - diff --git a/editors/koffice-kde3/files/patch-1.4.0_patchset_1.diff b/editors/koffice-kde3/files/patch-1.4.0_patchset_1.diff deleted file mode 100644 index bf61a1b9ba41..000000000000 --- a/editors/koffice-kde3/files/patch-1.4.0_patchset_1.diff +++ /dev/null @@ -1,5060 +0,0 @@ -Index: kformula/kformulapart.desktop -=================================================================== ---- kformula/kformulapart.desktop (revision 427945) -+++ kformula/kformulapart.desktop (working copy) -@@ -19,6 +19,7 @@ - Name[pt]=Componente de Fórmulas do KOffice - Name[pt_BR]=Componente de Fórmulas do KOffice - Name[ru]=Компонент формул KOffice -+Name[sl]=Komponenta za enačbe za KOffice - Name[sr]=KOffice-ова компонента за формуле - Name[sr@Latn]=KOffice-ova komponenta za formule - Name[sv]=Koffice-formelkomponent -Index: servicetypes/koplugin.desktop -=================================================================== ---- servicetypes/koplugin.desktop (revision 427945) -+++ servicetypes/koplugin.desktop (working copy) -@@ -22,6 +22,7 @@ - Comment[fi]=KOffice-laajennus - Comment[fo]=KSkrivstovu-ístingur - Comment[fr]=Module externe de KOffice -+Comment[ga]=Breiseán KOffice - Comment[he]=תוסף של KOffice - Comment[hr]=KOffice dodatak - Comment[hu]=KOffice-bővítőmodul -Index: servicetypes/kofficepart.desktop -=================================================================== ---- servicetypes/kofficepart.desktop (revision 427945) -+++ servicetypes/kofficepart.desktop (working copy) -@@ -22,6 +22,7 @@ - Comment[fa]=KOffice اجزای - Comment[fi]=KOffice-komponentti - Comment[fr]=Composant KOffice -+Comment[ga]=Comhpháirt KOffice - Comment[he]=רכיב של KOffice - Comment[hr]=KOffice komponenta - Comment[hu]=KOffice-komponens -Index: servicetypes/kofilter.desktop -=================================================================== ---- servicetypes/kofilter.desktop (revision 427945) -+++ servicetypes/kofilter.desktop (working copy) -@@ -22,6 +22,7 @@ - Comment[fi]=KOffice-suodin - Comment[fo]=KSkrivstovu-filtur - Comment[fr]=Filtre KOffice -+Comment[ga]=Scagaire KOffice - Comment[he]=מסנן של KOffice - Comment[hr]=KOffice filter - Comment[hu]=KOffice-szűrő -Index: kword/kwordpart.desktop -=================================================================== ---- kword/kwordpart.desktop (revision 427945) -+++ kword/kwordpart.desktop (working copy) -@@ -20,6 +20,7 @@ - Name[pt]=Componente de Processamento de Texto do KOffice - Name[pt_BR]=Componente de Processamento de Texto do KOffice - Name[ru]=Компонент текстового редактора KOffice -+Name[sl]=Komponenta za obdelovanje besedil za KOffice - Name[sr]=KOffice-ова компонента за обраду текста - Name[sr@Latn]=KOffice-ova komponenta za obradu teksta - Name[sv]=Koffice-ordbehandlingskomponent -Index: kword/kwmailmerge.desktop -=================================================================== ---- kword/kwmailmerge.desktop (revision 427945) -+++ kword/kwmailmerge.desktop (working copy) -@@ -17,6 +17,7 @@ - Comment[et]=KWordi kirjakoosteplugin - Comment[fi]=KWord-postituslaajennus - Comment[fr]=Module fusion de courrier pour KWord -+Comment[ga]=Breiseán postchumaisc KWord - Comment[he]=תוסף מיזוג דואר ל־KWord - Comment[hr]=KWord dodatak za mailmerge - Comment[hu]=KWord körlevél-bővítőmodul -Index: kword/configfootnotedia.h -=================================================================== ---- kword/configfootnotedia.h (revision 427945) -+++ kword/configfootnotedia.h (working copy) -@@ -28,7 +28,7 @@ - class QRadioButton; - class KIntNumInput; - class QComboBox; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - class KWConfigFootNoteDia : public KDialogBase - { -@@ -47,7 +47,7 @@ - QRadioButton *rbPosCentered; - QRadioButton *rbPosRight; - KIntNumInput *spLength; -- KoUnitDoubleSpinBox *spWidth; -+ KoBuggyUnitDoubleSpinBox *spWidth; - QComboBox *m_cbLineType; - protected slots: - virtual void slotOk(); -Index: kword/kwconfig.cc -=================================================================== ---- kword/kwconfig.cc (revision 427945) -+++ kword/kwconfig.cc (working copy) -@@ -301,7 +301,7 @@ - - QHBox* hbGridX = new QHBox( gbInterfaceGroup ); - QLabel* labelGridX = new QLabel( i18n("&Horizontal grid size:"), hbGridX ); -- gridX=new KoUnitDoubleSpinBox( hbGridX, -+ gridX=new KoBuggyUnitDoubleSpinBox( hbGridX, - 0.1, - 50, - 0.1, -@@ -313,7 +313,7 @@ - - QHBox* hbGridY = new QHBox( gbInterfaceGroup ); - QLabel* labelGridY = new QLabel( i18n("&Vertical grid size:"), hbGridY ); -- gridY=new KoUnitDoubleSpinBox( hbGridY, -+ gridY=new KoBuggyUnitDoubleSpinBox( hbGridY, - 0.1, - 50, - 0.1, -@@ -326,7 +326,7 @@ - - QHBox* hbIndent = new QHBox( gbInterfaceGroup ); - QLabel* labelIdent = new QLabel( i18n("&Paragraph indent by toolbar buttons:"), hbIndent ); -- indent = new KoUnitDoubleSpinBox( hbIndent, -+ indent = new KoBuggyUnitDoubleSpinBox( hbIndent, - 0.1, - 50, - 0.1, -@@ -662,7 +662,7 @@ - - QHBox* hbColumnSpacing = new QHBox( gbDocumentDefaults ); - QLabel* columnSpacingLabel = new QLabel( i18n("Default column spacing:"), hbColumnSpacing ); -- m_columnSpacing = new KoUnitDoubleSpinBox( hbColumnSpacing, -+ m_columnSpacing = new KoBuggyUnitDoubleSpinBox( hbColumnSpacing, - 0.1, - 50, - 0.1, -@@ -764,7 +764,7 @@ - - QHBox* hbTabStop = new QHBox( gbDocumentSettings ); - tabStop = new QLabel(i18n("Tab stop (%1):").arg(doc->unitName()), hbTabStop); -- m_tabStopWidth = new KoUnitDoubleSpinBox( hbTabStop, -+ m_tabStopWidth = new KoBuggyUnitDoubleSpinBox( hbTabStop, - MM_TO_POINT(2), - doc->ptPaperWidth(), - 0.1, -Index: kword/framedia.cc -=================================================================== ---- kword/framedia.cc (revision 427945) -+++ kword/framedia.cc (working copy) -@@ -956,7 +956,7 @@ - lx->resize( lx->sizeHint() ); - pGrid->addWidget( lx, 1, 0 ); - -- sx = new KoUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); -+ sx = new KoBuggyUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); - - sx->resize( sx->sizeHint() ); - pGrid->addWidget( sx, 1, 1 ); -@@ -965,7 +965,7 @@ - ly->resize( ly->sizeHint() ); - pGrid->addWidget( ly, 1, 2 ); - -- sy = new KoUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); -+ sy = new KoBuggyUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); - sy->resize( sy->sizeHint() ); - pGrid->addWidget( sy, 1, 3 ); - -@@ -973,7 +973,7 @@ - lw->resize( lw->sizeHint() ); - pGrid->addWidget( lw, 2, 0 ); - -- sw = new KoUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); -+ sw = new KoBuggyUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); - - sw->resize( sw->sizeHint() ); - connect( sw, SIGNAL(valueChanged(double)), -@@ -985,7 +985,7 @@ - lh->resize( lh->sizeHint() ); - pGrid->addWidget( lh, 2, 2 ); - -- sh = new KoUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); -+ sh = new KoBuggyUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); - connect( sh, SIGNAL(valueChanged(double)), - this, SLOT(slotUpdateWidthForHeight(double)) ); - -@@ -1095,7 +1095,7 @@ - - f=allFrames.next(); - } -- // TODO port to KoUnitDoubleSpinBox -+ // TODO port to KoBuggyUnitDoubleSpinBox - // and TODO show a special value when frames have a different width/height - if ( sw->isEnabled() ) - sw->setValue( KoUnit::toUserValue( commonWidth, doc->unit() ) ); -@@ -2103,7 +2103,7 @@ - //lml->resize( lml->sizeHint() ); - mGrid->addWidget( lml, 2, 0 ); - -- m_inputLeft = new KoUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); -+ m_inputLeft = new KoBuggyUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); - - mGrid->addWidget( m_inputLeft, 2, 1 ); - -@@ -2111,7 +2111,7 @@ - //lmt->resize( lmt->sizeHint() ); - mGrid->addWidget( lmt, 2, 2 ); - -- m_inputTop = new /*KDoubleNumInput*/KoUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); -+ m_inputTop = new /*KDoubleNumInput*/KoBuggyUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); - - //m_inputTop->resize( m_inputTop->sizeHint() ); - -@@ -2121,7 +2121,7 @@ - //lmr->resize( lmr->sizeHint() ); - mGrid->addWidget( lmr, 3, 0 ); - -- m_inputRight = new KoUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); -+ m_inputRight = new KoBuggyUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); - - //m_inputRight->resize( m_inputRight->sizeHint() ); - mGrid->addWidget( m_inputRight, 3, 1 ); -@@ -2130,7 +2130,7 @@ - //lmb->resize( lmb->sizeHint() ); - mGrid->addWidget( lmb, 3, 2 ); - -- m_inputBottom = new KoUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); -+ m_inputBottom = new KoBuggyUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); - - //m_inputBottom->resize( m_inputBottom->sizeHint() ); - mGrid->addWidget( m_inputBottom, 3, 3 ); -Index: kword/resizetabledia.cc -=================================================================== ---- kword/resizetabledia.cc (revision 427945) -+++ kword/resizetabledia.cc (working copy) -@@ -77,7 +77,7 @@ - else - value->setValue( type == ROW ? (rowSelected+1) : (colSelected+1) ); - rc = new QLabel( type == ROW ? i18n( "Height (%1):" ).arg(doc->unitName()) : i18n( "Width (%1):" ).arg(doc->unitName()), page ); -- position= new KoUnitDoubleSpinBox( page, 0.01, table->anchorFrameset()->isFloating() ? table->anchorFrameset()->frame(0)->width(): 9999, 1, 0.0, doc->unit(), doc->unit() ); -+ position= new KoBuggyUnitDoubleSpinBox( page, 0.01, table->anchorFrameset()->isFloating() ? table->anchorFrameset()->frame(0)->width(): 9999, 1, 0.0, doc->unit(), doc->unit() ); - slotValueChanged( value->value()); - connect( value, SIGNAL( valueChanged ( int )), this, SLOT( slotValueChanged( int ))); - -Index: kword/mailmerge/sql/kwserialletter_qtsqldb.desktop -=================================================================== ---- kword/mailmerge/sql/kwserialletter_qtsqldb.desktop (revision 427945) -+++ kword/mailmerge/sql/kwserialletter_qtsqldb.desktop (working copy) -@@ -4,6 +4,7 @@ - ServiceTypes=KWord/MailMergePlugin - - Name=Qt-SQL Source (single table) -+Name[cy]=Ffynhonell Qt-SQL (tabl sengl) - Name[da]=Qt-SQL-kilde (enkelt tabel) - Name[de]=Qt-SQL (Einzeltabelle) - Name[el]=Qt-SQL πηγή (μονός πίνακας) -Index: kword/mailmerge/kspread/kwmailmerge_kspread.desktop -=================================================================== ---- kword/mailmerge/kspread/kwmailmerge_kspread.desktop (revision 427945) -+++ kword/mailmerge/kspread/kwmailmerge_kspread.desktop (working copy) -@@ -22,6 +22,7 @@ - Name[pt]=Fonte de Tabela do KSpread - Name[pt_BR]=Fonte de Tabela do KSpread - Name[ru]=Источник таблиц KSpread -+Name[sl]=Vir tabel KSpread - Name[sr]=KSpread-ов извор табеле - Name[sr@Latn]=KSpread-ov izvor tabele - Name[sv]=Kspread-tabellkällfil -Index: kword/framedia.h -=================================================================== ---- kword/framedia.h (revision 427945) -+++ kword/framedia.h (working copy) -@@ -81,7 +81,7 @@ - void slotValueChanged( double ); - - private: -- KoUnitDoubleSpinBox *m_inputLeft, *m_inputRight, *m_inputTop, *m_inputBottom; -+ KoBuggyUnitDoubleSpinBox *m_inputLeft, *m_inputRight, *m_inputTop, *m_inputBottom; - QCheckBox *m_synchronize; - KWDocument *doc; - bool m_changed; -@@ -168,7 +168,7 @@ - QWidget *tab4; - QGroupBox *grp1; - QLabel *lx, *ly, *lw, *lh; -- KoUnitDoubleSpinBox *sx, *sy, *sw, *sh; -+ KoBuggyUnitDoubleSpinBox *sx, *sy, *sw, *sh; - KWFourSideConfigWidget* m_paddingConfigWidget; - QCheckBox *floating; - QCheckBox *protectSize; -Index: kword/kwconfig.h -=================================================================== ---- kword/kwconfig.h (revision 427945) -+++ kword/kwconfig.h (working copy) -@@ -29,7 +29,7 @@ - class KWView; - class QCheckBox; - class KIntNumInput; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KConfig; - class QComboBox; - class KIntNumInput; -@@ -69,8 +69,8 @@ - KWView* m_pView; - KConfig* config; - QComboBox *m_unitCombo; -- KoUnitDoubleSpinBox* gridX,*gridY; -- KoUnitDoubleSpinBox* indent; -+ KoBuggyUnitDoubleSpinBox* gridX,*gridY; -+ KoBuggyUnitDoubleSpinBox* indent; - KIntNumInput* recentFiles; - QCheckBox *showStatusBar, *showScrollBar, *pgUpDownMovesCaret; - int oldNbRecentFiles; -@@ -114,7 +114,7 @@ - QLabel *fontName; - QLabel *tabStop; - -- KoUnitDoubleSpinBox* m_columnSpacing; -+ KoBuggyUnitDoubleSpinBox* m_columnSpacing; - - KIntNumInput* autoSave; - int oldAutoSaveValue; -@@ -123,7 +123,7 @@ - int m_oldStartingPage; - bool m_oldBackupFile; - KIntNumInput* m_variableNumberOffset; -- KoUnitDoubleSpinBox *m_tabStopWidth; -+ KoBuggyUnitDoubleSpinBox *m_tabStopWidth; - QCheckBox *m_cursorInProtectedArea; - QCheckBox *m_createBackupFile; - // QCheckBox *m_directInsertCursor; -Index: kword/configfootnotedia.cc -=================================================================== ---- kword/configfootnotedia.cc (revision 427945) -+++ kword/configfootnotedia.cc (working copy) -@@ -106,7 +106,7 @@ - - QGridLayout *layout = new QGridLayout( 0, 1, 1, 0, 6); - -- spWidth = new KoUnitDoubleSpinBox(page, 0, 5, 0.5, 1.0, m_doc->unit(), 1); -+ spWidth = new KoBuggyUnitDoubleSpinBox(page, 0, 5, 0.5, 1.0, m_doc->unit(), 1); - spWidth->setValue( m_doc->footNoteSeparatorLineWidth()); - layout->addWidget( spWidth, 1, 1 ); - -Index: kword/templates/DTP/SimpleLayout.desktop -=================================================================== ---- kword/templates/DTP/SimpleLayout.desktop (revision 427945) -+++ kword/templates/DTP/SimpleLayout.desktop (working copy) -@@ -21,6 +21,7 @@ - Name[fa]=نمونه طرح بندی - Name[fi]=Yksinkertainen taittomalli - Name[fr]=Mise en page simple -+Name[ga]=Leagan Amach Simplí - Name[he]=פריסה פשוטה - Name[hr]=Jednostavni raspored - Name[hu]=Egyszerű elrendezés -Index: kword/templates/DTP/Empty.desktop -=================================================================== ---- kword/templates/DTP/Empty.desktop (revision 427945) -+++ kword/templates/DTP/Empty.desktop (working copy) -@@ -17,6 +17,7 @@ - Name[fa]=صفحه خالی - Name[fi]=Tyhjä sivu - Name[fr]=Page vide -+Name[ga]=Leathanach Folamh - Name[he]=דף ריק - Name[hr]=Prazna stranica - Name[hu]=Üres oldal -Index: kword/templates/DTP/fax.desktop -=================================================================== ---- kword/templates/DTP/fax.desktop (revision 427945) -+++ kword/templates/DTP/fax.desktop (working copy) -@@ -20,6 +20,7 @@ - Name[fa]=نمونه دورنگار - Name[fi]=Faksipohja - Name[fr]=Modèle de fax -+Name[ga]=Teimpléad Facs - Name[he]=תבנית פקס - Name[hr]=Fax predložak - Name[hu]=Faxsablon -@@ -63,6 +64,7 @@ - Comment[et]=Faks päisega - Comment[fi]=Faksiasiakirja otsikolla - Comment[fr]=Document de fax. avec en-tête -+Comment[ga]=Cáipéis fhacs, le ceanntásc - Comment[he]=מסמך פקס עם כותרת - Comment[hr]=Faks dokument, sa zaglavljem - Comment[hu]=Fax dokumentum (fejléccel) -Index: kword/templates/Wordprocessing/TwoColumns.desktop -=================================================================== ---- kword/templates/Wordprocessing/TwoColumns.desktop (revision 427945) -+++ kword/templates/Wordprocessing/TwoColumns.desktop (working copy) -@@ -22,6 +22,7 @@ - Name[fi]=Kaksi palstaa - Name[fo]=Tveir teigar - Name[fr]=Deux colonnes -+Name[ga]=Dhá Cholún - Name[he]=שני טורים - Name[hr]=Dva stupca - Name[hu]=Kétoszlopos -Index: kword/resizetabledia.h -=================================================================== ---- kword/resizetabledia.h (revision 427945) -+++ kword/resizetabledia.h (working copy) -@@ -31,7 +31,7 @@ - class QRadioButton; - class QLabel; - class QSpinBox; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - class KWResizeTableDia : public KDialogBase - { -@@ -48,7 +48,7 @@ - KWDocument *doc; - ResizeType type; - KWCanvas *canvas; -- KoUnitDoubleSpinBox *position; -+ KoBuggyUnitDoubleSpinBox *position; - double resetValue; - protected slots: - virtual void slotOk(); -Index: kexi/plugins/forms/kexilabel.cpp -=================================================================== ---- kexi/plugins/forms/kexilabel.cpp (revision 427945) -+++ kexi/plugins/forms/kexilabel.cpp (working copy) -@@ -33,6 +33,20 @@ - #define SHADOW_DIAGONAL_FACTOR 1.0 - #define SHADOW_THICKNESS 1 - -+class KexiLabelPrivate : public QLabel { -+ friend class KexiLabel; -+ public: -+ KexiLabelPrivate( KexiLabel* ); -+ virtual ~KexiLabelPrivate(); -+ private: -+ QImage makeShadow( const QImage& textImage, const QColor &bgColor, const QRect& boundingRect ); -+ QRect getBounding( const QImage &image, const QRect& startRect ); -+// double defaultDecay( QImage& source, int i, int j ); -+ KPixmap getShadowPixmap(); -+ -+ QRect p_shadowRect; -+}; -+ - KexiLabelPrivate::KexiLabelPrivate( KexiLabel* parent ) - : QLabel( parent ) - { -@@ -404,6 +418,40 @@ - QLabel::paintEvent( e ); - } - -+void KexiLabel::fontChange( const QFont& font ) { -+ p_pixmapDirty = true; -+ p_privateLabel->setFont( font ); -+ QLabel::fontChange( font ); -+} -+ -+void KexiLabel::styleChange( QStyle& style ) { -+ p_pixmapDirty = true; -+ QLabel::styleChange( style ); -+} -+ -+void KexiLabel::enabledChange( bool enabled ) { -+ p_pixmapDirty = true; -+ p_privateLabel->setEnabled( enabled ); -+ QLabel::enabledChange( enabled ); -+} -+ -+void KexiLabel::paletteChange( const QPalette& pal ) { -+ p_pixmapDirty = true; -+ p_privateLabel->setPalette( pal ); -+ QLabel::paletteChange( pal ); -+} -+ -+void KexiLabel::frameChanged() { -+ p_pixmapDirty = true; -+ p_privateLabel->frameChanged(); -+ QFrame::frameChanged(); -+} -+ -+void KexiLabel::showEvent( QShowEvent* e ) { -+ p_pixmapDirty = true; -+ QLabel::showEvent( e ); -+} -+ - void KexiLabel::setValueInternal( const QVariant& add, bool removeOld ) { - if (removeOld) - setText(add.toString()); -Index: kexi/plugins/forms/kexilabel.h -=================================================================== ---- kexi/plugins/forms/kexilabel.h (revision 427945) -+++ kexi/plugins/forms/kexilabel.h (working copy) -@@ -32,20 +32,10 @@ - class QTimer; - class KexiLabel; - --class KexiLabelPrivate : public QLabel { -- friend class KexiLabel; -- public: -- KexiLabelPrivate( KexiLabel* ); -- virtual ~KexiLabelPrivate(); -- private: -- QImage makeShadow( const QImage& textImage, const QColor &bgColor, const QRect& boundingRect ); -- QRect getBounding( const QImage &image, const QRect& startRect ); --// double defaultDecay( QImage& source, int i, int j ); -- KPixmap getShadowPixmap(); -+class KexiLabelPrivate; - -- QRect p_shadowRect; --}; - -+ - /** - An extended, data-aware, read-only text label. - It's text may have a drop-shadow. -@@ -139,40 +129,14 @@ - */ - virtual void setValueInternal( const QVariant& add, bool removeOld ); - -- virtual void fontChange( const QFont& font ) { -- p_pixmapDirty = true; -- p_privateLabel->setFont( font ); -- QLabel::fontChange( font ); -- } -+ virtual void fontChange( const QFont& font ); -+ virtual void styleChange( QStyle& style ); -+ virtual void enabledChange( bool enabled ); - -- virtual void styleChange( QStyle& style ) { -- p_pixmapDirty = true; -- QLabel::styleChange( style ); -- } -+ virtual void paletteChange( const QPalette& pal ); -+ virtual void frameChanged(); -+ virtual void showEvent( QShowEvent* e ); - -- virtual void enabledChange( bool enabled ) { -- p_pixmapDirty = true; -- p_privateLabel->setEnabled( enabled ); -- QLabel::enabledChange( enabled ); -- } -- -- virtual void paletteChange( const QPalette& pal ) { -- p_pixmapDirty = true; -- p_privateLabel->setPalette( pal ); -- QLabel::paletteChange( pal ); -- } -- -- virtual void frameChanged() { -- p_pixmapDirty = true; -- p_privateLabel->frameChanged(); -- QFrame::frameChanged(); -- } -- -- virtual void showEvent( QShowEvent* e ) { -- p_pixmapDirty = true; -- QLabel::showEvent( e ); -- } -- - private: - void updatePixmapLater(); - -Index: kexi/plugins/kugar/kexikugarhandler.desktop -=================================================================== ---- kexi/plugins/kugar/kexikugarhandler.desktop (revision 427945) -+++ kexi/plugins/kugar/kexikugarhandler.desktop (working copy) -@@ -60,7 +60,7 @@ - Comment[nn]=Integrasjon av Kugar-basert rapportgenerering - Comment[pt]=Integração da geração de relatórios do Kugar - Comment[pt_BR]=Integração do Kugar baseada na geração de relatório --Comment[ru]=Интеграция с Kugar для построения отчётов -+Comment[ru]=Отчёт посредством Kugar - Comment[sk]=Integrácia generovaných správ založených na Kugar - Comment[sl]=Integracija ustvarjanja poročil na osnovi Kugarja - Comment[sr]=Интеграција прављења извештаја заснованог на Kugar-у -Index: kexi/plugins/reports/kexireportfactory.desktop -=================================================================== ---- kexi/plugins/reports/kexireportfactory.desktop (revision 427945) -+++ kexi/plugins/reports/kexireportfactory.desktop (working copy) -@@ -19,6 +19,7 @@ - Name[pt]=Elementos de Relatório do Kexi - Name[pt_BR]=Widgets de Relatório do Kexi - Name[ru]=Элементы управления для отчётов Kexi -+Name[sl]=Gradniki za poročila za Kexi - Name[sr]=Kexi-јеве контроле за извештаје - Name[sr@Latn]=Kexi-jeve kontrole za izveštaje - Name[sv]=Kexi-rapportkomponenter -Index: kexi/kexipart.desktop -=================================================================== ---- kexi/kexipart.desktop (revision 427945) -+++ kexi/kexipart.desktop (working copy) -@@ -19,6 +19,7 @@ - Name[pt]=Componente de Bases de Dados do KOffice - Name[pt_BR]=Componente de Banco de Dados do KOffice - Name[ru]=Компонент баз данных KOffice -+Name[sl]=Komponenta za zbirke podatkov za KOffice - Name[sr]=KOffice-ова компонента за базе података - Name[sr@Latn]=KOffice-ova komponenta za baze podataka - Name[sv]=Koffice-databaskomponent -Index: kexi/filters/import/csv/kexicsvimport.desktop -=================================================================== ---- kexi/filters/import/csv/kexicsvimport.desktop (revision 427945) -+++ kexi/filters/import/csv/kexicsvimport.desktop (working copy) -@@ -42,7 +42,7 @@ - Comment[pl]=Import pliku CVS... - Comment[pt]=Importar um Ficheiro CSV... - Comment[pt_BR]=Importar Arquivo CSV... --Comment[ru]=Импорт данных из CSV... -+Comment[ru]=Импорт из CSV... - Comment[sk]=Import súborov CSV... - Comment[sl]=Uvoz datoteke CSV ... - Comment[sr]=Увози се CSV фајл... -Index: kexi/filters/import/kspread_chain/kexikspreadimport.desktop -=================================================================== ---- kexi/filters/import/kspread_chain/kexikspreadimport.desktop (revision 427945) -+++ kexi/filters/import/kspread_chain/kexikspreadimport.desktop (working copy) -@@ -38,7 +38,7 @@ - Comment[nn]=Importer KSpread-lesbar fil ... - Comment[pt]=Importar um ficheiro KSpread... - Comment[pt_BR]=Importar arquivo legível do KSpread... --Comment[ru]=Импорт в KSpread... -+Comment[ru]=Импорт данных из KSpread... - Comment[sk]=Import súboru podporovaného KSpread... - Comment[sl]=Uvoz datoteke za KSpread ... - Comment[sr]=Увози се фајл који се може читати KSpread-ом... -Index: kexi/data/x-kexiproject-sqlite2.desktop -=================================================================== ---- kexi/data/x-kexiproject-sqlite2.desktop (revision 427945) -+++ kexi/data/x-kexiproject-sqlite2.desktop (working copy) -@@ -21,6 +21,7 @@ - Comment[pt]=Projecto do Kexi em Ficheiro de Base de Dados - Comment[pt_BR]=Projeto Baseado em Arquivo de Banco de Dados do Kexi - Comment[ru]=Проект Kexi с хранилищем данных в файлах -+Comment[sl]=Na datotekah zasnovan projekt zbirke podatkov Kexi - Comment[sr]=Kexi-јев пројекат базе података заснован на фајлу - Comment[sr@Latn]=Kexi-jev projekat baze podataka zasnovan na fajlu - Comment[sv]=Kexi filbaserat databasprojekt -Index: kexi/data/x-kexiproject-sqlite3.desktop -=================================================================== ---- kexi/data/x-kexiproject-sqlite3.desktop (revision 427945) -+++ kexi/data/x-kexiproject-sqlite3.desktop (working copy) -@@ -21,6 +21,7 @@ - Comment[pt]=Projecto do Kexi em Ficheiro de Base de Dados - Comment[pt_BR]=Projeto Baseado em Arquivo de Banco de Dados do Kexi - Comment[ru]=Проект Kexi с хранилищем данных в файлах -+Comment[sl]=Na datotekah zasnovan projekt zbirke podatkov Kexi - Comment[sr]=Kexi-јев пројекат базе података заснован на фајлу - Comment[sr@Latn]=Kexi-jev projekat baze podataka zasnovan na fajlu - Comment[sv]=Kexi filbaserat databasprojekt -Index: kexi/data/x-kexiproject-sqlite.desktop -=================================================================== ---- kexi/data/x-kexiproject-sqlite.desktop (revision 427945) -+++ kexi/data/x-kexiproject-sqlite.desktop (working copy) -@@ -22,6 +22,7 @@ - Comment[pt]=Projecto do Kexi em Ficheiro de Base de Dados - Comment[pt_BR]=Projeto Baseado em Arquivo de Banco de Dados do Kexi - Comment[ru]=Проект Kexi с хранилищем данных в файлах -+Comment[sl]=Na datotekah zasnovan projekt zbirke podatkov Kexi - Comment[sr]=Kexi-јев пројекат базе података заснован на фајлу - Comment[sr@Latn]=Kexi-jev projekat baze podataka zasnovan na fajlu - Comment[sv]=Kexi filbaserat databasprojekt -Index: kexi/data/kde32compat/x-sqlite2.desktop -=================================================================== ---- kexi/data/kde32compat/x-sqlite2.desktop (revision 427945) -+++ kexi/data/kde32compat/x-sqlite2.desktop (working copy) -@@ -21,6 +21,7 @@ - Comment[pt]=Ficheiro de Base de Dados do SQLite2 - Comment[pt_BR]=Ficheiro de Base de Dados do SQLite2 - Comment[ru]=База данных SQLite2 -+Comment[sl]=Datoteka zbirke podatkov SQLite2 - Comment[sr]=Фајл базе података SQLite2 - Comment[sr@Latn]=Fajl baze podataka SQLite2 - Comment[sv]=SQLite2-databasfil -Index: kexi/data/kde32compat/x-sqlite3.desktop -=================================================================== ---- kexi/data/kde32compat/x-sqlite3.desktop (revision 427945) -+++ kexi/data/kde32compat/x-sqlite3.desktop (working copy) -@@ -20,6 +20,7 @@ - Comment[pt]=Ficheiro de Base de Dados do SQLite3 - Comment[pt_BR]=Ficheiro de Base de Dados do SQLite3 - Comment[ru]=База данных SQLite3 -+Comment[sl]=Datoteka zbirke podatkov SQLite3 - Comment[sr]=Фајл базе података SQLite3 - Comment[sr@Latn]=Fajl baze podataka SQLite3 - Comment[sv]=SQLite3-databasfil -Index: kexi/data/kexiscripthandler.desktop -=================================================================== ---- kexi/data/kexiscripthandler.desktop (revision 427945) -+++ kexi/data/kexiscripthandler.desktop (working copy) -@@ -5,6 +5,7 @@ - - GenericName=Scripts - GenericName[br]=Urzhiaouegoù -+GenericName[cy]=Sgriptiau - GenericName[da]=Scripter - GenericName[de]=Skripte - GenericName[el]=Σενάρια -@@ -27,6 +28,7 @@ - GenericName[zh_CN]=脚本 - Name=Scripts - Name[br]=Urzhiaouegoù -+Name[cy]=Sgriptiau - Name[da]=Scripter - Name[de]=Skripte - Name[el]=Σενάρια -Index: kexi/formeditor/kdevelop_plugin/kformdesigner_kdev_part.desktop -=================================================================== ---- kexi/formeditor/kdevelop_plugin/kformdesigner_kdev_part.desktop (revision 427945) -+++ kexi/formeditor/kdevelop_plugin/kformdesigner_kdev_part.desktop (working copy) -@@ -17,6 +17,7 @@ - Name[pt]='Plugin' para o KDevelop de Desenho de Formulários - Name[pt_BR]=Plugin do Desenhista de Formulário do KDevelop - Name[ru]=Модуль форм KDevelop -+Name[sl]=Vstavek za oblikovanje obrazcev za KDevelop - Name[sr]=Прикључак дизајнера форми за KDevelop - Name[sr@Latn]=Priključak dizajnera formi za KDevelop - Name[sv]=KDevelop insticksprogram för formulärkonstruktion -Index: tools/thumbnail/kofficethumbnail.desktop -=================================================================== ---- tools/thumbnail/kofficethumbnail.desktop (revision 427945) -+++ tools/thumbnail/kofficethumbnail.desktop (working copy) -@@ -20,6 +20,7 @@ - Name[fi]=KOffice-tiedostot - Name[fo]=KSkrivstovu-fílir - Name[fr]=Fichiers KOffice -+Name[ga]=Comhaid KOffice - Name[he]=קבצי KOffice - Name[hr]=KOffice datoteke - Name[hu]=KOffice-fájlok -Index: tools/kfile-plugins/koffice/kfile_koffice.desktop -=================================================================== ---- tools/kfile-plugins/koffice/kfile_koffice.desktop (revision 427945) -+++ tools/kfile-plugins/koffice/kfile_koffice.desktop (working copy) -@@ -5,6 +5,7 @@ - Name[af]=Koffice Inligting - Name[ar]=معلومات KOffice - Name[bg]=Информация за KOffice -+Name[br]=Titouroù diwar-benn KOffice - Name[ca]=Informació KOffice - Name[cs]=KOffice info - Name[cy]=Gwybodaeth KOffice -@@ -18,6 +19,7 @@ - Name[fi]=KOffice tiedot - Name[fo]=KSkrivstovu-upplýsingar - Name[fr]=Informations sur KOffice -+Name[ga]=Eolas faoi KOffice - Name[he]=מידע KOffice - Name[hu]=KOffice-információ - Name[it]=Informazioni KOffice -@@ -32,7 +34,7 @@ - Name[pl]=Dane koffice - Name[pt]=Informação do KOffice - Name[pt_BR]=Informações do KOffice --Name[ru]=Информация о KOffice -+Name[ru]=Информация KOffice - Name[se]=KOffice-dieđut - Name[sk]=Informácie o KOffice - Name[sl]=Informacije o KOffice -Index: tools/kfile-plugins/ooo/kfile_ooo.desktop -=================================================================== ---- tools/kfile-plugins/ooo/kfile_ooo.desktop (revision 427945) -+++ tools/kfile-plugins/ooo/kfile_ooo.desktop (working copy) -@@ -13,6 +13,7 @@ - Name[et]=OpenOffice.org-i info - Name[fi]=KOffice tiedot - Name[fr]=Informations sur OpenOffice.org -+Name[ga]=Eolas faoi OpenOffice.org - Name[he]=מידע OpenOffice.org - Name[hu]=OpenOffice.org-információ - Name[it]=Informazioni OpenOffice.org -@@ -23,7 +24,7 @@ - Name[pl]=Informacja OpenOffice.org - Name[pt]=Informação do OpenOffice.org - Name[pt_BR]=Informações do OpenOffice.org --Name[ru]=Информация об OpenOffice.org -+Name[ru]=Информация OpenOffice.org - Name[se]=OpenOffice.org-dieđut - Name[sk]=Informácie o OpenOffice.org - Name[sl]=Informacije o OpenOffice.org -Index: lib/kofficecore/koApplication.cc -=================================================================== ---- lib/kofficecore/koApplication.cc (revision 427945) -+++ lib/kofficecore/koApplication.cc (working copy) -@@ -149,7 +149,10 @@ - shell->setRootDocument( doc ); - } - else -+ { -+ delete doc; - return false; -+ } - - QObject::disconnect(doc, SIGNAL(sigProgress(int)), shell, SLOT(slotProgress(int))); - } else { -Index: lib/kofficecore/koMainWindow.cc -=================================================================== ---- lib/kofficecore/koMainWindow.cc (revision 427945) -+++ lib/kofficecore/koMainWindow.cc (working copy) -@@ -1033,6 +1033,13 @@ - if ( !newdoc->initDoc( (KoDocument::InitDocFlags)initDocFlags, this ) ) - { - delete newdoc; -+ // See cancelQuits() in KoTemplateChooseDia. -+ // The quit() must be done here so that the KoDocument got deleted already. -+ bool onlyDoc = !KoDocument::documentList() || KoDocument::documentList()->isEmpty(); -+ bool onlyMainWindow = !KMainWindow::memberList || KMainWindow::memberList->count() <= 1; -+ if ( onlyDoc && onlyMainWindow && kapp->instanceName() != "koshell" ) { -+ kapp->quit(); -+ } - return; - } - disconnect(newdoc, SIGNAL(sigProgress(int)), this, SLOT(slotProgress(int))); -Index: lib/kofficecore/koDocument.cc -=================================================================== ---- lib/kofficecore/koDocument.cc (revision 427945) -+++ lib/kofficecore/koDocument.cc (working copy) -@@ -890,6 +890,9 @@ - kdDebug(30003)<<k_funcinfo<<" external (don't save) url:" << childDoc->url().url()<<endl; - path = childDoc->url().url(); - } -+ // OOo uses a trailing slash for the path to embedded objects (== directories) -+ if ( !path.endsWith( "/" ) ) -+ path += '/'; - manifestWriter->addManifestEntry( path, childDoc->nativeOasisMimeType() ); - } - } -@@ -1793,7 +1796,9 @@ - //if ( !oasisStore.loadAndParse( "tar:/META-INF/manifest.xml", manifestDoc, d->lastErrorMessage ) ) - // return false; - -- (void)oasisStore.loadAndParse( "settings.xml", settingsDoc, d->lastErrorMessage ); -+ if ( store->hasFile( "settings.xml" ) ) { -+ (void)oasisStore.loadAndParse( "settings.xml", settingsDoc, d->lastErrorMessage ); -+ } - if ( !loadOasis( contentDoc, oasisStyles, settingsDoc, store ) ) - return false; - -@@ -1920,9 +1925,12 @@ - KoDocument *doc = it.current()->document(); - if ( doc ) - { -- if ( doc->isStoredExtern() ) //###TODO: Handle non-native mimetype docs -+ bool foo = doc->isStoredExtern(); -+ kdDebug(36001) << "========== isStoredExtern() returned " -+ << foo << " ==========" << endl; -+ -+ if ( foo ) //###TODO: Handle non-native mimetype docs - { -- if ( doc->isModified() ) - { - kdDebug(30003)<<k_funcinfo<<" found modified child: "<<doc->url().url()<<" extern="<<doc->isStoredExtern()<<endl; - if ( doc->queryCloseDia() == KMessageBox::Cancel ) -Index: lib/kofficecore/koDocumentChild.cc -=================================================================== ---- lib/kofficecore/koDocumentChild.cc (revision 427945) -+++ lib/kofficecore/koDocumentChild.cc (working copy) -@@ -230,6 +230,8 @@ - QString relPath = KURL( m_tmpURL ).path(); - path += relPath.mid( 1 ); // remove leading '/' - } -+ if ( !path.endsWith( "/" ) ) -+ path += '/'; - const QString mimeType = KoOasisStore::mimeForPath( manifestDoc, path ); - kdDebug() << k_funcinfo << "path for manifest file=" << path << " mimeType=" << mimeType << endl; - if ( mimeType.isEmpty() ) { -@@ -312,6 +314,8 @@ - } - if ( !res ) - { -+ // Keep the error message from the attempted loading -+ QString errorMessage = d->m_doc->errorMessage(); - delete d->m_doc; - d->m_doc = 0; - QString tmpURL = m_tmpURL; // keep a copy, createUnavailDocument will erase it -@@ -322,7 +326,7 @@ - d->m_doc->setProperty( "realURL", tmpURL ); // so that it gets saved correctly - d->m_doc->setStoreInternal( true ); - if ( internalURL ) -- d->m_doc->setProperty( "unavailReason", i18n( "Could not load embedded object." ) ); -+ d->m_doc->setProperty( "unavailReason", i18n( "Could not load embedded object." ) + "\n" + errorMessage ); - else - d->m_doc->setProperty( "unavailReason", i18n( "External document not found:\n%1" ).arg( tmpURL ) ); - } -Index: lib/kofficeui/koTemplateChooseDia.cc -=================================================================== ---- lib/kofficeui/koTemplateChooseDia.cc (revision 427945) -+++ lib/kofficeui/koTemplateChooseDia.cc (working copy) -@@ -210,6 +210,7 @@ - d=0L; - } - -+// Keep in sync with KoMainWindow::chooseNewDocument - static bool cancelQuits() { - bool onlyDoc = !KoDocument::documentList() || KoDocument::documentList()->count() <= 1; - bool onlyMainWindow = !KMainWindow::memberList || KMainWindow::memberList->count() <= 1; -@@ -261,10 +262,6 @@ - } - - delete dlg; -- if ( rt == Cancel && dialogType == Everything && cancelQuits() ) -- // The button says quit, so let's quit -- kapp->quit(); -- - return rt; - } - -@@ -458,8 +455,8 @@ - d->m_jwidget->showPage(templateNum); - else if ( defaultTemplateGroup != -1) - d->m_jwidget->showPage(defaultTemplateGroup); -- - -+ - // Set the initially selected template, possibly from the last usage of the dialog - currentChanged(itemtoselect); - -Index: lib/kofficeui/koUnitWidgets.h -=================================================================== ---- lib/kofficeui/koUnitWidgets.h (revision 427945) -+++ lib/kofficeui/koUnitWidgets.h (working copy) -@@ -77,7 +77,7 @@ - */ - QString getVisibleText( double value ) const; - /** -- * Transfrom a string inot a double, while taking care of locale specific symbols. -+ * Transfrom a string into a double, while taking care of locale specific symbols. - * @param str the string to transform into a number - * @param ok true, if the conversion was succesful - * @return the value as double -@@ -94,11 +94,11 @@ - * Spin box for double precision numbers with unit display - * \since 1.4 (change of behavior) - */ --class KOFFICEUI_EXPORT KoUnitDoubleSpinBox : public KDoubleSpinBox, public KoUnitDoubleBase -+class KOFFICEUI_EXPORT KoBuggyUnitDoubleSpinBox : public KDoubleSpinBox, public KoUnitDoubleBase - { - public: - // lower, upper, step and value are in pt -- KoUnitDoubleSpinBox( QWidget *parent, double lower, double upper, double step, double value = 0.0, -+ KoBuggyUnitDoubleSpinBox( QWidget *parent, double lower, double upper, double step, double value = 0.0, - KoUnit::Unit unit = KoUnit::U_PT, unsigned int precision = 2, const char *name = 0 ); - - virtual void changeValue( double ); -@@ -123,6 +123,22 @@ - }; - - /** -+ * Temporary class that will be merged with koBuggyUnitDoubleSpinBox -+ * and renamed into KoUnitDoubleSpinBox when all the users of that -+ * class have been converted. -+ */ -+class KOFFICEUI_EXPORT KoUnitDoubleSpinBox2 : public KoBuggyUnitDoubleSpinBox -+{ -+public: -+ // lower, upper, step and value are in pt -+ KoUnitDoubleSpinBox2( QWidget *parent, double lower, double upper, double step, double value = 0.0, -+ KoUnit::Unit unit = KoUnit::U_PT, unsigned int precision = 2, const char *name = 0 ); -+ -+ virtual void changeValue( double ); -+}; -+ -+ -+/** - * Line edit for double precision numbers with unit display - * \since 1.4 (change of behavior) - */ -Index: lib/kofficeui/kolinewidthaction.cpp -=================================================================== ---- lib/kofficeui/kolinewidthaction.cpp (revision 427945) -+++ lib/kofficeui/kolinewidthaction.cpp (working copy) -@@ -160,7 +160,7 @@ - { - public: - KoUnit::Unit m_unit; -- KoUnitDoubleSpinBox* m_lineWidthUSBox; -+ KoBuggyUnitDoubleSpinBox* m_lineWidthUSBox; - }; - - KoLineWidthChooser::KoLineWidthChooser(QWidget* parent, const char* name) -@@ -174,7 +174,7 @@ - setMainWidget(mainWidget); - QGridLayout* gl = new QGridLayout(mainWidget, 1, 2, KDialog::marginHint(), KDialog::spacingHint()); - QLabel* textLbl = new QLabel(i18n("Line width:"), mainWidget); -- d->m_lineWidthUSBox = new KoUnitDoubleSpinBox(mainWidget, 0.0, 1000.0, 0.1, 1.0, d->m_unit, 2); -+ d->m_lineWidthUSBox = new KoBuggyUnitDoubleSpinBox(mainWidget, 0.0, 1000.0, 0.1, 1.0, d->m_unit, 2); - gl->addWidget(textLbl, 0, 0); - gl->addWidget(d->m_lineWidthUSBox, 0, 1); - } -Index: lib/kofficeui/koUnitWidgets.cc -=================================================================== ---- lib/kofficeui/koUnitWidgets.cc (revision 427945) -+++ lib/kofficeui/koUnitWidgets.cc (working copy) -@@ -25,6 +25,7 @@ - #include <qpushbutton.h> - #include <qlayout.h> - -+ - KoUnitDoubleValidator::KoUnitDoubleValidator( KoUnitDoubleBase *base, QObject *parent, const char *name ) - : KDoubleValidator( parent, name ), m_base( base ) - { -@@ -108,7 +109,10 @@ - } - - --KoUnitDoubleSpinBox::KoUnitDoubleSpinBox( QWidget *parent, double lower, double upper, double step, double value, KoUnit::Unit unit, unsigned int precision, const char *name ) -+// ---------------------------------------------------------------- -+ -+ -+KoBuggyUnitDoubleSpinBox::KoBuggyUnitDoubleSpinBox( QWidget *parent, double lower, double upper, double step, double value, KoUnit::Unit unit, unsigned int precision, const char *name ) - : KDoubleSpinBox( lower, upper, step, value, precision, parent, name ), KoUnitDoubleBase( unit, precision ), - m_lowerInPoints( lower ), m_upperInPoints( upper ), m_stepInPoints( step ) - { -@@ -120,7 +124,7 @@ - } - - void --KoUnitDoubleSpinBox::changeValue( double val ) -+KoBuggyUnitDoubleSpinBox::changeValue( double val ) - { - KDoubleSpinBox::setValue( val ); - // TODO: emit valueChanged ONLY if the value was out-of-bounds -@@ -129,7 +133,7 @@ - } - - void --KoUnitDoubleSpinBox::setUnit( KoUnit::Unit unit ) -+KoBuggyUnitDoubleSpinBox::setUnit( KoUnit::Unit unit ) - { - double oldvalue = KoUnit::fromUserValue( KDoubleSpinBox::value(), m_unit ); - KDoubleSpinBox::setMinValue( KoUnit::toUserValue( m_lowerInPoints, unit ) ); -@@ -140,31 +144,53 @@ - setSuffix( KoUnit::unitName( unit ).prepend( ' ' ) ); - } - --double KoUnitDoubleSpinBox::value( void ) const -+double KoBuggyUnitDoubleSpinBox::value( void ) const - { - return KoUnit::fromUserValue( KDoubleSpinBox::value(), m_unit ); - } - --void KoUnitDoubleSpinBox::setMinValue( double min ) -+void KoBuggyUnitDoubleSpinBox::setMinValue( double min ) - { - m_lowerInPoints = min; - KDoubleSpinBox::setMinValue( KoUnit::toUserValue( m_lowerInPoints, m_unit ) ); - } - --void KoUnitDoubleSpinBox::setMaxValue( double max ) -+void KoBuggyUnitDoubleSpinBox::setMaxValue( double max ) - { - m_upperInPoints = max; - KDoubleSpinBox::setMaxValue( KoUnit::toUserValue( m_upperInPoints, m_unit ) ); - } - --void KoUnitDoubleSpinBox::setLineStep( double step ) -+void KoBuggyUnitDoubleSpinBox::setLineStep( double step ) - { - m_stepInPoints = step; - KDoubleSpinBox::setLineStep( KoUnit::toUserValue( m_stepInPoints, m_unit ) ); - } - - -+// ---------------------------------------------------------------- - -+ -+KoUnitDoubleSpinBox2::KoUnitDoubleSpinBox2( QWidget *parent, double lower, double upper, double step, double value, KoUnit::Unit unit, unsigned int precision, const char *name ) -+ : KoBuggyUnitDoubleSpinBox( parent, lower, upper, step, value, unit, precision, name ) -+{ -+ m_validator = new KoUnitDoubleValidator( this, this ); -+ QSpinBox::setValidator( m_validator ); -+ setAcceptLocalizedNumbers( true ); -+ setUnit( unit ); -+ changeValue( value ); -+} -+ -+void -+KoUnitDoubleSpinBox2::changeValue( double val ) -+{ -+ KDoubleSpinBox::setValue( KoUnit::toUserValue( val, m_unit ) ); -+} -+ -+ -+// ---------------------------------------------------------------- -+ -+ - KoUnitDoubleLineEdit::KoUnitDoubleLineEdit( QWidget *parent, double lower, double upper, double value, KoUnit::Unit unit, - unsigned int precision, const char *name ) - : KLineEdit( parent, name ), KoUnitDoubleBase( unit, precision ), m_value( value ), m_lower( lower ), m_upper( upper ), -Index: lib/CHANGES -=================================================================== ---- lib/CHANGES (revision 427945) -+++ lib/CHANGES (working copy) -@@ -1,6 +1,15 @@ -+Changes after KOffice-1.4 -+========================= -+KOfficeCore: -+- OASIS loading/saving fix for embedded objects -+- Fix crash when pressing Quit in the initial startup dialog (#107911) -+ -+KoText: -+- Fix crash when updating a TOC with a table inside it (#107961) -+ - Changes after KOffice-1.4-beta1 - =============================== --KForumula: -+KFormula: - - Disable the matrix actions when the cursor isn't in a matrix element. - - Do not crash when exporting to PNG. - -Index: lib/kotext/kotextdocument.cc -=================================================================== ---- lib/kotext/kotextdocument.cc (revision 427945) -+++ lib/kotext/kotextdocument.cc (working copy) -@@ -135,6 +135,7 @@ - flow_->clear(); - while ( fParag ) { - KoTextParag *p = fParag->next(); -+ fParag->string()->clear(); // avoid the "unregister custom items" code, not needed - delete fParag; - fParag = p; - } -@@ -142,6 +143,7 @@ - if ( createEmptyParag ) - fParag = lParag = createParag( this ); - selections.clear(); -+ customItems.clear(); - } - - /* -Index: lib/kotext/kotextparag.cc -=================================================================== ---- lib/kotext/kotextparag.cc (revision 427945) -+++ lib/kotext/kotextparag.cc (working copy) -@@ -109,6 +109,17 @@ - KoTextParag::~KoTextParag() - { - //kdDebug(32500) << "KoTextParag::~KoTextParag " << this << " id=" << paragId() << endl; -+ -+ // #107961: unregister custom items; KoTextString::clear() will delete them -+ const int len = str->length(); -+ for ( int i = 0; i < len; ++i ) { -+ KoTextStringChar *c = at( i ); -+ if ( doc && c->isCustom() ) { -+ doc->unregisterCustomItem( c->customItem(), this ); -+ //removeCustomItem(); -+ } -+ } -+ - delete str; - str = 0; - // if ( doc && p == doc->minwParag ) { -Index: filters/kword/ascii/kword_ascii_import.desktop -=================================================================== ---- filters/kword/ascii/kword_ascii_import.desktop (revision 427945) -+++ filters/kword/ascii/kword_ascii_import.desktop (working copy) -@@ -5,6 +5,7 @@ - Name[br]=Sil Enporzh ASCII KWord - Name[ca]=Filtre d'importació ASCII per a KWord - Name[cs]=KWord ASCII importní filtr -+Name[cy]=Hidlen Fewnforio Ascii KWord - Name[da]=KWord ASCII-importfilter - Name[de]=ASCII-Importfilter für KWord - Name[el]=Φίλτρο εισαγωγής ascii του KWord -Index: filters/kspread/excel/sidewinder/excel.cpp -=================================================================== ---- filters/kspread/excel/sidewinder/excel.cpp (revision 427945) -+++ filters/kspread/excel/sidewinder/excel.cpp (working copy) -@@ -5412,7 +5412,7 @@ - case 10: valueFormat = "0.00%"; break; - case 11: valueFormat = "0.00E+00"; break; - case 12: valueFormat = "#?/?"; break; -- case 13: valueFormat = "#\?\?\/\?\?"; break; -+ case 13: valueFormat = "#\?\?/\?\?"; break; - case 14: valueFormat = "M/D/YY"; break; - case 15: valueFormat = "D-MMM-YY"; break; - case 16: valueFormat = "D-MMM"; break; -Index: filters/karbon/svg/svgexport.cc -=================================================================== ---- filters/karbon/svg/svgexport.cc (revision 427945) -+++ filters/karbon/svg/svgexport.cc (working copy) -@@ -36,8 +36,10 @@ - #include "vfill.h" - #include "vgradient.h" - #include "vgroup.h" -+#include "vimage.h" - #include "vlayer.h" - #include "vpath.h" -+#include "vpattern.h" - #include "vsegment.h" - #include "vselection.h" - #include "vstroke.h" -@@ -119,11 +121,9 @@ - "\"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\">" - << endl; - -- // add some PR -+ // add some PR. one line is more than enough. - *m_defs << -- "<!-- This file was created using the SVG export filter from Karbon14, a free vector drawing app. -->" << endl; -- *m_defs << -- "<!-- It is part of koffice, the free, integrated office suite for KDE (http://www.koffice.org/). -->" << endl; -+ "<!-- Created using Karbon14, part of koffice: http://www.koffice.org/karbon -->" << endl; - - *m_defs << - "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"" << -@@ -164,7 +164,30 @@ - *m_body << "</g>" << endl; - } - -+// horrible but at least something gets exported now -+// will need this for patterns - void -+SvgExport::visitVImage( VImage& image ) -+{ -+ *m_body << "<image "; -+ VVisitor::visitVImage( image ); -+ *m_body << "x=\"" << "\" "; -+ *m_body << "y=\"" << "\" "; -+ *m_body << "width=\"" << "\" "; -+ *m_body << "height=\"" << "\" "; -+ *m_body << "xlink:href=\"" << "\""; -+ *m_body << " />" << endl; -+} -+ -+void -+SvgExport::visitVLayer( VLayer& layer ) -+{ -+ *m_body << "<g" << getID( &layer ) << ">" << endl; -+ VVisitor::visitVLayer( layer ); -+ *m_body << "</g>" << endl; -+} -+ -+void - SvgExport::visitVPath( VPath& composite ) - { - *m_body << "<path" << getID( &composite ); -@@ -261,9 +284,50 @@ - *m_defs << "</radialGradient>" << endl; - *m_body << "url(#" << uid << ")"; - } -+ // gah! pointless abbreviation of conical to conic -+ else if( grad.type() == VGradient::conic ) -+ { -+ // fake conical grad as radial. -+ // fugly but better than data loss. -+ *m_defs << "<radialGradient id=\"" << uid << "\" "; -+ *m_defs << "gradientUnits=\"userSpaceOnUse\" "; -+ *m_defs << "cx=\"" << grad.origin().x() << "\" "; -+ *m_defs << "cy=\"" << grad.origin().y() << "\" "; -+ *m_defs << "fx=\"" << grad.focalPoint().x() << "\" "; -+ *m_defs << "fy=\"" << grad.focalPoint().y() << "\" "; -+ double r = sqrt( pow( grad.vector().x() - grad.origin().x(), 2 ) + pow( grad.vector().y() - grad.origin().y(), 2 ) ); -+ *m_defs << "r=\"" << QString().setNum( r ) << "\" "; -+ if( grad.repeatMethod() == VGradient::reflect ) -+ *m_defs << "spreadMethod=\"reflect\" "; -+ else if( grad.repeatMethod() == VGradient::repeat ) -+ *m_defs << "spreadMethod=\"repeat\" "; -+ *m_defs << ">" << endl; -+ -+ // color stops -+ getColorStops( grad.colorStops() ); -+ -+ *m_defs << "</radialGradient>" << endl; -+ *m_body << "url(#" << uid << ")"; -+ } - } - -+// better than nothing - void -+SvgExport::getPattern( const VPattern & patt ) -+{ -+ QString uid = createUID(); -+ *m_defs << "<pattern id=\"" << uid << "\" "; -+ *m_defs << "width=\"" << "\" "; -+ *m_defs << "height=\"" << "\" "; -+ *m_defs << "patternUnits=\"userSpaceOnUse\" "; -+ *m_defs << "patternContentUnits=\"userSpaceOnUse\" "; -+ *m_defs << " />" << endl; -+ // TODO: insert hard work here ;) -+ *m_defs << "</pattern>" << endl; -+ *m_body << "url(#" << uid << ")"; -+} -+ -+void - SvgExport::getFill( const VFill& fill ) - { - *m_body << " fill=\""; -@@ -271,6 +335,8 @@ - *m_body << "none"; - else if( fill.type() == VFill::grad ) - getGradient( fill.gradient() ); -+ else if( fill.type() == VFill::patt ) -+ getPattern( fill.pattern() ); - else - getHexColor( m_body, fill.color() ); - *m_body << "\""; -Index: filters/karbon/svg/svgexport.h -=================================================================== ---- filters/karbon/svg/svgexport.h (revision 427945) -+++ filters/karbon/svg/svgexport.h (working copy) -@@ -35,6 +35,7 @@ - class VDocument; - class VFill; - class VGroup; -+class VImage; - class VLayer; - class VSubpath; - class VStroke; -@@ -55,6 +56,8 @@ - virtual void visitVPath( VPath& composite ); - virtual void visitVDocument( VDocument& document ); - virtual void visitVGroup( VGroup& group ); -+ virtual void visitVImage( VImage& image ); -+ virtual void visitVLayer( VLayer& layer ); - virtual void visitVSubpath( VSubpath& path ); - virtual void visitVText( VText& text ); - -@@ -62,6 +65,7 @@ - void getColorStops( const QPtrVector<VColorStop> &colorStops ); - void getFill( const VFill& fill ); - void getGradient( const VGradient& grad ); -+ void getPattern( const VPattern& patt ); - void getHexColor( QTextStream *, const VColor& color ); - QString getID( VObject *obj ); - -Index: filters/generic_wrapper/generic_filter.desktop -=================================================================== ---- filters/generic_wrapper/generic_filter.desktop (revision 427945) -+++ filters/generic_wrapper/generic_filter.desktop (working copy) -@@ -3,6 +3,7 @@ - Name=Generic KOffice Filter - Name[ca]=Filtre genèric de KOffice - Name[cs]=Obecný filtr KOffice -+Name[cy]=Hidlen generig KOffice - Name[da]=Generisk KOffice-filter - Name[de]=Generischer KOffice-Filter - Name[el]=Γενικό φίλτρο του KOffice -Index: krita/plugins/cimg/CImg.h -=================================================================== ---- krita/plugins/cimg/CImg.h (revision 427945) -+++ krita/plugins/cimg/CImg.h (working copy) -@@ -5135,7 +5135,7 @@ - if (ny1<0 || ny0>=dimy()) return *this; - if (ny0<0) { nx0-=ny0*(nx1-nx0)/(ny1-ny0); ny0=0; } - if (ny1>=dimy()) { nx1+=(ny1-dimy())*(nx0-nx1)/(ny1-ny0); ny1=dimy()-1;} -- const unsigned int dmax = (unsigned int)cimg::max(std::abs(nx1-nx0),ny1-ny0), whz = width*height*depth; -+ const unsigned int dmax = (unsigned int)cimg::max(std::abs((long int)(nx1-nx0)),(long int)(ny1-ny0)), whz = width*height*depth; - const float px = dmax?(nx1-nx0)/(float)dmax:0, py = dmax?(ny1-ny0)/(float)dmax:0; - float x = (float)nx0, y = (float)ny0; - if (opacity>=1) for (unsigned int t=0; t<=dmax; t++) { -Index: krita/plugins/tool_polygon/kritatoolpolygon.desktop -=================================================================== ---- krita/plugins/tool_polygon/kritatoolpolygon.desktop (revision 427945) -+++ krita/plugins/tool_polygon/kritatoolpolygon.desktop (working copy) -@@ -2,6 +2,7 @@ - Encoding=UTF-8 - Name=Polygon Tool - Name[br]=Ostilh liestueg -+Name[cy]=Erfyn Polygon - Name[da]=Polygonværktøj - Name[de]=Polygon-Werkzeug - Name[el]=Εργαλείο πολυγώνου -Index: krita/plugins/tool_polyline/kritatoolpolyline.desktop -=================================================================== ---- krita/plugins/tool_polyline/kritatoolpolyline.desktop (revision 427945) -+++ krita/plugins/tool_polyline/kritatoolpolyline.desktop (working copy) -@@ -1,6 +1,7 @@ - [Desktop Entry] - Encoding=UTF-8 - Name=Polyline Tool -+Name[cy]=Erfyn Polylinell - Name[da]=Flerlinjeværktøj - Name[de]=Polylinien-Werkzeug - Name[el]=Εργαλείο Polyline -Index: krita/plugins/imagemagick/kritamagick.desktop -=================================================================== ---- krita/plugins/imagemagick/kritamagick.desktop (revision 427945) -+++ krita/plugins/imagemagick/kritamagick.desktop (working copy) -@@ -14,7 +14,8 @@ - Name[nn]=ImageMagick-omslag - Name[pt]=Interface para ImageMagick - Name[pt_BR]=Wrapper do ImageMagick --Name[ru]=Интерфейс к ImageMagick -+Name[ru]=Оболочка к ImageMagick -+Name[sl]=Ovojnik za ImageMagick - Name[sr]=Омотач ImageMagick-а - Name[sr@Latn]=Omotač ImageMagick-a - Name[sv]=ImageMagick-gränssnitt -@@ -35,7 +36,7 @@ - Comment[nn]=ImageMagick-basert import, eksport og filkonvertering - Comment[pt]=Importação/exportação e conversão de ficheiro com o ImageMagick - Comment[pt_BR]=Conversão de arquivos e filtro de importação/exportação baseado no ImageMagick --Comment[ru]=Фильтр импорта/экспорта рисунков посредством ImageMagick -+Comment[ru]=Фильтр импорта/экспорта и преобразования формата посредством ImageMagick - Comment[sr]=Увоз, извоз и конверзија фајлова помоћу ImageMagick-а - Comment[sr@Latn]=Uvoz, izvoz i konverzija fajlova pomoću ImageMagick-a - Comment[sv]=ImageMagick-baserad import, export och filkonvertering -Index: krita/plugins/tool_crop/kritatoolcrop.desktop -=================================================================== ---- krita/plugins/tool_crop/kritatoolcrop.desktop (revision 427945) -+++ krita/plugins/tool_crop/kritatoolcrop.desktop (working copy) -@@ -16,7 +16,7 @@ - Name[nn]=Beskjæringsverktøy - Name[pt]=Ferramenta de Recorte - Name[pt_BR]=Ferramenta de Recorte --Name[ru]=Инструмент обрезки -+Name[ru]=Обрезка - Name[sl]=Orodje za obrezavo - Name[sr]=Алат за сасецање - Name[sr@Latn]=Alat za sasecanje -Index: krita/plugins/selectiontools/kritaselectiontools.desktop -=================================================================== ---- krita/plugins/selectiontools/kritaselectiontools.desktop (revision 427945) -+++ krita/plugins/selectiontools/kritaselectiontools.desktop (working copy) -@@ -2,12 +2,14 @@ - Encoding=UTF-8 - Name=Selection Tools - Name[ca]=Eines de selecció -+Name[cy]=Offer Detholi - Name[da]=Markeringsværktøj - Name[de]=Auswahlwerkzeuge - Name[el]=Εργαλεία επιλογής - Name[es]=Herramientas de selección - Name[et]=Valikutööriistad - Name[fr]=Outils de sélection -+Name[ga]=Uirlisí Roghnúcháin - Name[he]=כלי בחירה - Name[hu]=Kiválasztó eszközök - Name[it]=Strumenti di selezione -Index: krita/plugins/tool_star/kritatoolstar.desktop -=================================================================== ---- krita/plugins/tool_star/kritatoolstar.desktop (revision 427945) -+++ krita/plugins/tool_star/kritatoolstar.desktop (working copy) -@@ -2,6 +2,7 @@ - Encoding=UTF-8 - Name=Star Tool - Name[br]=Ostilh steredenn -+Name[cy]=Erfyn Seren - Name[da]=Stjerneværktøj - Name[de]=Sterne-Werkzeug - Name[el]=Εργαλείο αστέρα -@@ -18,6 +19,7 @@ - Name[pt]=Ferramenta de Estrelas - Name[pt_BR]=Ferramenta Estrela - Name[ru]=Звёзды -+Name[sl]=Zvezdno orodje - Name[sr]=Алат за звезде - Name[sr@Latn]=Alat za zvezde - Name[sv]=Stjärnverktyg -Index: krita/plugins/tool_transform/kritatooltransform.desktop -=================================================================== ---- krita/plugins/tool_transform/kritatooltransform.desktop (revision 427945) -+++ krita/plugins/tool_transform/kritatooltransform.desktop (working copy) -@@ -16,7 +16,7 @@ - Name[nn]=Beskjæringsverktøy - Name[pt]=Ferramenta de Recorte - Name[pt_BR]=Ferramenta de Recorte --Name[ru]=Инструмент обрезки -+Name[ru]=Обрезка - Name[sl]=Orodje za obrezavo - Name[sr]=Алат за сасецање - Name[sr@Latn]=Alat za sasecanje -Index: krita/krita.desktop -=================================================================== ---- krita/krita.desktop (revision 427945) -+++ krita/krita.desktop (working copy) -@@ -22,6 +22,7 @@ - GenericName[fa]=برنامه دستکاری تصویر - GenericName[fi]=Kuvienmuokkausohjelma - GenericName[fr]=Logiciel de manipulation d'images -+GenericName[ga]=Clár Ionramhála na nÍomhánna - GenericName[he]=תוכנית לטיפול בתמונות - GenericName[hr]=Program za obradu slika - GenericName[hu]=Képszerkesztő -@@ -39,7 +40,7 @@ - GenericName[pt]=Programa de Manipulação de Imagens - GenericName[pt_BR]=Manipulador de Imagens - GenericName[ro]=Program de procesare imagini --GenericName[ru]=Редактор графических изображений -+GenericName[ru]=Программа редактирования изображений - GenericName[sk]=Program pre úpravu obrázkov - GenericName[sl]=Program za obdelavo slik - GenericName[sr]=Програм за уређивање слика -Index: krita/core/kis_paint_device.cc -=================================================================== ---- krita/core/kis_paint_device.cc (revision 427945) -+++ krita/core/kis_paint_device.cc (working copy) -@@ -791,24 +791,23 @@ - QRect r = m_selection -> selectedRect(); - r = r.normalize(); - -+ for (Q_INT32 y = 0; y < r.height(); y++) { -+ KisHLineIterator devIt = createHLineIterator(r.x(), r.y() + y, r.width(), true); -+ KisHLineIterator selectionIt = m_selection -> createHLineIterator(r.x(), r.y() + y, r.width(), false); - -- KisRectIterator devIt = createRectIterator(r.x(), r.y(), r.width(), r.height(), true); -- KisRectIterator selectionIt = m_selection -> createRectIterator(r.x(), r.y(), r.width(), r.height(), false); -+ while (!devIt.isDone()) { -+ KisPixel p = toPixel(devIt.rawData()); -+ KisPixel s = m_selection -> toPixel(selectionIt.rawData()); -+ Q_UINT16 p_alpha, s_alpha; -+ p_alpha = p.alpha(); -+ s_alpha = MAX_SELECTED - s.alpha(); - -- while (!devIt.isDone()) { -- KisPixel p = toPixel(devIt.rawData()); -- KisPixel s = m_selection -> toPixel(selectionIt.rawData()); -- Q_UINT16 p_alpha, s_alpha; -- p_alpha = p.alpha(); -- s_alpha = MAX_SELECTED - s.alpha(); -- -- p.alpha() = (Q_UINT8) ((p_alpha * s_alpha) >> 8); -+ p.alpha() = (Q_UINT8) ((p_alpha * s_alpha) >> 8); - -- ++devIt; -- ++selectionIt; -+ ++devIt; -+ ++selectionIt; -+ } - } -- -- - } - - void KisPaintDevice::applySelectionMask(KisSelectionSP mask) -Index: krita/core/kis_selection_manager.cc -=================================================================== ---- krita/core/kis_selection_manager.cc (revision 427945) -+++ krita/core/kis_selection_manager.cc (working copy) -@@ -319,20 +319,22 @@ - - // Apply selection mask. - -- KisRectIterator layerIt = clip -> createRectIterator(0, 0, r.width(), r.height(), true); -- KisRectIterator selectionIt = selection -> createRectIterator(r.x(), r.y(), r.width(), r.height(), false); -+ for (Q_INT32 y = 0; y < r.height(); y++) { -+ KisHLineIterator layerIt = clip -> createHLineIterator(0, y, r.width(), true); -+ KisHLineIterator selectionIt = selection -> createHLineIterator(r.x(), r.y() + y, r.width(), false); - -- while (!layerIt.isDone()) { -- KisPixel p = clip -> toPixel(layerIt.rawData()); -- KisPixel s = selection -> toPixel(selectionIt.rawData()); -- Q_UINT16 p_alpha, s_alpha; -- p_alpha = p.alpha(); -- s_alpha = s.alpha(); -- -- p.alpha() = (Q_UINT8) ((p_alpha * s_alpha) >> 8); -- -- ++layerIt; -- ++selectionIt; -+ while (!layerIt.isDone()) { -+ KisPixel p = clip -> toPixel(layerIt.rawData()); -+ KisPixel s = selection -> toPixel(selectionIt.rawData()); -+ Q_UINT16 p_alpha, s_alpha; -+ p_alpha = p.alpha(); -+ s_alpha = s.alpha(); -+ -+ p.alpha() = (Q_UINT8) ((p_alpha * s_alpha) >> 8); -+ -+ ++layerIt; -+ ++selectionIt; -+ } - } - - // kdDebug() << "Selection copied: " -Index: krita/core/tiles/kis_tiledrectiterator.cc -=================================================================== ---- krita/core/tiles/kis_tiledrectiterator.cc (revision 427945) -+++ krita/core/tiles/kis_tiledrectiterator.cc (working copy) -@@ -66,7 +66,8 @@ - m_xInTile = m_leftInTile; - m_yInTile = m_topInTile; - -- fetchTileData(m_col, m_row); -+ if (! m_beyondEnd) -+ fetchTileData(m_col, m_row); - m_offset = m_pixelSize * (m_yInTile * KisTile::WIDTH + m_xInTile); - } - -Index: krita/core/builder/kis_image_magick_converter.cc -=================================================================== ---- krita/core/builder/kis_image_magick_converter.cc (revision 427945) -+++ krita/core/builder/kis_image_magick_converter.cc (working copy) -@@ -64,10 +64,10 @@ - */ - KisStrategyColorSpaceSP getColorSpaceForColorType(ColorspaceType type) { - if (type == GRAYColorspace) { -- KisColorSpaceRegistry::instance() -> get(KisID("CMYK", "")); -+ return KisColorSpaceRegistry::instance() -> get(KisID("GRAYA", "")); - } - else if (type == CMYKColorspace) { -- return KisColorSpaceRegistry::instance() -> get(KisID("GRAYA", "")); -+ return KisColorSpaceRegistry::instance() -> get(KisID("CMYK", "")); - } - else if (type == RGBColorspace || type == sRGBColorspace || type == TransparentColorspace) { - return KisColorSpaceRegistry::instance() -> get(KisID("RGBA", "")); -Index: krita/core/kis_view.cc -=================================================================== ---- krita/core/kis_view.cc (revision 427945) -+++ krita/core/kis_view.cc (working copy) -@@ -218,8 +218,7 @@ - { - delete m_dcop; - delete m_dockerManager; -- -- -+ delete m_selectionManager; - } - - DCOPObject* KisView::dcopObject() -Index: krita/core/kis_iterators_pixel.h -=================================================================== ---- krita/core/kis_iterators_pixel.h (revision 427945) -+++ krita/core/kis_iterators_pixel.h (working copy) -@@ -37,6 +37,7 @@ - public: - KisHLineIteratorPixel( KisPaintDevice *ndevice, KisDataManager *dm, KisDataManager *sel_dm, Q_INT32 x , Q_INT32 y , Q_INT32 w, Q_INT32 offsetx, Q_INT32 offsety, bool writable); - -+ ~KisHLineIteratorPixel() { delete m_selectionIterator; } - inline KisHLineIteratorPixel & operator ++() { KisHLineIterator::operator++(); advance(1); return *this;} - - /// Advances a number of pixels until it reaches the end of the line -@@ -52,6 +53,7 @@ - { - public: - KisVLineIteratorPixel( KisPaintDevice *ndevice, KisDataManager *dm, KisDataManager *sel_dm, Q_INT32 xpos , Q_INT32 ypos , Q_INT32 height, Q_INT32 offsetx, Q_INT32 offsety, bool writable); -+ ~KisVLineIteratorPixel() { delete m_selectionIterator; } - - inline KisVLineIteratorPixel & operator ++() { KisVLineIterator::operator++(); advance(1); return *this;} - -@@ -65,6 +67,7 @@ - { - public: - KisRectIteratorPixel( KisPaintDevice *ndevice, KisDataManager *dm, KisDataManager *sel_dm, Q_INT32 x, Q_INT32 y, Q_INT32 w, Q_INT32 h, Q_INT32 offsetx, Q_INT32 offsety, bool writable); -+ ~KisRectIteratorPixel() { delete m_selectionIterator; } - - inline KisRectIteratorPixel & operator ++() { KisRectIterator::operator++(); advance(1); return *this;} - -Index: krita/paintops/kritadefaultpaintops.desktop -=================================================================== ---- krita/paintops/kritadefaultpaintops.desktop (revision 427945) -+++ krita/paintops/kritadefaultpaintops.desktop (working copy) -@@ -15,7 +15,7 @@ - Name[nn]=Standard måleoperasjonar - Name[pt]=Operações de Pintura Predefinidas - Name[pt_BR]=Operações de pintura padrão --Name[ru]=Стандартные действия рисования -+Name[ru]=Стандартные операции рисования - Name[sr]=Подразумеване сликарске операције - Name[sr@Latn]=Podrazumevane slikarske operacije - Name[sv]=Förvalda målningsoperationer -@@ -36,7 +36,7 @@ - Comment[nn]=Standard måleoperasjonar - Comment[pt]=Operações de pintura predefinidas - Comment[pt_BR]=Operações de pintura padrão --Comment[ru]=Действия рисования по умолчанию -+Comment[ru]=Операции рисования по умолчанию - Comment[sr]=Подразумеване сликарске операције - Comment[sr@Latn]=Podrazumevane slikarske operacije - Comment[sv]=Förvalda ritåtgärder -Index: krita/modules/colorspace_ws/kritawsplugin.desktop -=================================================================== ---- krita/modules/colorspace_ws/kritawsplugin.desktop (revision 427945) -+++ krita/modules/colorspace_ws/kritawsplugin.desktop (working copy) -@@ -13,7 +13,7 @@ - Name[nn]=Fargemodell for vått lerret - Name[pt]=Modelo de Cores de Tela Molhado e Pegajoso - Name[pt_BR]=Modelo de cores de tela Molhada & Pegajosa --Name[ru]=Цветовая модель влажности и прилипания -+Name[ru]=Цветовая модель с параметрами влажности и прилипания - Name[sr]=Модел боја мокрог и лепљивог платна - Name[sr@Latn]=Model boja mokrog i lepljivog platna - Name[sv]=Våt och klibbig dukfärgmodell -Index: krita/modules/colorspace_rgb/templates/transparent_1280x1024.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/transparent_1280x1024.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/transparent_1280x1024.desktop (working copy) -@@ -4,6 +4,7 @@ - URL=.source/transparent_1280x1024.kra - Icon=template_rgb_empty - Name=Transparent 1280 x 1024 -+Name[br]=Treuzwelus 1280 x 1024 - Name[da]=Gennemsigtig 1280 x 1024 - Name[el]=Διαφανής 1280 x 1024 - Name[es]=1280 x 1024 transparente -@@ -16,7 +17,7 @@ - Name[nn]=Gjennomsiktig 1280 × 1024 - Name[pt]=Transparente 1280 x 1024 - Name[pt_BR]=Transparente de 1280 x 1024 --Name[ru]=Прозрачный 1280x1024 -+Name[ru]=Рисунок 1280x1024, прозрачный фон - Name[sl]=Prosojna 1280 x 1024 - Name[sr]=Провидна 1280 x 1024 - Name[sr@Latn]=Providna 1280 x 1024 -@@ -39,7 +40,7 @@ - Comment[nn]=Lagar eit gjennomsiktig bilete på 1280 × 1024 pikslar. - Comment[pt]=Cria uma imagem transparente com 1280 x 1024 pontos. - Comment[pt_BR]=Cria uma imagem transparente de 1280 x 1024 pixels. --Comment[ru]=Прозрачное, 1280x1024. -+Comment[ru]=Рисунок 1280x1024, прозрачный фон. - Comment[sl]=Ustvari prosojno sliko velikosti 1280 x 1024 točk. - Comment[sr]=Прави провидну слику са 1280 x 1024 пиксела. - Comment[sr@Latn]=Pravi providnu sliku sa 1280 x 1024 piksela. -Index: krita/modules/colorspace_rgb/templates/transparent_640x480.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/transparent_640x480.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/transparent_640x480.desktop (working copy) -@@ -4,6 +4,7 @@ - URL=.source/transparent_1600x1200.kra - Icon=template_rgb_empty - Name=Transparent 640 x 480 -+Name[br]=Treuzwelus 640 x 480 - Name[da]=Gennemsigtig 640 x 480 - Name[el]=Διαφανής 640 x 480 - Name[es]=640 x 480 transparente -@@ -16,7 +17,7 @@ - Name[nn]=Gjennomsiktig 640 × 480 - Name[pt]=Transparente 640 x 480 - Name[pt_BR]=Transparente de 640 x 480 --Name[ru]=Прозрачный 640x480 -+Name[ru]=Рисунок 640x480, прозрачный фон - Name[sl]=Prosojna 640 x 480 - Name[sr]=Провидна 640 x 480 - Name[sr@Latn]=Providna 640 x 480 -@@ -39,7 +40,7 @@ - Comment[nn]=Lagar eit gjennomsiktig bilete på 640 × 480 pikslar. - Comment[pt]=Cria uma imagem transparente com 640 x 480 pontos. - Comment[pt_BR]=Cria uma imagem transparente de 640 x 480 pixels. --Comment[ru]=Прозрачное, 640x480. -+Comment[ru]=Рисунок 640x480, прозрачный фон. - Comment[sl]=Ustvari prosojno sliko velikosti 640 x 480 točk. - Comment[sr]=Прави провидну слику са 640 x 480 пиксела. - Comment[sr@Latn]=Pravi providnu sliku sa 640 x 480 piksela. -Index: krita/modules/colorspace_rgb/templates/white_1600x1200.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/white_1600x1200.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/white_1600x1200.desktop (working copy) -@@ -10,6 +10,7 @@ - Name[es]=1600 x 1200 blanco - Name[et]=Valge 1600 x 1200 - Name[fr]=Image blanche 1600 x 1200 -+Name[ga]=Bán 1600×1200 - Name[he]=לבן 1600 x 1200 - Name[hu]=Fehér 1600 x 1200 - Name[it]=Bianco 1600 x 1200 -@@ -17,7 +18,7 @@ - Name[nn]=Kvitt 1600 × 1200 - Name[pt]=Branca 1600 x 1200 - Name[pt_BR]=1600 x 1200 em Branco --Name[ru]=Белый 1600x1200 -+Name[ru]=Рисунок 1600x1200, белый фон - Name[sl]=Bela 1600 x 1200 - Name[sr]=Бела 1600 x 1200 - Name[sr@Latn]=Bela 1600 x 1200 -@@ -39,7 +40,7 @@ - Comment[nn]=Lagar eit kvitt RGB-bilete på 1600 × 1200 pikslar. - Comment[pt]=Cria uma imagem RGB branca com 1600 x 1200 pontos. - Comment[pt_BR]=Cria uma imagem RGB em branco de 1600 x 1200 pixels. --Comment[ru]=Белое в формате RGB, 1600x1200. -+Comment[ru]=Рисунок RGB 1600x1200, белый фон. - Comment[sl]=Ustvari belo sliko RGB velikosti 1600 x 1200 točk. - Comment[sr]=Прави белу RGB слику са 1600 x 1200 пиксела. - Comment[sr@Latn]=Pravi belu RGB sliku sa 1600 x 1200 piksela. -Index: krita/modules/colorspace_rgb/templates/white_1024x768.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/white_1024x768.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/white_1024x768.desktop (working copy) -@@ -13,6 +13,7 @@ - Name[es]=1024 x 768 blanco - Name[et]=Valge 1024 x 768 - Name[fr]=Image blanche 1024 x 768 -+Name[ga]=Bán 1024×768 - Name[he]=לבן 1024 x 768 - Name[hu]=Fehér 1024 x 768 - Name[it]=Bianco 1024 x 768 -@@ -21,7 +22,7 @@ - Name[nn]=Kvitt 1024 × 768 - Name[pt]=Branca 1024 x 768 - Name[pt_BR]=1024 x 768 em Branco --Name[ru]=Белый 1024x768 -+Name[ru]=Рисунок 1024x768, белый фон - Name[sl]=Bela 1024 x 768 - Name[sr]=Бела 1024 x 768 - Name[sr@Latn]=Bela 1024 x 768 -@@ -46,7 +47,7 @@ - Comment[nn]=Lagar eit kvitt RGB-bilete på 1024 × 768 pikslar. - Comment[pt]=Cria uma imagem RGB branca com 1024 x 768 pontos. - Comment[pt_BR]=Cria uma imagem RGB em branco de 1024 x 768 pixéis. --Comment[ru]=Белое в формате RGB, 1024x768. -+Comment[ru]=Рисунок RGB 1024x768, белый фон. - Comment[sl]=Ustvari belo sliko RGB velikosti 1024 x 768 točk. - Comment[sr]=Прави белу RGB слику са 1024 x 768 пиксела. - Comment[sr@Latn]=Pravi belu RGB sliku sa 1024 x 768 piksela. -Index: krita/modules/colorspace_rgb/templates/white_1280x1024.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/white_1280x1024.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/white_1280x1024.desktop (working copy) -@@ -10,6 +10,7 @@ - Name[es]=1280 x 1024 blanco - Name[et]=Valge 1280 x 1024 - Name[fr]=Image blanche 1280 x 1024 -+Name[ga]=Bán 1280×1024 - Name[he]=לבן 1280 x 1024 - Name[hu]=Fehér 1280 x 1024 - Name[it]=Bianco 1280 x 1024 -@@ -17,7 +18,7 @@ - Name[nn]=Kvitt 1280 × 1024 - Name[pt]=Branca 1280 x 1024 - Name[pt_BR]=1280 x 1024 em Branco --Name[ru]=Белый 1280x1024 -+Name[ru]=Рисунок 1280x1024, белый фон - Name[sl]=Bela 1280 x 1024 - Name[sr]=Бела 1280 x 1024 - Name[sr@Latn]=Bela 1280 x 1024 -@@ -39,7 +40,7 @@ - Comment[nn]=Lagar eit kvitt RGB-bilete på 1280 × 1024 pikslar. - Comment[pt]=Cria uma imagem RGB branca com 1280 x 1024 pontos. - Comment[pt_BR]=Cria uma imagem RGB em branco de 1280 x 1024 pixels. --Comment[ru]=Белое в формате RGB, 1280x1024. -+Comment[ru]=Рисунок RGB 1280x1024, белый фон. - Comment[sl]=Ustvari belo sliko RGB velikosti 1280 x 1024 točk. - Comment[sr]=Прави белу RGB слику са 1280 x 1024 пиксела. - Comment[sr@Latn]=Pravi belu RGB sliku sa 1280 x 1024 piksela. -Index: krita/modules/colorspace_rgb/templates/white_640x480.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/white_640x480.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/white_640x480.desktop (working copy) -@@ -13,6 +13,7 @@ - Name[es]=640x480 blanco - Name[et]=Valge 640x480 - Name[fr]=Image blanche 640 x 480 -+Name[ga]=Bán 640×480 - Name[he]=לבן 640x480 - Name[hu]=Fehér 640 x 480 - Name[it]=Bianco 640x480 -@@ -21,7 +22,7 @@ - Name[nn]=Kvitt 640 × 480 - Name[pt]=Branca 640x480 - Name[pt_BR]=640x480 em Branco --Name[ru]=Белый 640x480 -+Name[ru]=Рисунок 640x480, белый фон - Name[sl]=Bela 640x480 - Name[sr]=Бела 640x480 - Name[sr@Latn]=Bela 640x480 -@@ -42,11 +43,11 @@ - Comment[hu]=Létrehoz egy 640 x 480 képpontos fehér RGB képet. - Comment[it]=Crea un'immagine RGB bianca di 640 x 480 pixel. - Comment[nb]=Lager et hvitt bilde på 640 x 480 piksler. --Comment[nl]=Maakt een witte RGB-afbeelding aan van 540 x 480 pixels. -+Comment[nl]=Maakt een witte RGB-afbeelding aan van 640 x 480 pixels. - Comment[nn]=Lagar eit kvitt RGB-bilete på 640 × 480 pikslar. - Comment[pt]=Cria uma imagem RGB branca com 640 x 480 pontos. - Comment[pt_BR]=Cria uma imagem RGB em branco de 640 x 480 pixéis. --Comment[ru]=Белое в формате RGB, 640x480. -+Comment[ru]=Рисунок RGB 640x480, белый фон. - Comment[sl]=Ustvari belo sliko RGB velikosti 640 x 480 točk. - Comment[sr]=Прави белу RGB слику са 640 x 480 пиксела. - Comment[sr@Latn]=Pravi belu RGB sliku sa 640 x 480 piksela. -Index: krita/modules/colorspace_rgb/templates/transparent_1600x1200.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/transparent_1600x1200.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/transparent_1600x1200.desktop (working copy) -@@ -5,6 +5,7 @@ - Icon=template_rgb_empty - Name=Transparent 1600 x 1200 - Name[bg]=Прозрачно 1600 x 1200 -+Name[br]=Treuzwelus 1600 x 1200 - Name[da]=Gennemsigtig 1600 x 1200 - Name[el]=Διαφανής 1600 x 1200 - Name[es]=1600 x 1200 transparente -@@ -18,7 +19,7 @@ - Name[nn]=Gjennomsiktig 1600 × 1200 - Name[pt]=Transparente 1600 x 1200 - Name[pt_BR]=Transparente de 1600 x 1200 --Name[ru]=Прозрачный 1600x1200 -+Name[ru]=Рисунок 1600x1200, прозрачный фон - Name[sl]=Prosojna 1600 x 1200 - Name[sr]=Провидна 1600 x 1200 - Name[sr@Latn]=Providna 1600 x 1200 -@@ -44,7 +45,7 @@ - Comment[nn]=Lagar eit gjennomsiktig bilete på 1600 × 1200 pikslar. - Comment[pt]=Cria uma imagem transparente com 1600 x 1200 pontos. - Comment[pt_BR]=Cria uma imagem transparente de 1600 x 1200 pixéis. --Comment[ru]=Прозрачное, 1600x1200. -+Comment[ru]=Рисунок 1600x1200, прозрачный фон. - Comment[sl]=Ustvari prosojno sliko velikosti 1600 x 1200 točk. - Comment[sr]=Прави провидну слику са 1600 x 1200 пиксела. - Comment[sr@Latn]=Pravi providnu sliku sa 1600 x 1200 piksela. -Index: krita/modules/colorspace_rgb/templates/transparent_1024x768.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/transparent_1024x768.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/transparent_1024x768.desktop (working copy) -@@ -4,6 +4,7 @@ - URL=.source/transparent_1024x768.kra - Icon=template_rgb_empty - Name=Transparent 1024 x 768 -+Name[br]=Treuzwelus 1024 x 768 - Name[da]=Gennemsigtig 1024 x 768 - Name[el]=Διαφανής 1024 x 768 - Name[es]=1024 x 768 transparente -@@ -16,7 +17,7 @@ - Name[nn]=Gjennomsiktig 1024 × 768 - Name[pt]=Transparente 1024 x 768 - Name[pt_BR]=Transparente de 1024 x 768 --Name[ru]=Прозрачный 1024x768 -+Name[ru]=Рисунок 1024x768, прозрачный фон - Name[sl]=Prosojna 1024 x 768 - Name[sr]=Провидна 1024 x 768 - Name[sr@Latn]=Providna 1024 x 768 -@@ -39,7 +40,7 @@ - Comment[nn]=Lagar eit gjennomsiktig bilete på 1024 × 768 pikslar. - Comment[pt]=Cria uma imagem transparente com 1024 x 768 pontos. - Comment[pt_BR]=Cria uma imagem transparente de 1024 x 768 pixels. --Comment[ru]=Прозрачное, 1024x768. -+Comment[ru]=Рисунок 1024x768, прозрачный фон. - Comment[sl]=Ustvari prosojno sliko velikosti 1024 x 768 točk. - Comment[sr]=Прави провидну слику са 1024 x 768 пиксела. - Comment[sr@Latn]=Pravi providnu sliku sa 1024 x 768 piksela. -Index: krita/modules/krita_module.desktop -=================================================================== ---- krita/modules/krita_module.desktop (revision 427945) -+++ krita/modules/krita_module.desktop (working copy) -@@ -19,6 +19,7 @@ - Comment[pt]=Módulo de funcionalidade nuclear para o Krita - Comment[pt_BR]=Módulo de funcionalidades principais para o Krita - Comment[ru]=Движок Krita -+Comment[sl]=Modul za osnovne zmožnosti Krite - Comment[sr]=Модел основне функционалности за Krita-у - Comment[sr@Latn]=Model osnovne funkcionalnosti za Krita-u - Comment[sv]=Modul med kärnfunktioner för Krita -Index: krita/modules/colorspace_gray/templates/white_640x480.desktop -=================================================================== ---- krita/modules/colorspace_gray/templates/white_640x480.desktop (revision 427945) -+++ krita/modules/colorspace_gray/templates/white_640x480.desktop (working copy) -@@ -12,6 +12,7 @@ - Name[es]=Fondo blanco, 640 x 480 - Name[et]=Valge taust, 640 x 480 - Name[fr]=Fond blanc 640 x 480 -+Name[ga]=Cúlra Bán, 640×480 - Name[he]=רקע לבן, 640 x 480 - Name[hu]=Fehér háttér, 640 x 480 - Name[it]=Sfondo bianco, 640 x 480 -@@ -20,7 +21,7 @@ - Name[nn]=Kvit bakgrunn, 640 × 480 - Name[pt]=Fundo Branco, 640 x 480 - Name[pt_BR]=Fundo em branco, 640 x 480 --Name[ru]=Белый фон, 640x480 -+Name[ru]=Рисунок 640x480, белый фон - Name[sl]=Belo ozadje, 640 x 480 - Name[sr]=Бела позадина, 640 x 480 - Name[sr@Latn]=Bela pozadina, 640 x 480 -@@ -46,7 +47,7 @@ - Comment[nn]=Lagar eit bilete på 640 × 480 pikslar med ein kvit bakgrunn. - Comment[pt]=Cria uma imagem de 640 x 480 pontos com um fundo branco. - Comment[pt_BR]=Cria uma imagem de 640 x 480 pixéis com um fundo branco. --Comment[ru]=Белое, 640x480. -+Comment[ru]=Рисунок 640x480, белый фон. - Comment[sl]=Ustvari sliko velikosti 640 x 480 točk z belim ozadjem. - Comment[sr]=Прави слику од 640 x 480 пиксела са белом позадином. - Comment[sr@Latn]=Pravi sliku od 640 x 480 piksela sa belom pozadinom. -Index: krita/modules/colorspace_cmyk/kritacmykplugin.desktop -=================================================================== ---- krita/modules/colorspace_cmyk/kritacmykplugin.desktop (revision 427945) -+++ krita/modules/colorspace_cmyk/kritacmykplugin.desktop (working copy) -@@ -46,7 +46,7 @@ - Comment[nn]=Fargemodell for CMYK-bilete med 8 bit per kanal - Comment[pt]=Modelo de cor para imagens CMYK com 8 bits por canal - Comment[pt_BR]=Modelo de cor para imagens com 8-bits de canal CMYK --Comment[ru]=Цветовая модель для изображений в CMYK (болотный, пурпурный, жёлтый, чёрный) 8-бит/канал -+Comment[ru]=Цветовая модель для изображений в CMYK (циан, пурпурный, жёлтый, чёрный) 8-бит/канал - Comment[sl]=Barvni model za slike CMYK z 8 biti/kanal - Comment[sr]=Модел боја за CMYK слике са 8 битова/каналу - Comment[sr@Latn]=Model boja za CMYK slike sa 8 bitova/kanalu -Index: krita/modules/colorspace_cmyk/templates/white_2000x800.desktop -=================================================================== ---- krita/modules/colorspace_cmyk/templates/white_2000x800.desktop (revision 427945) -+++ krita/modules/colorspace_cmyk/templates/white_2000x800.desktop (working copy) -@@ -12,6 +12,7 @@ - Name[es]=2000 x 800 blanco - Name[et]=Valge 2000 x 800 - Name[fr]=Image blanche 2000 x 800 -+Name[ga]=Bán 2000×800 - Name[he]=לבן 2000 x 800 - Name[hu]=fehér 2000 x 800 - Name[it]=Bianco 2000 x 800 -@@ -45,7 +46,7 @@ - Comment[nn]=Lagar eit kvitt CMYK-bilete på 2000 × 800 pikslar. - Comment[pt]=Cria uma imagem CMYK branca com 2000 x 800 pontos. - Comment[pt_BR]=Cria uma imagem CMYK em branco de 2000 x 800 pixéis. --Comment[ru]=Белое в формате CMYK, 2000x800. -+Comment[ru]=Рисунок CMYK, 2000x800, белый фон. - Comment[sl]=Ustvari belo sliko CMYK velikosti 2000 x 800 točk. - Comment[sr]=Прави белу CMYK слику са 2000 x 800 пиксела. - Comment[sr@Latn]=Pravi belu CMYK sliku sa 2000 x 800 piksela. -Index: krita/data/krita_module.desktop -=================================================================== ---- krita/data/krita_module.desktop (revision 427945) -+++ krita/data/krita_module.desktop (working copy) -@@ -19,6 +19,7 @@ - Comment[pt]=Módulo de funcionalidade nuclear para o Krita - Comment[pt_BR]=Módulo de funcionalidades principais para o Krita - Comment[ru]=Движок Krita -+Comment[sl]=Modul za osnovne zmožnosti Krite - Comment[sr]=Модел основне функционалности за Krita-у - Comment[sr@Latn]=Model osnovne funkcionalnosti za Krita-u - Comment[sv]=Modul med kärnfunktioner för Krita -Index: krita/data/krita_paintop.desktop -=================================================================== ---- krita/data/krita_paintop.desktop (revision 427945) -+++ krita/data/krita_paintop.desktop (working copy) -@@ -17,6 +17,7 @@ - Comment[pt]=Módulo de operações de pintura do Krita - Comment[pt_BR]=plugin de operação de pintura para o Krita - Comment[ru]=Модуль рисования Krita -+Comment[sl]=vstavek za dejanja slikanja za Krito - Comment[sr]=Прикључак за сликарске операције за Krita-у - Comment[sr@Latn]=Priključak za slikarske operacije za Krita-u - Comment[sv]=Målningsinsticksprogram för Krita -Index: krita/kritapart.desktop -=================================================================== ---- krita/kritapart.desktop (revision 427945) -+++ krita/kritapart.desktop (working copy) -@@ -18,7 +18,7 @@ - Name[nn]=KOffice-komponent for biletmanipulering - Name[pt]=Componente de Manipulação de Imagens do KOffice - Name[pt_BR]=Componente de Manipulação de Imagens do KOffice --Name[ru]=Компонент редактирования изображений KOffice -+Name[ru]=Компонент редактирования изображений - Name[sl]=Komponenta za obdelavo slik za KOffice - Name[sr]=KOffice-ова компонента за манипулацију сликама - Name[sr@Latn]=KOffice-ova komponenta za manipulaciju slikama -@@ -49,7 +49,7 @@ - GenericName[nn]=Bilethandsaming - GenericName[pt]=Manipulação de Imagens - GenericName[pt_BR]=Manipulação de Imagens --GenericName[ru]=Редактор графических изображений -+GenericName[ru]=Редактирование изображений - GenericName[sl]=Obdelava slik - GenericName[sr]=Манипулација сликама - GenericName[sr@Latn]=Manipulacija slikama -Index: krita/ui/kis_layerbox.cc -=================================================================== ---- krita/ui/kis_layerbox.cc (revision 427945) -+++ krita/ui/kis_layerbox.cc (working copy) -@@ -372,7 +372,7 @@ - void KisLayerBoxItem::init(const QString& label, QListBox *parent, - KisLayerBox::flags f) - { -- KIconLoader il; -+ KIconLoader il( "krita" ); - - m_label = label; - -Index: krita/ui/kis_dockframedocker.cc -=================================================================== ---- krita/ui/kis_dockframedocker.cc (revision 427945) -+++ krita/ui/kis_dockframedocker.cc (working copy) -@@ -125,7 +125,6 @@ - m_page -> lblCaption -> show(); - m_page -> bnShade -> show(); - m_page -> lblCaption -> setText(caption()); -- resize(sizeHint()); - } - else { - m_docked = false; -@@ -133,7 +132,6 @@ - m_page -> bnShade -> hide(); - m_page -> tabWidget -> show(); - m_page -> lblCaption -> setText(""); -- resize(sizeHint()); - } - - } -Index: kchart/kchartpart.desktop -=================================================================== ---- kchart/kchartpart.desktop (revision 427945) -+++ kchart/kchartpart.desktop (working copy) -@@ -20,6 +20,7 @@ - Name[pt]=Componente de Gráficos do KOffice - Name[pt_BR]=Componente de Gráficos do KOffice - Name[ru]=Компонент диаграмм KOffice -+Name[sl]=Komponenta za grafe za KOffice - Name[sr]=KOffice-ова компонента за графике - Name[sr@Latn]=KOffice-ova komponenta za grafike - Name[sv]=Koffice-diagramkomponent -Index: kchart/kdchart/KDDrawText.cpp -=================================================================== ---- kchart/kdchart/KDDrawText.cpp (revision 427945) -+++ kchart/kdchart/KDDrawText.cpp (working copy) -@@ -256,10 +256,12 @@ - painter->setPen( QColor( Qt::darkGreen ) ); - painter->drawRect(x,y,txtWidth,txtHeight); - }else{ -+#if 0 - // Working around a strange Qt bug: Rotated painter must be - // initialized by drawing before text can be painted there. - painter->setPen( QColor( Qt::white ) ); - painter->drawLine( 30000,0,30001,0 ); -+#endif - } - painter->setPen( savePen ); - } -Index: kchart/kchartWizardSelectChartTypePage.cc -=================================================================== ---- kchart/kchartWizardSelectChartTypePage.cc (revision 427945) -+++ kchart/kchartWizardSelectChartTypePage.cc (working copy) -@@ -16,11 +16,11 @@ - namespace KChart - { - --KChartButton::KChartButton(QWidget *parent, const QString & _text, QPixmap *_pixmap) -+KChartButton::KChartButton(QWidget *parent, const QString & _text, const QPixmap &_pixmap) - : QVBox(parent) - { - m_button = new QPushButton(this); -- m_button->setPixmap(*_pixmap); -+ m_button->setPixmap(_pixmap); - m_button->setToggleButton( true ); - QLabel *label = new QLabel(_text, this); - label->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed); -@@ -30,16 +30,16 @@ - KChartButton::~KChartButton() - { - } -- -+ - void KChartWizardSelectChartTypePage::addButton(const QString &name, - const QString &icon_name, - int type) - { -- KChartButton *button = new KChartButton( this, name, &BarIcon( icon_name,KIcon::SizeMedium, KIcon::DefaultState,KChartFactory::global() ) ); -+ KChartButton *button = new KChartButton( this, name, BarIcon( icon_name,KIcon::SizeMedium, KIcon::DefaultState,KChartFactory::global() ) ); - _layout->addWidget(button,r_pos,c_pos); - _typeBG->insert( button->button(), type ); - -- if (c_pos == 3) -+ if (c_pos == 3) - { - c_pos=0; - r_pos++; //place the next button in the second row -Index: kchart/kchartWizardSelectChartTypePage.h -=================================================================== ---- kchart/kchartWizardSelectChartTypePage.h (revision 427945) -+++ kchart/kchartWizardSelectChartTypePage.h (working copy) -@@ -23,9 +23,9 @@ - { - Q_OBJECT - public: -- KChartButton(QWidget* parent, const QString &, QPixmap *); -+ KChartButton(QWidget* parent, const QString &, const QPixmap &); - ~KChartButton(); -- -+ - QPushButton *button() const { return m_button;} - private: - QPushButton *m_button; -Index: mimetypes/kde32/vnd.stardivision.math.desktop -=================================================================== ---- mimetypes/kde32/vnd.stardivision.math.desktop (revision 427945) -+++ mimetypes/kde32/vnd.stardivision.math.desktop (working copy) -@@ -25,7 +25,7 @@ - Comment[nn]=StarOffice-formel - Comment[pt]=Documento Matemático do StarOffice - Comment[pt_BR]=Documento do StarOffice Math --Comment[ru]=Формулы StarOffice -+Comment[ru]=Формула StarOffice - Comment[sl]=Dokument za StarOffice Math - Comment[sr]=StarOffice Math-ов документ - Comment[sr@Latn]=StarOffice Math-ov dokument -Index: mimetypes/kde32/vnd.stardivision.writer-global.desktop -=================================================================== ---- mimetypes/kde32/vnd.stardivision.writer-global.desktop (revision 427945) -+++ mimetypes/kde32/vnd.stardivision.writer-global.desktop (working copy) -@@ -23,7 +23,7 @@ - Comment[nn]=StarOffice Writer-hovuddokument - Comment[pt]=Documento Mestre do Writer do StarOffice - Comment[pt_BR]=Documento Mestre do StarOffice Writer --Comment[ru]=Основной документ StarOffice Writer -+Comment[ru]=Мастер-документ StarOffice - Comment[sl]=Dokument za StarOffice Writer Master - Comment[sr]=StarOffice Writer-ов главни документ - Comment[sr@Latn]=StarOffice Writer-ov glavni dokument -Index: mimetypes/kde32/vnd.sun.xml.writer.master.desktop -=================================================================== ---- mimetypes/kde32/vnd.sun.xml.writer.master.desktop (revision 427945) -+++ mimetypes/kde32/vnd.sun.xml.writer.master.desktop (working copy) -@@ -20,7 +20,7 @@ - Comment[nn]=OpenOffice.org-hovudtekstdokument - Comment[pt]=Documento Mestre de Texto do OpenOffice.org - Comment[pt_BR]=Documento Mestre de Texto do OpenOffice.org --Comment[ru]=Основной текстовый документ OpenOffice.org -+Comment[ru]=Мастер-документ OpenOffice.org - Comment[sr]=OpenOffice.org-ов главни текстуални документ - Comment[sr@Latn]=OpenOffice.org-ov glavni tekstualni dokument - Comment[sv]=Openoffice.org huvudtextdokument -Index: mimetypes/kde32/vnd.sun.xml.writer.template.desktop -=================================================================== ---- mimetypes/kde32/vnd.sun.xml.writer.template.desktop (revision 427945) -+++ mimetypes/kde32/vnd.sun.xml.writer.template.desktop (working copy) -@@ -21,7 +21,7 @@ - Comment[nn]=OpenOffice.org-tekstdokumentmal - Comment[pt]=Modelo de Documento de Texto do OpenOffice.org - Comment[pt_BR]=Modelo de Documento de Texto do OpenOffice.org --Comment[ru]=Шаблон текстового документа OpenОffice.org -+Comment[ru]=Шаблон документа OpenOffice.org - Comment[sl]=Predloga besedilnega dokumenta za OpenOffice.org - Comment[sr]=OpenOffice.org-ов шаблон текстуалног документа - Comment[sr@Latn]=OpenOffice.org-ov šablon tekstualnog dokumenta -Index: mimetypes/kde32/vnd.stardivision.draw.desktop -=================================================================== ---- mimetypes/kde32/vnd.stardivision.draw.desktop (revision 427945) -+++ mimetypes/kde32/vnd.stardivision.draw.desktop (working copy) -@@ -23,7 +23,7 @@ - Comment[nn]=StarOffice-teikning - Comment[pt]=Desenho do StarOffice - Comment[pt_BR]=Desenho do StarOffice --Comment[ru]=Изображение StarOffice -+Comment[ru]=Рисунок StarOffice - Comment[sl]=Risanje za StarOffice - Comment[sr]=StarOffice-ов цртеж - Comment[sr@Latn]=StarOffice-ov crtež -Index: mimetypes/kde32/vnd.sun.xml.draw.template.desktop -=================================================================== ---- mimetypes/kde32/vnd.sun.xml.draw.template.desktop (revision 427945) -+++ mimetypes/kde32/vnd.sun.xml.draw.template.desktop (working copy) -@@ -20,7 +20,7 @@ - Comment[nn]=OpenOffice.org-teikningsmal - Comment[pt]=Modelo de Desenho do OpenOffice.org - Comment[pt_BR]=Modelo de Desenho do OpenOffice.org --Comment[ru]=Шаблон изображения OpenOffice.org -+Comment[ru]=Шаблон рисунка OpenOffice.org - Comment[sl]=Predloga risanja za OpenOffice.org - Comment[sr]=OpenOffice.org-ов шаблон цртежа - Comment[sr@Latn]=OpenOffice.org-ov šablon crteža -Index: mimetypes/kde32/vnd.sun.xml.calc.template.desktop -=================================================================== ---- mimetypes/kde32/vnd.sun.xml.calc.template.desktop (revision 427945) -+++ mimetypes/kde32/vnd.sun.xml.calc.template.desktop (working copy) -@@ -21,7 +21,7 @@ - Comment[nn]=OpenOffice.org-reknearkmal - Comment[pt]=Modelo de Folha de Cálculo do OpenOffice.org - Comment[pt_BR]=Modelo de Planilha OpenOffice.org --Comment[ru]=Шаблон таблицы OpenOffice.org -+Comment[ru]=Шаблон электронной таблицы OpenOffice.org - Comment[sl]=Predloga preglednice za OpenOffice.org - Comment[sr]=OpenOffice.org-ов шаблон прорачунског листа - Comment[sr@Latn]=OpenOffice.org-ov šablon proračunskog lista -Index: mimetypes/kde33/vnd.oasis.opendocument.graphics-template.desktop -=================================================================== ---- mimetypes/kde33/vnd.oasis.opendocument.graphics-template.desktop (revision 427945) -+++ mimetypes/kde33/vnd.oasis.opendocument.graphics-template.desktop (working copy) -@@ -22,7 +22,7 @@ - Comment[nn]=OASIS OpenDocument-teikningsmal - Comment[pt]=Modelo de Desenho OASIS OpenDocument - Comment[pt_BR]=Modelo de Gráfico OpenDocument OASIS --Comment[ru]=Шаблон графики OASIS OpenDocument Graphics -+Comment[ru]=Шаблон рисунка OASIS OpenDocument Graphics - Comment[sl]=Predloga grafike OASIS OpenDocument - Comment[sr]=OASIS-ов OpenDocument графички шаблон - Comment[sr@Latn]=OASIS-ov OpenDocument grafički šablon -Index: mimetypes/kde33/vnd.oasis.opendocument.graphics.desktop -=================================================================== ---- mimetypes/kde33/vnd.oasis.opendocument.graphics.desktop (revision 427945) -+++ mimetypes/kde33/vnd.oasis.opendocument.graphics.desktop (working copy) -@@ -22,7 +22,7 @@ - Comment[nn]=OASIS OpenDocument-teikning - Comment[pt]=Desenho OASIS OpenDocument - Comment[pt_BR]=Gráfico OpenDocument OASIS --Comment[ru]=Графика OASIS OpenDocument -+Comment[ru]=Рисунок OASIS OpenDocument - Comment[sl]=Grafika OASIS OpenDocument - Comment[sr]=OASIS-ова OpenDocument графика - Comment[sr@Latn]=OASIS-ova OpenDocument grafika -Index: kivio/kiviopart/kivio_stencil_geometry_panel.cpp -=================================================================== ---- kivio/kiviopart/kivio_stencil_geometry_panel.cpp (revision 427945) -+++ kivio/kiviopart/kivio_stencil_geometry_panel.cpp (working copy) -@@ -96,10 +96,10 @@ - lw->setPixmap( QPixmap((const char **)width_xpm) ); - lh->setPixmap( QPixmap((const char **)height_xpm) ); - -- m_pX = new KoUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -- m_pY = new KoUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -- m_pW = new KoUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -- m_pH = new KoUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -+ m_pX = new KoBuggyUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -+ m_pY = new KoBuggyUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -+ m_pW = new KoBuggyUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -+ m_pH = new KoBuggyUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); - m_rotationSBox = new KIntSpinBox(-360, 360, 1, 0, 10, this); - m_rotationSBox->hide(); - -Index: kivio/kiviopart/kivio_stencil_geometry_panel.h -=================================================================== ---- kivio/kiviopart/kivio_stencil_geometry_panel.h (revision 427945) -+++ kivio/kiviopart/kivio_stencil_geometry_panel.h (working copy) -@@ -5,14 +5,14 @@ - #include <koUnit.h> - - class KoPageLayout; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KIntSpinBox; - - class KivioStencilGeometryPanel : public QWidget - { - Q_OBJECT - protected: -- KoUnitDoubleSpinBox *m_pX, *m_pY, *m_pW, *m_pH; -+ KoBuggyUnitDoubleSpinBox *m_pX, *m_pY, *m_pW, *m_pH; - KIntSpinBox* m_rotationSBox; - KoUnit::Unit m_unit; - bool m_emitSignals; -Index: kivio/kiviopart/kivio_view.h -=================================================================== ---- kivio/kiviopart/kivio_view.h (revision 427945) -+++ kivio/kiviopart/kivio_view.h (working copy) -@@ -63,7 +63,7 @@ - class DCOPObject; - class KoRuler; - class KoZoomHandler; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KStatusBarLabel; - class KoLineWidthAction; - class KoLineStyleAction; -Index: kivio/kiviopart/ui/kiviostencilformatdlg.cpp -=================================================================== ---- kivio/kiviopart/ui/kiviostencilformatdlg.cpp (revision 427945) -+++ kivio/kiviopart/ui/kiviostencilformatdlg.cpp (working copy) -@@ -46,7 +46,7 @@ - QGridLayout* gl = new QGridLayout(mainWidget, 3, 2, KDialog::marginHint(), KDialog::spacingHint()); - - QLabel* lineWidthLbl = new QLabel(i18n("Line &width:"), mainWidget); -- m_lineWidthUSBox = new KoUnitDoubleSpinBox(mainWidget, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); -+ m_lineWidthUSBox = new KoBuggyUnitDoubleSpinBox(mainWidget, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); - lineWidthLbl->setBuddy(m_lineWidthUSBox); - QLabel* lineColorLbl = new QLabel(i18n("Line &color:"), mainWidget); - m_lineCBtn = new KColorButton(mainWidget); -Index: kivio/kiviopart/ui/kiviostencilformatdlg.h -=================================================================== ---- kivio/kiviopart/ui/kiviostencilformatdlg.h (revision 427945) -+++ kivio/kiviopart/ui/kiviostencilformatdlg.h (working copy) -@@ -24,7 +24,7 @@ - - #include <koUnit.h> - --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KColorButton; - class KComboBox; - class KivioView; -@@ -61,7 +61,7 @@ - void initLineEndStyles(); - - protected: -- KoUnitDoubleSpinBox* m_lineWidthUSBox; -+ KoBuggyUnitDoubleSpinBox* m_lineWidthUSBox; - KColorButton* m_lineCBtn; - KColorButton* m_fillCBtn; - KComboBox* m_patternCBox; -Index: kivio/kiviopart/ui/kiviooptionsdialog.cpp -=================================================================== ---- kivio/kiviopart/ui/kiviooptionsdialog.cpp (revision 427945) -+++ kivio/kiviopart/ui/kiviooptionsdialog.cpp (working copy) -@@ -178,20 +178,20 @@ - gridColorLbl->setBuddy(m_gridColorBtn); - QGroupBox* spacingGrp = new QGroupBox(2, Qt::Horizontal, i18n("Spacing"), page); - QLabel* spaceHorizLbl = new QLabel(i18n("&Horizontal:"), spacingGrp); -- m_spaceHorizUSpin = new KoUnitDoubleSpinBox(spacingGrp, 0.0, pgw, 0.1, -+ m_spaceHorizUSpin = new KoBuggyUnitDoubleSpinBox(spacingGrp, 0.0, pgw, 0.1, - fw, unit); - spaceHorizLbl->setBuddy(m_spaceHorizUSpin); - QLabel* spaceVertLbl = new QLabel(i18n("&Vertical:"), spacingGrp); -- m_spaceVertUSpin = new KoUnitDoubleSpinBox(spacingGrp, 0.0, pgh, 0.1, -+ m_spaceVertUSpin = new KoBuggyUnitDoubleSpinBox(spacingGrp, 0.0, pgh, 0.1, - fh, unit); - spaceVertLbl->setBuddy(m_spaceVertUSpin); - QGroupBox* snapGrp = new QGroupBox(2, Qt::Horizontal, i18n("Snap Distance"), page); - QLabel* snapHorizLbl = new QLabel(i18n("H&orizontal:"), snapGrp); -- m_snapHorizUSpin = new KoUnitDoubleSpinBox(snapGrp, 0.0, fw, 0.1, -+ m_snapHorizUSpin = new KoBuggyUnitDoubleSpinBox(snapGrp, 0.0, fw, 0.1, - sw, unit); - snapHorizLbl->setBuddy(m_snapHorizUSpin); - QLabel* snapVertLbl = new QLabel(i18n("V&ertical:"), snapGrp); -- m_snapVertUSpin = new KoUnitDoubleSpinBox(snapGrp, 0.0, fh, 0.1, -+ m_snapVertUSpin = new KoBuggyUnitDoubleSpinBox(snapGrp, 0.0, fh, 0.1, - sh, unit); - snapVertLbl->setBuddy(m_snapVertUSpin); - -@@ -245,7 +245,7 @@ - orientBGrp->insert(m_orientVertRBtn); - QLabel* posLbl = new QLabel(i18n("&Position:"), m_propertiesGrp); - KoUnit::Unit unit = view->doc()->units(); -- m_posUSpin = new KoUnitDoubleSpinBox(m_propertiesGrp, 0.0, 0.0, 0.0, unit); -+ m_posUSpin = new KoBuggyUnitDoubleSpinBox(m_propertiesGrp, 0.0, 0.0, 0.0, unit); - posLbl->setBuddy(m_posUSpin); - - QGridLayout* pgl = new QGridLayout(m_propertiesGrp->layout()); -Index: kivio/kiviopart/ui/kivioarrowheadformatdlg.cpp -=================================================================== ---- kivio/kiviopart/ui/kivioarrowheadformatdlg.cpp (revision 427945) -+++ kivio/kiviopart/ui/kivioarrowheadformatdlg.cpp (working copy) -@@ -53,10 +53,10 @@ - loadArrowHeads(m_startAHTypeCBox, false); - startAHTypeLbl->setBuddy(m_startAHTypeCBox); - QLabel* startAHWidthLbl = new QLabel(i18n("&Width:"), startGBox); -- m_startAHWidthUSBox = new KoUnitDoubleSpinBox(startGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); -+ m_startAHWidthUSBox = new KoBuggyUnitDoubleSpinBox(startGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); - startAHWidthLbl->setBuddy(m_startAHWidthUSBox); - QLabel* startAHHeightLbl = new QLabel(i18n("&Length:"), startGBox); -- m_startAHHeightUSBox = new KoUnitDoubleSpinBox(startGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); -+ m_startAHHeightUSBox = new KoBuggyUnitDoubleSpinBox(startGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); - startAHHeightLbl->setBuddy(m_startAHHeightUSBox); - - QGroupBox* endGBox = new QGroupBox(2, Qt::Horizontal, i18n("Arrowhead at End"), mainWidget); -@@ -65,10 +65,10 @@ - loadArrowHeads(m_endAHTypeCBox, true); - endAHTypeLbl->setBuddy(m_endAHTypeCBox); - QLabel* endAHWidthLbl = new QLabel(i18n("W&idth:"), endGBox); -- m_endAHWidthUSBox = new KoUnitDoubleSpinBox(endGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); -+ m_endAHWidthUSBox = new KoBuggyUnitDoubleSpinBox(endGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); - endAHWidthLbl->setBuddy(m_endAHWidthUSBox); - QLabel* endAHHeightLbl = new QLabel(i18n("L&ength:"), endGBox); -- m_endAHHeightUSBox = new KoUnitDoubleSpinBox(endGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); -+ m_endAHHeightUSBox = new KoBuggyUnitDoubleSpinBox(endGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); - endAHHeightLbl->setBuddy(m_endAHHeightUSBox); - - gl->addWidget(startGBox, 0, 0); -Index: kivio/kiviopart/ui/kiviooptionsdialog.h -=================================================================== ---- kivio/kiviopart/ui/kiviooptionsdialog.h (revision 427945) -+++ kivio/kiviopart/ui/kiviooptionsdialog.h (working copy) -@@ -32,7 +32,7 @@ - class QRadioButton; - class KColorButton; - class KURLRequester; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KivioGuideLineData; - class QGroupBox; - class QFont; -@@ -105,17 +105,17 @@ - KoPageLayout m_layout; - QLabel* m_fontTxtLbl; - QFont m_font; -- KoUnitDoubleSpinBox* m_spaceHorizUSpin; -- KoUnitDoubleSpinBox* m_spaceVertUSpin; -- KoUnitDoubleSpinBox* m_snapHorizUSpin; -- KoUnitDoubleSpinBox* m_snapVertUSpin; -+ KoBuggyUnitDoubleSpinBox* m_spaceHorizUSpin; -+ KoBuggyUnitDoubleSpinBox* m_spaceVertUSpin; -+ KoBuggyUnitDoubleSpinBox* m_snapHorizUSpin; -+ KoBuggyUnitDoubleSpinBox* m_snapVertUSpin; - QCheckBox* m_gridChBox; - QCheckBox* m_snapChBox; - KColorButton* m_gridColorBtn; - KListView* m_guideList; - QRadioButton* m_orientHorizRBtn; - QRadioButton* m_orientVertRBtn; -- KoUnitDoubleSpinBox* m_posUSpin; -+ KoBuggyUnitDoubleSpinBox* m_posUSpin; - QCheckBox* m_snapGuideChBox; - QCheckBox* m_guidesChBox; - KColorButton* m_guideColorBtn; -Index: kivio/kiviopart/ui/kivioarrowheadformatdlg.h -=================================================================== ---- kivio/kiviopart/ui/kivioarrowheadformatdlg.h (revision 427945) -+++ kivio/kiviopart/ui/kivioarrowheadformatdlg.h (working copy) -@@ -24,7 +24,7 @@ - - #include <koUnit.h> - --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KComboBox; - class KivioView; - -@@ -58,10 +58,10 @@ - void loadArrowHeads(KComboBox* combo, bool endArrow); - - protected: -- KoUnitDoubleSpinBox* m_startAHWidthUSBox; -- KoUnitDoubleSpinBox* m_startAHHeightUSBox; -- KoUnitDoubleSpinBox* m_endAHWidthUSBox; -- KoUnitDoubleSpinBox* m_endAHHeightUSBox; -+ KoBuggyUnitDoubleSpinBox* m_startAHWidthUSBox; -+ KoBuggyUnitDoubleSpinBox* m_startAHHeightUSBox; -+ KoBuggyUnitDoubleSpinBox* m_endAHWidthUSBox; -+ KoBuggyUnitDoubleSpinBox* m_endAHHeightUSBox; - KComboBox* m_startAHTypeCBox; - KComboBox* m_endAHTypeCBox; - KoUnit::Unit m_unit; -Index: kpresenter/kppieobject.h -=================================================================== ---- kpresenter/kppieobject.h (revision 427945) -+++ kpresenter/kppieobject.h (working copy) -@@ -1,5 +1,6 @@ - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -79,7 +80,6 @@ - { return lineEnd; } - - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual double load(const QDomElement &element); - virtual void flip(bool horizontal ); -@@ -89,6 +89,9 @@ - virtual KoPoint getRealOrig() const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void paint( QPainter *_painter, KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour ); - -Index: kpresenter/kpcubicbeziercurveobject.h -=================================================================== ---- kpresenter/kpcubicbeziercurveobject.h (revision 427945) -+++ kpresenter/kpcubicbeziercurveobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -42,10 +43,9 @@ - virtual QString getTypeString() const { return i18n("Cubic Bezier Curve"); } - - virtual QDomDocumentFragment save( QDomDocument& doc,double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual double load( const QDomElement &element ); -- virtual void loadOasis( const QDomElement &element, KoOasisContext & context,KPRLoadingInfo* info ); -+ virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo* info ); - - virtual void flip(bool horizontal ); - void closeObject(bool _close); -@@ -53,6 +53,9 @@ - - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void updatePoints( double _fx, double _fy ); - virtual KoPointArray getDrawingPoints() const; - -Index: kpresenter/kprectobject.h -=================================================================== ---- kpresenter/kprectobject.h (revision 427945) -+++ kpresenter/kprectobject.h (working copy) -@@ -53,9 +53,11 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext &context, KPRLoadingInfo *info); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void paint( QPainter *_painter,KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour ); - -Index: kpresenter/kpellipseobject.h -=================================================================== ---- kpresenter/kpellipseobject.h (revision 427945) -+++ kpresenter/kpellipseobject.h (working copy) -@@ -49,9 +49,11 @@ - { return i18n("Ellipse"); } - - virtual KoSize getRealSize() const; -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void paint( QPainter *_painter,KoZoomHandler *_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour = FALSE ); - -Index: kpresenter/kpfreehandobject.h -=================================================================== ---- kpresenter/kpfreehandobject.h (revision 427945) -+++ kpresenter/kpfreehandobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -43,8 +44,11 @@ - - virtual QDomDocumentFragment save( QDomDocument& doc,double offset ); - virtual double load( const QDomElement &element ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; -+ virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo* info ); - -+protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; - }; - - #endif -Index: kpresenter/kppointobject.cc -=================================================================== ---- kpresenter/kppointobject.cc (revision 427945) -+++ kpresenter/kppointobject.cc (working copy) -@@ -1,6 +1,6 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project -- Copyright (C) 2004 Thorsten Zachmann <zachmann@kde.org> -+ Copyright (C) 2004-2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -83,71 +83,24 @@ - return fragment; - } - --QString KPPointObject::saveOasisStrokeElement( KoGenStyles& mainStyles ) const -+const char * KPPointObject::getOasisElementName() const - { -- KoGenStyle styleobjectauto( KoGenStyle::STYLE_GRAPHICAUTO, "graphic" ); -- saveOasisMarkerElement( mainStyles, styleobjectauto ); -- saveOasisObjectProtectStyle( styleobjectauto ); -- KPShadowObject::saveOasisStrokeElement( mainStyles, styleobjectauto ); -- return mainStyles.lookup( styleobjectauto, "gr" ); -+ return "draw:custom-shape"; - } - -- --bool KPPointObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context ) const --{ -- QString listOfPoint; -- int maxX=0; -- int maxY=0; -- KoPointArray::ConstIterator it; -- for ( it = points.begin(); it != points.end(); ++it ) { -- int tmpX = 0; -- int tmpY = 0; -- tmpX = ( int ) ( KoUnit::toMM( ( *it ).x() )*100 ); -- tmpY = ( int ) ( KoUnit::toMM( ( *it ).y() )*100 ); -- if ( !listOfPoint.isEmpty() ) -- listOfPoint += QString( " %1,%2" ).arg( tmpX ).arg( tmpY ); -- else -- listOfPoint = QString( "%1,%2" ).arg( tmpX ).arg( tmpY ); -- maxX = QMAX( maxX, tmpX ); -- maxY = QMAX( maxY, tmpY ); -- } -- xmlWriter.addAttribute("draw:points", listOfPoint ); -- xmlWriter.addAttribute("svg:viewBox", QString( "0 0 %1 %2" ).arg( maxX ).arg( maxY ) ); -- return true; --} -- - void KPPointObject::loadOasisMarker( KoOasisContext & context ) - { - loadOasisMarkerElement( context, "marker-start", lineBegin ); - loadOasisMarkerElement( context, "marker-end", lineEnd ); - } - --void KPPointObject::loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ) -+void KPPointObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const - { -- //kdDebug()<<"void KPPointObject::loadOasis( const QDomElement &element )*************\n"; -- KPShadowObject::loadOasis( element, context, info ); -- //load point. -- QStringList ptList = QStringList::split(' ', element.attributeNS( KoXmlNS::draw, "points", QString::null)); -- QString pt_x, pt_y; -- double tmp_x, tmp_y; -- unsigned int index = 0; -- for (QStringList::Iterator it = ptList.begin(); it != ptList.end(); ++it) -- { -- tmp_x = (*it).section(',',0,0).toInt() / 100; -- tmp_y = (*it).section(',',1,1).toInt() / 100; -- -- pt_x.setNum(tmp_x); -- pt_x+="mm"; -- -- pt_y.setNum(tmp_y); -- pt_y+="mm"; -- -- points.putPoints( index, 1, KoUnit::parseValue(pt_x),KoUnit::parseValue(pt_y) ); -- ++index; -- } -- loadOasisMarker( context ); -+ KPShadowObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisMarkerElement( mainStyles, styleObjectAuto ); - } - -+ - double KPPointObject::load( const QDomElement &element ) - { - double offset = KPShadowObject::load( element ); -Index: kpresenter/kplineobject.h -=================================================================== ---- kpresenter/kplineobject.h (revision 427945) -+++ kpresenter/kplineobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -63,16 +64,18 @@ - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info); - -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; -- - virtual void flip(bool horizontal ); - - virtual KoSize getRealSize() const; - virtual KoPoint getRealOrig() const; - - protected: -- QString saveOasisStrokeElement( KoGenStyles& mainStyles ) const; -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ virtual void saveOasisPosObject( KoXmlWriter &xmlWriter, int indexObj ) const; - -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ - virtual void paint( QPainter *_painter, KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour = FALSE ); - LineType lineType; -Index: kpresenter/kppointobject.h -=================================================================== ---- kpresenter/kppointobject.h (revision 427945) -+++ kpresenter/kppointobject.h (working copy) -@@ -1,6 +1,6 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project -- Copyright (C) 2004 Thorsten Zachmann <zachmann@kde.org> -+ Copyright (C) 2004-2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -34,10 +34,8 @@ - virtual KoPoint getRealOrig() const; - - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context ) const; - - virtual double load( const QDomElement &element ); -- virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ); - - virtual void setLineBegin( LineEnd _lineBegin ) { lineBegin = _lineBegin; } - virtual void setLineEnd( LineEnd _lineEnd ) { lineEnd = _lineEnd; } -@@ -53,10 +51,13 @@ - - virtual void closeObject( bool close ); - virtual bool isClosed() const; -- virtual QString saveOasisStrokeElement( KoGenStyles& mainStyles ) const; - - protected: -+ virtual const char * getOasisElementName() const; -+ - void loadOasisMarker( KoOasisContext & context ); -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ - virtual void paint( QPainter *_painter,KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour = FALSE ); - virtual void updatePoints( double _fx, double _fy ); -Index: kpresenter/kpautoformobject.cc -=================================================================== ---- kpresenter/kpautoformobject.cc (revision 427945) -+++ kpresenter/kpautoformobject.cc (working copy) -@@ -76,12 +76,17 @@ - } - - --bool KPAutoformObject::saveOasis( KoXmlWriter & xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPAutoformObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- kdDebug()<<"bool KPAutoformObject::saveOasis( KoXmlWriter & xmlWriter ) not implemented\n"; -+ kdDebug()<<"bool KPAutoformObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) not implemented\n"; - return true; - } - -+const char * KPAutoformObject::getOasisElementName() const -+{ -+ return "draw:custom-shape"; -+} -+ - QDomDocumentFragment KPAutoformObject::save( QDomDocument& doc, double offset ) - { - QDomDocumentFragment fragment=KP2DObject::save(doc, offset); -Index: kpresenter/kpgroupobject.h -=================================================================== ---- kpresenter/kpgroupobject.h (revision 427945) -+++ kpresenter/kpgroupobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -70,7 +71,6 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load(const QDomElement &element, KPresenterDoc *doc); - virtual void loadOasisGroupObject( KPresenterDoc *doc, KPrPage * newpage, QDomNode &element, KoOasisContext & context, KPRLoadingInfo *info); -- virtual bool saveOasis(KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj) const; - - virtual void draw( QPainter *_painter, KoZoomHandler *_zoomhandler, - int pageNum, SelectionMode selectionMode, bool drawContour = FALSE ); -@@ -101,6 +101,9 @@ - virtual void decCmdRef(); - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - void updateSizes( double fx, double fy ); - void updateCoords( double dx, double dy ); - -Index: kpresenter/kppixmapobject.h -=================================================================== ---- kpresenter/kppixmapobject.h (revision 427945) -+++ kpresenter/kppixmapobject.h (working copy) -@@ -2,6 +2,7 @@ - - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -72,7 +73,6 @@ - { return i18n("Picture"); } - - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info); -@@ -113,11 +113,15 @@ - virtual void flip(bool horizontal ); - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - KPPixmapObject() {} - - QPixmap changePictureSettings( QPixmap _tmpPixmap ); -- virtual void saveOasisPictureElement( KoGenStyle &styleobjectauto ); -+ virtual void saveOasisPictureElement( KoGenStyle &styleobjectauto ) const; - void loadOasisPictureEffect(KoOasisContext & context ); -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; - - /** - * @internal -Index: kpresenter/kppartobject.h -=================================================================== ---- kpresenter/kppartobject.h (revision 427945) -+++ kpresenter/kppartobject.h (working copy) -@@ -49,14 +49,15 @@ - - KPresenterChild *getChild() const { return child; } - void enableDrawing( bool f ) { _enableDrawing = f; } -- virtual bool saveOasisPart( KoXmlWriter &xmlWriter, KoStore *store, KoSavingContext& context, int indexObj, int partIndexObj, KoXmlWriter* manifestWriter ) const; - virtual void loadOasis(const QDomElement &element, KoOasisContext &context, KPRLoadingInfo *info); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext &context, int indexObj ) const { return true;/* use saveOasisPart*/}; - - public slots: - void slot_changed( KoChild *_koChild ); - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - void updateChildGeometry(); - virtual void paint( QPainter *_painter,KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour = FALSE ); -Index: kpresenter/kpobject.cc -=================================================================== ---- kpresenter/kpobject.cc (revision 427945) -+++ kpresenter/kpobject.cc (working copy) -@@ -344,7 +344,7 @@ - xmlWriter.addAttributePt( "svg:width", ext.width() ); - xmlWriter.addAttributePt( "svg:height", ext.height() ); - -- if ( angle!=0.0 ) -+ if ( kAbs( angle ) > 1E-6 ) - { - double value = -1 * ( ( double )angle* M_PI )/180.0; - QString str=QString( "rotate (%1)" ).arg( value ); -@@ -362,6 +362,40 @@ - } - } - -+QString KPObject::getStyle( KPOasisSaveContext &sc ) const -+{ -+ kdDebug(33001) << "KPObject::getStyle" << endl; -+ KoGenStyle styleObjectAuto; -+ KoGenStyles &mainStyles( sc.context.mainStyles() ); -+ if ( sc.onMaster ) -+ { -+ styleObjectAuto = KoGenStyle( KPresenterDoc::STYLE_PRESENTATIONSTICKYOBJECT, "presentation" ); -+ } -+ else -+ { -+ styleObjectAuto = KoGenStyle( KoGenStyle::STYLE_GRAPHICAUTO, "graphic" ); -+ } -+ fillStyle( styleObjectAuto, mainStyles ); -+ if ( sc.onMaster ) -+ { -+ return mainStyles.lookup( styleObjectAuto, "pr" ); -+ } -+ return mainStyles.lookup( styleObjectAuto, "gr" ); -+} -+ -+void KPObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& /* mainStyles */ ) const -+{ -+ kdDebug(33001) << "KPObject::fillStyle" << endl; -+ saveOasisObjectProtectStyle( styleObjectAuto ); -+ saveOasisShadowElement( styleObjectAuto ); -+} -+ -+bool KPObject::saveOasisObjectAttributes( KPOasisSaveContext &/* sc */ ) const -+{ -+ kdDebug()<<"bool saveOasisObjectAttributes not implemented"; -+ return true; -+} -+ - bool KPObject::haveAnimation() const - { - //kdDebug()<<" effect :"<<effect<<" effect3 :"<<effect3<<" a_fileName :"<<a_fileName<<" d_fileName :"<<d_fileName<<" appearTimer :"<<appearTimer<<" disappearTimer :"<<disappearTimer<<endl; -@@ -849,6 +883,20 @@ - } - } - -+bool KPObject::saveOasisObject( KPOasisSaveContext &sc ) const -+{ -+ sc.xmlWriter.startElement( getOasisElementName() ); -+ sc.xmlWriter.addAttribute( "draw:style-name", getStyle( sc ) ); -+ saveOasisPosObject( sc.xmlWriter, sc.indexObj ); -+ if( !objectName.isEmpty()) -+ sc.xmlWriter.addAttribute( "draw:name", objectName ); -+ -+ saveOasisObjectAttributes( sc ); -+ -+ sc.xmlWriter.endElement(); -+ return true; -+} -+ - void KPObject::saveOasisShadowElement( KoGenStyle &styleobjectauto ) const - { - //FIXME default value -@@ -1628,6 +1676,99 @@ - // <draw:stroke-dash draw:name="Fine Dotted" draw:style="rect" draw:dots1="1" draw:distance="0.457cm"/> - } - -+bool KPShadowObject::saveOasisDrawPoints( const KoPointArray &points, KPOasisSaveContext &sc ) -+{ -+ QString listOfPoint; -+ int maxX=0; -+ int maxY=0; -+ KoPointArray::ConstIterator it( points.begin() ); -+ for ( ; it != points.end(); ++it ) -+ { -+ int tmpX = int( ( *it ).x() * 10000 ); -+ int tmpY = int( ( *it ).y() * 10000 ); -+ //if ( !listOfPoint.isEmpty() ) -+ listOfPoint += QString( " %1,%2" ).arg( tmpX ).arg( tmpY ); -+ //else -+ // listOfPoint = QString( "%1,%2" ).arg( tmpX ).arg( tmpY ); -+ maxX = QMAX( maxX, tmpX ); -+ maxY = QMAX( maxY, tmpY ); -+ } -+ sc.xmlWriter.addAttribute("draw:points", listOfPoint ); -+ sc.xmlWriter.addAttribute("svg:viewBox", QString( "0 0 %1 %2" ).arg( maxX ).arg( maxY ) ); -+ return true; -+} -+ -+bool KPShadowObject::loadOasisDrawPoints( KoPointArray &points, const QDomElement &element, -+ KoOasisContext & context, KPRLoadingInfo *info ) -+{ -+ QStringList ptList = QStringList::split(' ', element.attributeNS( KoXmlNS::draw, "points", QString::null)); -+ QStringList viewBox = QStringList::split( ' ', element.attributeNS( KoXmlNS::svg, "viewBox", QString::null ) ); -+ //for ( QStringList::Iterator it = viewBox.begin(); it != viewBox.end(); ++it ) -+ //{ -+ // kdDebug(33001) << "viewBox = " << *it << endl; -+ //} -+ -+ int left = 0; -+ int top = 0; -+ int right = 0; -+ int bottom = 0; -+ -+ if ( viewBox.size() == 4 ) -+ { -+ QStringList::Iterator it = viewBox.begin(); -+ left = ( *it++ ).toInt(); -+ top = ( *it++ ).toInt(); -+ right = ( *it++ ).toInt(); -+ bottom = ( *it ).toInt(); -+ //kdDebug(33001) << "left = " << left -+ // << "top = " << top -+ // << "right =" << right -+ // << "bottom =" << bottom << endl; -+ } -+ else -+ { -+ //if no viewBox is found -+ for (QStringList::Iterator it = ptList.begin(); it != ptList.end(); ++it) -+ { -+ right = QMAX( (*it).section( ',', 0, 0 ).toInt(), right ); -+ bottom = QMAX( (*it).section( ',', 1, 1 ).toInt(), bottom ); -+ } -+ } -+ -+ if ( right - left != 0 && bottom - top != 0 ) -+ { -+ double tmp_x, tmp_y; -+ unsigned int index = 0; -+ for (QStringList::Iterator it = ptList.begin(); it != ptList.end(); ++it) -+ { -+ tmp_x = double( (*it).section( ',', 0, 0 ).toInt() + left ) / ( right - left ) * ext.width(); -+ tmp_y = double( (*it).section( ',', 1, 1 ).toInt() + top ) / ( bottom - top ) * ext.height(); -+ -+ //kdDebug(33001) << "p" << index << " x: " << tmp_x << endl; -+ //kdDebug(33001) << "p" << index << " y: " << tmp_y << endl; -+ -+ points.putPoints( index, 1, tmp_x, tmp_y ); -+ ++index; -+ } -+ } -+ else -+ { -+ kdDebug(33001) << "problem in viewBox values are: " -+ << "left = " << left << ", " -+ << "top = " << top << ", " -+ << "right =" << right << ", " -+ << "bottom =" << bottom << endl; -+ } -+ return true; -+} -+ -+void KPShadowObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const -+{ -+ kdDebug(33001) << "KPShadowObject::fillStyle" << endl; -+ KPObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisStrokeElement( mainStyles, styleObjectAuto ); -+} -+ - void KPShadowObject::loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info) - { - //kdDebug()<<"void KPShadowObject::loadOasis(const QDomElement &element)**********************\n"; -@@ -1822,14 +1963,15 @@ - return fragment; - } - --QString KP2DObject::saveOasisBackgroundStyle( KoXmlWriter &xmlWriter, KoGenStyles& mainStyles, int indexObj ) const -+void KP2DObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const - { -- saveOasisPosObject( xmlWriter,indexObj ); -- KoGenStyle styleobjectauto; -- if ( sticky ) -- styleobjectauto = KoGenStyle( KPresenterDoc::STYLE_PRESENTATIONSTICKYOBJECT, "presentation" ); -- else -- styleobjectauto = KoGenStyle( KoGenStyle::STYLE_GRAPHICAUTO, "graphic" ); -+ kdDebug(33001) << "KP2DObject::fillStyle" << endl; -+ KPShadowObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisBackgroundElement( styleObjectAuto, mainStyles ); -+} -+ -+void KP2DObject::saveOasisBackgroundElement( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const -+{ - switch ( getFillType() ) - { - case FT_BRUSH: -@@ -1838,34 +1980,22 @@ - //todo FIXME when text object doesn't have a background - if( brush != QBrush() ) - { -- KoOasisStyles::saveOasisFillStyle( styleobjectauto, mainStyles, brush ); -+ KoOasisStyles::saveOasisFillStyle( styleObjectAuto, mainStyles, brush ); - } - else - { -- styleobjectauto.addProperty( "draw:fill","none" ); -+ styleObjectAuto.addProperty( "draw:fill","none" ); - } - break; - } - case FT_GRADIENT: -- styleobjectauto.addProperty( "draw:fill","gradient" ); -- styleobjectauto.addProperty( "draw:fill-gradient-name", saveOasisGradientStyle( mainStyles ) ); -+ styleObjectAuto.addProperty( "draw:fill","gradient" ); -+ styleObjectAuto.addProperty( "draw:fill-gradient-name", saveOasisGradientStyle( mainStyles ) ); - break; - } -- saveOasisObjectProtectStyle( styleobjectauto ); -- -- saveOasisStrokeElement( mainStyles, styleobjectauto ); -- saveOasisMarginElement( styleobjectauto ); -- saveOasisShadowElement( styleobjectauto ); -- saveOasisPictureElement( styleobjectauto ); -- -- if ( sticky ) -- return mainStyles.lookup( styleobjectauto, "pr" ); -- else -- return mainStyles.lookup( styleobjectauto, "gr" ); - } - - -- - QString KP2DObject::saveOasisGradientStyle( KoGenStyles& mainStyles ) const - { - KoGenStyle gradientStyle( KPresenterDoc::STYLE_GRADIENT /*no family name*/); -@@ -2170,6 +2300,56 @@ - return offset; - } - -+void KP2DObject::draw( QPainter *_painter, KoZoomHandler*_zoomHandler, -+ int pageNum, SelectionMode selectionMode, bool drawContour ) -+{ -+ double ox = orig.x(); -+ double oy = orig.y(); -+ _painter->save(); -+ -+ // Draw the shadow if any -+ if ( shadowDistance > 0 && !drawContour ) -+ { -+ _painter->save(); -+ QPen tmpPen( pen ); -+ pen.setColor( shadowColor ); -+ QBrush tmpBrush( m_brush.getBrush() ); -+ QBrush shadowBrush( tmpBrush ); -+ shadowBrush.setColor( shadowColor ); -+ m_brush.setBrush( shadowBrush ); -+ -+ if ( angle == 0 ) -+ { -+ double sx = ox; -+ double sy = oy; -+ getShadowCoords( sx, sy ); -+ -+ _painter->translate( _zoomHandler->zoomItX( sx ), _zoomHandler->zoomItY( sy ) ); -+ paint( _painter, _zoomHandler, pageNum, true, drawContour ); -+ } -+ else -+ { -+ _painter->translate( _zoomHandler->zoomItX(ox), _zoomHandler->zoomItY(oy) ); -+ rotateObjectWithShadow(_painter, _zoomHandler); -+ paint( _painter, _zoomHandler, pageNum, true, drawContour ); -+ } -+ -+ pen = tmpPen; -+ m_brush.setBrush( tmpBrush ); -+ _painter->restore(); -+ } -+ -+ _painter->translate( _zoomHandler->zoomItX(ox), _zoomHandler->zoomItY(oy) ); -+ -+ if ( angle != 0 ) -+ rotateObject(_painter,_zoomHandler); -+ paint( _painter, _zoomHandler, pageNum, false, drawContour ); -+ -+ _painter->restore(); -+ -+ KPObject::draw( _painter, _zoomHandler, pageNum, selectionMode, drawContour ); -+} -+ - void KP2DObject::flip( bool horizontal ) { - KPObject::flip( horizontal ); - -Index: kpresenter/kppolygonobject.cc -=================================================================== ---- kpresenter/kppolygonobject.cc (revision 427945) -+++ kpresenter/kppolygonobject.cc (working copy) -@@ -68,38 +68,24 @@ - return dcop; - } - --bool KPPolygonObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPPolygonObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- //FIXME me wait that it will define into oo spec -- xmlWriter.startElement( "draw:regular-polygon" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(), indexObj ) ); -- -- QString listOfPoint; -- int maxX=0; -- int maxY=0; -- KoPointArray::ConstIterator it; -- for ( it = points.begin(); it != points.end(); ++it ) { -- int tmpX = 0; -- int tmpY = 0; -- tmpX = ( int ) ( KoUnit::toMM( ( *it ).x() )*100 ); -- tmpY = ( int ) ( KoUnit::toMM( ( *it ).y() )*100 ); -- if ( !listOfPoint.isEmpty() ) -- listOfPoint += QString( " %1,%2" ).arg( tmpX ).arg( tmpY ); -- else -- listOfPoint = QString( "%1,%2" ).arg( tmpX ).arg( tmpY ); -- maxX = QMAX( maxX, tmpX ); -- maxY = QMAX( maxY, tmpY ); -+ sc.xmlWriter.addAttribute( "draw:corners", cornersValue ); -+ sc.xmlWriter.addAttribute( "draw:concave", checkConcavePolygon ? "true" : "false" ); -+ if ( checkConcavePolygon ) -+ { -+ sc.xmlWriter.addAttribute( "draw:sharpness", QString( "%1%").arg( sharpnessValue ) ); - } -- xmlWriter.addAttribute("draw:points", listOfPoint ); -- xmlWriter.addAttribute("svg:viewBox", QString( "0 0 %1 %2" ).arg( maxX ).arg( maxY ) ); - -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); - return true; - } - -+const char * KPPolygonObject::getOasisElementName() const -+{ -+ return "draw:regular-polygon"; -+} - -+ - QDomDocumentFragment KPPolygonObject::save( QDomDocument& doc, double offset ) - { - QDomDocumentFragment fragment = KP2DObject::save( doc, offset ); -@@ -133,26 +119,14 @@ - { - kdDebug()<<"void KPPolygonObject::loadOasis( const QDomElement &element )***********\n"; - KP2DObject::loadOasis( element,context, info ); -- //load point. -- QStringList ptList = QStringList::split(' ', element.attributeNS( KoXmlNS::draw, "points", QString::null)); -- -- QString pt_x, pt_y; -- double tmp_x, tmp_y; -- unsigned int index = 0; -- for (QStringList::Iterator it = ptList.begin(); it != ptList.end(); ++it) -+ cornersValue = element.attributeNS( KoXmlNS::draw, "corners", QString::null ).toInt(); -+ checkConcavePolygon = element.attributeNS( KoXmlNS::draw, "concave", QString::null ) == "true"; -+ sharpnessValue = 0; -+ if ( checkConcavePolygon ) - { -- tmp_x = (*it).section(',',0,0).toInt() / 100; -- tmp_y = (*it).section(',',1,1).toInt() / 100; -- -- pt_x.setNum(tmp_x); -- pt_x+="mm"; -- -- pt_y.setNum(tmp_y); -- pt_y+="mm"; -- -- points.putPoints( index, 1, KoUnit::parseValue(pt_x),KoUnit::parseValue(pt_y) ); -- ++index; -+ sharpnessValue = element.attributeNS( KoXmlNS::draw, "sharpness", QString::null ).remove( '%').toInt(); - } -+ drawPolygon(); - } - - double KPPolygonObject::load( const QDomElement &element ) -@@ -280,7 +254,8 @@ - - void KPPolygonObject::drawPolygon() - { -- KoRect _rect = points.boundingRect(); -+ kdDebug()<<"void KPPolygonObject::drawPolygon()***********\n"; -+ KoRect _rect( 0, 0, ext.width(), ext.height() ); - double angle = 2 * M_PI / cornersValue; - double diameter = static_cast<double>( QMAX( _rect.width(), _rect.height() ) ); - double radius = diameter * 0.5; -Index: kpresenter/kpcubicbeziercurveobject.cc -=================================================================== ---- kpresenter/kpcubicbeziercurveobject.cc (revision 427945) -+++ kpresenter/kpcubicbeziercurveobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -60,16 +61,17 @@ - return dcop; - } - --bool KPCubicBezierCurveObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPCubicBezierCurveObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- kdDebug()<<"bool KPCubicBezierCurveObject::saveOasis( KoXmlWriter &xmlWriter ) not implemented\n"; -- //saveOasisShadowElement( styleobjectauto ); -- //KPPointObject::saveOasisStrokeElement( KoGenStyles& mainStyles ); --// -- //call saveOasisStrokeElement( KoGenStyle &styleobjectauto ); -+ kdDebug()<<"bool KPCubicBezierCurveObject::saveOasis( KoXmlWriter & xmlWriter ) not implemented\n"; - return true; - } - -+const char * KPCubicBezierCurveObject::getOasisElementName() const -+{ -+ return "draw:custom-shape"; -+} -+ - void KPCubicBezierCurveObject::loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo* info ) - { - //todo -Index: kpresenter/kpquadricbeziercurveobject.h -=================================================================== ---- kpresenter/kpquadricbeziercurveobject.h (revision 427945) -+++ kpresenter/kpquadricbeziercurveobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -43,7 +44,6 @@ - virtual QString getTypeString() const { return i18n("Quadric Bezier Curve"); } - - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ); - - virtual double load( const QDomElement &element ); -@@ -53,6 +53,9 @@ - bool isClosed()const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void updatePoints( double _fx, double _fy ); - virtual KoPointArray getDrawingPoints() const; - -Index: kpresenter/autoforms/Arrows/ArrowLeftUp.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowLeftUp.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowLeftUp.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowLeftUp.atf - Name=Arrow Left/Up -+Name[cy]=Saeth i'r Chwith/i Fyny - Name[da]=Pil til venstre/op - Name[de]=Pfeil nach links/oben - Name[el]=Αριστερό/πάνω βέλος -Index: kpresenter/autoforms/Arrows/ArrowRightDown.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowRightDown.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowRightDown.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowRightDown.atf - Name=Arrow Right/Down -+Name[cy]=Saeth i'r Dde/i Lawr - Name[da]=Pil til højre/ned - Name[de]=Pfeil nach rechts/unten - Name[el]=Δεξί/κάτω βέλος -Index: kpresenter/autoforms/Arrows/ArrowDown.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowDown.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowDown.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowDown.atf - Name=Arrow Down -+Name[cy]=Saeth i Lawr - Name[da]=Pil ned - Name[de]=Pfeil nach unten - Name[el]=Κάτω βέλος -Index: kpresenter/autoforms/Arrows/ArrowRight.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowRight.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowRight.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowRight.atf - Name=Arrow Right -+Name[cy]=Saeth i'r Dde - Name[da]=Pil til højre - Name[de]=Pfeil nach rechts - Name[el]=Δεξί βέλος -Index: kpresenter/autoforms/Arrows/ArrowLeftDown.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowLeftDown.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowLeftDown.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowLeftDown.atf - Name=Arrow Left/Down -+Name[cy]=Saeth i'r Chwith/i Lawr - Name[da]=Pil til venstre/ned - Name[de]=Pfeil nach links/unten - Name[el]=Αριστερό/κάτω βέλος -Index: kpresenter/autoforms/Arrows/ArrowRightUp.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowRightUp.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowRightUp.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowRightUp.atf - Name=Arrow Right/Up -+Name[cy]=Saeth i'r Chwith/i Fyny - Name[da]=Pil til højre/op - Name[de]=Pfeil nach rechts/oben - Name[el]=Δεξί/πάνω βέλος -Index: kpresenter/autoforms/Arrows/ArrowUp.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowUp.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowUp.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowUp.atf - Name=Arrow Up -+Name[cy]=Saeth i Fyny - Name[da]=Pil op - Name[de]=Pfeil nach oben - Name[el]=Πάνω βέλος -Index: kpresenter/autoforms/Arrows/ArrowLeft.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowLeft.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowLeft.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowLeft.atf - Name=Arrow Left -+Name[cy]=Saeth i'r Chwith - Name[da]=Pil til venstre - Name[de]=Pfeil nach links - Name[el]=Αριστερό βέλος -Index: kpresenter/kpfreehandobject.cc -=================================================================== ---- kpresenter/kpfreehandobject.cc (revision 427945) -+++ kpresenter/kpfreehandobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -54,21 +55,26 @@ - return dcop; - } - --bool KPFreehandObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPFreehandObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- kdDebug()<<"bool KPFreehandObject::saveOasis( KoXmlWriter &xmlWriter ) not implemented\n"; -- xmlWriter.startElement( "draw:path" ); -- //FIXME !!!!!!!!!!!!!!!!!!!!! --//xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, mainStyles ) ); --//call saveOasisStrokeElement( KoGenStyle &styleobjectauto ); -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- //save path I don't know how to do. -- //add "svg:viewBox" add "svg:d" -- xmlWriter.endElement(); -+ kdDebug()<<"bool KPFreehandObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) not implemented\n"; - return true; - } - -+const char * KPFreehandObject::getOasisElementName() const -+{ -+ return "draw:path"; -+} -+ -+void KPFreehandObject::loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo* info ) -+{ -+ //todo -+ //we use draw:path -+ -+ //load marker -+ loadOasisMarker( context ); -+} -+ - QDomDocumentFragment KPFreehandObject::save( QDomDocument& doc,double offset ) - { - return KPPointObject::save( doc, offset ); -Index: kpresenter/kppieobject.cc -=================================================================== ---- kpresenter/kppieobject.cc (revision 427945) -+++ kpresenter/kppieobject.cc (working copy) -@@ -1,5 +1,6 @@ - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -86,40 +87,38 @@ - return fragment; - } - --bool KPPieObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPPieObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( ( ext.width() == ext.height() ) ? "draw:circle" : "draw:ellipse" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(),indexObj ) ); -- -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); - switch( pieType ) - { -- case PT_PIE: -- xmlWriter.addAttribute( "draw:kind", "section" ); -- break; -- case PT_CHORD: -- xmlWriter.addAttribute( "draw:kind", "cut" ); -- break; -- case PT_ARC: -- xmlWriter.addAttribute( "draw:kind", "arc" ); -- break; -- default: -- kdDebug()<<" type of pie not supported\n"; -+ case PT_PIE: -+ sc.xmlWriter.addAttribute( "draw:kind", "section" ); -+ break; -+ case PT_CHORD: -+ sc.xmlWriter.addAttribute( "draw:kind", "cut" ); -+ break; -+ case PT_ARC: -+ sc.xmlWriter.addAttribute( "draw:kind", "arc" ); -+ break; -+ default: -+ kdDebug() << " type of pie not supported" << endl; - } -- int startangle = 45; -- if ( p_angle != 0.0 ) -- startangle = ( ( int )p_angle )/16; -- xmlWriter.addAttribute( "draw:start-angle", startangle ); -- int endangle = endangle = ( ( int ) p_len/16 )+startangle; -- xmlWriter.addAttribute( "draw:end-angle", endangle ); - -- //we don't have a simple object -- xmlWriter.endElement(); -+ int startangle = ( (int)p_angle / 16 ); -+ sc.xmlWriter.addAttribute( "draw:start-angle", startangle ); -+ -+ int endangle = ( (int) p_len / 16 ) + startangle; -+ sc.xmlWriter.addAttribute( "draw:end-angle", endangle ); -+ - return true; - } - -+const char * KPPieObject::getOasisElementName() const -+{ -+ return ext.width() == ext.height() ? "draw:circle" : "draw:ellipse"; -+} - -+ - void KPPieObject::loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info) - { - kdDebug()<<"void KPPieObject::loadOasis(const QDomElement &element) ***************\n"; -Index: kpresenter/kpobject.h -=================================================================== ---- kpresenter/kpobject.h (revision 427945) -+++ kpresenter/kpobject.h (working copy) -@@ -136,9 +136,25 @@ - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info); - -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext &context, int indexObj ) const =0; -+ struct KPOasisSaveContext -+ { -+ KPOasisSaveContext( KoXmlWriter &_xmlWriter, KoSavingContext &_context, -+ int &_indexObj, int &_partIndexObj, bool _onMaster ) -+ : xmlWriter( _xmlWriter ) -+ , context( _context ) -+ , indexObj( _indexObj ) -+ , partIndexObj( _partIndexObj ) -+ , onMaster( _onMaster ) {}; -+ -+ KoXmlWriter &xmlWriter; -+ KoSavingContext &context; -+ int &indexObj; -+ int &partIndexObj; -+ bool onMaster; -+ }; - -- void saveOasisPosObject( KoXmlWriter &xmlWriter, int indexObj ) const; -+ virtual bool saveOasisObject( KPOasisSaveContext &sc ) const; -+ - //return true if we have a animation into object - bool saveOasisObjectStyleShowAnimation( KoXmlWriter &animation, int objectId ); - bool saveOasisObjectStyleHideAnimation( KoXmlWriter &animation, int objectId ); -@@ -297,8 +313,17 @@ - - void saveOasisObjectProtectStyle( KoGenStyle &styleobjectauto ) const; - void saveOasisShadowElement( KoGenStyle &styleobjectauto ) const; -- virtual void saveOasisPictureElement( KoGenStyle& /*styleobjectauto*/ ) const {}; - -+ QString getStyle( KPOasisSaveContext &sc ) const; -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ /** -+ * Get the element name for saving the object -+ */ -+ virtual const char * getOasisElementName() const = 0; -+ //virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const = 0; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ virtual void saveOasisPosObject( KoXmlWriter &xmlWriter, int indexObj ) const; -+ - float angle; - KoPoint orig; - KoSize ext; -@@ -378,6 +403,19 @@ - - protected: - /** -+ * Helper method for saving draw:points. The svg:viewBox is also saved. -+ */ -+ static bool saveOasisDrawPoints( const KoPointArray &points, KPOasisSaveContext &sc ); -+ -+ /** -+ * Helper method for loading draw:points. The svg:viewBox is taken into account. -+ */ -+ bool loadOasisDrawPoints( KoPointArray &points, const QDomElement &element, -+ KoOasisContext & context, KPRLoadingInfo *info ); -+ -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ -+ /** - * @ref save() only saves if the pen is different from the default pen. - * The default pen can vary depending on the subclass of KPShadowObject - * (e.g. it's a black solidline for lines and rects, but it's NoPen -@@ -445,14 +483,16 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info); -+ virtual void draw( QPainter *_painter, KoZoomHandler*_zoomHandler, -+ int pageNum, SelectionMode selectionMode, bool drawContour = FALSE ); - - virtual void flip(bool horizontal ); - - protected: - QString saveOasisGradientStyle( KoGenStyles& mainStyles ) const; -- QString saveOasisBackgroundStyle( KoXmlWriter &xmlWriter, KoGenStyles& mainStyles, int indexObj ) const; - -- virtual void saveOasisMarginElement( KoGenStyle& /*styleobjectauto*/ ) const { /* nothing just used into kptextobject*/}; -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ void saveOasisBackgroundElement( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; - - KPrBrush m_brush; - KPGradient *gradient; -Index: kpresenter/kptextobject.h -=================================================================== ---- kpresenter/kptextobject.h (revision 427945) -+++ kpresenter/kptextobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -81,7 +82,6 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext& context, KPRLoadingInfo *info); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - virtual void saveOasisMarginElement( KoGenStyle &styleobjectauto ) const; - - virtual void paint( QPainter *_painter, KoZoomHandler*_zoomHandler, -@@ -180,9 +180,14 @@ - void slotAfterFormatting( int, KoTextParag*, bool* ); - void slotParagraphDeleted(KoTextParag*_parag); - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual QDomElement saveKTextObject( QDomDocument& doc ); - QDomElement saveHelper(const QString &tmpText,KoTextFormat*lastFormat ,QDomDocument &doc); - -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ - virtual void loadKTextObject( const QDomElement &e ); - void drawText( QPainter* _painter, KoZoomHandler* zoomHandler, bool onlyChanged, KoTextCursor* cursor, bool resetChanged ); - void drawParags( QPainter *p, KoZoomHandler* zoomHandler, const QColorGroup& cg, int from, int to ); -Index: kpresenter/kppolygonobject.h -=================================================================== ---- kpresenter/kppolygonobject.h (revision 427945) -+++ kpresenter/kppolygonobject.h (working copy) -@@ -59,7 +59,6 @@ - int getSharpnessValue() const { return sharpnessValue; } - - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual double load( const QDomElement &element ); - virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ); -@@ -69,6 +68,9 @@ - virtual KoPoint getRealOrig() const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void paint( QPainter *_painter,KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour ); - -Index: kpresenter/kpgroupobject.cc -=================================================================== ---- kpresenter/kpgroupobject.cc (revision 427945) -+++ kpresenter/kpgroupobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -132,24 +133,23 @@ - } - - --bool KPGroupObject::saveOasis(KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj) const -+bool KPGroupObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:g" ); -- - QPtrListIterator<KPObject> it( objects ); - for ( ; it.current() ; ++it ) - { --#if 0 -- if ( it.current()->getType() == OT_PART ) -- continue; --#endif -- it.current()->saveOasis( xmlWriter, context, indexObj ); -+ //TODO what to do with parts? -+ it.current()->saveOasisObject( sc ); - } -- xmlWriter.endElement(); - return true; - } - -+const char * KPGroupObject::getOasisElementName() const -+{ -+ return "draw:g"; -+} - -+ - void KPGroupObject::loadOasisGroupObject( KPresenterDoc *_doc, KPrPage * newpage, QDomNode &element, KoOasisContext & context, KPRLoadingInfo *info) - { - //KPObject::loadOasis( element, context, info ); -Index: kpresenter/kprectobject.cc -=================================================================== ---- kpresenter/kprectobject.cc (revision 427945) -+++ kpresenter/kprectobject.cc (working copy) -@@ -76,18 +76,19 @@ - return fragment; - } - --bool KPRectObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPRectObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:rect" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(), indexObj ) ); -- -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); -+ // TODO corner-radius - return true; - } - - -+const char * KPRectObject::getOasisElementName() const -+{ -+ return "draw:rect"; -+} -+ -+ - void KPRectObject::loadOasis(const QDomElement &element, KoOasisContext&context, KPRLoadingInfo *info) - { - KP2DObject::loadOasis(element, context, info); -Index: kpresenter/kpellipseobject.cc -=================================================================== ---- kpresenter/kpellipseobject.cc (revision 427945) -+++ kpresenter/kpellipseobject.cc (working copy) -@@ -116,14 +116,14 @@ - return size; - } - --bool KPEllipseObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPEllipseObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( ( ext.width() == ext.height() ) ? "draw:circle" : "draw:ellipse" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(), indexObj ) ); -- -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); -+ // nothing to do - return true; - } - -+const char * KPEllipseObject::getOasisElementName() const -+{ -+ return ext.width() == ext.height() ? "draw:circle" : "draw:ellipse"; -+} -+ -Index: kpresenter/kppolylineobject.h -=================================================================== ---- kpresenter/kppolylineobject.h (revision 427945) -+++ kpresenter/kppolylineobject.h (working copy) -@@ -47,8 +47,10 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load( const QDomElement &element ); - virtual void loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - -+protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; - }; - - #endif -Index: kpresenter/kpclosedlineobject.cc -=================================================================== ---- kpresenter/kpclosedlineobject.cc (revision 427945) -+++ kpresenter/kpclosedlineobject.cc (working copy) -@@ -90,36 +90,18 @@ - return fragment; - } - --bool KPClosedLineObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPClosedLineObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:polygon" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(), indexObj ) ); -- -- QString listOfPoint; -- int maxX=0; -- int maxY=0; -- KoPointArray::ConstIterator it; -- for ( it = points.begin(); it != points.end(); ++it ) { -- int tmpX = 0; -- int tmpY = 0; -- tmpX = ( int ) ( KoUnit::toMM( ( *it ).x() )*100 ); -- tmpY = ( int ) ( KoUnit::toMM( ( *it ).y() )*100 ); -- if ( !listOfPoint.isEmpty() ) -- listOfPoint += QString( " %1,%2" ).arg( tmpX ).arg( tmpY ); -- else -- listOfPoint = QString( "%1,%2" ).arg( tmpX ).arg( tmpY ); -- maxX = QMAX( maxX, tmpX ); -- maxY = QMAX( maxY, tmpY ); -- } -- xmlWriter.addAttribute("draw:points", listOfPoint ); -- xmlWriter.addAttribute("svg:viewBox", QString( "0 0 %1 %2" ).arg( maxX ).arg( maxY ) ); -- -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); -+ KPShadowObject::saveOasisDrawPoints( points, sc ); - return true; - } - -+const char * KPClosedLineObject::getOasisElementName() const -+{ -+ return "draw:polygon"; -+} -+ -+ - double KPClosedLineObject::load( const QDomElement &element ) - { - double offset = KP2DObject::load( element ); -@@ -269,26 +251,7 @@ - { - kdDebug()<<"void KPClosedLineObject::loadOasis( const QDomElement &element )***********\n"; - KP2DObject::loadOasis( element,context, info ); -- //load point. -- QStringList ptList = QStringList::split(' ', element.attributeNS( KoXmlNS::draw, "points", QString::null)); -- -- QString pt_x, pt_y; -- double tmp_x, tmp_y; -- unsigned int index = 0; -- for (QStringList::Iterator it = ptList.begin(); it != ptList.end(); ++it) -- { -- tmp_x = (*it).section(',',0,0).toInt() / 100; -- tmp_y = (*it).section(',',1,1).toInt() / 100; -- -- pt_x.setNum(tmp_x); -- pt_x+="mm"; -- -- pt_y.setNum(tmp_y); -- pt_y+="mm"; -- -- points.putPoints( index, 1, KoUnit::parseValue(pt_x),KoUnit::parseValue(pt_y) ); -- ++index; -- } -+ KPShadowObject::loadOasisDrawPoints( points, element, context, info ); - } - - KoSize KPClosedLineObject::getRealSize() const { -Index: kpresenter/kpclosedlineobject.h -=================================================================== ---- kpresenter/kpclosedlineobject.h (revision 427945) -+++ kpresenter/kpclosedlineobject.h (working copy) -@@ -53,13 +53,14 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load( const QDomElement &element ); - virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual void flip(bool horizontal ); - virtual KoSize getRealSize() const; - virtual KoPoint getRealOrig() const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; - virtual void paint( QPainter *_painter,KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour ); - -Index: kpresenter/kpresenter_doc.cc -=================================================================== ---- kpresenter/kpresenter_doc.cc (revision 427945) -+++ kpresenter/kpresenter_doc.cc (working copy) -@@ -1770,33 +1770,35 @@ - else - newpage->appendObject(kppixmapobject); - } -- -- QDomNode object = KoDom::namedItemNS( o, KoXmlNS::draw, "object" ); -- kdDebug()<<" object:"<<object.isNull()<<endl; -- if ( !object.isNull() ) -- { -- fillStyleStack( o, context ); -- KPresenterChild *ch = new KPresenterChild( this ); -- QRect r; -- KPPartObject *kppartobject = new KPPartObject( ch ); -- kppartobject->loadOasis( o, context, m_loadingInfo ); -- r = ch->geometry(); -- if ( groupObject ) -- groupObject->addObjects( kppartobject ); -- else -- newpage->appendObject(kppartobject); -- insertChild( ch ); -- kppartobject->setOrig( r.x(), r.y() ); -- kppartobject->setSize( r.width(), r.height() ); -- } - else - { -- KPTextObject *kptextobject = new KPTextObject( this ); -- kptextobject->loadOasis(o, context, m_loadingInfo); -- if ( groupObject ) -- groupObject->addObjects( kptextobject ); -+ QDomNode object = KoDom::namedItemNS( o, KoXmlNS::draw, "object" ); -+ kdDebug()<<" object:"<<object.isNull()<<endl; -+ if ( !object.isNull() ) -+ { -+ fillStyleStack( o, context ); -+ KPresenterChild *ch = new KPresenterChild( this ); -+ QRect r; -+ KPPartObject *kppartobject = new KPPartObject( ch ); -+ kppartobject->loadOasis( o, context, m_loadingInfo ); -+ r = ch->geometry(); -+ if ( groupObject ) -+ groupObject->addObjects( kppartobject ); -+ else -+ newpage->appendObject(kppartobject); -+ insertChild( ch ); -+ kppartobject->setOrig( r.x(), r.y() ); -+ kppartobject->setSize( r.width(), r.height() ); -+ } - else -- newpage->appendObject(kptextobject); -+ { -+ KPTextObject *kptextobject = new KPTextObject( this ); -+ kptextobject->loadOasis(o, context, m_loadingInfo); -+ if ( groupObject ) -+ groupObject->addObjects( kptextobject ); -+ else -+ newpage->appendObject(kptextobject); -+ } - } - } - else if ( name == "rect" && isDrawNS) // rectangle -@@ -1836,7 +1838,10 @@ - fillStyleStack( o, context ); - KPLineObject *kplineobject = new KPLineObject(); - kplineobject->loadOasis(o, context, m_loadingInfo); -- newpage->appendObject(kplineobject); -+ if ( groupObject ) -+ groupObject->addObjects( kplineobject ); -+ else -+ newpage->appendObject( kplineobject ); - } - else if (name=="polyline" && isDrawNS) { // polyline - fillStyleStack( o, context ); -Index: kpresenter/kppixmapobject.cc -=================================================================== ---- kpresenter/kppixmapobject.cc (revision 427945) -+++ kpresenter/kppixmapobject.cc (working copy) -@@ -2,6 +2,7 @@ - - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -101,7 +102,7 @@ - return QString::number( val )+"%"; - } - --void KPPixmapObject::saveOasisPictureElement( KoGenStyle &styleobjectauto ) -+void KPPixmapObject::saveOasisPictureElement( KoGenStyle &styleobjectauto ) const - { - - if ( bright != 0 ) -@@ -201,26 +202,24 @@ - } - } - -- --bool KPPixmapObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPPixmapObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:frame" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(),indexObj ) ); -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -+ sc.xmlWriter.startElement( "draw:image" ); -+ sc.xmlWriter.addAttribute( "xlink:type", "simple" ); -+ sc.xmlWriter.addAttribute( "xlink:show", "embed" ); -+ sc.xmlWriter.addAttribute( "xlink:actuate", "onLoad" ); -+ sc.xmlWriter.addAttribute( "xlink:href", imageCollection->getOasisFileName( image ) ); -+ sc.xmlWriter.endElement(); - -- xmlWriter.startElement( "draw:image" ); -- xmlWriter.addAttribute( "xlink:type", "simple" ); -- xmlWriter.addAttribute( "xlink:show", "embed" ); -- xmlWriter.addAttribute( "xlink:actuate", "onLoad" ); -- xmlWriter.addAttribute( "xlink:href", imageCollection->getOasisFileName(image) ); -- xmlWriter.endElement(); -- -- xmlWriter.endElement(); - return true; - } - -+const char * KPPixmapObject::getOasisElementName() const -+{ -+ return "draw:frame"; -+} - -+ - // Deprecated, same as KPPixmapObject::loadPicture - void KPPixmapObject::loadImage( const QString & fileName ) - { -@@ -339,6 +338,12 @@ - - } - -+void KPPixmapObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const -+{ -+ KP2DObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisPictureElement( styleObjectAuto ); -+} -+ - void KPPixmapObject::loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info) - { - //load it into kpresenter_doc -Index: kpresenter/kpautoformobject.h -=================================================================== ---- kpresenter/kpautoformobject.h (revision 427945) -+++ kpresenter/kpautoformobject.h (working copy) -@@ -63,10 +63,12 @@ - { return lineEnd; } - - virtual QDomDocumentFragment save( QDomDocument& doc,double offset ); -- virtual bool saveOasis( KoXmlWriter & xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual double load(const QDomElement &element); - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void paint( QPainter *_painter, KoZoomHandler *_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour = FALSE ); - -Index: kpresenter/kppartobject.cc -=================================================================== ---- kpresenter/kppartobject.cc (revision 427945) -+++ kpresenter/kppartobject.cc (working copy) -@@ -63,39 +63,25 @@ - zh->zoomItY( getOrig().y() + getSize().height() / 2 ) ) ); - } - --bool KPPartObject::saveOasisPart( KoXmlWriter &xmlWriter, KoStore *store, KoSavingContext& context, int indexObj, int partIndexObj, KoXmlWriter* manifestWriter ) const -+bool KPPartObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- kdDebug() << "KPPartObject::saveOasisPart " << partIndexObj << endl; -- xmlWriter.startElement( "draw:frame" ); -- // saveOasisBackgroundStyle also saves draw:id, x,y,width and height.... -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(),indexObj ) ); -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -+ kdDebug() << "KPPartObject::saveOasisPart " << sc.partIndexObj << endl; - --#if 0 // geometry was already saved, this isn't needed -- // geometry is no zoom value ! -- QRect _rect = child->geometry(); -- KoZoomHandler* zh = child->parent()->zoomHandler(); -- double tmpX = zh->unzoomItX( _rect.x() ); -- double tmpY = zh->unzoomItY( _rect.y() ); -- double tmpWidth = zh->unzoomItX( _rect.width() ); -- double tmpHeight = zh->unzoomItY( _rect.height() ); -- //child->setGeometry( QRect( tmpX, tmpY, tmpWidth, tmpHeight ) ); // ## why? -- xmlWriter.addAttributePt( "svg:width", tmpWidth ); -- xmlWriter.addAttributePt( "svg:height", tmpHeight ); -- xmlWriter.addAttributePt( "svg:x", tmpX ); -- xmlWriter.addAttributePt( "svg:y", tmpY ); --#endif -+ sc.xmlWriter.startElement( "draw:object" ); -+ const QString name = QString( "Object_%1" ).arg( sc.partIndexObj + 1 ); -+ ++sc.partIndexObj; -+ child->saveOasisAttributes( sc.xmlWriter, name ); - -- xmlWriter.startElement( "draw:object" ); -- const QString name = QString( "Object_%1" ).arg( partIndexObj+1 ); -- child->saveOasisAttributes( xmlWriter, name ); -- -- xmlWriter.endElement(); // draw:object -- xmlWriter.endElement(); // draw:frame -+ sc.xmlWriter.endElement(); - return true; - } - -+const char * KPPartObject::getOasisElementName() const -+{ -+ return "draw:frame"; -+} -+ -+ - void KPPartObject::loadOasis(const QDomElement &element, KoOasisContext&context, KPRLoadingInfo *info) - { - kdDebug()<<"void KPPartObject::loadOasis(const QDomElement &element)******************\n"; -Index: kpresenter/kprpage.cc -=================================================================== ---- kpresenter/kprpage.cc (revision 427945) -+++ kpresenter/kprpage.cc (working copy) -@@ -131,6 +131,8 @@ - - void KPrPage::saveOasisObject( KoStore *store, KoXmlWriter &xmlWriter, KoSavingContext& context, int & indexObj, int &partIndexObj, KoXmlWriter* manifestWriter, bool stickyObj ) const - { -+ KPObject::KPOasisSaveContext sc( xmlWriter, context, indexObj, partIndexObj, isMasterPage() ); -+ - KTempFile animationTmpFile; - animationTmpFile.setAutoDelete( true ); - QFile* tmpFile = animationTmpFile.file(); -@@ -139,17 +141,10 @@ - QPtrListIterator<KPObject> it( m_objectList ); - for ( ; it.current() ; ++it ) - { -- if ( it.current()->getType() == OT_PART ) -- { -- static_cast<KPPartObject*>( it.current() )->saveOasisPart( xmlWriter, store, context, indexObj, partIndexObj, manifestWriter); -- ++partIndexObj; -- } -- else -- { -- if ( it.current()== m_doc->header() || it.current()== m_doc->footer()) -- continue; -- it.current()->saveOasis( xmlWriter, context, indexObj ); -- } -+ if ( it.current()== m_doc->header() || it.current()== m_doc->footer()) -+ continue; -+ it.current()->saveOasisObject( sc ); -+ - if ( !stickyObj && it.current()->haveAnimation() ) - { - kdDebug()<<" it.current()->haveAnimation() \n"; -Index: kpresenter/kptextobject.cc -=================================================================== ---- kpresenter/kptextobject.cc (revision 427945) -+++ kpresenter/kptextobject.cc (working copy) -@@ -212,22 +212,19 @@ - return fragment; - } - --bool KPTextObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPTextObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:frame" ); -- // #### This should use KoGenStyle to share the style -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(), indexObj ) ); -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- -- xmlWriter.startElement( "draw:text-box" ); -- m_textobj->saveOasisContent( xmlWriter, context ); -- xmlWriter.endElement(); -- -- xmlWriter.endElement(); -+ sc.xmlWriter.startElement( "draw:text-box" ); -+ m_textobj->saveOasisContent( sc.xmlWriter, sc.context ); -+ sc.xmlWriter.endElement(); - return true; - } - -+const char * KPTextObject::getOasisElementName() const -+{ -+ return "draw:frame"; -+} -+ - void KPTextObject::saveOasisMarginElement( KoGenStyle &styleobjectauto ) const - { - kdDebug()<<"void KPTextObject::saveOasisMarginElement( KoGenStyle &styleobjectauto )\n"; -@@ -673,6 +670,12 @@ - return element; - } - -+void KPTextObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const -+{ -+ KP2DObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisMarginElement( styleObjectAuto ); -+} -+ - void KPTextObject::loadKTextObject( const QDomElement &elem ) - { - QDomElement e = elem.firstChild().toElement(); -Index: kpresenter/kplineobject.cc -=================================================================== ---- kpresenter/kplineobject.cc (revision 427945) -+++ kpresenter/kplineobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -64,21 +65,23 @@ - } - - --QString KPLineObject::saveOasisStrokeElement( KoGenStyles& mainStyles ) const -+void KPLineObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const - { -- KoGenStyle styleobjectauto( KoGenStyle::STYLE_GRAPHICAUTO, "graphic" ); -- saveOasisMarkerElement( mainStyles, styleobjectauto ); -- KPShadowObject::saveOasisStrokeElement( mainStyles, styleobjectauto ); -- saveOasisShadowElement( styleobjectauto ); -- saveOasisObjectProtectStyle( styleobjectauto ); -- return mainStyles.lookup( styleobjectauto, "gr" ); -+ KPShadowObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisMarkerElement( mainStyles, styleObjectAuto ); - } - --bool KPLineObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+ -+bool KPLineObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:line" ); -- xmlWriter.addAttribute( "draw:style-name", saveOasisStrokeElement( context.mainStyles() ) ); -+ // nothing to do -+ return true; -+} - -+void KPLineObject::saveOasisPosObject( KoXmlWriter &xmlWriter, int indexObj ) const -+{ -+ xmlWriter.addAttribute( "draw:id", "object" + QString::number( indexObj ) ); -+ - float x1 = orig.x(); - float y1 = orig.y(); - float x2 = x1 + ext.width(); -@@ -102,17 +105,24 @@ - break; - } - -+ //save all into pt -+ xmlWriter.addAttributePt( "svg:x1", x1 ); - xmlWriter.addAttributePt( "svg:y1", y1 ); -+ xmlWriter.addAttributePt( "svg:x2", x2 ); - xmlWriter.addAttributePt( "svg:y2", y2 ); -- xmlWriter.addAttributePt( "svg:x1", x1 ); -- xmlWriter.addAttributePt( "svg:x2", x2 ); - -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); -- return true; -+ if ( kAbs( angle ) > 1E-6 ) -+ { -+ double value = -1 * ( ( double )angle* M_PI )/180.0; -+ QString str=QString( "rotate (%1)" ).arg( value ); -+ xmlWriter.addAttribute( "draw:transform", str ); -+ } - } - -+const char * KPLineObject::getOasisElementName() const -+{ -+ return "draw:line"; -+} - - QDomDocumentFragment KPLineObject::save( QDomDocument& doc, double offset ) - { -@@ -163,10 +173,10 @@ - - kdDebug()<<"KPLineObject::loadOasis(const QDomElement &element) : real position x :"<<orig.x()<<" y "<<orig.y()<< " width :"<<ext.width()<<" height :"<<ext.height()<<endl; - -- QString attr = (x1 < x2) ? "marker-start" : "marker-end"; -+ QString attr = (x1 <= x2) ? "marker-start" : "marker-end"; - loadOasisMarkerElement( context, attr, lineBegin ); - -- attr = (x1 < x2) ? "marker-end" : "marker-start"; -+ attr = (x1 <= x2) ? "marker-end" : "marker-start"; - loadOasisMarkerElement( context, attr, lineEnd ); - } - -Index: kpresenter/kppolylineobject.cc -=================================================================== ---- kpresenter/kppolylineobject.cc (revision 427945) -+++ kpresenter/kppolylineobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -29,6 +30,7 @@ - #include <kdebug.h> - #include <kozoomhandler.h> - #include <kooasiscontext.h> -+#include <koUnit.h> - - #include <math.h> - using namespace std; -@@ -68,22 +70,22 @@ - return KPPointObject::load( element ); - } - --bool KPPolylineObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPPolylineObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:polyline" ); -- saveOasisPosObject(xmlWriter, indexObj ); -- xmlWriter.addAttribute( "draw:style-name", saveOasisStrokeElement( context.mainStyles() ) ); -- -- KPPointObject::saveOasis( xmlWriter, context ); -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); -+ KPShadowObject::saveOasisDrawPoints( points, sc ); - return true; - } - -+const char * KPPolylineObject::getOasisElementName() const -+{ -+ return "draw:polyline"; -+} - -+ - void KPPolylineObject::loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info) - { - kdDebug()<<"void KPPolylineObject::loadOasis(const QDomElement &element)************\n"; -- KPPointObject::loadOasis( element,context, info ); -+ KPShadowObject::loadOasis( element, context, info ); -+ KPShadowObject::loadOasisDrawPoints( points, element, context, info ); -+ loadOasisMarker( context ); - } -Index: kpresenter/kpquadricbeziercurveobject.cc -=================================================================== ---- kpresenter/kpquadricbeziercurveobject.cc (revision 427945) -+++ kpresenter/kpquadricbeziercurveobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -60,16 +61,18 @@ - return *this; - } - --bool KPQuadricBezierCurveObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPQuadricBezierCurveObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- kdDebug()<<"bool KPQuadricBezierCurveObject::saveOasis( KoXmlWriter &xmlWriter ) not implemented\n"; -- //todo -- // call saveOasisShadowElement( styleobjectauto ); -- // call saveOasisStrokeElement( KoGenStyle &styleobjectauto ); -- //call xmlWriter.addAttribute( "draw:style-name", style ); -+ kdDebug()<<"bool KPQuadricBezierCurveObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) not implemented\n"; - return true; - } - -+const char * KPQuadricBezierCurveObject::getOasisElementName() const -+{ -+ // use draw:path ? -+ return "draw:custom-shape"; -+} -+ - void KPQuadricBezierCurveObject::loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ) - { - //todo -Index: kspread/dialogs/kspread_dlg_database.cc -=================================================================== ---- kspread/dialogs/kspread_dlg_database.cc (revision 427945) -+++ kspread/dialogs/kspread_dlg_database.cc (working copy) -@@ -600,8 +600,8 @@ - // An update command must also be followed by a space, or it would be parsed - // as an identifier. - // For sanity, also check that there is a SELECT -- QRegExp couldModifyDB( "(^|[( \s])(UPDATE|DELETE|INSERT|CREATE) ", false /* cs */ ); -- QRegExp couldQueryDB( "(^|[( \s])(SELECT) ", false /* cs */ ); -+ QRegExp couldModifyDB( "(^|[( \\s])(UPDATE|DELETE|INSERT|CREATE) ", false /* cs */ ); -+ QRegExp couldQueryDB( "(^|[( \\s])(SELECT) ", false /* cs */ ); - - if (couldModifyDB.search( queryStr ) != -1 || couldQueryDB.search ( queryStr ) == -1 ) - { -Index: kspread/CHANGES -=================================================================== ---- kspread/CHANGES (revision 427945) -+++ kspread/CHANGES (working copy) -@@ -1,5 +1,9 @@ -+since 1.4.0 -+=========== -+- Fix potential crash when rendering obscured cells (#108659) -+ - since 1.4-beta1 --============================= -+=============== - - Use General/Blank Worksheet as default template. - - KSpread crashes on exit if there is a chart in the sheet (#101915). - - The data editor is disabled for charts which has been loaded. -Index: kspread/kspreadpart.desktop -=================================================================== ---- kspread/kspreadpart.desktop (revision 427945) -+++ kspread/kspreadpart.desktop (working copy) -@@ -19,6 +19,7 @@ - Name[pt]=Componente de Folha de Cálculo do KOffice - Name[pt_BR]=Componente de Planilha de Cálculo do KOffice - Name[ru]=Компонент электронных таблиц KOffice -+Name[sl]=Komponenta za preglednice za KOffice - Name[sr]=KOffice-ова компонента за унакрсне табеле - Name[sr@Latn]=KOffice-ova komponenta za unakrsne tabele - Name[sv]=Koffice-kalkylarkskomponent -Index: kspread/kspread_cell.cc -=================================================================== ---- kspread/kspread_cell.cc (revision 427945) -+++ kspread/kspread_cell.cc (working copy) -@@ -825,7 +825,12 @@ - if (!d->hasExtra()) - return (KSpreadCell *) this; - -- return d->extra()->obscuringCells.first(); -+ else if (d->extra()->obscuringCells.isEmpty()) -+ return (KSpreadCell *) this; -+ -+ else -+ return d->extra()->obscuringCells.first(); -+ - #if 0 - QValueList<KSpreadCell*>::const_iterator it = d->extra()->obscuringCells.begin(); - QValueList<KSpreadCell*>::const_iterator end = d->extra()->obscuringCells.end(); -@@ -2489,6 +2494,7 @@ - // If the cell towards the top is part of a merged cell, get - // the pointer to the master cell. - cellUp = cellUp->ultimateObscuringCell(); -+ - topPen = cellUp->effBottomBorderPen( cellUp->column(), - cellUp->row() ); - -Index: templates/SpreadSheet.desktop -=================================================================== ---- templates/SpreadSheet.desktop (revision 427945) -+++ templates/SpreadSheet.desktop (working copy) -@@ -23,7 +23,7 @@ - Name[pl]=Arkusz kalkulacyjny... - Name[pt]=Documento de Folha de Cálculo... - Name[pt_BR]=Planilha de Cálculo... --Name[ru]=Электронная таблица... -+Name[ru]=Электронную таблицу... - Name[se]=Rehkenastinárka ... - Name[sl]=Preglednični dokument ... - Name[sr]=Документ са прорачунским листовима... -@@ -54,6 +54,7 @@ - Comment[fa]=KSpread سند جدید: - Comment[fi]=Uusi KSpread-asiakirja: - Comment[fr]=Nouveau document KSpread : -+Comment[ga]=Cáipéis nua KSpread: - Comment[he]=מסמך חדש של KSpread - Comment[hr]=Novi KSpread dokument: - Comment[hu]=Új KSpread-dokumentum: -@@ -67,7 +68,7 @@ - Comment[pl]=Nowy arkusz KSpread: - Comment[pt]=Novo documento do KSpread: - Comment[pt_BR]=Novo documento KSpread: --Comment[ru]=Новый документ KSpread: -+Comment[ru]=Новая электронная таблица KSpread: - Comment[se]=Ođđa KSpread-dokumeanta: - Comment[sk]=Nový dokument KSpread: - Comment[sl]=Nov dokument za KSpread -Index: templates/Illustration.desktop -=================================================================== ---- templates/Illustration.desktop (revision 427945) -+++ templates/Illustration.desktop (working copy) -@@ -22,7 +22,7 @@ - Name[pl]=Rysunek... - Name[pt]=Documento de Ilustração.... - Name[pt_BR]=Documento de Ilustração... --Name[ru]=Иллюстрированный документ... -+Name[ru]=Векторный рисунок... - Name[se]=Illustrašuvdna ... - Name[sl]=Ilustracijski dokument ... - Name[sr]=Илустрациони документ... -@@ -49,6 +49,7 @@ - Comment[fa]=Karbon14 سند جدید: - Comment[fi]=Uusi Karbon14-asiakirja: - Comment[fr]=Nouveau document Karbon14 : -+Comment[ga]=Cáipéis nua Karbon14: - Comment[he]=מסמך Karbon14 חדש - Comment[hr]=Novi Karbon14 dokument: - Comment[hu]=Új Karbon14-dokumentum: -@@ -59,7 +60,7 @@ - Comment[pl]=Nowy dokument Karbon14: - Comment[pt]=Novo documento do Karbon14: - Comment[pt_BR]=Novo documento do Karbon14 --Comment[ru]=Новый документ Karbon14: -+Comment[ru]=Новый рисунок Karbon14: - Comment[se]=Ođđa Karbon14-dokumeanta: - Comment[sk]=Nový dokument Karbon14: - Comment[sl]=Nov dokument za Karbon14 -Index: templates/Presentation.desktop -=================================================================== ---- templates/Presentation.desktop (revision 427945) -+++ templates/Presentation.desktop (working copy) -@@ -23,7 +23,7 @@ - Name[pl]=Prezentacja... - Name[pt]=Documento de Apresentação... - Name[pt_BR]=Apresentação de Slides... --Name[ru]=Презентация... -+Name[ru]=Презентацию... - Name[se]=Presentašuvdna ... - Name[sl]=Predstavitveni dokument ... - Name[sr]=Презентациони документ... -@@ -67,7 +67,7 @@ - Comment[pl]=Nowa prezentacja KPresenter: - Comment[pt]=Novo documento do KPresenter: - Comment[pt_BR]=Novo documento de apresentação KPresenter: --Comment[ru]=Новый документ KPresenter: -+Comment[ru]=Новая презентация KPresenter: - Comment[se]=Ođđa KPresenter-presentašuvdna: - Comment[sk]=Nový dokument KPresenter: - Comment[sl]=Nov predstavitveni dokument za KPresenter -Index: templates/TextDocument.desktop -=================================================================== ---- templates/TextDocument.desktop (revision 427945) -+++ templates/TextDocument.desktop (working copy) -@@ -13,6 +13,7 @@ - Name[et]=Tekstidokument... - Name[fi]=Tekstiasiakirja... - Name[fr]=Document texte... -+Name[ga]=Cáipéis Téacs... - Name[he]=מסמך טקסט... - Name[hr]=Tekst datoteka... - Name[hu]=KWord-dokumentum... -@@ -24,7 +25,7 @@ - Name[pl]=Dokument tekstowy... - Name[pt]=Documento de Texto... - Name[pt_BR]=Documento de Texto... --Name[ru]=Текстовый документ... -+Name[ru]=Документ... - Name[se]=Teakstadokumeanta ... - Name[sl]=Besedilni dokument ... - Name[sr]=Текстуални документ... -@@ -55,6 +56,7 @@ - Comment[fa]=KWord سند جدید برای: - Comment[fi]=Uusi KWord-asiakirja: - Comment[fr]=Nouveau document KWord : -+Comment[ga]=Cáipéis nua KWord: - Comment[he]=מסמך חדש של KWord - Comment[hr]=Novi KWord dokument - Comment[hu]=Új KWord-dokumentum: -Index: karbon/tools/vroundrecttool.h -=================================================================== ---- karbon/tools/vroundrecttool.h (revision 427945) -+++ karbon/tools/vroundrecttool.h (working copy) -@@ -29,7 +29,7 @@ - - class KarbonPart; - class QLabel; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - - class VRoundRectTool : public VShapeTool -Index: karbon/tools/vpolygontool.cc -=================================================================== ---- karbon/tools/vpolygontool.cc (revision 427945) -+++ karbon/tools/vpolygontool.cc (working copy) -@@ -37,6 +37,7 @@ - - new QLabel( i18n( "Radius:" ), group ); - m_radius = new KDoubleSpinBox(0.0, 1000.0, 0.5, 5.0,2, group ); -+ //m_radius = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 50.0, KoUnit::U_MM ); - refreshUnit(); - new QLabel( i18n( "Edges:" ), group ); - m_edges = new KIntSpinBox( group ); -Index: karbon/tools/vpolygontool.h -=================================================================== ---- karbon/tools/vpolygontool.h (revision 427945) -+++ karbon/tools/vpolygontool.h (working copy) -@@ -58,7 +58,9 @@ - void refreshUnit(); - - private: -+ // FIXME: This should be a KoUnitDoubleSpinBox! - KDoubleSpinBox *m_radius; -+ - KIntSpinBox *m_edges; - KarbonPart *m_part; - }; -Index: karbon/tools/vspiraltool.h -=================================================================== ---- karbon/tools/vspiraltool.h (revision 427945) -+++ karbon/tools/vspiraltool.h (working copy) -@@ -67,7 +67,9 @@ - void refreshUnit(); - - private: -+ // FIXME: This should be a KoUnitDoubleSpinBox! - KDoubleSpinBox *m_radius; -+ - KIntSpinBox *m_segments; - KDoubleNumInput *m_fade; - KComboBox *m_type; -Index: karbon/tools/vellipsetool.cc -=================================================================== ---- karbon/tools/vellipsetool.cc (revision 427945) -+++ karbon/tools/vellipsetool.cc (working copy) -@@ -49,8 +49,10 @@ - // add width/height-input: - new QLabel( i18n( "Width:" ), group ); - m_width = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -+ //m_width = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - new QLabel( i18n( "Height:" ), group ); - m_height = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -+ //m_height = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - - new QLabel( i18n( "Start angle:" ), group ); - m_startAngle = new KIntSpinBox( group ); -Index: karbon/tools/vellipsetool.h -=================================================================== ---- karbon/tools/vellipsetool.h (revision 427945) -+++ karbon/tools/vellipsetool.h (working copy) -@@ -25,8 +25,7 @@ - - #include "vshapetool.h" - --class KoUnitDoubleSpinBox; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KComboBox; - class KIntSpinBox; - class KarbonPart; -@@ -55,8 +54,11 @@ - KComboBox *m_type; - KIntSpinBox *m_startAngle; - KIntSpinBox *m_endAngle; -+ -+ // FIXME: These should be KoUnitDoubleSpinBoxes! - KDoubleSpinBox *m_width; - KDoubleSpinBox *m_height; -+ - KarbonPart *m_part; - }; - -Index: karbon/tools/vsinustool.cc -=================================================================== ---- karbon/tools/vsinustool.cc (revision 427945) -+++ karbon/tools/vsinustool.cc (working copy) -@@ -40,8 +40,10 @@ - // add width/height-input: - new QLabel( i18n( "Width:" ), group ); - m_width = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -+ //m_width = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - new QLabel( i18n( "Height:" ), group ); - m_height = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -+ //m_height = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - - refreshUnit(); - -Index: karbon/tools/vsinustool.h -=================================================================== ---- karbon/tools/vsinustool.h (revision 427945) -+++ karbon/tools/vsinustool.h (working copy) -@@ -24,7 +24,7 @@ - #include <knuminput.h> - #include "vshapetool.h" - --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KIntSpinBox; - class KarbonPart; - class QLabel; -@@ -58,8 +58,10 @@ - void refreshUnit(); - - private: -+ // FIXME: These should be KoUnitDoubleSpinBoxes! - KDoubleSpinBox *m_width; - KDoubleSpinBox *m_height; -+ - KIntSpinBox *m_periods; - KarbonPart *m_part; - }; -Index: karbon/tools/vrectangletool.cc -=================================================================== ---- karbon/tools/vrectangletool.cc (revision 427945) -+++ karbon/tools/vrectangletool.cc (working copy) -@@ -37,10 +37,11 @@ - // add width/height-input: - new QLabel( i18n( "Width:" ), group ); - m_width = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -+ //m_width = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - - new QLabel( i18n( "Height:" ), group ); - m_height = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -- -+ //m_height = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - refreshUnit(); - - group->setInsideMargin( 4 ); -Index: karbon/tools/vstartool.cc -=================================================================== ---- karbon/tools/vstartool.cc (revision 427945) -+++ karbon/tools/vstartool.cc (working copy) -@@ -49,10 +49,12 @@ - // add width/height-input: - new QLabel( i18n( "Outer radius:" ), group ); - m_outerR = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 5.0, 2, group ); -+ //m_outerR = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 50.0, KoUnit::U_MM ); - connect( m_outerR, SIGNAL( valueChanged( double ) ), this, SLOT( setOuterRadius( double ) ) ); - - new QLabel( i18n( "Inner radius:" ), group ); - m_innerR = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 5.0, 2, group ); -+ //m_innerR = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 25.0, KoUnit::U_MM ); - - refreshUnit(); - -Index: karbon/tools/vstartool.h -=================================================================== ---- karbon/tools/vstartool.h (revision 427945) -+++ karbon/tools/vstartool.h (working copy) -@@ -54,8 +54,10 @@ - void setOuterRadius( double ); - - private: -+ // FIXME: These should be KoUnitDoubleSpinBoxes! - KDoubleSpinBox *m_innerR; - KDoubleSpinBox *m_outerR; -+ - KDoubleNumInput *m_roundness; - KIntSpinBox *m_edges; - KIntSpinBox *m_innerAngle; -Index: karbon/tools/vspiraltool.cc -=================================================================== ---- karbon/tools/vspiraltool.cc (revision 427945) -+++ karbon/tools/vspiraltool.cc (working copy) -@@ -43,6 +43,7 @@ - - new QLabel( i18n( "Radius:" ), group ); - m_radius = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 5.0, 2, group ); -+ //m_radius = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 50.0, KoUnit::U_MM ); - refreshUnit(); - new QLabel( i18n( "Segments:" ), group ); - m_segments = new KIntSpinBox( group ); -Index: karbon/tools/vrectangletool.h -=================================================================== ---- karbon/tools/vrectangletool.h (revision 427945) -+++ karbon/tools/vrectangletool.h (working copy) -@@ -29,7 +29,7 @@ - - class KarbonPart; - class QLabel; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - class VRectangleTool : public VShapeTool - { -@@ -59,8 +59,10 @@ - void refreshUnit(); - - private: -+ // FIXME: These should be KoUnitDoubleSpinBoxes! - KDoubleSpinBox *m_width; - KDoubleSpinBox *m_height; -+ - KarbonPart *m_part; - }; - -Index: karbon/dialogs/vconfiguredlg.cc -=================================================================== ---- karbon/dialogs/vconfiguredlg.cc (revision 427945) -+++ karbon/dialogs/vconfiguredlg.cc (working copy) -@@ -317,17 +317,17 @@ - gridColorLbl->setBuddy( m_gridColorBtn ); - QGroupBox* spacingGrp = new QGroupBox( 2, Qt::Horizontal, i18n( "Spacing" ), page ); - QLabel* spaceHorizLbl = new QLabel( i18n( "&Horizontal:" ), spacingGrp ); -- m_spaceHorizUSpin = new KoUnitDoubleSpinBox( spacingGrp, 0.0, pgw, 0.1, fw, unit ); -+ m_spaceHorizUSpin = new KoBuggyUnitDoubleSpinBox( spacingGrp, 0.0, pgw, 0.1, fw, unit ); - spaceHorizLbl->setBuddy( m_spaceHorizUSpin ); - QLabel* spaceVertLbl = new QLabel( i18n( "&Vertical:" ), spacingGrp ); -- m_spaceVertUSpin = new KoUnitDoubleSpinBox( spacingGrp, 0.0, pgh, 0.1, fh, unit ); -+ m_spaceVertUSpin = new KoBuggyUnitDoubleSpinBox( spacingGrp, 0.0, pgh, 0.1, fh, unit ); - spaceVertLbl->setBuddy( m_spaceVertUSpin ); - QGroupBox* snapGrp = new QGroupBox( 2, Qt::Horizontal, i18n( "Snap Distance" ), page ); - QLabel* snapHorizLbl = new QLabel( i18n( "H&orizontal:" ), snapGrp ); -- m_snapHorizUSpin = new KoUnitDoubleSpinBox( snapGrp, 0.0, fw, 0.1, sw, unit ); -+ m_snapHorizUSpin = new KoBuggyUnitDoubleSpinBox( snapGrp, 0.0, fw, 0.1, sw, unit ); - snapHorizLbl->setBuddy( m_snapHorizUSpin ); - QLabel* snapVertLbl = new QLabel( i18n( "V&ertical:" ), snapGrp ); -- m_snapVertUSpin = new KoUnitDoubleSpinBox( snapGrp, 0.0, fh, 0.1, sh, unit ); -+ m_snapVertUSpin = new KoBuggyUnitDoubleSpinBox( snapGrp, 0.0, fh, 0.1, sh, unit ); - snapVertLbl->setBuddy( m_snapVertUSpin ); - - QGridLayout* gl = new QGridLayout(); -Index: karbon/dialogs/vconfiguredlg.h -=================================================================== ---- karbon/dialogs/vconfiguredlg.h (revision 427945) -+++ karbon/dialogs/vconfiguredlg.h (working copy) -@@ -27,7 +27,7 @@ - class KConfig; - class KIntNumInput; - class KColorButton; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class QCheckBox; - class QComboBox; - -@@ -129,10 +129,10 @@ - - private: - KarbonView* m_view; -- KoUnitDoubleSpinBox* m_spaceHorizUSpin; -- KoUnitDoubleSpinBox* m_spaceVertUSpin; -- KoUnitDoubleSpinBox* m_snapHorizUSpin; -- KoUnitDoubleSpinBox* m_snapVertUSpin; -+ KoBuggyUnitDoubleSpinBox* m_spaceHorizUSpin; -+ KoBuggyUnitDoubleSpinBox* m_spaceVertUSpin; -+ KoBuggyUnitDoubleSpinBox* m_snapHorizUSpin; -+ KoBuggyUnitDoubleSpinBox* m_snapVertUSpin; - QCheckBox* m_gridChBox; - QCheckBox* m_snapChBox; - KColorButton* m_gridColorBtn; -Index: karbon/dialogs/vstrokedlg.cc -=================================================================== ---- karbon/dialogs/vstrokedlg.cc (revision 427945) -+++ karbon/dialogs/vstrokedlg.cc (working copy) -@@ -50,7 +50,7 @@ - - QLabel* widthLabel = new QLabel( i18n ( "Width:" ), mainWidget ); - leftLayout->addWidget ( widthLabel ); -- m_setLineWidth = new KoUnitDoubleSpinBox( mainWidget, 0.0, 1000.0, 0.5, 1.0, KoUnit::U_PT, 1 ); -+ m_setLineWidth = new KoBuggyUnitDoubleSpinBox( mainWidget, 0.0, 1000.0, 0.5, 1.0, KoUnit::U_PT, 1 ); - leftLayout->addWidget ( m_setLineWidth ); - - //Dashing -> -Index: karbon/dialogs/vstrokedlg.h -=================================================================== ---- karbon/dialogs/vstrokedlg.h (revision 427945) -+++ karbon/dialogs/vstrokedlg.h (working copy) -@@ -27,7 +27,7 @@ - class QVButtonGroup; - - class KarbonPart; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class VStroke; - class VColorTab; - -@@ -41,7 +41,7 @@ - private: - VColorTab* m_colortab; - KarbonPart *m_part; -- KoUnitDoubleSpinBox *m_setLineWidth; -+ KoBuggyUnitDoubleSpinBox *m_setLineWidth; - QComboBox *m_styleCombo; - QVButtonGroup *m_typeOption; - QVButtonGroup *m_capOption; -Index: karbon/dockers/vtransformdocker.h -=================================================================== ---- karbon/dockers/vtransformdocker.h (revision 427945) -+++ karbon/dockers/vtransformdocker.h (working copy) -@@ -25,7 +25,7 @@ - - class KarbonPart; - class KarbonView; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - class VTransformDocker : public VDocker - { -@@ -43,10 +43,10 @@ - private: - KarbonPart *m_part; - KarbonView *m_view; -- KoUnitDoubleSpinBox *m_x; -- KoUnitDoubleSpinBox *m_y; -- KoUnitDoubleSpinBox *m_width; -- KoUnitDoubleSpinBox *m_height; -+ KoBuggyUnitDoubleSpinBox *m_x; -+ KoBuggyUnitDoubleSpinBox *m_y; -+ KoBuggyUnitDoubleSpinBox *m_width; -+ KoBuggyUnitDoubleSpinBox *m_height; - QWidget *mainWidget; - }; - -Index: karbon/dockers/vstrokedocker.cc -=================================================================== ---- karbon/dockers/vstrokedocker.cc (revision 427945) -+++ karbon/dockers/vstrokedocker.cc (working copy) -@@ -50,7 +50,7 @@ - - QLabel* widthLabel = new QLabel( i18n ( "Width:" ), mainWidget ); - mainLayout->addWidget( widthLabel, 0, 0 ); -- m_setLineWidth = new KoUnitDoubleSpinBox( mainWidget, 0.0, 1000.0, 0.5, 1.0, KoUnit::U_PT, 1 ); -+ m_setLineWidth = new KoBuggyUnitDoubleSpinBox( mainWidget, 0.0, 1000.0, 0.5, 1.0, KoUnit::U_PT, 1 ); - mainLayout->addWidget ( m_setLineWidth, 0, 1 ); - connect( m_setLineWidth, SIGNAL( valueChanged( double ) ), this, SLOT( widthChanged() ) ); - -Index: karbon/dockers/vstrokedocker.h -=================================================================== ---- karbon/dockers/vstrokedocker.h (revision 427945) -+++ karbon/dockers/vstrokedocker.h (working copy) -@@ -26,7 +26,7 @@ - class QHButtonGroup; - class QWidget; - --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - class KoMainWindow; - class KarbonView; -@@ -48,7 +48,7 @@ - QWidget *mainWidget; - KarbonPart *m_part; - KarbonView *m_view; -- KoUnitDoubleSpinBox *m_setLineWidth; -+ KoBuggyUnitDoubleSpinBox *m_setLineWidth; - - private slots: - void slotCapChanged( int ID ); -Index: karbon/dockers/vtransformdocker.cc -=================================================================== ---- karbon/dockers/vtransformdocker.cc (revision 427945) -+++ karbon/dockers/vtransformdocker.cc (working copy) -@@ -48,25 +48,25 @@ - //X: (TODO: Set 5000 limit to real Karbon14 limit) - QLabel* xLabel = new QLabel( i18n ( "X:" ), mainWidget ); - mainLayout->addWidget( xLabel, 1, 0 ); -- m_x = new KoUnitDoubleSpinBox( mainWidget, -5000.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); -+ m_x = new KoBuggyUnitDoubleSpinBox( mainWidget, -5000.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); - mainLayout->addWidget( m_x, 1, 1 ); - - //Y: (TODO: Set 5000 limit to real Karbon14 limit) - QLabel* yLabel = new QLabel( i18n ( "Y:" ), mainWidget ); - mainLayout->addWidget( yLabel, 2, 0 ); -- m_y = new KoUnitDoubleSpinBox( mainWidget, -5000.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); -+ m_y = new KoBuggyUnitDoubleSpinBox( mainWidget, -5000.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); - mainLayout->addWidget( m_y, 2, 1 ); - - //Width: (TODO: Set 5000 limit to real Karbon14 limit) - QLabel* wLabel = new QLabel( i18n ( "W:" ), mainWidget ); - mainLayout->addWidget( wLabel, 1, 2 ); -- m_width = new KoUnitDoubleSpinBox( mainWidget, 0.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); -+ m_width = new KoBuggyUnitDoubleSpinBox( mainWidget, 0.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); - mainLayout->addWidget( m_width, 1, 3 ); - - //Height: (TODO: Set 5000 limit to real Karbon14 limit) - QLabel* hLabel = new QLabel( i18n ( "H:" ), mainWidget ); - mainLayout->addWidget( hLabel, 2, 2 ); -- m_height = new KoUnitDoubleSpinBox( mainWidget, 0.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); -+ m_height = new KoBuggyUnitDoubleSpinBox( mainWidget, 0.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); - mainLayout->addWidget( m_height, 2, 3 ); - - //TODO: Add Rotation, Shear -Index: karbon/widgets/vselecttoolbar.cc -=================================================================== ---- karbon/widgets/vselecttoolbar.cc (revision 427945) -+++ karbon/widgets/vselecttoolbar.cc (working copy) -@@ -38,24 +38,24 @@ - setCaption( i18n( "Object Properties" ) ); - QLabel *x_label = new QLabel( i18n( "X:" ), this, "kde toolbar widget" ); - insertWidget( 0, x_label->width(), x_label ); -- m_x = new KoUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); -+ m_x = new KoBuggyUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); - connect( m_x, SIGNAL( valueChanged( double ) ), this, SLOT( slotXChanged( double ) ) ); - insertWidget( 1, m_x->width(), m_x ); - QLabel *y_label = new QLabel( i18n( "Y:" ), this, "kde toolbar widget" ); - insertWidget( 2, y_label->width(), y_label ); -- m_y = new KoUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); -+ m_y = new KoBuggyUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); - connect( m_y, SIGNAL( valueChanged( double ) ), this, SLOT( slotYChanged( double ) ) ); - insertWidget( 3, m_y->width(), m_y ); - - insertSeparator( 4 ); - QLabel *w_label = new QLabel( i18n( "Width:" ), this, "kde toolbar widget" ); - insertWidget( 5, w_label->width(), w_label ); -- m_width = new KoUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); -+ m_width = new KoBuggyUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); - connect( m_width, SIGNAL( valueChanged( double ) ), this, SLOT( slotWidthChanged( double ) ) ); - insertWidget( 6, m_width->width(), m_width ); - QLabel *h_label = new QLabel( i18n( "Height:" ), this, "kde toolbar widget" ); - insertWidget( 7, h_label->width(), h_label ); -- m_height = new KoUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); -+ m_height = new KoBuggyUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); - connect( m_height, SIGNAL( valueChanged( double ) ), this, SLOT( slotHeightChanged( double ) ) ); - insertWidget( 8, m_height->width(), m_height ); - -Index: karbon/widgets/vselecttoolbar.h -=================================================================== ---- karbon/widgets/vselecttoolbar.h (revision 427945) -+++ karbon/widgets/vselecttoolbar.h (working copy) -@@ -24,7 +24,7 @@ - - #include <ktoolbar.h> - --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KarbonView; - - class VSelectToolBar : public KToolBar -@@ -42,10 +42,10 @@ - void slotHeightChanged( double ); - - private: -- KoUnitDoubleSpinBox *m_x; -- KoUnitDoubleSpinBox *m_y; -- KoUnitDoubleSpinBox *m_width; -- KoUnitDoubleSpinBox *m_height; -+ KoBuggyUnitDoubleSpinBox *m_x; -+ KoBuggyUnitDoubleSpinBox *m_y; -+ KoBuggyUnitDoubleSpinBox *m_width; -+ KoBuggyUnitDoubleSpinBox *m_height; - KarbonView *m_view; - }; - diff --git a/editors/koffice-kde4/files/patch-1.4.0_patchset_1.diff b/editors/koffice-kde4/files/patch-1.4.0_patchset_1.diff deleted file mode 100644 index bf61a1b9ba41..000000000000 --- a/editors/koffice-kde4/files/patch-1.4.0_patchset_1.diff +++ /dev/null @@ -1,5060 +0,0 @@ -Index: kformula/kformulapart.desktop -=================================================================== ---- kformula/kformulapart.desktop (revision 427945) -+++ kformula/kformulapart.desktop (working copy) -@@ -19,6 +19,7 @@ - Name[pt]=Componente de Fórmulas do KOffice - Name[pt_BR]=Componente de Fórmulas do KOffice - Name[ru]=Компонент формул KOffice -+Name[sl]=Komponenta za enačbe za KOffice - Name[sr]=KOffice-ова компонента за формуле - Name[sr@Latn]=KOffice-ova komponenta za formule - Name[sv]=Koffice-formelkomponent -Index: servicetypes/koplugin.desktop -=================================================================== ---- servicetypes/koplugin.desktop (revision 427945) -+++ servicetypes/koplugin.desktop (working copy) -@@ -22,6 +22,7 @@ - Comment[fi]=KOffice-laajennus - Comment[fo]=KSkrivstovu-ístingur - Comment[fr]=Module externe de KOffice -+Comment[ga]=Breiseán KOffice - Comment[he]=תוסף של KOffice - Comment[hr]=KOffice dodatak - Comment[hu]=KOffice-bővítőmodul -Index: servicetypes/kofficepart.desktop -=================================================================== ---- servicetypes/kofficepart.desktop (revision 427945) -+++ servicetypes/kofficepart.desktop (working copy) -@@ -22,6 +22,7 @@ - Comment[fa]=KOffice اجزای - Comment[fi]=KOffice-komponentti - Comment[fr]=Composant KOffice -+Comment[ga]=Comhpháirt KOffice - Comment[he]=רכיב של KOffice - Comment[hr]=KOffice komponenta - Comment[hu]=KOffice-komponens -Index: servicetypes/kofilter.desktop -=================================================================== ---- servicetypes/kofilter.desktop (revision 427945) -+++ servicetypes/kofilter.desktop (working copy) -@@ -22,6 +22,7 @@ - Comment[fi]=KOffice-suodin - Comment[fo]=KSkrivstovu-filtur - Comment[fr]=Filtre KOffice -+Comment[ga]=Scagaire KOffice - Comment[he]=מסנן של KOffice - Comment[hr]=KOffice filter - Comment[hu]=KOffice-szűrő -Index: kword/kwordpart.desktop -=================================================================== ---- kword/kwordpart.desktop (revision 427945) -+++ kword/kwordpart.desktop (working copy) -@@ -20,6 +20,7 @@ - Name[pt]=Componente de Processamento de Texto do KOffice - Name[pt_BR]=Componente de Processamento de Texto do KOffice - Name[ru]=Компонент текстового редактора KOffice -+Name[sl]=Komponenta za obdelovanje besedil za KOffice - Name[sr]=KOffice-ова компонента за обраду текста - Name[sr@Latn]=KOffice-ova komponenta za obradu teksta - Name[sv]=Koffice-ordbehandlingskomponent -Index: kword/kwmailmerge.desktop -=================================================================== ---- kword/kwmailmerge.desktop (revision 427945) -+++ kword/kwmailmerge.desktop (working copy) -@@ -17,6 +17,7 @@ - Comment[et]=KWordi kirjakoosteplugin - Comment[fi]=KWord-postituslaajennus - Comment[fr]=Module fusion de courrier pour KWord -+Comment[ga]=Breiseán postchumaisc KWord - Comment[he]=תוסף מיזוג דואר ל־KWord - Comment[hr]=KWord dodatak za mailmerge - Comment[hu]=KWord körlevél-bővítőmodul -Index: kword/configfootnotedia.h -=================================================================== ---- kword/configfootnotedia.h (revision 427945) -+++ kword/configfootnotedia.h (working copy) -@@ -28,7 +28,7 @@ - class QRadioButton; - class KIntNumInput; - class QComboBox; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - class KWConfigFootNoteDia : public KDialogBase - { -@@ -47,7 +47,7 @@ - QRadioButton *rbPosCentered; - QRadioButton *rbPosRight; - KIntNumInput *spLength; -- KoUnitDoubleSpinBox *spWidth; -+ KoBuggyUnitDoubleSpinBox *spWidth; - QComboBox *m_cbLineType; - protected slots: - virtual void slotOk(); -Index: kword/kwconfig.cc -=================================================================== ---- kword/kwconfig.cc (revision 427945) -+++ kword/kwconfig.cc (working copy) -@@ -301,7 +301,7 @@ - - QHBox* hbGridX = new QHBox( gbInterfaceGroup ); - QLabel* labelGridX = new QLabel( i18n("&Horizontal grid size:"), hbGridX ); -- gridX=new KoUnitDoubleSpinBox( hbGridX, -+ gridX=new KoBuggyUnitDoubleSpinBox( hbGridX, - 0.1, - 50, - 0.1, -@@ -313,7 +313,7 @@ - - QHBox* hbGridY = new QHBox( gbInterfaceGroup ); - QLabel* labelGridY = new QLabel( i18n("&Vertical grid size:"), hbGridY ); -- gridY=new KoUnitDoubleSpinBox( hbGridY, -+ gridY=new KoBuggyUnitDoubleSpinBox( hbGridY, - 0.1, - 50, - 0.1, -@@ -326,7 +326,7 @@ - - QHBox* hbIndent = new QHBox( gbInterfaceGroup ); - QLabel* labelIdent = new QLabel( i18n("&Paragraph indent by toolbar buttons:"), hbIndent ); -- indent = new KoUnitDoubleSpinBox( hbIndent, -+ indent = new KoBuggyUnitDoubleSpinBox( hbIndent, - 0.1, - 50, - 0.1, -@@ -662,7 +662,7 @@ - - QHBox* hbColumnSpacing = new QHBox( gbDocumentDefaults ); - QLabel* columnSpacingLabel = new QLabel( i18n("Default column spacing:"), hbColumnSpacing ); -- m_columnSpacing = new KoUnitDoubleSpinBox( hbColumnSpacing, -+ m_columnSpacing = new KoBuggyUnitDoubleSpinBox( hbColumnSpacing, - 0.1, - 50, - 0.1, -@@ -764,7 +764,7 @@ - - QHBox* hbTabStop = new QHBox( gbDocumentSettings ); - tabStop = new QLabel(i18n("Tab stop (%1):").arg(doc->unitName()), hbTabStop); -- m_tabStopWidth = new KoUnitDoubleSpinBox( hbTabStop, -+ m_tabStopWidth = new KoBuggyUnitDoubleSpinBox( hbTabStop, - MM_TO_POINT(2), - doc->ptPaperWidth(), - 0.1, -Index: kword/framedia.cc -=================================================================== ---- kword/framedia.cc (revision 427945) -+++ kword/framedia.cc (working copy) -@@ -956,7 +956,7 @@ - lx->resize( lx->sizeHint() ); - pGrid->addWidget( lx, 1, 0 ); - -- sx = new KoUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); -+ sx = new KoBuggyUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); - - sx->resize( sx->sizeHint() ); - pGrid->addWidget( sx, 1, 1 ); -@@ -965,7 +965,7 @@ - ly->resize( ly->sizeHint() ); - pGrid->addWidget( ly, 1, 2 ); - -- sy = new KoUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); -+ sy = new KoBuggyUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); - sy->resize( sy->sizeHint() ); - pGrid->addWidget( sy, 1, 3 ); - -@@ -973,7 +973,7 @@ - lw->resize( lw->sizeHint() ); - pGrid->addWidget( lw, 2, 0 ); - -- sw = new KoUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); -+ sw = new KoBuggyUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); - - sw->resize( sw->sizeHint() ); - connect( sw, SIGNAL(valueChanged(double)), -@@ -985,7 +985,7 @@ - lh->resize( lh->sizeHint() ); - pGrid->addWidget( lh, 2, 2 ); - -- sh = new KoUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); -+ sh = new KoBuggyUnitDoubleSpinBox( grp1, 0, 9999, 1, 0.0, doc->unit() ); - connect( sh, SIGNAL(valueChanged(double)), - this, SLOT(slotUpdateWidthForHeight(double)) ); - -@@ -1095,7 +1095,7 @@ - - f=allFrames.next(); - } -- // TODO port to KoUnitDoubleSpinBox -+ // TODO port to KoBuggyUnitDoubleSpinBox - // and TODO show a special value when frames have a different width/height - if ( sw->isEnabled() ) - sw->setValue( KoUnit::toUserValue( commonWidth, doc->unit() ) ); -@@ -2103,7 +2103,7 @@ - //lml->resize( lml->sizeHint() ); - mGrid->addWidget( lml, 2, 0 ); - -- m_inputLeft = new KoUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); -+ m_inputLeft = new KoBuggyUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); - - mGrid->addWidget( m_inputLeft, 2, 1 ); - -@@ -2111,7 +2111,7 @@ - //lmt->resize( lmt->sizeHint() ); - mGrid->addWidget( lmt, 2, 2 ); - -- m_inputTop = new /*KDoubleNumInput*/KoUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); -+ m_inputTop = new /*KDoubleNumInput*/KoBuggyUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); - - //m_inputTop->resize( m_inputTop->sizeHint() ); - -@@ -2121,7 +2121,7 @@ - //lmr->resize( lmr->sizeHint() ); - mGrid->addWidget( lmr, 3, 0 ); - -- m_inputRight = new KoUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); -+ m_inputRight = new KoBuggyUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); - - //m_inputRight->resize( m_inputRight->sizeHint() ); - mGrid->addWidget( m_inputRight, 3, 1 ); -@@ -2130,7 +2130,7 @@ - //lmb->resize( lmb->sizeHint() ); - mGrid->addWidget( lmb, 3, 2 ); - -- m_inputBottom = new KoUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); -+ m_inputBottom = new KoBuggyUnitDoubleSpinBox( grp2, 0, 9999, 1, 0.0, doc->unit() ); - - //m_inputBottom->resize( m_inputBottom->sizeHint() ); - mGrid->addWidget( m_inputBottom, 3, 3 ); -Index: kword/resizetabledia.cc -=================================================================== ---- kword/resizetabledia.cc (revision 427945) -+++ kword/resizetabledia.cc (working copy) -@@ -77,7 +77,7 @@ - else - value->setValue( type == ROW ? (rowSelected+1) : (colSelected+1) ); - rc = new QLabel( type == ROW ? i18n( "Height (%1):" ).arg(doc->unitName()) : i18n( "Width (%1):" ).arg(doc->unitName()), page ); -- position= new KoUnitDoubleSpinBox( page, 0.01, table->anchorFrameset()->isFloating() ? table->anchorFrameset()->frame(0)->width(): 9999, 1, 0.0, doc->unit(), doc->unit() ); -+ position= new KoBuggyUnitDoubleSpinBox( page, 0.01, table->anchorFrameset()->isFloating() ? table->anchorFrameset()->frame(0)->width(): 9999, 1, 0.0, doc->unit(), doc->unit() ); - slotValueChanged( value->value()); - connect( value, SIGNAL( valueChanged ( int )), this, SLOT( slotValueChanged( int ))); - -Index: kword/mailmerge/sql/kwserialletter_qtsqldb.desktop -=================================================================== ---- kword/mailmerge/sql/kwserialletter_qtsqldb.desktop (revision 427945) -+++ kword/mailmerge/sql/kwserialletter_qtsqldb.desktop (working copy) -@@ -4,6 +4,7 @@ - ServiceTypes=KWord/MailMergePlugin - - Name=Qt-SQL Source (single table) -+Name[cy]=Ffynhonell Qt-SQL (tabl sengl) - Name[da]=Qt-SQL-kilde (enkelt tabel) - Name[de]=Qt-SQL (Einzeltabelle) - Name[el]=Qt-SQL πηγή (μονός πίνακας) -Index: kword/mailmerge/kspread/kwmailmerge_kspread.desktop -=================================================================== ---- kword/mailmerge/kspread/kwmailmerge_kspread.desktop (revision 427945) -+++ kword/mailmerge/kspread/kwmailmerge_kspread.desktop (working copy) -@@ -22,6 +22,7 @@ - Name[pt]=Fonte de Tabela do KSpread - Name[pt_BR]=Fonte de Tabela do KSpread - Name[ru]=Источник таблиц KSpread -+Name[sl]=Vir tabel KSpread - Name[sr]=KSpread-ов извор табеле - Name[sr@Latn]=KSpread-ov izvor tabele - Name[sv]=Kspread-tabellkällfil -Index: kword/framedia.h -=================================================================== ---- kword/framedia.h (revision 427945) -+++ kword/framedia.h (working copy) -@@ -81,7 +81,7 @@ - void slotValueChanged( double ); - - private: -- KoUnitDoubleSpinBox *m_inputLeft, *m_inputRight, *m_inputTop, *m_inputBottom; -+ KoBuggyUnitDoubleSpinBox *m_inputLeft, *m_inputRight, *m_inputTop, *m_inputBottom; - QCheckBox *m_synchronize; - KWDocument *doc; - bool m_changed; -@@ -168,7 +168,7 @@ - QWidget *tab4; - QGroupBox *grp1; - QLabel *lx, *ly, *lw, *lh; -- KoUnitDoubleSpinBox *sx, *sy, *sw, *sh; -+ KoBuggyUnitDoubleSpinBox *sx, *sy, *sw, *sh; - KWFourSideConfigWidget* m_paddingConfigWidget; - QCheckBox *floating; - QCheckBox *protectSize; -Index: kword/kwconfig.h -=================================================================== ---- kword/kwconfig.h (revision 427945) -+++ kword/kwconfig.h (working copy) -@@ -29,7 +29,7 @@ - class KWView; - class QCheckBox; - class KIntNumInput; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KConfig; - class QComboBox; - class KIntNumInput; -@@ -69,8 +69,8 @@ - KWView* m_pView; - KConfig* config; - QComboBox *m_unitCombo; -- KoUnitDoubleSpinBox* gridX,*gridY; -- KoUnitDoubleSpinBox* indent; -+ KoBuggyUnitDoubleSpinBox* gridX,*gridY; -+ KoBuggyUnitDoubleSpinBox* indent; - KIntNumInput* recentFiles; - QCheckBox *showStatusBar, *showScrollBar, *pgUpDownMovesCaret; - int oldNbRecentFiles; -@@ -114,7 +114,7 @@ - QLabel *fontName; - QLabel *tabStop; - -- KoUnitDoubleSpinBox* m_columnSpacing; -+ KoBuggyUnitDoubleSpinBox* m_columnSpacing; - - KIntNumInput* autoSave; - int oldAutoSaveValue; -@@ -123,7 +123,7 @@ - int m_oldStartingPage; - bool m_oldBackupFile; - KIntNumInput* m_variableNumberOffset; -- KoUnitDoubleSpinBox *m_tabStopWidth; -+ KoBuggyUnitDoubleSpinBox *m_tabStopWidth; - QCheckBox *m_cursorInProtectedArea; - QCheckBox *m_createBackupFile; - // QCheckBox *m_directInsertCursor; -Index: kword/configfootnotedia.cc -=================================================================== ---- kword/configfootnotedia.cc (revision 427945) -+++ kword/configfootnotedia.cc (working copy) -@@ -106,7 +106,7 @@ - - QGridLayout *layout = new QGridLayout( 0, 1, 1, 0, 6); - -- spWidth = new KoUnitDoubleSpinBox(page, 0, 5, 0.5, 1.0, m_doc->unit(), 1); -+ spWidth = new KoBuggyUnitDoubleSpinBox(page, 0, 5, 0.5, 1.0, m_doc->unit(), 1); - spWidth->setValue( m_doc->footNoteSeparatorLineWidth()); - layout->addWidget( spWidth, 1, 1 ); - -Index: kword/templates/DTP/SimpleLayout.desktop -=================================================================== ---- kword/templates/DTP/SimpleLayout.desktop (revision 427945) -+++ kword/templates/DTP/SimpleLayout.desktop (working copy) -@@ -21,6 +21,7 @@ - Name[fa]=نمونه طرح بندی - Name[fi]=Yksinkertainen taittomalli - Name[fr]=Mise en page simple -+Name[ga]=Leagan Amach Simplí - Name[he]=פריסה פשוטה - Name[hr]=Jednostavni raspored - Name[hu]=Egyszerű elrendezés -Index: kword/templates/DTP/Empty.desktop -=================================================================== ---- kword/templates/DTP/Empty.desktop (revision 427945) -+++ kword/templates/DTP/Empty.desktop (working copy) -@@ -17,6 +17,7 @@ - Name[fa]=صفحه خالی - Name[fi]=Tyhjä sivu - Name[fr]=Page vide -+Name[ga]=Leathanach Folamh - Name[he]=דף ריק - Name[hr]=Prazna stranica - Name[hu]=Üres oldal -Index: kword/templates/DTP/fax.desktop -=================================================================== ---- kword/templates/DTP/fax.desktop (revision 427945) -+++ kword/templates/DTP/fax.desktop (working copy) -@@ -20,6 +20,7 @@ - Name[fa]=نمونه دورنگار - Name[fi]=Faksipohja - Name[fr]=Modèle de fax -+Name[ga]=Teimpléad Facs - Name[he]=תבנית פקס - Name[hr]=Fax predložak - Name[hu]=Faxsablon -@@ -63,6 +64,7 @@ - Comment[et]=Faks päisega - Comment[fi]=Faksiasiakirja otsikolla - Comment[fr]=Document de fax. avec en-tête -+Comment[ga]=Cáipéis fhacs, le ceanntásc - Comment[he]=מסמך פקס עם כותרת - Comment[hr]=Faks dokument, sa zaglavljem - Comment[hu]=Fax dokumentum (fejléccel) -Index: kword/templates/Wordprocessing/TwoColumns.desktop -=================================================================== ---- kword/templates/Wordprocessing/TwoColumns.desktop (revision 427945) -+++ kword/templates/Wordprocessing/TwoColumns.desktop (working copy) -@@ -22,6 +22,7 @@ - Name[fi]=Kaksi palstaa - Name[fo]=Tveir teigar - Name[fr]=Deux colonnes -+Name[ga]=Dhá Cholún - Name[he]=שני טורים - Name[hr]=Dva stupca - Name[hu]=Kétoszlopos -Index: kword/resizetabledia.h -=================================================================== ---- kword/resizetabledia.h (revision 427945) -+++ kword/resizetabledia.h (working copy) -@@ -31,7 +31,7 @@ - class QRadioButton; - class QLabel; - class QSpinBox; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - class KWResizeTableDia : public KDialogBase - { -@@ -48,7 +48,7 @@ - KWDocument *doc; - ResizeType type; - KWCanvas *canvas; -- KoUnitDoubleSpinBox *position; -+ KoBuggyUnitDoubleSpinBox *position; - double resetValue; - protected slots: - virtual void slotOk(); -Index: kexi/plugins/forms/kexilabel.cpp -=================================================================== ---- kexi/plugins/forms/kexilabel.cpp (revision 427945) -+++ kexi/plugins/forms/kexilabel.cpp (working copy) -@@ -33,6 +33,20 @@ - #define SHADOW_DIAGONAL_FACTOR 1.0 - #define SHADOW_THICKNESS 1 - -+class KexiLabelPrivate : public QLabel { -+ friend class KexiLabel; -+ public: -+ KexiLabelPrivate( KexiLabel* ); -+ virtual ~KexiLabelPrivate(); -+ private: -+ QImage makeShadow( const QImage& textImage, const QColor &bgColor, const QRect& boundingRect ); -+ QRect getBounding( const QImage &image, const QRect& startRect ); -+// double defaultDecay( QImage& source, int i, int j ); -+ KPixmap getShadowPixmap(); -+ -+ QRect p_shadowRect; -+}; -+ - KexiLabelPrivate::KexiLabelPrivate( KexiLabel* parent ) - : QLabel( parent ) - { -@@ -404,6 +418,40 @@ - QLabel::paintEvent( e ); - } - -+void KexiLabel::fontChange( const QFont& font ) { -+ p_pixmapDirty = true; -+ p_privateLabel->setFont( font ); -+ QLabel::fontChange( font ); -+} -+ -+void KexiLabel::styleChange( QStyle& style ) { -+ p_pixmapDirty = true; -+ QLabel::styleChange( style ); -+} -+ -+void KexiLabel::enabledChange( bool enabled ) { -+ p_pixmapDirty = true; -+ p_privateLabel->setEnabled( enabled ); -+ QLabel::enabledChange( enabled ); -+} -+ -+void KexiLabel::paletteChange( const QPalette& pal ) { -+ p_pixmapDirty = true; -+ p_privateLabel->setPalette( pal ); -+ QLabel::paletteChange( pal ); -+} -+ -+void KexiLabel::frameChanged() { -+ p_pixmapDirty = true; -+ p_privateLabel->frameChanged(); -+ QFrame::frameChanged(); -+} -+ -+void KexiLabel::showEvent( QShowEvent* e ) { -+ p_pixmapDirty = true; -+ QLabel::showEvent( e ); -+} -+ - void KexiLabel::setValueInternal( const QVariant& add, bool removeOld ) { - if (removeOld) - setText(add.toString()); -Index: kexi/plugins/forms/kexilabel.h -=================================================================== ---- kexi/plugins/forms/kexilabel.h (revision 427945) -+++ kexi/plugins/forms/kexilabel.h (working copy) -@@ -32,20 +32,10 @@ - class QTimer; - class KexiLabel; - --class KexiLabelPrivate : public QLabel { -- friend class KexiLabel; -- public: -- KexiLabelPrivate( KexiLabel* ); -- virtual ~KexiLabelPrivate(); -- private: -- QImage makeShadow( const QImage& textImage, const QColor &bgColor, const QRect& boundingRect ); -- QRect getBounding( const QImage &image, const QRect& startRect ); --// double defaultDecay( QImage& source, int i, int j ); -- KPixmap getShadowPixmap(); -+class KexiLabelPrivate; - -- QRect p_shadowRect; --}; - -+ - /** - An extended, data-aware, read-only text label. - It's text may have a drop-shadow. -@@ -139,40 +129,14 @@ - */ - virtual void setValueInternal( const QVariant& add, bool removeOld ); - -- virtual void fontChange( const QFont& font ) { -- p_pixmapDirty = true; -- p_privateLabel->setFont( font ); -- QLabel::fontChange( font ); -- } -+ virtual void fontChange( const QFont& font ); -+ virtual void styleChange( QStyle& style ); -+ virtual void enabledChange( bool enabled ); - -- virtual void styleChange( QStyle& style ) { -- p_pixmapDirty = true; -- QLabel::styleChange( style ); -- } -+ virtual void paletteChange( const QPalette& pal ); -+ virtual void frameChanged(); -+ virtual void showEvent( QShowEvent* e ); - -- virtual void enabledChange( bool enabled ) { -- p_pixmapDirty = true; -- p_privateLabel->setEnabled( enabled ); -- QLabel::enabledChange( enabled ); -- } -- -- virtual void paletteChange( const QPalette& pal ) { -- p_pixmapDirty = true; -- p_privateLabel->setPalette( pal ); -- QLabel::paletteChange( pal ); -- } -- -- virtual void frameChanged() { -- p_pixmapDirty = true; -- p_privateLabel->frameChanged(); -- QFrame::frameChanged(); -- } -- -- virtual void showEvent( QShowEvent* e ) { -- p_pixmapDirty = true; -- QLabel::showEvent( e ); -- } -- - private: - void updatePixmapLater(); - -Index: kexi/plugins/kugar/kexikugarhandler.desktop -=================================================================== ---- kexi/plugins/kugar/kexikugarhandler.desktop (revision 427945) -+++ kexi/plugins/kugar/kexikugarhandler.desktop (working copy) -@@ -60,7 +60,7 @@ - Comment[nn]=Integrasjon av Kugar-basert rapportgenerering - Comment[pt]=Integração da geração de relatórios do Kugar - Comment[pt_BR]=Integração do Kugar baseada na geração de relatório --Comment[ru]=Интеграция с Kugar для построения отчётов -+Comment[ru]=Отчёт посредством Kugar - Comment[sk]=Integrácia generovaných správ založených na Kugar - Comment[sl]=Integracija ustvarjanja poročil na osnovi Kugarja - Comment[sr]=Интеграција прављења извештаја заснованог на Kugar-у -Index: kexi/plugins/reports/kexireportfactory.desktop -=================================================================== ---- kexi/plugins/reports/kexireportfactory.desktop (revision 427945) -+++ kexi/plugins/reports/kexireportfactory.desktop (working copy) -@@ -19,6 +19,7 @@ - Name[pt]=Elementos de Relatório do Kexi - Name[pt_BR]=Widgets de Relatório do Kexi - Name[ru]=Элементы управления для отчётов Kexi -+Name[sl]=Gradniki za poročila za Kexi - Name[sr]=Kexi-јеве контроле за извештаје - Name[sr@Latn]=Kexi-jeve kontrole za izveštaje - Name[sv]=Kexi-rapportkomponenter -Index: kexi/kexipart.desktop -=================================================================== ---- kexi/kexipart.desktop (revision 427945) -+++ kexi/kexipart.desktop (working copy) -@@ -19,6 +19,7 @@ - Name[pt]=Componente de Bases de Dados do KOffice - Name[pt_BR]=Componente de Banco de Dados do KOffice - Name[ru]=Компонент баз данных KOffice -+Name[sl]=Komponenta za zbirke podatkov za KOffice - Name[sr]=KOffice-ова компонента за базе података - Name[sr@Latn]=KOffice-ova komponenta za baze podataka - Name[sv]=Koffice-databaskomponent -Index: kexi/filters/import/csv/kexicsvimport.desktop -=================================================================== ---- kexi/filters/import/csv/kexicsvimport.desktop (revision 427945) -+++ kexi/filters/import/csv/kexicsvimport.desktop (working copy) -@@ -42,7 +42,7 @@ - Comment[pl]=Import pliku CVS... - Comment[pt]=Importar um Ficheiro CSV... - Comment[pt_BR]=Importar Arquivo CSV... --Comment[ru]=Импорт данных из CSV... -+Comment[ru]=Импорт из CSV... - Comment[sk]=Import súborov CSV... - Comment[sl]=Uvoz datoteke CSV ... - Comment[sr]=Увози се CSV фајл... -Index: kexi/filters/import/kspread_chain/kexikspreadimport.desktop -=================================================================== ---- kexi/filters/import/kspread_chain/kexikspreadimport.desktop (revision 427945) -+++ kexi/filters/import/kspread_chain/kexikspreadimport.desktop (working copy) -@@ -38,7 +38,7 @@ - Comment[nn]=Importer KSpread-lesbar fil ... - Comment[pt]=Importar um ficheiro KSpread... - Comment[pt_BR]=Importar arquivo legível do KSpread... --Comment[ru]=Импорт в KSpread... -+Comment[ru]=Импорт данных из KSpread... - Comment[sk]=Import súboru podporovaného KSpread... - Comment[sl]=Uvoz datoteke za KSpread ... - Comment[sr]=Увози се фајл који се може читати KSpread-ом... -Index: kexi/data/x-kexiproject-sqlite2.desktop -=================================================================== ---- kexi/data/x-kexiproject-sqlite2.desktop (revision 427945) -+++ kexi/data/x-kexiproject-sqlite2.desktop (working copy) -@@ -21,6 +21,7 @@ - Comment[pt]=Projecto do Kexi em Ficheiro de Base de Dados - Comment[pt_BR]=Projeto Baseado em Arquivo de Banco de Dados do Kexi - Comment[ru]=Проект Kexi с хранилищем данных в файлах -+Comment[sl]=Na datotekah zasnovan projekt zbirke podatkov Kexi - Comment[sr]=Kexi-јев пројекат базе података заснован на фајлу - Comment[sr@Latn]=Kexi-jev projekat baze podataka zasnovan na fajlu - Comment[sv]=Kexi filbaserat databasprojekt -Index: kexi/data/x-kexiproject-sqlite3.desktop -=================================================================== ---- kexi/data/x-kexiproject-sqlite3.desktop (revision 427945) -+++ kexi/data/x-kexiproject-sqlite3.desktop (working copy) -@@ -21,6 +21,7 @@ - Comment[pt]=Projecto do Kexi em Ficheiro de Base de Dados - Comment[pt_BR]=Projeto Baseado em Arquivo de Banco de Dados do Kexi - Comment[ru]=Проект Kexi с хранилищем данных в файлах -+Comment[sl]=Na datotekah zasnovan projekt zbirke podatkov Kexi - Comment[sr]=Kexi-јев пројекат базе података заснован на фајлу - Comment[sr@Latn]=Kexi-jev projekat baze podataka zasnovan na fajlu - Comment[sv]=Kexi filbaserat databasprojekt -Index: kexi/data/x-kexiproject-sqlite.desktop -=================================================================== ---- kexi/data/x-kexiproject-sqlite.desktop (revision 427945) -+++ kexi/data/x-kexiproject-sqlite.desktop (working copy) -@@ -22,6 +22,7 @@ - Comment[pt]=Projecto do Kexi em Ficheiro de Base de Dados - Comment[pt_BR]=Projeto Baseado em Arquivo de Banco de Dados do Kexi - Comment[ru]=Проект Kexi с хранилищем данных в файлах -+Comment[sl]=Na datotekah zasnovan projekt zbirke podatkov Kexi - Comment[sr]=Kexi-јев пројекат базе података заснован на фајлу - Comment[sr@Latn]=Kexi-jev projekat baze podataka zasnovan na fajlu - Comment[sv]=Kexi filbaserat databasprojekt -Index: kexi/data/kde32compat/x-sqlite2.desktop -=================================================================== ---- kexi/data/kde32compat/x-sqlite2.desktop (revision 427945) -+++ kexi/data/kde32compat/x-sqlite2.desktop (working copy) -@@ -21,6 +21,7 @@ - Comment[pt]=Ficheiro de Base de Dados do SQLite2 - Comment[pt_BR]=Ficheiro de Base de Dados do SQLite2 - Comment[ru]=База данных SQLite2 -+Comment[sl]=Datoteka zbirke podatkov SQLite2 - Comment[sr]=Фајл базе података SQLite2 - Comment[sr@Latn]=Fajl baze podataka SQLite2 - Comment[sv]=SQLite2-databasfil -Index: kexi/data/kde32compat/x-sqlite3.desktop -=================================================================== ---- kexi/data/kde32compat/x-sqlite3.desktop (revision 427945) -+++ kexi/data/kde32compat/x-sqlite3.desktop (working copy) -@@ -20,6 +20,7 @@ - Comment[pt]=Ficheiro de Base de Dados do SQLite3 - Comment[pt_BR]=Ficheiro de Base de Dados do SQLite3 - Comment[ru]=База данных SQLite3 -+Comment[sl]=Datoteka zbirke podatkov SQLite3 - Comment[sr]=Фајл базе података SQLite3 - Comment[sr@Latn]=Fajl baze podataka SQLite3 - Comment[sv]=SQLite3-databasfil -Index: kexi/data/kexiscripthandler.desktop -=================================================================== ---- kexi/data/kexiscripthandler.desktop (revision 427945) -+++ kexi/data/kexiscripthandler.desktop (working copy) -@@ -5,6 +5,7 @@ - - GenericName=Scripts - GenericName[br]=Urzhiaouegoù -+GenericName[cy]=Sgriptiau - GenericName[da]=Scripter - GenericName[de]=Skripte - GenericName[el]=Σενάρια -@@ -27,6 +28,7 @@ - GenericName[zh_CN]=脚本 - Name=Scripts - Name[br]=Urzhiaouegoù -+Name[cy]=Sgriptiau - Name[da]=Scripter - Name[de]=Skripte - Name[el]=Σενάρια -Index: kexi/formeditor/kdevelop_plugin/kformdesigner_kdev_part.desktop -=================================================================== ---- kexi/formeditor/kdevelop_plugin/kformdesigner_kdev_part.desktop (revision 427945) -+++ kexi/formeditor/kdevelop_plugin/kformdesigner_kdev_part.desktop (working copy) -@@ -17,6 +17,7 @@ - Name[pt]='Plugin' para o KDevelop de Desenho de Formulários - Name[pt_BR]=Plugin do Desenhista de Formulário do KDevelop - Name[ru]=Модуль форм KDevelop -+Name[sl]=Vstavek za oblikovanje obrazcev za KDevelop - Name[sr]=Прикључак дизајнера форми за KDevelop - Name[sr@Latn]=Priključak dizajnera formi za KDevelop - Name[sv]=KDevelop insticksprogram för formulärkonstruktion -Index: tools/thumbnail/kofficethumbnail.desktop -=================================================================== ---- tools/thumbnail/kofficethumbnail.desktop (revision 427945) -+++ tools/thumbnail/kofficethumbnail.desktop (working copy) -@@ -20,6 +20,7 @@ - Name[fi]=KOffice-tiedostot - Name[fo]=KSkrivstovu-fílir - Name[fr]=Fichiers KOffice -+Name[ga]=Comhaid KOffice - Name[he]=קבצי KOffice - Name[hr]=KOffice datoteke - Name[hu]=KOffice-fájlok -Index: tools/kfile-plugins/koffice/kfile_koffice.desktop -=================================================================== ---- tools/kfile-plugins/koffice/kfile_koffice.desktop (revision 427945) -+++ tools/kfile-plugins/koffice/kfile_koffice.desktop (working copy) -@@ -5,6 +5,7 @@ - Name[af]=Koffice Inligting - Name[ar]=معلومات KOffice - Name[bg]=Информация за KOffice -+Name[br]=Titouroù diwar-benn KOffice - Name[ca]=Informació KOffice - Name[cs]=KOffice info - Name[cy]=Gwybodaeth KOffice -@@ -18,6 +19,7 @@ - Name[fi]=KOffice tiedot - Name[fo]=KSkrivstovu-upplýsingar - Name[fr]=Informations sur KOffice -+Name[ga]=Eolas faoi KOffice - Name[he]=מידע KOffice - Name[hu]=KOffice-információ - Name[it]=Informazioni KOffice -@@ -32,7 +34,7 @@ - Name[pl]=Dane koffice - Name[pt]=Informação do KOffice - Name[pt_BR]=Informações do KOffice --Name[ru]=Информация о KOffice -+Name[ru]=Информация KOffice - Name[se]=KOffice-dieđut - Name[sk]=Informácie o KOffice - Name[sl]=Informacije o KOffice -Index: tools/kfile-plugins/ooo/kfile_ooo.desktop -=================================================================== ---- tools/kfile-plugins/ooo/kfile_ooo.desktop (revision 427945) -+++ tools/kfile-plugins/ooo/kfile_ooo.desktop (working copy) -@@ -13,6 +13,7 @@ - Name[et]=OpenOffice.org-i info - Name[fi]=KOffice tiedot - Name[fr]=Informations sur OpenOffice.org -+Name[ga]=Eolas faoi OpenOffice.org - Name[he]=מידע OpenOffice.org - Name[hu]=OpenOffice.org-információ - Name[it]=Informazioni OpenOffice.org -@@ -23,7 +24,7 @@ - Name[pl]=Informacja OpenOffice.org - Name[pt]=Informação do OpenOffice.org - Name[pt_BR]=Informações do OpenOffice.org --Name[ru]=Информация об OpenOffice.org -+Name[ru]=Информация OpenOffice.org - Name[se]=OpenOffice.org-dieđut - Name[sk]=Informácie o OpenOffice.org - Name[sl]=Informacije o OpenOffice.org -Index: lib/kofficecore/koApplication.cc -=================================================================== ---- lib/kofficecore/koApplication.cc (revision 427945) -+++ lib/kofficecore/koApplication.cc (working copy) -@@ -149,7 +149,10 @@ - shell->setRootDocument( doc ); - } - else -+ { -+ delete doc; - return false; -+ } - - QObject::disconnect(doc, SIGNAL(sigProgress(int)), shell, SLOT(slotProgress(int))); - } else { -Index: lib/kofficecore/koMainWindow.cc -=================================================================== ---- lib/kofficecore/koMainWindow.cc (revision 427945) -+++ lib/kofficecore/koMainWindow.cc (working copy) -@@ -1033,6 +1033,13 @@ - if ( !newdoc->initDoc( (KoDocument::InitDocFlags)initDocFlags, this ) ) - { - delete newdoc; -+ // See cancelQuits() in KoTemplateChooseDia. -+ // The quit() must be done here so that the KoDocument got deleted already. -+ bool onlyDoc = !KoDocument::documentList() || KoDocument::documentList()->isEmpty(); -+ bool onlyMainWindow = !KMainWindow::memberList || KMainWindow::memberList->count() <= 1; -+ if ( onlyDoc && onlyMainWindow && kapp->instanceName() != "koshell" ) { -+ kapp->quit(); -+ } - return; - } - disconnect(newdoc, SIGNAL(sigProgress(int)), this, SLOT(slotProgress(int))); -Index: lib/kofficecore/koDocument.cc -=================================================================== ---- lib/kofficecore/koDocument.cc (revision 427945) -+++ lib/kofficecore/koDocument.cc (working copy) -@@ -890,6 +890,9 @@ - kdDebug(30003)<<k_funcinfo<<" external (don't save) url:" << childDoc->url().url()<<endl; - path = childDoc->url().url(); - } -+ // OOo uses a trailing slash for the path to embedded objects (== directories) -+ if ( !path.endsWith( "/" ) ) -+ path += '/'; - manifestWriter->addManifestEntry( path, childDoc->nativeOasisMimeType() ); - } - } -@@ -1793,7 +1796,9 @@ - //if ( !oasisStore.loadAndParse( "tar:/META-INF/manifest.xml", manifestDoc, d->lastErrorMessage ) ) - // return false; - -- (void)oasisStore.loadAndParse( "settings.xml", settingsDoc, d->lastErrorMessage ); -+ if ( store->hasFile( "settings.xml" ) ) { -+ (void)oasisStore.loadAndParse( "settings.xml", settingsDoc, d->lastErrorMessage ); -+ } - if ( !loadOasis( contentDoc, oasisStyles, settingsDoc, store ) ) - return false; - -@@ -1920,9 +1925,12 @@ - KoDocument *doc = it.current()->document(); - if ( doc ) - { -- if ( doc->isStoredExtern() ) //###TODO: Handle non-native mimetype docs -+ bool foo = doc->isStoredExtern(); -+ kdDebug(36001) << "========== isStoredExtern() returned " -+ << foo << " ==========" << endl; -+ -+ if ( foo ) //###TODO: Handle non-native mimetype docs - { -- if ( doc->isModified() ) - { - kdDebug(30003)<<k_funcinfo<<" found modified child: "<<doc->url().url()<<" extern="<<doc->isStoredExtern()<<endl; - if ( doc->queryCloseDia() == KMessageBox::Cancel ) -Index: lib/kofficecore/koDocumentChild.cc -=================================================================== ---- lib/kofficecore/koDocumentChild.cc (revision 427945) -+++ lib/kofficecore/koDocumentChild.cc (working copy) -@@ -230,6 +230,8 @@ - QString relPath = KURL( m_tmpURL ).path(); - path += relPath.mid( 1 ); // remove leading '/' - } -+ if ( !path.endsWith( "/" ) ) -+ path += '/'; - const QString mimeType = KoOasisStore::mimeForPath( manifestDoc, path ); - kdDebug() << k_funcinfo << "path for manifest file=" << path << " mimeType=" << mimeType << endl; - if ( mimeType.isEmpty() ) { -@@ -312,6 +314,8 @@ - } - if ( !res ) - { -+ // Keep the error message from the attempted loading -+ QString errorMessage = d->m_doc->errorMessage(); - delete d->m_doc; - d->m_doc = 0; - QString tmpURL = m_tmpURL; // keep a copy, createUnavailDocument will erase it -@@ -322,7 +326,7 @@ - d->m_doc->setProperty( "realURL", tmpURL ); // so that it gets saved correctly - d->m_doc->setStoreInternal( true ); - if ( internalURL ) -- d->m_doc->setProperty( "unavailReason", i18n( "Could not load embedded object." ) ); -+ d->m_doc->setProperty( "unavailReason", i18n( "Could not load embedded object." ) + "\n" + errorMessage ); - else - d->m_doc->setProperty( "unavailReason", i18n( "External document not found:\n%1" ).arg( tmpURL ) ); - } -Index: lib/kofficeui/koTemplateChooseDia.cc -=================================================================== ---- lib/kofficeui/koTemplateChooseDia.cc (revision 427945) -+++ lib/kofficeui/koTemplateChooseDia.cc (working copy) -@@ -210,6 +210,7 @@ - d=0L; - } - -+// Keep in sync with KoMainWindow::chooseNewDocument - static bool cancelQuits() { - bool onlyDoc = !KoDocument::documentList() || KoDocument::documentList()->count() <= 1; - bool onlyMainWindow = !KMainWindow::memberList || KMainWindow::memberList->count() <= 1; -@@ -261,10 +262,6 @@ - } - - delete dlg; -- if ( rt == Cancel && dialogType == Everything && cancelQuits() ) -- // The button says quit, so let's quit -- kapp->quit(); -- - return rt; - } - -@@ -458,8 +455,8 @@ - d->m_jwidget->showPage(templateNum); - else if ( defaultTemplateGroup != -1) - d->m_jwidget->showPage(defaultTemplateGroup); -- - -+ - // Set the initially selected template, possibly from the last usage of the dialog - currentChanged(itemtoselect); - -Index: lib/kofficeui/koUnitWidgets.h -=================================================================== ---- lib/kofficeui/koUnitWidgets.h (revision 427945) -+++ lib/kofficeui/koUnitWidgets.h (working copy) -@@ -77,7 +77,7 @@ - */ - QString getVisibleText( double value ) const; - /** -- * Transfrom a string inot a double, while taking care of locale specific symbols. -+ * Transfrom a string into a double, while taking care of locale specific symbols. - * @param str the string to transform into a number - * @param ok true, if the conversion was succesful - * @return the value as double -@@ -94,11 +94,11 @@ - * Spin box for double precision numbers with unit display - * \since 1.4 (change of behavior) - */ --class KOFFICEUI_EXPORT KoUnitDoubleSpinBox : public KDoubleSpinBox, public KoUnitDoubleBase -+class KOFFICEUI_EXPORT KoBuggyUnitDoubleSpinBox : public KDoubleSpinBox, public KoUnitDoubleBase - { - public: - // lower, upper, step and value are in pt -- KoUnitDoubleSpinBox( QWidget *parent, double lower, double upper, double step, double value = 0.0, -+ KoBuggyUnitDoubleSpinBox( QWidget *parent, double lower, double upper, double step, double value = 0.0, - KoUnit::Unit unit = KoUnit::U_PT, unsigned int precision = 2, const char *name = 0 ); - - virtual void changeValue( double ); -@@ -123,6 +123,22 @@ - }; - - /** -+ * Temporary class that will be merged with koBuggyUnitDoubleSpinBox -+ * and renamed into KoUnitDoubleSpinBox when all the users of that -+ * class have been converted. -+ */ -+class KOFFICEUI_EXPORT KoUnitDoubleSpinBox2 : public KoBuggyUnitDoubleSpinBox -+{ -+public: -+ // lower, upper, step and value are in pt -+ KoUnitDoubleSpinBox2( QWidget *parent, double lower, double upper, double step, double value = 0.0, -+ KoUnit::Unit unit = KoUnit::U_PT, unsigned int precision = 2, const char *name = 0 ); -+ -+ virtual void changeValue( double ); -+}; -+ -+ -+/** - * Line edit for double precision numbers with unit display - * \since 1.4 (change of behavior) - */ -Index: lib/kofficeui/kolinewidthaction.cpp -=================================================================== ---- lib/kofficeui/kolinewidthaction.cpp (revision 427945) -+++ lib/kofficeui/kolinewidthaction.cpp (working copy) -@@ -160,7 +160,7 @@ - { - public: - KoUnit::Unit m_unit; -- KoUnitDoubleSpinBox* m_lineWidthUSBox; -+ KoBuggyUnitDoubleSpinBox* m_lineWidthUSBox; - }; - - KoLineWidthChooser::KoLineWidthChooser(QWidget* parent, const char* name) -@@ -174,7 +174,7 @@ - setMainWidget(mainWidget); - QGridLayout* gl = new QGridLayout(mainWidget, 1, 2, KDialog::marginHint(), KDialog::spacingHint()); - QLabel* textLbl = new QLabel(i18n("Line width:"), mainWidget); -- d->m_lineWidthUSBox = new KoUnitDoubleSpinBox(mainWidget, 0.0, 1000.0, 0.1, 1.0, d->m_unit, 2); -+ d->m_lineWidthUSBox = new KoBuggyUnitDoubleSpinBox(mainWidget, 0.0, 1000.0, 0.1, 1.0, d->m_unit, 2); - gl->addWidget(textLbl, 0, 0); - gl->addWidget(d->m_lineWidthUSBox, 0, 1); - } -Index: lib/kofficeui/koUnitWidgets.cc -=================================================================== ---- lib/kofficeui/koUnitWidgets.cc (revision 427945) -+++ lib/kofficeui/koUnitWidgets.cc (working copy) -@@ -25,6 +25,7 @@ - #include <qpushbutton.h> - #include <qlayout.h> - -+ - KoUnitDoubleValidator::KoUnitDoubleValidator( KoUnitDoubleBase *base, QObject *parent, const char *name ) - : KDoubleValidator( parent, name ), m_base( base ) - { -@@ -108,7 +109,10 @@ - } - - --KoUnitDoubleSpinBox::KoUnitDoubleSpinBox( QWidget *parent, double lower, double upper, double step, double value, KoUnit::Unit unit, unsigned int precision, const char *name ) -+// ---------------------------------------------------------------- -+ -+ -+KoBuggyUnitDoubleSpinBox::KoBuggyUnitDoubleSpinBox( QWidget *parent, double lower, double upper, double step, double value, KoUnit::Unit unit, unsigned int precision, const char *name ) - : KDoubleSpinBox( lower, upper, step, value, precision, parent, name ), KoUnitDoubleBase( unit, precision ), - m_lowerInPoints( lower ), m_upperInPoints( upper ), m_stepInPoints( step ) - { -@@ -120,7 +124,7 @@ - } - - void --KoUnitDoubleSpinBox::changeValue( double val ) -+KoBuggyUnitDoubleSpinBox::changeValue( double val ) - { - KDoubleSpinBox::setValue( val ); - // TODO: emit valueChanged ONLY if the value was out-of-bounds -@@ -129,7 +133,7 @@ - } - - void --KoUnitDoubleSpinBox::setUnit( KoUnit::Unit unit ) -+KoBuggyUnitDoubleSpinBox::setUnit( KoUnit::Unit unit ) - { - double oldvalue = KoUnit::fromUserValue( KDoubleSpinBox::value(), m_unit ); - KDoubleSpinBox::setMinValue( KoUnit::toUserValue( m_lowerInPoints, unit ) ); -@@ -140,31 +144,53 @@ - setSuffix( KoUnit::unitName( unit ).prepend( ' ' ) ); - } - --double KoUnitDoubleSpinBox::value( void ) const -+double KoBuggyUnitDoubleSpinBox::value( void ) const - { - return KoUnit::fromUserValue( KDoubleSpinBox::value(), m_unit ); - } - --void KoUnitDoubleSpinBox::setMinValue( double min ) -+void KoBuggyUnitDoubleSpinBox::setMinValue( double min ) - { - m_lowerInPoints = min; - KDoubleSpinBox::setMinValue( KoUnit::toUserValue( m_lowerInPoints, m_unit ) ); - } - --void KoUnitDoubleSpinBox::setMaxValue( double max ) -+void KoBuggyUnitDoubleSpinBox::setMaxValue( double max ) - { - m_upperInPoints = max; - KDoubleSpinBox::setMaxValue( KoUnit::toUserValue( m_upperInPoints, m_unit ) ); - } - --void KoUnitDoubleSpinBox::setLineStep( double step ) -+void KoBuggyUnitDoubleSpinBox::setLineStep( double step ) - { - m_stepInPoints = step; - KDoubleSpinBox::setLineStep( KoUnit::toUserValue( m_stepInPoints, m_unit ) ); - } - - -+// ---------------------------------------------------------------- - -+ -+KoUnitDoubleSpinBox2::KoUnitDoubleSpinBox2( QWidget *parent, double lower, double upper, double step, double value, KoUnit::Unit unit, unsigned int precision, const char *name ) -+ : KoBuggyUnitDoubleSpinBox( parent, lower, upper, step, value, unit, precision, name ) -+{ -+ m_validator = new KoUnitDoubleValidator( this, this ); -+ QSpinBox::setValidator( m_validator ); -+ setAcceptLocalizedNumbers( true ); -+ setUnit( unit ); -+ changeValue( value ); -+} -+ -+void -+KoUnitDoubleSpinBox2::changeValue( double val ) -+{ -+ KDoubleSpinBox::setValue( KoUnit::toUserValue( val, m_unit ) ); -+} -+ -+ -+// ---------------------------------------------------------------- -+ -+ - KoUnitDoubleLineEdit::KoUnitDoubleLineEdit( QWidget *parent, double lower, double upper, double value, KoUnit::Unit unit, - unsigned int precision, const char *name ) - : KLineEdit( parent, name ), KoUnitDoubleBase( unit, precision ), m_value( value ), m_lower( lower ), m_upper( upper ), -Index: lib/CHANGES -=================================================================== ---- lib/CHANGES (revision 427945) -+++ lib/CHANGES (working copy) -@@ -1,6 +1,15 @@ -+Changes after KOffice-1.4 -+========================= -+KOfficeCore: -+- OASIS loading/saving fix for embedded objects -+- Fix crash when pressing Quit in the initial startup dialog (#107911) -+ -+KoText: -+- Fix crash when updating a TOC with a table inside it (#107961) -+ - Changes after KOffice-1.4-beta1 - =============================== --KForumula: -+KFormula: - - Disable the matrix actions when the cursor isn't in a matrix element. - - Do not crash when exporting to PNG. - -Index: lib/kotext/kotextdocument.cc -=================================================================== ---- lib/kotext/kotextdocument.cc (revision 427945) -+++ lib/kotext/kotextdocument.cc (working copy) -@@ -135,6 +135,7 @@ - flow_->clear(); - while ( fParag ) { - KoTextParag *p = fParag->next(); -+ fParag->string()->clear(); // avoid the "unregister custom items" code, not needed - delete fParag; - fParag = p; - } -@@ -142,6 +143,7 @@ - if ( createEmptyParag ) - fParag = lParag = createParag( this ); - selections.clear(); -+ customItems.clear(); - } - - /* -Index: lib/kotext/kotextparag.cc -=================================================================== ---- lib/kotext/kotextparag.cc (revision 427945) -+++ lib/kotext/kotextparag.cc (working copy) -@@ -109,6 +109,17 @@ - KoTextParag::~KoTextParag() - { - //kdDebug(32500) << "KoTextParag::~KoTextParag " << this << " id=" << paragId() << endl; -+ -+ // #107961: unregister custom items; KoTextString::clear() will delete them -+ const int len = str->length(); -+ for ( int i = 0; i < len; ++i ) { -+ KoTextStringChar *c = at( i ); -+ if ( doc && c->isCustom() ) { -+ doc->unregisterCustomItem( c->customItem(), this ); -+ //removeCustomItem(); -+ } -+ } -+ - delete str; - str = 0; - // if ( doc && p == doc->minwParag ) { -Index: filters/kword/ascii/kword_ascii_import.desktop -=================================================================== ---- filters/kword/ascii/kword_ascii_import.desktop (revision 427945) -+++ filters/kword/ascii/kword_ascii_import.desktop (working copy) -@@ -5,6 +5,7 @@ - Name[br]=Sil Enporzh ASCII KWord - Name[ca]=Filtre d'importació ASCII per a KWord - Name[cs]=KWord ASCII importní filtr -+Name[cy]=Hidlen Fewnforio Ascii KWord - Name[da]=KWord ASCII-importfilter - Name[de]=ASCII-Importfilter für KWord - Name[el]=Φίλτρο εισαγωγής ascii του KWord -Index: filters/kspread/excel/sidewinder/excel.cpp -=================================================================== ---- filters/kspread/excel/sidewinder/excel.cpp (revision 427945) -+++ filters/kspread/excel/sidewinder/excel.cpp (working copy) -@@ -5412,7 +5412,7 @@ - case 10: valueFormat = "0.00%"; break; - case 11: valueFormat = "0.00E+00"; break; - case 12: valueFormat = "#?/?"; break; -- case 13: valueFormat = "#\?\?\/\?\?"; break; -+ case 13: valueFormat = "#\?\?/\?\?"; break; - case 14: valueFormat = "M/D/YY"; break; - case 15: valueFormat = "D-MMM-YY"; break; - case 16: valueFormat = "D-MMM"; break; -Index: filters/karbon/svg/svgexport.cc -=================================================================== ---- filters/karbon/svg/svgexport.cc (revision 427945) -+++ filters/karbon/svg/svgexport.cc (working copy) -@@ -36,8 +36,10 @@ - #include "vfill.h" - #include "vgradient.h" - #include "vgroup.h" -+#include "vimage.h" - #include "vlayer.h" - #include "vpath.h" -+#include "vpattern.h" - #include "vsegment.h" - #include "vselection.h" - #include "vstroke.h" -@@ -119,11 +121,9 @@ - "\"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\">" - << endl; - -- // add some PR -+ // add some PR. one line is more than enough. - *m_defs << -- "<!-- This file was created using the SVG export filter from Karbon14, a free vector drawing app. -->" << endl; -- *m_defs << -- "<!-- It is part of koffice, the free, integrated office suite for KDE (http://www.koffice.org/). -->" << endl; -+ "<!-- Created using Karbon14, part of koffice: http://www.koffice.org/karbon -->" << endl; - - *m_defs << - "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"" << -@@ -164,7 +164,30 @@ - *m_body << "</g>" << endl; - } - -+// horrible but at least something gets exported now -+// will need this for patterns - void -+SvgExport::visitVImage( VImage& image ) -+{ -+ *m_body << "<image "; -+ VVisitor::visitVImage( image ); -+ *m_body << "x=\"" << "\" "; -+ *m_body << "y=\"" << "\" "; -+ *m_body << "width=\"" << "\" "; -+ *m_body << "height=\"" << "\" "; -+ *m_body << "xlink:href=\"" << "\""; -+ *m_body << " />" << endl; -+} -+ -+void -+SvgExport::visitVLayer( VLayer& layer ) -+{ -+ *m_body << "<g" << getID( &layer ) << ">" << endl; -+ VVisitor::visitVLayer( layer ); -+ *m_body << "</g>" << endl; -+} -+ -+void - SvgExport::visitVPath( VPath& composite ) - { - *m_body << "<path" << getID( &composite ); -@@ -261,9 +284,50 @@ - *m_defs << "</radialGradient>" << endl; - *m_body << "url(#" << uid << ")"; - } -+ // gah! pointless abbreviation of conical to conic -+ else if( grad.type() == VGradient::conic ) -+ { -+ // fake conical grad as radial. -+ // fugly but better than data loss. -+ *m_defs << "<radialGradient id=\"" << uid << "\" "; -+ *m_defs << "gradientUnits=\"userSpaceOnUse\" "; -+ *m_defs << "cx=\"" << grad.origin().x() << "\" "; -+ *m_defs << "cy=\"" << grad.origin().y() << "\" "; -+ *m_defs << "fx=\"" << grad.focalPoint().x() << "\" "; -+ *m_defs << "fy=\"" << grad.focalPoint().y() << "\" "; -+ double r = sqrt( pow( grad.vector().x() - grad.origin().x(), 2 ) + pow( grad.vector().y() - grad.origin().y(), 2 ) ); -+ *m_defs << "r=\"" << QString().setNum( r ) << "\" "; -+ if( grad.repeatMethod() == VGradient::reflect ) -+ *m_defs << "spreadMethod=\"reflect\" "; -+ else if( grad.repeatMethod() == VGradient::repeat ) -+ *m_defs << "spreadMethod=\"repeat\" "; -+ *m_defs << ">" << endl; -+ -+ // color stops -+ getColorStops( grad.colorStops() ); -+ -+ *m_defs << "</radialGradient>" << endl; -+ *m_body << "url(#" << uid << ")"; -+ } - } - -+// better than nothing - void -+SvgExport::getPattern( const VPattern & patt ) -+{ -+ QString uid = createUID(); -+ *m_defs << "<pattern id=\"" << uid << "\" "; -+ *m_defs << "width=\"" << "\" "; -+ *m_defs << "height=\"" << "\" "; -+ *m_defs << "patternUnits=\"userSpaceOnUse\" "; -+ *m_defs << "patternContentUnits=\"userSpaceOnUse\" "; -+ *m_defs << " />" << endl; -+ // TODO: insert hard work here ;) -+ *m_defs << "</pattern>" << endl; -+ *m_body << "url(#" << uid << ")"; -+} -+ -+void - SvgExport::getFill( const VFill& fill ) - { - *m_body << " fill=\""; -@@ -271,6 +335,8 @@ - *m_body << "none"; - else if( fill.type() == VFill::grad ) - getGradient( fill.gradient() ); -+ else if( fill.type() == VFill::patt ) -+ getPattern( fill.pattern() ); - else - getHexColor( m_body, fill.color() ); - *m_body << "\""; -Index: filters/karbon/svg/svgexport.h -=================================================================== ---- filters/karbon/svg/svgexport.h (revision 427945) -+++ filters/karbon/svg/svgexport.h (working copy) -@@ -35,6 +35,7 @@ - class VDocument; - class VFill; - class VGroup; -+class VImage; - class VLayer; - class VSubpath; - class VStroke; -@@ -55,6 +56,8 @@ - virtual void visitVPath( VPath& composite ); - virtual void visitVDocument( VDocument& document ); - virtual void visitVGroup( VGroup& group ); -+ virtual void visitVImage( VImage& image ); -+ virtual void visitVLayer( VLayer& layer ); - virtual void visitVSubpath( VSubpath& path ); - virtual void visitVText( VText& text ); - -@@ -62,6 +65,7 @@ - void getColorStops( const QPtrVector<VColorStop> &colorStops ); - void getFill( const VFill& fill ); - void getGradient( const VGradient& grad ); -+ void getPattern( const VPattern& patt ); - void getHexColor( QTextStream *, const VColor& color ); - QString getID( VObject *obj ); - -Index: filters/generic_wrapper/generic_filter.desktop -=================================================================== ---- filters/generic_wrapper/generic_filter.desktop (revision 427945) -+++ filters/generic_wrapper/generic_filter.desktop (working copy) -@@ -3,6 +3,7 @@ - Name=Generic KOffice Filter - Name[ca]=Filtre genèric de KOffice - Name[cs]=Obecný filtr KOffice -+Name[cy]=Hidlen generig KOffice - Name[da]=Generisk KOffice-filter - Name[de]=Generischer KOffice-Filter - Name[el]=Γενικό φίλτρο του KOffice -Index: krita/plugins/cimg/CImg.h -=================================================================== ---- krita/plugins/cimg/CImg.h (revision 427945) -+++ krita/plugins/cimg/CImg.h (working copy) -@@ -5135,7 +5135,7 @@ - if (ny1<0 || ny0>=dimy()) return *this; - if (ny0<0) { nx0-=ny0*(nx1-nx0)/(ny1-ny0); ny0=0; } - if (ny1>=dimy()) { nx1+=(ny1-dimy())*(nx0-nx1)/(ny1-ny0); ny1=dimy()-1;} -- const unsigned int dmax = (unsigned int)cimg::max(std::abs(nx1-nx0),ny1-ny0), whz = width*height*depth; -+ const unsigned int dmax = (unsigned int)cimg::max(std::abs((long int)(nx1-nx0)),(long int)(ny1-ny0)), whz = width*height*depth; - const float px = dmax?(nx1-nx0)/(float)dmax:0, py = dmax?(ny1-ny0)/(float)dmax:0; - float x = (float)nx0, y = (float)ny0; - if (opacity>=1) for (unsigned int t=0; t<=dmax; t++) { -Index: krita/plugins/tool_polygon/kritatoolpolygon.desktop -=================================================================== ---- krita/plugins/tool_polygon/kritatoolpolygon.desktop (revision 427945) -+++ krita/plugins/tool_polygon/kritatoolpolygon.desktop (working copy) -@@ -2,6 +2,7 @@ - Encoding=UTF-8 - Name=Polygon Tool - Name[br]=Ostilh liestueg -+Name[cy]=Erfyn Polygon - Name[da]=Polygonværktøj - Name[de]=Polygon-Werkzeug - Name[el]=Εργαλείο πολυγώνου -Index: krita/plugins/tool_polyline/kritatoolpolyline.desktop -=================================================================== ---- krita/plugins/tool_polyline/kritatoolpolyline.desktop (revision 427945) -+++ krita/plugins/tool_polyline/kritatoolpolyline.desktop (working copy) -@@ -1,6 +1,7 @@ - [Desktop Entry] - Encoding=UTF-8 - Name=Polyline Tool -+Name[cy]=Erfyn Polylinell - Name[da]=Flerlinjeværktøj - Name[de]=Polylinien-Werkzeug - Name[el]=Εργαλείο Polyline -Index: krita/plugins/imagemagick/kritamagick.desktop -=================================================================== ---- krita/plugins/imagemagick/kritamagick.desktop (revision 427945) -+++ krita/plugins/imagemagick/kritamagick.desktop (working copy) -@@ -14,7 +14,8 @@ - Name[nn]=ImageMagick-omslag - Name[pt]=Interface para ImageMagick - Name[pt_BR]=Wrapper do ImageMagick --Name[ru]=Интерфейс к ImageMagick -+Name[ru]=Оболочка к ImageMagick -+Name[sl]=Ovojnik za ImageMagick - Name[sr]=Омотач ImageMagick-а - Name[sr@Latn]=Omotač ImageMagick-a - Name[sv]=ImageMagick-gränssnitt -@@ -35,7 +36,7 @@ - Comment[nn]=ImageMagick-basert import, eksport og filkonvertering - Comment[pt]=Importação/exportação e conversão de ficheiro com o ImageMagick - Comment[pt_BR]=Conversão de arquivos e filtro de importação/exportação baseado no ImageMagick --Comment[ru]=Фильтр импорта/экспорта рисунков посредством ImageMagick -+Comment[ru]=Фильтр импорта/экспорта и преобразования формата посредством ImageMagick - Comment[sr]=Увоз, извоз и конверзија фајлова помоћу ImageMagick-а - Comment[sr@Latn]=Uvoz, izvoz i konverzija fajlova pomoću ImageMagick-a - Comment[sv]=ImageMagick-baserad import, export och filkonvertering -Index: krita/plugins/tool_crop/kritatoolcrop.desktop -=================================================================== ---- krita/plugins/tool_crop/kritatoolcrop.desktop (revision 427945) -+++ krita/plugins/tool_crop/kritatoolcrop.desktop (working copy) -@@ -16,7 +16,7 @@ - Name[nn]=Beskjæringsverktøy - Name[pt]=Ferramenta de Recorte - Name[pt_BR]=Ferramenta de Recorte --Name[ru]=Инструмент обрезки -+Name[ru]=Обрезка - Name[sl]=Orodje za obrezavo - Name[sr]=Алат за сасецање - Name[sr@Latn]=Alat za sasecanje -Index: krita/plugins/selectiontools/kritaselectiontools.desktop -=================================================================== ---- krita/plugins/selectiontools/kritaselectiontools.desktop (revision 427945) -+++ krita/plugins/selectiontools/kritaselectiontools.desktop (working copy) -@@ -2,12 +2,14 @@ - Encoding=UTF-8 - Name=Selection Tools - Name[ca]=Eines de selecció -+Name[cy]=Offer Detholi - Name[da]=Markeringsværktøj - Name[de]=Auswahlwerkzeuge - Name[el]=Εργαλεία επιλογής - Name[es]=Herramientas de selección - Name[et]=Valikutööriistad - Name[fr]=Outils de sélection -+Name[ga]=Uirlisí Roghnúcháin - Name[he]=כלי בחירה - Name[hu]=Kiválasztó eszközök - Name[it]=Strumenti di selezione -Index: krita/plugins/tool_star/kritatoolstar.desktop -=================================================================== ---- krita/plugins/tool_star/kritatoolstar.desktop (revision 427945) -+++ krita/plugins/tool_star/kritatoolstar.desktop (working copy) -@@ -2,6 +2,7 @@ - Encoding=UTF-8 - Name=Star Tool - Name[br]=Ostilh steredenn -+Name[cy]=Erfyn Seren - Name[da]=Stjerneværktøj - Name[de]=Sterne-Werkzeug - Name[el]=Εργαλείο αστέρα -@@ -18,6 +19,7 @@ - Name[pt]=Ferramenta de Estrelas - Name[pt_BR]=Ferramenta Estrela - Name[ru]=Звёзды -+Name[sl]=Zvezdno orodje - Name[sr]=Алат за звезде - Name[sr@Latn]=Alat za zvezde - Name[sv]=Stjärnverktyg -Index: krita/plugins/tool_transform/kritatooltransform.desktop -=================================================================== ---- krita/plugins/tool_transform/kritatooltransform.desktop (revision 427945) -+++ krita/plugins/tool_transform/kritatooltransform.desktop (working copy) -@@ -16,7 +16,7 @@ - Name[nn]=Beskjæringsverktøy - Name[pt]=Ferramenta de Recorte - Name[pt_BR]=Ferramenta de Recorte --Name[ru]=Инструмент обрезки -+Name[ru]=Обрезка - Name[sl]=Orodje za obrezavo - Name[sr]=Алат за сасецање - Name[sr@Latn]=Alat za sasecanje -Index: krita/krita.desktop -=================================================================== ---- krita/krita.desktop (revision 427945) -+++ krita/krita.desktop (working copy) -@@ -22,6 +22,7 @@ - GenericName[fa]=برنامه دستکاری تصویر - GenericName[fi]=Kuvienmuokkausohjelma - GenericName[fr]=Logiciel de manipulation d'images -+GenericName[ga]=Clár Ionramhála na nÍomhánna - GenericName[he]=תוכנית לטיפול בתמונות - GenericName[hr]=Program za obradu slika - GenericName[hu]=Képszerkesztő -@@ -39,7 +40,7 @@ - GenericName[pt]=Programa de Manipulação de Imagens - GenericName[pt_BR]=Manipulador de Imagens - GenericName[ro]=Program de procesare imagini --GenericName[ru]=Редактор графических изображений -+GenericName[ru]=Программа редактирования изображений - GenericName[sk]=Program pre úpravu obrázkov - GenericName[sl]=Program za obdelavo slik - GenericName[sr]=Програм за уређивање слика -Index: krita/core/kis_paint_device.cc -=================================================================== ---- krita/core/kis_paint_device.cc (revision 427945) -+++ krita/core/kis_paint_device.cc (working copy) -@@ -791,24 +791,23 @@ - QRect r = m_selection -> selectedRect(); - r = r.normalize(); - -+ for (Q_INT32 y = 0; y < r.height(); y++) { -+ KisHLineIterator devIt = createHLineIterator(r.x(), r.y() + y, r.width(), true); -+ KisHLineIterator selectionIt = m_selection -> createHLineIterator(r.x(), r.y() + y, r.width(), false); - -- KisRectIterator devIt = createRectIterator(r.x(), r.y(), r.width(), r.height(), true); -- KisRectIterator selectionIt = m_selection -> createRectIterator(r.x(), r.y(), r.width(), r.height(), false); -+ while (!devIt.isDone()) { -+ KisPixel p = toPixel(devIt.rawData()); -+ KisPixel s = m_selection -> toPixel(selectionIt.rawData()); -+ Q_UINT16 p_alpha, s_alpha; -+ p_alpha = p.alpha(); -+ s_alpha = MAX_SELECTED - s.alpha(); - -- while (!devIt.isDone()) { -- KisPixel p = toPixel(devIt.rawData()); -- KisPixel s = m_selection -> toPixel(selectionIt.rawData()); -- Q_UINT16 p_alpha, s_alpha; -- p_alpha = p.alpha(); -- s_alpha = MAX_SELECTED - s.alpha(); -- -- p.alpha() = (Q_UINT8) ((p_alpha * s_alpha) >> 8); -+ p.alpha() = (Q_UINT8) ((p_alpha * s_alpha) >> 8); - -- ++devIt; -- ++selectionIt; -+ ++devIt; -+ ++selectionIt; -+ } - } -- -- - } - - void KisPaintDevice::applySelectionMask(KisSelectionSP mask) -Index: krita/core/kis_selection_manager.cc -=================================================================== ---- krita/core/kis_selection_manager.cc (revision 427945) -+++ krita/core/kis_selection_manager.cc (working copy) -@@ -319,20 +319,22 @@ - - // Apply selection mask. - -- KisRectIterator layerIt = clip -> createRectIterator(0, 0, r.width(), r.height(), true); -- KisRectIterator selectionIt = selection -> createRectIterator(r.x(), r.y(), r.width(), r.height(), false); -+ for (Q_INT32 y = 0; y < r.height(); y++) { -+ KisHLineIterator layerIt = clip -> createHLineIterator(0, y, r.width(), true); -+ KisHLineIterator selectionIt = selection -> createHLineIterator(r.x(), r.y() + y, r.width(), false); - -- while (!layerIt.isDone()) { -- KisPixel p = clip -> toPixel(layerIt.rawData()); -- KisPixel s = selection -> toPixel(selectionIt.rawData()); -- Q_UINT16 p_alpha, s_alpha; -- p_alpha = p.alpha(); -- s_alpha = s.alpha(); -- -- p.alpha() = (Q_UINT8) ((p_alpha * s_alpha) >> 8); -- -- ++layerIt; -- ++selectionIt; -+ while (!layerIt.isDone()) { -+ KisPixel p = clip -> toPixel(layerIt.rawData()); -+ KisPixel s = selection -> toPixel(selectionIt.rawData()); -+ Q_UINT16 p_alpha, s_alpha; -+ p_alpha = p.alpha(); -+ s_alpha = s.alpha(); -+ -+ p.alpha() = (Q_UINT8) ((p_alpha * s_alpha) >> 8); -+ -+ ++layerIt; -+ ++selectionIt; -+ } - } - - // kdDebug() << "Selection copied: " -Index: krita/core/tiles/kis_tiledrectiterator.cc -=================================================================== ---- krita/core/tiles/kis_tiledrectiterator.cc (revision 427945) -+++ krita/core/tiles/kis_tiledrectiterator.cc (working copy) -@@ -66,7 +66,8 @@ - m_xInTile = m_leftInTile; - m_yInTile = m_topInTile; - -- fetchTileData(m_col, m_row); -+ if (! m_beyondEnd) -+ fetchTileData(m_col, m_row); - m_offset = m_pixelSize * (m_yInTile * KisTile::WIDTH + m_xInTile); - } - -Index: krita/core/builder/kis_image_magick_converter.cc -=================================================================== ---- krita/core/builder/kis_image_magick_converter.cc (revision 427945) -+++ krita/core/builder/kis_image_magick_converter.cc (working copy) -@@ -64,10 +64,10 @@ - */ - KisStrategyColorSpaceSP getColorSpaceForColorType(ColorspaceType type) { - if (type == GRAYColorspace) { -- KisColorSpaceRegistry::instance() -> get(KisID("CMYK", "")); -+ return KisColorSpaceRegistry::instance() -> get(KisID("GRAYA", "")); - } - else if (type == CMYKColorspace) { -- return KisColorSpaceRegistry::instance() -> get(KisID("GRAYA", "")); -+ return KisColorSpaceRegistry::instance() -> get(KisID("CMYK", "")); - } - else if (type == RGBColorspace || type == sRGBColorspace || type == TransparentColorspace) { - return KisColorSpaceRegistry::instance() -> get(KisID("RGBA", "")); -Index: krita/core/kis_view.cc -=================================================================== ---- krita/core/kis_view.cc (revision 427945) -+++ krita/core/kis_view.cc (working copy) -@@ -218,8 +218,7 @@ - { - delete m_dcop; - delete m_dockerManager; -- -- -+ delete m_selectionManager; - } - - DCOPObject* KisView::dcopObject() -Index: krita/core/kis_iterators_pixel.h -=================================================================== ---- krita/core/kis_iterators_pixel.h (revision 427945) -+++ krita/core/kis_iterators_pixel.h (working copy) -@@ -37,6 +37,7 @@ - public: - KisHLineIteratorPixel( KisPaintDevice *ndevice, KisDataManager *dm, KisDataManager *sel_dm, Q_INT32 x , Q_INT32 y , Q_INT32 w, Q_INT32 offsetx, Q_INT32 offsety, bool writable); - -+ ~KisHLineIteratorPixel() { delete m_selectionIterator; } - inline KisHLineIteratorPixel & operator ++() { KisHLineIterator::operator++(); advance(1); return *this;} - - /// Advances a number of pixels until it reaches the end of the line -@@ -52,6 +53,7 @@ - { - public: - KisVLineIteratorPixel( KisPaintDevice *ndevice, KisDataManager *dm, KisDataManager *sel_dm, Q_INT32 xpos , Q_INT32 ypos , Q_INT32 height, Q_INT32 offsetx, Q_INT32 offsety, bool writable); -+ ~KisVLineIteratorPixel() { delete m_selectionIterator; } - - inline KisVLineIteratorPixel & operator ++() { KisVLineIterator::operator++(); advance(1); return *this;} - -@@ -65,6 +67,7 @@ - { - public: - KisRectIteratorPixel( KisPaintDevice *ndevice, KisDataManager *dm, KisDataManager *sel_dm, Q_INT32 x, Q_INT32 y, Q_INT32 w, Q_INT32 h, Q_INT32 offsetx, Q_INT32 offsety, bool writable); -+ ~KisRectIteratorPixel() { delete m_selectionIterator; } - - inline KisRectIteratorPixel & operator ++() { KisRectIterator::operator++(); advance(1); return *this;} - -Index: krita/paintops/kritadefaultpaintops.desktop -=================================================================== ---- krita/paintops/kritadefaultpaintops.desktop (revision 427945) -+++ krita/paintops/kritadefaultpaintops.desktop (working copy) -@@ -15,7 +15,7 @@ - Name[nn]=Standard måleoperasjonar - Name[pt]=Operações de Pintura Predefinidas - Name[pt_BR]=Operações de pintura padrão --Name[ru]=Стандартные действия рисования -+Name[ru]=Стандартные операции рисования - Name[sr]=Подразумеване сликарске операције - Name[sr@Latn]=Podrazumevane slikarske operacije - Name[sv]=Förvalda målningsoperationer -@@ -36,7 +36,7 @@ - Comment[nn]=Standard måleoperasjonar - Comment[pt]=Operações de pintura predefinidas - Comment[pt_BR]=Operações de pintura padrão --Comment[ru]=Действия рисования по умолчанию -+Comment[ru]=Операции рисования по умолчанию - Comment[sr]=Подразумеване сликарске операције - Comment[sr@Latn]=Podrazumevane slikarske operacije - Comment[sv]=Förvalda ritåtgärder -Index: krita/modules/colorspace_ws/kritawsplugin.desktop -=================================================================== ---- krita/modules/colorspace_ws/kritawsplugin.desktop (revision 427945) -+++ krita/modules/colorspace_ws/kritawsplugin.desktop (working copy) -@@ -13,7 +13,7 @@ - Name[nn]=Fargemodell for vått lerret - Name[pt]=Modelo de Cores de Tela Molhado e Pegajoso - Name[pt_BR]=Modelo de cores de tela Molhada & Pegajosa --Name[ru]=Цветовая модель влажности и прилипания -+Name[ru]=Цветовая модель с параметрами влажности и прилипания - Name[sr]=Модел боја мокрог и лепљивог платна - Name[sr@Latn]=Model boja mokrog i lepljivog platna - Name[sv]=Våt och klibbig dukfärgmodell -Index: krita/modules/colorspace_rgb/templates/transparent_1280x1024.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/transparent_1280x1024.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/transparent_1280x1024.desktop (working copy) -@@ -4,6 +4,7 @@ - URL=.source/transparent_1280x1024.kra - Icon=template_rgb_empty - Name=Transparent 1280 x 1024 -+Name[br]=Treuzwelus 1280 x 1024 - Name[da]=Gennemsigtig 1280 x 1024 - Name[el]=Διαφανής 1280 x 1024 - Name[es]=1280 x 1024 transparente -@@ -16,7 +17,7 @@ - Name[nn]=Gjennomsiktig 1280 × 1024 - Name[pt]=Transparente 1280 x 1024 - Name[pt_BR]=Transparente de 1280 x 1024 --Name[ru]=Прозрачный 1280x1024 -+Name[ru]=Рисунок 1280x1024, прозрачный фон - Name[sl]=Prosojna 1280 x 1024 - Name[sr]=Провидна 1280 x 1024 - Name[sr@Latn]=Providna 1280 x 1024 -@@ -39,7 +40,7 @@ - Comment[nn]=Lagar eit gjennomsiktig bilete på 1280 × 1024 pikslar. - Comment[pt]=Cria uma imagem transparente com 1280 x 1024 pontos. - Comment[pt_BR]=Cria uma imagem transparente de 1280 x 1024 pixels. --Comment[ru]=Прозрачное, 1280x1024. -+Comment[ru]=Рисунок 1280x1024, прозрачный фон. - Comment[sl]=Ustvari prosojno sliko velikosti 1280 x 1024 točk. - Comment[sr]=Прави провидну слику са 1280 x 1024 пиксела. - Comment[sr@Latn]=Pravi providnu sliku sa 1280 x 1024 piksela. -Index: krita/modules/colorspace_rgb/templates/transparent_640x480.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/transparent_640x480.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/transparent_640x480.desktop (working copy) -@@ -4,6 +4,7 @@ - URL=.source/transparent_1600x1200.kra - Icon=template_rgb_empty - Name=Transparent 640 x 480 -+Name[br]=Treuzwelus 640 x 480 - Name[da]=Gennemsigtig 640 x 480 - Name[el]=Διαφανής 640 x 480 - Name[es]=640 x 480 transparente -@@ -16,7 +17,7 @@ - Name[nn]=Gjennomsiktig 640 × 480 - Name[pt]=Transparente 640 x 480 - Name[pt_BR]=Transparente de 640 x 480 --Name[ru]=Прозрачный 640x480 -+Name[ru]=Рисунок 640x480, прозрачный фон - Name[sl]=Prosojna 640 x 480 - Name[sr]=Провидна 640 x 480 - Name[sr@Latn]=Providna 640 x 480 -@@ -39,7 +40,7 @@ - Comment[nn]=Lagar eit gjennomsiktig bilete på 640 × 480 pikslar. - Comment[pt]=Cria uma imagem transparente com 640 x 480 pontos. - Comment[pt_BR]=Cria uma imagem transparente de 640 x 480 pixels. --Comment[ru]=Прозрачное, 640x480. -+Comment[ru]=Рисунок 640x480, прозрачный фон. - Comment[sl]=Ustvari prosojno sliko velikosti 640 x 480 točk. - Comment[sr]=Прави провидну слику са 640 x 480 пиксела. - Comment[sr@Latn]=Pravi providnu sliku sa 640 x 480 piksela. -Index: krita/modules/colorspace_rgb/templates/white_1600x1200.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/white_1600x1200.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/white_1600x1200.desktop (working copy) -@@ -10,6 +10,7 @@ - Name[es]=1600 x 1200 blanco - Name[et]=Valge 1600 x 1200 - Name[fr]=Image blanche 1600 x 1200 -+Name[ga]=Bán 1600×1200 - Name[he]=לבן 1600 x 1200 - Name[hu]=Fehér 1600 x 1200 - Name[it]=Bianco 1600 x 1200 -@@ -17,7 +18,7 @@ - Name[nn]=Kvitt 1600 × 1200 - Name[pt]=Branca 1600 x 1200 - Name[pt_BR]=1600 x 1200 em Branco --Name[ru]=Белый 1600x1200 -+Name[ru]=Рисунок 1600x1200, белый фон - Name[sl]=Bela 1600 x 1200 - Name[sr]=Бела 1600 x 1200 - Name[sr@Latn]=Bela 1600 x 1200 -@@ -39,7 +40,7 @@ - Comment[nn]=Lagar eit kvitt RGB-bilete på 1600 × 1200 pikslar. - Comment[pt]=Cria uma imagem RGB branca com 1600 x 1200 pontos. - Comment[pt_BR]=Cria uma imagem RGB em branco de 1600 x 1200 pixels. --Comment[ru]=Белое в формате RGB, 1600x1200. -+Comment[ru]=Рисунок RGB 1600x1200, белый фон. - Comment[sl]=Ustvari belo sliko RGB velikosti 1600 x 1200 točk. - Comment[sr]=Прави белу RGB слику са 1600 x 1200 пиксела. - Comment[sr@Latn]=Pravi belu RGB sliku sa 1600 x 1200 piksela. -Index: krita/modules/colorspace_rgb/templates/white_1024x768.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/white_1024x768.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/white_1024x768.desktop (working copy) -@@ -13,6 +13,7 @@ - Name[es]=1024 x 768 blanco - Name[et]=Valge 1024 x 768 - Name[fr]=Image blanche 1024 x 768 -+Name[ga]=Bán 1024×768 - Name[he]=לבן 1024 x 768 - Name[hu]=Fehér 1024 x 768 - Name[it]=Bianco 1024 x 768 -@@ -21,7 +22,7 @@ - Name[nn]=Kvitt 1024 × 768 - Name[pt]=Branca 1024 x 768 - Name[pt_BR]=1024 x 768 em Branco --Name[ru]=Белый 1024x768 -+Name[ru]=Рисунок 1024x768, белый фон - Name[sl]=Bela 1024 x 768 - Name[sr]=Бела 1024 x 768 - Name[sr@Latn]=Bela 1024 x 768 -@@ -46,7 +47,7 @@ - Comment[nn]=Lagar eit kvitt RGB-bilete på 1024 × 768 pikslar. - Comment[pt]=Cria uma imagem RGB branca com 1024 x 768 pontos. - Comment[pt_BR]=Cria uma imagem RGB em branco de 1024 x 768 pixéis. --Comment[ru]=Белое в формате RGB, 1024x768. -+Comment[ru]=Рисунок RGB 1024x768, белый фон. - Comment[sl]=Ustvari belo sliko RGB velikosti 1024 x 768 točk. - Comment[sr]=Прави белу RGB слику са 1024 x 768 пиксела. - Comment[sr@Latn]=Pravi belu RGB sliku sa 1024 x 768 piksela. -Index: krita/modules/colorspace_rgb/templates/white_1280x1024.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/white_1280x1024.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/white_1280x1024.desktop (working copy) -@@ -10,6 +10,7 @@ - Name[es]=1280 x 1024 blanco - Name[et]=Valge 1280 x 1024 - Name[fr]=Image blanche 1280 x 1024 -+Name[ga]=Bán 1280×1024 - Name[he]=לבן 1280 x 1024 - Name[hu]=Fehér 1280 x 1024 - Name[it]=Bianco 1280 x 1024 -@@ -17,7 +18,7 @@ - Name[nn]=Kvitt 1280 × 1024 - Name[pt]=Branca 1280 x 1024 - Name[pt_BR]=1280 x 1024 em Branco --Name[ru]=Белый 1280x1024 -+Name[ru]=Рисунок 1280x1024, белый фон - Name[sl]=Bela 1280 x 1024 - Name[sr]=Бела 1280 x 1024 - Name[sr@Latn]=Bela 1280 x 1024 -@@ -39,7 +40,7 @@ - Comment[nn]=Lagar eit kvitt RGB-bilete på 1280 × 1024 pikslar. - Comment[pt]=Cria uma imagem RGB branca com 1280 x 1024 pontos. - Comment[pt_BR]=Cria uma imagem RGB em branco de 1280 x 1024 pixels. --Comment[ru]=Белое в формате RGB, 1280x1024. -+Comment[ru]=Рисунок RGB 1280x1024, белый фон. - Comment[sl]=Ustvari belo sliko RGB velikosti 1280 x 1024 točk. - Comment[sr]=Прави белу RGB слику са 1280 x 1024 пиксела. - Comment[sr@Latn]=Pravi belu RGB sliku sa 1280 x 1024 piksela. -Index: krita/modules/colorspace_rgb/templates/white_640x480.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/white_640x480.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/white_640x480.desktop (working copy) -@@ -13,6 +13,7 @@ - Name[es]=640x480 blanco - Name[et]=Valge 640x480 - Name[fr]=Image blanche 640 x 480 -+Name[ga]=Bán 640×480 - Name[he]=לבן 640x480 - Name[hu]=Fehér 640 x 480 - Name[it]=Bianco 640x480 -@@ -21,7 +22,7 @@ - Name[nn]=Kvitt 640 × 480 - Name[pt]=Branca 640x480 - Name[pt_BR]=640x480 em Branco --Name[ru]=Белый 640x480 -+Name[ru]=Рисунок 640x480, белый фон - Name[sl]=Bela 640x480 - Name[sr]=Бела 640x480 - Name[sr@Latn]=Bela 640x480 -@@ -42,11 +43,11 @@ - Comment[hu]=Létrehoz egy 640 x 480 képpontos fehér RGB képet. - Comment[it]=Crea un'immagine RGB bianca di 640 x 480 pixel. - Comment[nb]=Lager et hvitt bilde på 640 x 480 piksler. --Comment[nl]=Maakt een witte RGB-afbeelding aan van 540 x 480 pixels. -+Comment[nl]=Maakt een witte RGB-afbeelding aan van 640 x 480 pixels. - Comment[nn]=Lagar eit kvitt RGB-bilete på 640 × 480 pikslar. - Comment[pt]=Cria uma imagem RGB branca com 640 x 480 pontos. - Comment[pt_BR]=Cria uma imagem RGB em branco de 640 x 480 pixéis. --Comment[ru]=Белое в формате RGB, 640x480. -+Comment[ru]=Рисунок RGB 640x480, белый фон. - Comment[sl]=Ustvari belo sliko RGB velikosti 640 x 480 točk. - Comment[sr]=Прави белу RGB слику са 640 x 480 пиксела. - Comment[sr@Latn]=Pravi belu RGB sliku sa 640 x 480 piksela. -Index: krita/modules/colorspace_rgb/templates/transparent_1600x1200.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/transparent_1600x1200.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/transparent_1600x1200.desktop (working copy) -@@ -5,6 +5,7 @@ - Icon=template_rgb_empty - Name=Transparent 1600 x 1200 - Name[bg]=Прозрачно 1600 x 1200 -+Name[br]=Treuzwelus 1600 x 1200 - Name[da]=Gennemsigtig 1600 x 1200 - Name[el]=Διαφανής 1600 x 1200 - Name[es]=1600 x 1200 transparente -@@ -18,7 +19,7 @@ - Name[nn]=Gjennomsiktig 1600 × 1200 - Name[pt]=Transparente 1600 x 1200 - Name[pt_BR]=Transparente de 1600 x 1200 --Name[ru]=Прозрачный 1600x1200 -+Name[ru]=Рисунок 1600x1200, прозрачный фон - Name[sl]=Prosojna 1600 x 1200 - Name[sr]=Провидна 1600 x 1200 - Name[sr@Latn]=Providna 1600 x 1200 -@@ -44,7 +45,7 @@ - Comment[nn]=Lagar eit gjennomsiktig bilete på 1600 × 1200 pikslar. - Comment[pt]=Cria uma imagem transparente com 1600 x 1200 pontos. - Comment[pt_BR]=Cria uma imagem transparente de 1600 x 1200 pixéis. --Comment[ru]=Прозрачное, 1600x1200. -+Comment[ru]=Рисунок 1600x1200, прозрачный фон. - Comment[sl]=Ustvari prosojno sliko velikosti 1600 x 1200 točk. - Comment[sr]=Прави провидну слику са 1600 x 1200 пиксела. - Comment[sr@Latn]=Pravi providnu sliku sa 1600 x 1200 piksela. -Index: krita/modules/colorspace_rgb/templates/transparent_1024x768.desktop -=================================================================== ---- krita/modules/colorspace_rgb/templates/transparent_1024x768.desktop (revision 427945) -+++ krita/modules/colorspace_rgb/templates/transparent_1024x768.desktop (working copy) -@@ -4,6 +4,7 @@ - URL=.source/transparent_1024x768.kra - Icon=template_rgb_empty - Name=Transparent 1024 x 768 -+Name[br]=Treuzwelus 1024 x 768 - Name[da]=Gennemsigtig 1024 x 768 - Name[el]=Διαφανής 1024 x 768 - Name[es]=1024 x 768 transparente -@@ -16,7 +17,7 @@ - Name[nn]=Gjennomsiktig 1024 × 768 - Name[pt]=Transparente 1024 x 768 - Name[pt_BR]=Transparente de 1024 x 768 --Name[ru]=Прозрачный 1024x768 -+Name[ru]=Рисунок 1024x768, прозрачный фон - Name[sl]=Prosojna 1024 x 768 - Name[sr]=Провидна 1024 x 768 - Name[sr@Latn]=Providna 1024 x 768 -@@ -39,7 +40,7 @@ - Comment[nn]=Lagar eit gjennomsiktig bilete på 1024 × 768 pikslar. - Comment[pt]=Cria uma imagem transparente com 1024 x 768 pontos. - Comment[pt_BR]=Cria uma imagem transparente de 1024 x 768 pixels. --Comment[ru]=Прозрачное, 1024x768. -+Comment[ru]=Рисунок 1024x768, прозрачный фон. - Comment[sl]=Ustvari prosojno sliko velikosti 1024 x 768 točk. - Comment[sr]=Прави провидну слику са 1024 x 768 пиксела. - Comment[sr@Latn]=Pravi providnu sliku sa 1024 x 768 piksela. -Index: krita/modules/krita_module.desktop -=================================================================== ---- krita/modules/krita_module.desktop (revision 427945) -+++ krita/modules/krita_module.desktop (working copy) -@@ -19,6 +19,7 @@ - Comment[pt]=Módulo de funcionalidade nuclear para o Krita - Comment[pt_BR]=Módulo de funcionalidades principais para o Krita - Comment[ru]=Движок Krita -+Comment[sl]=Modul za osnovne zmožnosti Krite - Comment[sr]=Модел основне функционалности за Krita-у - Comment[sr@Latn]=Model osnovne funkcionalnosti za Krita-u - Comment[sv]=Modul med kärnfunktioner för Krita -Index: krita/modules/colorspace_gray/templates/white_640x480.desktop -=================================================================== ---- krita/modules/colorspace_gray/templates/white_640x480.desktop (revision 427945) -+++ krita/modules/colorspace_gray/templates/white_640x480.desktop (working copy) -@@ -12,6 +12,7 @@ - Name[es]=Fondo blanco, 640 x 480 - Name[et]=Valge taust, 640 x 480 - Name[fr]=Fond blanc 640 x 480 -+Name[ga]=Cúlra Bán, 640×480 - Name[he]=רקע לבן, 640 x 480 - Name[hu]=Fehér háttér, 640 x 480 - Name[it]=Sfondo bianco, 640 x 480 -@@ -20,7 +21,7 @@ - Name[nn]=Kvit bakgrunn, 640 × 480 - Name[pt]=Fundo Branco, 640 x 480 - Name[pt_BR]=Fundo em branco, 640 x 480 --Name[ru]=Белый фон, 640x480 -+Name[ru]=Рисунок 640x480, белый фон - Name[sl]=Belo ozadje, 640 x 480 - Name[sr]=Бела позадина, 640 x 480 - Name[sr@Latn]=Bela pozadina, 640 x 480 -@@ -46,7 +47,7 @@ - Comment[nn]=Lagar eit bilete på 640 × 480 pikslar med ein kvit bakgrunn. - Comment[pt]=Cria uma imagem de 640 x 480 pontos com um fundo branco. - Comment[pt_BR]=Cria uma imagem de 640 x 480 pixéis com um fundo branco. --Comment[ru]=Белое, 640x480. -+Comment[ru]=Рисунок 640x480, белый фон. - Comment[sl]=Ustvari sliko velikosti 640 x 480 točk z belim ozadjem. - Comment[sr]=Прави слику од 640 x 480 пиксела са белом позадином. - Comment[sr@Latn]=Pravi sliku od 640 x 480 piksela sa belom pozadinom. -Index: krita/modules/colorspace_cmyk/kritacmykplugin.desktop -=================================================================== ---- krita/modules/colorspace_cmyk/kritacmykplugin.desktop (revision 427945) -+++ krita/modules/colorspace_cmyk/kritacmykplugin.desktop (working copy) -@@ -46,7 +46,7 @@ - Comment[nn]=Fargemodell for CMYK-bilete med 8 bit per kanal - Comment[pt]=Modelo de cor para imagens CMYK com 8 bits por canal - Comment[pt_BR]=Modelo de cor para imagens com 8-bits de canal CMYK --Comment[ru]=Цветовая модель для изображений в CMYK (болотный, пурпурный, жёлтый, чёрный) 8-бит/канал -+Comment[ru]=Цветовая модель для изображений в CMYK (циан, пурпурный, жёлтый, чёрный) 8-бит/канал - Comment[sl]=Barvni model za slike CMYK z 8 biti/kanal - Comment[sr]=Модел боја за CMYK слике са 8 битова/каналу - Comment[sr@Latn]=Model boja za CMYK slike sa 8 bitova/kanalu -Index: krita/modules/colorspace_cmyk/templates/white_2000x800.desktop -=================================================================== ---- krita/modules/colorspace_cmyk/templates/white_2000x800.desktop (revision 427945) -+++ krita/modules/colorspace_cmyk/templates/white_2000x800.desktop (working copy) -@@ -12,6 +12,7 @@ - Name[es]=2000 x 800 blanco - Name[et]=Valge 2000 x 800 - Name[fr]=Image blanche 2000 x 800 -+Name[ga]=Bán 2000×800 - Name[he]=לבן 2000 x 800 - Name[hu]=fehér 2000 x 800 - Name[it]=Bianco 2000 x 800 -@@ -45,7 +46,7 @@ - Comment[nn]=Lagar eit kvitt CMYK-bilete på 2000 × 800 pikslar. - Comment[pt]=Cria uma imagem CMYK branca com 2000 x 800 pontos. - Comment[pt_BR]=Cria uma imagem CMYK em branco de 2000 x 800 pixéis. --Comment[ru]=Белое в формате CMYK, 2000x800. -+Comment[ru]=Рисунок CMYK, 2000x800, белый фон. - Comment[sl]=Ustvari belo sliko CMYK velikosti 2000 x 800 točk. - Comment[sr]=Прави белу CMYK слику са 2000 x 800 пиксела. - Comment[sr@Latn]=Pravi belu CMYK sliku sa 2000 x 800 piksela. -Index: krita/data/krita_module.desktop -=================================================================== ---- krita/data/krita_module.desktop (revision 427945) -+++ krita/data/krita_module.desktop (working copy) -@@ -19,6 +19,7 @@ - Comment[pt]=Módulo de funcionalidade nuclear para o Krita - Comment[pt_BR]=Módulo de funcionalidades principais para o Krita - Comment[ru]=Движок Krita -+Comment[sl]=Modul za osnovne zmožnosti Krite - Comment[sr]=Модел основне функционалности за Krita-у - Comment[sr@Latn]=Model osnovne funkcionalnosti za Krita-u - Comment[sv]=Modul med kärnfunktioner för Krita -Index: krita/data/krita_paintop.desktop -=================================================================== ---- krita/data/krita_paintop.desktop (revision 427945) -+++ krita/data/krita_paintop.desktop (working copy) -@@ -17,6 +17,7 @@ - Comment[pt]=Módulo de operações de pintura do Krita - Comment[pt_BR]=plugin de operação de pintura para o Krita - Comment[ru]=Модуль рисования Krita -+Comment[sl]=vstavek za dejanja slikanja za Krito - Comment[sr]=Прикључак за сликарске операције за Krita-у - Comment[sr@Latn]=Priključak za slikarske operacije za Krita-u - Comment[sv]=Målningsinsticksprogram för Krita -Index: krita/kritapart.desktop -=================================================================== ---- krita/kritapart.desktop (revision 427945) -+++ krita/kritapart.desktop (working copy) -@@ -18,7 +18,7 @@ - Name[nn]=KOffice-komponent for biletmanipulering - Name[pt]=Componente de Manipulação de Imagens do KOffice - Name[pt_BR]=Componente de Manipulação de Imagens do KOffice --Name[ru]=Компонент редактирования изображений KOffice -+Name[ru]=Компонент редактирования изображений - Name[sl]=Komponenta za obdelavo slik za KOffice - Name[sr]=KOffice-ова компонента за манипулацију сликама - Name[sr@Latn]=KOffice-ova komponenta za manipulaciju slikama -@@ -49,7 +49,7 @@ - GenericName[nn]=Bilethandsaming - GenericName[pt]=Manipulação de Imagens - GenericName[pt_BR]=Manipulação de Imagens --GenericName[ru]=Редактор графических изображений -+GenericName[ru]=Редактирование изображений - GenericName[sl]=Obdelava slik - GenericName[sr]=Манипулација сликама - GenericName[sr@Latn]=Manipulacija slikama -Index: krita/ui/kis_layerbox.cc -=================================================================== ---- krita/ui/kis_layerbox.cc (revision 427945) -+++ krita/ui/kis_layerbox.cc (working copy) -@@ -372,7 +372,7 @@ - void KisLayerBoxItem::init(const QString& label, QListBox *parent, - KisLayerBox::flags f) - { -- KIconLoader il; -+ KIconLoader il( "krita" ); - - m_label = label; - -Index: krita/ui/kis_dockframedocker.cc -=================================================================== ---- krita/ui/kis_dockframedocker.cc (revision 427945) -+++ krita/ui/kis_dockframedocker.cc (working copy) -@@ -125,7 +125,6 @@ - m_page -> lblCaption -> show(); - m_page -> bnShade -> show(); - m_page -> lblCaption -> setText(caption()); -- resize(sizeHint()); - } - else { - m_docked = false; -@@ -133,7 +132,6 @@ - m_page -> bnShade -> hide(); - m_page -> tabWidget -> show(); - m_page -> lblCaption -> setText(""); -- resize(sizeHint()); - } - - } -Index: kchart/kchartpart.desktop -=================================================================== ---- kchart/kchartpart.desktop (revision 427945) -+++ kchart/kchartpart.desktop (working copy) -@@ -20,6 +20,7 @@ - Name[pt]=Componente de Gráficos do KOffice - Name[pt_BR]=Componente de Gráficos do KOffice - Name[ru]=Компонент диаграмм KOffice -+Name[sl]=Komponenta za grafe za KOffice - Name[sr]=KOffice-ова компонента за графике - Name[sr@Latn]=KOffice-ova komponenta za grafike - Name[sv]=Koffice-diagramkomponent -Index: kchart/kdchart/KDDrawText.cpp -=================================================================== ---- kchart/kdchart/KDDrawText.cpp (revision 427945) -+++ kchart/kdchart/KDDrawText.cpp (working copy) -@@ -256,10 +256,12 @@ - painter->setPen( QColor( Qt::darkGreen ) ); - painter->drawRect(x,y,txtWidth,txtHeight); - }else{ -+#if 0 - // Working around a strange Qt bug: Rotated painter must be - // initialized by drawing before text can be painted there. - painter->setPen( QColor( Qt::white ) ); - painter->drawLine( 30000,0,30001,0 ); -+#endif - } - painter->setPen( savePen ); - } -Index: kchart/kchartWizardSelectChartTypePage.cc -=================================================================== ---- kchart/kchartWizardSelectChartTypePage.cc (revision 427945) -+++ kchart/kchartWizardSelectChartTypePage.cc (working copy) -@@ -16,11 +16,11 @@ - namespace KChart - { - --KChartButton::KChartButton(QWidget *parent, const QString & _text, QPixmap *_pixmap) -+KChartButton::KChartButton(QWidget *parent, const QString & _text, const QPixmap &_pixmap) - : QVBox(parent) - { - m_button = new QPushButton(this); -- m_button->setPixmap(*_pixmap); -+ m_button->setPixmap(_pixmap); - m_button->setToggleButton( true ); - QLabel *label = new QLabel(_text, this); - label->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed); -@@ -30,16 +30,16 @@ - KChartButton::~KChartButton() - { - } -- -+ - void KChartWizardSelectChartTypePage::addButton(const QString &name, - const QString &icon_name, - int type) - { -- KChartButton *button = new KChartButton( this, name, &BarIcon( icon_name,KIcon::SizeMedium, KIcon::DefaultState,KChartFactory::global() ) ); -+ KChartButton *button = new KChartButton( this, name, BarIcon( icon_name,KIcon::SizeMedium, KIcon::DefaultState,KChartFactory::global() ) ); - _layout->addWidget(button,r_pos,c_pos); - _typeBG->insert( button->button(), type ); - -- if (c_pos == 3) -+ if (c_pos == 3) - { - c_pos=0; - r_pos++; //place the next button in the second row -Index: kchart/kchartWizardSelectChartTypePage.h -=================================================================== ---- kchart/kchartWizardSelectChartTypePage.h (revision 427945) -+++ kchart/kchartWizardSelectChartTypePage.h (working copy) -@@ -23,9 +23,9 @@ - { - Q_OBJECT - public: -- KChartButton(QWidget* parent, const QString &, QPixmap *); -+ KChartButton(QWidget* parent, const QString &, const QPixmap &); - ~KChartButton(); -- -+ - QPushButton *button() const { return m_button;} - private: - QPushButton *m_button; -Index: mimetypes/kde32/vnd.stardivision.math.desktop -=================================================================== ---- mimetypes/kde32/vnd.stardivision.math.desktop (revision 427945) -+++ mimetypes/kde32/vnd.stardivision.math.desktop (working copy) -@@ -25,7 +25,7 @@ - Comment[nn]=StarOffice-formel - Comment[pt]=Documento Matemático do StarOffice - Comment[pt_BR]=Documento do StarOffice Math --Comment[ru]=Формулы StarOffice -+Comment[ru]=Формула StarOffice - Comment[sl]=Dokument za StarOffice Math - Comment[sr]=StarOffice Math-ов документ - Comment[sr@Latn]=StarOffice Math-ov dokument -Index: mimetypes/kde32/vnd.stardivision.writer-global.desktop -=================================================================== ---- mimetypes/kde32/vnd.stardivision.writer-global.desktop (revision 427945) -+++ mimetypes/kde32/vnd.stardivision.writer-global.desktop (working copy) -@@ -23,7 +23,7 @@ - Comment[nn]=StarOffice Writer-hovuddokument - Comment[pt]=Documento Mestre do Writer do StarOffice - Comment[pt_BR]=Documento Mestre do StarOffice Writer --Comment[ru]=Основной документ StarOffice Writer -+Comment[ru]=Мастер-документ StarOffice - Comment[sl]=Dokument za StarOffice Writer Master - Comment[sr]=StarOffice Writer-ов главни документ - Comment[sr@Latn]=StarOffice Writer-ov glavni dokument -Index: mimetypes/kde32/vnd.sun.xml.writer.master.desktop -=================================================================== ---- mimetypes/kde32/vnd.sun.xml.writer.master.desktop (revision 427945) -+++ mimetypes/kde32/vnd.sun.xml.writer.master.desktop (working copy) -@@ -20,7 +20,7 @@ - Comment[nn]=OpenOffice.org-hovudtekstdokument - Comment[pt]=Documento Mestre de Texto do OpenOffice.org - Comment[pt_BR]=Documento Mestre de Texto do OpenOffice.org --Comment[ru]=Основной текстовый документ OpenOffice.org -+Comment[ru]=Мастер-документ OpenOffice.org - Comment[sr]=OpenOffice.org-ов главни текстуални документ - Comment[sr@Latn]=OpenOffice.org-ov glavni tekstualni dokument - Comment[sv]=Openoffice.org huvudtextdokument -Index: mimetypes/kde32/vnd.sun.xml.writer.template.desktop -=================================================================== ---- mimetypes/kde32/vnd.sun.xml.writer.template.desktop (revision 427945) -+++ mimetypes/kde32/vnd.sun.xml.writer.template.desktop (working copy) -@@ -21,7 +21,7 @@ - Comment[nn]=OpenOffice.org-tekstdokumentmal - Comment[pt]=Modelo de Documento de Texto do OpenOffice.org - Comment[pt_BR]=Modelo de Documento de Texto do OpenOffice.org --Comment[ru]=Шаблон текстового документа OpenОffice.org -+Comment[ru]=Шаблон документа OpenOffice.org - Comment[sl]=Predloga besedilnega dokumenta za OpenOffice.org - Comment[sr]=OpenOffice.org-ов шаблон текстуалног документа - Comment[sr@Latn]=OpenOffice.org-ov šablon tekstualnog dokumenta -Index: mimetypes/kde32/vnd.stardivision.draw.desktop -=================================================================== ---- mimetypes/kde32/vnd.stardivision.draw.desktop (revision 427945) -+++ mimetypes/kde32/vnd.stardivision.draw.desktop (working copy) -@@ -23,7 +23,7 @@ - Comment[nn]=StarOffice-teikning - Comment[pt]=Desenho do StarOffice - Comment[pt_BR]=Desenho do StarOffice --Comment[ru]=Изображение StarOffice -+Comment[ru]=Рисунок StarOffice - Comment[sl]=Risanje za StarOffice - Comment[sr]=StarOffice-ов цртеж - Comment[sr@Latn]=StarOffice-ov crtež -Index: mimetypes/kde32/vnd.sun.xml.draw.template.desktop -=================================================================== ---- mimetypes/kde32/vnd.sun.xml.draw.template.desktop (revision 427945) -+++ mimetypes/kde32/vnd.sun.xml.draw.template.desktop (working copy) -@@ -20,7 +20,7 @@ - Comment[nn]=OpenOffice.org-teikningsmal - Comment[pt]=Modelo de Desenho do OpenOffice.org - Comment[pt_BR]=Modelo de Desenho do OpenOffice.org --Comment[ru]=Шаблон изображения OpenOffice.org -+Comment[ru]=Шаблон рисунка OpenOffice.org - Comment[sl]=Predloga risanja za OpenOffice.org - Comment[sr]=OpenOffice.org-ов шаблон цртежа - Comment[sr@Latn]=OpenOffice.org-ov šablon crteža -Index: mimetypes/kde32/vnd.sun.xml.calc.template.desktop -=================================================================== ---- mimetypes/kde32/vnd.sun.xml.calc.template.desktop (revision 427945) -+++ mimetypes/kde32/vnd.sun.xml.calc.template.desktop (working copy) -@@ -21,7 +21,7 @@ - Comment[nn]=OpenOffice.org-reknearkmal - Comment[pt]=Modelo de Folha de Cálculo do OpenOffice.org - Comment[pt_BR]=Modelo de Planilha OpenOffice.org --Comment[ru]=Шаблон таблицы OpenOffice.org -+Comment[ru]=Шаблон электронной таблицы OpenOffice.org - Comment[sl]=Predloga preglednice za OpenOffice.org - Comment[sr]=OpenOffice.org-ов шаблон прорачунског листа - Comment[sr@Latn]=OpenOffice.org-ov šablon proračunskog lista -Index: mimetypes/kde33/vnd.oasis.opendocument.graphics-template.desktop -=================================================================== ---- mimetypes/kde33/vnd.oasis.opendocument.graphics-template.desktop (revision 427945) -+++ mimetypes/kde33/vnd.oasis.opendocument.graphics-template.desktop (working copy) -@@ -22,7 +22,7 @@ - Comment[nn]=OASIS OpenDocument-teikningsmal - Comment[pt]=Modelo de Desenho OASIS OpenDocument - Comment[pt_BR]=Modelo de Gráfico OpenDocument OASIS --Comment[ru]=Шаблон графики OASIS OpenDocument Graphics -+Comment[ru]=Шаблон рисунка OASIS OpenDocument Graphics - Comment[sl]=Predloga grafike OASIS OpenDocument - Comment[sr]=OASIS-ов OpenDocument графички шаблон - Comment[sr@Latn]=OASIS-ov OpenDocument grafički šablon -Index: mimetypes/kde33/vnd.oasis.opendocument.graphics.desktop -=================================================================== ---- mimetypes/kde33/vnd.oasis.opendocument.graphics.desktop (revision 427945) -+++ mimetypes/kde33/vnd.oasis.opendocument.graphics.desktop (working copy) -@@ -22,7 +22,7 @@ - Comment[nn]=OASIS OpenDocument-teikning - Comment[pt]=Desenho OASIS OpenDocument - Comment[pt_BR]=Gráfico OpenDocument OASIS --Comment[ru]=Графика OASIS OpenDocument -+Comment[ru]=Рисунок OASIS OpenDocument - Comment[sl]=Grafika OASIS OpenDocument - Comment[sr]=OASIS-ова OpenDocument графика - Comment[sr@Latn]=OASIS-ova OpenDocument grafika -Index: kivio/kiviopart/kivio_stencil_geometry_panel.cpp -=================================================================== ---- kivio/kiviopart/kivio_stencil_geometry_panel.cpp (revision 427945) -+++ kivio/kiviopart/kivio_stencil_geometry_panel.cpp (working copy) -@@ -96,10 +96,10 @@ - lw->setPixmap( QPixmap((const char **)width_xpm) ); - lh->setPixmap( QPixmap((const char **)height_xpm) ); - -- m_pX = new KoUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -- m_pY = new KoUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -- m_pW = new KoUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -- m_pH = new KoUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -+ m_pX = new KoBuggyUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -+ m_pY = new KoBuggyUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -+ m_pW = new KoBuggyUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); -+ m_pH = new KoBuggyUnitDoubleSpinBox(this, -1000.0, 1000.0, 0.5, 0.0); - m_rotationSBox = new KIntSpinBox(-360, 360, 1, 0, 10, this); - m_rotationSBox->hide(); - -Index: kivio/kiviopart/kivio_stencil_geometry_panel.h -=================================================================== ---- kivio/kiviopart/kivio_stencil_geometry_panel.h (revision 427945) -+++ kivio/kiviopart/kivio_stencil_geometry_panel.h (working copy) -@@ -5,14 +5,14 @@ - #include <koUnit.h> - - class KoPageLayout; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KIntSpinBox; - - class KivioStencilGeometryPanel : public QWidget - { - Q_OBJECT - protected: -- KoUnitDoubleSpinBox *m_pX, *m_pY, *m_pW, *m_pH; -+ KoBuggyUnitDoubleSpinBox *m_pX, *m_pY, *m_pW, *m_pH; - KIntSpinBox* m_rotationSBox; - KoUnit::Unit m_unit; - bool m_emitSignals; -Index: kivio/kiviopart/kivio_view.h -=================================================================== ---- kivio/kiviopart/kivio_view.h (revision 427945) -+++ kivio/kiviopart/kivio_view.h (working copy) -@@ -63,7 +63,7 @@ - class DCOPObject; - class KoRuler; - class KoZoomHandler; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KStatusBarLabel; - class KoLineWidthAction; - class KoLineStyleAction; -Index: kivio/kiviopart/ui/kiviostencilformatdlg.cpp -=================================================================== ---- kivio/kiviopart/ui/kiviostencilformatdlg.cpp (revision 427945) -+++ kivio/kiviopart/ui/kiviostencilformatdlg.cpp (working copy) -@@ -46,7 +46,7 @@ - QGridLayout* gl = new QGridLayout(mainWidget, 3, 2, KDialog::marginHint(), KDialog::spacingHint()); - - QLabel* lineWidthLbl = new QLabel(i18n("Line &width:"), mainWidget); -- m_lineWidthUSBox = new KoUnitDoubleSpinBox(mainWidget, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); -+ m_lineWidthUSBox = new KoBuggyUnitDoubleSpinBox(mainWidget, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); - lineWidthLbl->setBuddy(m_lineWidthUSBox); - QLabel* lineColorLbl = new QLabel(i18n("Line &color:"), mainWidget); - m_lineCBtn = new KColorButton(mainWidget); -Index: kivio/kiviopart/ui/kiviostencilformatdlg.h -=================================================================== ---- kivio/kiviopart/ui/kiviostencilformatdlg.h (revision 427945) -+++ kivio/kiviopart/ui/kiviostencilformatdlg.h (working copy) -@@ -24,7 +24,7 @@ - - #include <koUnit.h> - --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KColorButton; - class KComboBox; - class KivioView; -@@ -61,7 +61,7 @@ - void initLineEndStyles(); - - protected: -- KoUnitDoubleSpinBox* m_lineWidthUSBox; -+ KoBuggyUnitDoubleSpinBox* m_lineWidthUSBox; - KColorButton* m_lineCBtn; - KColorButton* m_fillCBtn; - KComboBox* m_patternCBox; -Index: kivio/kiviopart/ui/kiviooptionsdialog.cpp -=================================================================== ---- kivio/kiviopart/ui/kiviooptionsdialog.cpp (revision 427945) -+++ kivio/kiviopart/ui/kiviooptionsdialog.cpp (working copy) -@@ -178,20 +178,20 @@ - gridColorLbl->setBuddy(m_gridColorBtn); - QGroupBox* spacingGrp = new QGroupBox(2, Qt::Horizontal, i18n("Spacing"), page); - QLabel* spaceHorizLbl = new QLabel(i18n("&Horizontal:"), spacingGrp); -- m_spaceHorizUSpin = new KoUnitDoubleSpinBox(spacingGrp, 0.0, pgw, 0.1, -+ m_spaceHorizUSpin = new KoBuggyUnitDoubleSpinBox(spacingGrp, 0.0, pgw, 0.1, - fw, unit); - spaceHorizLbl->setBuddy(m_spaceHorizUSpin); - QLabel* spaceVertLbl = new QLabel(i18n("&Vertical:"), spacingGrp); -- m_spaceVertUSpin = new KoUnitDoubleSpinBox(spacingGrp, 0.0, pgh, 0.1, -+ m_spaceVertUSpin = new KoBuggyUnitDoubleSpinBox(spacingGrp, 0.0, pgh, 0.1, - fh, unit); - spaceVertLbl->setBuddy(m_spaceVertUSpin); - QGroupBox* snapGrp = new QGroupBox(2, Qt::Horizontal, i18n("Snap Distance"), page); - QLabel* snapHorizLbl = new QLabel(i18n("H&orizontal:"), snapGrp); -- m_snapHorizUSpin = new KoUnitDoubleSpinBox(snapGrp, 0.0, fw, 0.1, -+ m_snapHorizUSpin = new KoBuggyUnitDoubleSpinBox(snapGrp, 0.0, fw, 0.1, - sw, unit); - snapHorizLbl->setBuddy(m_snapHorizUSpin); - QLabel* snapVertLbl = new QLabel(i18n("V&ertical:"), snapGrp); -- m_snapVertUSpin = new KoUnitDoubleSpinBox(snapGrp, 0.0, fh, 0.1, -+ m_snapVertUSpin = new KoBuggyUnitDoubleSpinBox(snapGrp, 0.0, fh, 0.1, - sh, unit); - snapVertLbl->setBuddy(m_snapVertUSpin); - -@@ -245,7 +245,7 @@ - orientBGrp->insert(m_orientVertRBtn); - QLabel* posLbl = new QLabel(i18n("&Position:"), m_propertiesGrp); - KoUnit::Unit unit = view->doc()->units(); -- m_posUSpin = new KoUnitDoubleSpinBox(m_propertiesGrp, 0.0, 0.0, 0.0, unit); -+ m_posUSpin = new KoBuggyUnitDoubleSpinBox(m_propertiesGrp, 0.0, 0.0, 0.0, unit); - posLbl->setBuddy(m_posUSpin); - - QGridLayout* pgl = new QGridLayout(m_propertiesGrp->layout()); -Index: kivio/kiviopart/ui/kivioarrowheadformatdlg.cpp -=================================================================== ---- kivio/kiviopart/ui/kivioarrowheadformatdlg.cpp (revision 427945) -+++ kivio/kiviopart/ui/kivioarrowheadformatdlg.cpp (working copy) -@@ -53,10 +53,10 @@ - loadArrowHeads(m_startAHTypeCBox, false); - startAHTypeLbl->setBuddy(m_startAHTypeCBox); - QLabel* startAHWidthLbl = new QLabel(i18n("&Width:"), startGBox); -- m_startAHWidthUSBox = new KoUnitDoubleSpinBox(startGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); -+ m_startAHWidthUSBox = new KoBuggyUnitDoubleSpinBox(startGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); - startAHWidthLbl->setBuddy(m_startAHWidthUSBox); - QLabel* startAHHeightLbl = new QLabel(i18n("&Length:"), startGBox); -- m_startAHHeightUSBox = new KoUnitDoubleSpinBox(startGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); -+ m_startAHHeightUSBox = new KoBuggyUnitDoubleSpinBox(startGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); - startAHHeightLbl->setBuddy(m_startAHHeightUSBox); - - QGroupBox* endGBox = new QGroupBox(2, Qt::Horizontal, i18n("Arrowhead at End"), mainWidget); -@@ -65,10 +65,10 @@ - loadArrowHeads(m_endAHTypeCBox, true); - endAHTypeLbl->setBuddy(m_endAHTypeCBox); - QLabel* endAHWidthLbl = new QLabel(i18n("W&idth:"), endGBox); -- m_endAHWidthUSBox = new KoUnitDoubleSpinBox(endGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); -+ m_endAHWidthUSBox = new KoBuggyUnitDoubleSpinBox(endGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); - endAHWidthLbl->setBuddy(m_endAHWidthUSBox); - QLabel* endAHHeightLbl = new QLabel(i18n("L&ength:"), endGBox); -- m_endAHHeightUSBox = new KoUnitDoubleSpinBox(endGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); -+ m_endAHHeightUSBox = new KoBuggyUnitDoubleSpinBox(endGBox, 0.0, 1000.0, 0.1, 1.0, m_unit, 2); - endAHHeightLbl->setBuddy(m_endAHHeightUSBox); - - gl->addWidget(startGBox, 0, 0); -Index: kivio/kiviopart/ui/kiviooptionsdialog.h -=================================================================== ---- kivio/kiviopart/ui/kiviooptionsdialog.h (revision 427945) -+++ kivio/kiviopart/ui/kiviooptionsdialog.h (working copy) -@@ -32,7 +32,7 @@ - class QRadioButton; - class KColorButton; - class KURLRequester; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KivioGuideLineData; - class QGroupBox; - class QFont; -@@ -105,17 +105,17 @@ - KoPageLayout m_layout; - QLabel* m_fontTxtLbl; - QFont m_font; -- KoUnitDoubleSpinBox* m_spaceHorizUSpin; -- KoUnitDoubleSpinBox* m_spaceVertUSpin; -- KoUnitDoubleSpinBox* m_snapHorizUSpin; -- KoUnitDoubleSpinBox* m_snapVertUSpin; -+ KoBuggyUnitDoubleSpinBox* m_spaceHorizUSpin; -+ KoBuggyUnitDoubleSpinBox* m_spaceVertUSpin; -+ KoBuggyUnitDoubleSpinBox* m_snapHorizUSpin; -+ KoBuggyUnitDoubleSpinBox* m_snapVertUSpin; - QCheckBox* m_gridChBox; - QCheckBox* m_snapChBox; - KColorButton* m_gridColorBtn; - KListView* m_guideList; - QRadioButton* m_orientHorizRBtn; - QRadioButton* m_orientVertRBtn; -- KoUnitDoubleSpinBox* m_posUSpin; -+ KoBuggyUnitDoubleSpinBox* m_posUSpin; - QCheckBox* m_snapGuideChBox; - QCheckBox* m_guidesChBox; - KColorButton* m_guideColorBtn; -Index: kivio/kiviopart/ui/kivioarrowheadformatdlg.h -=================================================================== ---- kivio/kiviopart/ui/kivioarrowheadformatdlg.h (revision 427945) -+++ kivio/kiviopart/ui/kivioarrowheadformatdlg.h (working copy) -@@ -24,7 +24,7 @@ - - #include <koUnit.h> - --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KComboBox; - class KivioView; - -@@ -58,10 +58,10 @@ - void loadArrowHeads(KComboBox* combo, bool endArrow); - - protected: -- KoUnitDoubleSpinBox* m_startAHWidthUSBox; -- KoUnitDoubleSpinBox* m_startAHHeightUSBox; -- KoUnitDoubleSpinBox* m_endAHWidthUSBox; -- KoUnitDoubleSpinBox* m_endAHHeightUSBox; -+ KoBuggyUnitDoubleSpinBox* m_startAHWidthUSBox; -+ KoBuggyUnitDoubleSpinBox* m_startAHHeightUSBox; -+ KoBuggyUnitDoubleSpinBox* m_endAHWidthUSBox; -+ KoBuggyUnitDoubleSpinBox* m_endAHHeightUSBox; - KComboBox* m_startAHTypeCBox; - KComboBox* m_endAHTypeCBox; - KoUnit::Unit m_unit; -Index: kpresenter/kppieobject.h -=================================================================== ---- kpresenter/kppieobject.h (revision 427945) -+++ kpresenter/kppieobject.h (working copy) -@@ -1,5 +1,6 @@ - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -79,7 +80,6 @@ - { return lineEnd; } - - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual double load(const QDomElement &element); - virtual void flip(bool horizontal ); -@@ -89,6 +89,9 @@ - virtual KoPoint getRealOrig() const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void paint( QPainter *_painter, KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour ); - -Index: kpresenter/kpcubicbeziercurveobject.h -=================================================================== ---- kpresenter/kpcubicbeziercurveobject.h (revision 427945) -+++ kpresenter/kpcubicbeziercurveobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -42,10 +43,9 @@ - virtual QString getTypeString() const { return i18n("Cubic Bezier Curve"); } - - virtual QDomDocumentFragment save( QDomDocument& doc,double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual double load( const QDomElement &element ); -- virtual void loadOasis( const QDomElement &element, KoOasisContext & context,KPRLoadingInfo* info ); -+ virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo* info ); - - virtual void flip(bool horizontal ); - void closeObject(bool _close); -@@ -53,6 +53,9 @@ - - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void updatePoints( double _fx, double _fy ); - virtual KoPointArray getDrawingPoints() const; - -Index: kpresenter/kprectobject.h -=================================================================== ---- kpresenter/kprectobject.h (revision 427945) -+++ kpresenter/kprectobject.h (working copy) -@@ -53,9 +53,11 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext &context, KPRLoadingInfo *info); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void paint( QPainter *_painter,KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour ); - -Index: kpresenter/kpellipseobject.h -=================================================================== ---- kpresenter/kpellipseobject.h (revision 427945) -+++ kpresenter/kpellipseobject.h (working copy) -@@ -49,9 +49,11 @@ - { return i18n("Ellipse"); } - - virtual KoSize getRealSize() const; -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void paint( QPainter *_painter,KoZoomHandler *_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour = FALSE ); - -Index: kpresenter/kpfreehandobject.h -=================================================================== ---- kpresenter/kpfreehandobject.h (revision 427945) -+++ kpresenter/kpfreehandobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -43,8 +44,11 @@ - - virtual QDomDocumentFragment save( QDomDocument& doc,double offset ); - virtual double load( const QDomElement &element ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; -+ virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo* info ); - -+protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; - }; - - #endif -Index: kpresenter/kppointobject.cc -=================================================================== ---- kpresenter/kppointobject.cc (revision 427945) -+++ kpresenter/kppointobject.cc (working copy) -@@ -1,6 +1,6 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project -- Copyright (C) 2004 Thorsten Zachmann <zachmann@kde.org> -+ Copyright (C) 2004-2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -83,71 +83,24 @@ - return fragment; - } - --QString KPPointObject::saveOasisStrokeElement( KoGenStyles& mainStyles ) const -+const char * KPPointObject::getOasisElementName() const - { -- KoGenStyle styleobjectauto( KoGenStyle::STYLE_GRAPHICAUTO, "graphic" ); -- saveOasisMarkerElement( mainStyles, styleobjectauto ); -- saveOasisObjectProtectStyle( styleobjectauto ); -- KPShadowObject::saveOasisStrokeElement( mainStyles, styleobjectauto ); -- return mainStyles.lookup( styleobjectauto, "gr" ); -+ return "draw:custom-shape"; - } - -- --bool KPPointObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context ) const --{ -- QString listOfPoint; -- int maxX=0; -- int maxY=0; -- KoPointArray::ConstIterator it; -- for ( it = points.begin(); it != points.end(); ++it ) { -- int tmpX = 0; -- int tmpY = 0; -- tmpX = ( int ) ( KoUnit::toMM( ( *it ).x() )*100 ); -- tmpY = ( int ) ( KoUnit::toMM( ( *it ).y() )*100 ); -- if ( !listOfPoint.isEmpty() ) -- listOfPoint += QString( " %1,%2" ).arg( tmpX ).arg( tmpY ); -- else -- listOfPoint = QString( "%1,%2" ).arg( tmpX ).arg( tmpY ); -- maxX = QMAX( maxX, tmpX ); -- maxY = QMAX( maxY, tmpY ); -- } -- xmlWriter.addAttribute("draw:points", listOfPoint ); -- xmlWriter.addAttribute("svg:viewBox", QString( "0 0 %1 %2" ).arg( maxX ).arg( maxY ) ); -- return true; --} -- - void KPPointObject::loadOasisMarker( KoOasisContext & context ) - { - loadOasisMarkerElement( context, "marker-start", lineBegin ); - loadOasisMarkerElement( context, "marker-end", lineEnd ); - } - --void KPPointObject::loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ) -+void KPPointObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const - { -- //kdDebug()<<"void KPPointObject::loadOasis( const QDomElement &element )*************\n"; -- KPShadowObject::loadOasis( element, context, info ); -- //load point. -- QStringList ptList = QStringList::split(' ', element.attributeNS( KoXmlNS::draw, "points", QString::null)); -- QString pt_x, pt_y; -- double tmp_x, tmp_y; -- unsigned int index = 0; -- for (QStringList::Iterator it = ptList.begin(); it != ptList.end(); ++it) -- { -- tmp_x = (*it).section(',',0,0).toInt() / 100; -- tmp_y = (*it).section(',',1,1).toInt() / 100; -- -- pt_x.setNum(tmp_x); -- pt_x+="mm"; -- -- pt_y.setNum(tmp_y); -- pt_y+="mm"; -- -- points.putPoints( index, 1, KoUnit::parseValue(pt_x),KoUnit::parseValue(pt_y) ); -- ++index; -- } -- loadOasisMarker( context ); -+ KPShadowObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisMarkerElement( mainStyles, styleObjectAuto ); - } - -+ - double KPPointObject::load( const QDomElement &element ) - { - double offset = KPShadowObject::load( element ); -Index: kpresenter/kplineobject.h -=================================================================== ---- kpresenter/kplineobject.h (revision 427945) -+++ kpresenter/kplineobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -63,16 +64,18 @@ - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info); - -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; -- - virtual void flip(bool horizontal ); - - virtual KoSize getRealSize() const; - virtual KoPoint getRealOrig() const; - - protected: -- QString saveOasisStrokeElement( KoGenStyles& mainStyles ) const; -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ virtual void saveOasisPosObject( KoXmlWriter &xmlWriter, int indexObj ) const; - -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ - virtual void paint( QPainter *_painter, KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour = FALSE ); - LineType lineType; -Index: kpresenter/kppointobject.h -=================================================================== ---- kpresenter/kppointobject.h (revision 427945) -+++ kpresenter/kppointobject.h (working copy) -@@ -1,6 +1,6 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project -- Copyright (C) 2004 Thorsten Zachmann <zachmann@kde.org> -+ Copyright (C) 2004-2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -34,10 +34,8 @@ - virtual KoPoint getRealOrig() const; - - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context ) const; - - virtual double load( const QDomElement &element ); -- virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ); - - virtual void setLineBegin( LineEnd _lineBegin ) { lineBegin = _lineBegin; } - virtual void setLineEnd( LineEnd _lineEnd ) { lineEnd = _lineEnd; } -@@ -53,10 +51,13 @@ - - virtual void closeObject( bool close ); - virtual bool isClosed() const; -- virtual QString saveOasisStrokeElement( KoGenStyles& mainStyles ) const; - - protected: -+ virtual const char * getOasisElementName() const; -+ - void loadOasisMarker( KoOasisContext & context ); -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ - virtual void paint( QPainter *_painter,KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour = FALSE ); - virtual void updatePoints( double _fx, double _fy ); -Index: kpresenter/kpautoformobject.cc -=================================================================== ---- kpresenter/kpautoformobject.cc (revision 427945) -+++ kpresenter/kpautoformobject.cc (working copy) -@@ -76,12 +76,17 @@ - } - - --bool KPAutoformObject::saveOasis( KoXmlWriter & xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPAutoformObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- kdDebug()<<"bool KPAutoformObject::saveOasis( KoXmlWriter & xmlWriter ) not implemented\n"; -+ kdDebug()<<"bool KPAutoformObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) not implemented\n"; - return true; - } - -+const char * KPAutoformObject::getOasisElementName() const -+{ -+ return "draw:custom-shape"; -+} -+ - QDomDocumentFragment KPAutoformObject::save( QDomDocument& doc, double offset ) - { - QDomDocumentFragment fragment=KP2DObject::save(doc, offset); -Index: kpresenter/kpgroupobject.h -=================================================================== ---- kpresenter/kpgroupobject.h (revision 427945) -+++ kpresenter/kpgroupobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -70,7 +71,6 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load(const QDomElement &element, KPresenterDoc *doc); - virtual void loadOasisGroupObject( KPresenterDoc *doc, KPrPage * newpage, QDomNode &element, KoOasisContext & context, KPRLoadingInfo *info); -- virtual bool saveOasis(KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj) const; - - virtual void draw( QPainter *_painter, KoZoomHandler *_zoomhandler, - int pageNum, SelectionMode selectionMode, bool drawContour = FALSE ); -@@ -101,6 +101,9 @@ - virtual void decCmdRef(); - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - void updateSizes( double fx, double fy ); - void updateCoords( double dx, double dy ); - -Index: kpresenter/kppixmapobject.h -=================================================================== ---- kpresenter/kppixmapobject.h (revision 427945) -+++ kpresenter/kppixmapobject.h (working copy) -@@ -2,6 +2,7 @@ - - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -72,7 +73,6 @@ - { return i18n("Picture"); } - - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info); -@@ -113,11 +113,15 @@ - virtual void flip(bool horizontal ); - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - KPPixmapObject() {} - - QPixmap changePictureSettings( QPixmap _tmpPixmap ); -- virtual void saveOasisPictureElement( KoGenStyle &styleobjectauto ); -+ virtual void saveOasisPictureElement( KoGenStyle &styleobjectauto ) const; - void loadOasisPictureEffect(KoOasisContext & context ); -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; - - /** - * @internal -Index: kpresenter/kppartobject.h -=================================================================== ---- kpresenter/kppartobject.h (revision 427945) -+++ kpresenter/kppartobject.h (working copy) -@@ -49,14 +49,15 @@ - - KPresenterChild *getChild() const { return child; } - void enableDrawing( bool f ) { _enableDrawing = f; } -- virtual bool saveOasisPart( KoXmlWriter &xmlWriter, KoStore *store, KoSavingContext& context, int indexObj, int partIndexObj, KoXmlWriter* manifestWriter ) const; - virtual void loadOasis(const QDomElement &element, KoOasisContext &context, KPRLoadingInfo *info); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext &context, int indexObj ) const { return true;/* use saveOasisPart*/}; - - public slots: - void slot_changed( KoChild *_koChild ); - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - void updateChildGeometry(); - virtual void paint( QPainter *_painter,KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour = FALSE ); -Index: kpresenter/kpobject.cc -=================================================================== ---- kpresenter/kpobject.cc (revision 427945) -+++ kpresenter/kpobject.cc (working copy) -@@ -344,7 +344,7 @@ - xmlWriter.addAttributePt( "svg:width", ext.width() ); - xmlWriter.addAttributePt( "svg:height", ext.height() ); - -- if ( angle!=0.0 ) -+ if ( kAbs( angle ) > 1E-6 ) - { - double value = -1 * ( ( double )angle* M_PI )/180.0; - QString str=QString( "rotate (%1)" ).arg( value ); -@@ -362,6 +362,40 @@ - } - } - -+QString KPObject::getStyle( KPOasisSaveContext &sc ) const -+{ -+ kdDebug(33001) << "KPObject::getStyle" << endl; -+ KoGenStyle styleObjectAuto; -+ KoGenStyles &mainStyles( sc.context.mainStyles() ); -+ if ( sc.onMaster ) -+ { -+ styleObjectAuto = KoGenStyle( KPresenterDoc::STYLE_PRESENTATIONSTICKYOBJECT, "presentation" ); -+ } -+ else -+ { -+ styleObjectAuto = KoGenStyle( KoGenStyle::STYLE_GRAPHICAUTO, "graphic" ); -+ } -+ fillStyle( styleObjectAuto, mainStyles ); -+ if ( sc.onMaster ) -+ { -+ return mainStyles.lookup( styleObjectAuto, "pr" ); -+ } -+ return mainStyles.lookup( styleObjectAuto, "gr" ); -+} -+ -+void KPObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& /* mainStyles */ ) const -+{ -+ kdDebug(33001) << "KPObject::fillStyle" << endl; -+ saveOasisObjectProtectStyle( styleObjectAuto ); -+ saveOasisShadowElement( styleObjectAuto ); -+} -+ -+bool KPObject::saveOasisObjectAttributes( KPOasisSaveContext &/* sc */ ) const -+{ -+ kdDebug()<<"bool saveOasisObjectAttributes not implemented"; -+ return true; -+} -+ - bool KPObject::haveAnimation() const - { - //kdDebug()<<" effect :"<<effect<<" effect3 :"<<effect3<<" a_fileName :"<<a_fileName<<" d_fileName :"<<d_fileName<<" appearTimer :"<<appearTimer<<" disappearTimer :"<<disappearTimer<<endl; -@@ -849,6 +883,20 @@ - } - } - -+bool KPObject::saveOasisObject( KPOasisSaveContext &sc ) const -+{ -+ sc.xmlWriter.startElement( getOasisElementName() ); -+ sc.xmlWriter.addAttribute( "draw:style-name", getStyle( sc ) ); -+ saveOasisPosObject( sc.xmlWriter, sc.indexObj ); -+ if( !objectName.isEmpty()) -+ sc.xmlWriter.addAttribute( "draw:name", objectName ); -+ -+ saveOasisObjectAttributes( sc ); -+ -+ sc.xmlWriter.endElement(); -+ return true; -+} -+ - void KPObject::saveOasisShadowElement( KoGenStyle &styleobjectauto ) const - { - //FIXME default value -@@ -1628,6 +1676,99 @@ - // <draw:stroke-dash draw:name="Fine Dotted" draw:style="rect" draw:dots1="1" draw:distance="0.457cm"/> - } - -+bool KPShadowObject::saveOasisDrawPoints( const KoPointArray &points, KPOasisSaveContext &sc ) -+{ -+ QString listOfPoint; -+ int maxX=0; -+ int maxY=0; -+ KoPointArray::ConstIterator it( points.begin() ); -+ for ( ; it != points.end(); ++it ) -+ { -+ int tmpX = int( ( *it ).x() * 10000 ); -+ int tmpY = int( ( *it ).y() * 10000 ); -+ //if ( !listOfPoint.isEmpty() ) -+ listOfPoint += QString( " %1,%2" ).arg( tmpX ).arg( tmpY ); -+ //else -+ // listOfPoint = QString( "%1,%2" ).arg( tmpX ).arg( tmpY ); -+ maxX = QMAX( maxX, tmpX ); -+ maxY = QMAX( maxY, tmpY ); -+ } -+ sc.xmlWriter.addAttribute("draw:points", listOfPoint ); -+ sc.xmlWriter.addAttribute("svg:viewBox", QString( "0 0 %1 %2" ).arg( maxX ).arg( maxY ) ); -+ return true; -+} -+ -+bool KPShadowObject::loadOasisDrawPoints( KoPointArray &points, const QDomElement &element, -+ KoOasisContext & context, KPRLoadingInfo *info ) -+{ -+ QStringList ptList = QStringList::split(' ', element.attributeNS( KoXmlNS::draw, "points", QString::null)); -+ QStringList viewBox = QStringList::split( ' ', element.attributeNS( KoXmlNS::svg, "viewBox", QString::null ) ); -+ //for ( QStringList::Iterator it = viewBox.begin(); it != viewBox.end(); ++it ) -+ //{ -+ // kdDebug(33001) << "viewBox = " << *it << endl; -+ //} -+ -+ int left = 0; -+ int top = 0; -+ int right = 0; -+ int bottom = 0; -+ -+ if ( viewBox.size() == 4 ) -+ { -+ QStringList::Iterator it = viewBox.begin(); -+ left = ( *it++ ).toInt(); -+ top = ( *it++ ).toInt(); -+ right = ( *it++ ).toInt(); -+ bottom = ( *it ).toInt(); -+ //kdDebug(33001) << "left = " << left -+ // << "top = " << top -+ // << "right =" << right -+ // << "bottom =" << bottom << endl; -+ } -+ else -+ { -+ //if no viewBox is found -+ for (QStringList::Iterator it = ptList.begin(); it != ptList.end(); ++it) -+ { -+ right = QMAX( (*it).section( ',', 0, 0 ).toInt(), right ); -+ bottom = QMAX( (*it).section( ',', 1, 1 ).toInt(), bottom ); -+ } -+ } -+ -+ if ( right - left != 0 && bottom - top != 0 ) -+ { -+ double tmp_x, tmp_y; -+ unsigned int index = 0; -+ for (QStringList::Iterator it = ptList.begin(); it != ptList.end(); ++it) -+ { -+ tmp_x = double( (*it).section( ',', 0, 0 ).toInt() + left ) / ( right - left ) * ext.width(); -+ tmp_y = double( (*it).section( ',', 1, 1 ).toInt() + top ) / ( bottom - top ) * ext.height(); -+ -+ //kdDebug(33001) << "p" << index << " x: " << tmp_x << endl; -+ //kdDebug(33001) << "p" << index << " y: " << tmp_y << endl; -+ -+ points.putPoints( index, 1, tmp_x, tmp_y ); -+ ++index; -+ } -+ } -+ else -+ { -+ kdDebug(33001) << "problem in viewBox values are: " -+ << "left = " << left << ", " -+ << "top = " << top << ", " -+ << "right =" << right << ", " -+ << "bottom =" << bottom << endl; -+ } -+ return true; -+} -+ -+void KPShadowObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const -+{ -+ kdDebug(33001) << "KPShadowObject::fillStyle" << endl; -+ KPObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisStrokeElement( mainStyles, styleObjectAuto ); -+} -+ - void KPShadowObject::loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info) - { - //kdDebug()<<"void KPShadowObject::loadOasis(const QDomElement &element)**********************\n"; -@@ -1822,14 +1963,15 @@ - return fragment; - } - --QString KP2DObject::saveOasisBackgroundStyle( KoXmlWriter &xmlWriter, KoGenStyles& mainStyles, int indexObj ) const -+void KP2DObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const - { -- saveOasisPosObject( xmlWriter,indexObj ); -- KoGenStyle styleobjectauto; -- if ( sticky ) -- styleobjectauto = KoGenStyle( KPresenterDoc::STYLE_PRESENTATIONSTICKYOBJECT, "presentation" ); -- else -- styleobjectauto = KoGenStyle( KoGenStyle::STYLE_GRAPHICAUTO, "graphic" ); -+ kdDebug(33001) << "KP2DObject::fillStyle" << endl; -+ KPShadowObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisBackgroundElement( styleObjectAuto, mainStyles ); -+} -+ -+void KP2DObject::saveOasisBackgroundElement( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const -+{ - switch ( getFillType() ) - { - case FT_BRUSH: -@@ -1838,34 +1980,22 @@ - //todo FIXME when text object doesn't have a background - if( brush != QBrush() ) - { -- KoOasisStyles::saveOasisFillStyle( styleobjectauto, mainStyles, brush ); -+ KoOasisStyles::saveOasisFillStyle( styleObjectAuto, mainStyles, brush ); - } - else - { -- styleobjectauto.addProperty( "draw:fill","none" ); -+ styleObjectAuto.addProperty( "draw:fill","none" ); - } - break; - } - case FT_GRADIENT: -- styleobjectauto.addProperty( "draw:fill","gradient" ); -- styleobjectauto.addProperty( "draw:fill-gradient-name", saveOasisGradientStyle( mainStyles ) ); -+ styleObjectAuto.addProperty( "draw:fill","gradient" ); -+ styleObjectAuto.addProperty( "draw:fill-gradient-name", saveOasisGradientStyle( mainStyles ) ); - break; - } -- saveOasisObjectProtectStyle( styleobjectauto ); -- -- saveOasisStrokeElement( mainStyles, styleobjectauto ); -- saveOasisMarginElement( styleobjectauto ); -- saveOasisShadowElement( styleobjectauto ); -- saveOasisPictureElement( styleobjectauto ); -- -- if ( sticky ) -- return mainStyles.lookup( styleobjectauto, "pr" ); -- else -- return mainStyles.lookup( styleobjectauto, "gr" ); - } - - -- - QString KP2DObject::saveOasisGradientStyle( KoGenStyles& mainStyles ) const - { - KoGenStyle gradientStyle( KPresenterDoc::STYLE_GRADIENT /*no family name*/); -@@ -2170,6 +2300,56 @@ - return offset; - } - -+void KP2DObject::draw( QPainter *_painter, KoZoomHandler*_zoomHandler, -+ int pageNum, SelectionMode selectionMode, bool drawContour ) -+{ -+ double ox = orig.x(); -+ double oy = orig.y(); -+ _painter->save(); -+ -+ // Draw the shadow if any -+ if ( shadowDistance > 0 && !drawContour ) -+ { -+ _painter->save(); -+ QPen tmpPen( pen ); -+ pen.setColor( shadowColor ); -+ QBrush tmpBrush( m_brush.getBrush() ); -+ QBrush shadowBrush( tmpBrush ); -+ shadowBrush.setColor( shadowColor ); -+ m_brush.setBrush( shadowBrush ); -+ -+ if ( angle == 0 ) -+ { -+ double sx = ox; -+ double sy = oy; -+ getShadowCoords( sx, sy ); -+ -+ _painter->translate( _zoomHandler->zoomItX( sx ), _zoomHandler->zoomItY( sy ) ); -+ paint( _painter, _zoomHandler, pageNum, true, drawContour ); -+ } -+ else -+ { -+ _painter->translate( _zoomHandler->zoomItX(ox), _zoomHandler->zoomItY(oy) ); -+ rotateObjectWithShadow(_painter, _zoomHandler); -+ paint( _painter, _zoomHandler, pageNum, true, drawContour ); -+ } -+ -+ pen = tmpPen; -+ m_brush.setBrush( tmpBrush ); -+ _painter->restore(); -+ } -+ -+ _painter->translate( _zoomHandler->zoomItX(ox), _zoomHandler->zoomItY(oy) ); -+ -+ if ( angle != 0 ) -+ rotateObject(_painter,_zoomHandler); -+ paint( _painter, _zoomHandler, pageNum, false, drawContour ); -+ -+ _painter->restore(); -+ -+ KPObject::draw( _painter, _zoomHandler, pageNum, selectionMode, drawContour ); -+} -+ - void KP2DObject::flip( bool horizontal ) { - KPObject::flip( horizontal ); - -Index: kpresenter/kppolygonobject.cc -=================================================================== ---- kpresenter/kppolygonobject.cc (revision 427945) -+++ kpresenter/kppolygonobject.cc (working copy) -@@ -68,38 +68,24 @@ - return dcop; - } - --bool KPPolygonObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPPolygonObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- //FIXME me wait that it will define into oo spec -- xmlWriter.startElement( "draw:regular-polygon" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(), indexObj ) ); -- -- QString listOfPoint; -- int maxX=0; -- int maxY=0; -- KoPointArray::ConstIterator it; -- for ( it = points.begin(); it != points.end(); ++it ) { -- int tmpX = 0; -- int tmpY = 0; -- tmpX = ( int ) ( KoUnit::toMM( ( *it ).x() )*100 ); -- tmpY = ( int ) ( KoUnit::toMM( ( *it ).y() )*100 ); -- if ( !listOfPoint.isEmpty() ) -- listOfPoint += QString( " %1,%2" ).arg( tmpX ).arg( tmpY ); -- else -- listOfPoint = QString( "%1,%2" ).arg( tmpX ).arg( tmpY ); -- maxX = QMAX( maxX, tmpX ); -- maxY = QMAX( maxY, tmpY ); -+ sc.xmlWriter.addAttribute( "draw:corners", cornersValue ); -+ sc.xmlWriter.addAttribute( "draw:concave", checkConcavePolygon ? "true" : "false" ); -+ if ( checkConcavePolygon ) -+ { -+ sc.xmlWriter.addAttribute( "draw:sharpness", QString( "%1%").arg( sharpnessValue ) ); - } -- xmlWriter.addAttribute("draw:points", listOfPoint ); -- xmlWriter.addAttribute("svg:viewBox", QString( "0 0 %1 %2" ).arg( maxX ).arg( maxY ) ); - -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); - return true; - } - -+const char * KPPolygonObject::getOasisElementName() const -+{ -+ return "draw:regular-polygon"; -+} - -+ - QDomDocumentFragment KPPolygonObject::save( QDomDocument& doc, double offset ) - { - QDomDocumentFragment fragment = KP2DObject::save( doc, offset ); -@@ -133,26 +119,14 @@ - { - kdDebug()<<"void KPPolygonObject::loadOasis( const QDomElement &element )***********\n"; - KP2DObject::loadOasis( element,context, info ); -- //load point. -- QStringList ptList = QStringList::split(' ', element.attributeNS( KoXmlNS::draw, "points", QString::null)); -- -- QString pt_x, pt_y; -- double tmp_x, tmp_y; -- unsigned int index = 0; -- for (QStringList::Iterator it = ptList.begin(); it != ptList.end(); ++it) -+ cornersValue = element.attributeNS( KoXmlNS::draw, "corners", QString::null ).toInt(); -+ checkConcavePolygon = element.attributeNS( KoXmlNS::draw, "concave", QString::null ) == "true"; -+ sharpnessValue = 0; -+ if ( checkConcavePolygon ) - { -- tmp_x = (*it).section(',',0,0).toInt() / 100; -- tmp_y = (*it).section(',',1,1).toInt() / 100; -- -- pt_x.setNum(tmp_x); -- pt_x+="mm"; -- -- pt_y.setNum(tmp_y); -- pt_y+="mm"; -- -- points.putPoints( index, 1, KoUnit::parseValue(pt_x),KoUnit::parseValue(pt_y) ); -- ++index; -+ sharpnessValue = element.attributeNS( KoXmlNS::draw, "sharpness", QString::null ).remove( '%').toInt(); - } -+ drawPolygon(); - } - - double KPPolygonObject::load( const QDomElement &element ) -@@ -280,7 +254,8 @@ - - void KPPolygonObject::drawPolygon() - { -- KoRect _rect = points.boundingRect(); -+ kdDebug()<<"void KPPolygonObject::drawPolygon()***********\n"; -+ KoRect _rect( 0, 0, ext.width(), ext.height() ); - double angle = 2 * M_PI / cornersValue; - double diameter = static_cast<double>( QMAX( _rect.width(), _rect.height() ) ); - double radius = diameter * 0.5; -Index: kpresenter/kpcubicbeziercurveobject.cc -=================================================================== ---- kpresenter/kpcubicbeziercurveobject.cc (revision 427945) -+++ kpresenter/kpcubicbeziercurveobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -60,16 +61,17 @@ - return dcop; - } - --bool KPCubicBezierCurveObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPCubicBezierCurveObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- kdDebug()<<"bool KPCubicBezierCurveObject::saveOasis( KoXmlWriter &xmlWriter ) not implemented\n"; -- //saveOasisShadowElement( styleobjectauto ); -- //KPPointObject::saveOasisStrokeElement( KoGenStyles& mainStyles ); --// -- //call saveOasisStrokeElement( KoGenStyle &styleobjectauto ); -+ kdDebug()<<"bool KPCubicBezierCurveObject::saveOasis( KoXmlWriter & xmlWriter ) not implemented\n"; - return true; - } - -+const char * KPCubicBezierCurveObject::getOasisElementName() const -+{ -+ return "draw:custom-shape"; -+} -+ - void KPCubicBezierCurveObject::loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo* info ) - { - //todo -Index: kpresenter/kpquadricbeziercurveobject.h -=================================================================== ---- kpresenter/kpquadricbeziercurveobject.h (revision 427945) -+++ kpresenter/kpquadricbeziercurveobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -43,7 +44,6 @@ - virtual QString getTypeString() const { return i18n("Quadric Bezier Curve"); } - - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ); - - virtual double load( const QDomElement &element ); -@@ -53,6 +53,9 @@ - bool isClosed()const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void updatePoints( double _fx, double _fy ); - virtual KoPointArray getDrawingPoints() const; - -Index: kpresenter/autoforms/Arrows/ArrowLeftUp.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowLeftUp.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowLeftUp.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowLeftUp.atf - Name=Arrow Left/Up -+Name[cy]=Saeth i'r Chwith/i Fyny - Name[da]=Pil til venstre/op - Name[de]=Pfeil nach links/oben - Name[el]=Αριστερό/πάνω βέλος -Index: kpresenter/autoforms/Arrows/ArrowRightDown.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowRightDown.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowRightDown.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowRightDown.atf - Name=Arrow Right/Down -+Name[cy]=Saeth i'r Dde/i Lawr - Name[da]=Pil til højre/ned - Name[de]=Pfeil nach rechts/unten - Name[el]=Δεξί/κάτω βέλος -Index: kpresenter/autoforms/Arrows/ArrowDown.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowDown.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowDown.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowDown.atf - Name=Arrow Down -+Name[cy]=Saeth i Lawr - Name[da]=Pil ned - Name[de]=Pfeil nach unten - Name[el]=Κάτω βέλος -Index: kpresenter/autoforms/Arrows/ArrowRight.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowRight.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowRight.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowRight.atf - Name=Arrow Right -+Name[cy]=Saeth i'r Dde - Name[da]=Pil til højre - Name[de]=Pfeil nach rechts - Name[el]=Δεξί βέλος -Index: kpresenter/autoforms/Arrows/ArrowLeftDown.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowLeftDown.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowLeftDown.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowLeftDown.atf - Name=Arrow Left/Down -+Name[cy]=Saeth i'r Chwith/i Lawr - Name[da]=Pil til venstre/ned - Name[de]=Pfeil nach links/unten - Name[el]=Αριστερό/κάτω βέλος -Index: kpresenter/autoforms/Arrows/ArrowRightUp.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowRightUp.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowRightUp.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowRightUp.atf - Name=Arrow Right/Up -+Name[cy]=Saeth i'r Chwith/i Fyny - Name[da]=Pil til højre/op - Name[de]=Pfeil nach rechts/oben - Name[el]=Δεξί/πάνω βέλος -Index: kpresenter/autoforms/Arrows/ArrowUp.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowUp.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowUp.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowUp.atf - Name=Arrow Up -+Name[cy]=Saeth i Fyny - Name[da]=Pil op - Name[de]=Pfeil nach oben - Name[el]=Πάνω βέλος -Index: kpresenter/autoforms/Arrows/ArrowLeft.desktop -=================================================================== ---- kpresenter/autoforms/Arrows/ArrowLeft.desktop (revision 427945) -+++ kpresenter/autoforms/Arrows/ArrowLeft.desktop (working copy) -@@ -3,6 +3,7 @@ - Type=Link - URL=.source/ArrowLeft.atf - Name=Arrow Left -+Name[cy]=Saeth i'r Chwith - Name[da]=Pil til venstre - Name[de]=Pfeil nach links - Name[el]=Αριστερό βέλος -Index: kpresenter/kpfreehandobject.cc -=================================================================== ---- kpresenter/kpfreehandobject.cc (revision 427945) -+++ kpresenter/kpfreehandobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -54,21 +55,26 @@ - return dcop; - } - --bool KPFreehandObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPFreehandObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- kdDebug()<<"bool KPFreehandObject::saveOasis( KoXmlWriter &xmlWriter ) not implemented\n"; -- xmlWriter.startElement( "draw:path" ); -- //FIXME !!!!!!!!!!!!!!!!!!!!! --//xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, mainStyles ) ); --//call saveOasisStrokeElement( KoGenStyle &styleobjectauto ); -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- //save path I don't know how to do. -- //add "svg:viewBox" add "svg:d" -- xmlWriter.endElement(); -+ kdDebug()<<"bool KPFreehandObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) not implemented\n"; - return true; - } - -+const char * KPFreehandObject::getOasisElementName() const -+{ -+ return "draw:path"; -+} -+ -+void KPFreehandObject::loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo* info ) -+{ -+ //todo -+ //we use draw:path -+ -+ //load marker -+ loadOasisMarker( context ); -+} -+ - QDomDocumentFragment KPFreehandObject::save( QDomDocument& doc,double offset ) - { - return KPPointObject::save( doc, offset ); -Index: kpresenter/kppieobject.cc -=================================================================== ---- kpresenter/kppieobject.cc (revision 427945) -+++ kpresenter/kppieobject.cc (working copy) -@@ -1,5 +1,6 @@ - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -86,40 +87,38 @@ - return fragment; - } - --bool KPPieObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPPieObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( ( ext.width() == ext.height() ) ? "draw:circle" : "draw:ellipse" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(),indexObj ) ); -- -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); - switch( pieType ) - { -- case PT_PIE: -- xmlWriter.addAttribute( "draw:kind", "section" ); -- break; -- case PT_CHORD: -- xmlWriter.addAttribute( "draw:kind", "cut" ); -- break; -- case PT_ARC: -- xmlWriter.addAttribute( "draw:kind", "arc" ); -- break; -- default: -- kdDebug()<<" type of pie not supported\n"; -+ case PT_PIE: -+ sc.xmlWriter.addAttribute( "draw:kind", "section" ); -+ break; -+ case PT_CHORD: -+ sc.xmlWriter.addAttribute( "draw:kind", "cut" ); -+ break; -+ case PT_ARC: -+ sc.xmlWriter.addAttribute( "draw:kind", "arc" ); -+ break; -+ default: -+ kdDebug() << " type of pie not supported" << endl; - } -- int startangle = 45; -- if ( p_angle != 0.0 ) -- startangle = ( ( int )p_angle )/16; -- xmlWriter.addAttribute( "draw:start-angle", startangle ); -- int endangle = endangle = ( ( int ) p_len/16 )+startangle; -- xmlWriter.addAttribute( "draw:end-angle", endangle ); - -- //we don't have a simple object -- xmlWriter.endElement(); -+ int startangle = ( (int)p_angle / 16 ); -+ sc.xmlWriter.addAttribute( "draw:start-angle", startangle ); -+ -+ int endangle = ( (int) p_len / 16 ) + startangle; -+ sc.xmlWriter.addAttribute( "draw:end-angle", endangle ); -+ - return true; - } - -+const char * KPPieObject::getOasisElementName() const -+{ -+ return ext.width() == ext.height() ? "draw:circle" : "draw:ellipse"; -+} - -+ - void KPPieObject::loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info) - { - kdDebug()<<"void KPPieObject::loadOasis(const QDomElement &element) ***************\n"; -Index: kpresenter/kpobject.h -=================================================================== ---- kpresenter/kpobject.h (revision 427945) -+++ kpresenter/kpobject.h (working copy) -@@ -136,9 +136,25 @@ - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info); - -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext &context, int indexObj ) const =0; -+ struct KPOasisSaveContext -+ { -+ KPOasisSaveContext( KoXmlWriter &_xmlWriter, KoSavingContext &_context, -+ int &_indexObj, int &_partIndexObj, bool _onMaster ) -+ : xmlWriter( _xmlWriter ) -+ , context( _context ) -+ , indexObj( _indexObj ) -+ , partIndexObj( _partIndexObj ) -+ , onMaster( _onMaster ) {}; -+ -+ KoXmlWriter &xmlWriter; -+ KoSavingContext &context; -+ int &indexObj; -+ int &partIndexObj; -+ bool onMaster; -+ }; - -- void saveOasisPosObject( KoXmlWriter &xmlWriter, int indexObj ) const; -+ virtual bool saveOasisObject( KPOasisSaveContext &sc ) const; -+ - //return true if we have a animation into object - bool saveOasisObjectStyleShowAnimation( KoXmlWriter &animation, int objectId ); - bool saveOasisObjectStyleHideAnimation( KoXmlWriter &animation, int objectId ); -@@ -297,8 +313,17 @@ - - void saveOasisObjectProtectStyle( KoGenStyle &styleobjectauto ) const; - void saveOasisShadowElement( KoGenStyle &styleobjectauto ) const; -- virtual void saveOasisPictureElement( KoGenStyle& /*styleobjectauto*/ ) const {}; - -+ QString getStyle( KPOasisSaveContext &sc ) const; -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ /** -+ * Get the element name for saving the object -+ */ -+ virtual const char * getOasisElementName() const = 0; -+ //virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const = 0; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ virtual void saveOasisPosObject( KoXmlWriter &xmlWriter, int indexObj ) const; -+ - float angle; - KoPoint orig; - KoSize ext; -@@ -378,6 +403,19 @@ - - protected: - /** -+ * Helper method for saving draw:points. The svg:viewBox is also saved. -+ */ -+ static bool saveOasisDrawPoints( const KoPointArray &points, KPOasisSaveContext &sc ); -+ -+ /** -+ * Helper method for loading draw:points. The svg:viewBox is taken into account. -+ */ -+ bool loadOasisDrawPoints( KoPointArray &points, const QDomElement &element, -+ KoOasisContext & context, KPRLoadingInfo *info ); -+ -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ -+ /** - * @ref save() only saves if the pen is different from the default pen. - * The default pen can vary depending on the subclass of KPShadowObject - * (e.g. it's a black solidline for lines and rects, but it's NoPen -@@ -445,14 +483,16 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info); -+ virtual void draw( QPainter *_painter, KoZoomHandler*_zoomHandler, -+ int pageNum, SelectionMode selectionMode, bool drawContour = FALSE ); - - virtual void flip(bool horizontal ); - - protected: - QString saveOasisGradientStyle( KoGenStyles& mainStyles ) const; -- QString saveOasisBackgroundStyle( KoXmlWriter &xmlWriter, KoGenStyles& mainStyles, int indexObj ) const; - -- virtual void saveOasisMarginElement( KoGenStyle& /*styleobjectauto*/ ) const { /* nothing just used into kptextobject*/}; -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ void saveOasisBackgroundElement( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; - - KPrBrush m_brush; - KPGradient *gradient; -Index: kpresenter/kptextobject.h -=================================================================== ---- kpresenter/kptextobject.h (revision 427945) -+++ kpresenter/kptextobject.h (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -81,7 +82,6 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load(const QDomElement &element); - virtual void loadOasis(const QDomElement &element, KoOasisContext& context, KPRLoadingInfo *info); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - virtual void saveOasisMarginElement( KoGenStyle &styleobjectauto ) const; - - virtual void paint( QPainter *_painter, KoZoomHandler*_zoomHandler, -@@ -180,9 +180,14 @@ - void slotAfterFormatting( int, KoTextParag*, bool* ); - void slotParagraphDeleted(KoTextParag*_parag); - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual QDomElement saveKTextObject( QDomDocument& doc ); - QDomElement saveHelper(const QString &tmpText,KoTextFormat*lastFormat ,QDomDocument &doc); - -+ virtual void fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const; -+ - virtual void loadKTextObject( const QDomElement &e ); - void drawText( QPainter* _painter, KoZoomHandler* zoomHandler, bool onlyChanged, KoTextCursor* cursor, bool resetChanged ); - void drawParags( QPainter *p, KoZoomHandler* zoomHandler, const QColorGroup& cg, int from, int to ); -Index: kpresenter/kppolygonobject.h -=================================================================== ---- kpresenter/kppolygonobject.h (revision 427945) -+++ kpresenter/kppolygonobject.h (working copy) -@@ -59,7 +59,6 @@ - int getSharpnessValue() const { return sharpnessValue; } - - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual double load( const QDomElement &element ); - virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ); -@@ -69,6 +68,9 @@ - virtual KoPoint getRealOrig() const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void paint( QPainter *_painter,KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour ); - -Index: kpresenter/kpgroupobject.cc -=================================================================== ---- kpresenter/kpgroupobject.cc (revision 427945) -+++ kpresenter/kpgroupobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -132,24 +133,23 @@ - } - - --bool KPGroupObject::saveOasis(KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj) const -+bool KPGroupObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:g" ); -- - QPtrListIterator<KPObject> it( objects ); - for ( ; it.current() ; ++it ) - { --#if 0 -- if ( it.current()->getType() == OT_PART ) -- continue; --#endif -- it.current()->saveOasis( xmlWriter, context, indexObj ); -+ //TODO what to do with parts? -+ it.current()->saveOasisObject( sc ); - } -- xmlWriter.endElement(); - return true; - } - -+const char * KPGroupObject::getOasisElementName() const -+{ -+ return "draw:g"; -+} - -+ - void KPGroupObject::loadOasisGroupObject( KPresenterDoc *_doc, KPrPage * newpage, QDomNode &element, KoOasisContext & context, KPRLoadingInfo *info) - { - //KPObject::loadOasis( element, context, info ); -Index: kpresenter/kprectobject.cc -=================================================================== ---- kpresenter/kprectobject.cc (revision 427945) -+++ kpresenter/kprectobject.cc (working copy) -@@ -76,18 +76,19 @@ - return fragment; - } - --bool KPRectObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPRectObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:rect" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(), indexObj ) ); -- -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); -+ // TODO corner-radius - return true; - } - - -+const char * KPRectObject::getOasisElementName() const -+{ -+ return "draw:rect"; -+} -+ -+ - void KPRectObject::loadOasis(const QDomElement &element, KoOasisContext&context, KPRLoadingInfo *info) - { - KP2DObject::loadOasis(element, context, info); -Index: kpresenter/kpellipseobject.cc -=================================================================== ---- kpresenter/kpellipseobject.cc (revision 427945) -+++ kpresenter/kpellipseobject.cc (working copy) -@@ -116,14 +116,14 @@ - return size; - } - --bool KPEllipseObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPEllipseObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( ( ext.width() == ext.height() ) ? "draw:circle" : "draw:ellipse" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(), indexObj ) ); -- -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); -+ // nothing to do - return true; - } - -+const char * KPEllipseObject::getOasisElementName() const -+{ -+ return ext.width() == ext.height() ? "draw:circle" : "draw:ellipse"; -+} -+ -Index: kpresenter/kppolylineobject.h -=================================================================== ---- kpresenter/kppolylineobject.h (revision 427945) -+++ kpresenter/kppolylineobject.h (working copy) -@@ -47,8 +47,10 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load( const QDomElement &element ); - virtual void loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - -+protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; - }; - - #endif -Index: kpresenter/kpclosedlineobject.cc -=================================================================== ---- kpresenter/kpclosedlineobject.cc (revision 427945) -+++ kpresenter/kpclosedlineobject.cc (working copy) -@@ -90,36 +90,18 @@ - return fragment; - } - --bool KPClosedLineObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPClosedLineObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:polygon" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(), indexObj ) ); -- -- QString listOfPoint; -- int maxX=0; -- int maxY=0; -- KoPointArray::ConstIterator it; -- for ( it = points.begin(); it != points.end(); ++it ) { -- int tmpX = 0; -- int tmpY = 0; -- tmpX = ( int ) ( KoUnit::toMM( ( *it ).x() )*100 ); -- tmpY = ( int ) ( KoUnit::toMM( ( *it ).y() )*100 ); -- if ( !listOfPoint.isEmpty() ) -- listOfPoint += QString( " %1,%2" ).arg( tmpX ).arg( tmpY ); -- else -- listOfPoint = QString( "%1,%2" ).arg( tmpX ).arg( tmpY ); -- maxX = QMAX( maxX, tmpX ); -- maxY = QMAX( maxY, tmpY ); -- } -- xmlWriter.addAttribute("draw:points", listOfPoint ); -- xmlWriter.addAttribute("svg:viewBox", QString( "0 0 %1 %2" ).arg( maxX ).arg( maxY ) ); -- -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); -+ KPShadowObject::saveOasisDrawPoints( points, sc ); - return true; - } - -+const char * KPClosedLineObject::getOasisElementName() const -+{ -+ return "draw:polygon"; -+} -+ -+ - double KPClosedLineObject::load( const QDomElement &element ) - { - double offset = KP2DObject::load( element ); -@@ -269,26 +251,7 @@ - { - kdDebug()<<"void KPClosedLineObject::loadOasis( const QDomElement &element )***********\n"; - KP2DObject::loadOasis( element,context, info ); -- //load point. -- QStringList ptList = QStringList::split(' ', element.attributeNS( KoXmlNS::draw, "points", QString::null)); -- -- QString pt_x, pt_y; -- double tmp_x, tmp_y; -- unsigned int index = 0; -- for (QStringList::Iterator it = ptList.begin(); it != ptList.end(); ++it) -- { -- tmp_x = (*it).section(',',0,0).toInt() / 100; -- tmp_y = (*it).section(',',1,1).toInt() / 100; -- -- pt_x.setNum(tmp_x); -- pt_x+="mm"; -- -- pt_y.setNum(tmp_y); -- pt_y+="mm"; -- -- points.putPoints( index, 1, KoUnit::parseValue(pt_x),KoUnit::parseValue(pt_y) ); -- ++index; -- } -+ KPShadowObject::loadOasisDrawPoints( points, element, context, info ); - } - - KoSize KPClosedLineObject::getRealSize() const { -Index: kpresenter/kpclosedlineobject.h -=================================================================== ---- kpresenter/kpclosedlineobject.h (revision 427945) -+++ kpresenter/kpclosedlineobject.h (working copy) -@@ -53,13 +53,14 @@ - virtual QDomDocumentFragment save( QDomDocument& doc, double offset ); - virtual double load( const QDomElement &element ); - virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ); -- virtual bool saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual void flip(bool horizontal ); - virtual KoSize getRealSize() const; - virtual KoPoint getRealOrig() const; - - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; - virtual void paint( QPainter *_painter,KoZoomHandler*_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour ); - -Index: kpresenter/kpresenter_doc.cc -=================================================================== ---- kpresenter/kpresenter_doc.cc (revision 427945) -+++ kpresenter/kpresenter_doc.cc (working copy) -@@ -1770,33 +1770,35 @@ - else - newpage->appendObject(kppixmapobject); - } -- -- QDomNode object = KoDom::namedItemNS( o, KoXmlNS::draw, "object" ); -- kdDebug()<<" object:"<<object.isNull()<<endl; -- if ( !object.isNull() ) -- { -- fillStyleStack( o, context ); -- KPresenterChild *ch = new KPresenterChild( this ); -- QRect r; -- KPPartObject *kppartobject = new KPPartObject( ch ); -- kppartobject->loadOasis( o, context, m_loadingInfo ); -- r = ch->geometry(); -- if ( groupObject ) -- groupObject->addObjects( kppartobject ); -- else -- newpage->appendObject(kppartobject); -- insertChild( ch ); -- kppartobject->setOrig( r.x(), r.y() ); -- kppartobject->setSize( r.width(), r.height() ); -- } - else - { -- KPTextObject *kptextobject = new KPTextObject( this ); -- kptextobject->loadOasis(o, context, m_loadingInfo); -- if ( groupObject ) -- groupObject->addObjects( kptextobject ); -+ QDomNode object = KoDom::namedItemNS( o, KoXmlNS::draw, "object" ); -+ kdDebug()<<" object:"<<object.isNull()<<endl; -+ if ( !object.isNull() ) -+ { -+ fillStyleStack( o, context ); -+ KPresenterChild *ch = new KPresenterChild( this ); -+ QRect r; -+ KPPartObject *kppartobject = new KPPartObject( ch ); -+ kppartobject->loadOasis( o, context, m_loadingInfo ); -+ r = ch->geometry(); -+ if ( groupObject ) -+ groupObject->addObjects( kppartobject ); -+ else -+ newpage->appendObject(kppartobject); -+ insertChild( ch ); -+ kppartobject->setOrig( r.x(), r.y() ); -+ kppartobject->setSize( r.width(), r.height() ); -+ } - else -- newpage->appendObject(kptextobject); -+ { -+ KPTextObject *kptextobject = new KPTextObject( this ); -+ kptextobject->loadOasis(o, context, m_loadingInfo); -+ if ( groupObject ) -+ groupObject->addObjects( kptextobject ); -+ else -+ newpage->appendObject(kptextobject); -+ } - } - } - else if ( name == "rect" && isDrawNS) // rectangle -@@ -1836,7 +1838,10 @@ - fillStyleStack( o, context ); - KPLineObject *kplineobject = new KPLineObject(); - kplineobject->loadOasis(o, context, m_loadingInfo); -- newpage->appendObject(kplineobject); -+ if ( groupObject ) -+ groupObject->addObjects( kplineobject ); -+ else -+ newpage->appendObject( kplineobject ); - } - else if (name=="polyline" && isDrawNS) { // polyline - fillStyleStack( o, context ); -Index: kpresenter/kppixmapobject.cc -=================================================================== ---- kpresenter/kppixmapobject.cc (revision 427945) -+++ kpresenter/kppixmapobject.cc (working copy) -@@ -2,6 +2,7 @@ - - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -101,7 +102,7 @@ - return QString::number( val )+"%"; - } - --void KPPixmapObject::saveOasisPictureElement( KoGenStyle &styleobjectauto ) -+void KPPixmapObject::saveOasisPictureElement( KoGenStyle &styleobjectauto ) const - { - - if ( bright != 0 ) -@@ -201,26 +202,24 @@ - } - } - -- --bool KPPixmapObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPPixmapObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:frame" ); -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(),indexObj ) ); -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -+ sc.xmlWriter.startElement( "draw:image" ); -+ sc.xmlWriter.addAttribute( "xlink:type", "simple" ); -+ sc.xmlWriter.addAttribute( "xlink:show", "embed" ); -+ sc.xmlWriter.addAttribute( "xlink:actuate", "onLoad" ); -+ sc.xmlWriter.addAttribute( "xlink:href", imageCollection->getOasisFileName( image ) ); -+ sc.xmlWriter.endElement(); - -- xmlWriter.startElement( "draw:image" ); -- xmlWriter.addAttribute( "xlink:type", "simple" ); -- xmlWriter.addAttribute( "xlink:show", "embed" ); -- xmlWriter.addAttribute( "xlink:actuate", "onLoad" ); -- xmlWriter.addAttribute( "xlink:href", imageCollection->getOasisFileName(image) ); -- xmlWriter.endElement(); -- -- xmlWriter.endElement(); - return true; - } - -+const char * KPPixmapObject::getOasisElementName() const -+{ -+ return "draw:frame"; -+} - -+ - // Deprecated, same as KPPixmapObject::loadPicture - void KPPixmapObject::loadImage( const QString & fileName ) - { -@@ -339,6 +338,12 @@ - - } - -+void KPPixmapObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const -+{ -+ KP2DObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisPictureElement( styleObjectAuto ); -+} -+ - void KPPixmapObject::loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info) - { - //load it into kpresenter_doc -Index: kpresenter/kpautoformobject.h -=================================================================== ---- kpresenter/kpautoformobject.h (revision 427945) -+++ kpresenter/kpautoformobject.h (working copy) -@@ -63,10 +63,12 @@ - { return lineEnd; } - - virtual QDomDocumentFragment save( QDomDocument& doc,double offset ); -- virtual bool saveOasis( KoXmlWriter & xmlWriter, KoSavingContext& context, int indexObj ) const; - - virtual double load(const QDomElement &element); - protected: -+ virtual const char * getOasisElementName() const; -+ virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const; -+ - virtual void paint( QPainter *_painter, KoZoomHandler *_zoomHandler, - int /* pageNum */, bool drawingShadow, bool drawContour = FALSE ); - -Index: kpresenter/kppartobject.cc -=================================================================== ---- kpresenter/kppartobject.cc (revision 427945) -+++ kpresenter/kppartobject.cc (working copy) -@@ -63,39 +63,25 @@ - zh->zoomItY( getOrig().y() + getSize().height() / 2 ) ) ); - } - --bool KPPartObject::saveOasisPart( KoXmlWriter &xmlWriter, KoStore *store, KoSavingContext& context, int indexObj, int partIndexObj, KoXmlWriter* manifestWriter ) const -+bool KPPartObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- kdDebug() << "KPPartObject::saveOasisPart " << partIndexObj << endl; -- xmlWriter.startElement( "draw:frame" ); -- // saveOasisBackgroundStyle also saves draw:id, x,y,width and height.... -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(),indexObj ) ); -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -+ kdDebug() << "KPPartObject::saveOasisPart " << sc.partIndexObj << endl; - --#if 0 // geometry was already saved, this isn't needed -- // geometry is no zoom value ! -- QRect _rect = child->geometry(); -- KoZoomHandler* zh = child->parent()->zoomHandler(); -- double tmpX = zh->unzoomItX( _rect.x() ); -- double tmpY = zh->unzoomItY( _rect.y() ); -- double tmpWidth = zh->unzoomItX( _rect.width() ); -- double tmpHeight = zh->unzoomItY( _rect.height() ); -- //child->setGeometry( QRect( tmpX, tmpY, tmpWidth, tmpHeight ) ); // ## why? -- xmlWriter.addAttributePt( "svg:width", tmpWidth ); -- xmlWriter.addAttributePt( "svg:height", tmpHeight ); -- xmlWriter.addAttributePt( "svg:x", tmpX ); -- xmlWriter.addAttributePt( "svg:y", tmpY ); --#endif -+ sc.xmlWriter.startElement( "draw:object" ); -+ const QString name = QString( "Object_%1" ).arg( sc.partIndexObj + 1 ); -+ ++sc.partIndexObj; -+ child->saveOasisAttributes( sc.xmlWriter, name ); - -- xmlWriter.startElement( "draw:object" ); -- const QString name = QString( "Object_%1" ).arg( partIndexObj+1 ); -- child->saveOasisAttributes( xmlWriter, name ); -- -- xmlWriter.endElement(); // draw:object -- xmlWriter.endElement(); // draw:frame -+ sc.xmlWriter.endElement(); - return true; - } - -+const char * KPPartObject::getOasisElementName() const -+{ -+ return "draw:frame"; -+} -+ -+ - void KPPartObject::loadOasis(const QDomElement &element, KoOasisContext&context, KPRLoadingInfo *info) - { - kdDebug()<<"void KPPartObject::loadOasis(const QDomElement &element)******************\n"; -Index: kpresenter/kprpage.cc -=================================================================== ---- kpresenter/kprpage.cc (revision 427945) -+++ kpresenter/kprpage.cc (working copy) -@@ -131,6 +131,8 @@ - - void KPrPage::saveOasisObject( KoStore *store, KoXmlWriter &xmlWriter, KoSavingContext& context, int & indexObj, int &partIndexObj, KoXmlWriter* manifestWriter, bool stickyObj ) const - { -+ KPObject::KPOasisSaveContext sc( xmlWriter, context, indexObj, partIndexObj, isMasterPage() ); -+ - KTempFile animationTmpFile; - animationTmpFile.setAutoDelete( true ); - QFile* tmpFile = animationTmpFile.file(); -@@ -139,17 +141,10 @@ - QPtrListIterator<KPObject> it( m_objectList ); - for ( ; it.current() ; ++it ) - { -- if ( it.current()->getType() == OT_PART ) -- { -- static_cast<KPPartObject*>( it.current() )->saveOasisPart( xmlWriter, store, context, indexObj, partIndexObj, manifestWriter); -- ++partIndexObj; -- } -- else -- { -- if ( it.current()== m_doc->header() || it.current()== m_doc->footer()) -- continue; -- it.current()->saveOasis( xmlWriter, context, indexObj ); -- } -+ if ( it.current()== m_doc->header() || it.current()== m_doc->footer()) -+ continue; -+ it.current()->saveOasisObject( sc ); -+ - if ( !stickyObj && it.current()->haveAnimation() ) - { - kdDebug()<<" it.current()->haveAnimation() \n"; -Index: kpresenter/kptextobject.cc -=================================================================== ---- kpresenter/kptextobject.cc (revision 427945) -+++ kpresenter/kptextobject.cc (working copy) -@@ -212,22 +212,19 @@ - return fragment; - } - --bool KPTextObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPTextObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:frame" ); -- // #### This should use KoGenStyle to share the style -- xmlWriter.addAttribute( "draw:style-name", KP2DObject::saveOasisBackgroundStyle( xmlWriter, context.mainStyles(), indexObj ) ); -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- -- xmlWriter.startElement( "draw:text-box" ); -- m_textobj->saveOasisContent( xmlWriter, context ); -- xmlWriter.endElement(); -- -- xmlWriter.endElement(); -+ sc.xmlWriter.startElement( "draw:text-box" ); -+ m_textobj->saveOasisContent( sc.xmlWriter, sc.context ); -+ sc.xmlWriter.endElement(); - return true; - } - -+const char * KPTextObject::getOasisElementName() const -+{ -+ return "draw:frame"; -+} -+ - void KPTextObject::saveOasisMarginElement( KoGenStyle &styleobjectauto ) const - { - kdDebug()<<"void KPTextObject::saveOasisMarginElement( KoGenStyle &styleobjectauto )\n"; -@@ -673,6 +670,12 @@ - return element; - } - -+void KPTextObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const -+{ -+ KP2DObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisMarginElement( styleObjectAuto ); -+} -+ - void KPTextObject::loadKTextObject( const QDomElement &elem ) - { - QDomElement e = elem.firstChild().toElement(); -Index: kpresenter/kplineobject.cc -=================================================================== ---- kpresenter/kplineobject.cc (revision 427945) -+++ kpresenter/kplineobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -64,21 +65,23 @@ - } - - --QString KPLineObject::saveOasisStrokeElement( KoGenStyles& mainStyles ) const -+void KPLineObject::fillStyle( KoGenStyle& styleObjectAuto, KoGenStyles& mainStyles ) const - { -- KoGenStyle styleobjectauto( KoGenStyle::STYLE_GRAPHICAUTO, "graphic" ); -- saveOasisMarkerElement( mainStyles, styleobjectauto ); -- KPShadowObject::saveOasisStrokeElement( mainStyles, styleobjectauto ); -- saveOasisShadowElement( styleobjectauto ); -- saveOasisObjectProtectStyle( styleobjectauto ); -- return mainStyles.lookup( styleobjectauto, "gr" ); -+ KPShadowObject::fillStyle( styleObjectAuto, mainStyles ); -+ saveOasisMarkerElement( mainStyles, styleObjectAuto ); - } - --bool KPLineObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+ -+bool KPLineObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:line" ); -- xmlWriter.addAttribute( "draw:style-name", saveOasisStrokeElement( context.mainStyles() ) ); -+ // nothing to do -+ return true; -+} - -+void KPLineObject::saveOasisPosObject( KoXmlWriter &xmlWriter, int indexObj ) const -+{ -+ xmlWriter.addAttribute( "draw:id", "object" + QString::number( indexObj ) ); -+ - float x1 = orig.x(); - float y1 = orig.y(); - float x2 = x1 + ext.width(); -@@ -102,17 +105,24 @@ - break; - } - -+ //save all into pt -+ xmlWriter.addAttributePt( "svg:x1", x1 ); - xmlWriter.addAttributePt( "svg:y1", y1 ); -+ xmlWriter.addAttributePt( "svg:x2", x2 ); - xmlWriter.addAttributePt( "svg:y2", y2 ); -- xmlWriter.addAttributePt( "svg:x1", x1 ); -- xmlWriter.addAttributePt( "svg:x2", x2 ); - -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); -- return true; -+ if ( kAbs( angle ) > 1E-6 ) -+ { -+ double value = -1 * ( ( double )angle* M_PI )/180.0; -+ QString str=QString( "rotate (%1)" ).arg( value ); -+ xmlWriter.addAttribute( "draw:transform", str ); -+ } - } - -+const char * KPLineObject::getOasisElementName() const -+{ -+ return "draw:line"; -+} - - QDomDocumentFragment KPLineObject::save( QDomDocument& doc, double offset ) - { -@@ -163,10 +173,10 @@ - - kdDebug()<<"KPLineObject::loadOasis(const QDomElement &element) : real position x :"<<orig.x()<<" y "<<orig.y()<< " width :"<<ext.width()<<" height :"<<ext.height()<<endl; - -- QString attr = (x1 < x2) ? "marker-start" : "marker-end"; -+ QString attr = (x1 <= x2) ? "marker-start" : "marker-end"; - loadOasisMarkerElement( context, attr, lineBegin ); - -- attr = (x1 < x2) ? "marker-end" : "marker-start"; -+ attr = (x1 <= x2) ? "marker-end" : "marker-start"; - loadOasisMarkerElement( context, attr, lineEnd ); - } - -Index: kpresenter/kppolylineobject.cc -=================================================================== ---- kpresenter/kppolylineobject.cc (revision 427945) -+++ kpresenter/kppolylineobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -29,6 +30,7 @@ - #include <kdebug.h> - #include <kozoomhandler.h> - #include <kooasiscontext.h> -+#include <koUnit.h> - - #include <math.h> - using namespace std; -@@ -68,22 +70,22 @@ - return KPPointObject::load( element ); - } - --bool KPPolylineObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPPolylineObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- xmlWriter.startElement( "draw:polyline" ); -- saveOasisPosObject(xmlWriter, indexObj ); -- xmlWriter.addAttribute( "draw:style-name", saveOasisStrokeElement( context.mainStyles() ) ); -- -- KPPointObject::saveOasis( xmlWriter, context ); -- if( !objectName.isEmpty()) -- xmlWriter.addAttribute( "draw:name", objectName ); -- xmlWriter.endElement(); -+ KPShadowObject::saveOasisDrawPoints( points, sc ); - return true; - } - -+const char * KPPolylineObject::getOasisElementName() const -+{ -+ return "draw:polyline"; -+} - -+ - void KPPolylineObject::loadOasis(const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info) - { - kdDebug()<<"void KPPolylineObject::loadOasis(const QDomElement &element)************\n"; -- KPPointObject::loadOasis( element,context, info ); -+ KPShadowObject::loadOasis( element, context, info ); -+ KPShadowObject::loadOasisDrawPoints( points, element, context, info ); -+ loadOasisMarker( context ); - } -Index: kpresenter/kpquadricbeziercurveobject.cc -=================================================================== ---- kpresenter/kpquadricbeziercurveobject.cc (revision 427945) -+++ kpresenter/kpquadricbeziercurveobject.cc (working copy) -@@ -1,6 +1,7 @@ - // -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- - /* This file is part of the KDE project - Copyright (C) 2001 Toshitaka Fujioka <fujioka@kde.org> -+ Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public -@@ -60,16 +61,18 @@ - return *this; - } - --bool KPQuadricBezierCurveObject::saveOasis( KoXmlWriter &xmlWriter, KoSavingContext& context, int indexObj ) const -+bool KPQuadricBezierCurveObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) const - { -- kdDebug()<<"bool KPQuadricBezierCurveObject::saveOasis( KoXmlWriter &xmlWriter ) not implemented\n"; -- //todo -- // call saveOasisShadowElement( styleobjectauto ); -- // call saveOasisStrokeElement( KoGenStyle &styleobjectauto ); -- //call xmlWriter.addAttribute( "draw:style-name", style ); -+ kdDebug()<<"bool KPQuadricBezierCurveObject::saveOasisObjectAttributes( KPOasisSaveContext &sc ) not implemented\n"; - return true; - } - -+const char * KPQuadricBezierCurveObject::getOasisElementName() const -+{ -+ // use draw:path ? -+ return "draw:custom-shape"; -+} -+ - void KPQuadricBezierCurveObject::loadOasis( const QDomElement &element, KoOasisContext & context, KPRLoadingInfo *info ) - { - //todo -Index: kspread/dialogs/kspread_dlg_database.cc -=================================================================== ---- kspread/dialogs/kspread_dlg_database.cc (revision 427945) -+++ kspread/dialogs/kspread_dlg_database.cc (working copy) -@@ -600,8 +600,8 @@ - // An update command must also be followed by a space, or it would be parsed - // as an identifier. - // For sanity, also check that there is a SELECT -- QRegExp couldModifyDB( "(^|[( \s])(UPDATE|DELETE|INSERT|CREATE) ", false /* cs */ ); -- QRegExp couldQueryDB( "(^|[( \s])(SELECT) ", false /* cs */ ); -+ QRegExp couldModifyDB( "(^|[( \\s])(UPDATE|DELETE|INSERT|CREATE) ", false /* cs */ ); -+ QRegExp couldQueryDB( "(^|[( \\s])(SELECT) ", false /* cs */ ); - - if (couldModifyDB.search( queryStr ) != -1 || couldQueryDB.search ( queryStr ) == -1 ) - { -Index: kspread/CHANGES -=================================================================== ---- kspread/CHANGES (revision 427945) -+++ kspread/CHANGES (working copy) -@@ -1,5 +1,9 @@ -+since 1.4.0 -+=========== -+- Fix potential crash when rendering obscured cells (#108659) -+ - since 1.4-beta1 --============================= -+=============== - - Use General/Blank Worksheet as default template. - - KSpread crashes on exit if there is a chart in the sheet (#101915). - - The data editor is disabled for charts which has been loaded. -Index: kspread/kspreadpart.desktop -=================================================================== ---- kspread/kspreadpart.desktop (revision 427945) -+++ kspread/kspreadpart.desktop (working copy) -@@ -19,6 +19,7 @@ - Name[pt]=Componente de Folha de Cálculo do KOffice - Name[pt_BR]=Componente de Planilha de Cálculo do KOffice - Name[ru]=Компонент электронных таблиц KOffice -+Name[sl]=Komponenta za preglednice za KOffice - Name[sr]=KOffice-ова компонента за унакрсне табеле - Name[sr@Latn]=KOffice-ova komponenta za unakrsne tabele - Name[sv]=Koffice-kalkylarkskomponent -Index: kspread/kspread_cell.cc -=================================================================== ---- kspread/kspread_cell.cc (revision 427945) -+++ kspread/kspread_cell.cc (working copy) -@@ -825,7 +825,12 @@ - if (!d->hasExtra()) - return (KSpreadCell *) this; - -- return d->extra()->obscuringCells.first(); -+ else if (d->extra()->obscuringCells.isEmpty()) -+ return (KSpreadCell *) this; -+ -+ else -+ return d->extra()->obscuringCells.first(); -+ - #if 0 - QValueList<KSpreadCell*>::const_iterator it = d->extra()->obscuringCells.begin(); - QValueList<KSpreadCell*>::const_iterator end = d->extra()->obscuringCells.end(); -@@ -2489,6 +2494,7 @@ - // If the cell towards the top is part of a merged cell, get - // the pointer to the master cell. - cellUp = cellUp->ultimateObscuringCell(); -+ - topPen = cellUp->effBottomBorderPen( cellUp->column(), - cellUp->row() ); - -Index: templates/SpreadSheet.desktop -=================================================================== ---- templates/SpreadSheet.desktop (revision 427945) -+++ templates/SpreadSheet.desktop (working copy) -@@ -23,7 +23,7 @@ - Name[pl]=Arkusz kalkulacyjny... - Name[pt]=Documento de Folha de Cálculo... - Name[pt_BR]=Planilha de Cálculo... --Name[ru]=Электронная таблица... -+Name[ru]=Электронную таблицу... - Name[se]=Rehkenastinárka ... - Name[sl]=Preglednični dokument ... - Name[sr]=Документ са прорачунским листовима... -@@ -54,6 +54,7 @@ - Comment[fa]=KSpread سند جدید: - Comment[fi]=Uusi KSpread-asiakirja: - Comment[fr]=Nouveau document KSpread : -+Comment[ga]=Cáipéis nua KSpread: - Comment[he]=מסמך חדש של KSpread - Comment[hr]=Novi KSpread dokument: - Comment[hu]=Új KSpread-dokumentum: -@@ -67,7 +68,7 @@ - Comment[pl]=Nowy arkusz KSpread: - Comment[pt]=Novo documento do KSpread: - Comment[pt_BR]=Novo documento KSpread: --Comment[ru]=Новый документ KSpread: -+Comment[ru]=Новая электронная таблица KSpread: - Comment[se]=Ođđa KSpread-dokumeanta: - Comment[sk]=Nový dokument KSpread: - Comment[sl]=Nov dokument za KSpread -Index: templates/Illustration.desktop -=================================================================== ---- templates/Illustration.desktop (revision 427945) -+++ templates/Illustration.desktop (working copy) -@@ -22,7 +22,7 @@ - Name[pl]=Rysunek... - Name[pt]=Documento de Ilustração.... - Name[pt_BR]=Documento de Ilustração... --Name[ru]=Иллюстрированный документ... -+Name[ru]=Векторный рисунок... - Name[se]=Illustrašuvdna ... - Name[sl]=Ilustracijski dokument ... - Name[sr]=Илустрациони документ... -@@ -49,6 +49,7 @@ - Comment[fa]=Karbon14 سند جدید: - Comment[fi]=Uusi Karbon14-asiakirja: - Comment[fr]=Nouveau document Karbon14 : -+Comment[ga]=Cáipéis nua Karbon14: - Comment[he]=מסמך Karbon14 חדש - Comment[hr]=Novi Karbon14 dokument: - Comment[hu]=Új Karbon14-dokumentum: -@@ -59,7 +60,7 @@ - Comment[pl]=Nowy dokument Karbon14: - Comment[pt]=Novo documento do Karbon14: - Comment[pt_BR]=Novo documento do Karbon14 --Comment[ru]=Новый документ Karbon14: -+Comment[ru]=Новый рисунок Karbon14: - Comment[se]=Ođđa Karbon14-dokumeanta: - Comment[sk]=Nový dokument Karbon14: - Comment[sl]=Nov dokument za Karbon14 -Index: templates/Presentation.desktop -=================================================================== ---- templates/Presentation.desktop (revision 427945) -+++ templates/Presentation.desktop (working copy) -@@ -23,7 +23,7 @@ - Name[pl]=Prezentacja... - Name[pt]=Documento de Apresentação... - Name[pt_BR]=Apresentação de Slides... --Name[ru]=Презентация... -+Name[ru]=Презентацию... - Name[se]=Presentašuvdna ... - Name[sl]=Predstavitveni dokument ... - Name[sr]=Презентациони документ... -@@ -67,7 +67,7 @@ - Comment[pl]=Nowa prezentacja KPresenter: - Comment[pt]=Novo documento do KPresenter: - Comment[pt_BR]=Novo documento de apresentação KPresenter: --Comment[ru]=Новый документ KPresenter: -+Comment[ru]=Новая презентация KPresenter: - Comment[se]=Ođđa KPresenter-presentašuvdna: - Comment[sk]=Nový dokument KPresenter: - Comment[sl]=Nov predstavitveni dokument za KPresenter -Index: templates/TextDocument.desktop -=================================================================== ---- templates/TextDocument.desktop (revision 427945) -+++ templates/TextDocument.desktop (working copy) -@@ -13,6 +13,7 @@ - Name[et]=Tekstidokument... - Name[fi]=Tekstiasiakirja... - Name[fr]=Document texte... -+Name[ga]=Cáipéis Téacs... - Name[he]=מסמך טקסט... - Name[hr]=Tekst datoteka... - Name[hu]=KWord-dokumentum... -@@ -24,7 +25,7 @@ - Name[pl]=Dokument tekstowy... - Name[pt]=Documento de Texto... - Name[pt_BR]=Documento de Texto... --Name[ru]=Текстовый документ... -+Name[ru]=Документ... - Name[se]=Teakstadokumeanta ... - Name[sl]=Besedilni dokument ... - Name[sr]=Текстуални документ... -@@ -55,6 +56,7 @@ - Comment[fa]=KWord سند جدید برای: - Comment[fi]=Uusi KWord-asiakirja: - Comment[fr]=Nouveau document KWord : -+Comment[ga]=Cáipéis nua KWord: - Comment[he]=מסמך חדש של KWord - Comment[hr]=Novi KWord dokument - Comment[hu]=Új KWord-dokumentum: -Index: karbon/tools/vroundrecttool.h -=================================================================== ---- karbon/tools/vroundrecttool.h (revision 427945) -+++ karbon/tools/vroundrecttool.h (working copy) -@@ -29,7 +29,7 @@ - - class KarbonPart; - class QLabel; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - - class VRoundRectTool : public VShapeTool -Index: karbon/tools/vpolygontool.cc -=================================================================== ---- karbon/tools/vpolygontool.cc (revision 427945) -+++ karbon/tools/vpolygontool.cc (working copy) -@@ -37,6 +37,7 @@ - - new QLabel( i18n( "Radius:" ), group ); - m_radius = new KDoubleSpinBox(0.0, 1000.0, 0.5, 5.0,2, group ); -+ //m_radius = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 50.0, KoUnit::U_MM ); - refreshUnit(); - new QLabel( i18n( "Edges:" ), group ); - m_edges = new KIntSpinBox( group ); -Index: karbon/tools/vpolygontool.h -=================================================================== ---- karbon/tools/vpolygontool.h (revision 427945) -+++ karbon/tools/vpolygontool.h (working copy) -@@ -58,7 +58,9 @@ - void refreshUnit(); - - private: -+ // FIXME: This should be a KoUnitDoubleSpinBox! - KDoubleSpinBox *m_radius; -+ - KIntSpinBox *m_edges; - KarbonPart *m_part; - }; -Index: karbon/tools/vspiraltool.h -=================================================================== ---- karbon/tools/vspiraltool.h (revision 427945) -+++ karbon/tools/vspiraltool.h (working copy) -@@ -67,7 +67,9 @@ - void refreshUnit(); - - private: -+ // FIXME: This should be a KoUnitDoubleSpinBox! - KDoubleSpinBox *m_radius; -+ - KIntSpinBox *m_segments; - KDoubleNumInput *m_fade; - KComboBox *m_type; -Index: karbon/tools/vellipsetool.cc -=================================================================== ---- karbon/tools/vellipsetool.cc (revision 427945) -+++ karbon/tools/vellipsetool.cc (working copy) -@@ -49,8 +49,10 @@ - // add width/height-input: - new QLabel( i18n( "Width:" ), group ); - m_width = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -+ //m_width = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - new QLabel( i18n( "Height:" ), group ); - m_height = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -+ //m_height = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - - new QLabel( i18n( "Start angle:" ), group ); - m_startAngle = new KIntSpinBox( group ); -Index: karbon/tools/vellipsetool.h -=================================================================== ---- karbon/tools/vellipsetool.h (revision 427945) -+++ karbon/tools/vellipsetool.h (working copy) -@@ -25,8 +25,7 @@ - - #include "vshapetool.h" - --class KoUnitDoubleSpinBox; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KComboBox; - class KIntSpinBox; - class KarbonPart; -@@ -55,8 +54,11 @@ - KComboBox *m_type; - KIntSpinBox *m_startAngle; - KIntSpinBox *m_endAngle; -+ -+ // FIXME: These should be KoUnitDoubleSpinBoxes! - KDoubleSpinBox *m_width; - KDoubleSpinBox *m_height; -+ - KarbonPart *m_part; - }; - -Index: karbon/tools/vsinustool.cc -=================================================================== ---- karbon/tools/vsinustool.cc (revision 427945) -+++ karbon/tools/vsinustool.cc (working copy) -@@ -40,8 +40,10 @@ - // add width/height-input: - new QLabel( i18n( "Width:" ), group ); - m_width = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -+ //m_width = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - new QLabel( i18n( "Height:" ), group ); - m_height = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -+ //m_height = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - - refreshUnit(); - -Index: karbon/tools/vsinustool.h -=================================================================== ---- karbon/tools/vsinustool.h (revision 427945) -+++ karbon/tools/vsinustool.h (working copy) -@@ -24,7 +24,7 @@ - #include <knuminput.h> - #include "vshapetool.h" - --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KIntSpinBox; - class KarbonPart; - class QLabel; -@@ -58,8 +58,10 @@ - void refreshUnit(); - - private: -+ // FIXME: These should be KoUnitDoubleSpinBoxes! - KDoubleSpinBox *m_width; - KDoubleSpinBox *m_height; -+ - KIntSpinBox *m_periods; - KarbonPart *m_part; - }; -Index: karbon/tools/vrectangletool.cc -=================================================================== ---- karbon/tools/vrectangletool.cc (revision 427945) -+++ karbon/tools/vrectangletool.cc (working copy) -@@ -37,10 +37,11 @@ - // add width/height-input: - new QLabel( i18n( "Width:" ), group ); - m_width = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -+ //m_width = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - - new QLabel( i18n( "Height:" ), group ); - m_height = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 10.0, 2, group ); -- -+ //m_height = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 100.0, KoUnit::U_MM ); - refreshUnit(); - - group->setInsideMargin( 4 ); -Index: karbon/tools/vstartool.cc -=================================================================== ---- karbon/tools/vstartool.cc (revision 427945) -+++ karbon/tools/vstartool.cc (working copy) -@@ -49,10 +49,12 @@ - // add width/height-input: - new QLabel( i18n( "Outer radius:" ), group ); - m_outerR = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 5.0, 2, group ); -+ //m_outerR = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 50.0, KoUnit::U_MM ); - connect( m_outerR, SIGNAL( valueChanged( double ) ), this, SLOT( setOuterRadius( double ) ) ); - - new QLabel( i18n( "Inner radius:" ), group ); - m_innerR = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 5.0, 2, group ); -+ //m_innerR = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 25.0, KoUnit::U_MM ); - - refreshUnit(); - -Index: karbon/tools/vstartool.h -=================================================================== ---- karbon/tools/vstartool.h (revision 427945) -+++ karbon/tools/vstartool.h (working copy) -@@ -54,8 +54,10 @@ - void setOuterRadius( double ); - - private: -+ // FIXME: These should be KoUnitDoubleSpinBoxes! - KDoubleSpinBox *m_innerR; - KDoubleSpinBox *m_outerR; -+ - KDoubleNumInput *m_roundness; - KIntSpinBox *m_edges; - KIntSpinBox *m_innerAngle; -Index: karbon/tools/vspiraltool.cc -=================================================================== ---- karbon/tools/vspiraltool.cc (revision 427945) -+++ karbon/tools/vspiraltool.cc (working copy) -@@ -43,6 +43,7 @@ - - new QLabel( i18n( "Radius:" ), group ); - m_radius = new KDoubleSpinBox( 0.0, 1000.0, 0.5, 5.0, 2, group ); -+ //m_radius = new KoBuggyUnitDoubleSpinBox( group, 0.0, 1000.0, 0.5, 50.0, KoUnit::U_MM ); - refreshUnit(); - new QLabel( i18n( "Segments:" ), group ); - m_segments = new KIntSpinBox( group ); -Index: karbon/tools/vrectangletool.h -=================================================================== ---- karbon/tools/vrectangletool.h (revision 427945) -+++ karbon/tools/vrectangletool.h (working copy) -@@ -29,7 +29,7 @@ - - class KarbonPart; - class QLabel; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - class VRectangleTool : public VShapeTool - { -@@ -59,8 +59,10 @@ - void refreshUnit(); - - private: -+ // FIXME: These should be KoUnitDoubleSpinBoxes! - KDoubleSpinBox *m_width; - KDoubleSpinBox *m_height; -+ - KarbonPart *m_part; - }; - -Index: karbon/dialogs/vconfiguredlg.cc -=================================================================== ---- karbon/dialogs/vconfiguredlg.cc (revision 427945) -+++ karbon/dialogs/vconfiguredlg.cc (working copy) -@@ -317,17 +317,17 @@ - gridColorLbl->setBuddy( m_gridColorBtn ); - QGroupBox* spacingGrp = new QGroupBox( 2, Qt::Horizontal, i18n( "Spacing" ), page ); - QLabel* spaceHorizLbl = new QLabel( i18n( "&Horizontal:" ), spacingGrp ); -- m_spaceHorizUSpin = new KoUnitDoubleSpinBox( spacingGrp, 0.0, pgw, 0.1, fw, unit ); -+ m_spaceHorizUSpin = new KoBuggyUnitDoubleSpinBox( spacingGrp, 0.0, pgw, 0.1, fw, unit ); - spaceHorizLbl->setBuddy( m_spaceHorizUSpin ); - QLabel* spaceVertLbl = new QLabel( i18n( "&Vertical:" ), spacingGrp ); -- m_spaceVertUSpin = new KoUnitDoubleSpinBox( spacingGrp, 0.0, pgh, 0.1, fh, unit ); -+ m_spaceVertUSpin = new KoBuggyUnitDoubleSpinBox( spacingGrp, 0.0, pgh, 0.1, fh, unit ); - spaceVertLbl->setBuddy( m_spaceVertUSpin ); - QGroupBox* snapGrp = new QGroupBox( 2, Qt::Horizontal, i18n( "Snap Distance" ), page ); - QLabel* snapHorizLbl = new QLabel( i18n( "H&orizontal:" ), snapGrp ); -- m_snapHorizUSpin = new KoUnitDoubleSpinBox( snapGrp, 0.0, fw, 0.1, sw, unit ); -+ m_snapHorizUSpin = new KoBuggyUnitDoubleSpinBox( snapGrp, 0.0, fw, 0.1, sw, unit ); - snapHorizLbl->setBuddy( m_snapHorizUSpin ); - QLabel* snapVertLbl = new QLabel( i18n( "V&ertical:" ), snapGrp ); -- m_snapVertUSpin = new KoUnitDoubleSpinBox( snapGrp, 0.0, fh, 0.1, sh, unit ); -+ m_snapVertUSpin = new KoBuggyUnitDoubleSpinBox( snapGrp, 0.0, fh, 0.1, sh, unit ); - snapVertLbl->setBuddy( m_snapVertUSpin ); - - QGridLayout* gl = new QGridLayout(); -Index: karbon/dialogs/vconfiguredlg.h -=================================================================== ---- karbon/dialogs/vconfiguredlg.h (revision 427945) -+++ karbon/dialogs/vconfiguredlg.h (working copy) -@@ -27,7 +27,7 @@ - class KConfig; - class KIntNumInput; - class KColorButton; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class QCheckBox; - class QComboBox; - -@@ -129,10 +129,10 @@ - - private: - KarbonView* m_view; -- KoUnitDoubleSpinBox* m_spaceHorizUSpin; -- KoUnitDoubleSpinBox* m_spaceVertUSpin; -- KoUnitDoubleSpinBox* m_snapHorizUSpin; -- KoUnitDoubleSpinBox* m_snapVertUSpin; -+ KoBuggyUnitDoubleSpinBox* m_spaceHorizUSpin; -+ KoBuggyUnitDoubleSpinBox* m_spaceVertUSpin; -+ KoBuggyUnitDoubleSpinBox* m_snapHorizUSpin; -+ KoBuggyUnitDoubleSpinBox* m_snapVertUSpin; - QCheckBox* m_gridChBox; - QCheckBox* m_snapChBox; - KColorButton* m_gridColorBtn; -Index: karbon/dialogs/vstrokedlg.cc -=================================================================== ---- karbon/dialogs/vstrokedlg.cc (revision 427945) -+++ karbon/dialogs/vstrokedlg.cc (working copy) -@@ -50,7 +50,7 @@ - - QLabel* widthLabel = new QLabel( i18n ( "Width:" ), mainWidget ); - leftLayout->addWidget ( widthLabel ); -- m_setLineWidth = new KoUnitDoubleSpinBox( mainWidget, 0.0, 1000.0, 0.5, 1.0, KoUnit::U_PT, 1 ); -+ m_setLineWidth = new KoBuggyUnitDoubleSpinBox( mainWidget, 0.0, 1000.0, 0.5, 1.0, KoUnit::U_PT, 1 ); - leftLayout->addWidget ( m_setLineWidth ); - - //Dashing -> -Index: karbon/dialogs/vstrokedlg.h -=================================================================== ---- karbon/dialogs/vstrokedlg.h (revision 427945) -+++ karbon/dialogs/vstrokedlg.h (working copy) -@@ -27,7 +27,7 @@ - class QVButtonGroup; - - class KarbonPart; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class VStroke; - class VColorTab; - -@@ -41,7 +41,7 @@ - private: - VColorTab* m_colortab; - KarbonPart *m_part; -- KoUnitDoubleSpinBox *m_setLineWidth; -+ KoBuggyUnitDoubleSpinBox *m_setLineWidth; - QComboBox *m_styleCombo; - QVButtonGroup *m_typeOption; - QVButtonGroup *m_capOption; -Index: karbon/dockers/vtransformdocker.h -=================================================================== ---- karbon/dockers/vtransformdocker.h (revision 427945) -+++ karbon/dockers/vtransformdocker.h (working copy) -@@ -25,7 +25,7 @@ - - class KarbonPart; - class KarbonView; --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - class VTransformDocker : public VDocker - { -@@ -43,10 +43,10 @@ - private: - KarbonPart *m_part; - KarbonView *m_view; -- KoUnitDoubleSpinBox *m_x; -- KoUnitDoubleSpinBox *m_y; -- KoUnitDoubleSpinBox *m_width; -- KoUnitDoubleSpinBox *m_height; -+ KoBuggyUnitDoubleSpinBox *m_x; -+ KoBuggyUnitDoubleSpinBox *m_y; -+ KoBuggyUnitDoubleSpinBox *m_width; -+ KoBuggyUnitDoubleSpinBox *m_height; - QWidget *mainWidget; - }; - -Index: karbon/dockers/vstrokedocker.cc -=================================================================== ---- karbon/dockers/vstrokedocker.cc (revision 427945) -+++ karbon/dockers/vstrokedocker.cc (working copy) -@@ -50,7 +50,7 @@ - - QLabel* widthLabel = new QLabel( i18n ( "Width:" ), mainWidget ); - mainLayout->addWidget( widthLabel, 0, 0 ); -- m_setLineWidth = new KoUnitDoubleSpinBox( mainWidget, 0.0, 1000.0, 0.5, 1.0, KoUnit::U_PT, 1 ); -+ m_setLineWidth = new KoBuggyUnitDoubleSpinBox( mainWidget, 0.0, 1000.0, 0.5, 1.0, KoUnit::U_PT, 1 ); - mainLayout->addWidget ( m_setLineWidth, 0, 1 ); - connect( m_setLineWidth, SIGNAL( valueChanged( double ) ), this, SLOT( widthChanged() ) ); - -Index: karbon/dockers/vstrokedocker.h -=================================================================== ---- karbon/dockers/vstrokedocker.h (revision 427945) -+++ karbon/dockers/vstrokedocker.h (working copy) -@@ -26,7 +26,7 @@ - class QHButtonGroup; - class QWidget; - --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - - class KoMainWindow; - class KarbonView; -@@ -48,7 +48,7 @@ - QWidget *mainWidget; - KarbonPart *m_part; - KarbonView *m_view; -- KoUnitDoubleSpinBox *m_setLineWidth; -+ KoBuggyUnitDoubleSpinBox *m_setLineWidth; - - private slots: - void slotCapChanged( int ID ); -Index: karbon/dockers/vtransformdocker.cc -=================================================================== ---- karbon/dockers/vtransformdocker.cc (revision 427945) -+++ karbon/dockers/vtransformdocker.cc (working copy) -@@ -48,25 +48,25 @@ - //X: (TODO: Set 5000 limit to real Karbon14 limit) - QLabel* xLabel = new QLabel( i18n ( "X:" ), mainWidget ); - mainLayout->addWidget( xLabel, 1, 0 ); -- m_x = new KoUnitDoubleSpinBox( mainWidget, -5000.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); -+ m_x = new KoBuggyUnitDoubleSpinBox( mainWidget, -5000.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); - mainLayout->addWidget( m_x, 1, 1 ); - - //Y: (TODO: Set 5000 limit to real Karbon14 limit) - QLabel* yLabel = new QLabel( i18n ( "Y:" ), mainWidget ); - mainLayout->addWidget( yLabel, 2, 0 ); -- m_y = new KoUnitDoubleSpinBox( mainWidget, -5000.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); -+ m_y = new KoBuggyUnitDoubleSpinBox( mainWidget, -5000.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); - mainLayout->addWidget( m_y, 2, 1 ); - - //Width: (TODO: Set 5000 limit to real Karbon14 limit) - QLabel* wLabel = new QLabel( i18n ( "W:" ), mainWidget ); - mainLayout->addWidget( wLabel, 1, 2 ); -- m_width = new KoUnitDoubleSpinBox( mainWidget, 0.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); -+ m_width = new KoBuggyUnitDoubleSpinBox( mainWidget, 0.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); - mainLayout->addWidget( m_width, 1, 3 ); - - //Height: (TODO: Set 5000 limit to real Karbon14 limit) - QLabel* hLabel = new QLabel( i18n ( "H:" ), mainWidget ); - mainLayout->addWidget( hLabel, 2, 2 ); -- m_height = new KoUnitDoubleSpinBox( mainWidget, 0.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); -+ m_height = new KoBuggyUnitDoubleSpinBox( mainWidget, 0.0, 5000.0, 1.0, 10.0, m_part->unit(), 1 ); - mainLayout->addWidget( m_height, 2, 3 ); - - //TODO: Add Rotation, Shear -Index: karbon/widgets/vselecttoolbar.cc -=================================================================== ---- karbon/widgets/vselecttoolbar.cc (revision 427945) -+++ karbon/widgets/vselecttoolbar.cc (working copy) -@@ -38,24 +38,24 @@ - setCaption( i18n( "Object Properties" ) ); - QLabel *x_label = new QLabel( i18n( "X:" ), this, "kde toolbar widget" ); - insertWidget( 0, x_label->width(), x_label ); -- m_x = new KoUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); -+ m_x = new KoBuggyUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); - connect( m_x, SIGNAL( valueChanged( double ) ), this, SLOT( slotXChanged( double ) ) ); - insertWidget( 1, m_x->width(), m_x ); - QLabel *y_label = new QLabel( i18n( "Y:" ), this, "kde toolbar widget" ); - insertWidget( 2, y_label->width(), y_label ); -- m_y = new KoUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); -+ m_y = new KoBuggyUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); - connect( m_y, SIGNAL( valueChanged( double ) ), this, SLOT( slotYChanged( double ) ) ); - insertWidget( 3, m_y->width(), m_y ); - - insertSeparator( 4 ); - QLabel *w_label = new QLabel( i18n( "Width:" ), this, "kde toolbar widget" ); - insertWidget( 5, w_label->width(), w_label ); -- m_width = new KoUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); -+ m_width = new KoBuggyUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); - connect( m_width, SIGNAL( valueChanged( double ) ), this, SLOT( slotWidthChanged( double ) ) ); - insertWidget( 6, m_width->width(), m_width ); - QLabel *h_label = new QLabel( i18n( "Height:" ), this, "kde toolbar widget" ); - insertWidget( 7, h_label->width(), h_label ); -- m_height = new KoUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); -+ m_height = new KoBuggyUnitDoubleSpinBox( this, 0.0, 1000.0, 0.5 ); - connect( m_height, SIGNAL( valueChanged( double ) ), this, SLOT( slotHeightChanged( double ) ) ); - insertWidget( 8, m_height->width(), m_height ); - -Index: karbon/widgets/vselecttoolbar.h -=================================================================== ---- karbon/widgets/vselecttoolbar.h (revision 427945) -+++ karbon/widgets/vselecttoolbar.h (working copy) -@@ -24,7 +24,7 @@ - - #include <ktoolbar.h> - --class KoUnitDoubleSpinBox; -+class KoBuggyUnitDoubleSpinBox; - class KarbonView; - - class VSelectToolBar : public KToolBar -@@ -42,10 +42,10 @@ - void slotHeightChanged( double ); - - private: -- KoUnitDoubleSpinBox *m_x; -- KoUnitDoubleSpinBox *m_y; -- KoUnitDoubleSpinBox *m_width; -- KoUnitDoubleSpinBox *m_height; -+ KoBuggyUnitDoubleSpinBox *m_x; -+ KoBuggyUnitDoubleSpinBox *m_y; -+ KoBuggyUnitDoubleSpinBox *m_width; -+ KoBuggyUnitDoubleSpinBox *m_height; - KarbonView *m_view; - }; - |