Move automount settings to the Tracker preferences
* Avoids the ugly "button that opens another window" UI paradigm in Tracker preferences. * Makes it possible to revert changes to the automount settings as the Tracker preferences window has a revert button.
This commit is contained in:
@@ -33,8 +33,6 @@ All rights reserved.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include "AutoMounterSettings.h"
|
|
||||||
|
|
||||||
#include <Alert.h>
|
#include <Alert.h>
|
||||||
#include <Box.h>
|
#include <Box.h>
|
||||||
#include <Button.h>
|
#include <Button.h>
|
||||||
@@ -52,6 +50,8 @@ All rights reserved.
|
|||||||
|
|
||||||
#include <MountServer.h>
|
#include <MountServer.h>
|
||||||
|
|
||||||
|
#include "SettingsViews.h"
|
||||||
|
|
||||||
|
|
||||||
#undef B_TRANSLATION_CONTEXT
|
#undef B_TRANSLATION_CONTEXT
|
||||||
#define B_TRANSLATION_CONTEXT "AutoMounterSettings"
|
#define B_TRANSLATION_CONTEXT "AutoMounterSettings"
|
||||||
@@ -62,50 +62,13 @@ const uint32 kBootMountSettingsChanged = 'bchg';
|
|||||||
const uint32 kEjectWhenUnmountingChanged = 'ejct';
|
const uint32 kEjectWhenUnmountingChanged = 'ejct';
|
||||||
|
|
||||||
|
|
||||||
class AutomountSettingsPanel : public BBox {
|
|
||||||
public:
|
|
||||||
AutomountSettingsPanel(BMessage* settings,
|
|
||||||
const BMessenger& target);
|
|
||||||
virtual ~AutomountSettingsPanel();
|
|
||||||
|
|
||||||
protected:
|
|
||||||
virtual void MessageReceived(BMessage* message);
|
|
||||||
virtual void AttachedToWindow();
|
|
||||||
|
|
||||||
private:
|
|
||||||
void _SendSettings(bool rescan);
|
|
||||||
|
|
||||||
BRadioButton* fInitialDontMountCheck;
|
|
||||||
BRadioButton* fInitialMountAllBFSCheck;
|
|
||||||
BRadioButton* fInitialMountAllCheck;
|
|
||||||
BRadioButton* fInitialMountRestoreCheck;
|
|
||||||
|
|
||||||
BRadioButton* fScanningDisabledCheck;
|
|
||||||
BRadioButton* fAutoMountAllBFSCheck;
|
|
||||||
BRadioButton* fAutoMountAllCheck;
|
|
||||||
|
|
||||||
BCheckBox* fEjectWhenUnmountingCheckBox;
|
|
||||||
|
|
||||||
BButton* fDone;
|
|
||||||
BButton* fMountAllNow;
|
|
||||||
|
|
||||||
BMessenger fTarget;
|
|
||||||
|
|
||||||
typedef BBox _inherited;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
AutomountSettingsDialog* AutomountSettingsDialog::sOneCopyOnly = NULL;
|
|
||||||
|
|
||||||
|
|
||||||
// #pragma mark - AutomountSettingsPanel
|
// #pragma mark - AutomountSettingsPanel
|
||||||
|
|
||||||
|
|
||||||
AutomountSettingsPanel::AutomountSettingsPanel(BMessage* settings,
|
AutomountSettingsPanel::AutomountSettingsPanel()
|
||||||
const BMessenger& target)
|
|
||||||
:
|
:
|
||||||
BBox("", B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE_JUMP, B_NO_BORDER),
|
SettingsView(""),
|
||||||
fTarget(target)
|
fTarget(kMountServerSignature)
|
||||||
{
|
{
|
||||||
const float spacing = be_control_look->DefaultItemSpacing();
|
const float spacing = be_control_look->DefaultItemSpacing();
|
||||||
|
|
||||||
@@ -161,13 +124,9 @@ AutomountSettingsPanel::AutomountSettingsPanel(BMessage* settings,
|
|||||||
|
|
||||||
// Buttons
|
// Buttons
|
||||||
|
|
||||||
fDone = new BButton(B_TRANSLATE("Done"), new BMessage(B_QUIT_REQUESTED));
|
|
||||||
|
|
||||||
fMountAllNow = new BButton("mountAll", B_TRANSLATE("Mount all disks now"),
|
fMountAllNow = new BButton("mountAll", B_TRANSLATE("Mount all disks now"),
|
||||||
new BMessage(kMountAllNow));
|
new BMessage(kMountAllNow));
|
||||||
|
|
||||||
fDone->MakeDefault(true);
|
|
||||||
|
|
||||||
// Layout the controls
|
// Layout the controls
|
||||||
|
|
||||||
BGroupView* contentView = new BGroupView(B_VERTICAL, 0);
|
BGroupView* contentView = new BGroupView(B_VERTICAL, 0);
|
||||||
@@ -190,37 +149,11 @@ AutomountSettingsPanel::AutomountSettingsPanel(BMessage* settings,
|
|||||||
.End()
|
.End()
|
||||||
.Add(new BSeparatorView(B_HORIZONTAL/*, B_FANCY_BORDER*/))
|
.Add(new BSeparatorView(B_HORIZONTAL/*, B_FANCY_BORDER*/))
|
||||||
.AddGroup(B_HORIZONTAL, spacing)
|
.AddGroup(B_HORIZONTAL, spacing)
|
||||||
.SetInsets(0, spacing, spacing, spacing)
|
.SetInsets(spacing, spacing, spacing, spacing)
|
||||||
.AddGlue()
|
|
||||||
.Add(fMountAllNow)
|
.Add(fMountAllNow)
|
||||||
.Add(fDone);
|
.AddGlue();
|
||||||
|
|
||||||
// Apply the settings
|
ShowCurrentSettings();
|
||||||
|
|
||||||
bool result;
|
|
||||||
if (settings->FindBool("autoMountAll", &result) == B_OK && result)
|
|
||||||
fAutoMountAllCheck->SetValue(B_CONTROL_ON);
|
|
||||||
else if (settings->FindBool("autoMountAllBFS", &result) == B_OK && result)
|
|
||||||
fAutoMountAllBFSCheck->SetValue(B_CONTROL_ON);
|
|
||||||
else
|
|
||||||
fScanningDisabledCheck->SetValue(B_CONTROL_ON);
|
|
||||||
|
|
||||||
if (settings->FindBool("suspended", &result) == B_OK && result)
|
|
||||||
fScanningDisabledCheck->SetValue(B_CONTROL_ON);
|
|
||||||
|
|
||||||
if (settings->FindBool("initialMountAll", &result) == B_OK && result)
|
|
||||||
fInitialMountAllCheck->SetValue(B_CONTROL_ON);
|
|
||||||
else if (settings->FindBool("initialMountRestore", &result) == B_OK
|
|
||||||
&& result) {
|
|
||||||
fInitialMountRestoreCheck->SetValue(B_CONTROL_ON);
|
|
||||||
} else if (settings->FindBool("initialMountAllBFS", &result) == B_OK
|
|
||||||
&& result) {
|
|
||||||
fInitialMountAllBFSCheck->SetValue(B_CONTROL_ON);
|
|
||||||
} else
|
|
||||||
fInitialDontMountCheck->SetValue(B_CONTROL_ON);
|
|
||||||
|
|
||||||
if (settings->FindBool("ejectWhenUnmounting", &result) == B_OK && result)
|
|
||||||
fEjectWhenUnmountingCheckBox->SetValue(B_CONTROL_ON);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -229,6 +162,48 @@ AutomountSettingsPanel::~AutomountSettingsPanel()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool
|
||||||
|
AutomountSettingsPanel::IsDefaultable() const
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
AutomountSettingsPanel::Revert()
|
||||||
|
{
|
||||||
|
_ParseSettings(fInitialSettings);
|
||||||
|
_SendSettings(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
AutomountSettingsPanel::ShowCurrentSettings()
|
||||||
|
{
|
||||||
|
// Apply the settings
|
||||||
|
BMessage settings;
|
||||||
|
_GetSettings(&settings);
|
||||||
|
_ParseSettings(settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
AutomountSettingsPanel::RecordRevertSettings()
|
||||||
|
{
|
||||||
|
_GetSettings(&fInitialSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool
|
||||||
|
AutomountSettingsPanel::IsRevertable() const
|
||||||
|
{
|
||||||
|
BMessage currentSettings;
|
||||||
|
_GetSettings(¤tSettings);
|
||||||
|
|
||||||
|
return !currentSettings.HasSameData(fInitialSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
AutomountSettingsPanel::AttachedToWindow()
|
AutomountSettingsPanel::AttachedToWindow()
|
||||||
{
|
{
|
||||||
@@ -242,7 +217,6 @@ AutomountSettingsPanel::AttachedToWindow()
|
|||||||
fScanningDisabledCheck->SetTarget(this);
|
fScanningDisabledCheck->SetTarget(this);
|
||||||
fEjectWhenUnmountingCheckBox->SetTarget(this);
|
fEjectWhenUnmountingCheckBox->SetTarget(this);
|
||||||
|
|
||||||
fDone->SetTarget(this);
|
|
||||||
fMountAllNow->SetTarget(fTarget);
|
fMountAllNow->SetTarget(fTarget);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -296,55 +270,53 @@ AutomountSettingsPanel::_SendSettings(bool rescan)
|
|||||||
(bool)fEjectWhenUnmountingCheckBox->Value());
|
(bool)fEjectWhenUnmountingCheckBox->Value());
|
||||||
|
|
||||||
fTarget.SendMessage(&message);
|
fTarget.SendMessage(&message);
|
||||||
}
|
|
||||||
|
|
||||||
|
// Tell the settings window the contents have changed:
|
||||||
// #pragma mark - AutomountSettingsDialog
|
Window()->PostMessage(kSettingsContentsModified);
|
||||||
|
|
||||||
|
|
||||||
AutomountSettingsDialog::AutomountSettingsDialog(BMessage* settings,
|
|
||||||
const BMessenger& target)
|
|
||||||
:
|
|
||||||
BWindow(BRect(100, 100, 320, 370), B_TRANSLATE("Disk mount settings"),
|
|
||||||
B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE
|
|
||||||
| B_AUTO_UPDATE_SIZE_LIMITS)
|
|
||||||
{
|
|
||||||
SetLayout(new BGroupLayout(B_HORIZONTAL));
|
|
||||||
BView* view = new AutomountSettingsPanel(settings, target);
|
|
||||||
AddChild(view);
|
|
||||||
|
|
||||||
ASSERT(!sOneCopyOnly);
|
|
||||||
sOneCopyOnly = this;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
AutomountSettingsDialog::~AutomountSettingsDialog()
|
|
||||||
{
|
|
||||||
ASSERT(sOneCopyOnly);
|
|
||||||
sOneCopyOnly = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
AutomountSettingsDialog::RunAutomountSettings(const BMessenger& target)
|
AutomountSettingsPanel::_GetSettings(BMessage* reply) const
|
||||||
{
|
{
|
||||||
// either activate an existing mount settings dialog or create a new one
|
|
||||||
if (sOneCopyOnly != NULL) {
|
|
||||||
sOneCopyOnly->Activate();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
BMessage message(kGetAutomounterParams);
|
BMessage message(kGetAutomounterParams);
|
||||||
BMessage reply;
|
if (fTarget.SendMessage(&message, reply, 2500000) != B_OK) {
|
||||||
if (target.SendMessage(&message, &reply, 2500000) != B_OK) {
|
|
||||||
BAlert* alert = new BAlert(B_TRANSLATE("Mount server error"),
|
BAlert* alert = new BAlert(B_TRANSLATE("Mount server error"),
|
||||||
B_TRANSLATE("The mount server could not be contacted."),
|
B_TRANSLATE("The mount server could not be contacted."),
|
||||||
B_TRANSLATE("OK"),
|
B_TRANSLATE("OK"),
|
||||||
NULL, NULL, B_WIDTH_AS_USUAL, B_STOP_ALERT);
|
NULL, NULL, B_WIDTH_AS_USUAL, B_STOP_ALERT);
|
||||||
alert->SetFlags(alert->Flags() | B_CLOSE_ON_ESCAPE);
|
alert->SetFlags(alert->Flags() | B_CLOSE_ON_ESCAPE);
|
||||||
alert->Go();
|
alert->Go();
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
(new AutomountSettingsDialog(&reply, target))->Show();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
AutomountSettingsPanel::_ParseSettings(const BMessage& settings)
|
||||||
|
{
|
||||||
|
bool result;
|
||||||
|
if (settings.FindBool("autoMountAll", &result) == B_OK && result)
|
||||||
|
fAutoMountAllCheck->SetValue(B_CONTROL_ON);
|
||||||
|
else if (settings.FindBool("autoMountAllBFS", &result) == B_OK && result)
|
||||||
|
fAutoMountAllBFSCheck->SetValue(B_CONTROL_ON);
|
||||||
|
else
|
||||||
|
fScanningDisabledCheck->SetValue(B_CONTROL_ON);
|
||||||
|
|
||||||
|
if (settings.FindBool("suspended", &result) == B_OK && result)
|
||||||
|
fScanningDisabledCheck->SetValue(B_CONTROL_ON);
|
||||||
|
|
||||||
|
if (settings.FindBool("initialMountAll", &result) == B_OK && result)
|
||||||
|
fInitialMountAllCheck->SetValue(B_CONTROL_ON);
|
||||||
|
else if (settings.FindBool("initialMountRestore", &result) == B_OK
|
||||||
|
&& result) {
|
||||||
|
fInitialMountRestoreCheck->SetValue(B_CONTROL_ON);
|
||||||
|
} else if (settings.FindBool("initialMountAllBFS", &result) == B_OK
|
||||||
|
&& result) {
|
||||||
|
fInitialMountAllBFSCheck->SetValue(B_CONTROL_ON);
|
||||||
|
} else
|
||||||
|
fInitialDontMountCheck->SetValue(B_CONTROL_ON);
|
||||||
|
|
||||||
|
if (settings.FindBool("ejectWhenUnmounting", &result) == B_OK && result)
|
||||||
|
fEjectWhenUnmountingCheckBox->SetValue(B_CONTROL_ON);
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,59 +0,0 @@
|
|||||||
/*
|
|
||||||
Open Tracker License
|
|
||||||
|
|
||||||
Terms and Conditions
|
|
||||||
|
|
||||||
Copyright (c) 1991-2000, Be Incorporated. All rights reserved.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
this software and associated documentation files (the "Software"), to deal in
|
|
||||||
the Software without restriction, including without limitation the rights to
|
|
||||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
||||||
of the Software, and to permit persons to whom the Software is furnished to do
|
|
||||||
so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice applies to all licensees
|
|
||||||
and shall be included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF TITLE, MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
||||||
BE INCORPORATED BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
|
||||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
|
|
||||||
Except as contained in this notice, the name of Be Incorporated shall not be
|
|
||||||
used in advertising or otherwise to promote the sale, use or other dealings in
|
|
||||||
this Software without prior written authorization from Be Incorporated.
|
|
||||||
|
|
||||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
|
|
||||||
of Be Incorporated in the United States and other countries. Other brand product
|
|
||||||
names are registered trademarks or trademarks of their respective holders.
|
|
||||||
All rights reserved.
|
|
||||||
*/
|
|
||||||
#ifndef _AUTOMOUNTER_SETTINGS_H
|
|
||||||
#define _AUTOMOUNTER_SETTINGS_H
|
|
||||||
|
|
||||||
|
|
||||||
#include <Window.h>
|
|
||||||
|
|
||||||
|
|
||||||
namespace BPrivate {
|
|
||||||
|
|
||||||
class AutomountSettingsDialog : public BWindow {
|
|
||||||
public:
|
|
||||||
AutomountSettingsDialog(BMessage* settings, const BMessenger &target);
|
|
||||||
virtual ~AutomountSettingsDialog();
|
|
||||||
|
|
||||||
static void RunAutomountSettings(const BMessenger &target);
|
|
||||||
|
|
||||||
private:
|
|
||||||
static AutomountSettingsDialog* sOneCopyOnly;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace BPrivate
|
|
||||||
|
|
||||||
using namespace BPrivate;
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _AUTOMOUNTER_SETTINGS_H
|
|
||||||
@@ -189,10 +189,6 @@ DesktopSettingsView::DesktopSettingsView()
|
|||||||
B_TRANSLATE("Show shared volumes on Desktop"),
|
B_TRANSLATE("Show shared volumes on Desktop"),
|
||||||
new BMessage(kVolumesOnDesktopChanged));
|
new BMessage(kVolumesOnDesktopChanged));
|
||||||
|
|
||||||
fMountButton = new BButton("",
|
|
||||||
B_TRANSLATE("Mount settings" B_UTF8_ELLIPSIS),
|
|
||||||
new BMessage(kRunAutomounterSettings));
|
|
||||||
|
|
||||||
const float spacing = be_control_look->DefaultItemSpacing();
|
const float spacing = be_control_look->DefaultItemSpacing();
|
||||||
|
|
||||||
BLayoutBuilder::Group<>(this, B_VERTICAL, 0)
|
BLayoutBuilder::Group<>(this, B_VERTICAL, 0)
|
||||||
@@ -203,13 +199,7 @@ DesktopSettingsView::DesktopSettingsView()
|
|||||||
.SetInsets(spacing * 2, 0, 0, 0)
|
.SetInsets(spacing * 2, 0, 0, 0)
|
||||||
.End()
|
.End()
|
||||||
.AddGlue()
|
.AddGlue()
|
||||||
.AddGroup(B_HORIZONTAL)
|
|
||||||
.Add(fMountButton)
|
|
||||||
.AddGlue()
|
|
||||||
.End()
|
|
||||||
.SetInsets(spacing);
|
.SetInsets(spacing);
|
||||||
|
|
||||||
fMountButton->SetTarget(be_app);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -91,7 +91,6 @@ private:
|
|||||||
BRadioButton* fMountVolumesOntoDesktopRadioButton;
|
BRadioButton* fMountVolumesOntoDesktopRadioButton;
|
||||||
BCheckBox* fMountSharedVolumesOntoDesktopCheckBox;
|
BCheckBox* fMountSharedVolumesOntoDesktopCheckBox;
|
||||||
BCheckBox* fIntegrateNonBootBeOSDesktopsCheckBox;
|
BCheckBox* fIntegrateNonBootBeOSDesktopsCheckBox;
|
||||||
BButton* fMountButton;
|
|
||||||
|
|
||||||
bool fShowDisksIcon;
|
bool fShowDisksIcon;
|
||||||
bool fMountVolumesOntoDesktop;
|
bool fMountVolumesOntoDesktop;
|
||||||
@@ -166,6 +165,47 @@ private:
|
|||||||
typedef SettingsView _inherited;
|
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;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
} // namespace BPrivate
|
} // namespace BPrivate
|
||||||
|
|
||||||
using namespace BPrivate;
|
using namespace BPrivate;
|
||||||
|
|||||||
@@ -63,7 +63,6 @@ All rights reserved.
|
|||||||
|
|
||||||
#include "Attributes.h"
|
#include "Attributes.h"
|
||||||
#include "AutoLock.h"
|
#include "AutoLock.h"
|
||||||
#include "AutoMounterSettings.h"
|
|
||||||
#include "BackgroundImage.h"
|
#include "BackgroundImage.h"
|
||||||
#include "Bitmaps.h"
|
#include "Bitmaps.h"
|
||||||
#include "Commands.h"
|
#include "Commands.h"
|
||||||
@@ -512,9 +511,6 @@ TTracker::MessageReceived(BMessage* message)
|
|||||||
MountServer().SendMessage(message);
|
MountServer().SendMessage(message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kRunAutomounterSettings:
|
|
||||||
AutomountSettingsDialog::RunAutomountSettings(MountServer());
|
|
||||||
break;
|
|
||||||
|
|
||||||
case kRestoreBackgroundImage:
|
case kRestoreBackgroundImage:
|
||||||
{
|
{
|
||||||
@@ -524,9 +520,14 @@ TTracker::MessageReceived(BMessage* message)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case kShowSettingsWindow:
|
case kRunAutomounterSettings:
|
||||||
ShowSettingsWindow();
|
ShowSettingsWindow();
|
||||||
break;
|
fSettingsWindow->ShowPage(TrackerSettingsWindow::kAutomountSettings);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case kShowSettingsWindow:
|
||||||
|
ShowSettingsWindow();
|
||||||
|
break;
|
||||||
|
|
||||||
case kFavoriteCountChangedExternally:
|
case kFavoriteCountChangedExternally:
|
||||||
SendNotices(kFavoriteCountChangedExternally, message);
|
SendNotices(kFavoriteCountChangedExternally, message);
|
||||||
|
|||||||
@@ -114,11 +114,15 @@ TrackerSettingsWindow::TrackerSettingsWindow()
|
|||||||
.End();
|
.End();
|
||||||
|
|
||||||
fSettingsTypeListView->AddItem(new SettingsItem(B_TRANSLATE("Desktop"),
|
fSettingsTypeListView->AddItem(new SettingsItem(B_TRANSLATE("Desktop"),
|
||||||
new DesktopSettingsView()));
|
new DesktopSettingsView()), kDesktopSettings);
|
||||||
fSettingsTypeListView->AddItem(new SettingsItem(B_TRANSLATE("Windows"),
|
fSettingsTypeListView->AddItem(new SettingsItem(B_TRANSLATE("Windows"),
|
||||||
new WindowsSettingsView()));
|
new WindowsSettingsView()), kWindowsSettings);
|
||||||
fSettingsTypeListView->AddItem(new SettingsItem(
|
fSettingsTypeListView->AddItem(new SettingsItem(
|
||||||
B_TRANSLATE("Volume icons"), new SpaceBarSettingsView()));
|
B_TRANSLATE("Volume icons"), new SpaceBarSettingsView()),
|
||||||
|
kSpaceBarSettings);
|
||||||
|
fSettingsTypeListView->AddItem(new SettingsItem(
|
||||||
|
B_TRANSLATE("Disk mount"), new AutomountSettingsPanel()),
|
||||||
|
kAutomountSettings);
|
||||||
|
|
||||||
// constraint the listview width so that the longest item fits
|
// constraint the listview width so that the longest item fits
|
||||||
float width = 0;
|
float width = 0;
|
||||||
@@ -198,6 +202,13 @@ TrackerSettingsWindow::Show()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
TrackerSettingsWindow::ShowPage(SettingsPage page)
|
||||||
|
{
|
||||||
|
fSettingsTypeListView->Select(page);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
SettingsView*
|
SettingsView*
|
||||||
TrackerSettingsWindow::_ViewAt(int32 i)
|
TrackerSettingsWindow::_ViewAt(int32 i)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -54,6 +54,15 @@ public:
|
|||||||
void MessageReceived(BMessage* message);
|
void MessageReceived(BMessage* message);
|
||||||
void Show();
|
void Show();
|
||||||
|
|
||||||
|
enum SettingsPage {
|
||||||
|
kDesktopSettings,
|
||||||
|
kWindowsSettings,
|
||||||
|
kSpaceBarSettings,
|
||||||
|
kAutomountSettings
|
||||||
|
};
|
||||||
|
|
||||||
|
void ShowPage(SettingsPage page);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
SettingsView* _ViewAt(int32 i);
|
SettingsView* _ViewAt(int32 i);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user