xref: /haiku/src/apps/haikudepot/ui/App.h (revision cbe0a0c436162d78cc3f92a305b64918c839d079)
1 /*
2  * Copyright 2013, Stephan Aßmus <superstippi@gmx.de>.
3  * Copyright 2018-2021, Andrew Lindesay <apl@lindesay.co.nz>
4  * All rights reserved. Distributed under the terms of the MIT License.
5  */
6 #ifndef APP_H
7 #define APP_H
8 
9 
10 #include <Application.h>
11 
12 
13 class BEntry;
14 class MainWindow;
15 
16 
17 class App : public BApplication {
18 public:
19 								App();
20 	virtual						~App();
21 
22 	virtual	bool				QuitRequested();
23 	virtual	void				ReadyToRun();
24 			bool				IsFirstRun();
25 
26 	virtual	void				MessageReceived(BMessage* message);
27 	virtual void				RefsReceived(BMessage* message);
28 	virtual void				ArgvReceived(int32 argc, char* argv[]);
29 
30 private:
31 			void				_AlertSimpleError(BMessage* message);
32 			void				_Open(const BEntry& entry);
33 			void				_ShowWindow(MainWindow* window);
34 
35 			bool				_LoadSettings(BMessage& settings);
36 			void				_StoreSettings(const BMessage& windowSettings);
37 
38 			void				_CheckPackageDaemonRuns();
39 			bool				_LaunchPackageDaemon();
40 
41 			bool				_CheckTestFile();
42 	static	bool				_CheckIsFirstRun();
43 			void				_ClearCacheOnVersionChange();
44 
45 private:
46 			MainWindow*			fMainWindow;
47 			int32				fWindowCount;
48 
49 			BMessage			fSettings;
50 			bool				fSettingsRead;
51 
52 			bool				fIsFirstRun;
53 };
54 
55 
56 #endif // APP_H
57