hrev48957 adds 2 changesets to branch 'master' old head: 97f5ebc1ae6bfb6396199eb78d89bb35f607ba72 new head: 4e3572635487f5a4fb948640fdeb747f47750e4a overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=4e3572635487+%5E97f5ebc1ae6b ---------------------------------------------------------------------------- f24bfb3e90b9: icons: delete the App_BeShare icon. BeShare now uses it and has it in its tree, so no need to keep it here. 4e3572635487: Tracker: add "hide dotfiles" option to the GUI & enable it by default. Changing this many lines of code to add a single boolean preference is absolutely insane. We need a new preference-tracking system, and one that can be reused in other applications, too. Fixes #9200. [ Augustin Cavalier <waddlesplash@xxxxxxxxx> ] ---------------------------------------------------------------------------- 6 files changed, 56 insertions(+), 1 deletion(-) data/artwork/icons/App_BeShare | Bin 21187 -> 0 bytes src/kits/tracker/Commands.h | 1 + src/kits/tracker/PoseView.cpp | 15 +++++++++++++ src/kits/tracker/SettingsViews.cpp | 37 +++++++++++++++++++++++++++++++ src/kits/tracker/SettingsViews.h | 2 ++ src/kits/tracker/TrackerSettings.cpp | 2 +- ############################################################################ Commit: f24bfb3e90b9fbae303b5144392457d85b4218aa URL: http://cgit.haiku-os.org/haiku/commit/?id=f24bfb3e90b9 Author: Augustin Cavalier <waddlesplash@xxxxxxxxx> Date: Sun Mar 29 18:20:57 2015 UTC icons: delete the App_BeShare icon. BeShare now uses it and has it in its tree, so no need to keep it here. ---------------------------------------------------------------------------- diff --git a/data/artwork/icons/App_BeShare b/data/artwork/icons/App_BeShare deleted file mode 100644 index d302471..0000000 Binary files a/data/artwork/icons/App_BeShare and /dev/null differ ############################################################################ Revision: hrev48957 Commit: 4e3572635487f5a4fb948640fdeb747f47750e4a URL: http://cgit.haiku-os.org/haiku/commit/?id=4e3572635487 Author: Augustin Cavalier <waddlesplash@xxxxxxxxx> Date: Sun Mar 29 22:07:53 2015 UTC Ticket: https://dev.haiku-os.org/ticket/9200 Tracker: add "hide dotfiles" option to the GUI & enable it by default. Changing this many lines of code to add a single boolean preference is absolutely insane. We need a new preference-tracking system, and one that can be reused in other applications, too. Fixes #9200. ---------------------------------------------------------------------------- diff --git a/src/kits/tracker/Commands.h b/src/kits/tracker/Commands.h index b9c15f7..1f4596e 100644 --- a/src/kits/tracker/Commands.h +++ b/src/kits/tracker/Commands.h @@ -130,6 +130,7 @@ const uint32 kShowNavigatorChanged = 'Snvc'; const uint32 kShowSelectionWhenInactiveChanged = 'Sswi'; const uint32 kTransparentSelectionChanged = 'Trse'; const uint32 kSortFolderNamesFirstChanged = 'Sfnf'; +const uint32 kHideDotFilesChanged = 'Hdfc'; const uint32 kTypeAheadFilteringChanged = 'Tafc'; const uint32 kDesktopFilePanelRootChanged = 'Dfpr'; diff --git a/src/kits/tracker/PoseView.cpp b/src/kits/tracker/PoseView.cpp index 499d714..6143db2 100644 --- a/src/kits/tracker/PoseView.cpp +++ b/src/kits/tracker/PoseView.cpp @@ -886,6 +886,7 @@ BPoseView::DetachedFromWindow() tracker->StopWatching(this, kShowSelectionWhenInactiveChanged); tracker->StopWatching(this, kTransparentSelectionChanged); tracker->StopWatching(this, kSortFolderNamesFirstChanged); + tracker->StopWatching(this, kHideDotFilesChanged); tracker->StopWatching(this, kTypeAheadFilteringChanged); tracker->Unlock(); } @@ -986,6 +987,7 @@ BPoseView::AttachedToWindow() tracker->StartWatching(this, kShowSelectionWhenInactiveChanged); tracker->StartWatching(this, kTransparentSelectionChanged); tracker->StartWatching(this, kSortFolderNamesFirstChanged); + tracker->StartWatching(this, kHideDotFilesChanged); tracker->StartWatching(this, kTypeAheadFilteringChanged); tracker->Unlock(); } @@ -2625,6 +2627,19 @@ BPoseView::MessageReceived(BMessage* message) } break; + case kHideDotFilesChanged: + { + TrackerSettings settings; + bool hideDotFiles; + if (message->FindBool("HideDotFiles", + &hideDotFiles) == B_OK) { + settings.SetHideDotFiles(hideDotFiles); + } + + Refresh(); + break; + } + case kTypeAheadFilteringChanged: { TrackerSettings settings; diff --git a/src/kits/tracker/SettingsViews.cpp b/src/kits/tracker/SettingsViews.cpp index 37e490e..4b80b8c 100644 --- a/src/kits/tracker/SettingsViews.cpp +++ b/src/kits/tracker/SettingsViews.cpp @@ -418,12 +418,14 @@ WindowsSettingsView::WindowsSettingsView() fShowNavigatorCheckBox(NULL), fOutlineSelectionCheckBox(NULL), fSortFolderNamesFirstCheckBox(NULL), + fHideDotFilesCheckBox(NULL), fTypeAheadFilteringCheckBox(NULL), fShowFullPathInTitleBar(false), fSingleWindowBrowse(false), fShowNavigator(false), fTransparentSelection(false), fSortFolderNamesFirst(false), + fHideDotFiles(false), fTypeAheadFiltering(false) { fShowFullPathInTitleBarCheckBox = new BCheckBox("", @@ -446,6 +448,10 @@ WindowsSettingsView::WindowsSettingsView() B_TRANSLATE("List folders first"), new BMessage(kSortFolderNamesFirstChanged)); + fHideDotFilesCheckBox = new BCheckBox("", + B_TRANSLATE("Hide dotfiles"), + new BMessage(kHideDotFilesChanged)); + fTypeAheadFilteringCheckBox = new BCheckBox("", B_TRANSLATE("Enable type-ahead filtering"), new BMessage(kTypeAheadFilteringChanged)); @@ -464,6 +470,7 @@ WindowsSettingsView::WindowsSettingsView() .AddGroup(B_VERTICAL, 0) .Add(fOutlineSelectionCheckBox) .Add(fSortFolderNamesFirstCheckBox) + .Add(fHideDotFilesCheckBox) .Add(fTypeAheadFilteringCheckBox) .End() .AddGlue() @@ -479,6 +486,7 @@ WindowsSettingsView::AttachedToWindow() fShowFullPathInTitleBarCheckBox->SetTarget(this); fOutlineSelectionCheckBox->SetTarget(this); fSortFolderNamesFirstCheckBox->SetTarget(this); + fHideDotFilesCheckBox->SetTarget(this); fTypeAheadFilteringCheckBox->SetTarget(this); } @@ -549,6 +557,20 @@ WindowsSettingsView::MessageReceived(BMessage* message) 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( @@ -603,6 +625,12 @@ WindowsSettingsView::SetDefaults() "SortFolderNamesFirst", true); } + if (!settings.HideDotFiles()) { + settings.SetHideDotFiles(true); + send_bool_notices(kHideDotFilesChanged, + "HideDotFiles", true); + } + if (settings.TypeAheadFiltering()) { settings.SetTypeAheadFiltering(false); send_bool_notices(kTypeAheadFilteringChanged, @@ -663,6 +691,12 @@ WindowsSettingsView::Revert() "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, @@ -686,6 +720,7 @@ WindowsSettingsView::ShowCurrentSettings() fOutlineSelectionCheckBox->SetValue(settings.TransparentSelection() ? B_CONTROL_OFF : B_CONTROL_ON); fSortFolderNamesFirstCheckBox->SetValue(settings.SortFolderNamesFirst()); + fHideDotFilesCheckBox->SetValue(settings.HideDotFiles()); fTypeAheadFilteringCheckBox->SetValue(settings.TypeAheadFiltering()); } @@ -700,6 +735,7 @@ WindowsSettingsView::RecordRevertSettings() fShowNavigator = settings.ShowNavigator(); fTransparentSelection = settings.TransparentSelection(); fSortFolderNamesFirst = settings.SortFolderNamesFirst(); + fHideDotFiles = settings.HideDotFiles(); fTypeAheadFiltering = settings.TypeAheadFiltering(); } @@ -714,6 +750,7 @@ WindowsSettingsView::IsRevertable() const || fShowNavigator != settings.ShowNavigator() || fTransparentSelection != settings.TransparentSelection() || fSortFolderNamesFirst != settings.SortFolderNamesFirst() + || fHideDotFiles != settings.HideDotFiles() || fTypeAheadFiltering != settings.TypeAheadFiltering(); } diff --git a/src/kits/tracker/SettingsViews.h b/src/kits/tracker/SettingsViews.h index c193963..68a4c36 100644 --- a/src/kits/tracker/SettingsViews.h +++ b/src/kits/tracker/SettingsViews.h @@ -121,6 +121,7 @@ private: BCheckBox* fShowNavigatorCheckBox; BCheckBox* fOutlineSelectionCheckBox; BCheckBox* fSortFolderNamesFirstCheckBox; + BCheckBox* fHideDotFilesCheckBox; BCheckBox* fTypeAheadFilteringCheckBox; bool fShowFullPathInTitleBar; @@ -128,6 +129,7 @@ private: bool fShowNavigator; bool fTransparentSelection; bool fSortFolderNamesFirst; + bool fHideDotFiles; bool fTypeAheadFiltering; typedef SettingsView _inherited; diff --git a/src/kits/tracker/TrackerSettings.cpp b/src/kits/tracker/TrackerSettings.cpp index e956df7..6a7f01f 100644 --- a/src/kits/tracker/TrackerSettings.cpp +++ b/src/kits/tracker/TrackerSettings.cpp @@ -225,7 +225,7 @@ TTrackerState::LoadSettingsIfNeeded() = new BooleanValueSetting("TransparentSelection", true)); Add(fSortFolderNamesFirst = new BooleanValueSetting("SortFolderNamesFirst", true)); - Add(fHideDotFiles = new BooleanValueSetting("HideDotFiles", false)); + Add(fHideDotFiles = new BooleanValueSetting("HideDotFiles", true)); Add(fTypeAheadFiltering = new BooleanValueSetting("TypeAheadFiltering", false)); Add(fSingleWindowBrowse