175ffc858Sstippi /* 275ffc858Sstippi * Copyright (C) 2010 Stephan Aßmus <superstippi@gmx.de> 375ffc858Sstippi * 4b4c8efacSStephan 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); 29*7f7f3618SJessica Hamilton virtual void FrameResized(float newWidth, float newHeight); 309ccfda9cSstippi virtual void MessageReceived(BMessage* message); 3175ffc858Sstippi virtual bool QuitRequested(); 3275ffc858Sstippi 33fb03e2c5Sstippi bool DownloadsInProgress(); 34fb03e2c5Sstippi void SetMinimizeOnClose(bool minimize); 35fb03e2c5Sstippi 36dd275f31Sstippi private: 379ccfda9cSstippi void _DownloadStarted(BWebDownload* download); 389ccfda9cSstippi void _DownloadFinished(BWebDownload* download); 399ccfda9cSstippi void _RemoveFinishedDownloads(); 40f28abe9dSstippi void _RemoveMissingDownloads(); 41c5d7a6c9Sstippi void _ValidateButtonStatus(); 429ccfda9cSstippi void _SaveSettings(); 439ccfda9cSstippi void _LoadSettings(); 449ccfda9cSstippi bool _OpenSettingsFile(BFile& file, uint32 mode); 454b059d47Sstippi 4675ffc858Sstippi private: 4798b056e1Sstippi BScrollView* fDownloadsScrollView; 489ccfda9cSstippi BGroupLayout* fDownloadViewsLayout; 499ccfda9cSstippi BButton* fRemoveFinishedButton; 50f28abe9dSstippi BButton* fRemoveMissingButton; 51636f175bSstippi BString fDownloadPath; 52fb03e2c5Sstippi bool fMinimizeOnClose; 5375ffc858Sstippi }; 5475ffc858Sstippi 559ccfda9cSstippi #endif // DOWNLOAD_WINDOW_H 56