#ifndef _SETTINGS_VIEWS_H
#define _SETTINGS_VIEWS_H
#include <GroupView.h>
#include "TrackerSettings.h"
const uint32 kSettingsContentsModified = 'Scmo';
class BButton;
class BCheckBox;
class BColorControl;
class BMenuField;
class BRadioButton;
class BStringView;
namespace BPrivate {
class SettingsView : public BGroupView {
public:
SettingsView(const char* name);
virtual ~SettingsView();
virtual void SetDefaults();
virtual bool IsDefaultable() const;
virtual void Revert();
virtual void ShowCurrentSettings();
virtual void RecordRevertSettings();
virtual bool IsRevertable() const;
protected:
typedef BGroupView _inherited;
};
class DesktopSettingsView : public SettingsView {
public:
DesktopSettingsView();
virtual void MessageReceived(BMessage* message);
virtual void AttachedToWindow();
virtual void SetDefaults();
virtual bool IsDefaultable() const;
virtual void Revert();
virtual void ShowCurrentSettings();
virtual void RecordRevertSettings();
virtual bool IsRevertable() const;
private:
void _SendNotices();
BRadioButton* fShowDisksIconRadioButton;
BRadioButton* fMountVolumesOntoDesktopRadioButton;
BCheckBox* fMountSharedVolumesOntoDesktopCheckBox;
bool fShowDisksIcon;
bool fMountVolumesOntoDesktop;
bool fMountSharedVolumesOntoDesktop;
bool fIntegrateNonBootBeOSDesktops;
bool fEjectWhenUnmounting;
typedef SettingsView _inherited;
};
class WindowsSettingsView : public SettingsView {
public:
WindowsSettingsView();
virtual void MessageReceived(BMessage* message);
virtual void AttachedToWindow();
virtual void SetDefaults();
virtual bool IsDefaultable() const;
virtual void Revert();
virtual void ShowCurrentSettings();
virtual void RecordRevertSettings();
virtual bool IsRevertable() const;
private:
BCheckBox* fShowFullPathInTitleBarCheckBox;
BCheckBox* fSingleWindowBrowseCheckBox;
BCheckBox* fShowNavigatorCheckBox;
BCheckBox* fOutlineSelectionCheckBox;
BCheckBox* fSortFolderNamesFirstCheckBox;
BCheckBox* fHideDotFilesCheckBox;
BCheckBox* fTypeAheadFilteringCheckBox;
BCheckBox* fGenerateImageThumbnailsCheckBox;
bool fShowFullPathInTitleBar;
bool fSingleWindowBrowse;
bool fShowNavigator;
bool fTransparentSelection;
bool fSortFolderNamesFirst;
bool fHideDotFiles;
bool fTypeAheadFiltering;
bool fGenerateImageThumbnails;
typedef SettingsView _inherited;
};
class SpaceBarSettingsView : public SettingsView {
public:
SpaceBarSettingsView();
virtual ~SpaceBarSettingsView();
virtual void MessageReceived(BMessage* message);
virtual void AttachedToWindow();
virtual void SetDefaults();
virtual bool IsDefaultable() const;
virtual void Revert();
virtual void ShowCurrentSettings();
virtual void RecordRevertSettings();
virtual bool IsRevertable() const;
private:
BCheckBox* fSpaceBarShowCheckBox;
BColorControl* fColorControl;
BMenuField* fColorPicker;
int32 fCurrentColor;
bool fSpaceBarShow;
rgb_color fUsedSpaceColor;
rgb_color fFreeSpaceColor;
rgb_color fWarningSpaceColor;
typedef SettingsView _inherited;
};
class AutomountSettingsPanel : public SettingsView {
public:
AutomountSettingsPanel();
virtual ~AutomountSettingsPanel();
virtual bool IsDefaultable() const;
virtual void Revert();
virtual void ShowCurrentSettings();
virtual void RecordRevertSettings();
virtual bool IsRevertable() const;
protected:
virtual void MessageReceived(BMessage* message);
virtual void AttachedToWindow();
private:
void _SendSettings(bool rescan);
void _GetSettings(BMessage* reply) const;
void _ParseSettings(const BMessage& settings);
BRadioButton* fInitialDontMountCheck;
BRadioButton* fInitialMountAllBFSCheck;
BRadioButton* fInitialMountAllCheck;
BRadioButton* fInitialMountRestoreCheck;
BRadioButton* fScanningDisabledCheck;
BRadioButton* fAutoMountAllBFSCheck;
BRadioButton* fAutoMountAllCheck;
BCheckBox* fEjectWhenUnmountingCheckBox;
BButton* fMountAllNow;
BMessenger fTarget;
BMessage fInitialSettings;
typedef SettingsView _inherited;
};
}
using namespace BPrivate;
#endif