vfs: check userland buffers before reading them.
[haiku.git] / src / add-ons / screen_savers / slideshowsaver / SlideShowConfigView.h
blob38f6f7ada779b8b61c4690a6193caff9432bc104
1 /*****************************************************************************/
2 // SlideShowConfigView
3 // Written by Michael Wilber
4 //
5 // SlideShowConfigView.h
6 //
7 // This BView based object displays the SlideShowSaver settings options
8 //
9 //
10 // Copyright (C) Haiku
12 // Permission is hereby granted, free of charge, to any person obtaining a
13 // copy of this software and associated documentation files (the "Software"),
14 // to deal in the Software without restriction, including without limitation
15 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
16 // and/or sell copies of the Software, and to permit persons to whom the
17 // Software is furnished to do so, subject to the following conditions:
19 // The above copyright notice and this permission notice shall be included
20 // in all copies or substantial portions of the Software.
22 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28 // DEALINGS IN THE SOFTWARE.
29 /*****************************************************************************/
31 #ifndef SLIDE_SHOW_CONFIG_VIEW_H
32 #define SLIDE_SHOW_CONFIG_VIEW_H
34 #include <View.h>
35 #include <CheckBox.h>
36 #include <PopUpMenu.h>
37 #include <MenuField.h>
38 #include <MenuItem.h>
39 #include <Button.h>
40 #include <FilePanel.h>
41 #include "LiveSettings.h"
43 // SlideShowSaver Settings
44 enum {
45 CHANGE_CAPTION,
46 CHANGE_BORDER,
47 CHOOSE_DIRECTORY, CHANGE_DIRECTORY,
48 CHANGE_DELAY
50 #define SAVER_SETTING_CAPTION "slidesaver /caption"
51 #define SAVER_SETTING_BORDER "slidesaver /border"
52 #define SAVER_SETTING_DIRECTORY "slidesaver /directory"
53 #define SAVER_SETTING_DELAY "slidesaver /delay"
55 class SlideShowConfigView : public BView {
56 public:
57 SlideShowConfigView(const BRect &frame, const char *name, uint32 resize,
58 uint32 flags, LiveSettings *settings);
59 // sets up the view
61 ~SlideShowConfigView();
62 // releases the settings
64 virtual void AllAttached();
65 virtual void MessageReceived(BMessage *message);
67 virtual void Draw(BRect area);
68 // draws information about the slide show screen saver
69 private:
70 BCheckBox *fShowCaption;
71 BCheckBox *fShowBorder;
72 BPopUpMenu *fDelayMenu;
73 BMenuField *fDelayMenuField;
74 BButton *fChooseFolder;
76 BFilePanel *fFilePanel;
78 LiveSettings *fSettings;
79 // the actual settings for the screen saver,
80 // shared with the screen saver
83 #endif // #ifndef SLIDE_SHOW_CONFIG_VIEW_H