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ömBAboutMenuItem::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