125184Sjkh/* 225184Sjkh * Copyright 2005-2006, Axel D��rfler, axeld@pinc-software.de 332382Salex * All rights reserved. Distributed under the terms of the MIT License. 425184Sjkh * 525184Sjkh * Copyright 2010-2012 Haiku, Inc. All rights reserved. 625184Sjkh * Distributed under the terms of the MIT License. 725184Sjkh * 825184Sjkh * Authors: 925184Sjkh * Hamish Morrison, hamish@lavabit.com 1025184Sjkh * Alexander von Gluck, kallisti5@unixzen.com 1125184Sjkh */ 1225184Sjkh#ifndef SETTINGS_WINDOW_H 1325184Sjkh#define SETTINGS_WINDOW_H 1425184Sjkh 1525184Sjkh 1625184Sjkh#include <MenuItem.h> 1725184Sjkh#include <Slider.h> 1825184Sjkh#include <StatusBar.h> 1925184Sjkh#include <Volume.h> 2025184Sjkh#include <Window.h> 2125184Sjkh 2225184Sjkh#include "Settings.h" 2325184Sjkh 2425184Sjkh 2525184Sjkhclass BStringView; 2625184Sjkhclass BCheckBox; 2725184Sjkhclass BSlider; 2825184Sjkhclass BButton; 2925184Sjkhclass BMenuField; 3025184Sjkh 3125184Sjkh 3225184Sjkhclass SizeSlider : public BSlider { 3325184Sjkhpublic: 3425184Sjkh SizeSlider(const char* name, const char* label, 3525184Sjkh BMessage* message, int32 min, int32 max, 3625184Sjkh uint32 flags); 3725184Sjkh virtual ~SizeSlider() {}; 3825184Sjkh 3925184Sjkh virtual const char* UpdateText() const; 4025184Sjkh 4125184Sjkhprivate: 4225184Sjkh mutable char fText[128]; 4325184Sjkh}; 4425184Sjkh 4525184Sjkh 4625184Sjkhclass VolumeMenuItem : public BMenuItem, public BHandler { 4725184Sjkhpublic: 4825184Sjkh VolumeMenuItem(BVolume volume, BMessage* message); 4925184Sjkh virtual ~VolumeMenuItem() {} 5025184Sjkh 5125184Sjkh virtual BVolume Volume() { return fVolume; } 5225184Sjkh virtual void MessageReceived(BMessage* message); 5325184Sjkh virtual void GenerateLabel(); 5425184Sjkh 5525184Sjkhprivate: 5625184Sjkh BVolume fVolume; 5729300Sdanny}; 5829300Sdanny 5929300Sdanny 6029300Sdannyclass SettingsWindow : public BWindow { 6132382Salexpublic: 6232382Salex SettingsWindow(); 6332382Salex virtual ~SettingsWindow() {}; 6429300Sdanny 6529300Sdanny virtual void MessageReceived(BMessage* message); 6629300Sdanny virtual bool QuitRequested(); 6729300Sdanny 6829300Sdannyprivate: 6929300Sdanny status_t _AddVolumeMenuItem(dev_t device); 7029300Sdanny status_t _RemoveVolumeMenuItem(dev_t device); 7129300Sdanny VolumeMenuItem* _FindVolumeMenuItem(dev_t device); 7229300Sdanny 7329300Sdanny void _RecordChoices(); 7429300Sdanny void _Update(); 7529300Sdanny void _UpdateSwapInfo(); 7629300Sdanny 7729300Sdanny BCheckBox* fSwapEnabledCheckBox; 7829300Sdanny BCheckBox* fSwapAutomaticCheckBox; 7929300Sdanny BSlider* fSizeSlider; 8029300Sdanny BButton* fDefaultsButton; 8125364Sjkh BButton* fRevertButton; 8229300Sdanny BStringView* fWarningStringView; 8329300Sdanny BMenuField* fVolumeMenuField; 8429300Sdanny BStatusBar* fSwapUsageBar; 8529300Sdanny Settings fSettings; 8629300Sdanny bool fSetupComplete; 8725184Sjkh}; 8825184Sjkh 8929300Sdanny#endif /* SETTINGS_WINDOW_H */ 9029300Sdanny