+void FilterPanel::showEvent(QShowEvent* event)
+{
+ if (event->spontaneous()) {
+ Panel::showEvent(event);
+ return;
+ }
+
+ if (!m_initialized) {
+ QVBoxLayout* layout = new QVBoxLayout(this);
+ Q_ASSERT(m_removeFolderRestrictionButton == 0);
+ m_removeFolderRestrictionButton = new QPushButton(i18n("Remove folder restriction"), this);
+ connect(m_removeFolderRestrictionButton, SIGNAL(clicked()), SLOT(slotRemoveFolderRestrictionClicked()));
+
+ layout->addWidget(m_removeFolderRestrictionButton);
+
+ Q_ASSERT(m_facetWidget == 0);
+ m_facetWidget = new Nepomuk::Utils::FacetWidget(this);
+ layout->addWidget(m_facetWidget, 1);
+
+ m_facetWidget->addFacet(Nepomuk::Utils::Facet::createFileTypeFacet());
+ m_facetWidget->addFacet(Nepomuk::Utils::Facet::createDateFacet());
+ m_facetWidget->addFacet(Nepomuk::Utils::Facet::createRatingFacet());
+ m_facetWidget->addFacet(Nepomuk::Utils::Facet::createTagFacet());
+
+ Q_ASSERT(m_lastSetUrlStatJob == 0);
+ m_lastSetUrlStatJob = KIO::stat(url(), KIO::HideProgressInfo);
+ connect(m_lastSetUrlStatJob, SIGNAL(result(KJob*)),
+ this, SLOT(slotSetUrlStatFinished(KJob*)));
+
+ connect(m_facetWidget, SIGNAL(facetsChanged()), this, SLOT(slotFacetsChanged()));
+
+ m_initialized = true;
+ }
+
+ Panel::showEvent(event);
+}
+