xref: /haiku/src/apps/haikudepot/ui/App.h (revision 02ccdc6fa15523ba65c224f605c3c06476b27b4b)
104c9d578SStephan Aßmus /*
204c9d578SStephan Aßmus  * Copyright 2013, Stephan Aßmus <superstippi@gmx.de>.
3*02ccdc6fSAndrew Lindesay  * Copyright 2018-2021, Andrew Lindesay <apl@lindesay.co.nz>
404c9d578SStephan Aßmus  * All rights reserved. Distributed under the terms of the MIT License.
504c9d578SStephan Aßmus  */
604c9d578SStephan Aßmus #ifndef APP_H
704c9d578SStephan Aßmus #define APP_H
804c9d578SStephan Aßmus 
904c9d578SStephan Aßmus 
1004c9d578SStephan Aßmus #include <Application.h>
1104c9d578SStephan Aßmus 
1204c9d578SStephan Aßmus 
136d519fd1SStephan Aßmus class BEntry;
1404c9d578SStephan Aßmus class MainWindow;
1504c9d578SStephan Aßmus 
1604c9d578SStephan Aßmus 
1704c9d578SStephan Aßmus class App : public BApplication {
1804c9d578SStephan Aßmus public:
1904c9d578SStephan Aßmus 								App();
2004c9d578SStephan Aßmus 	virtual						~App();
2104c9d578SStephan Aßmus 
2204c9d578SStephan Aßmus 	virtual	bool				QuitRequested();
2304c9d578SStephan Aßmus 	virtual	void				ReadyToRun();
24d309d940SAndrew Lindesay 			bool				IsFirstRun();
25d309d940SAndrew Lindesay 
2604c9d578SStephan Aßmus 	virtual	void				MessageReceived(BMessage* message);
276d519fd1SStephan Aßmus 	virtual void				RefsReceived(BMessage* message);
286d519fd1SStephan Aßmus 	virtual void				ArgvReceived(int32 argc, char* argv[]);
2904c9d578SStephan Aßmus 
3004c9d578SStephan Aßmus private:
313369e03dSAndrew Lindesay 			void				_AlertSimpleError(BMessage* message);
326d519fd1SStephan Aßmus 			void				_Open(const BEntry& entry);
336d519fd1SStephan Aßmus 			void				_ShowWindow(MainWindow* window);
3404c9d578SStephan Aßmus 
356d519fd1SStephan Aßmus 			bool				_LoadSettings(BMessage& settings);
366d519fd1SStephan Aßmus 			void				_StoreSettings(const BMessage& windowSettings);
376d519fd1SStephan Aßmus 
38474b9e09SStephan Aßmus 			void				_CheckPackageDaemonRuns();
39474b9e09SStephan Aßmus 			bool				_LaunchPackageDaemon();
40474b9e09SStephan Aßmus 
4132ed7659SAndrew Lindesay 			bool				_CheckTestFile();
42d309d940SAndrew Lindesay 	static	bool				_CheckIsFirstRun();
43*02ccdc6fSAndrew Lindesay 			void				_ClearCacheOnVersionChange();
4432ed7659SAndrew Lindesay 
456d519fd1SStephan Aßmus private:
4604c9d578SStephan Aßmus 			MainWindow*			fMainWindow;
476d519fd1SStephan Aßmus 			int32				fWindowCount;
486d519fd1SStephan Aßmus 
496d519fd1SStephan Aßmus 			BMessage			fSettings;
506d519fd1SStephan Aßmus 			bool				fSettingsRead;
51d309d940SAndrew Lindesay 
52d309d940SAndrew Lindesay 			bool				fIsFirstRun;
5304c9d578SStephan Aßmus };
5404c9d578SStephan Aßmus 
5504c9d578SStephan Aßmus 
5604c9d578SStephan Aßmus #endif // APP_H
57