Got rid of gTermPref by adding some static methods to PrefHandler.
The font size menu wasn't up to date with the current settings. Fixed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21630 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
37b209af04
commit
dc25fe8173
@ -27,13 +27,13 @@ AppearancePrefView::AppearancePrefView(BRect frame, const char *name,
|
||||
fAppearancePrefViewMessenger(messenger)
|
||||
{
|
||||
const char *color_tbl[] = {
|
||||
PREF_TEXT_FORE_COLOR,
|
||||
PREF_TEXT_BACK_COLOR,
|
||||
PREF_CURSOR_FORE_COLOR,
|
||||
PREF_CURSOR_BACK_COLOR,
|
||||
PREF_SELECT_FORE_COLOR,
|
||||
PREF_SELECT_BACK_COLOR,
|
||||
NULL
|
||||
PREF_TEXT_FORE_COLOR,
|
||||
PREF_TEXT_BACK_COLOR,
|
||||
PREF_CURSOR_FORE_COLOR,
|
||||
PREF_CURSOR_BACK_COLOR,
|
||||
PREF_SELECT_FORE_COLOR,
|
||||
PREF_SELECT_BACK_COLOR,
|
||||
NULL
|
||||
};
|
||||
|
||||
float fontDividerSize = StringWidth("Font:") + 8.0;
|
||||
@ -42,13 +42,14 @@ AppearancePrefView::AppearancePrefView(BRect frame, const char *name,
|
||||
BRect r(5, 5, 225, 25);
|
||||
|
||||
BMenu *menu = _MakeFontMenu(MSG_HALF_FONT_CHANGED,
|
||||
gTermPref->getString(PREF_HALF_FONT_FAMILY));
|
||||
PrefHandler::Default()->getString(PREF_HALF_FONT_FAMILY));
|
||||
fFont = new BMenuField(r, "font", "Font:", menu, B_WILL_DRAW);
|
||||
fFont->SetDivider(fontDividerSize);
|
||||
AddChild(fFont);
|
||||
|
||||
r.OffsetBy(r.Width() + 10, 0);
|
||||
menu = _MakeSizeMenu(MSG_HALF_SIZE_CHANGED, 12);
|
||||
menu = _MakeSizeMenu(MSG_HALF_SIZE_CHANGED,
|
||||
atoi(PrefHandler::Default()->getString(PREF_HALF_FONT_SIZE)));
|
||||
fFontSize = new BMenuField(r, "size", "Size:", menu, B_WILL_DRAW);
|
||||
fFontSize->SetDivider(sizeDividerSize);
|
||||
AddChild(fFontSize);
|
||||
@ -61,7 +62,7 @@ AppearancePrefView::AppearancePrefView(BRect frame, const char *name,
|
||||
|
||||
fColorControl = SetupBColorControl(BPoint(r.left, r.bottom + 10),
|
||||
B_CELLS_32x8, 6, MSG_COLOR_CHANGED);
|
||||
fColorControl->SetValue(gTermPref->getRGB(PREF_TEXT_FORE_COLOR));
|
||||
fColorControl->SetValue(PrefHandler::Default()->getRGB(PREF_TEXT_FORE_COLOR));
|
||||
}
|
||||
|
||||
|
||||
@ -80,10 +81,10 @@ void
|
||||
AppearancePrefView::Revert()
|
||||
{
|
||||
fColorField->Menu()->ItemAt(0)->SetMarked(true);
|
||||
fColorControl->SetValue(gTermPref->getRGB(PREF_TEXT_FORE_COLOR));
|
||||
fColorControl->SetValue(PrefHandler::Default()->getRGB(PREF_TEXT_FORE_COLOR));
|
||||
|
||||
fFont->Menu()->FindItem(gTermPref->getString(PREF_HALF_FONT_FAMILY))->SetMarked(true);
|
||||
fFontSize->Menu()->FindItem(gTermPref->getString(PREF_HALF_FONT_FAMILY))->SetMarked(true);
|
||||
fFont->Menu()->FindItem(PrefHandler::Default()->getString(PREF_HALF_FONT_FAMILY))->SetMarked(true);
|
||||
fFontSize->Menu()->FindItem(PrefHandler::Default()->getString(PREF_HALF_FONT_FAMILY))->SetMarked(true);
|
||||
}
|
||||
|
||||
|
||||
@ -105,25 +106,25 @@ AppearancePrefView::MessageReceived(BMessage *msg)
|
||||
|
||||
switch (msg->what) {
|
||||
case MSG_HALF_FONT_CHANGED:
|
||||
gTermPref->setString (PREF_HALF_FONT_FAMILY,
|
||||
PrefHandler::Default()->setString (PREF_HALF_FONT_FAMILY,
|
||||
fFont->Menu()->FindMarked()->Label());
|
||||
modified = true;
|
||||
break;
|
||||
|
||||
case MSG_HALF_SIZE_CHANGED:
|
||||
gTermPref->setString(PREF_HALF_FONT_SIZE,
|
||||
PrefHandler::Default()->setString(PREF_HALF_FONT_SIZE,
|
||||
fFontSize->Menu()->FindMarked()->Label());
|
||||
modified = true;
|
||||
break;
|
||||
|
||||
case MSG_COLOR_CHANGED:
|
||||
gTermPref->setRGB(fColorField->Menu()->FindMarked()->Label(),
|
||||
PrefHandler::Default()->setRGB(fColorField->Menu()->FindMarked()->Label(),
|
||||
fColorControl->ValueAsColor());
|
||||
modified = true;
|
||||
break;
|
||||
|
||||
case MSG_COLOR_FIELD_CHANGED:
|
||||
fColorControl->SetValue(gTermPref->getRGB(
|
||||
fColorControl->SetValue(PrefHandler::Default()->getRGB(
|
||||
fColorField->Menu()->FindMarked()->Label()));
|
||||
break;
|
||||
|
||||
|
@ -110,7 +110,7 @@ colWindow::colWindow(const char *)
|
||||
BColorControl* controller = new BColorControl(BPoint(10, 45), B_CELLS_32x8, 6, "Terminal Color Controller", new BMessage(MSG_COLOR_CHANGED));
|
||||
|
||||
icon->AddChild(controller);
|
||||
controller->SetValue(gTermPref->getRGB(PREF_TEXT_FORE_COLOR));
|
||||
controller->SetValue(PrefHandler::Default()->getRGB(PREF_TEXT_FORE_COLOR));
|
||||
|
||||
|
||||
|
||||
@ -138,14 +138,14 @@ colWindow::MessageReceived(BMessage* msg)
|
||||
{
|
||||
|
||||
case MSG_COLOR_CHANGED:
|
||||
gTermPref->setRGB(workspaceMenuField->Menu()->FindMarked()->Label(),
|
||||
PrefHandler::Default()->setRGB(workspaceMenuField->Menu()->FindMarked()->Label(),
|
||||
controller->ValueAsColor());
|
||||
modified = true;
|
||||
break;
|
||||
|
||||
case MSG_COLOR_FIELD_CHANGED:
|
||||
controller->SetValue
|
||||
(gTermPref->getRGB (workspaceMenuField->Menu()->FindMarked()->Label()));
|
||||
(PrefHandler::Default()->getRGB (workspaceMenuField->Menu()->FindMarked()->Label()));
|
||||
break;
|
||||
|
||||
|
||||
|
@ -19,8 +19,6 @@
|
||||
#include "PrefHandler.h"
|
||||
#include "Coding.h"
|
||||
|
||||
extern PrefHandler *gTermPref;
|
||||
|
||||
//#define LOCALE_FILE_DIR PREF_FOLDER"menu/"
|
||||
|
||||
BPopUpMenu *
|
||||
@ -68,7 +66,7 @@ LoadLocaleFile(PrefHandler *pref)
|
||||
char name[B_PATH_NAME_LENGTH];
|
||||
const char *locale;
|
||||
|
||||
locale = gTermPref->getString(PREF_GUI_LANGUAGE);
|
||||
locale = PrefHandler::Default()->getString(PREF_GUI_LANGUAGE);
|
||||
// TODO: this effectively disables any locale support - which is okay for now
|
||||
sprintf(name, "%s%s", /*LOCALE_FILE_DIR*/"", locale);
|
||||
|
||||
|
@ -64,6 +64,9 @@ static const pref_defaults kTermDefaults[] = {
|
||||
};
|
||||
|
||||
|
||||
PrefHandler *PrefHandler::sPrefHandler = NULL;
|
||||
|
||||
|
||||
PrefHandler::PrefHandler()
|
||||
:
|
||||
fContainer('Pref')
|
||||
@ -90,6 +93,34 @@ PrefHandler::~PrefHandler()
|
||||
}
|
||||
|
||||
|
||||
/* static */
|
||||
PrefHandler *
|
||||
PrefHandler::Default()
|
||||
{
|
||||
if (sPrefHandler == NULL)
|
||||
sPrefHandler = new PrefHandler();
|
||||
return sPrefHandler;
|
||||
}
|
||||
|
||||
|
||||
/* static */
|
||||
void
|
||||
PrefHandler::DeleteDefault()
|
||||
{
|
||||
delete sPrefHandler;
|
||||
sPrefHandler = NULL;
|
||||
}
|
||||
|
||||
|
||||
/* static */
|
||||
void
|
||||
PrefHandler::SetDefault(PrefHandler *prefHandler)
|
||||
{
|
||||
DeleteDefault();
|
||||
sPrefHandler = prefHandler;
|
||||
}
|
||||
|
||||
|
||||
/* static */
|
||||
status_t
|
||||
PrefHandler::GetDefaultPath(BPath& path)
|
||||
|
@ -61,6 +61,10 @@ class PrefHandler {
|
||||
PrefHandler();
|
||||
~PrefHandler();
|
||||
|
||||
static PrefHandler *Default();
|
||||
static void DeleteDefault();
|
||||
static void SetDefault(PrefHandler *handler);
|
||||
|
||||
status_t Open(const char *name);
|
||||
status_t OpenText(const char *path);
|
||||
status_t Save(const char *name);
|
||||
@ -90,6 +94,8 @@ class PrefHandler {
|
||||
status_t _LoadFromTextFile(const char * path);
|
||||
|
||||
BMessage fContainer;
|
||||
|
||||
static PrefHandler *sPrefHandler;
|
||||
};
|
||||
|
||||
#endif // PREF_HANDLER_H
|
||||
|
@ -24,14 +24,11 @@
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
extern PrefHandler *gTermPref;
|
||||
// Global Preference Handler
|
||||
|
||||
PrefWindow::PrefWindow(BMessenger messenger)
|
||||
: BWindow(_CenteredRect(BRect(0, 0, 350, 215)), "Terminal Settings",
|
||||
B_TITLED_WINDOW_LOOK, B_NORMAL_WINDOW_FEEL,
|
||||
B_NOT_RESIZABLE|B_NOT_ZOOMABLE),
|
||||
fPrefTemp(new PrefHandler(gTermPref)),
|
||||
fPrefTemp(new PrefHandler(PrefHandler::Default())),
|
||||
fSavePanel(NULL),
|
||||
fDirty(false),
|
||||
fPrefDlgMessenger(messenger)
|
||||
@ -140,7 +137,7 @@ PrefWindow::_SaveRequested(BMessage *msg)
|
||||
BDirectory dir(&dirref);
|
||||
BPath path(&dir, filename);
|
||||
|
||||
gTermPref->SaveAsText(path.Path(), PREFFILE_MIMETYPE, TERM_SIGNATURE);
|
||||
PrefHandler::Default()->SaveAsText(path.Path(), PREFFILE_MIMETYPE, TERM_SIGNATURE);
|
||||
}
|
||||
|
||||
|
||||
@ -148,11 +145,11 @@ void
|
||||
PrefWindow::_Save()
|
||||
{
|
||||
delete fPrefTemp;
|
||||
fPrefTemp = new PrefHandler(gTermPref);
|
||||
fPrefTemp = new PrefHandler(PrefHandler::Default());
|
||||
|
||||
BPath path;
|
||||
if (PrefHandler::GetDefaultPath(path) == B_OK) {
|
||||
gTermPref->SaveAsText(path.Path(), PREFFILE_MIMETYPE);
|
||||
PrefHandler::Default()->SaveAsText(path.Path(), PREFFILE_MIMETYPE);
|
||||
fDirty = false;
|
||||
}
|
||||
}
|
||||
@ -161,8 +158,7 @@ PrefWindow::_Save()
|
||||
void
|
||||
PrefWindow::_Revert()
|
||||
{
|
||||
delete gTermPref;
|
||||
gTermPref = new PrefHandler(fPrefTemp);
|
||||
PrefHandler::SetDefault(new PrefHandler(fPrefTemp));
|
||||
|
||||
fPrefDlgMessenger.SendMessage(MSG_HALF_FONT_CHANGED);
|
||||
fPrefDlgMessenger.SendMessage(MSG_COLOR_CHANGED);
|
||||
|
@ -50,8 +50,6 @@
|
||||
#include "Shell.h"
|
||||
#include "PrefHandler.h"
|
||||
|
||||
extern PrefHandler *gTermPref;
|
||||
|
||||
/* default shell command and options. */
|
||||
#define SHELL_COMMAND "/bin/sh -login"
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include "TTextControl.h"
|
||||
|
||||
|
||||
extern PrefHandler *gTermPref;
|
||||
extern PrefHandler *PrefHandler::Default();
|
||||
|
||||
|
||||
ShellPrefView::ShellPrefView(BRect frame, const char *name,
|
||||
@ -37,26 +37,26 @@ ShellPrefView::ShellPrefView(BRect frame, const char *name,
|
||||
mCols = new TTextControl(BRect(0, 0, 160, 20), "cols", "Columns", "",
|
||||
new BMessage(MSG_COLS_CHANGED));
|
||||
AddChild(mCols);
|
||||
mCols->SetText(gTermPref->getString(PREF_COLS));
|
||||
mCols->SetText(PrefHandler::Default()->getString(PREF_COLS));
|
||||
|
||||
mRows = new TTextControl(BRect(0, 30, 160, 50), "rows", "Rows", "",
|
||||
new BMessage(MSG_ROWS_CHANGED));
|
||||
AddChild(mRows);
|
||||
mRows->SetText(gTermPref->getString(PREF_ROWS));
|
||||
mRows->SetText(PrefHandler::Default()->getString(PREF_ROWS));
|
||||
|
||||
mHistory = new TTextControl(BRect(0, 60, 160, 80), "history", "History", "",
|
||||
new BMessage(MSG_HISTORY_CHANGED));
|
||||
AddChild(mHistory);
|
||||
mHistory->SetText(gTermPref->getString(PREF_HISTORY_SIZE));
|
||||
mHistory->SetText(PrefHandler::Default()->getString(PREF_HISTORY_SIZE));
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
ShellPrefView::Revert()
|
||||
{
|
||||
mCols->SetText(gTermPref->getString(PREF_COLS));
|
||||
mRows->SetText(gTermPref->getString(PREF_ROWS));
|
||||
mHistory->SetText(gTermPref->getString(PREF_HISTORY_SIZE));
|
||||
mCols->SetText(PrefHandler::Default()->getString(PREF_COLS));
|
||||
mRows->SetText(PrefHandler::Default()->getString(PREF_ROWS));
|
||||
mHistory->SetText(PrefHandler::Default()->getString(PREF_HISTORY_SIZE));
|
||||
}
|
||||
|
||||
|
||||
@ -66,17 +66,17 @@ ShellPrefView::SaveIfModified()
|
||||
BMessenger messenger(fTermWindow);
|
||||
|
||||
if (mCols->IsModified()) {
|
||||
gTermPref->setString(PREF_COLS, mCols->Text());
|
||||
PrefHandler::Default()->setString(PREF_COLS, mCols->Text());
|
||||
messenger.SendMessage(MSG_COLS_CHANGED);
|
||||
mCols->ModifiedText(false);
|
||||
}
|
||||
if (mRows->IsModified()) {
|
||||
gTermPref->setString(PREF_ROWS, mRows->Text());
|
||||
PrefHandler::Default()->setString(PREF_ROWS, mRows->Text());
|
||||
messenger.SendMessage(MSG_ROWS_CHANGED);
|
||||
mRows->ModifiedText(false);
|
||||
}
|
||||
//if (mShell->IsModified())
|
||||
// gTermPref->setString (PREF_SHELL, mShell->Text());
|
||||
// PrefHandler::Default()->setString (PREF_SHELL, mShell->Text());
|
||||
|
||||
if (mHistory->IsModified()) {
|
||||
int size = atoi(mHistory->Text());
|
||||
@ -85,7 +85,7 @@ ShellPrefView::SaveIfModified()
|
||||
if (size > 1048575)
|
||||
mHistory->SetText("1048575");
|
||||
|
||||
gTermPref->setString (PREF_HISTORY_SIZE, mHistory->Text());
|
||||
PrefHandler::Default()->setString (PREF_HISTORY_SIZE, mHistory->Text());
|
||||
}
|
||||
}
|
||||
|
||||
@ -120,10 +120,10 @@ ShellPrefView::MessageReceived(BMessage *msg)
|
||||
case MSG_COLS_CHANGED:
|
||||
size = atoi (mCols->Text());
|
||||
if (size >= MAX_COLS || size < MIN_COLS) {
|
||||
mCols->SetText (gTermPref->getString (PREF_COLS));
|
||||
mCols->SetText (PrefHandler::Default()->getString (PREF_COLS));
|
||||
beep ();
|
||||
} else {
|
||||
gTermPref->setString (PREF_COLS, mCols->Text());
|
||||
PrefHandler::Default()->setString (PREF_COLS, mCols->Text());
|
||||
modified = true;
|
||||
}
|
||||
break;
|
||||
@ -131,16 +131,16 @@ ShellPrefView::MessageReceived(BMessage *msg)
|
||||
case MSG_ROWS_CHANGED:
|
||||
size = atoi (mRows->Text());
|
||||
if (size >= MAX_COLS || size < MIN_COLS) {
|
||||
mRows->SetText(gTermPref->getString(PREF_ROWS));
|
||||
mRows->SetText(PrefHandler::Default()->getString(PREF_ROWS));
|
||||
beep ();
|
||||
} else {
|
||||
gTermPref->setString(PREF_ROWS, mRows->Text());
|
||||
PrefHandler::Default()->setString(PREF_ROWS, mRows->Text());
|
||||
modified = true;
|
||||
}
|
||||
break;
|
||||
|
||||
// case MSG_SHELL_CHANGED:
|
||||
// gTermPref->setString (PREF_SHELL, mShell->Text());
|
||||
// PrefHandler::Default()->setString (PREF_SHELL, mShell->Text());
|
||||
// Window()->PostMessage(MSG_PREF_MODIFIED);
|
||||
// break;
|
||||
|
||||
@ -148,10 +148,10 @@ ShellPrefView::MessageReceived(BMessage *msg)
|
||||
size = atoi(mHistory->Text());
|
||||
|
||||
if (size < 512 || size > 1048575) {
|
||||
mHistory->SetText(gTermPref->getString(PREF_HISTORY_SIZE));
|
||||
mHistory->SetText(PrefHandler::Default()->getString(PREF_HISTORY_SIZE));
|
||||
beep ();
|
||||
} else {
|
||||
gTermPref->setString(PREF_HISTORY_SIZE, mHistory->Text());
|
||||
PrefHandler::Default()->setString(PREF_HISTORY_SIZE, mHistory->Text());
|
||||
Window()->PostMessage(MSG_PREF_MODIFIED);
|
||||
}
|
||||
break;
|
||||
|
@ -28,10 +28,6 @@
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
|
||||
// Globals
|
||||
PrefHandler *gTermPref;
|
||||
|
||||
static bool sUsageRequested = false;
|
||||
static bool sGeometryRequested = false;
|
||||
|
||||
@ -77,14 +73,11 @@ TermApp::TermApp()
|
||||
int l = (j * 16) + 50;
|
||||
|
||||
fTermFrame.Set(k, l, k + 50, k + 50);
|
||||
|
||||
gTermPref = new PrefHandler();
|
||||
}
|
||||
|
||||
|
||||
TermApp::~TermApp()
|
||||
{
|
||||
delete gTermPref;
|
||||
}
|
||||
|
||||
|
||||
@ -198,7 +191,7 @@ TermApp::ArgvReceived(int32 argc, char **argv)
|
||||
|
||||
// Load preference file
|
||||
if (argmatch(argv, argc, "-p", "--preference", 4, &value, &skip_args))
|
||||
gTermPref->Open(value);
|
||||
PrefHandler::Default()->Open(value);
|
||||
|
||||
// Set window title
|
||||
if (argmatch(argv ,argc, "-t", "--title", 3, &value, &skip_args))
|
||||
@ -216,8 +209,8 @@ TermApp::ArgvReceived(int32 argc, char **argv)
|
||||
sUsageRequested = true;
|
||||
PostMessage(B_QUIT_REQUESTED);
|
||||
}
|
||||
gTermPref->setInt32(PREF_COLS, width);
|
||||
gTermPref->setInt32(PREF_ROWS, height);
|
||||
PrefHandler::Default()->setInt32(PREF_COLS, width);
|
||||
PrefHandler::Default()->setInt32(PREF_ROWS, height);
|
||||
|
||||
fTermFrame.Set(xpos, ypos, xpos + 50, ypos + 50);
|
||||
sGeometryRequested = true;
|
||||
@ -268,7 +261,7 @@ TermApp::RefsReceived(BMessage* message)
|
||||
|
||||
BEntry ent(&ref);
|
||||
BPath path(&ent);
|
||||
gTermPref->OpenText(path.Path());
|
||||
PrefHandler::Default()->OpenText(path.Path());
|
||||
return;
|
||||
}
|
||||
|
||||
@ -288,7 +281,7 @@ TermApp::_MakeTermWindow(BRect &frame)
|
||||
if (fCommandLine.Length() > 0)
|
||||
command = fCommandLine.String();
|
||||
else
|
||||
command = gTermPref->getString(PREF_SHELL);
|
||||
command = PrefHandler::Default()->getString(PREF_SHELL);
|
||||
|
||||
try {
|
||||
fTermWindow = new TermWindow(frame, fWindowTitle.String(), command);
|
||||
|
@ -90,9 +90,6 @@ but it font is full width font on preference panel.
|
||||
#define ROW(x) (((x) + fRowOffset) % fBufferSize)
|
||||
|
||||
|
||||
extern PrefHandler *gTermPref;
|
||||
|
||||
|
||||
TermBuffer::TermBuffer(int rows, int cols)
|
||||
{
|
||||
if (rows < 1)
|
||||
@ -111,7 +108,7 @@ TermBuffer::TermBuffer(int rows, int cols)
|
||||
fSelStart.Set(-1,-1);
|
||||
fSelEnd.Set(-1,-1);
|
||||
|
||||
fBufferSize = gTermPref->getInt32(PREF_HISTORY_SIZE);
|
||||
fBufferSize = PrefHandler::Default()->getInt32(PREF_HISTORY_SIZE);
|
||||
if (fBufferSize < 1000)
|
||||
fBufferSize = 1000;
|
||||
|
||||
|
@ -49,8 +49,6 @@ using std::nothrow;
|
||||
extern int function_keycode_table[];
|
||||
extern char *function_key_char_table[];
|
||||
|
||||
extern PrefHandler *gTermPref; // Global Preference Handler
|
||||
|
||||
const static rgb_color kTermColorTable[16] = {
|
||||
{ 0, 0, 0, 0},
|
||||
{255, 0, 0, 0},
|
||||
@ -83,15 +81,15 @@ TermView::TermView(BRect frame, CodeConv *inCodeConv)
|
||||
fBoldFlag(0),
|
||||
fUnderlineFlag(0),
|
||||
fBufferStartPos(-1),
|
||||
fTermRows(gTermPref->getInt32(PREF_ROWS)),
|
||||
fTermColumns(gTermPref->getInt32(PREF_COLS)),
|
||||
fTermRows(PrefHandler::Default()->getInt32(PREF_ROWS)),
|
||||
fTermColumns(PrefHandler::Default()->getInt32(PREF_COLS)),
|
||||
fTop(0),
|
||||
fTextBuffer(new (nothrow) TermBuffer(fTermRows, fTermColumns)),
|
||||
fCodeConv(inCodeConv),
|
||||
fScrollBar(NULL),
|
||||
fScrTop(0),
|
||||
fScrBot(fTermRows - 1),
|
||||
fScrBufSize(gTermPref->getInt32(PREF_HISTORY_SIZE)),
|
||||
fScrBufSize(PrefHandler::Default()->getInt32(PREF_HISTORY_SIZE)),
|
||||
fScrRegionSet(0),
|
||||
fMouseTracking(false),
|
||||
fMouseThread(-1),
|
||||
@ -108,7 +106,7 @@ TermView::TermView(BRect frame, CodeConv *inCodeConv)
|
||||
SetMouseCursor();
|
||||
|
||||
SetTermFont(be_plain_font, be_plain_font);
|
||||
//SetIMAware(gTermPref->getInt32(PREF_IM_AWARE));
|
||||
//SetIMAware(PrefHandler::Default()->getInt32(PREF_IM_AWARE));
|
||||
|
||||
_InitMouseThread();
|
||||
}
|
||||
@ -179,7 +177,7 @@ TermView::SetTermSize(int rows, int cols, bool resize)
|
||||
void
|
||||
TermView::SetMouseCursor()
|
||||
{
|
||||
if (!strcmp(gTermPref->getString(PREF_MOUSE_IMAGE), "Hand cursor"))
|
||||
if (!strcmp(PrefHandler::Default()->getString(PREF_MOUSE_IMAGE), "Hand cursor"))
|
||||
fMouseImage = false;
|
||||
else
|
||||
fMouseImage = true;
|
||||
@ -190,12 +188,12 @@ TermView::SetMouseCursor()
|
||||
void
|
||||
TermView::SetTermColor()
|
||||
{
|
||||
fTextForeColor = gTermPref->getRGB(PREF_TEXT_FORE_COLOR);
|
||||
fTextBackColor = gTermPref->getRGB(PREF_TEXT_BACK_COLOR);
|
||||
fSelectForeColor = gTermPref->getRGB(PREF_SELECT_FORE_COLOR);
|
||||
fSelectBackColor = gTermPref->getRGB(PREF_SELECT_BACK_COLOR);
|
||||
fCursorForeColor = gTermPref->getRGB(PREF_CURSOR_FORE_COLOR);
|
||||
fCursorBackColor = gTermPref->getRGB(PREF_CURSOR_BACK_COLOR);
|
||||
fTextForeColor = PrefHandler::Default()->getRGB(PREF_TEXT_FORE_COLOR);
|
||||
fTextBackColor = PrefHandler::Default()->getRGB(PREF_TEXT_BACK_COLOR);
|
||||
fSelectForeColor = PrefHandler::Default()->getRGB(PREF_SELECT_FORE_COLOR);
|
||||
fSelectBackColor = PrefHandler::Default()->getRGB(PREF_SELECT_BACK_COLOR);
|
||||
fCursorForeColor = PrefHandler::Default()->getRGB(PREF_CURSOR_FORE_COLOR);
|
||||
fCursorBackColor = PrefHandler::Default()->getRGB(PREF_CURSOR_BACK_COLOR);
|
||||
|
||||
SetLowColor(fTextBackColor);
|
||||
SetViewColor(fTextBackColor);
|
||||
@ -777,7 +775,7 @@ TermView::MouseTracking(void *data)
|
||||
BRect r;
|
||||
|
||||
if (theObj->HasSelection()
|
||||
&& ( gTermPref->getInt32(PREF_DRAGN_COPY)
|
||||
&& ( PrefHandler::Default()->getInt32(PREF_DRAGN_COPY)
|
||||
|| modifiers() & B_CONTROL_KEY)) {
|
||||
|
||||
if (theObj->LockLooper()) {
|
||||
@ -1652,7 +1650,7 @@ TermView::MouseDown(BPoint where)
|
||||
|
||||
// If mouse pointer is avove selected Region, start Drag'n Copy.
|
||||
if (inPos > stPos && inPos < edPos) {
|
||||
if (mod & B_CONTROL_KEY || gTermPref->getInt32(PREF_DRAGN_COPY)) {
|
||||
if (mod & B_CONTROL_KEY || PrefHandler::Default()->getInt32(PREF_DRAGN_COPY)) {
|
||||
BPoint p;
|
||||
uint32 bt;
|
||||
do {
|
||||
|
@ -43,8 +43,6 @@
|
||||
#include "Shell.h"
|
||||
|
||||
|
||||
// Global Preference Handler
|
||||
extern PrefHandler *gTermPref;
|
||||
//
|
||||
// help and GPL URL
|
||||
//
|
||||
@ -82,20 +80,20 @@ TermWindow::TermWindow(BRect frame, const char* title, const char *command)
|
||||
fMatchCase(false),
|
||||
fMatchWord(false)
|
||||
{
|
||||
int rows = gTermPref->getInt32(PREF_ROWS);
|
||||
int rows = PrefHandler::Default()->getInt32(PREF_ROWS);
|
||||
if (rows < 1) {
|
||||
rows = 1;
|
||||
gTermPref->setInt32(PREF_ROWS, rows);
|
||||
PrefHandler::Default()->setInt32(PREF_ROWS, rows);
|
||||
}
|
||||
|
||||
int cols = gTermPref->getInt32(PREF_COLS);
|
||||
int cols = PrefHandler::Default()->getInt32(PREF_COLS);
|
||||
if (cols < MIN_COLS) {
|
||||
cols = MIN_COLS;
|
||||
gTermPref->setInt32(PREF_COLS, cols);
|
||||
PrefHandler::Default()->setInt32(PREF_COLS, cols);
|
||||
}
|
||||
|
||||
// Get encoding name (setenv TTYPE in spawn_shell functions)
|
||||
const char *encoding = longname2shortname(gTermPref->getString(PREF_TEXT_ENCODING));
|
||||
const char *encoding = longname2shortname(PrefHandler::Default()->getString(PREF_TEXT_ENCODING));
|
||||
fShell = new Shell();
|
||||
status_t status = fShell->Open(rows, cols, command, encoding);
|
||||
if (status < 0)
|
||||
@ -120,6 +118,8 @@ TermWindow::~TermWindow()
|
||||
fFindPanel = NULL;
|
||||
}
|
||||
|
||||
PrefHandler::DeleteDefault();
|
||||
|
||||
delete fWindowUpdate;
|
||||
}
|
||||
|
||||
@ -136,21 +136,21 @@ TermWindow::InitWindow()
|
||||
|
||||
// Setup font.
|
||||
|
||||
const char *family = gTermPref->getString(PREF_HALF_FONT_FAMILY);
|
||||
const char *family = PrefHandler::Default()->getString(PREF_HALF_FONT_FAMILY);
|
||||
|
||||
BFont halfFont;
|
||||
halfFont.SetFamilyAndStyle(family, NULL);
|
||||
float size = gTermPref->getFloat(PREF_HALF_FONT_SIZE);
|
||||
float size = PrefHandler::Default()->getFloat(PREF_HALF_FONT_SIZE);
|
||||
if (size < 6.0f)
|
||||
size = 6.0f;
|
||||
halfFont.SetSize(size);
|
||||
halfFont.SetSpacing(B_FIXED_SPACING);
|
||||
|
||||
family = gTermPref->getString(PREF_FULL_FONT_FAMILY);
|
||||
family = PrefHandler::Default()->getString(PREF_FULL_FONT_FAMILY);
|
||||
|
||||
BFont fullFont;
|
||||
fullFont.SetFamilyAndStyle(family, NULL);
|
||||
size = gTermPref->getFloat(PREF_FULL_FONT_SIZE);
|
||||
size = PrefHandler::Default()->getFloat(PREF_FULL_FONT_SIZE);
|
||||
if (size < 6.0f)
|
||||
size = 6.0f;
|
||||
fullFont.SetSize(size);
|
||||
@ -177,8 +177,8 @@ TermWindow::InitWindow()
|
||||
|
||||
fTermView->SetTermFont(&halfFont, &fullFont);
|
||||
|
||||
BRect rect = fTermView->SetTermSize(gTermPref->getInt32(PREF_ROWS),
|
||||
gTermPref->getInt32(PREF_COLS), 1);
|
||||
BRect rect = fTermView->SetTermSize(PrefHandler::Default()->getInt32(PREF_ROWS),
|
||||
PrefHandler::Default()->getInt32(PREF_COLS), 1);
|
||||
|
||||
int width, height;
|
||||
fTermView->GetFontSize(&width, &height);
|
||||
@ -186,7 +186,7 @@ TermWindow::InitWindow()
|
||||
MIN_COLS * height, MAX_COLS * height);
|
||||
|
||||
fTermView->SetTermColor();
|
||||
fBaseView->SetViewColor(gTermPref->getRGB(PREF_TEXT_BACK_COLOR));
|
||||
fBaseView->SetViewColor(PrefHandler::Default()->getRGB(PREF_TEXT_BACK_COLOR));
|
||||
|
||||
// Add offset to baseview.
|
||||
rect.InsetBy(-VIEW_OFFSET, -VIEW_OFFSET);
|
||||
@ -218,7 +218,7 @@ TermWindow::InitWindow()
|
||||
fEditmenu->SetTargetForItems(fTermView);
|
||||
|
||||
// Initialize TermParse
|
||||
SetEncoding(longname2id(gTermPref->getString(PREF_TEXT_ENCODING)));
|
||||
SetEncoding(longname2id(PrefHandler::Default()->getString(PREF_TEXT_ENCODING)));
|
||||
fTermParse = new TermParse(fShell->FD(), fTermView, fCodeConv);
|
||||
if (fTermParse->StartThreads() < B_OK)
|
||||
return;
|
||||
@ -310,7 +310,7 @@ TermWindow::SetupMenu(void)
|
||||
// if (0 ==i) item->SetMarked(true);
|
||||
}
|
||||
}
|
||||
fNewFontMenu->FindItem (gTermPref->getString(PREF_HALF_FONT_FAMILY))->SetMarked(true);
|
||||
fNewFontMenu->FindItem (PrefHandler::Default()->getString(PREF_HALF_FONT_FAMILY))->SetMarked(true);
|
||||
*/
|
||||
|
||||
fEncodingmenu = new BMenu("Font Encoding");
|
||||
@ -479,15 +479,15 @@ TermWindow::MessageReceived(BMessage *message)
|
||||
// Message from Preference panel.
|
||||
case MSG_ROWS_CHANGED:
|
||||
case MSG_COLS_CHANGED: {
|
||||
r = fTermView->SetTermSize (gTermPref->getInt32 (PREF_ROWS),
|
||||
gTermPref->getInt32 (PREF_COLS), 0);
|
||||
r = fTermView->SetTermSize (PrefHandler::Default()->getInt32 (PREF_ROWS),
|
||||
PrefHandler::Default()->getInt32 (PREF_COLS), 0);
|
||||
|
||||
ResizeTo (r.Width()+ B_V_SCROLL_BAR_WIDTH + VIEW_OFFSET * 2,
|
||||
r.Height()+fMenubar->Bounds().Height() + VIEW_OFFSET *2);
|
||||
|
||||
BPath path;
|
||||
if (PrefHandler::GetDefaultPath(path) == B_OK)
|
||||
gTermPref->SaveAsText(path.Path(), PREFFILE_MIMETYPE);
|
||||
PrefHandler::Default()->SaveAsText(path.Path(), PREFFILE_MIMETYPE);
|
||||
break;
|
||||
}
|
||||
case MSG_HALF_FONT_CHANGED:
|
||||
@ -495,12 +495,12 @@ TermWindow::MessageReceived(BMessage *message)
|
||||
case MSG_HALF_SIZE_CHANGED:
|
||||
case MSG_FULL_SIZE_CHANGED: {
|
||||
|
||||
halfFont.SetFamilyAndStyle (gTermPref->getString(PREF_HALF_FONT_FAMILY),NULL);
|
||||
halfFont.SetSize (gTermPref->getFloat(PREF_HALF_FONT_SIZE));
|
||||
halfFont.SetFamilyAndStyle (PrefHandler::Default()->getString(PREF_HALF_FONT_FAMILY),NULL);
|
||||
halfFont.SetSize (PrefHandler::Default()->getFloat(PREF_HALF_FONT_SIZE));
|
||||
halfFont.SetSpacing (B_FIXED_SPACING);
|
||||
|
||||
fullFont.SetFamilyAndStyle (gTermPref->getString(PREF_FULL_FONT_FAMILY),NULL);
|
||||
fullFont.SetSize (gTermPref->getFloat(PREF_FULL_FONT_SIZE));
|
||||
fullFont.SetFamilyAndStyle (PrefHandler::Default()->getString(PREF_FULL_FONT_FAMILY),NULL);
|
||||
fullFont.SetSize (PrefHandler::Default()->getFloat(PREF_FULL_FONT_SIZE));
|
||||
fullFont.SetSpacing (B_FIXED_SPACING);
|
||||
|
||||
fTermView->SetTermFont (&halfFont, &fullFont);
|
||||
@ -520,36 +520,36 @@ TermWindow::MessageReceived(BMessage *message)
|
||||
break;
|
||||
}
|
||||
case EIGHTYTWENTYFOUR: {
|
||||
gTermPref->setString(PREF_COLS, "80");
|
||||
gTermPref->setString(PREF_ROWS, "24");
|
||||
PrefHandler::Default()->setString(PREF_COLS, "80");
|
||||
PrefHandler::Default()->setString(PREF_ROWS, "24");
|
||||
this->PostMessage (MSG_ROWS_CHANGED);
|
||||
this->PostMessage (MSG_COLS_CHANGED);
|
||||
break;
|
||||
}
|
||||
case EIGHTYTWENTYFIVE: {
|
||||
gTermPref->setString(PREF_COLS, "80");
|
||||
gTermPref->setString(PREF_ROWS, "25");
|
||||
PrefHandler::Default()->setString(PREF_COLS, "80");
|
||||
PrefHandler::Default()->setString(PREF_ROWS, "25");
|
||||
this->PostMessage (MSG_ROWS_CHANGED);
|
||||
this->PostMessage (MSG_COLS_CHANGED);
|
||||
break;
|
||||
}
|
||||
case EIGHTYFORTY: {
|
||||
gTermPref->setString(PREF_COLS, "80");
|
||||
gTermPref->setString(PREF_ROWS, "40");
|
||||
PrefHandler::Default()->setString(PREF_COLS, "80");
|
||||
PrefHandler::Default()->setString(PREF_ROWS, "40");
|
||||
this->PostMessage (MSG_ROWS_CHANGED);
|
||||
this->PostMessage (MSG_COLS_CHANGED);
|
||||
break;
|
||||
}
|
||||
case ONETHREETWOTWENTYFOUR: {
|
||||
gTermPref->setString(PREF_COLS, "132");
|
||||
gTermPref->setString(PREF_ROWS, "24");
|
||||
PrefHandler::Default()->setString(PREF_COLS, "132");
|
||||
PrefHandler::Default()->setString(PREF_ROWS, "24");
|
||||
this->PostMessage (MSG_ROWS_CHANGED);
|
||||
this->PostMessage (MSG_COLS_CHANGED);
|
||||
break;
|
||||
}
|
||||
case ONETHREETWOTWENTYFIVE: {
|
||||
gTermPref->setString(PREF_COLS, "132");
|
||||
gTermPref->setString(PREF_ROWS, "25");
|
||||
PrefHandler::Default()->setString(PREF_COLS, "132");
|
||||
PrefHandler::Default()->setString(PREF_ROWS, "25");
|
||||
this->PostMessage (MSG_ROWS_CHANGED);
|
||||
this->PostMessage (MSG_COLS_CHANGED);
|
||||
break;
|
||||
@ -582,12 +582,12 @@ TermWindow::MessageReceived(BMessage *message)
|
||||
break;
|
||||
}
|
||||
case MSG_FONT_CHANGED: {
|
||||
gTermPref->setString (PREF_HALF_FONT_FAMILY, fNewFontMenu->FindMarked()->Label());
|
||||
PrefHandler::Default()->setString (PREF_HALF_FONT_FAMILY, fNewFontMenu->FindMarked()->Label());
|
||||
PostMessage (MSG_HALF_FONT_CHANGED);
|
||||
break;
|
||||
}
|
||||
case MSG_COLOR_CHANGED: {
|
||||
fBaseView->SetViewColor (gTermPref->getRGB (PREF_TEXT_BACK_COLOR));
|
||||
fBaseView->SetViewColor (PrefHandler::Default()->getRGB (PREF_TEXT_BACK_COLOR));
|
||||
fTermView->SetTermColor ();
|
||||
fBaseView->Invalidate();
|
||||
fTermView->Invalidate();
|
||||
@ -596,7 +596,7 @@ TermWindow::MessageReceived(BMessage *message)
|
||||
case SAVE_AS_DEFAULT: {
|
||||
BPath path;
|
||||
if (PrefHandler::GetDefaultPath(path) == B_OK)
|
||||
gTermPref->SaveAsText(path.Path(), PREFFILE_MIMETYPE);
|
||||
PrefHandler::Default()->SaveAsText(path.Path(), PREFFILE_MIMETYPE);
|
||||
break;
|
||||
}
|
||||
case MENU_PAGE_SETUP: {
|
||||
|
@ -32,8 +32,6 @@
|
||||
#define TERMWIN_H
|
||||
|
||||
|
||||
#include "PrefHandler.h"
|
||||
|
||||
#include <Menu.h>
|
||||
#include <Window.h>
|
||||
#include <MessageRunner.h>
|
||||
|
Loading…
x
Reference in New Issue
Block a user