94 lines
2.1 KiB
C++
94 lines
2.1 KiB
C++
/*
|
|
* Copyright 2009 Haiku, Inc.
|
|
* All Rights Reserved. Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef _PREFERENCES_WINDOW_H
|
|
#define _PREFERENCES_WINDOW_H
|
|
|
|
|
|
#include <Window.h>
|
|
|
|
#include "BarSettings.h"
|
|
|
|
|
|
const uint32 kConfigShow = 'PrSh';
|
|
const uint32 kConfigQuit = 'PrQt';
|
|
const uint32 kUpdateRecentCounts = 'upct';
|
|
const uint32 kEditInTracker = 'etrk';
|
|
|
|
const uint32 kTrackerFirst = 'TkFt';
|
|
const uint32 kSortRunningApps = 'SAps';
|
|
const uint32 kSuperExpando = 'SprE';
|
|
const uint32 kExpandNewTeams = 'ExTm';
|
|
const uint32 kHideLabels = 'hLbs';
|
|
const uint32 kResizeTeamIcons = 'RTIs';
|
|
const uint32 kAutoRaise = 'AtRs';
|
|
const uint32 kAutoHide = 'AtHd';
|
|
|
|
const uint32 kDefaults = 'dflt';
|
|
const uint32 kRevert = 'rvrt';
|
|
|
|
|
|
class BCheckBox;
|
|
class BFile;
|
|
class BMessage;
|
|
class BRadioButton;
|
|
class BSlider;
|
|
class BSpinner;
|
|
|
|
class PreferencesWindow : public BWindow
|
|
{
|
|
public:
|
|
PreferencesWindow(BRect frame);
|
|
~PreferencesWindow();
|
|
|
|
virtual void MessageReceived(BMessage* message);
|
|
virtual bool QuitRequested();
|
|
virtual void Show();
|
|
|
|
private:
|
|
void _EnableDisableDependentItems();
|
|
|
|
bool _IsDefaultable();
|
|
bool _IsRevertable();
|
|
|
|
status_t _InitSettingsFile(BFile* file, bool write);
|
|
status_t _LoadSettings(BMessage* settings);
|
|
status_t _SaveSettings(BMessage* settings);
|
|
|
|
void _SetInitialSettings();
|
|
|
|
void _UpdateButtons();
|
|
void _UpdatePreferences(desk_settings* settings);
|
|
void _UpdateRecentCounts();
|
|
|
|
private:
|
|
BCheckBox* fMenuRecentDocuments;
|
|
BCheckBox* fMenuRecentApplications;
|
|
BCheckBox* fMenuRecentFolders;
|
|
|
|
BSpinner* fMenuRecentDocumentCount;
|
|
BSpinner* fMenuRecentApplicationCount;
|
|
BSpinner* fMenuRecentFolderCount;
|
|
|
|
BCheckBox* fAppsSort;
|
|
BCheckBox* fAppsSortTrackerFirst;
|
|
BCheckBox* fAppsShowExpanders;
|
|
BCheckBox* fAppsExpandNew;
|
|
BCheckBox* fAppsHideLabels;
|
|
BSlider* fAppsIconSizeSlider;
|
|
|
|
BCheckBox* fWindowAlwaysOnTop;
|
|
BCheckBox* fWindowAutoRaise;
|
|
BCheckBox* fWindowAutoHide;
|
|
|
|
BButton* fDefaultsButton;
|
|
BButton* fRevertButton;
|
|
|
|
private:
|
|
desk_settings fSettings;
|
|
};
|
|
|
|
|
|
#endif // _PREFERENCES_WINDOW_H
|