From 76649c0319267574b5fe7ade2210bd095d2a5af2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Mon, 18 Jul 2005 07:54:48 +0000 Subject: [PATCH] Removed the ugly about window, and replaced it with a common BAlert. Moved the alert to TermApp, too - TermWindow now only forwards the B_ABOUT_REQUESTED message. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13737 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/terminal/AboutWindow.cpp | 93 ------------------------------- src/apps/terminal/AboutWindow.h | 51 ----------------- src/apps/terminal/TermApp.cpp | 77 +++++++++++-------------- src/apps/terminal/TermApp.h | 11 ++-- src/apps/terminal/TermWindow.cpp | 52 ++++++----------- src/apps/terminal/TermWindow.h | 1 - 6 files changed, 58 insertions(+), 227 deletions(-) delete mode 100644 src/apps/terminal/AboutWindow.cpp delete mode 100644 src/apps/terminal/AboutWindow.h diff --git a/src/apps/terminal/AboutWindow.cpp b/src/apps/terminal/AboutWindow.cpp deleted file mode 100644 index 261276ae37..0000000000 --- a/src/apps/terminal/AboutWindow.cpp +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (c) 2003-4 Kian Duffy - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files or portions - * thereof (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, subject - * to the following conditions: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright notice - * in the binary, as well as this list of conditions and the following - * disclaimer in the documentation and/or other materials provided with - * the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - */ -#include -#include -#include "AboutWindow.h" - - -// Set up the window - - -aboutWindow::aboutWindow(const char *) - : BWindow(BRect(100,100,390,230), "About", B_TITLED_WINDOW, B_NOT_RESIZABLE) -{ - -// Set up the main view - BView* icon = new BView(BRect(0,0,390,230), "File Info", B_FOLLOW_ALL, B_WILL_DRAW); - - -// Set up the colour of the panel and set it to being displayed - AddChild(icon); - - Show(); - - -text1 = new BStringView(BRect(15,10,390,30), "text", "Haiku Terminal", B_FOLLOW_NONE, B_WILL_DRAW); -AddChild(text1); - -text2 = new BStringView(BRect(15,30,390,50), "text", "Based on MuTerminal 2.3", B_FOLLOW_NONE, B_WILL_DRAW); -AddChild(text2); - -text3 = new BStringView(BRect(15,50,390,70), "text", "By Kazuho Okui and Takashi Murai", B_FOLLOW_NONE, B_WILL_DRAW); -AddChild(text3); - -text4 = new BStringView(BRect(15,70,390,90), "text", "Haiku Modifications by Kian Duffy, Daniel Furrer", B_FOLLOW_NONE, B_WILL_DRAW); -AddChild(text4); - - - - -// Set up the BMessage handlers -} - -void -aboutWindow::MessageReceived(BMessage* msg) -{ - - switch(msg->what) - { - - - - default: - BWindow::MessageReceived(msg); - break; - } -} -// Quit Button implementation - - -void aboutWindow::Quit() -{ - - BWindow::Quit(); -} - - - diff --git a/src/apps/terminal/AboutWindow.h b/src/apps/terminal/AboutWindow.h deleted file mode 100644 index 7b8b870450..0000000000 --- a/src/apps/terminal/AboutWindow.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2003-4 Kian Duffy - * Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files or portions - * thereof (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, subject - * to the following conditions: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright notice - * in the binary, as well as this list of conditions and the following - * disclaimer in the documentation and/or other materials provided with - * the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - */ - -#include -#include - -class aboutWindow : public BWindow -{ - public: - aboutWindow(const char *); - - - void MessageReceived(BMessage* msg); - void Quit(); - - private: -// Private classes to Be classes - BWindow* handler; - BStringView* text1; - BStringView* text2; - BStringView* text3; - BStringView* text4; - -}; diff --git a/src/apps/terminal/TermApp.cpp b/src/apps/terminal/TermApp.cpp index 91fccdc53f..a811e4d4b0 100644 --- a/src/apps/terminal/TermApp.cpp +++ b/src/apps/terminal/TermApp.cpp @@ -1,33 +1,11 @@ /* - * Copyright (c) 2003-4 Kian Duffy - * Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files or portions - * thereof (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, subject - * to the following conditions: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright notice - * in the binary, as well as this list of conditions and the following - * disclaimer in the documentation and/or other materials provided with - * the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. + * Copyright (c) 2003-2004 Kian Duffy + * Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. * + * Distributed unter the terms of the MIT license. */ + #include #include #include @@ -40,6 +18,7 @@ #include #include #include +#include #include "TermApp.h" #include "TermWindow.h" @@ -48,6 +27,7 @@ #include "PrefHandler.h" #include "CodeConv.h" + extern PrefHandler *gTermPref; /* Preference temporary */ extern char gWindowName[]; @@ -97,10 +77,8 @@ TermApp::TermApp (void) gTermPref = new PrefHandler(); } -//////////////////////////////////////////////////////////////////////////// -// -// -//////////////////////////////////////////////////////////////////////////// + + TermApp::~TermApp (void) { /* delete (gTermPref); */ @@ -108,10 +86,6 @@ TermApp::~TermApp (void) } -//////////////////////////////////////////////////////////////////////////// -// -// -//////////////////////////////////////////////////////////////////////////// void TermApp::ReadyToRun (void) { @@ -156,10 +130,8 @@ TermApp::ReadyToRun (void) MakeTermWindow (fTermFrame); } -//////////////////////////////////////////////////////////////////////////// -// -// -//////////////////////////////////////////////////////////////////////////// + + void TermApp::Quit (void) { @@ -174,12 +146,31 @@ TermApp::Quit (void) BApplication::Quit(); } -//////////////////////////////////////////////////////////////////////////// -// MessageReceived -// Dispatches message. -//////////////////////////////////////////////////////////////////////////// + + void -TermApp::MessageReceived (BMessage* msg) +TermApp::AboutRequested() +{ + BAlert *alert = new BAlert("about", "Terminal\n" + "\twritten by Kazuho Okui and Takashi Murai\n" + "\tupdated by Kian Duffy and others\n\n" + "\tCopyright 2005, Haiku.\n", "Ok"); + BTextView *view = alert->TextView(); + BFont font; + + view->SetStylable(true); + + view->GetFont(&font); + font.SetSize(18); + font.SetFace(B_BOLD_FACE); + view->SetFontAndColor(0, 8, &font); + + alert->Go(); +} + + +void +TermApp::MessageReceived(BMessage* msg) { switch(msg->what) { case MENU_NEW_TREM: diff --git a/src/apps/terminal/TermApp.h b/src/apps/terminal/TermApp.h index 7813244a83..b2efc7df71 100644 --- a/src/apps/terminal/TermApp.h +++ b/src/apps/terminal/TermApp.h @@ -45,16 +45,17 @@ class AboutDlg; class TermApp : public BApplication { public: - TermApp (void); - ~TermApp (void); + TermApp(); + ~TermApp(); private: /* * Hook functions */ - void ReadyToRun (void); - void Quit (void); - void MessageReceived (BMessage* msg); + void ReadyToRun(); + void Quit(); + void AboutRequested(); + void MessageReceived(BMessage* msg); void RefsReceived(BMessage *message); void ArgvReceived(int32 argc, char **argv); diff --git a/src/apps/terminal/TermWindow.cpp b/src/apps/terminal/TermWindow.cpp index 724e6e50f8..ada6093d24 100644 --- a/src/apps/terminal/TermWindow.cpp +++ b/src/apps/terminal/TermWindow.cpp @@ -61,7 +61,7 @@ #include "MenuUtil.h" #include "spawn.h" #include "ColorWindow.h" -#include "AboutWindow.h" + // Global Preference Handler extern PrefHandler *gTermPref; @@ -239,10 +239,8 @@ TermWindow::MenusBeginning(void) (fEncodingmenu->FindItem(op2longname(gNowCoding)))->SetMarked(true); BWindow::MenusBeginning(); } -//////////////////////////////////////////////////////////////////////////// -// SetupMenu(void) -// Makes Menu Bar. -//////////////////////////////////////////////////////////////////////////// + + void TermWindow::SetupMenu(void) { @@ -260,11 +258,11 @@ TermWindow::SetupMenu(void) fFilemenu->AddItem(new BMenuItem("Switch Terminals", new BMessage(MENU_SWITCH_TERM),'G')); fFilemenu->AddItem(new BMenuItem("Start New Terminal", new BMessage(MENU_NEW_TREM), 'N')); fFilemenu->AddSeparatorItem(); - fFilemenu->AddItem(new BMenuItem("About Terminal...", new BMessage(MENU_SHOW_ABOUT))); - fFilemenu->AddSeparatorItem(); fFilemenu->AddItem(new BMenuItem("Page Setup...", new BMessage(MENU_PAGE_SETUP))); fFilemenu->AddItem(new BMenuItem("Print", new BMessage(MENU_PRINT),'P')); fFilemenu->AddSeparatorItem(); + fFilemenu->AddItem(new BMenuItem("About Terminal...", new BMessage(B_ABOUT_REQUESTED))); + fFilemenu->AddSeparatorItem(); fFilemenu->AddItem(new BMenuItem("Quit", new BMessage(MENU_FILE_QUIT), 'Q')); fMenubar->AddItem(fFilemenu); @@ -323,17 +321,11 @@ TermWindow::SetupMenu(void) fHelpmenu->AddSeparatorItem(); fHelpmenu->AddItem(new BMenuItem("Preferences", new BMessage(MENU_PREF_OPEN))); fMenubar->AddItem(fHelpmenu); - - - - AddChild(fMenubar); } -//////////////////////////////////////////////////////////////////////////// -// MessageReceived (BMessage *) -// Dispatch Mesasge. -//////////////////////////////////////////////////////////////////////////// + + void TermWindow::MessageReceived(BMessage *message) { @@ -342,8 +334,7 @@ TermWindow::MessageReceived(BMessage *message) BFont halfFont; BFont fullFont; - - switch(message->what) { + switch (message->what) { case MENU_SWITCH_TERM: be_app->PostMessage(MENU_SWITCH_TERM); @@ -360,11 +351,7 @@ TermWindow::MessageReceived(BMessage *message) fPrefWindow->Activate(); } break; - - case MENU_SHOW_ABOUT: - aboutRequested(); - break; - + case MSG_PREF_CLOSED: fPrefWindow = NULL; break; @@ -528,6 +515,10 @@ TermWindow::MessageReceived(BMessage *message) fTermView->UpdateSIGWINCH (); break; + case B_ABOUT_REQUESTED: + be_app->PostMessage(B_ABOUT_REQUESTED); + break; + default: BWindow::MessageReceived(message); break; @@ -553,14 +544,9 @@ TermWindow::WindowActivated (bool ) // colW->Show(); // } + void -TermWindow::aboutRequested() { - aboutWindow *aboutW=new aboutWindow("About"); - aboutW->Show(); - } - -void -TermWindow::Quit (void) +TermWindow::Quit(void) { delete fTermParse; delete fCodeConv; @@ -568,12 +554,10 @@ TermWindow::Quit (void) be_app->PostMessage (B_QUIT_REQUESTED, be_app); BWindow::Quit (); } -//////////////////////////////////////////////////////////////////////////// -// QuitRequested (void) -// -//////////////////////////////////////////////////////////////////////////// + + bool -TermWindow::QuitRequested (void) +TermWindow::QuitRequested(void) { return true; diff --git a/src/apps/terminal/TermWindow.h b/src/apps/terminal/TermWindow.h index 266dbf6856..d567963bd2 100644 --- a/src/apps/terminal/TermWindow.h +++ b/src/apps/terminal/TermWindow.h @@ -63,7 +63,6 @@ private: void InitWindow (void); void SetupMenu (void); // void colRequested (void); - void aboutRequested (void); void MessageReceived (BMessage *message); void WindowActivated (bool); int GetTimeZone (void);