[Scummvm-git-logs] scummvm master -> 9368323cdf182121577511b129f8d981c364a34b

sev- sev at scummvm.org
Fri Oct 4 00:36:13 CEST 2019


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
087c6c80d0 GRAPHICS: MACGUI: Support grayed out menu items in PE exe
9368323cdf GRAPHICS: MACGUI: Process Windows menu shortcuts


Commit: 087c6c80d0eff9b65726ad5239febc25329ae149
    https://github.com/scummvm/scummvm/commit/087c6c80d0eff9b65726ad5239febc25329ae149
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2019-10-04T00:33:32+02:00

Commit Message:
GRAPHICS: MACGUI: Support grayed out menu items in PE exe

Changed paths:
    graphics/macgui/macmenu.cpp


diff --git a/graphics/macgui/macmenu.cpp b/graphics/macgui/macmenu.cpp
index 7ed4f31..873b2b9 100644
--- a/graphics/macgui/macmenu.cpp
+++ b/graphics/macgui/macmenu.cpp
@@ -240,7 +240,7 @@ MacMenu *MacMenu::createMenuFromPEexe(Common::PEResources &exe, MacWindowManager
 				menu->addMenuItem(readUnicodeString(menuData));
 			} else {
 				Common::U32String name = readUnicodeString(menuData);
-				menu->addSubMenuItem(menus.top(), name, action);
+				menu->addSubMenuItem(menus.top(), name, action, 0, 0, !(flags & kGrayed));
 				action++;
 			}
 
@@ -255,7 +255,7 @@ MacMenu *MacMenu::createMenuFromPEexe(Common::PEResources &exe, MacWindowManager
 			menuData->readUint16LE(); // menu id
 			Common::U32String name = readUnicodeString(menuData);
 			if (depth > 0) {
-				menu->addSubMenuItem(menus.top(), name, action);
+				menu->addSubMenuItem(menus.top(), name, action, 0, 0, !(flags & kGrayed));
 			}
 			if (!name.empty()) {
 				action++;
@@ -280,7 +280,8 @@ MacMenu *MacMenu::createMenuFromPEexe(Common::PEResources &exe, MacWindowManager
 	}
 	delete menuData;
 
-	menu->printMenu();
+	if (gDebugLevel > 5)
+		menu->printMenu();
 
 	return menu;
 }


Commit: 9368323cdf182121577511b129f8d981c364a34b
    https://github.com/scummvm/scummvm/commit/9368323cdf182121577511b129f8d981c364a34b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2019-10-04T00:35:21+02:00

Commit Message:
GRAPHICS: MACGUI: Process Windows menu shortcuts

Changed paths:
    graphics/macgui/macmenu.cpp


diff --git a/graphics/macgui/macmenu.cpp b/graphics/macgui/macmenu.cpp
index 873b2b9..d8b5a43 100644
--- a/graphics/macgui/macmenu.cpp
+++ b/graphics/macgui/macmenu.cpp
@@ -337,7 +337,18 @@ int MacMenu::addMenuItem(const Common::String &name) {
 }
 
 int MacMenu::addMenuItem(const Common::U32String &name) {
-	MacMenuItem *i = new MacMenuItem(name);
+	Common::U32String amp("&");
+	Common::U32String res;
+
+	for (uint i = 0; i < name.size(); i++)
+		if (name[i] == amp[0]) {
+			//shortcut = amp[0] & 0xff;
+		} else {
+			res += name[i];
+		}
+
+
+	MacMenuItem *i = new MacMenuItem(res);
 	_items.push_back(i);
 
 	_dimensionsDirty = true;
@@ -370,7 +381,17 @@ void MacMenu::addMenuSubItem(int id, const Common::U32String &text, int action,
 	if (_items[id]->submenu == nullptr)
 		_items[id]->submenu = new MacMenuSubMenu();
 
-	_items[id]->submenu->subitems.push_back(new MacMenuSubItem(text, action, style, shortcut, enabled));
+	Common::U32String amp("&");
+	Common::U32String res;
+
+	for (uint i = 0; i < text.size(); i++)
+		if (text[i] == amp[0]) {
+			shortcut = amp[0] & 0xff;
+		} else {
+			res += text[i];
+		}
+
+	_items[id]->submenu->subitems.push_back(new MacMenuSubItem(res, action, style, shortcut, enabled));
 }
 
 void MacMenu::addSubMenuItem(MacMenuSubMenu *submenu, const Common::String &text, int action, int style, char shortcut, bool enabled) {
@@ -386,7 +407,17 @@ void MacMenu::addSubMenuItem(MacMenuSubMenu *submenu, const Common::U32String &t
 
 	_dimensionsDirty = true;
 
-	submenu->subitems.push_back(new MacMenuSubItem(text, action, style, shortcut, enabled));
+	Common::U32String amp("&");
+	Common::U32String res;
+
+	for (uint i = 0; i < text.size(); i++)
+		if (text[i] == amp[0]) {
+			shortcut = amp[0] & 0xff;
+		} else {
+			res += text[i];
+		}
+
+	submenu->subitems.push_back(new MacMenuSubItem(res, action, style, shortcut, enabled));
 }
 
 void MacMenu::calcDimensions() {





More information about the Scummvm-git-logs mailing list