improve mailmerge

wilder-work
Montel Laurent 12 years ago
parent 73153cc73b
commit 514919fc07
  1. 18
      mailmerge/mailmergewidget.cpp
  2. 3
      mailmerge/mailmergewidget.h
  3. 21
      mailmerge/tests/mailmergewidgettest.cpp
  4. 1
      mailmerge/tests/mailmergewidgettest.h

@ -23,7 +23,7 @@
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QLabel>
#include <QStackedWidget>
MailMergeWidget::MailMergeWidget(QWidget *parent)
: QWidget(parent)
@ -45,6 +45,21 @@ MailMergeWidget::MailMergeWidget(QWidget *parent)
connect(mSource, SIGNAL(activated(int)), this, SLOT(slotSourceChanged(int)));
hbox->addWidget(mSource);
mStackedWidget = new QStackedWidget;
mStackedWidget->setObjectName(QLatin1String("stackedwidget"));
vbox->addWidget(mStackedWidget);
QWidget *addressBookWidget = new QWidget;
QVBoxLayout *addressBookWidgetLayout = new QVBoxLayout;
addressBookWidget->setLayout(addressBookWidgetLayout);
mStackedWidget->addWidget(addressBookWidget);
QWidget *csvWidget = new QWidget;
QVBoxLayout *csvWidgetLayout = new QVBoxLayout;
csvWidget->setLayout(csvWidgetLayout);
mStackedWidget->addWidget(csvWidget);
}
@ -57,5 +72,6 @@ void MailMergeWidget::slotSourceChanged(int index)
{
if (index != -1) {
Q_EMIT sourceModeChanged(static_cast<SourceType>(mSource->itemData(index).toInt()));
mStackedWidget->setCurrentIndex(index);
}
}

@ -21,7 +21,7 @@
#include <QWidget>
class KComboBox;
class QStackedWidget;
class MailMergeWidget : public QWidget
{
Q_OBJECT
@ -42,6 +42,7 @@ private slots:
private:
KComboBox *mSource;
QStackedWidget *mStackedWidget;
};
#endif // MAILMERGEWIDGET_H

@ -19,6 +19,7 @@
#include "../mailmergewidget.h"
#include <qtest_kde.h>
#include <KComboBox>
#include <QStackedWidget>
Q_DECLARE_METATYPE(MailMergeWidget::SourceType)
MailMergeWidgetTest::MailMergeWidgetTest()
@ -32,6 +33,11 @@ void MailMergeWidgetTest::shouldHaveDefaultValueOnCreation()
KComboBox *source = qFindChild<KComboBox *>(&mailmerge, QLatin1String("source"));
QVERIFY(source);
QCOMPARE(source->currentIndex(), 0);
QStackedWidget *stackedwidget = qFindChild<QStackedWidget *>(&mailmerge, QLatin1String("stackedwidget"));
QVERIFY(stackedwidget);
QCOMPARE(stackedwidget->count(), 2);
QCOMPARE(stackedwidget->currentIndex(), 0);
}
void MailMergeWidgetTest::shouldEmitSourceModeChanged()
@ -54,4 +60,19 @@ void MailMergeWidgetTest::shouldDontEmitSourceModeChangedWhenIndexIsInvalid()
QCOMPARE(spy.count(), 0);
}
void MailMergeWidgetTest::shouldChangeStackedWidgetIndexWhenChangeComboboxIndex()
{
MailMergeWidget mailmerge;
KComboBox *source = qFindChild<KComboBox *>(&mailmerge, QLatin1String("source"));
QCOMPARE(source->currentIndex(), 0);
QStackedWidget *stackedwidget = qFindChild<QStackedWidget *>(&mailmerge, QLatin1String("stackedwidget"));
QCOMPARE(stackedwidget->currentIndex(), 0);
source->setCurrentIndex(0);
QCOMPARE(stackedwidget->currentIndex(), 0);
source->setCurrentIndex(1);
QCOMPARE(stackedwidget->currentIndex(), 1);
}
QTEST_KDEMAIN( MailMergeWidgetTest, GUI )

@ -30,6 +30,7 @@ private Q_SLOTS:
void shouldHaveDefaultValueOnCreation();
void shouldEmitSourceModeChanged();
void shouldDontEmitSourceModeChangedWhenIndexIsInvalid();
void shouldChangeStackedWidgetIndexWhenChangeComboboxIndex();
};
#endif // MAILMERGEWIDGETTEST_H

Loading…
Cancel
Save