10 #include "generalinfowidget.h"
11 #include "../widgets/imagewidget.h"
12 #include "blogfeedwidget.h"
13 #include "categorieseditwidget.h"
14 #include "mail/maillistwidget.h"
15 #include "messageformattingwidget.h"
16 #include "messaging/messaginglistwidget.h"
17 #include "namewidget.h"
18 #include "nicknamewidget.h"
19 #include "phone/phonelistwidget.h"
20 #include "web/weblistwidget.h"
21 #include <KLocalizedString>
22 #include <KPluginFactory>
23 #include <QHBoxLayout>
25 #include <QVBoxLayout>
26 using namespace ContactEditor;
28 GeneralInfoWidget::GeneralInfoWidget(
QWidget *parent)
30 , mPhoneListWidget(new PhoneListWidget(this))
31 , mWebListWidget(new WebListWidget(this))
32 , mMessagingListWidget(new MessagingListWidget(this))
33 , mMailListWidget(new MailListWidget(this))
34 , mPhotoWidget(new ImageWidget(ImageWidget::Photo))
35 , mNameWidget(new NameWidget(this))
36 , mNickNameWidget(new NicknameWidget(this))
37 , mBlogFeedWidget(new BlogfeedWidget(this))
38 , mMessageFormattingWidget(new MessageFormattingWidget(this))
44 mPhotoWidget->setObjectName(QStringLiteral(
"photowidget"));
45 photoLayout->addWidget(mPhotoWidget);
46 photoLayout->addStretch(1);
54 mNameWidget->setObjectName(QStringLiteral(
"namewidget"));
55 leftLayout->addWidget(mNameWidget);
57 mNickNameWidget->setObjectName(QStringLiteral(
"nicknamewidget"));
58 rightLayout->addWidget(mNickNameWidget);
60 mPhoneListWidget->setObjectName(QStringLiteral(
"phonelistwidget"));
61 leftLayout->addWidget(mPhoneListWidget);
63 mWebListWidget->setObjectName(QStringLiteral(
"weblistwidget"));
64 leftLayout->addWidget(mWebListWidget);
66 mMessagingListWidget->setObjectName(QStringLiteral(
"messaginglistwidget"));
67 rightLayout->addWidget(mMessagingListWidget);
69 mMailListWidget->setObjectName(QStringLiteral(
"maillistwidget"));
70 rightLayout->addWidget(mMailListWidget);
72 auto categoryWidget =
new QWidget(
this);
73 auto categoryWidgetLayout =
new QVBoxLayout(categoryWidget);
74 categoryWidgetLayout->setContentsMargins({});
76 label->setObjectName(QStringLiteral(
"categorylabel"));
77 categoryWidgetLayout->addWidget(label);
79 const KPluginMetaData editWidgetPlugin(QStringLiteral(
"pim" QT_STRINGIFY(QT_VERSION_MAJOR))
80 + QStringLiteral(
"/akonadi/contacts/plugins/categorieseditwidgetplugin"));
81 const auto result = KPluginFactory::instantiatePlugin<ContactEditor::CategoriesEditAbstractWidget>(editWidgetPlugin,
parent);
84 mCategoriesWidget = result.plugin;
87 label->setVisible(
false);
90 mCategoriesWidget->setObjectName(QStringLiteral(
"categories"));
91 categoryWidgetLayout->addWidget(mCategoriesWidget);
92 leftLayout->addWidget(categoryWidget);
94 mBlogFeedWidget->setObjectName(QStringLiteral(
"blogfeed"));
95 rightLayout->addWidget(mBlogFeedWidget);
97 mMessageFormattingWidget->setObjectName(QStringLiteral(
"mMessageFormattingWidget"));
98 leftLayout->addWidget(mMessageFormattingWidget);
100 leftLayout->addStretch(1);
101 rightLayout->addStretch(1);
104 GeneralInfoWidget::~GeneralInfoWidget() =
default;
108 mNameWidget->setDisplayType(type);
113 return mNameWidget->displayType();
118 mPhoneListWidget->loadContact(contact);
119 mWebListWidget->loadContact(contact);
120 mMessagingListWidget->loadContact(contact);
121 mMailListWidget->loadContact(contact);
122 mNameWidget->loadContact(contact);
123 mNickNameWidget->loadContact(contact);
124 mBlogFeedWidget->loadContact(contact);
125 mPhotoWidget->loadContact(contact);
126 mCategoriesWidget->loadContact(contact);
127 mMessageFormattingWidget->loadContact(contact);
132 mPhoneListWidget->storeContact(contact);
133 mWebListWidget->storeContact(contact);
134 mMessagingListWidget->storeContact(contact);
135 mMailListWidget->storeContact(contact);
136 mNameWidget->storeContact(contact);
137 mNickNameWidget->storeContact(contact);
138 mBlogFeedWidget->storeContact(contact);
139 mPhotoWidget->storeContact(contact);
140 mCategoriesWidget->storeContact(contact);
141 mMessageFormattingWidget->storeContact(contact);
144 void GeneralInfoWidget::setReadOnly(
bool readOnly)
146 mPhoneListWidget->setReadOnly(readOnly);
147 mWebListWidget->setReadOnly(readOnly);
148 mMessagingListWidget->setReadOnly(readOnly);
149 mMailListWidget->setReadOnly(readOnly);
150 mNameWidget->setReadOnly(readOnly);
151 mNickNameWidget->setReadOnly(readOnly);
152 mPhotoWidget->setReadOnly(readOnly);
153 mCategoriesWidget->setReadOnly(readOnly);
154 mMessageFormattingWidget->setReadOnly(readOnly);
155 mBlogFeedWidget->setReadOnly(readOnly);