- Find panel now also includes supertype attributes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28729 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -2611,21 +2611,8 @@ TAttrView::AddMimeTypeAttrs()
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
TAttrView::AddMimeTypeAttrs(BMenu *menu)
|
TAttrView::AddAttributes(BMenu *menu, const BMimeType &mimeType)
|
||||||
{
|
{
|
||||||
FindPanel *mainView = dynamic_cast<FindPanel *>(Parent()->
|
|
||||||
Parent()->FindView("MainView"));
|
|
||||||
if (!mainView)
|
|
||||||
return;
|
|
||||||
|
|
||||||
const char *typeName;
|
|
||||||
if (mainView->CurrentMimeType(&typeName) == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
BMimeType mimeType(typeName);
|
|
||||||
if (!mimeType.IsInstalled())
|
|
||||||
return;
|
|
||||||
|
|
||||||
// only add things to menu which have "user-visible" data
|
// only add things to menu which have "user-visible" data
|
||||||
BMessage attributeMessage;
|
BMessage attributeMessage;
|
||||||
if (mimeType.GetAttrInfo(&attributeMessage) != B_OK)
|
if (mimeType.GetAttrInfo(&attributeMessage) != B_OK)
|
||||||
@@ -2722,7 +2709,34 @@ TAttrView::AddMimeTypeAttrs(BMenu *menu)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
submenu->SetTargetForItems(this);
|
submenu->SetTargetForItems(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
TAttrView::AddMimeTypeAttrs(BMenu *menu)
|
||||||
|
{
|
||||||
|
FindPanel *mainView = dynamic_cast<FindPanel *>(Parent()->
|
||||||
|
Parent()->FindView("MainView"));
|
||||||
|
if (!mainView)
|
||||||
|
return;
|
||||||
|
|
||||||
|
const char *typeName;
|
||||||
|
if (mainView->CurrentMimeType(&typeName) == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
BMimeType mimeType(typeName);
|
||||||
|
if (!mimeType.IsInstalled())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!mimeType.IsSupertypeOnly()) {
|
||||||
|
// add supertype attributes
|
||||||
|
BMimeType supertype;
|
||||||
|
mimeType.GetSupertype(&supertype);
|
||||||
|
AddAttributes(menu, supertype);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AddAttributes(menu, mimeType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -304,6 +304,7 @@ class TAttrView : public BView {
|
|||||||
void GetDefaultName(BString &result) const;
|
void GetDefaultName(BString &result) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void AddAttributes(BMenu *, const BMimeType &);
|
||||||
void AddMimeTypeAttrs(BMenu *);
|
void AddMimeTypeAttrs(BMenu *);
|
||||||
|
|
||||||
BMenuField *fMenuField;
|
BMenuField *fMenuField;
|
||||||
|
|||||||
Reference in New Issue
Block a user