Scrollbar always on
[shopper.git] / src / ui / ListView.h
blob0af0bac67854a706a947eb2da1a3505cfcd6692d
1 /* Shopper
2 * Copyright (C) 2008 David Greaves <david@dgreaves.com>
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
14 * You should have received a copy of the GNU Library General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
19 #ifndef SHOPPER_UI_LISTVIEW_H
20 #define SHOPPER_UI_LISTVIEW_H
22 #include "shopperList.h"
23 #include "LabelEntry.h"
24 #include "ItemView.h"
25 #include "QFingerScrollArea.h"
26 #include <QVBoxLayout>
27 #include <QFrame>
29 using namespace std;
30 namespace Shopper
32 // This class displays and manages a list.
33 class ListView: public QFingerScrollArea
35 Q_OBJECT;
36 public:
37 ListView(Shopper::List &l, QWidget *parent);
38 ~ListView();
40 void filter_by(Shopper::Category &c); // Only view certain categories
41 void updateVisibility();
43 private:
44 void setup(); // should be private but show_all() is buggy AFAICT
45 void setZoom(int);
47 struct Private;
48 struct Private *p;
50 public slots:
51 // signal handlers
52 void list_changed();
53 void active_cat_changed();
54 void list_reordered();
55 void zoomIn();
56 void zoomOut();
57 void add_cat(Category*);
58 void del_cat(Category*);
59 // void add_item(Item*);
60 // void del_item(Item*);
64 #endif // SHOPPER_UI_LISTVIEW_H