void WindowsSettingsView::SetDefaults() { TTracker* tracker = dynamic_cast<TTracker*>(be_app); if (tracker == NULL) return; TrackerSettings settings; if (settings.ShowFullPathInTitleBar()) { settings.SetShowFullPathInTitleBar(false); tracker->SendNotices(kWindowsShowFullPathChanged); } if (settings.SingleWindowBrowse()) { settings.SetSingleWindowBrowse(false); tracker->SendNotices(kSingleWindowBrowseChanged); } if (settings.ShowNavigator()) { settings.SetShowNavigator(false); tracker->SendNotices(kShowNavigatorChanged); } if (!settings.TransparentSelection()) { settings.SetTransparentSelection(true); send_bool_notices(kTransparentSelectionChanged, "TransparentSelection", true); } if (!settings.SortFolderNamesFirst()) { settings.SetSortFolderNamesFirst(true); send_bool_notices(kSortFolderNamesFirstChanged, "SortFolderNamesFirst", true); } if (!settings.HideDotFiles()) { settings.SetHideDotFiles(true); send_bool_notices(kHideDotFilesChanged, "HideDotFiles", true); } if (settings.TypeAheadFiltering()) { settings.SetTypeAheadFiltering(false); send_bool_notices(kTypeAheadFilteringChanged, "TypeAheadFiltering", true); } ShowCurrentSettings(); }
void WindowsSettingsView::MessageReceived(BMessage* message) { TTracker* tracker = dynamic_cast<TTracker*>(be_app); if (tracker == NULL) return; TrackerSettings settings; switch (message->what) { case kWindowsShowFullPathChanged: settings.SetShowFullPathInTitleBar( fShowFullPathInTitleBarCheckBox->Value() == 1); tracker->SendNotices(kWindowsShowFullPathChanged); Window()->PostMessage(kSettingsContentsModified); break; case kSingleWindowBrowseChanged: settings.SetSingleWindowBrowse( fSingleWindowBrowseCheckBox->Value() == 1); if (fSingleWindowBrowseCheckBox->Value() == 0) { fShowNavigatorCheckBox->SetEnabled(false); settings.SetShowNavigator(0); } else { fShowNavigatorCheckBox->SetEnabled(true); settings.SetShowNavigator( fShowNavigatorCheckBox->Value() != 0); } tracker->SendNotices(kShowNavigatorChanged); tracker->SendNotices(kSingleWindowBrowseChanged); Window()->PostMessage(kSettingsContentsModified); break; case kShowNavigatorChanged: settings.SetShowNavigator(fShowNavigatorCheckBox->Value() == 1); tracker->SendNotices(kShowNavigatorChanged); Window()->PostMessage(kSettingsContentsModified); break; case kTransparentSelectionChanged: { settings.SetTransparentSelection( fOutlineSelectionCheckBox->Value() == B_CONTROL_OFF); // Make the notification message and send it to the tracker: send_bool_notices(kTransparentSelectionChanged, "TransparentSelection", settings.TransparentSelection()); Window()->PostMessage(kSettingsContentsModified); break; } case kSortFolderNamesFirstChanged: { settings.SetSortFolderNamesFirst( fSortFolderNamesFirstCheckBox->Value() == 1); // Make the notification message and send it to the tracker: send_bool_notices(kSortFolderNamesFirstChanged, "SortFolderNamesFirst", fSortFolderNamesFirstCheckBox->Value() == 1); Window()->PostMessage(kSettingsContentsModified); break; } case kHideDotFilesChanged: { settings.SetHideDotFiles( fHideDotFilesCheckBox->Value() == 1); // Make the notification message and send it to the tracker: send_bool_notices(kHideDotFilesChanged, "HideDotFiles", fHideDotFilesCheckBox->Value() == 1); Window()->PostMessage(kSettingsContentsModified); break; } case kTypeAheadFilteringChanged: { settings.SetTypeAheadFiltering( fTypeAheadFilteringCheckBox->Value() == 1); send_bool_notices(kTypeAheadFilteringChanged, "TypeAheadFiltering", fTypeAheadFilteringCheckBox->Value() == 1); Window()->PostMessage(kSettingsContentsModified); break; } default: _inherited::MessageReceived(message); break; } }