28 #include <QtCore/QPointer>
29 #include <QtGui/QLabel>
30 #include <QtGui/QScrollArea>
31 #include <QtGui/QVBoxLayout>
33 using namespace KDEPrivate;
35 class KFileMetaPropsPlugin::KFileMetaPropsPluginPrivate
38 KFileMetaPropsPluginPrivate();
39 ~KFileMetaPropsPluginPrivate();
40 void configureShownMetaData();
45 KFileMetaPropsPlugin::KFileMetaPropsPluginPrivate::KFileMetaPropsPluginPrivate() :
46 m_fileMetaDataWidget(0)
50 KFileMetaPropsPlugin::KFileMetaPropsPluginPrivate::~KFileMetaPropsPluginPrivate()
54 void KFileMetaPropsPlugin::KFileMetaPropsPluginPrivate::configureShownMetaData()
56 QPointer<KDialog> dialog =
new KDialog();
57 dialog->setCaption(
i18nc(
"@title:window",
"Configure Shown Data"));
62 "Select which data should "
64 descriptionLabel->setWordWrap(
true);
71 QVBoxLayout* topLayout =
new QVBoxLayout(mainWidget);
72 topLayout->addWidget(descriptionLabel);
73 topLayout->addWidget(configWidget);
74 dialog->setMainWidget(mainWidget);
77 dialog->restoreDialogSize(dialogConfig);
79 if ((dialog->exec() == QDialog::Accepted) && (dialog != 0)) {
86 m_fileMetaDataWidget->setItems(items);
90 dialog->saveDialogSize(dialogConfig);
105 QVBoxLayout* containerLayout =
new QVBoxLayout(metaDataWidgetContainer);
106 containerLayout->addWidget(d->m_fileMetaDataWidget);
108 stretchWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding);
109 containerLayout->addWidget(stretchWidget);
113 QScrollArea* metaDataArea =
new QScrollArea();
114 metaDataArea->setWidget(metaDataWidgetContainer);
115 metaDataArea->setWidgetResizable(
true);
116 metaDataArea->setFrameShape(QFrame::NoFrame);
119 QLabel* configureLabel =
new QLabel(
"<a href=\"configure\">" +
120 i18nc(
"@action:button",
"Configure...") +
122 connect(configureLabel, SIGNAL(linkActivated(
QString)),
123 this, SLOT(configureShownMetaData()));
126 QVBoxLayout* mainLayout =
new QVBoxLayout(mainWidget);
127 mainLayout->addWidget(metaDataArea);
128 mainLayout->addWidget(configureLabel, 0, Qt::AlignRight);
148 #include "kmetaprops.moc"