175ffc858Sstippi /* 275ffc858Sstippi * Copyright (C) 2010 Stephan Aßmus <superstippi@gmx.de> 375ffc858Sstippi * 475ffc858Sstippi * All rights reserved. 575ffc858Sstippi * 675ffc858Sstippi * Redistribution and use in source and binary forms, with or without 775ffc858Sstippi * modification, are permitted provided that the following conditions 875ffc858Sstippi * are met: 975ffc858Sstippi * 1. Redistributions of source code must retain the above copyright 1075ffc858Sstippi * notice, this list of conditions and the following disclaimer. 1175ffc858Sstippi * 2. Redistributions in binary form must reproduce the above copyright 1275ffc858Sstippi * notice, this list of conditions and the following disclaimer in the 1375ffc858Sstippi * documentation and/or other materials provided with the distribution. 1475ffc858Sstippi * 1575ffc858Sstippi * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 1675ffc858Sstippi * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1775ffc858Sstippi * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 1875ffc858Sstippi * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 1975ffc858Sstippi * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 2075ffc858Sstippi * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 2175ffc858Sstippi * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 2275ffc858Sstippi * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 2375ffc858Sstippi * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2475ffc858Sstippi * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2575ffc858Sstippi * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2675ffc858Sstippi */ 279ccfda9cSstippi #ifndef DOWNLOAD_WINDOW_H 289ccfda9cSstippi #define DOWNLOAD_WINDOW_H 2975ffc858Sstippi 3075ffc858Sstippi 31636f175bSstippi #include <String.h> 3275ffc858Sstippi #include <Window.h> 3375ffc858Sstippi 34dd275f31Sstippi class BButton; 35a8d8342dSstippi class BFile; 36dd275f31Sstippi class BGroupLayout; 37c516096eSstippi class BWebDownload; 38636f175bSstippi class SettingsMessage; 394b059d47Sstippi 409ccfda9cSstippi 4175ffc858Sstippi class DownloadWindow : public BWindow { 4275ffc858Sstippi public: 43636f175bSstippi DownloadWindow(BRect frame, bool visible, 44636f175bSstippi SettingsMessage* settings); 4575ffc858Sstippi virtual ~DownloadWindow(); 4675ffc858Sstippi 479ccfda9cSstippi virtual void MessageReceived(BMessage* message); 4875ffc858Sstippi virtual bool QuitRequested(); 4975ffc858Sstippi 50dd275f31Sstippi private: 519ccfda9cSstippi void _DownloadStarted(BWebDownload* download); 529ccfda9cSstippi void _DownloadFinished(BWebDownload* download); 539ccfda9cSstippi void _RemoveFinishedDownloads(); 54*f28abe9dSstippi void _RemoveMissingDownloads(); 559ccfda9cSstippi void _SaveSettings(); 569ccfda9cSstippi void _LoadSettings(); 579ccfda9cSstippi bool _OpenSettingsFile(BFile& file, uint32 mode); 584b059d47Sstippi 5975ffc858Sstippi private: 609ccfda9cSstippi BGroupLayout* fDownloadViewsLayout; 619ccfda9cSstippi BButton* fRemoveFinishedButton; 62*f28abe9dSstippi BButton* fRemoveMissingButton; 63636f175bSstippi BString fDownloadPath; 6475ffc858Sstippi }; 6575ffc858Sstippi 669ccfda9cSstippi #endif // DOWNLOAD_WINDOW_H 67