xref: /haiku/src/preferences/notifications/NotificationsView.h (revision fce4895d1884da5ae6fb299d23c735c598e690b1)
1 /*
2  * Copyright 2010, Haiku, Inc. All Rights Reserved.
3  * Copyright 2009, Pier Luigi Fiorini.
4  * Distributed under the terms of the MIT License.
5  */
6 #ifndef _APPS_VIEW_H
7 #define _APPS_VIEW_H
8 
9 #include <View.h>
10 
11 #include <notification/AppUsage.h>
12 
13 #include "SettingsPane.h"
14 
15 typedef std::map<BString, AppUsage *> appusage_t;
16 
17 class BCheckBox;
18 class BTextControl;
19 class BColumnListView;
20 class BStringColumn;
21 class BDateColumn;
22 
23 class NotificationsView : public SettingsPane {
24 public:
25 								NotificationsView(SettingsHost* host);
26 
27 	virtual	void				AttachedToWindow();
28 	virtual	void				MessageReceived(BMessage* msg);
29 
30 private:
31 			status_t			Load(BMessage&);
32 			status_t			Save(BMessage&);
33 			status_t			Revert() {return B_OK;} // FIXME implement this
34 			void				_PopulateApplications();
35 			void				_Populate(AppUsage* usage);
36 
37 			appusage_t			fAppFilters;
38 			BCheckBox*			fBlockAll;
39 			BTextControl*		fSearch;
40 			BColumnListView*	fApplications;
41 			BStringColumn*		fAppCol;
42 			BStringColumn*		fAppEnabledCol;
43 			BColumnListView*	fNotifications;
44 			BStringColumn*		fTitleCol;
45 			BDateColumn*		fDateCol;
46 			BStringColumn*		fTypeCol;
47 			BStringColumn*		fAllowCol;
48 };
49 
50 #endif // _APPS_VIEW_H
51