freebsd-ports/editors/koffice-kde3/files/patch-1.4.0_patchset_1.diff
Michael Nottebrock 3eab162b94 Various bugfixes from the KOffice-1.4.x branch.
Submitted by: Raphael Langerhorst <raphael-langerhorst@gmx.at>
2005-07-10 17:45:56 +00:00

5060 lines
203 KiB
Diff
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
};