aboutsummaryrefslogtreecommitdiff
path: root/editors
diff options
context:
space:
mode:
authorMichael Nottebrock <lofi@FreeBSD.org>2005-08-01 10:46:03 +0000
committerMichael Nottebrock <lofi@FreeBSD.org>2005-08-01 10:46:03 +0000
commit2fd0aa065c8a05765cdcf89406d965c7664718a4 (patch)
tree471289b27a2d8050ce8e5e19afdce3b82ecb5e33 /editors
parent8e3bf2f0a54ffacce3aa62455d4c613055ead377 (diff)
downloadports-2fd0aa065c8a05765cdcf89406d965c7664718a4.tar.gz
ports-2fd0aa065c8a05765cdcf89406d965c7664718a4.zip
Notes
Diffstat (limited to 'editors')
-rw-r--r--editors/calligra/files/patch-1.4.0_patchset_1.diff5060
-rw-r--r--editors/koffice-kde3/files/patch-1.4.0_patchset_1.diff5060
-rw-r--r--editors/koffice-kde4/files/patch-1.4.0_patchset_1.diff5060
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;
- };
-