21 #include "inserttabledialog.h"
27 #include <QFormLayout>
30 using namespace KPIMTextEdit;
32 class InsertTableWidget::InsertTableWidgetPrivate
35 InsertTableWidgetPrivate(InsertTableWidget *qq)
39 mRows->setMinimum( 1 );
42 mColumns =
new QSpinBox;
43 mColumns->setMinimum( 1 );
44 mColumns->setValue( 2 );
46 mBorder =
new QSpinBox;
47 mBorder->setMinimum( 0 );
48 mBorder->setValue( 1 );
49 mBorder->setSuffix( i18n(
" px" ) );
51 QFormLayout *formLayout =
new QFormLayout;
52 formLayout->addRow( i18n(
"Rows:" ), mRows );
53 formLayout->addRow( i18n(
"Columns:" ), mColumns );
54 formLayout->addRow( i18n(
"Border:" ), mBorder );
57 QHBoxLayout *lay =
new QHBoxLayout;
58 mTypeOfLength =
new KComboBox;
59 q->connect( mTypeOfLength, SIGNAL(activated(
int)),q,SLOT(slotTypeOfLengthChanged(
int)) );
61 mTypeOfLength->addItem( i18n(
"% of windows" ), QTextLength::PercentageLength );
62 mTypeOfLength->addItem( i18n(
"pixels" ), QTextLength::FixedLength );
63 mLength =
new QSpinBox;
64 mLength->setMinimum( 1 );
65 mLength->setMaximum( 100 );
66 mLength->setValue( 100 );
67 lay->addWidget( mLength );
68 lay->addWidget( mTypeOfLength );
70 formLayout->addRow( i18n(
"Width:" ), lay );
71 q->setLayout( formLayout );
78 KComboBox *mTypeOfLength;
83 InsertTableWidget::InsertTableWidget(QWidget *parent)
84 : QWidget( parent ), d(new InsertTableWidgetPrivate(this))
88 InsertTableWidget::~InsertTableWidget()
93 void InsertTableWidget::slotTypeOfLengthChanged(
int index)
97 d->mLength->setMaximum( 100 );
98 d->mLength->setValue( qMin( d->mLength->value(), 100 ) );
101 d->mLength->setMaximum( 9999 );
104 kDebug() <<
" index not defined " << index;
109 QTextLength::Type InsertTableWidget::typeOfLength()
const
111 return (QTextLength::Type)d->mTypeOfLength->itemData( d->mTypeOfLength->currentIndex() ).toInt();
114 void InsertTableWidget::setTypeOfLength(QTextLength::Type type)
116 const int index = d->mTypeOfLength->findData(QVariant(type));
117 d->mTypeOfLength->setCurrentIndex(index);
118 slotTypeOfLengthChanged(index);
122 int InsertTableWidget::length()
const
124 return d->mLength->value();
127 void InsertTableWidget::setLength(
int val)
129 d->mLength->setValue(val);
132 void InsertTableWidget::setColumns(
int col)
134 d->mColumns->setValue( col );
137 void InsertTableWidget::setRows(
int rows)
139 d->mRows->setValue( rows );
142 void InsertTableWidget::setBorder(
int border)
144 d->mBorder->setValue( border );
148 int InsertTableWidget::columns()
const
150 return d->mColumns->value();
153 int InsertTableWidget::rows()
const
155 return d->mRows->value();
158 int InsertTableWidget::border()
const
160 return d->mBorder->value();
164 class InsertTableDialog::InsertTableDialogPrivate
167 InsertTableDialogPrivate(InsertTableDialog *qq)
170 q->setCaption( i18n(
"Insert Table" ) );
171 q->setButtons( Ok|Cancel );
172 q->setButtonText( KDialog::Ok, i18n(
"Insert" ) );
173 insertTableWidget =
new InsertTableWidget( q );
174 q->setMainWidget( insertTableWidget );
176 InsertTableWidget *insertTableWidget;
177 InsertTableDialog *q;
180 InsertTableDialog::InsertTableDialog(QWidget *parent)
181 : KDialog( parent ), d( new InsertTableDialogPrivate( this ) )
185 InsertTableDialog::~InsertTableDialog()
190 int InsertTableDialog::columns()
const
192 return d->insertTableWidget->columns();
195 int InsertTableDialog::rows()
const
197 return d->insertTableWidget->rows();
200 int InsertTableDialog::border()
const
202 return d->insertTableWidget->border();
205 QTextLength::Type InsertTableDialog::typeOfLength()
const
207 return d->insertTableWidget->typeOfLength();
210 int InsertTableDialog::length()
const
212 return d->insertTableWidget->length();
215 void InsertTableDialog::setColumns(
int col)
217 d->insertTableWidget->setColumns(col);
220 void InsertTableDialog::setRows(
int rows)
222 d->insertTableWidget->setRows(rows);
225 void InsertTableDialog::setBorder(
int border)
227 d->insertTableWidget->setBorder(border);
230 void InsertTableDialog::setLength(
int val)
232 d->insertTableWidget->setLength(val);
235 void InsertTableDialog::setTypeOfLength(QTextLength::Type type)
237 d->insertTableWidget->setTypeOfLength(type);