Add "Reset rating" menu item to MediaPlayer and ShowImage

Doesn't remove the rating BFS attribute from the file, just sets it to "0".

ShowImage: Move "Ratings" menu into a new "Attributes" menu, similar to
MediaPlayer.

Change-Id: I831166d88be9d18f1d302a423aa43929b7a1b255
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7092
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
Humdinger
2023-11-06 13:36:20 +00:00
committed by Adrien Destugues
parent dbdb78c31f
commit 15305513ae
4 changed files with 19 additions and 4 deletions
+7
View File
@@ -1836,6 +1836,11 @@ MainWin::_CreateMenu()
setRatingMsg->AddInt32("rating", i);
fRatingMenu->AddItem(new BMenuItem(label, setRatingMsg));
}
BMessage* message = new BMessage(M_SET_RATING);
message->AddInt32("rating", 0);
fResetRatingItem = new BMenuItem(B_TRANSLATE("Reset rating"), message);
fAttributesMenu->AddItem(fResetRatingItem);
}
@@ -2821,6 +2826,8 @@ MainWin::_UpdateAttributesMenu(const BNode& node)
for (int32 i = 0; BMenuItem* item = fRatingMenu->ItemAt(i); i++)
item->SetMarked(i + 1 == rating);
fResetRatingItem->SetEnabled(rating > 0);
}
+1
View File
@@ -147,6 +147,7 @@ private:
BMenuItem* fNoInterfaceMenuItem;
BMenu* fAttributesMenu;
BMenu* fRatingMenu;
BMenuItem* fResetRatingItem;
bool fHasFile;
bool fHasVideo;
+10 -4
View File
@@ -281,7 +281,13 @@ ShowImageWindow::ShowImageWindow(BRect frame, const entry_ref& ref,
_BuildViewMenu(menu, false);
fBar->AddItem(menu);
fBar->AddItem(_BuildRatingMenu());
menu = new BMenu(B_TRANSLATE_CONTEXT("Attributes", "Menus"));
menu->AddItem(_BuildRatingMenu());
BMessage* message = new BMessage(MSG_SET_RATING);
message->AddInt32("rating", 0);
fResetRatingItem = new BMenuItem(B_TRANSLATE("Reset rating"), message);
menu->AddItem(fResetRatingItem);
fBar->AddItem(menu);
SetPulseRate(100000);
// every 1/10 second; ShowImageView needs it for marching ants
@@ -399,14 +405,13 @@ ShowImageWindow::_BuildRatingMenu()
{
fRatingMenu = new BMenu(B_TRANSLATE("Rating"));
for (int32 i = 1; i <= 10; i++) {
BMessage* message = new BMessage(MSG_SET_RATING);
BString label;
label << i;
BMessage* message = new BMessage(MSG_SET_RATING);
message->AddInt32("rating", i);
fRatingMenu->AddItem(new BMenuItem(label.String(), message));
}
// NOTE: We may want to encapsulate the Rating menu within a more
// general "Attributes" menu.
return fRatingMenu;
}
@@ -1601,6 +1606,7 @@ ShowImageWindow::_UpdateRatingMenu()
break;
item->SetMarked(i == rating);
}
fResetRatingItem->SetEnabled(rating > 0);
}
+1
View File
@@ -126,6 +126,7 @@ private:
BMenu* fSlideShowDelayMenu;
BMenu* fRatingMenu;
BMenu* fOpenWithMenu;
BMenuItem* fResetRatingItem;
BToolBar* fToolBar;
bool fToolBarVisible;
BView* fScrollArea;