diff --git a/src/filemetadataconfigwidget.h b/src/filemetadataconfigwidget.h --- a/src/filemetadataconfigwidget.h +++ b/src/filemetadataconfigwidget.h @@ -61,8 +61,8 @@ /** @see QWidget::sizeHint() */ QSize sizeHint() const override; -protected: - bool event(QEvent* event) override; +Q_SIGNALS: + void metadataLoaded(); private: class Private; diff --git a/src/filemetadataconfigwidget.cpp b/src/filemetadataconfigwidget.cpp --- a/src/filemetadataconfigwidget.cpp +++ b/src/filemetadataconfigwidget.cpp @@ -27,7 +27,7 @@ #include #include #include -#include +#include using namespace Baloo; @@ -143,8 +143,11 @@ addItem("rating"); addItem("tags"); addItem("userComment"); + + emit q->metadataLoaded(); } + FileMetaDataConfigWidget::FileMetaDataConfigWidget(QWidget* parent) : QWidget(parent), d(new Private(this)) @@ -183,20 +186,12 @@ showGroup.sync(); } -bool FileMetaDataConfigWidget::event(QEvent* event) -{ - if (event->type() == QEvent::Polish) { - qDebug() << "GOT POLISH EVENT!!!"; - // loadMetaData() must be invoked asynchronously, as the list - // must finish it's initialization first - QMetaObject::invokeMethod(this, "loadMetaData", Qt::QueuedConnection); - } - return QWidget::event(event);; -} - QSize FileMetaDataConfigWidget::sizeHint() const { - return d->m_metaDataList->sizeHint(); + const QFontMetrics metrics(d->m_metaDataList->font()); + const int lineHeight = metrics.height() + 10; // the added pixel account for the pixels added due to the checkbox + QSize size = QSize(20, d->m_metaDataList->count() * lineHeight); + return size; } #include "moc_filemetadataconfigwidget.cpp"