xref: /haiku/src/kits/shared/AboutMenuItem.cpp (revision 25a7b01d15612846f332751841da3579db313082)
112d8a9f8SJonas Sundström /*
212d8a9f8SJonas Sundström  * Copyright 2007-2011 Haiku, Inc.
312d8a9f8SJonas Sundström  * Distributed under the terms of the MIT License.
412d8a9f8SJonas Sundström  *
512d8a9f8SJonas Sundström  * Authors:
612d8a9f8SJonas Sundström  *		Ryan Leavengood, leavengood@gmail.com
712d8a9f8SJonas Sundström  *		Jonas Sundström, jonas@kirilla.se
812d8a9f8SJonas Sundström  */
912d8a9f8SJonas Sundström 
1012d8a9f8SJonas Sundström 
1112d8a9f8SJonas Sundström #include <AboutMenuItem.h>
12d7f342e8SJonas Sundström #include <Application.h>
13d7f342e8SJonas Sundström #include <Roster.h>
1412d8a9f8SJonas Sundström #include <String.h>
1560f75e90SOliver Tappe #include <SystemCatalog.h>
1612d8a9f8SJonas Sundström 
1760f75e90SOliver Tappe using BPrivate::gSystemCatalog;
1812d8a9f8SJonas Sundström 
1912d8a9f8SJonas Sundström 
20*546208a5SOliver Tappe #undef B_TRANSLATION_CONTEXT
21*546208a5SOliver Tappe #define B_TRANSLATION_CONTEXT "AboutMenuItem"
2212d8a9f8SJonas Sundström 
2312d8a9f8SJonas Sundström 
BAboutMenuItem()24d7f342e8SJonas Sundström BAboutMenuItem::BAboutMenuItem()
2512d8a9f8SJonas Sundström 	:
2612d8a9f8SJonas Sundström 	BMenuItem("", new BMessage(B_ABOUT_REQUESTED))
2712d8a9f8SJonas Sundström {
28d7f342e8SJonas Sundström 	app_info info;
29d7f342e8SJonas Sundström 	const char* name = NULL;
30d7f342e8SJonas Sundström 	if (be_app != NULL && be_app->GetAppInfo(&info) == B_OK)
31560ff447SJonas Sundström 		name = B_TRANSLATE_NOCOLLECT_SYSTEM_NAME(info.ref.name);
32d7f342e8SJonas Sundström 
33c53bd10cSJonas Sundström 	const char* string = B_TRANSLATE_MARK("About %app%");
34eaa5e093SOliver Tappe 	string = gSystemCatalog.GetString(string, "AboutMenuItem");
3512d8a9f8SJonas Sundström 
3612d8a9f8SJonas Sundström 	BString label = string;
37d7f342e8SJonas Sundström 	if (name != NULL)
38d7f342e8SJonas Sundström 		label.ReplaceFirst("%app%", name);
39d7f342e8SJonas Sundström 	else
40d7f342e8SJonas Sundström 		label.ReplaceFirst("%app%", "(NULL)");
4112d8a9f8SJonas Sundström 	SetLabel(label.String());
4212d8a9f8SJonas Sundström }
43