FileTypes: disallow directories only where it makes sense.

Better fix for #8805.
This commit is contained in:
Adrien Destugues 2014-12-04 09:28:05 +01:00
parent 529cd177b5
commit db7fc944bd
3 changed files with 9 additions and 0 deletions

View File

@ -360,6 +360,7 @@ FileTypeWindow::MessageReceived(BMessage* message)
panel.AddString("title", B_TRANSLATE("Select same type as"));
panel.AddInt32("message", kMsgSameTypeAsOpened);
panel.AddMessenger("target", this);
panel.AddBool("allowDirs", true);
be_app_messenger.SendMessage(&panel);
break;
@ -404,6 +405,7 @@ FileTypeWindow::MessageReceived(BMessage* message)
B_TRANSLATE("Select same preferred application as"));
panel.AddInt32("message", kMsgSamePreferredAppAsOpened);
panel.AddMessenger("target", this);
panel.AddBool("allowDirs", true);
be_app_messenger.SendMessage(&panel);
break;

View File

@ -385,6 +385,12 @@ FileTypes::MessageReceived(BMessage* message)
title.Append(subTitle);
}
uint32 flavors = B_FILE_NODE;
if (message->FindBool("allowDirs"))
flavors |= B_DIRECTORY_NODE;
fFilePanel->SetNodeFlavors(flavors);
fFilePanel->SetMessage(new BMessage(what));
fFilePanel->Window()->SetTitle(title.String());
fFilePanel->SetTarget(target);

View File

@ -826,6 +826,7 @@ FileTypesWindow::MessageReceived(BMessage* message)
B_TRANSLATE("Select same preferred application as"));
panel.AddInt32("message", kMsgSamePreferredAppAsOpened);
panel.AddMessenger("target", this);
panel.AddBool("allowDirs", true);
be_app_messenger.SendMessage(&panel);
break;