File indexing completed on 2024-06-09 05:06:27
0001 /* 0002 SPDX-FileCopyrightText: 2003 Laurence Anderson <l.d.anderson@warwick.ac.uk> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 // Local includes 0008 #include "manualselectfilterpage.h" 0009 0010 // Filter includes 0011 #include <MailImporter/FilterEvolution> 0012 #include <MailImporter/FilterEvolution_v2> 0013 #include <MailImporter/FilterIcedove> 0014 #include <MailImporter/FilterKMailArchive> 0015 #include <MailImporter/FilterKMail_maildir> 0016 #include <MailImporter/FilterLNotes> 0017 #include <MailImporter/FilterMBox> 0018 #include <MailImporter/FilterMailApp> 0019 #include <MailImporter/FilterMailmanGzip> 0020 #include <MailImporter/FilterOE> 0021 #include <MailImporter/FilterOpera> 0022 #include <MailImporter/FilterPMail> 0023 #include <MailImporter/FilterPlain> 0024 #include <MailImporter/FilterSylpheed> 0025 #include <MailImporter/FilterTheBat> 0026 #include <MailImporter/FilterThunderbird> 0027 0028 #include <MailImporter/Filters> 0029 0030 #include <MailImporter/FilterEvolution_v3> 0031 0032 // KDE includes 0033 0034 #include <KLocalizedString> 0035 0036 // Qt includes 0037 #include <QCheckBox> 0038 0039 #include <QStandardPaths> 0040 0041 using namespace MailImporter; 0042 0043 ManualSelectFilterPage::ManualSelectFilterPage(QWidget *parent) 0044 : QWidget(parent) 0045 , mWidget(new Ui::ManualSelectFilterPage) 0046 { 0047 mWidget->setupUi(this); 0048 mWidget->mIntroSidebar->setPixmap(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("importwizard/pics/step1.png"))); 0049 connect(mWidget->mFilterCombo, &QComboBox::activated, this, &ManualSelectFilterPage::filterSelected); 0050 0051 addFilter(new MailImporter::FilterKMailArchive); 0052 addFilter(new MailImporter::FilterMBox); 0053 addFilter(new MailImporter::FilterEvolution); 0054 addFilter(new MailImporter::FilterEvolution_v2); 0055 addFilter(new MailImporter::FilterEvolution_v3); 0056 addFilter(new MailImporter::FilterKMail_maildir); 0057 addFilter(new MailImporter::FilterMailApp); 0058 addFilter(new MailImporter::FilterOpera); 0059 addFilter(new MailImporter::FilterSylpheed); 0060 addFilter(new MailImporter::FilterThunderbird); 0061 addFilter(new MailImporter::FilterIcedove); 0062 addFilter(new MailImporter::FilterTheBat); 0063 addFilter(new MailImporter::FilterOE); 0064 addFilter(new MailImporter::FilterPMail); 0065 addFilter(new MailImporter::FilterLNotes); 0066 addFilter(new MailImporter::FilterPlain); 0067 addFilter(new MailImporter::FilterMailmanGzip); 0068 0069 // Ensure we return the correct type of Akonadi collection. 0070 mWidget->mCollectionRequestor->setMustBeReadWrite(true); 0071 } 0072 0073 ManualSelectFilterPage::~ManualSelectFilterPage() 0074 { 0075 qDeleteAll(mFilterList); 0076 mFilterList.clear(); 0077 delete mWidget; 0078 } 0079 0080 void ManualSelectFilterPage::filterSelected(int i) 0081 { 0082 QString info = mFilterList.at(i)->info(); 0083 const QString author = mFilterList.at(i)->author(); 0084 if (!author.isEmpty()) { 0085 info += i18n("<p><i>Written by %1.</i></p>", author); 0086 } 0087 mWidget->mDesc->setText(info); 0088 } 0089 0090 void ManualSelectFilterPage::addFilter(Filter *f) 0091 { 0092 mFilterList.append(f); 0093 mWidget->mFilterCombo->addItem(f->name()); 0094 if (mWidget->mFilterCombo->count() == 1) { 0095 filterSelected(0); // Setup description box with fist filter selected 0096 } 0097 } 0098 0099 bool ManualSelectFilterPage::removeDupMsg_checked() const 0100 { 0101 return mWidget->remDupMsg->isChecked(); 0102 } 0103 0104 Filter *ManualSelectFilterPage::getSelectedFilter() const 0105 { 0106 return mFilterList.at(mWidget->mFilterCombo->currentIndex()); 0107 } 0108 0109 Ui::ManualSelectFilterPage *ManualSelectFilterPage::widget() const 0110 { 0111 return mWidget; 0112 } 0113 0114 #include "moc_manualselectfilterpage.cpp"