• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

kmail

  • sources
  • kde-4.14
  • kdepim
  • kmail
  • mailmerge
  • widgets
mailmergewidget.cpp
Go to the documentation of this file.
1 /*
2  Copyright (c) 2014-2015 Montel Laurent <montel@kde.org>
3 
4  This program is free software; you can redistribute it and/or modify it
5  under the terms of the GNU General Public License, version 2, as
6  published by the Free Software Foundation.
7 
8  This program is distributed in the hope that it will be useful, but
9  WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  General Public License for more details.
12 
13  You should have received a copy of the GNU General Public License along
14  with this program; if not, write to the Free Software Foundation, Inc.,
15  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 */
17 
18 #include "mailmergewidget.h"
19 #include "../widgets/csvwidget.h"
20 #include "../widgets/addressbookwidget.h"
21 
22 #include "attachmentlistwidget.h"
23 
24 #include <KLocalizedString>
25 #include <KComboBox>
26 #include <KUrlRequester>
27 
28 #include <QHBoxLayout>
29 #include <QVBoxLayout>
30 #include <QLabel>
31 #include <QStackedWidget>
32 
33 using namespace MailMerge;
34 
35 MailMergeWidget::MailMergeWidget(QWidget *parent)
36  : QWidget(parent)
37 {
38  QVBoxLayout *vbox = new QVBoxLayout;
39  setLayout(vbox);
40 
41  QHBoxLayout *hbox = new QHBoxLayout;
42  vbox->addLayout(hbox);
43 
44  QLabel *lab = new QLabel(i18n("Source:"));
45  hbox->addWidget(lab);
46 
47  mSource = new KComboBox;
48  mSource->setObjectName(QLatin1String("source"));
49  mSource->addItem(i18n("Address Book"), AddressBook);
50  mSource->addItem(i18n("CSV"), CSV);
51  connect(mSource, SIGNAL(currentIndexChanged(int)), this, SLOT(slotSourceChanged(int)));
52  connect(mSource, SIGNAL(activated(int)), this, SLOT(slotSourceChanged(int)));
53 
54  hbox->addWidget(mSource);
55 
56  mStackedWidget = new QStackedWidget;
57  mStackedWidget->setObjectName(QLatin1String("stackedwidget"));
58  vbox->addWidget(mStackedWidget);
59 
60  mAddressbookWidget = new MailMerge::AddressBookWidget;
61  mAddressbookWidget->setObjectName(QLatin1String("addressbookwidget"));
62  mStackedWidget->addWidget(mAddressbookWidget);
63 
64  mCsvWidget = new MailMerge::CsvWidget;
65  mCsvWidget->setObjectName(QLatin1String("csvwidget"));
66 
67  mStackedWidget->addWidget(mCsvWidget);
68 
69  lab = new QLabel(i18n("Attachment:"));
70  vbox->addWidget(lab);
71 
72  PimCommon::SimpleStringListEditor::ButtonCode buttonCode =
73  static_cast<PimCommon::SimpleStringListEditor::ButtonCode>( PimCommon::SimpleStringListEditor::Add | PimCommon::SimpleStringListEditor::Remove | PimCommon::SimpleStringListEditor::Modify );
74  mAttachment = new AttachmentListWidget( this, buttonCode,
75  i18n("A&dd..."), i18n("Re&move"),
76  i18n("Mod&ify..."));
77  mAttachment->setObjectName(QLatin1String("attachment-list"));
78 
79  vbox->addWidget(mAttachment);
80  vbox->addStretch();
81 }
82 
83 
84 MailMergeWidget::~MailMergeWidget()
85 {
86 
87 }
88 
89 void MailMergeWidget::slotSourceChanged(int index)
90 {
91  if (index != -1) {
92  Q_EMIT sourceModeChanged(static_cast<SourceType>(mSource->itemData(index).toInt()));
93  mStackedWidget->setCurrentIndex(index);
94  }
95 }
QWidget
MailMerge::MailMergeWidget::CSV
Definition: mailmergewidget.h:36
QHBoxLayout
MailMerge::MailMergeWidget::AddressBook
Definition: mailmergewidget.h:35
MailMerge::MailMergeWidget::~MailMergeWidget
~MailMergeWidget()
Definition: mailmergewidget.cpp:84
QBoxLayout::addWidget
void addWidget(QWidget *widget, int stretch, QFlags< Qt::AlignmentFlag > alignment)
attachmentlistwidget.h
QWidget::setLayout
void setLayout(QLayout *layout)
QObject::setObjectName
void setObjectName(const QString &name)
QStackedWidget::setCurrentIndex
void setCurrentIndex(int index)
MailMerge::CsvWidget
Definition: csvwidget.h:26
QVBoxLayout
QStackedWidget
MailMerge::MailMergeWidget::MailMergeWidget
MailMergeWidget(QWidget *parent=0)
Definition: mailmergewidget.cpp:35
MailMerge::AttachmentListWidget
Definition: attachmentlistwidget.h:25
QLatin1String
QBoxLayout::addStretch
void addStretch(int stretch)
mailmergewidget.h
KComboBox
MailMerge::MailMergeWidget::sourceModeChanged
void sourceModeChanged(MailMerge::MailMergeWidget::SourceType)
QStackedWidget::addWidget
int addWidget(QWidget *widget)
QObject::connect
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
QLabel
MailMerge::AddressBookWidget
Definition: addressbookwidget.h:23
QBoxLayout::addLayout
void addLayout(QLayout *layout, int stretch)
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:34:33 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kmail

Skip menu "kmail"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer
  • pimprint

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal