175ffc858Sstippi /* 275ffc858Sstippi * Copyright (C) 2010 Stephan Aßmus <superstippi@gmx.de> 375ffc858Sstippi * 4*b4c8efacSStephan Aßmus * All rights reserved. Distributed under the terms of the MIT License. 575ffc858Sstippi */ 69ccfda9cSstippi #ifndef DOWNLOAD_WINDOW_H 79ccfda9cSstippi #define DOWNLOAD_WINDOW_H 875ffc858Sstippi 975ffc858Sstippi 10636f175bSstippi #include <String.h> 1175ffc858Sstippi #include <Window.h> 1275ffc858Sstippi 13dd275f31Sstippi class BButton; 14a8d8342dSstippi class BFile; 15dd275f31Sstippi class BGroupLayout; 1698b056e1Sstippi class BScrollView; 17c516096eSstippi class BWebDownload; 18636f175bSstippi class SettingsMessage; 194b059d47Sstippi 209ccfda9cSstippi 2175ffc858Sstippi class DownloadWindow : public BWindow { 2275ffc858Sstippi public: 23636f175bSstippi DownloadWindow(BRect frame, bool visible, 24636f175bSstippi SettingsMessage* settings); 2575ffc858Sstippi virtual ~DownloadWindow(); 2675ffc858Sstippi 27e07fc6b7Sstippi virtual void DispatchMessage(BMessage* message, 28e07fc6b7Sstippi BHandler* target); 299ccfda9cSstippi virtual void MessageReceived(BMessage* message); 3075ffc858Sstippi virtual bool QuitRequested(); 3175ffc858Sstippi 32fb03e2c5Sstippi bool DownloadsInProgress(); 33fb03e2c5Sstippi void SetMinimizeOnClose(bool minimize); 34fb03e2c5Sstippi 35dd275f31Sstippi private: 369ccfda9cSstippi void _DownloadStarted(BWebDownload* download); 379ccfda9cSstippi void _DownloadFinished(BWebDownload* download); 389ccfda9cSstippi void _RemoveFinishedDownloads(); 39f28abe9dSstippi void _RemoveMissingDownloads(); 40c5d7a6c9Sstippi void _ValidateButtonStatus(); 419ccfda9cSstippi void _SaveSettings(); 429ccfda9cSstippi void _LoadSettings(); 439ccfda9cSstippi bool _OpenSettingsFile(BFile& file, uint32 mode); 444b059d47Sstippi 4575ffc858Sstippi private: 4698b056e1Sstippi BScrollView* fDownloadsScrollView; 479ccfda9cSstippi BGroupLayout* fDownloadViewsLayout; 489ccfda9cSstippi BButton* fRemoveFinishedButton; 49f28abe9dSstippi BButton* fRemoveMissingButton; 50636f175bSstippi BString fDownloadPath; 51fb03e2c5Sstippi bool fMinimizeOnClose; 5275ffc858Sstippi }; 5375ffc858Sstippi 549ccfda9cSstippi #endif // DOWNLOAD_WINDOW_H 55