FindPanel - Corrected operators less / greater than + rebuild of attributes for MIME change
* Operators for Less than/before and Greater than/After were incorrectly set to <= and =>, now corrected to < and > * When query type is set to By attribute and user changes Filetype, corrected the update of attributes Before this change, attributes were updated according to previous filetype Change-Id: I7e02af9cb667c4db2c0efd8fa0da8b2b0c4b9ddf Reviewed-on: https://review.haiku-os.org/c/haiku/+/2990 Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
committed by
Adrien Destugues
parent
87f4776937
commit
7e094dc359
@@ -115,8 +115,8 @@ const int32 operators[] = {
|
|||||||
B_NE,
|
B_NE,
|
||||||
B_BEGINS_WITH,
|
B_BEGINS_WITH,
|
||||||
B_ENDS_WITH,
|
B_ENDS_WITH,
|
||||||
B_GE,
|
B_GT,
|
||||||
B_LE
|
B_LT
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char* operatorLabels[] = {
|
static const char* operatorLabels[] = {
|
||||||
@@ -1167,12 +1167,6 @@ FindPanel::MessageReceived(BMessage* message)
|
|||||||
|
|
||||||
case kMIMETypeItem:
|
case kMIMETypeItem:
|
||||||
{
|
{
|
||||||
if (fMode == kByAttributeItem) {
|
|
||||||
// the attributes for this type may be different
|
|
||||||
RemoveAttrViewItems(false);
|
|
||||||
AddAttrRow();
|
|
||||||
}
|
|
||||||
|
|
||||||
BMenuItem* item;
|
BMenuItem* item;
|
||||||
if (message->FindPointer("source", (void**)&item) == B_OK) {
|
if (message->FindPointer("source", (void**)&item) == B_OK) {
|
||||||
// don't add the "All files and folders" to the list
|
// don't add the "All files and folders" to the list
|
||||||
@@ -1181,6 +1175,11 @@ FindPanel::MessageReceived(BMessage* message)
|
|||||||
|
|
||||||
SetCurrentMimeType(item);
|
SetCurrentMimeType(item);
|
||||||
}
|
}
|
||||||
|
if (fMode == kByAttributeItem) {
|
||||||
|
// the attributes for this type may be different
|
||||||
|
RemoveAttrViewItems(false);
|
||||||
|
AddAttrRow();
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2628,12 +2627,12 @@ FindPanel::AddAttributeControls(int32 gridRow)
|
|||||||
menu->AddItem(item);
|
menu->AddItem(item);
|
||||||
|
|
||||||
message = new BMessage(kAttributeItem);
|
message = new BMessage(kAttributeItem);
|
||||||
message->AddInt32("operator", B_GE);
|
message->AddInt32("operator", B_GT);
|
||||||
submenu->AddItem(new BMenuItem(B_TRANSLATE_NOCOLLECT(operatorLabels[5]),
|
submenu->AddItem(new BMenuItem(B_TRANSLATE_NOCOLLECT(operatorLabels[5]),
|
||||||
message));
|
message));
|
||||||
|
|
||||||
message = new BMessage(kAttributeItem);
|
message = new BMessage(kAttributeItem);
|
||||||
message->AddInt32("operator", B_LE);
|
message->AddInt32("operator", B_LT);
|
||||||
submenu->AddItem(new BMenuItem(B_TRANSLATE_NOCOLLECT(operatorLabels[6]),
|
submenu->AddItem(new BMenuItem(B_TRANSLATE_NOCOLLECT(operatorLabels[6]),
|
||||||
message));
|
message));
|
||||||
|
|
||||||
@@ -2653,12 +2652,12 @@ FindPanel::AddAttributeControls(int32 gridRow)
|
|||||||
menu->AddItem(item);
|
menu->AddItem(item);
|
||||||
|
|
||||||
message = new BMessage(kAttributeItem);
|
message = new BMessage(kAttributeItem);
|
||||||
message->AddInt32("operator", B_LE);
|
message->AddInt32("operator", B_LT);
|
||||||
submenu->AddItem(new BMenuItem(B_TRANSLATE_NOCOLLECT(operatorLabels[7]),
|
submenu->AddItem(new BMenuItem(B_TRANSLATE_NOCOLLECT(operatorLabels[7]),
|
||||||
message));
|
message));
|
||||||
|
|
||||||
message = new BMessage(kAttributeItem);
|
message = new BMessage(kAttributeItem);
|
||||||
message->AddInt32("operator", B_GE);
|
message->AddInt32("operator", B_GT);
|
||||||
submenu->AddItem(new BMenuItem(B_TRANSLATE_NOCOLLECT(operatorLabels[8]),
|
submenu->AddItem(new BMenuItem(B_TRANSLATE_NOCOLLECT(operatorLabels[8]),
|
||||||
message));
|
message));
|
||||||
|
|
||||||
@@ -2924,21 +2923,21 @@ FindPanel::AddAttributes(BMenu* menu, const BMimeType &mimeType)
|
|||||||
submenu->AddItem(new BMenuItem(operatorLabels[1], message));
|
submenu->AddItem(new BMenuItem(operatorLabels[1], message));
|
||||||
|
|
||||||
message = new BMessage(kAttributeItem);
|
message = new BMessage(kAttributeItem);
|
||||||
message->AddInt32("operator", B_GE);
|
message->AddInt32("operator", B_GT);
|
||||||
submenu->AddItem(new BMenuItem(operatorLabels[5], message));
|
submenu->AddItem(new BMenuItem(operatorLabels[5], message));
|
||||||
|
|
||||||
message = new BMessage(kAttributeItem);
|
message = new BMessage(kAttributeItem);
|
||||||
message->AddInt32("operator", B_LE);
|
message->AddInt32("operator", B_LT);
|
||||||
submenu->AddItem(new BMenuItem(operatorLabels[6], message));
|
submenu->AddItem(new BMenuItem(operatorLabels[6], message));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case B_TIME_TYPE:
|
case B_TIME_TYPE:
|
||||||
message = new BMessage(kAttributeItem);
|
message = new BMessage(kAttributeItem);
|
||||||
message->AddInt32("operator", B_LE);
|
message->AddInt32("operator", B_LT);
|
||||||
submenu->AddItem(new BMenuItem(operatorLabels[7], message));
|
submenu->AddItem(new BMenuItem(operatorLabels[7], message));
|
||||||
|
|
||||||
message = new BMessage(kAttributeItem);
|
message = new BMessage(kAttributeItem);
|
||||||
message->AddInt32("operator", B_GE);
|
message->AddInt32("operator", B_GT);
|
||||||
submenu->AddItem(new BMenuItem(operatorLabels[8], message));
|
submenu->AddItem(new BMenuItem(operatorLabels[8], message));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user