added a "Save as default" menu item in Terminal, helps on bug

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16495 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval 2006-02-21 21:09:09 +00:00
parent b221cf0502
commit 9fe40077e9
2 changed files with 51 additions and 42 deletions
src/apps/terminal

@ -94,6 +94,8 @@ const uint32 ONETHREETWOTWENTYFIVE = 'hunv';
const uint32 MSG_FONT_CHANGED = 'fntc'; const uint32 MSG_FONT_CHANGED = 'fntc';
const uint32 SAVE_AS_DEFAULT = 'sadf';
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
// Preference Read/Write Keys // Preference Read/Write Keys
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////

@ -5,38 +5,37 @@
* *
* Distributed unter the terms of the MIT license. * Distributed unter the terms of the MIT license.
*/ */
#include <app/Application.h> #include <Alert.h>
#include <Application.h>
#include <Menu.h> #include <Menu.h>
#include <MenuBar.h> #include <MenuBar.h>
#include <MenuItem.h> #include <MenuItem.h>
#include <Path.h>
#include <PrintJob.h>
#include <PropertyInfo.h>
#include <ScrollBar.h> #include <ScrollBar.h>
#include <TextControl.h> #include <TextControl.h>
#include <PrintJob.h>
#include <Alert.h>
#include <float.h>
#include <WindowScreen.h> #include <WindowScreen.h>
#include <PropertyInfo.h> #include <float.h>
#include <stdio.h> #include <stdio.h>
#include <sys/time.h>
#include <string> #include <string>
#include <sys/time.h>
#include <unistd.h> #include <unistd.h>
#include "TermApp.h"
#include "TermParse.h"
#include "TermWindow.h"
#include "TermView.h"
#include "TermBuffer.h"
#include "TermBaseView.h"
#include "CodeConv.h" #include "CodeConv.h"
#include "TermConst.h" #include "ColorWindow.h"
#include "MenuUtil.h"
#include "PrefDlg.h" #include "PrefDlg.h"
#include "PrefView.h" #include "PrefView.h"
#include "PrefHandler.h" #include "PrefHandler.h"
#include "MenuUtil.h" #include "TermApp.h"
#include "TermBaseView.h"
#include "TermBuffer.h"
#include "TermParse.h"
#include "TermView.h"
#include "TermWindow.h"
#include "TermConst.h"
#include "spawn.h" #include "spawn.h"
#include "ColorWindow.h"
// Global Preference Handler // Global Preference Handler
@ -222,14 +221,14 @@ TermWindow::SetupMenu(void)
fEditmenu->AddItem (new BMenuItem ("Find", new BMessage (MENU_FIND_STRING),'F')); fEditmenu->AddItem (new BMenuItem ("Find", new BMessage (MENU_FIND_STRING),'F'));
fEditmenu->AddItem (new BMenuItem ("Find Again", new BMessage (MENU_FIND_AGAIN), ']')); fEditmenu->AddItem (new BMenuItem ("Find Again", new BMessage (MENU_FIND_AGAIN), ']'));
*/ */
fMenubar->AddItem (fEditmenu); fMenubar->AddItem (fEditmenu);
/* /*
* Make Help Menu. * Make Help Menu.
*/ */
fHelpmenu = new BMenu("Settings"); fHelpmenu = new BMenu("Settings");
fWindowSizeMenu = new BMenu("Window Size"); fWindowSizeMenu = new BMenu("Window Size");
fWindowSizeMenu->AddItem(new BMenuItem("80x24", new BMessage(EIGHTYTWENTYFOUR))); fWindowSizeMenu->AddItem(new BMenuItem("80x24", new BMessage(EIGHTYTWENTYFOUR)));
fWindowSizeMenu->AddItem(new BMenuItem("80x25", new BMessage(EIGHTYTWENTYFIVE))); fWindowSizeMenu->AddItem(new BMenuItem("80x25", new BMessage(EIGHTYTWENTYFIVE)));
fWindowSizeMenu->AddItem(new BMenuItem("80x40", new BMessage(EIGHTYFORTY))); fWindowSizeMenu->AddItem(new BMenuItem("80x40", new BMessage(EIGHTYFORTY)));
@ -252,17 +251,19 @@ TermWindow::SetupMenu(void)
fNewFontMenu->FindItem (gTermPref->getString(PREF_HALF_FONT_FAMILY))->SetMarked(true); fNewFontMenu->FindItem (gTermPref->getString(PREF_HALF_FONT_FAMILY))->SetMarked(true);
*/ */
fEncodingmenu = new BMenu("Font Encoding"); fEncodingmenu = new BMenu("Font Encoding");
fEncodingmenu->SetRadioMode(true); fEncodingmenu->SetRadioMode(true);
MakeEncodingMenu(fEncodingmenu, gNowCoding, true); MakeEncodingMenu(fEncodingmenu, gNowCoding, true);
fHelpmenu->AddItem(fWindowSizeMenu); fHelpmenu->AddItem(fWindowSizeMenu);
fHelpmenu->AddItem(fEncodingmenu); fHelpmenu->AddItem(fEncodingmenu);
// fHelpmenu->AddItem(fNewFontMenu); // fHelpmenu->AddItem(fNewFontMenu);
fHelpmenu->AddSeparatorItem(); fHelpmenu->AddSeparatorItem();
fHelpmenu->AddItem(new BMenuItem("Preferences", new BMessage(MENU_PREF_OPEN))); fHelpmenu->AddItem(new BMenuItem("Preferences", new BMessage(MENU_PREF_OPEN)));
fMenubar->AddItem(fHelpmenu); fHelpmenu->AddSeparatorItem();
fHelpmenu->AddItem(new BMenuItem("Save as default", new BMessage(SAVE_AS_DEFAULT)));
fMenubar->AddItem(fHelpmenu);
AddChild(fMenubar); AddChild(fMenubar);
} }
@ -436,19 +437,25 @@ TermWindow::MessageReceived(BMessage *message)
break; break;
case MSG_COLOR_CHANGED: case MSG_COLOR_CHANGED:
fBaseView->SetViewColor (gTermPref->getRGB (PREF_TEXT_BACK_COLOR)); fBaseView->SetViewColor (gTermPref->getRGB (PREF_TEXT_BACK_COLOR));
fTermView->SetTermColor (); fTermView->SetTermColor ();
fBaseView->Invalidate(); fBaseView->Invalidate();
fTermView->Invalidate(); fTermView->Invalidate();
break; break;
case SAVE_AS_DEFAULT:
case MENU_PAGE_SETUP: {
DoPageSetup (); BPath path;
break; if (PrefHandler::GetDefaultPath(path) == B_OK)
case MENU_PRINT: gTermPref->SaveAsText(path.Path(), PREFFILE_MIMETYPE);
DoPrint (); }
break; break;
case MENU_PAGE_SETUP:
DoPageSetup ();
break;
case MENU_PRINT:
DoPrint ();
break;
case MSGRUN_WINDOW: case MSGRUN_WINDOW:
fTermView->UpdateSIGWINCH (); fTermView->UpdateSIGWINCH ();