Convert Poorman to use the Layout API.
Also includes many style fixes. This patch was done by tokyo6pm, and then updated by mks after changes to Poorman broke the patch. ticket: #3787
This commit is contained in:
@@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#include <Box.h>
|
#include <Box.h>
|
||||||
#include <Catalog.h>
|
#include <Catalog.h>
|
||||||
|
#include <GroupLayoutBuilder.h>
|
||||||
#include <Locale.h>
|
#include <Locale.h>
|
||||||
|
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
@@ -19,46 +20,41 @@
|
|||||||
#define B_TRANSLATION_CONTEXT "PoorMan"
|
#define B_TRANSLATION_CONTEXT "PoorMan"
|
||||||
|
|
||||||
|
|
||||||
PoorManAdvancedView::PoorManAdvancedView(BRect rect, const char *name)
|
PoorManAdvancedView::PoorManAdvancedView(const char* name)
|
||||||
: BView(rect, name, B_FOLLOW_ALL, B_WILL_DRAW)
|
:
|
||||||
|
BView(name, B_WILL_DRAW, NULL)
|
||||||
{
|
{
|
||||||
PoorManWindow* win;
|
PoorManWindow* win;
|
||||||
win = ((PoorManApplication*)be_app)->GetPoorManWindow();
|
win = ((PoorManApplication*)be_app)->GetPoorManWindow();
|
||||||
|
|
||||||
SetViewColor(BACKGROUND_COLOR);
|
SetLayout(new BGroupLayout(B_VERTICAL));
|
||||||
|
|
||||||
// Console Logging BBox
|
BBox* connectionOptions = new BBox(B_TRANSLATE("Connections"));
|
||||||
BRect maxRect;
|
|
||||||
maxRect = rect;
|
|
||||||
maxRect.top -= 5.0;
|
|
||||||
maxRect.left -= 5.0;
|
|
||||||
maxRect.right -= 7.0;
|
|
||||||
maxRect.bottom -= 118.0;
|
|
||||||
|
|
||||||
BBox * connectionOptions = new BBox(maxRect, B_TRANSLATE("Connections"));
|
|
||||||
connectionOptions->SetLabel(STR_BBX_CONNECTION);
|
connectionOptions->SetLabel(STR_BBX_CONNECTION);
|
||||||
AddChild(connectionOptions);
|
|
||||||
|
|
||||||
BRect sliderRect;
|
fMaxConnections = new StatusSlider("Max Slider", STR_SLD_LABEL,
|
||||||
sliderRect = connectionOptions->Bounds();
|
STR_SLD_STATUS_LABEL,
|
||||||
sliderRect.InsetBy(10.0f, 10.0f);
|
new BMessage(MSG_PREF_ADV_SLD_MAX_CONNECTION), 1, 200);
|
||||||
sliderRect.top += 10;
|
|
||||||
sliderRect.bottom = sliderRect.top + 50.0;
|
|
||||||
|
|
||||||
maxConnections = new StatusSlider(sliderRect, "Max Slider", STR_SLD_LABEL,
|
|
||||||
STR_SLD_STATUS_LABEL, new BMessage(MSG_PREF_ADV_SLD_MAX_CONNECTION), 1, 200);
|
|
||||||
|
|
||||||
// labels below the slider 1 and 200
|
// labels below the slider 1 and 200
|
||||||
maxConnections->SetLimitLabels("1", "200");
|
fMaxConnections->SetLimitLabels("1", "200");
|
||||||
SetMaxSimutaneousConnections(win->MaxConnections());
|
SetMaxSimutaneousConnections(win->MaxConnections());
|
||||||
connectionOptions->AddChild(maxConnections);
|
|
||||||
|
connectionOptions->AddChild(BGroupLayoutBuilder(B_VERTICAL, 10)
|
||||||
|
.Add(fMaxConnections)
|
||||||
|
.SetInsets(5, 5, 5, 5));
|
||||||
|
|
||||||
|
AddChild(BGroupLayoutBuilder(B_VERTICAL, 10)
|
||||||
|
.Add(connectionOptions)
|
||||||
|
.AddGlue()
|
||||||
|
.SetInsets(5, 5, 5, 5));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PoorManAdvancedView::SetMaxSimutaneousConnections(int32 num)
|
PoorManAdvancedView::SetMaxSimutaneousConnections(int32 num)
|
||||||
{
|
{
|
||||||
if (num <= 0 || num > 200)
|
if (num <= 0 || num > 200)
|
||||||
maxConnections->SetValue(32);
|
fMaxConnections->SetValue(32);
|
||||||
else
|
else
|
||||||
maxConnections->SetValue(num);
|
fMaxConnections->SetValue(num);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,16 +13,17 @@
|
|||||||
#include "StatusSlider.h"
|
#include "StatusSlider.h"
|
||||||
|
|
||||||
|
|
||||||
class PoorManAdvancedView: public BView
|
class PoorManAdvancedView: public BView {
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
PoorManAdvancedView(BRect, const char *name);
|
PoorManAdvancedView(const char *name);
|
||||||
int32 MaxSimultaneousConnections() { return maxConnections->Value(); }
|
|
||||||
|
int32 MaxSimultaneousConnections()
|
||||||
|
{ return fMaxConnections->Value(); }
|
||||||
void SetMaxSimutaneousConnections(int32 num);
|
void SetMaxSimutaneousConnections(int32 num);
|
||||||
private:
|
private:
|
||||||
// Advanced Tab
|
// Advanced Tab
|
||||||
// Connections Options
|
// Connections Options
|
||||||
StatusSlider * maxConnections;
|
StatusSlider* fMaxConnections;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#include <Box.h>
|
#include <Box.h>
|
||||||
#include <Catalog.h>
|
#include <Catalog.h>
|
||||||
|
#include <GroupLayoutBuilder.h>
|
||||||
#include <Locale.h>
|
#include <Locale.h>
|
||||||
|
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
@@ -19,80 +20,61 @@
|
|||||||
#define B_TRANSLATION_CONTEXT "PoorMan"
|
#define B_TRANSLATION_CONTEXT "PoorMan"
|
||||||
|
|
||||||
|
|
||||||
PoorManLoggingView::PoorManLoggingView(BRect rect, const char *name)
|
PoorManLoggingView::PoorManLoggingView(const char* name)
|
||||||
: BView(rect, name, B_FOLLOW_ALL, B_WILL_DRAW)
|
:
|
||||||
|
BView(name, B_WILL_DRAW, NULL)
|
||||||
{
|
{
|
||||||
PoorManWindow* win;
|
PoorManWindow* win;
|
||||||
win = ((PoorManApplication*)be_app)->GetPoorManWindow();
|
win = ((PoorManApplication*)be_app)->GetPoorManWindow();
|
||||||
|
|
||||||
SetViewColor(BACKGROUND_COLOR);
|
SetLayout(new BGroupLayout(B_VERTICAL));
|
||||||
|
|
||||||
// Console Logging BBox
|
BBox* consoleLogging = new BBox(B_TRANSLATE("Console Logging"));
|
||||||
BRect consoleLoggingRect;
|
|
||||||
consoleLoggingRect = rect;
|
|
||||||
consoleLoggingRect.top -= 5.0;
|
|
||||||
consoleLoggingRect.left -= 5.0;
|
|
||||||
consoleLoggingRect.right -= 7.0;
|
|
||||||
consoleLoggingRect.bottom -= 118.0;
|
|
||||||
|
|
||||||
BBox * consoleLogging = new BBox(consoleLoggingRect,
|
|
||||||
B_TRANSLATE("Console Logging"));
|
|
||||||
consoleLogging->SetLabel(STR_BBX_CONSOLE_LOGGING);
|
consoleLogging->SetLabel(STR_BBX_CONSOLE_LOGGING);
|
||||||
AddChild(consoleLogging);
|
|
||||||
|
|
||||||
|
|
||||||
// File Logging BBox
|
// File Logging BBox
|
||||||
BRect fileLoggingRect;
|
BBox* fileLogging = new BBox(B_TRANSLATE("File Logging"));
|
||||||
fileLoggingRect = consoleLoggingRect;
|
|
||||||
fileLoggingRect.top = consoleLoggingRect.bottom + 10.0;
|
|
||||||
fileLoggingRect.bottom = fileLoggingRect.top + 100.0;
|
|
||||||
|
|
||||||
BBox * fileLogging = new BBox(fileLoggingRect,
|
|
||||||
B_TRANSLATE("File Logging"));
|
|
||||||
fileLogging->SetLabel(STR_BBX_FILE_LOGGING);
|
fileLogging->SetLabel(STR_BBX_FILE_LOGGING);
|
||||||
AddChild(fileLogging);
|
|
||||||
|
|
||||||
float left = 10.0;
|
|
||||||
float top = 20.0;
|
|
||||||
float box_size = 13.0;
|
|
||||||
BRect tempRect(left, top, consoleLoggingRect.Width() - 5.0, top + box_size);
|
|
||||||
|
|
||||||
// Console Logging
|
// Console Logging
|
||||||
logConsole = new BCheckBox(tempRect, B_TRANSLATE("Log To Console"),
|
fLogConsole = new BCheckBox(B_TRANSLATE("Log To Console"),
|
||||||
STR_CBX_LOG_CONSOLE, new BMessage(MSG_PREF_LOG_CBX_CONSOLE));
|
STR_CBX_LOG_CONSOLE, new BMessage(MSG_PREF_LOG_CBX_CONSOLE));
|
||||||
// set the checkbox to the value the program has
|
// set the checkbox to the value the program has
|
||||||
SetLogConsoleValue(win->LogConsoleFlag());
|
SetLogConsoleValue(win->LogConsoleFlag());
|
||||||
consoleLogging->AddChild(logConsole);
|
|
||||||
|
|
||||||
// File Logging
|
// File Logging
|
||||||
logFile = new BCheckBox(tempRect, B_TRANSLATE("Log To File"),
|
fLogFile = new BCheckBox(B_TRANSLATE("Log To File"), STR_CBX_LOG_FILE,
|
||||||
STR_CBX_LOG_FILE, new BMessage(MSG_PREF_LOG_CBX_FILE));
|
new BMessage(MSG_PREF_LOG_CBX_FILE));
|
||||||
// set the checkbox to the value the program has
|
// set the checkbox to the value the program has
|
||||||
SetLogFileValue(win->LogFileFlag());
|
SetLogFileValue(win->LogFileFlag());
|
||||||
fileLogging->AddChild(logFile);
|
|
||||||
|
|
||||||
// File Name
|
// File Name
|
||||||
tempRect.top = tempRect.bottom + 10.0;
|
fLogFileName = new BTextControl(B_TRANSLATE("File Name"),
|
||||||
tempRect.bottom = tempRect.top + box_size;
|
|
||||||
tempRect.right -= 5.0;
|
|
||||||
|
|
||||||
logFileName = new BTextControl(tempRect, B_TRANSLATE("File Name"),
|
|
||||||
STR_TXT_LOG_FILE_NAME, NULL, NULL);
|
STR_TXT_LOG_FILE_NAME, NULL, NULL);
|
||||||
logFileName->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT);
|
|
||||||
logFileName->SetDivider(fileLogging->StringWidth(STR_TXT_LOG_FILE_NAME) + 8.0f);
|
|
||||||
SetLogFileName(win->LogPath());
|
SetLogFileName(win->LogPath());
|
||||||
fileLogging->AddChild(logFileName);
|
|
||||||
|
|
||||||
// Create Log File
|
// Create Log File
|
||||||
BRect createLogFileRect;
|
fCreateLogFile = new BButton(B_TRANSLATE("Create Log File"),
|
||||||
createLogFileRect.top = tempRect.bottom + 13.0;
|
|
||||||
createLogFileRect.right = tempRect.right + 2.0;
|
|
||||||
createLogFileRect.left = createLogFileRect.right
|
|
||||||
- fileLogging->StringWidth(B_TRANSLATE("Create Log File")) - 24.0;
|
|
||||||
createLogFileRect.bottom = createLogFileRect.top + 19.0;
|
|
||||||
|
|
||||||
createLogFile = new BButton(createLogFileRect, B_TRANSLATE("Create Log File"),
|
|
||||||
STR_BTN_CREATE_LOG_FILE, new BMessage(MSG_PREF_LOG_BTN_CREATE_FILE));
|
STR_BTN_CREATE_LOG_FILE, new BMessage(MSG_PREF_LOG_BTN_CREATE_FILE));
|
||||||
fileLogging->AddChild(createLogFile);
|
|
||||||
|
|
||||||
|
consoleLogging->AddChild(BGroupLayoutBuilder(B_VERTICAL, 10)
|
||||||
|
.Add(BGroupLayoutBuilder(B_HORIZONTAL, 10)
|
||||||
|
.Add(fLogConsole)
|
||||||
|
.AddGlue())
|
||||||
|
.SetInsets(5, 5, 5, 5));
|
||||||
|
|
||||||
|
fileLogging->AddChild(BGroupLayoutBuilder(B_VERTICAL, 10)
|
||||||
|
.Add(BGroupLayoutBuilder(B_HORIZONTAL, 10)
|
||||||
|
.Add(fLogFile)
|
||||||
|
.AddGlue())
|
||||||
|
.Add(fLogFileName)
|
||||||
|
.Add(BGroupLayoutBuilder(B_HORIZONTAL, 10)
|
||||||
|
.AddGlue()
|
||||||
|
.Add(fCreateLogFile))
|
||||||
|
.SetInsets(5, 5, 5, 5));
|
||||||
|
|
||||||
|
AddChild(BGroupLayoutBuilder(B_VERTICAL, 10)
|
||||||
|
.Add(consoleLogging)
|
||||||
|
.Add(fileLogging)
|
||||||
|
.SetInsets(5, 5, 5, 5));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,28 +14,36 @@
|
|||||||
#include <CheckBox.h>
|
#include <CheckBox.h>
|
||||||
|
|
||||||
|
|
||||||
class PoorManLoggingView: public BView
|
class PoorManLoggingView: public BView {
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
PoorManLoggingView(BRect, const char *name);
|
PoorManLoggingView(const char* name);
|
||||||
|
|
||||||
|
void SetLogConsoleValue(bool state)
|
||||||
|
{ if (state)
|
||||||
|
fLogConsole->SetValue(B_CONTROL_ON);
|
||||||
|
else fLogConsole->SetValue(B_CONTROL_OFF); }
|
||||||
|
bool LogConsoleValue()
|
||||||
|
{ return (fLogConsole->Value() == B_CONTROL_ON)
|
||||||
|
? true : false; }
|
||||||
|
void SetLogFileValue(bool state)
|
||||||
|
{ if (state) fLogFile->SetValue(B_CONTROL_ON);
|
||||||
|
else fLogFile->SetValue(B_CONTROL_OFF); }
|
||||||
|
bool LogFileValue()
|
||||||
|
{ return (fLogFile->Value() == B_CONTROL_ON)
|
||||||
|
? true : false; }
|
||||||
|
const char* LogFileName()
|
||||||
|
{ return fLogFileName->Text(); }
|
||||||
|
void SetLogFileName(const char* log)
|
||||||
|
{ fLogFileName->SetText(log); }
|
||||||
|
|
||||||
void SetLogConsoleValue(bool state) {if (state) logConsole->SetValue(B_CONTROL_ON);
|
|
||||||
else logConsole->SetValue(B_CONTROL_OFF); }
|
|
||||||
bool LogConsoleValue() { return (logConsole->Value() == B_CONTROL_ON) ? true : false; }
|
|
||||||
void SetLogFileValue(bool state) {if (state) logFile->SetValue(B_CONTROL_ON);
|
|
||||||
else logFile->SetValue(B_CONTROL_OFF); }
|
|
||||||
bool LogFileValue() { return (logFile->Value() == B_CONTROL_ON) ? true : false; }
|
|
||||||
const char * LogFileName() { return logFileName->Text(); }
|
|
||||||
void SetLogFileName(const char * log) { logFileName->SetText(log); }
|
|
||||||
private:
|
private:
|
||||||
// Logging Tab
|
// Logging Tab
|
||||||
|
|
||||||
// Console Logging
|
// Console Logging
|
||||||
BCheckBox * logConsole;
|
BCheckBox* fLogConsole;
|
||||||
// File Logging
|
// File Logging
|
||||||
BCheckBox * logFile;
|
BCheckBox* fLogFile;
|
||||||
BTextControl * logFileName;
|
BTextControl* fLogFileName;
|
||||||
BButton * createLogFile;
|
BButton * fCreateLogFile;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -9,7 +9,10 @@
|
|||||||
#include <Catalog.h>
|
#include <Catalog.h>
|
||||||
#include <Debug.h>
|
#include <Debug.h>
|
||||||
#include <Directory.h>
|
#include <Directory.h>
|
||||||
|
#include <GroupLayoutBuilder.h>
|
||||||
|
#include <GroupView.h>
|
||||||
#include <Locale.h>
|
#include <Locale.h>
|
||||||
|
#include <SpaceLayoutItem.h>
|
||||||
#include <Window.h>
|
#include <Window.h>
|
||||||
|
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
@@ -25,110 +28,72 @@
|
|||||||
|
|
||||||
PoorManPreferencesWindow::PoorManPreferencesWindow(BRect frame, char * name)
|
PoorManPreferencesWindow::PoorManPreferencesWindow(BRect frame, char * name)
|
||||||
: BWindow(frame, name, B_TITLED_WINDOW, B_NOT_ZOOMABLE | B_NOT_RESIZABLE
|
: BWindow(frame, name, B_TITLED_WINDOW, B_NOT_ZOOMABLE | B_NOT_RESIZABLE
|
||||||
| B_CLOSE_ON_ESCAPE),
|
| B_CLOSE_ON_ESCAPE | B_AUTO_UPDATE_SIZE_LIMITS),
|
||||||
webDirFilePanel(NULL),
|
fWebDirFilePanel(NULL),
|
||||||
logFilePanel(NULL)
|
fLogFilePanel(NULL)
|
||||||
{
|
{
|
||||||
frame = Bounds();
|
SetLayout(new BGroupLayout(B_VERTICAL));
|
||||||
|
|
||||||
prefView = new PoorManView(frame, STR_WIN_NAME_PREF);
|
fCancelButton = new BButton("Cancel Button", B_TRANSLATE("Cancel"),
|
||||||
//prefView->SetViewColor(216,216,216,255);
|
|
||||||
prefView->SetViewColor(BACKGROUND_COLOR);
|
|
||||||
AddChild(prefView);
|
|
||||||
|
|
||||||
|
|
||||||
// Button View
|
|
||||||
BRect buttonRect;
|
|
||||||
buttonRect = Bounds();
|
|
||||||
buttonRect.top = buttonRect.bottom - 30;
|
|
||||||
|
|
||||||
buttonView = new PoorManView(buttonRect, "Button View");
|
|
||||||
buttonView->SetViewColor(BACKGROUND_COLOR);
|
|
||||||
prefView->AddChild(buttonView);
|
|
||||||
|
|
||||||
// Buttons
|
|
||||||
float buttonTop = 0.0f;
|
|
||||||
float buttonHeight = 26.0f;
|
|
||||||
|
|
||||||
float widthCancel = prefView->StringWidth(B_TRANSLATE("Cancel")) + 24.0f;
|
|
||||||
float widthDone = prefView->StringWidth(B_TRANSLATE("Done")) + 24.0f;
|
|
||||||
|
|
||||||
float gap = 5.0f;
|
|
||||||
|
|
||||||
BRect button1(prefView->Bounds().Width() - 2 * gap - widthCancel
|
|
||||||
- widthDone, buttonTop, prefView->Bounds().Width() - 2 * gap - widthDone,
|
|
||||||
buttonTop + buttonHeight);
|
|
||||||
cancelButton = new BButton(button1, "Cancel Button", B_TRANSLATE("Cancel"),
|
|
||||||
new BMessage(MSG_PREF_BTN_CANCEL));
|
new BMessage(MSG_PREF_BTN_CANCEL));
|
||||||
|
fDoneButton = new BButton("Done Button", B_TRANSLATE("Done"),
|
||||||
BRect button2(prefView->Bounds().Width() - gap - widthDone, buttonTop,
|
|
||||||
prefView->Bounds().Width() - gap, buttonTop + buttonHeight);
|
|
||||||
doneButton = new BButton(button2, "Done Button", B_TRANSLATE("Done"),
|
|
||||||
new BMessage(MSG_PREF_BTN_DONE));
|
new BMessage(MSG_PREF_BTN_DONE));
|
||||||
|
|
||||||
buttonView->AddChild(cancelButton);
|
fPrefTabView = new BTabView("Pref Tab View");
|
||||||
buttonView->AddChild(doneButton);
|
|
||||||
|
|
||||||
// Create tabs
|
|
||||||
BRect r;
|
|
||||||
r = Bounds();
|
|
||||||
//r.InsetBy(5, 5);
|
|
||||||
r.top += 8.0;
|
|
||||||
r.bottom -= 38.0;
|
|
||||||
|
|
||||||
prefTabView = new BTabView(r, "Pref Tab View");
|
|
||||||
prefTabView->SetViewColor(BACKGROUND_COLOR);
|
|
||||||
|
|
||||||
r = prefTabView->Bounds();
|
|
||||||
r.InsetBy(5, 5);
|
|
||||||
r.bottom -= prefTabView->TabHeight();
|
|
||||||
|
|
||||||
// Site Tab
|
// Site Tab
|
||||||
siteTab = new BTab();
|
fSiteTab = new BTab();
|
||||||
siteView = new PoorManSiteView(r, "Site View");
|
fSiteView = new PoorManSiteView("Site View");
|
||||||
prefTabView->AddTab(siteView, siteTab);
|
fPrefTabView->AddTab(fSiteView, fSiteTab);
|
||||||
siteTab->SetLabel(STR_TAB_SITE);
|
fSiteTab->SetLabel(STR_TAB_SITE);
|
||||||
|
|
||||||
// Logging Tab
|
// Logging Tab
|
||||||
loggingTab = new BTab();
|
fLoggingTab = new BTab();
|
||||||
loggingView = new PoorManLoggingView(r, "Logging View");
|
fLoggingView = new PoorManLoggingView("Logging View");
|
||||||
prefTabView->AddTab(loggingView, loggingTab);
|
fPrefTabView->AddTab(fLoggingView, fLoggingTab);
|
||||||
loggingTab->SetLabel(STR_TAB_LOGGING);
|
fLoggingTab->SetLabel(STR_TAB_LOGGING);
|
||||||
|
|
||||||
// Advanced Tab
|
// Advanced Tab
|
||||||
advancedTab = new BTab();
|
fAdvancedTab = new BTab();
|
||||||
advancedView = new PoorManAdvancedView(r, "Advanced View");
|
fAdvancedView = new PoorManAdvancedView("Advanced View");
|
||||||
prefTabView->AddTab(advancedView, advancedTab);
|
fPrefTabView->AddTab(fAdvancedView, fAdvancedTab);
|
||||||
advancedTab->SetLabel(STR_TAB_ADVANCED);
|
fAdvancedTab->SetLabel(STR_TAB_ADVANCED);
|
||||||
|
|
||||||
prefView->AddChild(prefTabView);
|
|
||||||
|
|
||||||
// FilePanels
|
// FilePanels
|
||||||
BWindow * change_title;
|
BWindow * change_title;
|
||||||
|
|
||||||
BMessenger messenger(this);
|
BMessenger messenger(this);
|
||||||
BMessage message(MSG_FILE_PANEL_SELECT_WEB_DIR);
|
BMessage message(MSG_FILE_PANEL_SELECT_WEB_DIR);
|
||||||
webDirFilePanel = new BFilePanel(B_OPEN_PANEL, &messenger, NULL,
|
fWebDirFilePanel = new BFilePanel(B_OPEN_PANEL, &messenger, NULL,
|
||||||
B_DIRECTORY_NODE, false, &message, NULL, true);
|
B_DIRECTORY_NODE, false, &message, NULL, true);
|
||||||
|
|
||||||
webDirFilePanel->SetPanelDirectory(new BDirectory("/boot/home/public_html"));
|
fWebDirFilePanel->SetPanelDirectory(
|
||||||
webDirFilePanel->SetButtonLabel(B_DEFAULT_BUTTON, B_TRANSLATE("Select"));
|
new BDirectory("/boot/home/public_html"));
|
||||||
change_title = webDirFilePanel->Window();
|
fWebDirFilePanel->SetButtonLabel(B_DEFAULT_BUTTON, B_TRANSLATE("Select"));
|
||||||
|
change_title = fWebDirFilePanel->Window();
|
||||||
change_title->SetTitle(STR_FILEPANEL_SELECT_WEB_DIR);
|
change_title->SetTitle(STR_FILEPANEL_SELECT_WEB_DIR);
|
||||||
|
|
||||||
message.what = MSG_FILE_PANEL_CREATE_LOG_FILE;
|
message.what = MSG_FILE_PANEL_CREATE_LOG_FILE;
|
||||||
logFilePanel = new BFilePanel(B_SAVE_PANEL, &messenger, NULL,
|
fLogFilePanel = new BFilePanel(B_SAVE_PANEL, &messenger, NULL,
|
||||||
B_FILE_NODE, false, &message);
|
B_FILE_NODE, false, &message);
|
||||||
logFilePanel->SetButtonLabel(B_DEFAULT_BUTTON, B_TRANSLATE("Create"));
|
fLogFilePanel->SetButtonLabel(B_DEFAULT_BUTTON, B_TRANSLATE("Create"));
|
||||||
change_title = logFilePanel->Window();
|
change_title = fLogFilePanel->Window();
|
||||||
change_title->SetTitle(STR_FILEPANEL_CREATE_LOG_FILE);
|
change_title->SetTitle(STR_FILEPANEL_CREATE_LOG_FILE);
|
||||||
|
|
||||||
|
AddChild(BGroupLayoutBuilder(B_VERTICAL, 10)
|
||||||
|
.Add(fPrefTabView)
|
||||||
|
.Add(BGroupLayoutBuilder(B_HORIZONTAL)
|
||||||
|
.AddGlue()
|
||||||
|
.Add(fCancelButton)
|
||||||
|
.Add(fDoneButton))
|
||||||
|
.SetInsets(5, 5, 5, 5));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
PoorManPreferencesWindow::~PoorManPreferencesWindow()
|
PoorManPreferencesWindow::~PoorManPreferencesWindow()
|
||||||
{
|
{
|
||||||
delete logFilePanel;
|
delete fLogFilePanel;
|
||||||
delete webDirFilePanel;
|
delete fWebDirFilePanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -143,34 +108,34 @@ PoorManPreferencesWindow::MessageReceived(BMessage* message)
|
|||||||
server = win->GetServer();
|
server = win->GetServer();
|
||||||
|
|
||||||
PRINT(("Pref Window: sendDir CheckBox: %d\n",
|
PRINT(("Pref Window: sendDir CheckBox: %d\n",
|
||||||
siteView->SendDirValue()));
|
fSiteView->SendDirValue()));
|
||||||
server->SetListDir(siteView->SendDirValue());
|
server->SetListDir(fSiteView->SendDirValue());
|
||||||
win->SetDirListFlag(siteView->SendDirValue());
|
win->SetDirListFlag(fSiteView->SendDirValue());
|
||||||
PRINT(("Pref Window: indexFileName TextControl: %s\n",
|
PRINT(("Pref Window: indexFileName TextControl: %s\n",
|
||||||
siteView->IndexFileName()));
|
fSiteView->IndexFileName()));
|
||||||
if (server->SetIndexName(siteView->IndexFileName()) == B_OK)
|
if (server->SetIndexName(fSiteView->IndexFileName()) == B_OK)
|
||||||
win->SetIndexFileName(siteView->IndexFileName());
|
win->SetIndexFileName(fSiteView->IndexFileName());
|
||||||
PRINT(("Pref Window: webDir: %s\n", siteView->WebDir()));
|
PRINT(("Pref Window: webDir: %s\n", fSiteView->WebDir()));
|
||||||
if (server->SetWebDir(siteView->WebDir()) == B_OK) {
|
if (server->SetWebDir(fSiteView->WebDir()) == B_OK) {
|
||||||
win->SetWebDir(siteView->WebDir());
|
win->SetWebDir(fSiteView->WebDir());
|
||||||
win->SetDirLabel(siteView->WebDir());
|
win->SetDirLabel(fSiteView->WebDir());
|
||||||
}
|
}
|
||||||
|
|
||||||
PRINT(("Pref Window: logConsole CheckBox: %d\n",
|
PRINT(("Pref Window: logConsole CheckBox: %d\n",
|
||||||
loggingView->LogConsoleValue()));
|
fLoggingView->LogConsoleValue()));
|
||||||
win->SetLogConsoleFlag(loggingView->LogConsoleValue());
|
win->SetLogConsoleFlag(fLoggingView->LogConsoleValue());
|
||||||
PRINT(("Pref Window: logFile CheckBox: %d\n",
|
PRINT(("Pref Window: logFile CheckBox: %d\n",
|
||||||
loggingView->LogFileValue()));
|
fLoggingView->LogFileValue()));
|
||||||
win->SetLogFileFlag(loggingView->LogFileValue());
|
win->SetLogFileFlag(fLoggingView->LogFileValue());
|
||||||
PRINT(("Pref Window: logFileName: %s\n",
|
PRINT(("Pref Window: logFileName: %s\n",
|
||||||
loggingView->LogFileName()));
|
fLoggingView->LogFileName()));
|
||||||
win->SetLogPath(loggingView->LogFileName());
|
win->SetLogPath(fLoggingView->LogFileName());
|
||||||
|
|
||||||
PRINT(("Pref Window: MaxConnections Slider: %ld\n",
|
PRINT(("Pref Window: MaxConnections Slider: %ld\n",
|
||||||
advancedView->MaxSimultaneousConnections()));
|
fAdvancedView->MaxSimultaneousConnections()));
|
||||||
server->SetMaxConns(advancedView->MaxSimultaneousConnections());
|
server->SetMaxConns(fAdvancedView->MaxSimultaneousConnections());
|
||||||
win->SetMaxConnections(
|
win->SetMaxConnections(
|
||||||
(int16)advancedView->MaxSimultaneousConnections());
|
(int16)fAdvancedView->MaxSimultaneousConnections());
|
||||||
|
|
||||||
if (Lock())
|
if (Lock())
|
||||||
Quit();
|
Quit();
|
||||||
@@ -181,10 +146,10 @@ PoorManPreferencesWindow::MessageReceived(BMessage* message)
|
|||||||
break;
|
break;
|
||||||
case MSG_PREF_SITE_BTN_SELECT:
|
case MSG_PREF_SITE_BTN_SELECT:
|
||||||
// Select the Web Directory, root directory to look in.
|
// Select the Web Directory, root directory to look in.
|
||||||
webDirFilePanel->SetTarget(this);
|
fWebDirFilePanel->SetTarget(this);
|
||||||
webDirFilePanel->SetMessage(new BMessage(MSG_FILE_PANEL_SELECT_WEB_DIR));
|
fWebDirFilePanel->SetMessage(new BMessage(MSG_FILE_PANEL_SELECT_WEB_DIR));
|
||||||
if (!webDirFilePanel->IsShowing())
|
if (!fWebDirFilePanel->IsShowing())
|
||||||
webDirFilePanel->Show();
|
fWebDirFilePanel->Show();
|
||||||
break;
|
break;
|
||||||
case MSG_FILE_PANEL_SELECT_WEB_DIR:
|
case MSG_FILE_PANEL_SELECT_WEB_DIR:
|
||||||
// handle the open BMessage from the Select Web Directory File Panel
|
// handle the open BMessage from the Select Web Directory File Panel
|
||||||
@@ -193,7 +158,7 @@ PoorManPreferencesWindow::MessageReceived(BMessage* message)
|
|||||||
break;
|
break;
|
||||||
case MSG_PREF_LOG_BTN_CREATE_FILE:
|
case MSG_PREF_LOG_BTN_CREATE_FILE:
|
||||||
// Create the Log File
|
// Create the Log File
|
||||||
logFilePanel->Show();
|
fLogFilePanel->Show();
|
||||||
break;
|
break;
|
||||||
case MSG_FILE_PANEL_CREATE_LOG_FILE:
|
case MSG_FILE_PANEL_CREATE_LOG_FILE:
|
||||||
// handle the save BMessage from the Create Log File Panel
|
// handle the save BMessage from the Create Log File Panel
|
||||||
@@ -201,8 +166,8 @@ PoorManPreferencesWindow::MessageReceived(BMessage* message)
|
|||||||
CreateLogFile(message);
|
CreateLogFile(message);
|
||||||
break;
|
break;
|
||||||
case MSG_PREF_ADV_SLD_MAX_CONNECTION:
|
case MSG_PREF_ADV_SLD_MAX_CONNECTION:
|
||||||
max_connections = advancedView->MaxSimultaneousConnections();
|
fMaxConnections = fAdvancedView->MaxSimultaneousConnections();
|
||||||
PRINT(("Max Connections: %ld\n", max_connections));
|
PRINT(("Max Connections: %ld\n", fMaxConnections));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
BWindow::MessageReceived(message);
|
BWindow::MessageReceived(message);
|
||||||
@@ -227,15 +192,15 @@ PoorManPreferencesWindow::SelectWebDir(BMessage * message)
|
|||||||
entry.GetPath(&path);
|
entry.GetPath(&path);
|
||||||
|
|
||||||
PRINT(("DIR: %s\n", path.Path()));
|
PRINT(("DIR: %s\n", path.Path()));
|
||||||
siteView->SetWebDir(path.Path());
|
fSiteView->SetWebDir(path.Path());
|
||||||
|
|
||||||
bool temp;
|
bool temp;
|
||||||
if (message->FindBool("Default Dialog", &temp) == B_OK) {
|
if (message->FindBool("Default Dialog", &temp) == B_OK) {
|
||||||
PoorManWindow* win = ((PoorManApplication *)be_app)->GetPoorManWindow();
|
PoorManWindow* win = ((PoorManApplication *)be_app)->GetPoorManWindow();
|
||||||
win->StartServer();
|
win->StartServer();
|
||||||
if (win->GetServer()->SetWebDir(siteView->WebDir()) == B_OK) {
|
if (win->GetServer()->SetWebDir(fSiteView->WebDir()) == B_OK) {
|
||||||
win->SetWebDir(siteView->WebDir());
|
win->SetWebDir(fSiteView->WebDir());
|
||||||
win->SetDirLabel(siteView->WebDir());
|
win->SetDirLabel(fSiteView->WebDir());
|
||||||
win->SaveSettings();
|
win->SaveSettings();
|
||||||
win->Show();
|
win->Show();
|
||||||
}
|
}
|
||||||
@@ -268,8 +233,8 @@ PoorManPreferencesWindow::CreateLogFile(BMessage * message)
|
|||||||
PRINT(("Log File: %s\n", path.Path()));
|
PRINT(("Log File: %s\n", path.Path()));
|
||||||
|
|
||||||
if (err == B_OK) {
|
if (err == B_OK) {
|
||||||
loggingView->SetLogFileName(path.Path());
|
fLoggingView->SetLogFileName(path.Path());
|
||||||
loggingView->SetLogFileValue(true);
|
fLoggingView->SetLogFileValue(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// mark the checkbox
|
// mark the checkbox
|
||||||
@@ -283,8 +248,8 @@ PoorManPreferencesWindow::ShowWebDirFilePanel()
|
|||||||
BMessage message(MSG_FILE_PANEL_SELECT_WEB_DIR);
|
BMessage message(MSG_FILE_PANEL_SELECT_WEB_DIR);
|
||||||
message.AddBool("Default Dialog", true);
|
message.AddBool("Default Dialog", true);
|
||||||
|
|
||||||
webDirFilePanel->SetTarget(be_app);
|
fWebDirFilePanel->SetTarget(be_app);
|
||||||
webDirFilePanel->SetMessage(&message);
|
fWebDirFilePanel->SetMessage(&message);
|
||||||
if (!webDirFilePanel->IsShowing())
|
if (!fWebDirFilePanel->IsShowing())
|
||||||
webDirFilePanel->Show();
|
fWebDirFilePanel->Show();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,50 +22,7 @@
|
|||||||
#include "PoorManAdvancedView.h"
|
#include "PoorManAdvancedView.h"
|
||||||
|
|
||||||
|
|
||||||
|
class PoorManPreferencesWindow: public BWindow {
|
||||||
|
|
||||||
class PoorManPreferencesWindow: public BWindow
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
|
|
||||||
PoorManView * prefView;
|
|
||||||
PoorManView * buttonView;
|
|
||||||
|
|
||||||
// ------------------------------------------------
|
|
||||||
// Tabs
|
|
||||||
BTabView * prefTabView;
|
|
||||||
BTab * siteTab;
|
|
||||||
BTab * loggingTab;
|
|
||||||
BTab * advancedTab;
|
|
||||||
// Tab Views
|
|
||||||
PoorManSiteView * siteView;
|
|
||||||
PoorManLoggingView * loggingView;
|
|
||||||
PoorManAdvancedView * advancedView;
|
|
||||||
|
|
||||||
// ------------------------------------------------
|
|
||||||
// Buttons
|
|
||||||
BButton * cancelButton;
|
|
||||||
BButton * doneButton;
|
|
||||||
|
|
||||||
// ------------------------------------------------
|
|
||||||
// FilePanels
|
|
||||||
BFilePanel * webDirFilePanel;
|
|
||||||
BFilePanel * logFilePanel;
|
|
||||||
|
|
||||||
|
|
||||||
// ------------------------------------------------
|
|
||||||
// temporary preference variables used to save and
|
|
||||||
// set the application to
|
|
||||||
// site tab
|
|
||||||
char web_directory[B_FILE_NAME_LENGTH];
|
|
||||||
char index_file_name[64];
|
|
||||||
bool send_dir;
|
|
||||||
// logging tab
|
|
||||||
bool log_to_console;
|
|
||||||
bool log_to_file;
|
|
||||||
char log_file_name[B_FILE_NAME_LENGTH];
|
|
||||||
// advanced tab
|
|
||||||
int32 max_connections;
|
|
||||||
public:
|
public:
|
||||||
PoorManPreferencesWindow(BRect frame, char* name);
|
PoorManPreferencesWindow(BRect frame, char* name);
|
||||||
~PoorManPreferencesWindow();
|
~PoorManPreferencesWindow();
|
||||||
@@ -75,6 +32,46 @@ virtual void MessageReceived(BMessage * message);
|
|||||||
void ShowWebDirFilePanel();
|
void ShowWebDirFilePanel();
|
||||||
void SelectWebDir(BMessage* message);
|
void SelectWebDir(BMessage* message);
|
||||||
void CreateLogFile(BMessage* message);
|
void CreateLogFile(BMessage* message);
|
||||||
|
|
||||||
|
private:
|
||||||
|
PoorManView* fPrefView;
|
||||||
|
PoorManView* fButtonView;
|
||||||
|
|
||||||
|
// ------------------------------------------------
|
||||||
|
// Tabs
|
||||||
|
BTabView* fPrefTabView;
|
||||||
|
BTab* fSiteTab;
|
||||||
|
BTab* fLoggingTab;
|
||||||
|
BTab* fAdvancedTab;
|
||||||
|
// Tab Views
|
||||||
|
PoorManSiteView* fSiteView;
|
||||||
|
PoorManLoggingView* fLoggingView;
|
||||||
|
PoorManAdvancedView* fAdvancedView;
|
||||||
|
|
||||||
|
// ------------------------------------------------
|
||||||
|
// Buttons
|
||||||
|
BButton* fCancelButton;
|
||||||
|
BButton* fDoneButton;
|
||||||
|
|
||||||
|
// ------------------------------------------------
|
||||||
|
// FilePanels
|
||||||
|
BFilePanel* fWebDirFilePanel;
|
||||||
|
BFilePanel* fLogFilePanel;
|
||||||
|
|
||||||
|
|
||||||
|
// ------------------------------------------------
|
||||||
|
// temporary preference variables used to save and
|
||||||
|
// set the application to
|
||||||
|
// site tab
|
||||||
|
char fWebDirectory[B_FILE_NAME_LENGTH];
|
||||||
|
char fIndexFileName[64];
|
||||||
|
bool fSendDir;
|
||||||
|
// logging tab
|
||||||
|
bool flogToConsole;
|
||||||
|
bool fLogToFile;
|
||||||
|
char fLogFileName[B_FILE_NAME_LENGTH];
|
||||||
|
// advanced tab
|
||||||
|
int32 fMaxConnections;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -6,91 +6,63 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <Box.h>
|
#include <Box.h>
|
||||||
|
#include <GroupLayoutBuilder.h>
|
||||||
|
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
#include "PoorManSiteView.h"
|
#include "PoorManSiteView.h"
|
||||||
#include "PoorManWindow.h"
|
#include "PoorManWindow.h"
|
||||||
#include "PoorManApplication.h"
|
#include "PoorManApplication.h"
|
||||||
|
|
||||||
PoorManSiteView::PoorManSiteView(BRect rect, const char *name)
|
PoorManSiteView::PoorManSiteView(const char* name)
|
||||||
: BView(rect, name, B_FOLLOW_ALL, B_WILL_DRAW)
|
: BView(name, B_WILL_DRAW, NULL)
|
||||||
{
|
{
|
||||||
PoorManWindow* win;
|
PoorManWindow* win;
|
||||||
win = ((PoorManApplication *)be_app)->GetPoorManWindow();
|
win = ((PoorManApplication *)be_app)->GetPoorManWindow();
|
||||||
|
|
||||||
SetViewColor(BACKGROUND_COLOR);
|
SetLayout(new BGroupLayout(B_VERTICAL));
|
||||||
|
|
||||||
// Web Site Location BBox
|
// Web Site Location BBox
|
||||||
BRect webLocationRect;
|
BBox* webSiteLocation = new BBox("Web Location");
|
||||||
webLocationRect = rect;
|
|
||||||
webLocationRect.top -= 5.0;
|
|
||||||
webLocationRect.left -= 5.0;
|
|
||||||
webLocationRect.right -= 7.0;
|
|
||||||
webLocationRect.bottom -= 98.0;
|
|
||||||
|
|
||||||
BBox * webSiteLocation = new BBox(webLocationRect, "Web Location");
|
|
||||||
webSiteLocation->SetLabel(STR_BBX_LOCATION);
|
webSiteLocation->SetLabel(STR_BBX_LOCATION);
|
||||||
AddChild(webSiteLocation);
|
|
||||||
|
|
||||||
// Web Site Options BBox
|
// Web Site Options BBox
|
||||||
BRect webOptionsRect;
|
BBox* webSiteOptions = new BBox("Web Options");
|
||||||
webOptionsRect = webLocationRect;
|
|
||||||
webOptionsRect.top = webOptionsRect.bottom + 10.0;
|
|
||||||
webOptionsRect.bottom = webOptionsRect.top + 80.0;
|
|
||||||
|
|
||||||
BBox * webSiteOptions = new BBox(webOptionsRect, "Web Options");
|
|
||||||
webSiteOptions->SetLabel(STR_BBX_OPTIONS);
|
webSiteOptions->SetLabel(STR_BBX_OPTIONS);
|
||||||
AddChild(webSiteOptions);
|
|
||||||
|
|
||||||
// Send Directory List if No Index
|
// Send Directory List if No Index
|
||||||
float left = 10.0;
|
fSendDir = new BCheckBox("Send Dir", STR_CBX_DIR_LIST_LABEL,
|
||||||
float top = 20.0;
|
new BMessage(MSG_PREF_SITE_CBX_INDEX));
|
||||||
float box_size = 13.0;
|
|
||||||
BRect sendDirRect(left, top, webOptionsRect.Width() - 5.0, top + box_size);
|
|
||||||
sendDir = new BCheckBox(sendDirRect, "Send Dir", STR_CBX_DIR_LIST_LABEL, new BMessage(MSG_PREF_SITE_CBX_INDEX));
|
|
||||||
// set the checkbox to the value the program has
|
// set the checkbox to the value the program has
|
||||||
SetSendDirValue(win->DirListFlag());
|
SetSendDirValue(win->DirListFlag());
|
||||||
webSiteOptions->AddChild(sendDir);
|
|
||||||
|
|
||||||
|
|
||||||
// Finish the Web Site Location Section
|
|
||||||
BRect webSiteLocationRect;
|
|
||||||
webSiteLocationRect = webLocationRect;
|
|
||||||
webSiteLocationRect.InsetBy(10.0, 7.0);
|
|
||||||
webSiteLocationRect.top += 13.0;
|
|
||||||
webSiteLocationRect.bottom = webSiteLocationRect.top + 19.0;
|
|
||||||
|
|
||||||
// Web Directory Text Control
|
// Web Directory Text Control
|
||||||
webDir = new BTextControl(webSiteLocationRect, "Web Dir",
|
fWebDir = new BTextControl("Web Dir", STR_TXT_DIRECTORY, NULL);
|
||||||
STR_TXT_DIRECTORY, NULL, NULL);
|
|
||||||
webDir->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT);
|
|
||||||
webDir->SetDivider(80.0);
|
|
||||||
SetWebDir(win->WebDir());
|
SetWebDir(win->WebDir());
|
||||||
webSiteLocation->AddChild(webDir);
|
|
||||||
|
|
||||||
// Select Web Directory Button
|
// Select Web Directory Button
|
||||||
BRect selectWebDirRect;
|
fSelectWebDir = new BButton("Select Web Dir", STR_BTN_DIRECTORY,
|
||||||
|
new BMessage(MSG_PREF_SITE_BTN_SELECT));
|
||||||
selectWebDirRect.top = webSiteLocationRect.bottom + 5.0;
|
|
||||||
selectWebDirRect.right = webSiteLocationRect.right + 2.0;
|
|
||||||
selectWebDirRect.left = selectWebDirRect.right
|
|
||||||
- webSiteLocation->StringWidth("Select Web Dir") - 24.0;
|
|
||||||
selectWebDirRect.bottom = selectWebDirRect.top + 19.0;
|
|
||||||
|
|
||||||
selectWebDir = new BButton(selectWebDirRect, "Select Web Dir",
|
|
||||||
STR_BTN_DIRECTORY, new BMessage(MSG_PREF_SITE_BTN_SELECT));
|
|
||||||
webSiteLocation->AddChild(selectWebDir);
|
|
||||||
|
|
||||||
// Index File Name Text Control
|
// Index File Name Text Control
|
||||||
//webDirRect.InsetBy(10.0, 7.0);
|
fIndexFileName = new BTextControl("Index File Name", STR_TXT_INDEX, NULL);
|
||||||
webSiteLocationRect.top += 63.0;
|
|
||||||
webSiteLocationRect.bottom = webSiteLocationRect.top + 19.0;
|
|
||||||
|
|
||||||
indexFileName = new BTextControl(webSiteLocationRect,
|
|
||||||
"Index File Name", STR_TXT_INDEX, NULL, NULL);
|
|
||||||
indexFileName->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT);
|
|
||||||
indexFileName->SetDivider(80.0);
|
|
||||||
SetIndexFileName(win->IndexFileName());
|
SetIndexFileName(win->IndexFileName());
|
||||||
webSiteLocation->AddChild(indexFileName);
|
|
||||||
|
|
||||||
|
webSiteOptions->AddChild(BGroupLayoutBuilder(B_VERTICAL, 10)
|
||||||
|
.Add(BGroupLayoutBuilder(B_HORIZONTAL, 10)
|
||||||
|
.Add(fSendDir)
|
||||||
|
.AddGlue())
|
||||||
|
.SetInsets(5, 5, 5, 5));
|
||||||
|
|
||||||
|
webSiteLocation->AddChild(BGroupLayoutBuilder(B_VERTICAL, 10)
|
||||||
|
.Add(fWebDir)
|
||||||
|
.Add(BGroupLayoutBuilder(B_HORIZONTAL, 10)
|
||||||
|
.AddGlue()
|
||||||
|
.Add(fSelectWebDir))
|
||||||
|
.Add(fIndexFileName)
|
||||||
|
.SetInsets(5, 5, 5, 5));
|
||||||
|
|
||||||
|
AddChild(BGroupLayoutBuilder(B_VERTICAL, 10)
|
||||||
|
.Add(webSiteLocation)
|
||||||
|
.Add(webSiteOptions)
|
||||||
|
.SetInsets(5, 5, 5, 5));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,26 +14,34 @@
|
|||||||
#include <CheckBox.h>
|
#include <CheckBox.h>
|
||||||
|
|
||||||
|
|
||||||
class PoorManSiteView: public BView
|
class PoorManSiteView: public BView {
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
PoorManSiteView(BRect, const char *name);
|
PoorManSiteView(const char *name);
|
||||||
void SetSendDirValue(bool state) {if (state) sendDir->SetValue(B_CONTROL_ON);
|
|
||||||
else sendDir->SetValue(B_CONTROL_OFF); }
|
void SetSendDirValue(bool state)
|
||||||
bool SendDirValue() { return (sendDir->Value() == B_CONTROL_ON) ? true : false; }
|
{ if (state) fSendDir->SetValue(B_CONTROL_ON);
|
||||||
const char * IndexFileName() { return indexFileName->Text(); }
|
else fSendDir->SetValue(B_CONTROL_OFF); }
|
||||||
void SetIndexFileName(const char * name) { indexFileName->SetText(name); }
|
bool SendDirValue()
|
||||||
const char * WebDir() { return webDir->Text(); }
|
{ return (fSendDir->Value() == B_CONTROL_ON)
|
||||||
void SetWebDir(const char * dir) { webDir->SetText(dir); }
|
? true : false; }
|
||||||
|
const char* IndexFileName()
|
||||||
|
{ return fIndexFileName->Text(); }
|
||||||
|
void SetIndexFileName(const char* name)
|
||||||
|
{ fIndexFileName->SetText(name); }
|
||||||
|
const char* WebDir()
|
||||||
|
{ return fWebDir->Text(); }
|
||||||
|
void SetWebDir(const char* dir)
|
||||||
|
{ fWebDir->SetText(dir); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Site Tab
|
// Site Tab
|
||||||
// Web Site Location
|
// Web Site Location
|
||||||
BTextControl * webDir;
|
BTextControl* fWebDir;
|
||||||
BTextControl * indexFileName;
|
BTextControl* fIndexFileName;
|
||||||
BButton * selectWebDir;
|
BButton* fSelectWebDir;
|
||||||
|
|
||||||
// Web Site Options
|
// Web Site Options
|
||||||
BCheckBox * sendDir;
|
BCheckBox* fSendDir;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -12,10 +12,10 @@
|
|||||||
#include <View.h>
|
#include <View.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class PoorManView: public BView
|
class PoorManView: public BView {
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
PoorManView(BRect, const char *name);
|
PoorManView(BRect, const char *name);
|
||||||
|
|
||||||
virtual void AttachedToWindow();
|
virtual void AttachedToWindow();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+159
-231
@@ -17,6 +17,7 @@
|
|||||||
#include <Directory.h>
|
#include <Directory.h>
|
||||||
#include <File.h>
|
#include <File.h>
|
||||||
#include <FindDirectory.h>
|
#include <FindDirectory.h>
|
||||||
|
#include <GroupLayoutBuilder.h>
|
||||||
#include <Locale.h>
|
#include <Locale.h>
|
||||||
#include <Menu.h>
|
#include <Menu.h>
|
||||||
#include <MenuBar.h>
|
#include <MenuBar.h>
|
||||||
@@ -43,182 +44,111 @@
|
|||||||
|
|
||||||
|
|
||||||
PoorManWindow::PoorManWindow(BRect frame)
|
PoorManWindow::PoorManWindow(BRect frame)
|
||||||
: BWindow(frame, STR_APP_NAME, B_TITLED_WINDOW, 0),
|
:
|
||||||
status(false), hits(0), prefWindow(NULL), fLogFile(NULL), fServer(NULL)
|
BWindow(frame, STR_APP_NAME, B_TITLED_WINDOW, 0),
|
||||||
|
fStatus(false),
|
||||||
|
fHits(0),
|
||||||
|
fPrefWindow(NULL),
|
||||||
|
fLogFile(NULL),
|
||||||
|
fServer(NULL)
|
||||||
{
|
{
|
||||||
//preferences init
|
//preferences init
|
||||||
web_directory.SetTo(STR_DEFAULT_WEB_DIRECTORY);
|
fWebDirectory.SetTo(STR_DEFAULT_WEB_DIRECTORY);
|
||||||
index_file_name.SetTo("index.html");
|
fIndexFileName.SetTo("index.html");
|
||||||
dir_list_flag = false;
|
fDirListFlag = false;
|
||||||
|
|
||||||
log_console_flag = true;
|
fLogConsoleFlag = true;
|
||||||
log_file_flag = false;
|
fLogFileFlag = false;
|
||||||
log_path.SetTo("");
|
fLogPath.SetTo("");
|
||||||
|
|
||||||
max_connections = (int16)32;
|
fMaxConnections = (int16)32;
|
||||||
|
|
||||||
is_zoomed = true;
|
fIsZoomed = true;
|
||||||
last_width = 318.0f;
|
fLastWidth = 318.0f;
|
||||||
last_height = 320.0f;
|
fLastHeight = 320.0f;
|
||||||
this->frame = frame;
|
this->fFrame = frame;
|
||||||
setwindow_frame.Set(112.0f, 60.0f, 492.0f, 340.0f);
|
fSetwindowFrame.Set(112.0f, 60.0f, 492.0f, 340.0f);
|
||||||
|
|
||||||
// PoorMan Window
|
// PoorMan Window
|
||||||
SetSizeLimits(318, 1600, 53, 1200);
|
SetSizeLimits(318, 1600, 53, 1200);
|
||||||
// limit the size of the size of the window
|
// limit the size of the size of the window
|
||||||
|
|
||||||
//SetZoomLimits(1024, 768);
|
SetLayout(new BGroupLayout(B_VERTICAL));
|
||||||
|
|
||||||
//frame.Set(30.0f, 30.0f, 355.0f, 185.0f);
|
|
||||||
frame.OffsetTo(B_ORIGIN);
|
|
||||||
frame = Bounds();
|
|
||||||
frame.top += 19.0;
|
|
||||||
|
|
||||||
mainView = new PoorManView(frame, STR_APP_NAME);
|
|
||||||
mainView->SetViewColor(216,216,216,255);
|
|
||||||
|
|
||||||
mainView->SetFont(be_bold_font);
|
|
||||||
mainView->SetFontSize(12);
|
|
||||||
AddChild(mainView);
|
|
||||||
|
|
||||||
// BBox tests
|
|
||||||
BRect br;
|
|
||||||
br = mainView->Bounds();
|
|
||||||
br.top = 1.0;
|
|
||||||
|
|
||||||
BBox * bb = new BBox(br, "Background", B_FOLLOW_ALL_SIDES,
|
|
||||||
B_WILL_DRAW | B_FRAME_EVENTS | B_FULL_UPDATE_ON_RESIZE);
|
|
||||||
bb->SetHighColor(WHITE);
|
|
||||||
bb->SetLowColor(GRAY);
|
|
||||||
bb->SetBorder(B_PLAIN_BORDER);
|
|
||||||
mainView->AddChild(bb);
|
|
||||||
|
|
||||||
// -----------------------------------------------------------------
|
// -----------------------------------------------------------------
|
||||||
// Three Labels
|
// Three Labels
|
||||||
|
|
||||||
// Status String
|
// Status String
|
||||||
BRect statusRect;
|
fStatusView = new BStringView("Status View", B_TRANSLATE("Status: Stopped"));
|
||||||
statusRect = Bounds();
|
|
||||||
statusRect.left += 5;
|
|
||||||
statusRect.top += 3;
|
|
||||||
statusRect.bottom = statusRect.top + 15;
|
|
||||||
statusRect.right = statusRect.left + 100; // make the width wide enough for the string to display
|
|
||||||
|
|
||||||
statusView = new BStringView(statusRect, "Status View",
|
|
||||||
B_TRANSLATE("Status: Stopped"));
|
|
||||||
bb->AddChild(statusView);
|
|
||||||
|
|
||||||
// Directory String
|
// Directory String
|
||||||
BRect dirRect;
|
fDirView = new BStringView("Dir View", B_TRANSLATE("Directory: (none)"));
|
||||||
dirRect = Bounds();
|
|
||||||
dirRect.top = statusRect.bottom - 1;
|
|
||||||
dirRect.bottom = dirRect.top + 15;
|
|
||||||
dirRect.left = statusRect.left;
|
|
||||||
dirRect.right -= 5;
|
|
||||||
|
|
||||||
dirView = new BStringView(dirRect, "Dir View",
|
|
||||||
B_TRANSLATE("Directory: (none)"), B_FOLLOW_LEFT_RIGHT | B_FOLLOW_TOP);
|
|
||||||
bb->AddChild(dirView);
|
|
||||||
|
|
||||||
// Hits String
|
// Hits String
|
||||||
BRect hitsRect;
|
fHitsView = new BStringView("Hit View", B_TRANSLATE("Hits: 0"));
|
||||||
hitsRect = bb->Bounds();
|
|
||||||
hitsRect.InsetBy(5.0f, 5.0f);
|
|
||||||
hitsRect.top = statusRect.top;
|
|
||||||
hitsRect.bottom = statusRect.bottom;
|
|
||||||
hitsRect.left = statusRect.right + 20;
|
|
||||||
|
|
||||||
hitsView = new BStringView(hitsRect, "Hit View", B_TRANSLATE("Hits: 0"),
|
|
||||||
B_FOLLOW_RIGHT | B_FOLLOW_TOP);
|
|
||||||
hitsView->SetAlignment(B_ALIGN_RIGHT);
|
|
||||||
bb->AddChild(hitsView);
|
|
||||||
|
|
||||||
// -----------------------------------------------------------------
|
// -----------------------------------------------------------------
|
||||||
// Logging View
|
// Logging View
|
||||||
|
|
||||||
// logRect
|
fLoggingView = new BTextView(STR_TXT_VIEW, B_WILL_DRAW );
|
||||||
BRect logRect = bb->Bounds();//(5.0, 36.0, 306.0, 131.0);
|
|
||||||
logRect.InsetBy(5, 5);
|
|
||||||
logRect.top = 36.0f;
|
|
||||||
logRect.right -= B_V_SCROLL_BAR_WIDTH;
|
|
||||||
|
|
||||||
// textRect
|
fLoggingView->MakeEditable(false); // user cannot change the text
|
||||||
BRect textRect; //(1.0, 1.0, 175.0, 75.0);
|
fLoggingView->MakeSelectable(true);
|
||||||
textRect = logRect;
|
fLoggingView->SetViewColor(WHITE);
|
||||||
textRect.top = 0.0;
|
fLoggingView->SetStylable(true);
|
||||||
textRect.left = 2.0;
|
|
||||||
textRect.right = logRect.right - logRect.left - 2.0;
|
|
||||||
textRect.bottom = logRect.bottom - logRect.top;
|
|
||||||
|
|
||||||
fLogViewFont = new BFont(be_plain_font);
|
|
||||||
fLogViewFont->SetSize(11.0);
|
|
||||||
|
|
||||||
loggingView = new BTextView(logRect, STR_TXT_VIEW, textRect,
|
|
||||||
fLogViewFont, NULL, B_FOLLOW_ALL_SIDES, B_WILL_DRAW );
|
|
||||||
|
|
||||||
loggingView->MakeEditable(false); // user cannot change the text
|
|
||||||
loggingView->MakeSelectable(true);
|
|
||||||
loggingView->SetViewColor(WHITE);
|
|
||||||
loggingView->SetStylable(true);
|
|
||||||
|
|
||||||
// create the scroll view
|
// create the scroll view
|
||||||
scrollView = new BScrollView("Scroll View", loggingView, B_FOLLOW_ALL_SIDES,
|
fScrollView = new BScrollView("Scroll View", fLoggingView,
|
||||||
B_WILL_DRAW | B_FRAME_EVENTS,
|
B_WILL_DRAW | B_FRAME_EVENTS | B_FOLLOW_ALL_SIDES,
|
||||||
// Make sure articles on border do not occur when resizing
|
// Make sure articles on border do not occur when resizing
|
||||||
false, true);
|
false, true);
|
||||||
bb->AddChild(scrollView);
|
fLoggingView->MakeFocus(true);
|
||||||
loggingView->MakeFocus(true);
|
|
||||||
|
|
||||||
|
|
||||||
// -----------------------------------------------------------------
|
// -----------------------------------------------------------------
|
||||||
// menu bar
|
// menu bar
|
||||||
BRect menuRect;
|
fFileMenuBar = new BMenuBar("File Menu Bar");
|
||||||
menuRect = Bounds();
|
|
||||||
menuRect.bottom = 18.0f;
|
|
||||||
|
|
||||||
FileMenuBar = new BMenuBar(menuRect, "File Menu Bar");
|
|
||||||
|
|
||||||
// menus
|
// menus
|
||||||
FileMenu = BuildFileMenu();
|
fFileMenu = BuildFileMenu();
|
||||||
if (FileMenu)
|
if (fFileMenu)
|
||||||
FileMenuBar->AddItem(FileMenu);
|
fFileMenuBar->AddItem(fFileMenu);
|
||||||
|
|
||||||
EditMenu = BuildEditMenu();
|
fEditMenu = BuildEditMenu();
|
||||||
if (EditMenu)
|
if (fEditMenu)
|
||||||
FileMenuBar->AddItem(EditMenu);
|
fFileMenuBar->AddItem(fEditMenu);
|
||||||
|
|
||||||
ControlsMenu = BuildControlsMenu();
|
fControlsMenu = BuildControlsMenu();
|
||||||
if (ControlsMenu)
|
if (fControlsMenu)
|
||||||
FileMenuBar->AddItem(ControlsMenu);
|
fFileMenuBar->AddItem(fControlsMenu);
|
||||||
|
|
||||||
// File Panels
|
// File Panels
|
||||||
BWindow* change_title;
|
BWindow* change_title;
|
||||||
|
|
||||||
BMessenger messenger(this);
|
fSaveConsoleFilePanel = new BFilePanel(B_SAVE_PANEL, new BMessenger(this),
|
||||||
saveConsoleFilePanel = new BFilePanel(
|
NULL, B_FILE_NODE, false,
|
||||||
B_SAVE_PANEL,
|
|
||||||
&messenger,
|
|
||||||
NULL,
|
|
||||||
B_FILE_NODE,
|
|
||||||
false,
|
|
||||||
new BMessage(MSG_FILE_PANEL_SAVE_CONSOLE));
|
new BMessage(MSG_FILE_PANEL_SAVE_CONSOLE));
|
||||||
|
change_title = fSaveConsoleFilePanel->Window();
|
||||||
change_title = saveConsoleFilePanel->Window();
|
|
||||||
change_title->SetTitle(STR_FILEPANEL_SAVE_CONSOLE);
|
change_title->SetTitle(STR_FILEPANEL_SAVE_CONSOLE);
|
||||||
|
|
||||||
saveConsoleSelectionFilePanel = new BFilePanel(
|
fSaveConsoleSelectionFilePanel = new BFilePanel(B_SAVE_PANEL,
|
||||||
B_SAVE_PANEL,
|
new BMessenger(this), NULL, B_FILE_NODE, false,
|
||||||
&messenger,
|
|
||||||
NULL,
|
|
||||||
B_FILE_NODE,
|
|
||||||
false,
|
|
||||||
new BMessage(MSG_FILE_PANEL_SAVE_CONSOLE_SELECTION));
|
new BMessage(MSG_FILE_PANEL_SAVE_CONSOLE_SELECTION));
|
||||||
|
change_title = fSaveConsoleSelectionFilePanel->Window();
|
||||||
change_title = saveConsoleSelectionFilePanel->Window();
|
|
||||||
change_title->SetTitle(STR_FILEPANEL_SAVE_CONSOLE_SELECTION);
|
change_title->SetTitle(STR_FILEPANEL_SAVE_CONSOLE_SELECTION);
|
||||||
|
|
||||||
|
AddChild(BGroupLayoutBuilder(B_VERTICAL)
|
||||||
AddChild(FileMenuBar);
|
.Add(fFileMenuBar)
|
||||||
|
.Add(BGroupLayoutBuilder(B_VERTICAL, 5)
|
||||||
|
.Add(BGroupLayoutBuilder(B_HORIZONTAL)
|
||||||
|
.Add(fStatusView)
|
||||||
|
.AddGlue()
|
||||||
|
.Add(fHitsView))
|
||||||
|
.Add(BGroupLayoutBuilder(B_HORIZONTAL)
|
||||||
|
.Add(fDirView)
|
||||||
|
.AddGlue())
|
||||||
|
.Add(fScrollView)
|
||||||
|
.SetInsets(10, 10, 10, 10)));
|
||||||
|
|
||||||
pthread_rwlock_init(&fLogFileLock, NULL);
|
pthread_rwlock_init(&fLogFileLock, NULL);
|
||||||
}
|
}
|
||||||
@@ -227,7 +157,6 @@ PoorManWindow::PoorManWindow(BRect frame)
|
|||||||
PoorManWindow::~PoorManWindow()
|
PoorManWindow::~PoorManWindow()
|
||||||
{
|
{
|
||||||
delete fServer;
|
delete fServer;
|
||||||
delete fLogViewFont;
|
|
||||||
delete fLogFile;
|
delete fLogFile;
|
||||||
pthread_rwlock_destroy(&fLogFileLock);
|
pthread_rwlock_destroy(&fLogFileLock);
|
||||||
}
|
}
|
||||||
@@ -238,30 +167,29 @@ PoorManWindow::MessageReceived(BMessage* message)
|
|||||||
{
|
{
|
||||||
switch (message->what) {
|
switch (message->what) {
|
||||||
case MSG_MENU_FILE_SAVE_AS:
|
case MSG_MENU_FILE_SAVE_AS:
|
||||||
saveConsoleFilePanel->Show();
|
fSaveConsoleFilePanel->Show();
|
||||||
break;
|
break;
|
||||||
case MSG_FILE_PANEL_SAVE_CONSOLE:
|
case MSG_FILE_PANEL_SAVE_CONSOLE:
|
||||||
printf("FilePanel: Save console\n");
|
printf("FilePanel: Save console\n");
|
||||||
SaveConsole(message, false);
|
SaveConsole(message, false);
|
||||||
break;
|
break;
|
||||||
case MSG_MENU_FILE_SAVE_SELECTION:
|
case MSG_MENU_FILE_SAVE_SELECTION:
|
||||||
saveConsoleSelectionFilePanel->Show();
|
fSaveConsoleSelectionFilePanel->Show();
|
||||||
break;
|
break;
|
||||||
case MSG_FILE_PANEL_SAVE_CONSOLE_SELECTION:
|
case MSG_FILE_PANEL_SAVE_CONSOLE_SELECTION:
|
||||||
printf("FilePanel: Save console selection\n");
|
printf("FilePanel: Save console selection\n");
|
||||||
SaveConsole(message, true);
|
SaveConsole(message, true);
|
||||||
break;
|
break;
|
||||||
case MSG_FILE_PANEL_SELECT_WEB_DIR:
|
case MSG_FILE_PANEL_SELECT_WEB_DIR:
|
||||||
prefWindow->MessageReceived(message);
|
fPrefWindow->MessageReceived(message);
|
||||||
break;
|
break;
|
||||||
case MSG_MENU_EDIT_PREF:
|
case MSG_MENU_EDIT_PREF:
|
||||||
prefWindow = new PoorManPreferencesWindow(
|
fPrefWindow = new PoorManPreferencesWindow(fSetwindowFrame,
|
||||||
setwindow_frame,
|
|
||||||
STR_WIN_NAME_PREF);
|
STR_WIN_NAME_PREF);
|
||||||
prefWindow->Show();
|
fPrefWindow->Show();
|
||||||
break;
|
break;
|
||||||
case MSG_MENU_CTRL_RUN:
|
case MSG_MENU_CTRL_RUN:
|
||||||
if (status)
|
if (fStatus)
|
||||||
StopServer();
|
StopServer();
|
||||||
else
|
else
|
||||||
StartServer();
|
StartServer();
|
||||||
@@ -271,16 +199,16 @@ PoorManWindow::MessageReceived(BMessage* message)
|
|||||||
//UpdateHitsLabel();
|
//UpdateHitsLabel();
|
||||||
break;
|
break;
|
||||||
case MSG_MENU_CTRL_CLEAR_CONSOLE:
|
case MSG_MENU_CTRL_CLEAR_CONSOLE:
|
||||||
loggingView->SelectAll();
|
fLoggingView->SelectAll();
|
||||||
loggingView->Delete();
|
fLoggingView->Delete();
|
||||||
break;
|
break;
|
||||||
case MSG_MENU_CTRL_CLEAR_LOG:
|
case MSG_MENU_CTRL_CLEAR_LOG:
|
||||||
FILE* f;
|
FILE* f;
|
||||||
f = fopen(log_path.String(), "w");
|
f = fopen(fLogPath.String(), "w");
|
||||||
fclose(f);
|
fclose(f);
|
||||||
break;
|
break;
|
||||||
case MSG_LOG: {
|
case MSG_LOG: {
|
||||||
if (!log_console_flag && !log_file_flag)
|
if (!fLogConsoleFlag && !fLogFileFlag)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
time_t time;
|
time_t time;
|
||||||
@@ -332,20 +260,19 @@ PoorManWindow::MessageReceived(BMessage* message)
|
|||||||
text_run_array runs;
|
text_run_array runs;
|
||||||
|
|
||||||
run.offset = 0;
|
run.offset = 0;
|
||||||
run.font = *fLogViewFont;
|
|
||||||
run.color = color;
|
run.color = color;
|
||||||
|
|
||||||
runs.count = 1;
|
runs.count = 1;
|
||||||
runs.runs[0] = run;
|
runs.runs[0] = run;
|
||||||
|
|
||||||
if (Lock()) {
|
if (Lock()) {
|
||||||
if (log_console_flag) {
|
if (fLogConsoleFlag) {
|
||||||
loggingView->Insert(loggingView->TextLength(),
|
fLoggingView->Insert(fLoggingView->TextLength(),
|
||||||
line.String(), line.Length(), &runs);
|
line.String(), line.Length(), &runs);
|
||||||
loggingView->ScrollToOffset(loggingView->TextLength());
|
fLoggingView->ScrollToOffset(fLoggingView->TextLength());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (log_file_flag) {
|
if (fLogFileFlag) {
|
||||||
if (pthread_rwlock_rdlock(&fLogFileLock) == 0) {
|
if (pthread_rwlock_rdlock(&fLogFileLock) == 0) {
|
||||||
fLogFile->Write(line.String(), line.Length());
|
fLogFile->Write(line.String(), line.Length());
|
||||||
pthread_rwlock_unlock(&fLogFileLock);
|
pthread_rwlock_unlock(&fLogFileLock);
|
||||||
@@ -367,17 +294,17 @@ PoorManWindow::MessageReceived(BMessage* message)
|
|||||||
void
|
void
|
||||||
PoorManWindow::FrameMoved(BPoint origin)
|
PoorManWindow::FrameMoved(BPoint origin)
|
||||||
{
|
{
|
||||||
frame.left = origin.x;
|
fFrame.left = origin.x;
|
||||||
frame.top = origin.y;
|
fFrame.top = origin.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
PoorManWindow::FrameResized(float width, float height)
|
PoorManWindow::FrameResized(float width, float height)
|
||||||
{
|
{
|
||||||
if (is_zoomed) {
|
if (fIsZoomed) {
|
||||||
last_width = width;
|
fLastWidth = width;
|
||||||
last_height = height;
|
fLastHeight = height;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -385,7 +312,7 @@ PoorManWindow::FrameResized(float width, float height)
|
|||||||
bool
|
bool
|
||||||
PoorManWindow::QuitRequested()
|
PoorManWindow::QuitRequested()
|
||||||
{
|
{
|
||||||
if (status) {
|
if (fStatus) {
|
||||||
time_t now = time(NULL);
|
time_t now = time(NULL);
|
||||||
BString timeString;
|
BString timeString;
|
||||||
BLocale::Default()->FormatDateTime(&timeString, now,
|
BLocale::Default()->FormatDateTime(&timeString, now,
|
||||||
@@ -395,13 +322,13 @@ PoorManWindow::QuitRequested()
|
|||||||
line << "[" << timeString << "]: " << B_TRANSLATE("Shutting down.")
|
line << "[" << timeString << "]: " << B_TRANSLATE("Shutting down.")
|
||||||
<< "\n";
|
<< "\n";
|
||||||
|
|
||||||
if (log_console_flag) {
|
if (fLogConsoleFlag) {
|
||||||
loggingView->Insert(loggingView->TextLength(),
|
fLoggingView->Insert(fLoggingView->TextLength(),
|
||||||
line, line.Length());
|
line, line.Length());
|
||||||
loggingView->ScrollToOffset(loggingView->TextLength());
|
fLoggingView->ScrollToOffset(fLoggingView->TextLength());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (log_file_flag) {
|
if (fLogFileFlag) {
|
||||||
if (pthread_rwlock_rdlock(&fLogFileLock) == 0) {
|
if (pthread_rwlock_rdlock(&fLogFileLock) == 0) {
|
||||||
fLogFile->Write(line, line.Length());
|
fLogFile->Write(line, line.Length());
|
||||||
pthread_rwlock_unlock(&fLogFileLock);
|
pthread_rwlock_unlock(&fLogFileLock);
|
||||||
@@ -409,7 +336,7 @@ PoorManWindow::QuitRequested()
|
|||||||
}
|
}
|
||||||
|
|
||||||
fServer->Stop();
|
fServer->Stop();
|
||||||
status = false;
|
fStatus = false;
|
||||||
UpdateStatusLabelAndMenuItem();
|
UpdateStatusLabelAndMenuItem();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -422,14 +349,14 @@ PoorManWindow::QuitRequested()
|
|||||||
void
|
void
|
||||||
PoorManWindow::Zoom(BPoint origin, float width, float height)
|
PoorManWindow::Zoom(BPoint origin, float width, float height)
|
||||||
{
|
{
|
||||||
if (is_zoomed) {
|
if (fIsZoomed) {
|
||||||
// Change to the Minimal size
|
// Change to the Minimal size
|
||||||
is_zoomed = false;
|
fIsZoomed = false;
|
||||||
ResizeTo(318, 53);
|
ResizeTo(318, 53);
|
||||||
} else {
|
} else {
|
||||||
// Change to the Zoomed size
|
// Change to the Zoomed size
|
||||||
is_zoomed = true;
|
fIsZoomed = true;
|
||||||
ResizeTo(last_width, last_height);
|
ResizeTo(fLastWidth, fLastHeight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -437,7 +364,7 @@ PoorManWindow::Zoom(BPoint origin, float width, float height)
|
|||||||
void
|
void
|
||||||
PoorManWindow::SetHits(uint32 num)
|
PoorManWindow::SetHits(uint32 num)
|
||||||
{
|
{
|
||||||
hits = num;
|
fHits = num;
|
||||||
UpdateHitsLabel();
|
UpdateHitsLabel();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -474,7 +401,7 @@ PoorManWindow::BuildEditMenu() const
|
|||||||
new BMessage(B_COPY), CMD_EDIT_COPY);
|
new BMessage(B_COPY), CMD_EDIT_COPY);
|
||||||
|
|
||||||
ptrEditMenu->AddItem(CopyMenuItem);
|
ptrEditMenu->AddItem(CopyMenuItem);
|
||||||
CopyMenuItem->SetTarget(loggingView, NULL);
|
CopyMenuItem->SetTarget(fLoggingView, NULL);
|
||||||
|
|
||||||
ptrEditMenu->AddSeparatorItem();
|
ptrEditMenu->AddSeparatorItem();
|
||||||
|
|
||||||
@@ -482,7 +409,7 @@ PoorManWindow::BuildEditMenu() const
|
|||||||
new BMessage(B_SELECT_ALL), CMD_EDIT_SELECT_ALL);
|
new BMessage(B_SELECT_ALL), CMD_EDIT_SELECT_ALL);
|
||||||
|
|
||||||
ptrEditMenu->AddItem(SelectAllMenuItem);
|
ptrEditMenu->AddItem(SelectAllMenuItem);
|
||||||
SelectAllMenuItem->SetTarget(loggingView, NULL);
|
SelectAllMenuItem->SetTarget(fLoggingView, NULL);
|
||||||
|
|
||||||
ptrEditMenu->AddSeparatorItem();
|
ptrEditMenu->AddSeparatorItem();
|
||||||
|
|
||||||
@@ -529,7 +456,7 @@ PoorManWindow::SetDirLabel(const char * name)
|
|||||||
dirPath.Append(name);
|
dirPath.Append(name);
|
||||||
|
|
||||||
if (Lock()) {
|
if (Lock()) {
|
||||||
dirView->SetText(dirPath.String());
|
fDirView->SetText(dirPath.String());
|
||||||
Unlock();
|
Unlock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -539,11 +466,11 @@ void
|
|||||||
PoorManWindow::UpdateStatusLabelAndMenuItem()
|
PoorManWindow::UpdateStatusLabelAndMenuItem()
|
||||||
{
|
{
|
||||||
if (Lock()) {
|
if (Lock()) {
|
||||||
if (status)
|
if (fStatus)
|
||||||
statusView->SetText(B_TRANSLATE("Status: Running"));
|
fStatusView->SetText(B_TRANSLATE("Status: Running"));
|
||||||
else
|
else
|
||||||
statusView->SetText(B_TRANSLATE("Status: Stopped"));
|
fStatusView->SetText(B_TRANSLATE("Status: Stopped"));
|
||||||
ControlsMenu->FindItem(STR_MNU_CTRL_RUN_SERVER)->SetMarked(status);
|
fControlsMenu->FindItem(STR_MNU_CTRL_RUN_SERVER)->SetMarked(fStatus);
|
||||||
Unlock();
|
Unlock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -553,8 +480,8 @@ void
|
|||||||
PoorManWindow::UpdateHitsLabel()
|
PoorManWindow::UpdateHitsLabel()
|
||||||
{
|
{
|
||||||
if (Lock()) {
|
if (Lock()) {
|
||||||
sprintf(hitsLabel, B_TRANSLATE("Hits: %lu"), GetHits());
|
sprintf(fHitsLabel, B_TRANSLATE("Hits: %lu"), GetHits());
|
||||||
hitsView->SetText(hitsLabel);
|
fHitsView->SetText(fHitsLabel);
|
||||||
|
|
||||||
Unlock();
|
Unlock();
|
||||||
}
|
}
|
||||||
@@ -571,13 +498,16 @@ PoorManWindow::SaveConsole(BMessage * message, bool selection)
|
|||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
FILE* f;
|
FILE* f;
|
||||||
|
|
||||||
if ((err = message->FindRef("directory", &ref)) != B_OK)
|
err = message->FindRef("directory", &ref);
|
||||||
|
if (err != B_OK)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
if ((err = message->FindString("name", &name)) != B_OK)
|
err = message->FindString("name", &name);
|
||||||
|
if (err != B_OK)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
if ((err = entry.SetTo(&ref)) != B_OK)
|
err = entry.SetTo(&ref);
|
||||||
|
if (err != B_OK)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
entry.GetPath(&path);
|
entry.GetPath(&path);
|
||||||
@@ -588,20 +518,21 @@ PoorManWindow::SaveConsole(BMessage * message, bool selection)
|
|||||||
|
|
||||||
if (!selection) {
|
if (!selection) {
|
||||||
// write the data to the file
|
// write the data to the file
|
||||||
err = fwrite(loggingView->Text(), 1, loggingView->TextLength(), f);
|
err = fwrite(fLoggingView->Text(), 1, fLoggingView->TextLength(), f);
|
||||||
} else {
|
} else {
|
||||||
// find the selected text and write it to a file
|
// find the selected text and write it to a file
|
||||||
int32 start = 0, end = 0;
|
int32 start = 0, end = 0;
|
||||||
loggingView->GetSelection(&start, &end);
|
fLoggingView->GetSelection(&start, &end);
|
||||||
|
|
||||||
BString buffer;
|
BString buffer;
|
||||||
char * buffData = buffer.LockBuffer(end - start + 1);
|
char * buffData = buffer.LockBuffer(end - start + 1);
|
||||||
// copy the selected text from the TextView to the buffer
|
// copy the selected text from the TextView to the buffer
|
||||||
loggingView->GetText(start, end - start, buffData);
|
fLoggingView->GetText(start, end - start, buffData);
|
||||||
buffer.UnlockBuffer(end - start + 1);
|
buffer.UnlockBuffer(end - start + 1);
|
||||||
|
|
||||||
err = fwrite(buffer.String(), 1, end - start + 1, f);
|
err = fwrite(buffer.String(), 1, end - start + 1, f);
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose(f);
|
fclose(f);
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
@@ -627,10 +558,10 @@ PoorManWindow::DefaultSettings()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
prefWindow = new PoorManPreferencesWindow(
|
fPrefWindow = new PoorManPreferencesWindow(
|
||||||
setwindow_frame,
|
fSetwindowFrame,
|
||||||
STR_WIN_NAME_PREF);
|
STR_WIN_NAME_PREF);
|
||||||
prefWindow->ShowWebDirFilePanel();
|
fPrefWindow->ShowWebDirFilePanel();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
@@ -674,49 +605,49 @@ PoorManWindow::ReadSettings()
|
|||||||
return B_ERROR;
|
return B_ERROR;
|
||||||
|
|
||||||
//site tab
|
//site tab
|
||||||
if (m.FindString("web_directory", &web_directory) != B_OK)
|
if (m.FindString("fWebDirectory", &fWebDirectory) != B_OK)
|
||||||
web_directory.SetTo(STR_DEFAULT_WEB_DIRECTORY);
|
fWebDirectory.SetTo(STR_DEFAULT_WEB_DIRECTORY);
|
||||||
if (m.FindString("index_file_name", &index_file_name) != B_OK)
|
if (m.FindString("fIndexFileName", &fIndexFileName) != B_OK)
|
||||||
index_file_name.SetTo("index.html");
|
fIndexFileName.SetTo("index.html");
|
||||||
if (m.FindBool("dir_list_flag", &dir_list_flag) != B_OK)
|
if (m.FindBool("fDirListFlag", &fDirListFlag) != B_OK)
|
||||||
dir_list_flag = false;
|
fDirListFlag = false;
|
||||||
|
|
||||||
//logging tab
|
//logging tab
|
||||||
if (m.FindBool("log_console_flag", &log_console_flag) != B_OK)
|
if (m.FindBool("fLogConsoleFlag", &fLogConsoleFlag) != B_OK)
|
||||||
log_console_flag = true;
|
fLogConsoleFlag = true;
|
||||||
if (m.FindBool("log_file_flag", &log_file_flag) != B_OK)
|
if (m.FindBool("fLogFileFlag", &fLogFileFlag) != B_OK)
|
||||||
log_file_flag = false;
|
fLogFileFlag = false;
|
||||||
if (m.FindString("log_path", &log_path) != B_OK)
|
if (m.FindString("fLogPath", &fLogPath) != B_OK)
|
||||||
log_path.SetTo("");
|
fLogPath.SetTo("");
|
||||||
|
|
||||||
//advance tab
|
//advance tab
|
||||||
if (m.FindInt16("max_connections", &max_connections) != B_OK)
|
if (m.FindInt16("fMaxConnections", &fMaxConnections) != B_OK)
|
||||||
max_connections = (int16)32;
|
fMaxConnections = (int16)32;
|
||||||
|
|
||||||
//windows' position and size
|
//windows' position and size
|
||||||
if (m.FindRect("frame", &frame) != B_OK)
|
if (m.FindRect("frame", &fFrame) != B_OK)
|
||||||
frame.Set(82.0f, 30.0f, 400.0f, 350.0f);
|
fFrame.Set(82.0f, 30.0f, 400.0f, 350.0f);
|
||||||
if (m.FindRect("setwindow_frame", &setwindow_frame) != B_OK)
|
if (m.FindRect("fSetwindowFrame", &fSetwindowFrame) != B_OK)
|
||||||
setwindow_frame.Set(112.0f, 60.0f, 492.0f, 340.0f);
|
fSetwindowFrame.Set(112.0f, 60.0f, 492.0f, 340.0f);
|
||||||
if (m.FindBool("is_zoomed", &is_zoomed) != B_OK)
|
if (m.FindBool("fIsZoomed", &fIsZoomed) != B_OK)
|
||||||
is_zoomed = true;
|
fIsZoomed = true;
|
||||||
if (m.FindFloat("last_width", &last_width) != B_OK)
|
if (m.FindFloat("fLastWidth", &fLastWidth) != B_OK)
|
||||||
last_width = 318.0f;
|
fLastWidth = 318.0f;
|
||||||
if (m.FindFloat("last_height", &last_height) != B_OK)
|
if (m.FindFloat("fLastHeight", &fLastHeight) != B_OK)
|
||||||
last_height = 320.0f;
|
fLastHeight = 320.0f;
|
||||||
|
|
||||||
is_zoomed?ResizeTo(last_width, last_height):ResizeTo(318, 53);
|
fIsZoomed?ResizeTo(fLastWidth, fLastHeight):ResizeTo(318, 53);
|
||||||
MoveTo(frame.left, frame.top);
|
MoveTo(fFrame.left, fFrame.top);
|
||||||
|
|
||||||
fLogFile = new BFile(log_path.String(), B_CREATE_FILE | B_WRITE_ONLY
|
fLogFile = new BFile(fLogPath.String(), B_CREATE_FILE | B_WRITE_ONLY
|
||||||
| B_OPEN_AT_END);
|
| B_OPEN_AT_END);
|
||||||
if (fLogFile->InitCheck() != B_OK) {
|
if (fLogFile->InitCheck() != B_OK) {
|
||||||
log_file_flag = false;
|
fLogFileFlag = false;
|
||||||
//log it to console, "log to file unavailable."
|
//log it to console, "log to file unavailable."
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
SetDirLabel(web_directory.String());
|
SetDirLabel(fWebDirectory.String());
|
||||||
|
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
@@ -730,24 +661,24 @@ PoorManWindow::SaveSettings()
|
|||||||
BMessage m(MSG_PREF_FILE);
|
BMessage m(MSG_PREF_FILE);
|
||||||
|
|
||||||
//site tab
|
//site tab
|
||||||
m.AddString("web_directory", web_directory);
|
m.AddString("fWebDirectory", fWebDirectory);
|
||||||
m.AddString("index_file_name", index_file_name);
|
m.AddString("fIndexFileName", fIndexFileName);
|
||||||
m.AddBool("dir_list_flag", dir_list_flag);
|
m.AddBool("fDirListFlag", fDirListFlag);
|
||||||
|
|
||||||
//logging tab
|
//logging tab
|
||||||
m.AddBool("log_console_flag", log_console_flag);
|
m.AddBool("fLogConsoleFlag", fLogConsoleFlag);
|
||||||
m.AddBool("log_file_flag", log_file_flag);
|
m.AddBool("fLogFileFlag", fLogFileFlag);
|
||||||
m.AddString("log_path", log_path);
|
m.AddString("fLogPath", fLogPath);
|
||||||
|
|
||||||
//advance tab
|
//advance tab
|
||||||
m.AddInt16("max_connections", max_connections);
|
m.AddInt16("fMaxConnections", fMaxConnections);
|
||||||
|
|
||||||
//windows' position and size
|
//windows' position and size
|
||||||
m.AddRect("frame", frame);
|
m.AddRect("frame", fFrame);
|
||||||
m.AddRect("setwindow_frame", setwindow_frame);
|
m.AddRect("fSetwindowFrame", fSetwindowFrame);
|
||||||
m.AddBool("is_zoomed", is_zoomed);
|
m.AddBool("fIsZoomed", fIsZoomed);
|
||||||
m.AddFloat("last_width", last_width);
|
m.AddFloat("fLastWidth", fLastWidth);
|
||||||
m.AddFloat("last_height", last_height);
|
m.AddFloat("fLastHeight", fLastHeight);
|
||||||
|
|
||||||
if (find_directory(B_USER_SETTINGS_DIRECTORY, &p) != B_OK)
|
if (find_directory(B_USER_SETTINGS_DIRECTORY, &p) != B_OK)
|
||||||
return B_ERROR;
|
return B_ERROR;
|
||||||
@@ -768,18 +699,15 @@ status_t
|
|||||||
PoorManWindow::StartServer()
|
PoorManWindow::StartServer()
|
||||||
{
|
{
|
||||||
if (fServer == NULL)
|
if (fServer == NULL)
|
||||||
fServer = new PoorManServer(
|
fServer = new PoorManServer(fWebDirectory.String(), fMaxConnections,
|
||||||
web_directory.String(),
|
fDirListFlag, fIndexFileName.String());
|
||||||
max_connections,
|
|
||||||
dir_list_flag,
|
|
||||||
index_file_name.String());
|
|
||||||
|
|
||||||
poorman_log(B_TRANSLATE("Starting up... "));
|
poorman_log(B_TRANSLATE("Starting up... "));
|
||||||
if (fServer->Run() != B_OK) {
|
if (fServer->Run() != B_OK) {
|
||||||
return B_ERROR;
|
return B_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
status = true;
|
fStatus = true;
|
||||||
UpdateStatusLabelAndMenuItem();
|
UpdateStatusLabelAndMenuItem();
|
||||||
poorman_log(B_TRANSLATE("done.\n"), false, INADDR_NONE, GREEN);
|
poorman_log(B_TRANSLATE("done.\n"), false, INADDR_NONE, GREEN);
|
||||||
|
|
||||||
@@ -795,7 +723,7 @@ PoorManWindow::StopServer()
|
|||||||
|
|
||||||
poorman_log(B_TRANSLATE("Shutting down.\n"));
|
poorman_log(B_TRANSLATE("Shutting down.\n"));
|
||||||
fServer->Stop();
|
fServer->Stop();
|
||||||
status = false;
|
fStatus = false;
|
||||||
UpdateStatusLabelAndMenuItem();
|
UpdateStatusLabelAndMenuItem();
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
@@ -804,7 +732,7 @@ PoorManWindow::StopServer()
|
|||||||
void
|
void
|
||||||
PoorManWindow::SetLogPath(const char* str)
|
PoorManWindow::SetLogPath(const char* str)
|
||||||
{
|
{
|
||||||
if (!strcmp(log_path, str))
|
if (!strcmp(fLogPath, str))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
BFile* temp = new BFile(str, B_CREATE_FILE | B_WRITE_ONLY | B_OPEN_AT_END);
|
BFile* temp = new BFile(str, B_CREATE_FILE | B_WRITE_ONLY | B_OPEN_AT_END);
|
||||||
@@ -823,5 +751,5 @@ PoorManWindow::SetLogPath(const char* str)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
log_path.SetTo(str);
|
fLogPath.SetTo(str);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ virtual void Zoom(BPoint origin, float width, float height);
|
|||||||
// Public PoorMan Window Methods
|
// Public PoorMan Window Methods
|
||||||
void SetDirLabel(const char* name);
|
void SetDirLabel(const char* name);
|
||||||
void SetHits(uint32 num);
|
void SetHits(uint32 num);
|
||||||
uint32 GetHits() { return hits; }
|
uint32 GetHits() { return fHits; }
|
||||||
status_t SaveConsole(BMessage* message, bool);
|
status_t SaveConsole(BMessage* message, bool);
|
||||||
|
|
||||||
status_t SaveSettings();
|
status_t SaveSettings();
|
||||||
@@ -60,23 +60,35 @@ virtual void Zoom(BPoint origin, float width, float height);
|
|||||||
// -------------------------------------------
|
// -------------------------------------------
|
||||||
// Preferences and Settings
|
// Preferences and Settings
|
||||||
// Site Tab
|
// Site Tab
|
||||||
bool DirListFlag() { return dir_list_flag; }
|
bool DirListFlag()
|
||||||
void SetDirListFlag(bool flag) { dir_list_flag = flag; }
|
{ return fDirListFlag; }
|
||||||
const char * IndexFileName() { return index_file_name.String(); }
|
void SetDirListFlag(bool flag)
|
||||||
void SetIndexFileName(const char * str) { index_file_name.SetTo(str); }
|
{ fDirListFlag = flag; }
|
||||||
const char * WebDir() { return web_directory.String(); }
|
const char* IndexFileName()
|
||||||
void SetWebDir(const char * str) { web_directory.SetTo(str); }
|
{ return fIndexFileName.String(); }
|
||||||
|
void SetIndexFileName(const char* str)
|
||||||
|
{ fIndexFileName.SetTo(str); }
|
||||||
|
const char* WebDir()
|
||||||
|
{ return fWebDirectory.String(); }
|
||||||
|
void SetWebDir(const char* str)
|
||||||
|
{ fWebDirectory.SetTo(str); }
|
||||||
// Logging Tab
|
// Logging Tab
|
||||||
bool LogConsoleFlag() { return log_console_flag; }
|
bool LogConsoleFlag()
|
||||||
void SetLogConsoleFlag(bool flag) { log_console_flag = flag; }
|
{ return fLogConsoleFlag; }
|
||||||
bool LogFileFlag() { return log_file_flag; }
|
void SetLogConsoleFlag(bool flag)
|
||||||
void SetLogFileFlag(bool flag) { log_file_flag = flag; }
|
{ fLogConsoleFlag = flag; }
|
||||||
const char * LogPath() { return log_path.String(); }
|
bool LogFileFlag()
|
||||||
|
{ return fLogFileFlag; }
|
||||||
|
void SetLogFileFlag(bool flag)
|
||||||
|
{ fLogFileFlag = flag; }
|
||||||
|
const char* LogPath()
|
||||||
|
{ return fLogPath.String(); }
|
||||||
void SetLogPath(const char* str);
|
void SetLogPath(const char* str);
|
||||||
// Advanced Tab
|
// Advanced Tab
|
||||||
int16 MaxConnections() { return max_connections; }
|
int16 MaxConnections()
|
||||||
void SetMaxConnections(int16 num) { max_connections = num; }
|
{ return fMaxConnections; }
|
||||||
|
void SetMaxConnections(int16 num)
|
||||||
|
{ fMaxConnections = num; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// -------------------------------------------
|
// -------------------------------------------
|
||||||
@@ -85,10 +97,6 @@ private:
|
|||||||
void UpdateHitsLabel();
|
void UpdateHitsLabel();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// -------------------------------------------
|
|
||||||
// PoorMan Window
|
|
||||||
PoorManView * mainView;
|
|
||||||
|
|
||||||
// -------------------------------------------
|
// -------------------------------------------
|
||||||
// Build Menu Methods
|
// Build Menu Methods
|
||||||
BMenu* BuildFileMenu() const;
|
BMenu* BuildFileMenu() const;
|
||||||
@@ -97,57 +105,56 @@ private:
|
|||||||
|
|
||||||
// --------------------------------------------
|
// --------------------------------------------
|
||||||
// MenuBar & Menu items
|
// MenuBar & Menu items
|
||||||
BMenuBar * FileMenuBar;
|
BMenuBar* fFileMenuBar;
|
||||||
BMenu * FileMenu;
|
BMenu* fFileMenu;
|
||||||
BMenu * EditMenu;
|
BMenu* fEditMenu;
|
||||||
BMenu * ControlsMenu;
|
BMenu* fControlsMenu;
|
||||||
|
|
||||||
// --------------------------------------------
|
// --------------------------------------------
|
||||||
// Status, Hits, Directory
|
// Status, Hits, Directory
|
||||||
BStringView * statusView;
|
BStringView* fStatusView;
|
||||||
BStringView * hitsView;
|
BStringView* fHitsView;
|
||||||
BStringView * dirView;
|
BStringView* fDirView;
|
||||||
|
|
||||||
bool status;
|
bool fStatus;
|
||||||
uint32 hits;
|
uint32 fHits;
|
||||||
char hitsLabel[25];
|
char fHitsLabel[25];
|
||||||
|
|
||||||
// --------------------------------------------
|
// --------------------------------------------
|
||||||
// Logging View
|
// Logging View
|
||||||
BScrollView * scrollView;
|
BScrollView* fScrollView;
|
||||||
BTextView * loggingView;
|
BTextView* fLoggingView;
|
||||||
// use asctime() for format of [Date/Time]:
|
// use asctime() for format of [Date/Time]:
|
||||||
|
|
||||||
|
|
||||||
// -------------------------------------------
|
// -------------------------------------------
|
||||||
// PoorMan Preference Window
|
// PoorMan Preference Window
|
||||||
PoorManPreferencesWindow * prefWindow;
|
PoorManPreferencesWindow * fPrefWindow;
|
||||||
|
|
||||||
// site tab
|
// site tab
|
||||||
BString web_directory;
|
BString fWebDirectory;
|
||||||
BString index_file_name;
|
BString fIndexFileName;
|
||||||
bool dir_list_flag;
|
bool fDirListFlag;
|
||||||
|
|
||||||
// logging tab
|
// logging tab
|
||||||
bool log_console_flag;
|
bool fLogConsoleFlag;
|
||||||
bool log_file_flag;
|
bool fLogFileFlag;
|
||||||
BString log_path;
|
BString fLogPath;
|
||||||
|
|
||||||
// advanced tab
|
// advanced tab
|
||||||
int16 max_connections;
|
int16 fMaxConnections;
|
||||||
|
|
||||||
bool is_zoomed;
|
bool fIsZoomed;
|
||||||
float last_width;
|
float fLastWidth;
|
||||||
float last_height;
|
float fLastHeight;
|
||||||
BRect frame;
|
BRect fFrame;
|
||||||
BRect setwindow_frame;
|
BRect fSetwindowFrame;
|
||||||
|
|
||||||
// File Panels
|
// File Panels
|
||||||
BFilePanel * saveConsoleFilePanel;
|
BFilePanel* fSaveConsoleFilePanel;
|
||||||
BFilePanel * saveConsoleSelectionFilePanel;
|
BFilePanel* fSaveConsoleSelectionFilePanel;
|
||||||
|
|
||||||
BFile* fLogFile;
|
BFile* fLogFile;
|
||||||
BFont* fLogViewFont;
|
|
||||||
|
|
||||||
PoorManServer* fServer;
|
PoorManServer* fServer;
|
||||||
|
|
||||||
|
|||||||
@@ -11,31 +11,19 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
||||||
StatusSlider::StatusSlider (BRect frame,
|
StatusSlider::StatusSlider(const char* name, const char* label,
|
||||||
const char *name,
|
char* statusPrefix, BMessage* message, int32 minValue, int32 maxValue)
|
||||||
const char *label,
|
:
|
||||||
char *statusPrefix,
|
BSlider(name, label, message, minValue, maxValue, B_HORIZONTAL),
|
||||||
BMessage *message,
|
fStatusPrefix(statusPrefix)
|
||||||
int32 minValue,
|
|
||||||
int32 maxValue)
|
|
||||||
|
|
||||||
: BSlider(frame,
|
|
||||||
name,
|
|
||||||
label,
|
|
||||||
message,
|
|
||||||
minValue,
|
|
||||||
maxValue
|
|
||||||
),
|
|
||||||
StatusPrefix(statusPrefix)
|
|
||||||
{
|
{
|
||||||
temp = str;
|
fTemp = fStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char*
|
const char*
|
||||||
StatusSlider::UpdateText() const
|
StatusSlider::UpdateText() const
|
||||||
{
|
{
|
||||||
|
sprintf(fTemp, "%ld %s", Value(), fStatusPrefix);
|
||||||
|
|
||||||
sprintf(temp, "%ld %s", Value(), StatusPrefix);
|
return fTemp;
|
||||||
|
|
||||||
return temp;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,21 +13,21 @@
|
|||||||
#include <Slider.h>
|
#include <Slider.h>
|
||||||
|
|
||||||
|
|
||||||
class StatusSlider: public BSlider
|
class StatusSlider: public BSlider {
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
StatusSlider(BRect frame,
|
StatusSlider(const char* name,
|
||||||
const char *name,
|
|
||||||
const char* label,
|
const char* label,
|
||||||
char* statusPrefix,
|
char* statusPrefix,
|
||||||
BMessage* message,
|
BMessage* message,
|
||||||
int32 minValue,
|
int32 minValue,
|
||||||
int32 maxValue);
|
int32 maxValue);
|
||||||
|
|
||||||
virtual const char* UpdateText() const;
|
virtual const char* UpdateText() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
char * StatusPrefix;
|
char* fStatusPrefix;
|
||||||
char * temp;
|
char* fTemp;
|
||||||
char str[128];
|
char fStr[128];
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user