xref: /haiku/src/apps/webpositive/DownloadWindow.h (revision a8d8342dfa61a46c9066df6a7212d641ab71c28c)
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  */
2775ffc858Sstippi 
2875ffc858Sstippi #ifndef DownloadWindow_h
2975ffc858Sstippi #define DownloadWindow_h
3075ffc858Sstippi 
3175ffc858Sstippi #include <Window.h>
3275ffc858Sstippi 
33dd275f31Sstippi class BButton;
34*a8d8342dSstippi class BFile;
35dd275f31Sstippi class BGroupLayout;
364b059d47Sstippi class WebDownload;
374b059d47Sstippi 
3875ffc858Sstippi class DownloadWindow : public BWindow {
3975ffc858Sstippi public:
407a40c975Sstippi     DownloadWindow(BRect frame, bool visible);
4175ffc858Sstippi     virtual ~DownloadWindow();
4275ffc858Sstippi 
4375ffc858Sstippi     virtual void MessageReceived(BMessage*);
4475ffc858Sstippi     virtual bool QuitRequested();
4575ffc858Sstippi 
46dd275f31Sstippi private:
474b059d47Sstippi     void downloadStarted(WebDownload* download);
484b059d47Sstippi     void downloadFinished(WebDownload* download);
49dd275f31Sstippi     void removeFinishedDownloads();
50*a8d8342dSstippi     void saveSettings();
51*a8d8342dSstippi     void loadSettings();
52*a8d8342dSstippi     bool openSettingsFile(BFile& file, uint32 mode);
534b059d47Sstippi 
5475ffc858Sstippi private:
55dd275f31Sstippi     BGroupLayout* m_downloadViewsLayout;
56dd275f31Sstippi     BButton* m_removeFinishedButton;
5775ffc858Sstippi };
5875ffc858Sstippi 
5975ffc858Sstippi #endif // DownloadWindow_h
6075ffc858Sstippi 
61