void DesktopSettingsView::Revert() { TrackerSettings settings; settings.SetShowDisksIcon(fShowDisksIcon); settings.SetMountVolumesOntoDesktop(fMountVolumesOntoDesktop); settings.SetMountSharedVolumesOntoDesktop(fMountSharedVolumesOntoDesktop); settings.SetEjectWhenUnmounting(fEjectWhenUnmounting); ShowCurrentSettings(); _SendNotices(); }
void DesktopSettingsView::SetDefaults() { // ToDo: Avoid the duplication of the default values. TrackerSettings settings; settings.SetShowDisksIcon(false); settings.SetMountVolumesOntoDesktop(true); settings.SetMountSharedVolumesOntoDesktop(true); settings.SetEjectWhenUnmounting(true); ShowCurrentSettings(); _SendNotices(); }
void DesktopSettingsView::MessageReceived(BMessage* message) { TTracker* tracker = dynamic_cast<TTracker*>(be_app); if (tracker == NULL) return; TrackerSettings settings; switch (message->what) { case kShowDisksIconChanged: { // Turn on and off related settings: fMountVolumesOntoDesktopRadioButton->SetValue( !(fShowDisksIconRadioButton->Value() == 1)); fMountSharedVolumesOntoDesktopCheckBox->SetEnabled( fMountVolumesOntoDesktopRadioButton->Value() == 1); // Set the new settings in the tracker: settings.SetShowDisksIcon(fShowDisksIconRadioButton->Value() == 1); settings.SetMountVolumesOntoDesktop( fMountVolumesOntoDesktopRadioButton->Value() == 1); settings.SetMountSharedVolumesOntoDesktop( fMountSharedVolumesOntoDesktopCheckBox->Value() == 1); // Construct the notification message: BMessage notificationMessage; notificationMessage.AddBool("ShowDisksIcon", fShowDisksIconRadioButton->Value() == 1); notificationMessage.AddBool("MountVolumesOntoDesktop", fMountVolumesOntoDesktopRadioButton->Value() == 1); notificationMessage.AddBool("MountSharedVolumesOntoDesktop", fMountSharedVolumesOntoDesktopCheckBox->Value() == 1); // Send the notification message: tracker->SendNotices(kVolumesOnDesktopChanged, ¬ificationMessage); // Tell the settings window the contents have changed: Window()->PostMessage(kSettingsContentsModified); break; } case kVolumesOnDesktopChanged: { // Turn on and off related settings: fShowDisksIconRadioButton->SetValue( !(fMountVolumesOntoDesktopRadioButton->Value() == 1)); fMountSharedVolumesOntoDesktopCheckBox->SetEnabled( fMountVolumesOntoDesktopRadioButton->Value() == 1); // Set the new settings in the tracker: settings.SetShowDisksIcon(fShowDisksIconRadioButton->Value() == 1); settings.SetMountVolumesOntoDesktop( fMountVolumesOntoDesktopRadioButton->Value() == 1); settings.SetMountSharedVolumesOntoDesktop( fMountSharedVolumesOntoDesktopCheckBox->Value() == 1); // Construct the notification message: BMessage notificationMessage; notificationMessage.AddBool("ShowDisksIcon", fShowDisksIconRadioButton->Value() == 1); notificationMessage.AddBool("MountVolumesOntoDesktop", fMountVolumesOntoDesktopRadioButton->Value() == 1); notificationMessage.AddBool("MountSharedVolumesOntoDesktop", fMountSharedVolumesOntoDesktopCheckBox->Value() == 1); // Send the notification message: tracker->SendNotices(kVolumesOnDesktopChanged,\ ¬ificationMessage); // Tell the settings window the contents have changed: Window()->PostMessage(kSettingsContentsModified); break; } default: _inherited::MessageReceived(message); break; } }