2 * Copyright (C) 2011 Canonical, Ltd.
5 * Florian Boucault <florian.boucault@canonical.com>
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; version 3.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
24#include "ratingsfilter.h"
25#include "radiooptionfilter.h"
26#include "checkoptionfilter.h"
27#include "multirangefilter.h"
30#include <UnityCore/Filter.h>
31#include <UnityCore/RatingsFilter.h>
32#include <UnityCore/RadioOptionFilter.h>
33#include <UnityCore/CheckOptionFilter.h>
34#include <UnityCore/MultiRangeFilter.h>
39Filter::Filter(QObject *parent) :
45QString Filter::id() const
47 return QString::fromStdString(m_unityFilter->id());
50QString Filter::name() const
52 return QString::fromStdString(m_unityFilter->name());
55QString Filter::iconHint() const
57 return QString::fromStdString(m_unityFilter->icon_hint());
60QString Filter::rendererName() const
62 return QString::fromStdString(m_unityFilter->renderer_name());
65bool Filter::visible() const
67 return m_unityFilter->visible();
70bool Filter::collapsed() const
72 return m_unityFilter->collapsed();
75bool Filter::filtering() const
77 return m_unityFilter->filtering();
82 m_unityFilter->Clear();
86void Filter::setUnityFilter(unity::dash::Filter::Ptr unityFilter)
88 if (m_unityFilter != NULL) {
89 // FIXME: should disconnect from m_unityFilter's signals
92 m_unityFilter = unityFilter;
94 /* Property change signals */
95 m_unityFilter->id.changed.connect(sigc::mem_fun(this, &Filter::idChanged));
96 m_unityFilter->name.changed.connect(sigc::mem_fun(this, &Filter::nameChanged));
97 m_unityFilter->icon_hint.changed.connect(sigc::mem_fun(this, &Filter::iconHintChanged));
98 m_unityFilter->renderer_name.changed.connect(sigc::mem_fun(this, &Filter::rendererNameChanged));
99 m_unityFilter->visible.changed.connect(sigc::mem_fun(this, &Filter::visibleChanged));
100 m_unityFilter->collapsed.changed.connect(sigc::mem_fun(this, &Filter::collapsedChanged));
101 m_unityFilter->filtering.changed.connect(sigc::mem_fun(this, &Filter::filteringChanged));
103 /* Signals forwarding */
104 m_unityFilter->removed.connect(sigc::mem_fun(this, &Filter::removed));
107Filter* Filter::newFromUnityFilter(unity::dash::Filter::Ptr unityFilter)
111 if (typeid(*unityFilter) == typeid(unity::dash::RatingsFilter)) {
112 filter = new RatingsFilter;
113 } else if (typeid(*unityFilter) == typeid(unity::dash::CheckOptionFilter)) {
114 filter = new CheckOptionFilter;
115 } else if (typeid(*unityFilter) == typeid(unity::dash::RadioOptionFilter)) {
116 filter = new RadioOptionFilter;
117 } else if (typeid(*unityFilter) == typeid(unity::dash::MultiRangeFilter)) {
118 filter = new MultiRangeFilter;
120 qWarning() << "Filter of unknown type: " << typeid(*unityFilter).name();
124 filter->setUnityFilter(unityFilter);
128bool Filter::hasUnityFilter(unity::dash::Filter::Ptr unityFilter) const
130 return m_unityFilter == unityFilter;
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list