bool WindowsSettingsView::IsDefaultable() const { TrackerSettings settings; return settings.ShowFullPathInTitleBar() != false || settings.SingleWindowBrowse() != false || settings.ShowNavigator() != false || settings.TransparentSelection() != true || settings.SortFolderNamesFirst() != true || settings.TypeAheadFiltering() != false; }
bool WindowsSettingsView::IsRevertable() const { TrackerSettings settings; return fShowFullPathInTitleBar != settings.ShowFullPathInTitleBar() || fSingleWindowBrowse != settings.SingleWindowBrowse() || fShowNavigator != settings.ShowNavigator() || fTransparentSelection != settings.TransparentSelection() || fSortFolderNamesFirst != settings.SortFolderNamesFirst() || fTypeAheadFiltering != settings.TypeAheadFiltering(); }
void WindowsSettingsView::RecordRevertSettings() { TrackerSettings settings; fShowFullPathInTitleBar = settings.ShowFullPathInTitleBar(); fSingleWindowBrowse = settings.SingleWindowBrowse(); fShowNavigator = settings.ShowNavigator(); fTransparentSelection = settings.TransparentSelection(); fSortFolderNamesFirst = settings.SortFolderNamesFirst(); fTypeAheadFiltering = settings.TypeAheadFiltering(); }
void WindowsSettingsView::Revert() { TTracker* tracker = dynamic_cast<TTracker*>(be_app); if (tracker == NULL) return; TrackerSettings settings; if (settings.ShowFullPathInTitleBar() != fShowFullPathInTitleBar) { settings.SetShowFullPathInTitleBar(fShowFullPathInTitleBar); tracker->SendNotices(kWindowsShowFullPathChanged); } if (settings.SingleWindowBrowse() != fSingleWindowBrowse) { settings.SetSingleWindowBrowse(fSingleWindowBrowse); tracker->SendNotices(kSingleWindowBrowseChanged); } if (settings.ShowNavigator() != fShowNavigator) { settings.SetShowNavigator(fShowNavigator); tracker->SendNotices(kShowNavigatorChanged); } if (settings.TransparentSelection() != fTransparentSelection) { settings.SetTransparentSelection(fTransparentSelection); send_bool_notices(kTransparentSelectionChanged, "TransparentSelection", fTransparentSelection); } if (settings.SortFolderNamesFirst() != fSortFolderNamesFirst) { settings.SetSortFolderNamesFirst(fSortFolderNamesFirst); send_bool_notices(kSortFolderNamesFirstChanged, "SortFolderNamesFirst", fSortFolderNamesFirst); } if (settings.HideDotFiles() != fHideDotFiles) { settings.SetSortFolderNamesFirst(fHideDotFiles); send_bool_notices(kHideDotFilesChanged, "HideDotFiles", fHideDotFiles); } if (settings.TypeAheadFiltering() != fTypeAheadFiltering) { settings.SetTypeAheadFiltering(fTypeAheadFiltering); send_bool_notices(kTypeAheadFilteringChanged, "TypeAheadFiltering", fTypeAheadFiltering); } ShowCurrentSettings(); }
void WindowsSettingsView::ShowCurrentSettings() { TrackerSettings settings; fShowFullPathInTitleBarCheckBox->SetValue(settings.ShowFullPathInTitleBar()); fSingleWindowBrowseCheckBox->SetValue(settings.SingleWindowBrowse()); fShowNavigatorCheckBox->SetEnabled(settings.SingleWindowBrowse()); fShowNavigatorCheckBox->SetValue(settings.ShowNavigator()); fOutlineSelectionCheckBox->SetValue(settings.TransparentSelection() ? B_CONTROL_OFF : B_CONTROL_ON); fSortFolderNamesFirstCheckBox->SetValue(settings.SortFolderNamesFirst()); fTypeAheadFilteringCheckBox->SetValue(settings.TypeAheadFiltering()); }
void WindowsSettingsView::SetDefaults() { TTracker* tracker = dynamic_cast<TTracker*>(be_app); if (!tracker) 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.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; } }