diff --git a/src/kits/tracker/FilePanelPriv.cpp b/src/kits/tracker/FilePanelPriv.cpp index 8e9955cf1c..9eb1f7465c 100644 --- a/src/kits/tracker/FilePanelPriv.cpp +++ b/src/kits/tracker/FilePanelPriv.cpp @@ -581,13 +581,6 @@ TFilePanel::SetClientObject(BFilePanel* panel) } -bool -TFilePanel::IsOpenButtonAlwaysEnabled() const -{ - return !fIsSavePanel && (fNodeFlavors & B_DIRECTORY_NODE) != 0; -} - - void TFilePanel::AdjustButton() { @@ -645,11 +638,14 @@ TFilePanel::AdjustButton() break; } } + } else if ((fNodeFlavors & B_DIRECTORY_NODE) != 0) { + // No selection, but the current directory could be opened. + enabled = true; } } button->SetLabel(buttonText.String()); - button->SetEnabled(IsOpenButtonAlwaysEnabled() || enabled); + button->SetEnabled(enabled); } @@ -1725,7 +1721,8 @@ TFilePanel::HandleOpenButton() } OpenSelectionCommon(&message); - } else if (IsOpenButtonAlwaysEnabled()) { + } else if ((fNodeFlavors & B_DIRECTORY_NODE) != 0) { + // Open the current directory. BMessage message(*fMessage); message.AddRef("refs", TargetModel()->EntryRef()); OpenSelectionCommon(&message); diff --git a/src/kits/tracker/FilePanelPriv.h b/src/kits/tracker/FilePanelPriv.h index b7695de81e..cec840a0c2 100644 --- a/src/kits/tracker/FilePanelPriv.h +++ b/src/kits/tracker/FilePanelPriv.h @@ -140,7 +140,6 @@ private: void AdjustButton(); bool SelectChildInParent(const entry_ref* parent, const node_ref* child); void OpenSelectionCommon(BMessage*); - bool IsOpenButtonAlwaysEnabled() const; bool fIsSavePanel; uint32 fNodeFlavors;