File indexing completed on 2024-05-19 05:14:37
0001 /* 0002 This file is part of KAddressBook. 0003 0004 SPDX-FileCopyrightText: 2009-2024 Laurent Montel <montel@kde.org> 0005 0006 SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #include "kaddressbookpart.h" 0010 #include "mainwidget.h" 0011 0012 #include "kaddressbook_debug.h" 0013 #include <KActionCollection> 0014 #include <KLocalizedString> 0015 #include <KPluginFactory> 0016 #include <QAction> 0017 #include <QIcon> 0018 0019 #include <QVBoxLayout> 0020 0021 K_PLUGIN_FACTORY(KAddressBookFactory, registerPlugin<KAddressBookPart>();) 0022 0023 KAddressBookPart::KAddressBookPart(QWidget *parentWidget, QObject *parent, const KPluginMetaData &data, const QVariantList &) 0024 : KParts::Part(parent, data) 0025 { 0026 setComponentName(QStringLiteral("kaddressbook"), i18n("KAddressBook")); 0027 0028 // create a canvas to insert our widget 0029 auto canvas = new QWidget(parentWidget); 0030 canvas->setFocusPolicy(Qt::ClickFocus); 0031 setWidget(canvas); 0032 auto topLayout = new QVBoxLayout(canvas); 0033 0034 mMainWidget = new MainWidget(this, canvas); 0035 initAction(); 0036 0037 topLayout->addWidget(mMainWidget); 0038 topLayout->setContentsMargins({}); 0039 setXMLFile(QStringLiteral("kaddressbookui_part.rc")); 0040 } 0041 0042 void KAddressBookPart::updateQuickSearchText() 0043 { 0044 mMainWidget->updateQuickSearchText(); 0045 } 0046 0047 void KAddressBookPart::initAction() 0048 { 0049 auto action = new QAction(QIcon::fromTheme(QStringLiteral("configure")), i18n("&Configure KAddressBook..."), this); 0050 actionCollection()->addAction(QStringLiteral("kaddressbook_configure"), action); 0051 connect(action, &QAction::triggered, mMainWidget, &MainWidget::configure); 0052 } 0053 0054 void KAddressBookPart::newContact() 0055 { 0056 mMainWidget->newContact(); 0057 } 0058 0059 void KAddressBookPart::newGroup() 0060 { 0061 mMainWidget->newGroup(); 0062 } 0063 0064 KAddressBookPart::~KAddressBookPart() = default; 0065 0066 void KAddressBookPart::guiActivateEvent(KParts::GUIActivateEvent *e) 0067 { 0068 KParts::Part::guiActivateEvent(e); 0069 mMainWidget->initializePluginActions(); 0070 } 0071 0072 #include "kaddressbookpart.moc" 0073 0074 #include "moc_kaddressbookpart.cpp"