FileTypes: disallow directories only where it makes sense.
Better fix for #8805.
This commit is contained in:
@@ -360,6 +360,7 @@ FileTypeWindow::MessageReceived(BMessage* message)
|
|||||||
panel.AddString("title", B_TRANSLATE("Select same type as"));
|
panel.AddString("title", B_TRANSLATE("Select same type as"));
|
||||||
panel.AddInt32("message", kMsgSameTypeAsOpened);
|
panel.AddInt32("message", kMsgSameTypeAsOpened);
|
||||||
panel.AddMessenger("target", this);
|
panel.AddMessenger("target", this);
|
||||||
|
panel.AddBool("allowDirs", true);
|
||||||
|
|
||||||
be_app_messenger.SendMessage(&panel);
|
be_app_messenger.SendMessage(&panel);
|
||||||
break;
|
break;
|
||||||
@@ -404,6 +405,7 @@ FileTypeWindow::MessageReceived(BMessage* message)
|
|||||||
B_TRANSLATE("Select same preferred application as"));
|
B_TRANSLATE("Select same preferred application as"));
|
||||||
panel.AddInt32("message", kMsgSamePreferredAppAsOpened);
|
panel.AddInt32("message", kMsgSamePreferredAppAsOpened);
|
||||||
panel.AddMessenger("target", this);
|
panel.AddMessenger("target", this);
|
||||||
|
panel.AddBool("allowDirs", true);
|
||||||
|
|
||||||
be_app_messenger.SendMessage(&panel);
|
be_app_messenger.SendMessage(&panel);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -385,6 +385,12 @@ FileTypes::MessageReceived(BMessage* message)
|
|||||||
title.Append(subTitle);
|
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->SetMessage(new BMessage(what));
|
||||||
fFilePanel->Window()->SetTitle(title.String());
|
fFilePanel->Window()->SetTitle(title.String());
|
||||||
fFilePanel->SetTarget(target);
|
fFilePanel->SetTarget(target);
|
||||||
|
|||||||
@@ -826,6 +826,7 @@ FileTypesWindow::MessageReceived(BMessage* message)
|
|||||||
B_TRANSLATE("Select same preferred application as"));
|
B_TRANSLATE("Select same preferred application as"));
|
||||||
panel.AddInt32("message", kMsgSamePreferredAppAsOpened);
|
panel.AddInt32("message", kMsgSamePreferredAppAsOpened);
|
||||||
panel.AddMessenger("target", this);
|
panel.AddMessenger("target", this);
|
||||||
|
panel.AddBool("allowDirs", true);
|
||||||
|
|
||||||
be_app_messenger.SendMessage(&panel);
|
be_app_messenger.SendMessage(&panel);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user