diff options
| author | Peter Penz <[email protected]> | 2010-10-27 13:35:24 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2010-10-27 13:35:24 +0000 |
| commit | 90d6867a5e892fb34c0dd6706d96a039572449b4 (patch) | |
| tree | ce1728cefa52b5729fedcf8efea1b345608f347c /src/panels/facets/facetpanel.cpp | |
| parent | 6e34ec835d495ea3c8c385f12bb493c8f7dfea15 (diff) | |
Rename FacetPanel to FilterPanel so that the name reflects the headline.
svn path=/trunk/KDE/kdebase/apps/; revision=1190370
Diffstat (limited to 'src/panels/facets/facetpanel.cpp')
| -rw-r--r-- | src/panels/facets/facetpanel.cpp | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/src/panels/facets/facetpanel.cpp b/src/panels/facets/facetpanel.cpp deleted file mode 100644 index 3c930209c..000000000 --- a/src/panels/facets/facetpanel.cpp +++ /dev/null @@ -1,128 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2010 by Sebastian Trueg <[email protected]> * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ - -#include "facetpanel.h" - -#include <nepomuk/filequery.h> -#include <nepomuk/facetwidget.h> -#include <Nepomuk/Query/FileQuery> -#include <Nepomuk/Query/Term> - -#include <kfileitem.h> -#include <kio/jobclasses.h> -#include <kio/job.h> - -#include <QtGui/QVBoxLayout> -#include <QtGui/QTreeView> -#include <QtGui/QPushButton> -#include <kdebug.h> - - -FacetPanel::FacetPanel(QWidget* parent) - : Panel(parent) -{ - QVBoxLayout* layout = new QVBoxLayout(this); - m_buttonRemoveFolderRestriction = new QPushButton( i18n( "Remove folder restriction" ), this ); - connect( m_buttonRemoveFolderRestriction, SIGNAL( clicked() ), SLOT( slotRemoveFolderRestrictionClicked() ) ); - - layout->addWidget(m_buttonRemoveFolderRestriction); - - m_facetWidget = new Nepomuk::Utils::FacetWidget( this ); - layout->addWidget( m_facetWidget, 1 ); - connect(m_facetWidget, SIGNAL(facetsChanged()), this, SLOT(slotFacetsChanged()) ); - - // init to empty panel - setQuery(Nepomuk::Query::Query()); -} - - -FacetPanel::~FacetPanel() -{ -} - -void FacetPanel::setUrl(const KUrl& url) -{ - kDebug() << url; - Panel::setUrl(url); - - // disable us - setQuery(Nepomuk::Query::Query()); - - // get the query from the item - m_lastSetUrlStatJob = KIO::stat(url, KIO::HideProgressInfo); - connect(m_lastSetUrlStatJob, SIGNAL(result(KJob*)), - this, SLOT(slotSetUrlStatFinished(KJob*))); -} - - -void FacetPanel::setQuery(const Nepomuk::Query::Query& query) -{ - kDebug() << query << query.isValid() << query.toSparqlQuery(); - - if (query.isValid()) { - m_buttonRemoveFolderRestriction->setVisible( query.isFileQuery() && !query.toFileQuery().includeFolders().isEmpty() ); - m_unfacetedRestQuery = query; - m_unfacetedRestQuery.setTerm( m_facetWidget->extractFacetsFromTerm( query.term() ) ); - m_facetWidget->setClientQuery( query ); - kDebug() << "Rest query after facets:" << m_unfacetedRestQuery; - setEnabled(true); - } - else { - m_unfacetedRestQuery = Nepomuk::Query::Query(); - setEnabled(false); - } -} - - -void FacetPanel::slotSetUrlStatFinished(KJob* job) -{ - m_lastSetUrlStatJob = 0; - kDebug() << url(); - const KIO::UDSEntry uds = static_cast<KIO::StatJob*>(job)->statResult(); - const QString nepomukQueryStr = uds.stringValue( KIO::UDSEntry::UDS_NEPOMUK_QUERY ); - kDebug() << nepomukQueryStr; - Nepomuk::Query::FileQuery nepomukQuery; - if ( !nepomukQueryStr.isEmpty() ) { - nepomukQuery = Nepomuk::Query::Query::fromString( nepomukQueryStr ); - } - else if ( url().isLocalFile() ) { - // fallback query for local file URLs - nepomukQuery.addIncludeFolder(url(), false); - } - kDebug() << nepomukQuery; - setQuery(nepomukQuery); -} - - -void FacetPanel::slotFacetsChanged() -{ - Nepomuk::Query::Query query( m_unfacetedRestQuery && m_facetWidget->queryTerm() ); - kDebug() << query; - emit urlActivated( query.toSearchUrl() ); -} - - -void FacetPanel::slotRemoveFolderRestrictionClicked() -{ - Nepomuk::Query::FileQuery query( m_unfacetedRestQuery && m_facetWidget->queryTerm() ); - query.setIncludeFolders( KUrl::List() ); - query.setExcludeFolders( KUrl::List() ); - m_facetWidget->setClientQuery( query ); - emit urlActivated( query.toSearchUrl() ); -} |
