Added the app to display the AboutBox.
Not added as inline code in run_be_about to libbe code because of loading Haiku logo as a resource There is a build issue with it not loading the Haiku logo when using jam git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13240 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
SubDir OBOS_TOP src apps ;
|
SubDir OBOS_TOP src apps ;
|
||||||
|
|
||||||
|
SubInclude OBOS_TOP src apps abouthaiku ;
|
||||||
SubInclude OBOS_TOP src apps bemail ;
|
SubInclude OBOS_TOP src apps bemail ;
|
||||||
SubInclude OBOS_TOP src apps cdplayer ;
|
SubInclude OBOS_TOP src apps cdplayer ;
|
||||||
SubInclude OBOS_TOP src apps clock ;
|
SubInclude OBOS_TOP src apps clock ;
|
||||||
|
|||||||
@@ -0,0 +1,574 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2001-2005, Haiku, Inc.
|
||||||
|
* Distributed under the terms of the MIT license.
|
||||||
|
*
|
||||||
|
* Author: DarkWyrm <[email protected]>
|
||||||
|
*/
|
||||||
|
#include <AppFileInfo.h>
|
||||||
|
#include <Application.h>
|
||||||
|
#include <Bitmap.h>
|
||||||
|
#include <File.h>
|
||||||
|
#include <Font.h>
|
||||||
|
#include <MessageRunner.h>
|
||||||
|
#include <Messenger.h>
|
||||||
|
#include <OS.h>
|
||||||
|
#include <Screen.h>
|
||||||
|
#include <ScrollView.h>
|
||||||
|
#include <String.h>
|
||||||
|
#include <TextView.h>
|
||||||
|
#include <TranslationUtils.h>
|
||||||
|
#include <StringView.h>
|
||||||
|
#include <View.h>
|
||||||
|
#include <Window.h>
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#define MOVE_INFO_VIEW 'mviv'
|
||||||
|
|
||||||
|
const char *CPUToString(cpu_type type);
|
||||||
|
const char *UptimeToString(void);
|
||||||
|
|
||||||
|
class AboutApp : public BApplication
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
AboutApp(void);
|
||||||
|
};
|
||||||
|
|
||||||
|
class AboutWindow : public BWindow
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
AboutWindow(void);
|
||||||
|
bool QuitRequested(void);
|
||||||
|
};
|
||||||
|
|
||||||
|
class AboutView : public BView
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
AboutView(const BRect &r);
|
||||||
|
~AboutView(void);
|
||||||
|
void AttachedToWindow(void);
|
||||||
|
void Pulse(void);
|
||||||
|
void Draw(BRect update);
|
||||||
|
void MessageReceived(BMessage *msg);
|
||||||
|
void MouseDown(BPoint pt);
|
||||||
|
|
||||||
|
private:
|
||||||
|
BStringView *fUptimeView;
|
||||||
|
BView *fInfoView;
|
||||||
|
BTextView *fCreditsView;
|
||||||
|
|
||||||
|
BBitmap *fLogo;
|
||||||
|
|
||||||
|
BPoint fDrawPoint;
|
||||||
|
};
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
AboutApp app;
|
||||||
|
app.Run();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
AboutApp::AboutApp(void)
|
||||||
|
: BApplication("application/x-vnd.haiku-AboutHaiku")
|
||||||
|
{
|
||||||
|
AboutWindow *win = new AboutWindow();
|
||||||
|
win->Show();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
AboutWindow::AboutWindow(void)
|
||||||
|
: BWindow( BRect(0,0,500,300), "About Haiku", B_TITLED_WINDOW,
|
||||||
|
B_NOT_RESIZABLE | B_NOT_ZOOMABLE)
|
||||||
|
{
|
||||||
|
AboutView *view = new AboutView(Bounds());
|
||||||
|
AddChild(view);
|
||||||
|
|
||||||
|
MoveTo( (BScreen().Frame().Width() - Bounds().Width()) / 2,
|
||||||
|
(BScreen().Frame().Height() - Bounds().Height()) / 2 );
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
AboutWindow::QuitRequested(void)
|
||||||
|
{
|
||||||
|
be_app->PostMessage(B_QUIT_REQUESTED);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
AboutView::AboutView(const BRect &r)
|
||||||
|
: BView(r, "aboutview", B_FOLLOW_ALL, B_WILL_DRAW | B_PULSE_NEEDED)
|
||||||
|
{
|
||||||
|
fLogo=BTranslationUtils::GetBitmap("haikulogo.png");
|
||||||
|
|
||||||
|
if(fLogo)
|
||||||
|
{
|
||||||
|
fDrawPoint.x=( 225-fLogo->Bounds().Width() )/2;
|
||||||
|
fDrawPoint.y=0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Begin Construction of System Information controls
|
||||||
|
|
||||||
|
font_height height;
|
||||||
|
float labelsize, textsize;
|
||||||
|
char string[255];
|
||||||
|
system_info sysinfo;
|
||||||
|
|
||||||
|
get_system_info(&sysinfo);
|
||||||
|
|
||||||
|
be_plain_font->GetHeight(&height);
|
||||||
|
textsize = height.ascent + height.descent + height.leading;
|
||||||
|
|
||||||
|
be_bold_font->GetHeight(&height);
|
||||||
|
labelsize = height.ascent + height.descent + height.leading;
|
||||||
|
|
||||||
|
BRect r(0,0,225,Bounds().bottom);
|
||||||
|
if(fLogo)
|
||||||
|
r.OffsetBy(0,fLogo->Bounds().Height());
|
||||||
|
|
||||||
|
fInfoView = new BView(r, "infoview", B_FOLLOW_NONE, B_WILL_DRAW);
|
||||||
|
fInfoView->SetViewColor(235,235,235);
|
||||||
|
AddChild(fInfoView);
|
||||||
|
|
||||||
|
// Add all the various labels for system infomation
|
||||||
|
|
||||||
|
BStringView *strview;
|
||||||
|
|
||||||
|
// OS Version
|
||||||
|
r.Set(5,5,225,labelsize+5);
|
||||||
|
strview = new BStringView(r, "oslabel","Version:");
|
||||||
|
strview->SetFont(be_bold_font);
|
||||||
|
fInfoView->AddChild(strview);
|
||||||
|
|
||||||
|
r.OffsetBy(0,labelsize);
|
||||||
|
r.bottom=r.top + textsize;
|
||||||
|
|
||||||
|
// the version is stored in the BEOS:APP_VERSION attribute of libbe.so
|
||||||
|
BFile file("/boot/beos/system/lib/libbe.so",B_READ_ONLY);
|
||||||
|
BAppFileInfo afInfo;
|
||||||
|
version_info vInfo;
|
||||||
|
|
||||||
|
if( file.InitCheck()==B_OK &&
|
||||||
|
afInfo.SetTo(&file)==B_OK &&
|
||||||
|
afInfo.GetVersionInfo(&vInfo, B_APP_VERSION_KIND)==B_OK )
|
||||||
|
{
|
||||||
|
strcpy(string,vInfo.short_info);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
strcpy(string,"Unknown");
|
||||||
|
|
||||||
|
strview = new BStringView(r, "ostext",string);
|
||||||
|
fInfoView->AddChild(strview);
|
||||||
|
|
||||||
|
// CPU count, type and clock speed
|
||||||
|
r.OffsetBy(0,textsize*1.5);
|
||||||
|
r.bottom=r.top + labelsize;
|
||||||
|
|
||||||
|
if(sysinfo.cpu_count > 1)
|
||||||
|
sprintf(string,"%ld Processors:",sysinfo.cpu_count);
|
||||||
|
else
|
||||||
|
strcpy(string,"Processor:");
|
||||||
|
|
||||||
|
strview = new BStringView(r, "cpulabel","Processor:");
|
||||||
|
strview->SetFont(be_bold_font);
|
||||||
|
fInfoView->AddChild(strview);
|
||||||
|
|
||||||
|
r.OffsetBy(0,labelsize);
|
||||||
|
r.bottom=r.top + textsize;
|
||||||
|
strview = new BStringView(r, "cputext",CPUToString(sysinfo.cpu_type));
|
||||||
|
fInfoView->AddChild(strview);
|
||||||
|
|
||||||
|
r.OffsetBy(0,labelsize);
|
||||||
|
r.bottom=r.top + textsize;
|
||||||
|
|
||||||
|
if(sysinfo.cpu_clock_speed < 1000000000)
|
||||||
|
sprintf(string,"%.2f Mhz",sysinfo.cpu_clock_speed / 1000000.0f);
|
||||||
|
else
|
||||||
|
sprintf(string,"%.2f Ghz",sysinfo.cpu_clock_speed / 1000000000.0f);
|
||||||
|
|
||||||
|
strview = new BStringView(r, "mhztext",string);
|
||||||
|
fInfoView->AddChild(strview);
|
||||||
|
|
||||||
|
// RAM
|
||||||
|
r.OffsetBy(0,textsize*1.5);
|
||||||
|
r.bottom=r.top + labelsize;
|
||||||
|
strview = new BStringView(r, "ramlabel","Memory:");
|
||||||
|
strview->SetFont(be_bold_font);
|
||||||
|
fInfoView->AddChild(strview);
|
||||||
|
|
||||||
|
r.OffsetBy(0,labelsize);
|
||||||
|
r.bottom=r.top + textsize;
|
||||||
|
|
||||||
|
sprintf(string,"%ld MB total", sysinfo.max_pages / 256);
|
||||||
|
|
||||||
|
strview = new BStringView(r, "ramtext",string);
|
||||||
|
fInfoView->AddChild(strview);
|
||||||
|
|
||||||
|
// Kernel build time/date
|
||||||
|
r.OffsetBy(0,textsize*1.5);
|
||||||
|
r.bottom=r.top + labelsize;
|
||||||
|
strview = new BStringView(r, "kernellabel","Kernel:");
|
||||||
|
strview->SetFont(be_bold_font);
|
||||||
|
fInfoView->AddChild(strview);
|
||||||
|
|
||||||
|
r.OffsetBy(0,labelsize);
|
||||||
|
r.bottom=r.top + textsize;
|
||||||
|
|
||||||
|
sprintf(string,"%s %s",sysinfo.kernel_build_date, sysinfo.kernel_build_time);
|
||||||
|
|
||||||
|
strview = new BStringView(r, "kerneltext",string);
|
||||||
|
fInfoView->AddChild(strview);
|
||||||
|
|
||||||
|
// Uptime
|
||||||
|
r.OffsetBy(0,textsize*1.5);
|
||||||
|
r.bottom=r.top + labelsize;
|
||||||
|
strview = new BStringView(r, "uptimelabel","Time Running:");
|
||||||
|
strview->SetFont(be_bold_font);
|
||||||
|
fInfoView->AddChild(strview);
|
||||||
|
|
||||||
|
r.OffsetBy(0,labelsize);
|
||||||
|
r.bottom=r.top + textsize;
|
||||||
|
|
||||||
|
fUptimeView = new BStringView(r, "uptimetext","");
|
||||||
|
fInfoView->AddChild(fUptimeView);
|
||||||
|
fUptimeView->SetText(UptimeToString());
|
||||||
|
|
||||||
|
// Begin construction of the credits view
|
||||||
|
r=Bounds();
|
||||||
|
r.left += fInfoView->Bounds().right;
|
||||||
|
r.right -= B_V_SCROLL_BAR_WIDTH;
|
||||||
|
|
||||||
|
fCreditsView = new BTextView(r, "credits", r.OffsetToCopy(0,0).InsetByCopy(5,5),B_FOLLOW_NONE);
|
||||||
|
BScrollView *creditsScroller = new BScrollView("creditsScroller",fCreditsView,0,0,
|
||||||
|
false,true, B_PLAIN_BORDER);
|
||||||
|
AddChild(creditsScroller);
|
||||||
|
|
||||||
|
fCreditsView->SetStylable(true);
|
||||||
|
fCreditsView->MakeEditable(false);
|
||||||
|
|
||||||
|
BFont font(be_bold_font);
|
||||||
|
font.SetSize(be_bold_font->Size()+2);
|
||||||
|
|
||||||
|
fCreditsView->SetFontAndColor(&font);
|
||||||
|
fCreditsView->Insert("Haiku\n");
|
||||||
|
|
||||||
|
font.SetSize(be_bold_font->Size()+1);
|
||||||
|
font.SetFace(B_BOLD_FACE | B_ITALIC_FACE);
|
||||||
|
|
||||||
|
fCreditsView->SetFontAndColor(be_plain_font);
|
||||||
|
fCreditsView->Insert("Copyright (C) 2001-2005 Haiku, Inc.\n\n");
|
||||||
|
|
||||||
|
fCreditsView->SetFontAndColor(&font);
|
||||||
|
fCreditsView->Insert("Team Leads:\n");
|
||||||
|
|
||||||
|
fCreditsView->SetFontAndColor(be_plain_font);
|
||||||
|
fCreditsView->Insert(
|
||||||
|
"Bruno G. Albuquerque\n"
|
||||||
|
"DarkWyrm\n"
|
||||||
|
"Axel Dörfler\n"
|
||||||
|
"Philippe Houdoin\n"
|
||||||
|
"Kurtis Kopf\n"
|
||||||
|
"Marcus Overhagen\n"
|
||||||
|
"Sikosis\n"
|
||||||
|
"Ingo Weinhold\n"
|
||||||
|
"Michael Wilber\n"
|
||||||
|
"\n"
|
||||||
|
);
|
||||||
|
|
||||||
|
fCreditsView->SetFontAndColor(&font);
|
||||||
|
fCreditsView->Insert("Developers:\n");
|
||||||
|
|
||||||
|
fCreditsView->SetFontAndColor(be_plain_font);
|
||||||
|
fCreditsView->Insert(
|
||||||
|
"Stephan Aßmus\n"
|
||||||
|
"Andrew Bachmann\n"
|
||||||
|
"Stefano Ceccherini\n"
|
||||||
|
"Rudolf Cornelissen\n"
|
||||||
|
"Jérôme Duval\n"
|
||||||
|
"Matthijs Hollemans\n"
|
||||||
|
"Adi Oanca\n"
|
||||||
|
"Niels Reedijk\n"
|
||||||
|
"\n");
|
||||||
|
|
||||||
|
fCreditsView->SetFontAndColor(&font);
|
||||||
|
fCreditsView->Insert("Contributors:\n");
|
||||||
|
|
||||||
|
fCreditsView->SetFontAndColor(be_plain_font);
|
||||||
|
fCreditsView->Insert(
|
||||||
|
"Bruce Cameron\n"
|
||||||
|
"Tyler Dauwalder\n"
|
||||||
|
"Oliver Ruiz Dorantes\n"
|
||||||
|
"Marc Flerackers\n"
|
||||||
|
"Erik Jaesler\n"
|
||||||
|
"Elad Lahav\n"
|
||||||
|
"Santiago Lema\n"
|
||||||
|
"Jerome Leveque\n"
|
||||||
|
"Michael Lotz\n"
|
||||||
|
"Graham MacDonald\n"
|
||||||
|
"Brian Matzon\n"
|
||||||
|
"Christopher ML Zumwalt May\n"
|
||||||
|
"Andrew McCall\n"
|
||||||
|
"David McPaul\n"
|
||||||
|
"Misza\n"
|
||||||
|
"MrSiggler\n"
|
||||||
|
"Alan Murta\n"
|
||||||
|
"Frans Van Nispen\n"
|
||||||
|
"Pahtz\n"
|
||||||
|
"Jeremy Rand\n"
|
||||||
|
"David Reid"
|
||||||
|
"Daniel Reinhold\n"
|
||||||
|
"Thomas Roell\n"
|
||||||
|
"François Revol\n"
|
||||||
|
"Zousar Shaker\n"
|
||||||
|
"Daniel Switkin\n"
|
||||||
|
"Atsushi Takamatsu\n"
|
||||||
|
"Jason Vandermark\n"
|
||||||
|
"Sandor Vroemisse\n"
|
||||||
|
"Nathan Whitehorn\n"
|
||||||
|
"Ulrich Wimboeck\n"
|
||||||
|
"Gabe Yoder\n"
|
||||||
|
"\n");
|
||||||
|
|
||||||
|
fCreditsView->SetFontAndColor(&font);
|
||||||
|
fCreditsView->Insert("Special Thanks To:\n");
|
||||||
|
|
||||||
|
fCreditsView->SetFontAndColor(be_plain_font);
|
||||||
|
fCreditsView->Insert("Michael Phipps\n\n");
|
||||||
|
|
||||||
|
/*
|
||||||
|
// TODO: Add these (somehow)
|
||||||
|
Brian Paul (Mesa)
|
||||||
|
Silicon Graphics Inc. (GLU)
|
||||||
|
Mark Kilgard & Be Inc. & Jam Hamby (GLUT)
|
||||||
|
*/
|
||||||
|
|
||||||
|
font.SetSize(be_bold_font->Size()+2);
|
||||||
|
font.SetFace(B_BOLD_FACE);
|
||||||
|
fCreditsView->SetFontAndColor(&font);
|
||||||
|
fCreditsView->Insert("\nCopyrights\n\n");
|
||||||
|
|
||||||
|
font.SetSize(be_bold_font->Size()+1);
|
||||||
|
font.SetFace(B_ITALIC_FACE);
|
||||||
|
|
||||||
|
fCreditsView->SetFontAndColor(&font);
|
||||||
|
fCreditsView->Insert("AntiGrain Geometry\n");
|
||||||
|
fCreditsView->SetFontAndColor(be_plain_font);
|
||||||
|
fCreditsView->Insert("Copyright (C) 2002-2005 Maxim Shemanarev (McSeem)\n\n");
|
||||||
|
|
||||||
|
font.SetFace(B_ITALIC_FACE);
|
||||||
|
fCreditsView->SetFontAndColor(&font);
|
||||||
|
fCreditsView->Insert("PDFLib\n");
|
||||||
|
fCreditsView->SetFontAndColor(be_plain_font);
|
||||||
|
fCreditsView->Insert("Copyright (c) 1997-2005 PDFlib GmbH and Thomas Merz. "
|
||||||
|
"All rights reserved.\n"
|
||||||
|
"PDFlib and the PDFlib logo are registered trademarks of PDFlib GmbH.\n\n");
|
||||||
|
|
||||||
|
font.SetFace(B_ITALIC_FACE);
|
||||||
|
fCreditsView->SetFontAndColor(&font);
|
||||||
|
fCreditsView->Insert("FreeType2\n");
|
||||||
|
fCreditsView->SetFontAndColor(be_plain_font);
|
||||||
|
fCreditsView->Insert("Portions of this software are copyright (C) 1996-2002 The FreeType"
|
||||||
|
" Project (www.freetype.org). All rights reserved.\n\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
AboutView::~AboutView(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
AboutView::AttachedToWindow(void)
|
||||||
|
{
|
||||||
|
Window()->SetPulseRate(500000);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
AboutView::MouseDown(BPoint pt)
|
||||||
|
{
|
||||||
|
BRect r(92,26,105,31);
|
||||||
|
if(r.Contains(pt))
|
||||||
|
printf("Easter Egg\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
AboutView::Draw(BRect update)
|
||||||
|
{
|
||||||
|
if(fLogo)
|
||||||
|
DrawBitmap(fLogo,fDrawPoint);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
AboutView::Pulse(void)
|
||||||
|
{
|
||||||
|
fUptimeView->SetText(UptimeToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
AboutView::MessageReceived(BMessage *msg)
|
||||||
|
{
|
||||||
|
switch(msg->what)
|
||||||
|
{
|
||||||
|
case MOVE_INFO_VIEW:
|
||||||
|
{
|
||||||
|
fInfoView->MoveBy(0,-5);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
BView::MessageReceived(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *CPUToString(cpu_type type)
|
||||||
|
{
|
||||||
|
switch(type)
|
||||||
|
{
|
||||||
|
case B_CPU_PPC_601: return "PowerPC 601";
|
||||||
|
case B_CPU_PPC_603: return "PowerPC 603";
|
||||||
|
case B_CPU_PPC_603e: return "PowerPC 603e";
|
||||||
|
case B_CPU_PPC_604: return "PowerPC 604";
|
||||||
|
case B_CPU_PPC_604e: return "PowerPC 604e";
|
||||||
|
case B_CPU_PPC_750: return "PowerPC 750";
|
||||||
|
case B_CPU_PPC_686: return "PowerPC 686";
|
||||||
|
case B_CPU_AMD_29K: return "AMD 29000";
|
||||||
|
// case B_CPU_X86: return "Generic x86";
|
||||||
|
|
||||||
|
case B_CPU_MC6502: return "MC 6502";
|
||||||
|
case B_CPU_MIPS: return "MIPS";
|
||||||
|
case B_CPU_HPPA: return "HPPA";
|
||||||
|
case B_CPU_SH: return "SH";
|
||||||
|
|
||||||
|
case B_CPU_Z80: return "Z80";
|
||||||
|
case B_CPU_ALPHA: return "Alpha";
|
||||||
|
case B_CPU_M68K: return "Motorola 68000";
|
||||||
|
case B_CPU_ARM: return "ARM";
|
||||||
|
case B_CPU_SPARC: return "SPARC";
|
||||||
|
|
||||||
|
// case B_CPU_INTEL_X86: return "Generic Intel x86";
|
||||||
|
case B_CPU_INTEL_PENTIUM: return "Intel Pentium";
|
||||||
|
case B_CPU_INTEL_PENTIUM75: return "Intel Pentium";
|
||||||
|
case B_CPU_INTEL_PENTIUM_486_OVERDRIVE: return "Intel 486 Overdrive";
|
||||||
|
case B_CPU_INTEL_PENTIUM_MMX: return "Intel Pentium MMX";
|
||||||
|
case B_CPU_INTEL_PENTIUM_MMX_MODEL_8: return "Intel Pentium MMX, Model 8";
|
||||||
|
case B_CPU_INTEL_PENTIUM75_486_OVERDRIVE: return "Intel 486 Overdrive";
|
||||||
|
case B_CPU_INTEL_PENTIUM_PRO: return "Intel Pentium Pro";
|
||||||
|
case B_CPU_INTEL_PENTIUM_II: return "Intel Pentium II";
|
||||||
|
case B_CPU_INTEL_PENTIUM_II_MODEL_5: return "Intel Pentium II, Model 5";
|
||||||
|
case B_CPU_INTEL_CELERON: return "Intel Celeron";
|
||||||
|
case B_CPU_INTEL_PENTIUM_III: return "Intel Pentium III";
|
||||||
|
case B_CPU_INTEL_PENTIUM_III_MODEL_8: return "Intel Pentium III, Model 8";
|
||||||
|
case B_CPU_INTEL_PENTIUM_M: return "Intel Pentium M";
|
||||||
|
case B_CPU_INTEL_PENTIUM_III_XEON: return "Intel Pentium III Xeon";
|
||||||
|
case B_CPU_INTEL_PENTIUM_III_MODEL_11: return "Intel Pentium III, Model 11";
|
||||||
|
case B_CPU_INTEL_PENTIUM_M_MODEL_13: return "Intel Pentium M, Model 13";
|
||||||
|
case B_CPU_INTEL_PENTIUM_IV: return "Intel Pentium IV";
|
||||||
|
case B_CPU_INTEL_PENTIUM_IV_MODEL_1: return "Intel Pentium IV, Model 1";
|
||||||
|
case B_CPU_INTEL_PENTIUM_IV_MODEL_2: return "Intel Pentium IV, Model 2";
|
||||||
|
case B_CPU_INTEL_PENTIUM_IV_MODEL_3: return "Intel Pentium IV, Model 3";
|
||||||
|
case B_CPU_INTEL_PENTIUM_IV_MODEL_4: return "Intel Pentium IV, Model 4";
|
||||||
|
|
||||||
|
|
||||||
|
/* case B_CPU_AMD_X86: return "Generic AMD x86";
|
||||||
|
case B_CPU_AMD_K5_MODEL0: return "AMD K5, Model 0";
|
||||||
|
case B_CPU_AMD_K5_MODEL1: return "AMD K5, Model 1";
|
||||||
|
case B_CPU_AMD_K5_MODEL2: return "AMD K5, Model 2";
|
||||||
|
case B_CPU_AMD_K5_MODEL3: return "AMD K5, Model 3";
|
||||||
|
case B_CPU_AMD_K6_MODEL6: return "AMD K6, Model 6";
|
||||||
|
case B_CPU_AMD_K6_MODEL7: return "AMD K6, Model 7";
|
||||||
|
*/
|
||||||
|
case B_CPU_AMD_K6_2: return "AMD K6 2";
|
||||||
|
case B_CPU_AMD_K6_III: return "AMD K6 3";
|
||||||
|
|
||||||
|
case B_CPU_AMD_ATHLON_MODEL_1: return "AMD Athlon, Model 1";
|
||||||
|
case B_CPU_AMD_ATHLON_MODEL_2: return "AMD Athlon, Model 2";
|
||||||
|
case B_CPU_AMD_DURON: return "AMD Duron";
|
||||||
|
|
||||||
|
case B_CPU_AMD_ATHLON_THUNDERBIRD: return "AMD Athlon (Thunderbird)";
|
||||||
|
case B_CPU_AMD_ATHLON_XP: return "AMD Athlon XP";
|
||||||
|
case B_CPU_AMD_ATHLON_XP_MODEL_7: return "AMD Athlon XP, Model 7";
|
||||||
|
case B_CPU_AMD_ATHLON_XP_MODEL_8: return "AMD Athlon XP, Model 8";
|
||||||
|
case B_CPU_AMD_ATHLON_XP_MODEL_10: return "AMD Athlon XP, Model 10";
|
||||||
|
|
||||||
|
case B_CPU_AMD_ATHLON_64_MODEL_4: return "AMD Athlon64, Model 4";
|
||||||
|
case B_CPU_AMD_ATHLON_64_MODEL_5: return "AMD Athlon64, Model 5";
|
||||||
|
case B_CPU_AMD_ATHLON_64_MODEL_7: return "AMD Athlon64, Model 7";
|
||||||
|
case B_CPU_AMD_ATHLON_64_MODEL_8: return "AMD Athlon64, Model 8";
|
||||||
|
case B_CPU_AMD_ATHLON_64_MODEL_11: return "AMD Athlon64, Model 11";
|
||||||
|
case B_CPU_AMD_ATHLON_64_MODEL_12: return "AMD Athlon64, Model 12";
|
||||||
|
case B_CPU_AMD_ATHLON_64_MODEL_14: return "AMD Athlon64, Model 14";
|
||||||
|
case B_CPU_AMD_ATHLON_64_MODEL_15: return "AMD Athlon64, Model 15";
|
||||||
|
|
||||||
|
|
||||||
|
// case B_CPU_CYRIX_X86: return "Generic Cyrix x86";
|
||||||
|
case B_CPU_CYRIX_GXm: return "Cyrix GXm";
|
||||||
|
case B_CPU_CYRIX_6x86MX: return "Cyrix 6x86 MX";
|
||||||
|
// case B_CPU_IDT_X86: return "Generic IDT x86";
|
||||||
|
case B_CPU_IDT_WINCHIP_C6: return "IDT Winchip C6";
|
||||||
|
case B_CPU_IDT_WINCHIP_2: return "IDT Winchip 2";
|
||||||
|
case B_CPU_IDT_WINCHIP_3: return "IDT Winchip 3";
|
||||||
|
case B_CPU_VIA_EDEN: return "VIA Eden";
|
||||||
|
case B_CPU_VIA_EDEN_EZRA_T: return "Via Eden (Ezra)";
|
||||||
|
|
||||||
|
// case B_CPU_RISE_X86: return "Rise x86";
|
||||||
|
case B_CPU_RISE_mP6: return "Rise mP6";
|
||||||
|
|
||||||
|
case B_CPU_TRANSMETA_x86: return "Transmeta x86";
|
||||||
|
case B_CPU_TRANSMETA_CRUSOE: return "Transmeta Crusoe";
|
||||||
|
|
||||||
|
case B_CPU_NATIONAL_x86: return "National Semiconductor x86";
|
||||||
|
case B_CPU_NATIONAL_GEODE_GX1: return "National Semiconductor GX1";
|
||||||
|
case B_CPU_NATIONAL_GEODE_GX2: return "National Semiconductor GX2";
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return "Unrecognized CPU";
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *UptimeToString(void)
|
||||||
|
{
|
||||||
|
char string[255];
|
||||||
|
int64 days, hours, minutes, seconds, remainder;
|
||||||
|
int64 systime = system_time();
|
||||||
|
|
||||||
|
if(systime > 86400000000LL)
|
||||||
|
{
|
||||||
|
days = systime / 86400000000LL;
|
||||||
|
remainder = systime % 86400000000LL;
|
||||||
|
|
||||||
|
hours = remainder / 3600000000LL;
|
||||||
|
remainder = remainder % 3600000000LL;
|
||||||
|
|
||||||
|
minutes = remainder / 60000000;
|
||||||
|
remainder = remainder % 60000000;
|
||||||
|
|
||||||
|
seconds = remainder / 1000000;
|
||||||
|
sprintf(string,"%lld days, %lld hours, %lld minutes, %lld seconds",days,
|
||||||
|
hours, minutes, seconds);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if(systime > 3600000000LL)
|
||||||
|
{
|
||||||
|
hours = systime / 3600000000LL;
|
||||||
|
remainder = systime % 3600000000LL;
|
||||||
|
|
||||||
|
minutes = remainder / 60000000;
|
||||||
|
remainder = remainder % 60000000;
|
||||||
|
|
||||||
|
seconds = remainder / 1000000;
|
||||||
|
sprintf(string,"%lld hours, %lld minutes, %lld seconds",hours, minutes, seconds);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if(systime > 60000000)
|
||||||
|
{
|
||||||
|
minutes = systime / 60000000;
|
||||||
|
remainder = systime % 60000000;
|
||||||
|
|
||||||
|
seconds = remainder / 1000000;
|
||||||
|
sprintf(string,"%lld minutes, %lld seconds",minutes, seconds);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
seconds = systime / 1000000;
|
||||||
|
sprintf(string,"%lld seconds",seconds);
|
||||||
|
}
|
||||||
|
return string;
|
||||||
|
}
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
|
||||||
|
resource(1, "haikulogo.png") #'PNG ' array {
|
||||||
|
$"89504E470D0A1A0A0000000D49484452000000760000003308060000004232FC"
|
||||||
|
$"CE0000057E4944415478DAED9A7F681B6518C78338268A102D148439CAE8ECBA"
|
||||||
|
$"9599E9FE50EC1F075AE95047603A148485E1E6C439B366A8B585EA5ADDC4D94C"
|
||||||
|
$"4685CEDA38DC0F57D41B2BADFBE1166BD5BAAE923A37852ACBE6D60DA7E5CA2A"
|
||||||
|
$"C382F0F83C977B93B7F192BB4B736D339F07BEE47279EFEE7DDFCFFB3CEFF3BE"
|
||||||
|
$"170FB05D97E6E12E60B06C0C968DC1B231583606CB60B90B182C1B836563B06C"
|
||||||
|
$"0C968DC13258EE0206CBC660DD314DD3201C0E333537C12A8A021E8F071A1A1A"
|
||||||
|
$"EC3D08CB3A296F66914804BC5EAF0E38178B46A3C97AD0B1DD3A672B4B7512E5"
|
||||||
|
$"A86EF178DCB2CFE8D3495DAF7BB0252525FA3DA8336702D874A8B158CC569F31"
|
||||||
|
$"58C954554DDE83004F3758A75019ACC5F39C80710B6C2E5019AC8951C7C95049"
|
||||||
|
$"7EBF7F5AC0CA507D3E9F6DA859C15EC2FBFF19FBFF810D0402C9104C59B1B857"
|
||||||
|
$"B644C50DB0E9509D267119C10E45122A44B0C515451008AD8437F6D5C32743BB"
|
||||||
|
$"E0E59E8DF0DAD7753070B9DF7289231A4850E93B853FFA1E0C06A70CEC64A166"
|
||||||
|
$"053B8603B427501860AF8E5F85CFCF7642F34013287BEF87B6D3DB743DF6E943"
|
||||||
|
$"B078FB02B87B4739848E6FB07C0EDD5FCC65A23385073B5DFAE40A563C6F3250"
|
||||||
|
$"2DE7D82E656683A5469F191984FD43ADB023D60455FB2BE1DE0F2BE0ED93F5FA"
|
||||||
|
$"E7A237E783EFBD72FD98E05B99F04EEA5CB339D7C9D22757B0F9806A09362D1C"
|
||||||
|
$"CF18B01452A3E78FC1FBA79AA1FBFC6E58D5FDB80E4FE89E0F16C1C2C6D224D4"
|
||||||
|
$"D6588BAD0D09E54E0FA8CB3DA03D8F55AD4135E152A74581E0035EC74B9FC982"
|
||||||
|
$"B593CDE60C761C074C970FE0371CC0D762EE837DB7AB198EFC70C8B49273943B"
|
||||||
|
$"60DBD1D7F5102B3C93A08A630194BC9444C7748EE6D6AC761133C47DD8C03A6F"
|
||||||
|
$"0AA889E2CF60765C6A7FE9932B581135D223475EC1927D8183F4672FC068197C"
|
||||||
|
$"D959E32ED80B2317E0A58F42F0E8D66A58B7730DB41F6F83EF86FAA0BABE0A6A"
|
||||||
|
$"7BD7C3E6BE4D50B97B6912E48A8F97E97328815C503F4FF7D2253B17267F7FA1"
|
||||||
|
$"E3B9CC0F1B89EBDE3801E07AD49A34A5013EB705AFB9A6B90696CAD2F26AB270"
|
||||||
|
$"2DC17E8FEDD98B3A3D0BB481D9E02B9BA2504C90C97BC98B973EBD04CA6AE7E9"
|
||||||
|
$"9A1F2AD145C704B3E2ADBB92219744C953F9E65228AABC2D73164D5E2AA0AE46"
|
||||||
|
$"3D6968B504749571EE1154156AB971EE45D43B3E57C1D2DC4A73AC9CA1E71DEC"
|
||||||
|
$"AF78FE30B6E5006A1075F616086F9A3DF5736CF1C34513E6D14C22B037CFBD29"
|
||||||
|
$"7316DD134E012550EB0C6FDC9A210C6F47351AE59E40551BC0FB22AEAE63D3E1"
|
||||||
|
$"3ADDB3B6047B259C004A607B67019CBB15E08F625C0EDD07F0D79EA94D9E42AF"
|
||||||
|
$"86E0E02F07F479F3A983A984898E09289DA7ECD77283A21F3BA91DBD6E97118E"
|
||||||
|
$"3A50AD06C84603327DFFCCF88DCED7A15A0CBD825A81F3533BDE7F4C736DE789"
|
||||||
|
$"3645E439D7095C5A77674DF8FED1126045483E6678EE991B012EDF0EF0FBDAE9"
|
||||||
|
$"5DC712C8E1B1E19C769EB44B715016E3E6C383D8A1B538B2DB519DA81338AFFD"
|
||||||
|
$"84D75E5431055713A1FB1BDCB0880641DD88A1711996DF8323BE1B3B7A2576DC"
|
||||||
|
$"57AA6B7BC5B4DC12709DEC15CB2F32328672CA8A073D29CF157049A76E40AF7E"
|
||||||
|
$"B630B714C58684932D43F13A2FE909E4B175FE8424EFCDE7DB1DF95E4EE08ABA"
|
||||||
|
$"D235667063275488B649300F1BA263119AFFAE293CB0A2E14ED68CF2FEF10408"
|
||||||
|
$"1DD8711B1457C09ABDE5B13310656F1783914234F58BE853CA86B55E096EBF01"
|
||||||
|
$"B71BF5AD0178744BE180953B8AC2965D93F78FFFF3D6470AC96EFC83421E5476"
|
||||||
|
$"77A6086EFA6B4859D416BDFD23914442F5A33705B9D708CF031896C7E3F9074B"
|
||||||
|
$"100892DDCD012A6B559E7E13E572AD4FB66BC9A344193BDE65B72CC1B5D33E33"
|
||||||
|
$"C0C25349B43EA676980E8E51043D1C4C2C89E2FEC4E79570FEC1B2CD6C63B00C"
|
||||||
|
$"968DC1B231583606CBC660D9182C836563B06C0C968DC1B231583606CB60D90A"
|
||||||
|
$"C9FE050C69AA28093EFAFE0000000049454E44AE426082"
|
||||||
|
};
|
||||||
|
|
||||||
|
resource(1, "BEOS:APP_SIG") #'MIMS' "application/x-vnd.haiku-AboutHaiku";
|
||||||
|
|
||||||
|
resource(1, "BEOS:APP_VERSION") #'APPV' array {
|
||||||
|
$"0100000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
$"0000000000000000"
|
||||||
|
};
|
||||||
|
|
||||||
|
resource(1, "BEOS:APP_FLAGS") #'APPF' $"02000000";
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
SubDir OBOS_TOP src apps abouthaiku ;
|
||||||
|
|
||||||
|
App AboutHaiku : AboutHaiku.cpp
|
||||||
|
: libbe.so libtranslation.so
|
||||||
|
: AboutHaiku.rdef
|
||||||
|
;
|
||||||
|
|
||||||
@@ -9,5 +9,11 @@ AddResources Tracker : Tracker.rdef ;
|
|||||||
App Tracker :
|
App Tracker :
|
||||||
main.cpp
|
main.cpp
|
||||||
;
|
;
|
||||||
|
if ( $(TARGET_PLATFORM) = haiku ) {
|
||||||
|
|
||||||
LinkSharedOSLibs Tracker : libbe.so libtracker.so ;
|
LinkSharedOSLibs Tracker : libbe.so libtracker.so ;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
LinkSharedOSLibs Tracker : <boot!home!config!lib>libopenbeos.so libtracker.so ;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user