spamdbm: use the std::nothrow variant of new operator.
This commit is contained in:
parent
d79ded8a44
commit
728d429e7d
|
@ -1470,7 +1470,8 @@ public:
|
||||||
* printed to stderr rather than showing up in a dialog box.
|
* printed to stderr rather than showing up in a dialog box.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void DisplayErrorMessage (
|
static void
|
||||||
|
DisplayErrorMessage (
|
||||||
const char *MessageString = NULL,
|
const char *MessageString = NULL,
|
||||||
int ErrorNumber = 0,
|
int ErrorNumber = 0,
|
||||||
const char *TitleString = NULL)
|
const char *TitleString = NULL)
|
||||||
|
@ -1514,7 +1515,8 @@ static void DisplayErrorMessage (
|
||||||
* result on the given output stream.
|
* result on the given output stream.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void WrapTextToStream (ostream& OutputStream, const char *TextPntr)
|
static void
|
||||||
|
WrapTextToStream (ostream& OutputStream, const char *TextPntr)
|
||||||
{
|
{
|
||||||
const int LineLength = 79;
|
const int LineLength = 79;
|
||||||
char *StringPntr;
|
char *StringPntr;
|
||||||
|
@ -1696,7 +1698,8 @@ ostream& PrintUsage (ostream& OutputStream)
|
||||||
* int, so now it has slightly different names depending on the arguments.
|
* int, so now it has slightly different names depending on the arguments.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void SubmitCommand (BMessage& CommandMessage)
|
static void
|
||||||
|
SubmitCommand (BMessage& CommandMessage)
|
||||||
{
|
{
|
||||||
status_t ErrorCode;
|
status_t ErrorCode;
|
||||||
|
|
||||||
|
@ -1710,7 +1713,8 @@ static void SubmitCommand (BMessage& CommandMessage)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void SubmitCommandString (
|
static void
|
||||||
|
SubmitCommandString (
|
||||||
PropertyNumbers Property,
|
PropertyNumbers Property,
|
||||||
uint32 CommandCode,
|
uint32 CommandCode,
|
||||||
const char *StringArgument = NULL)
|
const char *StringArgument = NULL)
|
||||||
|
@ -1729,7 +1733,8 @@ static void SubmitCommandString (
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void SubmitCommandInt32 (
|
static void
|
||||||
|
SubmitCommandInt32 (
|
||||||
PropertyNumbers Property,
|
PropertyNumbers Property,
|
||||||
uint32 CommandCode,
|
uint32 CommandCode,
|
||||||
int32 Int32Argument)
|
int32 Int32Argument)
|
||||||
|
@ -1747,7 +1752,8 @@ static void SubmitCommandInt32 (
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void SubmitCommandBool (
|
static void
|
||||||
|
SubmitCommandBool (
|
||||||
PropertyNumbers Property,
|
PropertyNumbers Property,
|
||||||
uint32 CommandCode,
|
uint32 CommandCode,
|
||||||
bool BoolArgument)
|
bool BoolArgument)
|
||||||
|
@ -1776,7 +1782,8 @@ static void SubmitCommandBool (
|
||||||
* view.
|
* view.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void EstimateRefFilesAndDisplay (BMessage *MessagePntr)
|
static void
|
||||||
|
EstimateRefFilesAndDisplay (BMessage *MessagePntr)
|
||||||
{
|
{
|
||||||
BAlert *AlertPntr;
|
BAlert *AlertPntr;
|
||||||
BEntry Entry;
|
BEntry Entry;
|
||||||
|
@ -1970,7 +1977,8 @@ of words, checking for maximum word length and prepending the prefix to the
|
||||||
word, which gets modified by this function to reflect the word actually added
|
word, which gets modified by this function to reflect the word actually added
|
||||||
to the set. */
|
to the set. */
|
||||||
|
|
||||||
static void AddWordAndPrefixToSet (
|
static void
|
||||||
|
AddWordAndPrefixToSet (
|
||||||
string &Word,
|
string &Word,
|
||||||
const char *PrefixString,
|
const char *PrefixString,
|
||||||
set<string> &WordSet)
|
set<string> &WordSet)
|
||||||
|
@ -2490,7 +2498,8 @@ ABSApp::~ABSApp ()
|
||||||
|
|
||||||
/* Display a box showing information about this program. */
|
/* Display a box showing information about this program. */
|
||||||
|
|
||||||
void ABSApp::AboutRequested ()
|
void
|
||||||
|
ABSApp::AboutRequested ()
|
||||||
{
|
{
|
||||||
BAlert *AboutAlertPntr;
|
BAlert *AboutAlertPntr;
|
||||||
|
|
||||||
|
@ -2770,7 +2779,8 @@ the PrefixCharacter isn't zero then it is prepended to all words found (so you
|
||||||
can distinguish words as being from a header or from the body text). See also
|
can distinguish words as being from a header or from the body text). See also
|
||||||
TokenizeWhole which does something similar. */
|
TokenizeWhole which does something similar. */
|
||||||
|
|
||||||
void ABSApp::AddWordsToSet (
|
void
|
||||||
|
ABSApp::AddWordsToSet (
|
||||||
const char *InputString,
|
const char *InputString,
|
||||||
size_t NumberOfBytes,
|
size_t NumberOfBytes,
|
||||||
char PrefixCharacter,
|
char PrefixCharacter,
|
||||||
|
@ -2830,7 +2840,8 @@ asynchronously converted into a scripting message(s) that are sent back to this
|
||||||
BApplication. The intermediary is needed since we can't recursively execute
|
BApplication. The intermediary is needed since we can't recursively execute
|
||||||
scripting messages while processing a message (this ArgsReceived one). */
|
scripting messages while processing a message (this ArgsReceived one). */
|
||||||
|
|
||||||
void ABSApp::ArgvReceived (int32 argc, char **argv)
|
void
|
||||||
|
ABSApp::ArgvReceived (int32 argc, char **argv)
|
||||||
{
|
{
|
||||||
if (g_CommanderLooperPntr != NULL)
|
if (g_CommanderLooperPntr != NULL)
|
||||||
g_CommanderLooperPntr->CommandArguments (argc, argv);
|
g_CommanderLooperPntr->CommandArguments (argc, argv);
|
||||||
|
@ -2853,7 +2864,8 @@ status_t ABSApp::CreateDatabaseFile (char *ErrorMessage)
|
||||||
/* Set the settings to the defaults. Needed in case there isn't a settings
|
/* Set the settings to the defaults. Needed in case there isn't a settings
|
||||||
file or it is obsolete. */
|
file or it is obsolete. */
|
||||||
|
|
||||||
void ABSApp::DefaultSettings ()
|
void
|
||||||
|
ABSApp::DefaultSettings ()
|
||||||
{
|
{
|
||||||
status_t ErrorCode;
|
status_t ErrorCode;
|
||||||
BPath DatabasePath (m_SettingsDirectoryPath);
|
BPath DatabasePath (m_SettingsDirectoryPath);
|
||||||
|
@ -3997,7 +4009,8 @@ ErrorExit: /* Error message in TempString, code in ErrorCode. */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ABSApp::MessageReceived (BMessage *MessagePntr)
|
void
|
||||||
|
ABSApp::MessageReceived (BMessage *MessagePntr)
|
||||||
{
|
{
|
||||||
const char *PropertyName;
|
const char *PropertyName;
|
||||||
struct property_info *PropInfoPntr;
|
struct property_info *PropInfoPntr;
|
||||||
|
@ -4105,7 +4118,8 @@ status_t ABSApp::MakeBackup (char *ErrorMessage)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ABSApp::MakeDatabaseEmpty ()
|
void
|
||||||
|
ABSApp::MakeDatabaseEmpty ()
|
||||||
{
|
{
|
||||||
m_WordMap.clear (); /* Sets the map to empty, deallocating any old data. */
|
m_WordMap.clear (); /* Sets the map to empty, deallocating any old data. */
|
||||||
m_WordCount = 0;
|
m_WordCount = 0;
|
||||||
|
@ -4122,7 +4136,8 @@ resulting data for a get or count command. If it isn't understood, then rather
|
||||||
than a B_REPLY kind of message, it will be a B_MESSAGE_NOT_UNDERSTOOD message
|
than a B_REPLY kind of message, it will be a B_MESSAGE_NOT_UNDERSTOOD message
|
||||||
with an "error" number and an "message" string with a description. */
|
with an "error" number and an "message" string with a description. */
|
||||||
|
|
||||||
void ABSApp::ProcessScriptingMessage (
|
void
|
||||||
|
ABSApp::ProcessScriptingMessage (
|
||||||
BMessage *MessagePntr,
|
BMessage *MessagePntr,
|
||||||
struct property_info *PropInfoPntr)
|
struct property_info *PropInfoPntr)
|
||||||
{
|
{
|
||||||
|
@ -4642,7 +4657,8 @@ message in case one client tells us to quit while another one is still using us
|
||||||
(happens when you have two or more e-mail accounts). But if the system is
|
(happens when you have two or more e-mail accounts). But if the system is
|
||||||
shutting down, quit immediately! */
|
shutting down, quit immediately! */
|
||||||
|
|
||||||
void ABSApp::Pulse ()
|
void
|
||||||
|
ABSApp::Pulse ()
|
||||||
{
|
{
|
||||||
if (g_QuitCountdown == 0)
|
if (g_QuitCountdown == 0)
|
||||||
{
|
{
|
||||||
|
@ -4662,7 +4678,8 @@ void ABSApp::Pulse ()
|
||||||
allow the request, otherwise reject it (and start the countdown if it hasn't
|
allow the request, otherwise reject it (and start the countdown if it hasn't
|
||||||
been started). */
|
been started). */
|
||||||
|
|
||||||
bool ABSApp::QuitRequested ()
|
bool
|
||||||
|
ABSApp::QuitRequested ()
|
||||||
{
|
{
|
||||||
BMessage *QuitMessage;
|
BMessage *QuitMessage;
|
||||||
team_info RemoteInfo;
|
team_info RemoteInfo;
|
||||||
|
@ -4699,7 +4716,8 @@ equivalent to the number of messages added to the database) and too unpopular
|
||||||
are just hunks of binary or other garbage. The database has been loaded
|
are just hunks of binary or other garbage. The database has been loaded
|
||||||
elsewhere. */
|
elsewhere. */
|
||||||
|
|
||||||
status_t ABSApp::PurgeOldWords (char *ErrorMessage)
|
status_t
|
||||||
|
ABSApp::PurgeOldWords (char *ErrorMessage)
|
||||||
{
|
{
|
||||||
uint32 CurrentTime;
|
uint32 CurrentTime;
|
||||||
StatisticsMap::iterator CurrentIter;
|
StatisticsMap::iterator CurrentIter;
|
||||||
|
@ -4713,14 +4731,12 @@ status_t ABSApp::PurgeOldWords (char *ErrorMessage)
|
||||||
|
|
||||||
EndIter = m_WordMap.end ();
|
EndIter = m_WordMap.end ();
|
||||||
NextIter = m_WordMap.begin ();
|
NextIter = m_WordMap.begin ();
|
||||||
while (NextIter != EndIter)
|
while (NextIter != EndIter) {
|
||||||
{
|
|
||||||
CurrentIter = NextIter++;
|
CurrentIter = NextIter++;
|
||||||
|
|
||||||
if (CurrentTime - CurrentIter->second.age >= m_PurgeAge &&
|
if (CurrentTime - CurrentIter->second.age >= m_PurgeAge &&
|
||||||
CurrentIter->second.genuineCount + CurrentIter->second.spamCount <=
|
CurrentIter->second.genuineCount + CurrentIter->second.spamCount <=
|
||||||
m_PurgePopularity)
|
m_PurgePopularity) {
|
||||||
{
|
|
||||||
/* Delete this word, it is unpopular and old. Sob. */
|
/* Delete this word, it is unpopular and old. Sob. */
|
||||||
|
|
||||||
m_WordMap.erase (CurrentIter);
|
m_WordMap.erase (CurrentIter);
|
||||||
|
@ -4738,10 +4754,9 @@ status_t ABSApp::PurgeOldWords (char *ErrorMessage)
|
||||||
|
|
||||||
/* Just a little bug check here. Just in case. */
|
/* Just a little bug check here. Just in case. */
|
||||||
|
|
||||||
if (m_WordCount != m_WordMap.size ())
|
if (m_WordCount != m_WordMap.size ()) {
|
||||||
{
|
|
||||||
sprintf (TempString, "Our word count of %lu doesn't match the "
|
sprintf (TempString, "Our word count of %lu doesn't match the "
|
||||||
"size of the database, %lu", m_WordCount, m_WordMap.size ());
|
"size of the database, %lu", m_WordCount, m_WordMap.size());
|
||||||
DisplayErrorMessage (TempString, -1, "Bug!");
|
DisplayErrorMessage (TempString, -1, "Bug!");
|
||||||
m_WordCount = m_WordMap.size ();
|
m_WordCount = m_WordMap.size ();
|
||||||
}
|
}
|
||||||
|
@ -4750,7 +4765,8 @@ status_t ABSApp::PurgeOldWords (char *ErrorMessage)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ABSApp::ReadyToRun ()
|
void
|
||||||
|
ABSApp::ReadyToRun ()
|
||||||
{
|
{
|
||||||
DatabaseWindow *DatabaseWindowPntr;
|
DatabaseWindow *DatabaseWindowPntr;
|
||||||
float JunkFloat;
|
float JunkFloat;
|
||||||
|
@ -4784,10 +4800,10 @@ void ABSApp::ReadyToRun ()
|
||||||
attached to our window, then resize it to its prefered size so that it
|
attached to our window, then resize it to its prefered size so that it
|
||||||
accomodates the font size and other frills it needs. */
|
accomodates the font size and other frills it needs. */
|
||||||
|
|
||||||
TempWindowPntr = new BWindow (BRect (10, 20, 200, 200), "Temporary Window",
|
TempWindowPntr = new (std::nothrow) BWindow (BRect (10, 20, 200, 200),
|
||||||
B_DOCUMENT_WINDOW, B_NO_WORKSPACE_ACTIVATION | B_ASYNCHRONOUS_CONTROLS);
|
"Temporary Window", B_DOCUMENT_WINDOW,
|
||||||
if (TempWindowPntr == NULL)
|
B_NO_WORKSPACE_ACTIVATION | B_ASYNCHRONOUS_CONTROLS);
|
||||||
{
|
if (TempWindowPntr == NULL) {
|
||||||
DisplayErrorMessage ("Unable to create temporary window for finding "
|
DisplayErrorMessage ("Unable to create temporary window for finding "
|
||||||
"sizes of controls.");
|
"sizes of controls.");
|
||||||
g_QuitCountdown = 0;
|
g_QuitCountdown = 0;
|
||||||
|
@ -4798,14 +4814,13 @@ void ABSApp::ReadyToRun ()
|
||||||
|
|
||||||
/* Find the height of a single line of text in a BStringView. */
|
/* Find the height of a single line of text in a BStringView. */
|
||||||
|
|
||||||
TempStringViewPntr = new BStringView (TempRect, TempString, TempString);
|
TempStringViewPntr = new (std::nothrow) BStringView (TempRect, TempString, TempString);
|
||||||
if (TempStringViewPntr != NULL)
|
if (TempStringViewPntr != NULL) {
|
||||||
{
|
TempWindowPntr->Lock();
|
||||||
TempWindowPntr->Lock ();
|
|
||||||
TempWindowPntr->AddChild (TempStringViewPntr);
|
TempWindowPntr->AddChild (TempStringViewPntr);
|
||||||
TempStringViewPntr->GetPreferredSize (&JunkFloat, &g_StringViewHeight);
|
TempStringViewPntr->GetPreferredSize (&JunkFloat, &g_StringViewHeight);
|
||||||
TempWindowPntr->RemoveChild (TempStringViewPntr);
|
TempWindowPntr->RemoveChild (TempStringViewPntr);
|
||||||
TempWindowPntr->Unlock ();
|
TempWindowPntr->Unlock();
|
||||||
delete TempStringViewPntr;
|
delete TempStringViewPntr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4813,23 +4828,21 @@ void ABSApp::ReadyToRun ()
|
||||||
control and can make life difficult. Make a temporary button, which
|
control and can make life difficult. Make a temporary button, which
|
||||||
is attached to our window so that it resizes to accomodate the font size. */
|
is attached to our window so that it resizes to accomodate the font size. */
|
||||||
|
|
||||||
TempButtonPntr = new BButton (TempRect, TempString, TempString, NULL);
|
TempButtonPntr = new (std::nothrow) BButton (TempRect, TempString, TempString, NULL);
|
||||||
if (TempButtonPntr != NULL)
|
if (TempButtonPntr != NULL) {
|
||||||
{
|
TempWindowPntr->Lock();
|
||||||
TempWindowPntr->Lock ();
|
|
||||||
TempWindowPntr->AddChild (TempButtonPntr);
|
TempWindowPntr->AddChild (TempButtonPntr);
|
||||||
TempButtonPntr->GetPreferredSize (&JunkFloat, &g_ButtonHeight);
|
TempButtonPntr->GetPreferredSize (&JunkFloat, &g_ButtonHeight);
|
||||||
TempWindowPntr->RemoveChild (TempButtonPntr);
|
TempWindowPntr->RemoveChild (TempButtonPntr);
|
||||||
TempWindowPntr->Unlock ();
|
TempWindowPntr->Unlock();
|
||||||
delete TempButtonPntr;
|
delete TempButtonPntr;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Find the height of a text box. */
|
/* Find the height of a text box. */
|
||||||
|
|
||||||
TempTextPntr = new BTextControl (TempRect, TempString, NULL /* label */,
|
TempTextPntr = new (std::nothrow) BTextControl (TempRect, TempString, NULL /* label */,
|
||||||
TempString, NULL);
|
TempString, NULL);
|
||||||
if (TempTextPntr != NULL)
|
if (TempTextPntr != NULL) {
|
||||||
{
|
|
||||||
TempWindowPntr->Lock ();
|
TempWindowPntr->Lock ();
|
||||||
TempWindowPntr->AddChild (TempTextPntr);
|
TempWindowPntr->AddChild (TempTextPntr);
|
||||||
TempTextPntr->GetPreferredSize (&JunkFloat, &g_TextBoxHeight);
|
TempTextPntr->GetPreferredSize (&JunkFloat, &g_TextBoxHeight);
|
||||||
|
@ -4840,9 +4853,8 @@ void ABSApp::ReadyToRun ()
|
||||||
|
|
||||||
/* Find the height of a checkbox control. */
|
/* Find the height of a checkbox control. */
|
||||||
|
|
||||||
TempCheckBoxPntr = new BCheckBox (TempRect, TempString, TempString, NULL);
|
TempCheckBoxPntr = new (std::nothrow) BCheckBox (TempRect, TempString, TempString, NULL);
|
||||||
if (TempCheckBoxPntr != NULL)
|
if (TempCheckBoxPntr != NULL) {
|
||||||
{
|
|
||||||
TempWindowPntr->Lock ();
|
TempWindowPntr->Lock ();
|
||||||
TempWindowPntr->AddChild (TempCheckBoxPntr);
|
TempWindowPntr->AddChild (TempCheckBoxPntr);
|
||||||
TempCheckBoxPntr->GetPreferredSize (&JunkFloat, &g_CheckBoxHeight);
|
TempCheckBoxPntr->GetPreferredSize (&JunkFloat, &g_CheckBoxHeight);
|
||||||
|
@ -4854,9 +4866,8 @@ void ABSApp::ReadyToRun ()
|
||||||
/* Find the height of a radio button control. */
|
/* Find the height of a radio button control. */
|
||||||
|
|
||||||
TempRadioButtonPntr =
|
TempRadioButtonPntr =
|
||||||
new BRadioButton (TempRect, TempString, TempString, NULL);
|
new (std::nothrow) BRadioButton (TempRect, TempString, TempString, NULL);
|
||||||
if (TempRadioButtonPntr != NULL)
|
if (TempRadioButtonPntr != NULL) {
|
||||||
{
|
|
||||||
TempWindowPntr->Lock ();
|
TempWindowPntr->Lock ();
|
||||||
TempWindowPntr->AddChild (TempRadioButtonPntr);
|
TempWindowPntr->AddChild (TempRadioButtonPntr);
|
||||||
TempRadioButtonPntr->GetPreferredSize (&JunkFloat, &g_RadioButtonHeight);
|
TempRadioButtonPntr->GetPreferredSize (&JunkFloat, &g_RadioButtonHeight);
|
||||||
|
@ -4867,11 +4878,11 @@ void ABSApp::ReadyToRun ()
|
||||||
|
|
||||||
/* Find the height of a pop-up menu. */
|
/* Find the height of a pop-up menu. */
|
||||||
|
|
||||||
TempMenuBarPntr = new BMenuBar (TempRect, TempString,
|
TempMenuBarPntr = new (std::nothrow) BMenuBar (TempRect, TempString,
|
||||||
B_FOLLOW_LEFT | B_FOLLOW_TOP, B_ITEMS_IN_COLUMN,
|
B_FOLLOW_LEFT | B_FOLLOW_TOP, B_ITEMS_IN_COLUMN,
|
||||||
true /* resize to fit items */);
|
true /* resize to fit items */);
|
||||||
TempPopUpMenuPntr = new BPopUpMenu (TempString);
|
TempPopUpMenuPntr = new (std::nothrow) BPopUpMenu (TempString);
|
||||||
TempMenuItemPntr = new BMenuItem (TempString, new BMessage (12345), 'g');
|
TempMenuItemPntr = new (std::nothrow) BMenuItem (TempString, new BMessage (12345), 'g');
|
||||||
|
|
||||||
if (TempMenuBarPntr != NULL && TempPopUpMenuPntr != NULL &&
|
if (TempMenuBarPntr != NULL && TempPopUpMenuPntr != NULL &&
|
||||||
TempMenuItemPntr != NULL)
|
TempMenuItemPntr != NULL)
|
||||||
|
@ -4896,13 +4907,11 @@ void ABSApp::ReadyToRun ()
|
||||||
g_QuitCountdown = 0; /* Quit as soon as queued up commands done. */
|
g_QuitCountdown = 0; /* Quit as soon as queued up commands done. */
|
||||||
else /* GUI mode, make a window. */
|
else /* GUI mode, make a window. */
|
||||||
{
|
{
|
||||||
DatabaseWindowPntr = new DatabaseWindow ();
|
DatabaseWindowPntr = new (std::nothrow) DatabaseWindow ();
|
||||||
if (DatabaseWindowPntr == NULL)
|
if (DatabaseWindowPntr == NULL) {
|
||||||
{
|
|
||||||
DisplayErrorMessage ("Unable to create window.");
|
DisplayErrorMessage ("Unable to create window.");
|
||||||
g_QuitCountdown = 0;
|
g_QuitCountdown = 0;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
DatabaseWindowPntr->Show (); /* Starts the window's message loop. */
|
DatabaseWindowPntr->Show (); /* Starts the window's message loop. */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4916,7 +4925,8 @@ it. If the tokenize mode specifies that it isn't one of the ones we are
|
||||||
looking for, just skip it. For container type components, recursively examine
|
looking for, just skip it. For container type components, recursively examine
|
||||||
their contents, up to the maximum depth specified. */
|
their contents, up to the maximum depth specified. */
|
||||||
|
|
||||||
status_t ABSApp::RecursivelyTokenizeMailComponent (
|
status_t
|
||||||
|
ABSApp::RecursivelyTokenizeMailComponent (
|
||||||
BMailComponent *ComponentPntr,
|
BMailComponent *ComponentPntr,
|
||||||
const char *OptionalFileName,
|
const char *OptionalFileName,
|
||||||
set<string> &WordSet,
|
set<string> &WordSet,
|
||||||
|
@ -5084,7 +5094,8 @@ asynchronously converted into a scripting message(s) that are sent back to this
|
||||||
BApplication. The intermediary is needed since we can't recursively execute
|
BApplication. The intermediary is needed since we can't recursively execute
|
||||||
scripting messages while processing a message (this RefsReceived one). */
|
scripting messages while processing a message (this RefsReceived one). */
|
||||||
|
|
||||||
void ABSApp::RefsReceived (BMessage *MessagePntr)
|
void
|
||||||
|
ABSApp::RefsReceived (BMessage *MessagePntr)
|
||||||
{
|
{
|
||||||
if (g_CommanderLooperPntr != NULL)
|
if (g_CommanderLooperPntr != NULL)
|
||||||
g_CommanderLooperPntr->CommandReferences (MessagePntr);
|
g_CommanderLooperPntr->CommandReferences (MessagePntr);
|
||||||
|
@ -5339,7 +5350,8 @@ ClassificationChoicesWindow::ClassificationChoicesWindow (
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ClassificationChoicesWindow::MessageReceived (BMessage *MessagePntr)
|
void
|
||||||
|
ClassificationChoicesWindow::MessageReceived (BMessage *MessagePntr)
|
||||||
{
|
{
|
||||||
BControl *ControlPntr;
|
BControl *ControlPntr;
|
||||||
|
|
||||||
|
@ -5371,7 +5383,8 @@ void ClassificationChoicesWindow::MessageReceived (BMessage *MessagePntr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ClassificationChoicesWindow::Go (
|
void
|
||||||
|
ClassificationChoicesWindow::Go (
|
||||||
bool *BulkModeSelectedPntr,
|
bool *BulkModeSelectedPntr,
|
||||||
ClassificationTypes *ChoosenClassificationPntr)
|
ClassificationTypes *ChoosenClassificationPntr)
|
||||||
{
|
{
|
||||||
|
@ -5437,7 +5450,8 @@ ClassificationChoicesView::ClassificationChoicesView (
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ClassificationChoicesView::AttachedToWindow ()
|
void
|
||||||
|
ClassificationChoicesView::AttachedToWindow ()
|
||||||
{
|
{
|
||||||
BButton *ButtonPntr;
|
BButton *ButtonPntr;
|
||||||
BCheckBox *CheckBoxPntr;
|
BCheckBox *CheckBoxPntr;
|
||||||
|
@ -5537,7 +5551,8 @@ void ClassificationChoicesView::AttachedToWindow ()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ClassificationChoicesView::GetPreferredSize (float *width, float *height)
|
void
|
||||||
|
ClassificationChoicesView::GetPreferredSize (float *width, float *height)
|
||||||
{
|
{
|
||||||
if (width != NULL)
|
if (width != NULL)
|
||||||
*width = Bounds().Width();
|
*width = Bounds().Width();
|
||||||
|
@ -5571,7 +5586,8 @@ CommanderLooper::~CommanderLooper ()
|
||||||
looper itself to do the work later. That way the caller can continue doing
|
looper itself to do the work later. That way the caller can continue doing
|
||||||
whatever they're doing, particularly if it's the BApplication. */
|
whatever they're doing, particularly if it's the BApplication. */
|
||||||
|
|
||||||
void CommanderLooper::CommandArguments (int argc, char **argv)
|
void
|
||||||
|
CommanderLooper::CommandArguments (int argc, char **argv)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
BMessage InternalMessage;
|
BMessage InternalMessage;
|
||||||
|
@ -5590,7 +5606,8 @@ and if it is Tracker, it can close the file handles it has open). Optionally
|
||||||
allow preset classification rather than asking the user (set BulkMode to TRUE
|
allow preset classification rather than asking the user (set BulkMode to TRUE
|
||||||
and specify the class with BulkClassification). */
|
and specify the class with BulkClassification). */
|
||||||
|
|
||||||
void CommanderLooper::CommandReferences (
|
void
|
||||||
|
CommanderLooper::CommandReferences (
|
||||||
BMessage *MessagePntr,
|
BMessage *MessagePntr,
|
||||||
bool BulkMode,
|
bool BulkMode,
|
||||||
ClassificationTypes BulkClassification)
|
ClassificationTypes BulkClassification)
|
||||||
|
@ -5612,7 +5629,8 @@ void CommanderLooper::CommandReferences (
|
||||||
/* This function is called by other threads to see if the CommanderLooper is
|
/* This function is called by other threads to see if the CommanderLooper is
|
||||||
busy working on something. */
|
busy working on something. */
|
||||||
|
|
||||||
bool CommanderLooper::IsBusy ()
|
bool
|
||||||
|
CommanderLooper::IsBusy ()
|
||||||
{
|
{
|
||||||
if (m_IsBusy)
|
if (m_IsBusy)
|
||||||
return true;
|
return true;
|
||||||
|
@ -5624,7 +5642,9 @@ bool CommanderLooper::IsBusy ()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CommanderLooper::MessageReceived (BMessage *MessagePntr)
|
void
|
||||||
|
|
||||||
|
CommanderLooper::MessageReceived (BMessage *MessagePntr)
|
||||||
{
|
{
|
||||||
m_IsBusy = true;
|
m_IsBusy = true;
|
||||||
|
|
||||||
|
@ -5643,7 +5663,8 @@ void CommanderLooper::MessageReceived (BMessage *MessagePntr)
|
||||||
messages (possibly thousands) and sent them to the BApplication synchronously
|
messages (possibly thousands) and sent them to the BApplication synchronously
|
||||||
(so we can print the result). */
|
(so we can print the result). */
|
||||||
|
|
||||||
void CommanderLooper::ProcessArgs (BMessage *MessagePntr)
|
void
|
||||||
|
CommanderLooper::ProcessArgs (BMessage *MessagePntr)
|
||||||
{
|
{
|
||||||
int32 argc = 0;
|
int32 argc = 0;
|
||||||
const char **argv = NULL;
|
const char **argv = NULL;
|
||||||
|
@ -5883,7 +5904,8 @@ and add them to the database. Prompt the user for the spam or genuine or
|
||||||
uncertain (declassification) choice, with the option to bulk mark many files at
|
uncertain (declassification) choice, with the option to bulk mark many files at
|
||||||
once. */
|
once. */
|
||||||
|
|
||||||
void CommanderLooper::ProcessRefs (BMessage *MessagePntr)
|
void
|
||||||
|
CommanderLooper::ProcessRefs (BMessage *MessagePntr)
|
||||||
{
|
{
|
||||||
bool BulkMode = false;
|
bool BulkMode = false;
|
||||||
ClassificationTypes BulkClassification = CL_GENUINE;
|
ClassificationTypes BulkClassification = CL_GENUINE;
|
||||||
|
@ -6087,7 +6109,8 @@ ControlsView::~ControlsView ()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ControlsView::AttachedToWindow ()
|
void
|
||||||
|
ControlsView::AttachedToWindow ()
|
||||||
{
|
{
|
||||||
float BigPurgeButtonTop;
|
float BigPurgeButtonTop;
|
||||||
BMessage CommandMessage;
|
BMessage CommandMessage;
|
||||||
|
@ -6673,7 +6696,8 @@ ErrorExit:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ControlsView::BrowseForDatabaseFile ()
|
void
|
||||||
|
ControlsView::BrowseForDatabaseFile ()
|
||||||
{
|
{
|
||||||
if (m_BrowseFilePanelPntr == NULL)
|
if (m_BrowseFilePanelPntr == NULL)
|
||||||
{
|
{
|
||||||
|
@ -6723,7 +6747,8 @@ void ControlsView::BrowseForDatabaseFile ()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ControlsView::BrowseForFileToEstimate ()
|
void
|
||||||
|
ControlsView::BrowseForFileToEstimate ()
|
||||||
{
|
{
|
||||||
if (m_EstimateSpamFilePanelPntr == NULL)
|
if (m_EstimateSpamFilePanelPntr == NULL)
|
||||||
{
|
{
|
||||||
|
@ -6785,14 +6810,16 @@ show the new size (the sub-items need to be resized too). Then make it redraw.
|
||||||
Well, actually just resetting the mark on the current item will resize it
|
Well, actually just resetting the mark on the current item will resize it
|
||||||
properly. */
|
properly. */
|
||||||
|
|
||||||
void ControlsView::FrameResized (float, float)
|
void
|
||||||
|
ControlsView::FrameResized (float, float)
|
||||||
{
|
{
|
||||||
m_ScoringModeCachedValue = SM_MAX; /* Force it to reset the mark. */
|
m_ScoringModeCachedValue = SM_MAX; /* Force it to reset the mark. */
|
||||||
m_TokenizeModeCachedValue = TM_MAX; /* Force it to reset the mark. */
|
m_TokenizeModeCachedValue = TM_MAX; /* Force it to reset the mark. */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ControlsView::MessageReceived (BMessage *MessagePntr)
|
void
|
||||||
|
ControlsView::MessageReceived (BMessage *MessagePntr)
|
||||||
{
|
{
|
||||||
BMessage CommandMessage;
|
BMessage CommandMessage;
|
||||||
bool TempBool;
|
bool TempBool;
|
||||||
|
@ -6859,7 +6886,8 @@ commands will be in the queue ahead of our requests for info). Instead, we
|
||||||
lock the BApplication (so it isn't changing things while we're looking) and
|
lock the BApplication (so it isn't changing things while we're looking) and
|
||||||
retrieve our values. */
|
retrieve our values. */
|
||||||
|
|
||||||
void ControlsView::PollServerForChanges ()
|
void
|
||||||
|
ControlsView::PollServerForChanges ()
|
||||||
{
|
{
|
||||||
ABSApp *MyAppPntr;
|
ABSApp *MyAppPntr;
|
||||||
BMenuItem *TempMenuItemPntr;
|
BMenuItem *TempMenuItemPntr;
|
||||||
|
@ -7017,7 +7045,8 @@ void ControlsView::PollServerForChanges ()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ControlsView::Pulse ()
|
void
|
||||||
|
ControlsView::Pulse ()
|
||||||
{
|
{
|
||||||
if (system_time () > m_TimeOfLastPoll + 200000)
|
if (system_time () > m_TimeOfLastPoll + 200000)
|
||||||
{
|
{
|
||||||
|
@ -7070,7 +7099,8 @@ ErrorExit:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DatabaseWindow::MessageReceived (BMessage *MessagePntr)
|
void
|
||||||
|
DatabaseWindow::MessageReceived (BMessage *MessagePntr)
|
||||||
{
|
{
|
||||||
if (MessagePntr->what == B_MOUSE_WHEEL_CHANGED)
|
if (MessagePntr->what == B_MOUSE_WHEEL_CHANGED)
|
||||||
{
|
{
|
||||||
|
@ -7086,7 +7116,8 @@ void DatabaseWindow::MessageReceived (BMessage *MessagePntr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool DatabaseWindow::QuitRequested ()
|
bool
|
||||||
|
DatabaseWindow::QuitRequested ()
|
||||||
{
|
{
|
||||||
be_app->PostMessage (B_QUIT_REQUESTED);
|
be_app->PostMessage (B_QUIT_REQUESTED);
|
||||||
return true;
|
return true;
|
||||||
|
@ -7139,7 +7170,8 @@ WordsView::WordsView (BRect NewBounds)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void WordsView::AttachedToWindow ()
|
void
|
||||||
|
WordsView::AttachedToWindow ()
|
||||||
{
|
{
|
||||||
BPolygon DownLinePolygon (g_DownLinePoints,
|
BPolygon DownLinePolygon (g_DownLinePoints,
|
||||||
sizeof (g_DownLinePoints) /
|
sizeof (g_DownLinePoints) /
|
||||||
|
@ -7280,7 +7312,8 @@ available (if it isn't, don't draw, a redraw will usually be requested by the
|
||||||
Pulse member function when it keeps on noticing that the stuff on the display
|
Pulse member function when it keeps on noticing that the stuff on the display
|
||||||
doesn't match the database). */
|
doesn't match the database). */
|
||||||
|
|
||||||
void WordsView::Draw (BRect UpdateRect)
|
void
|
||||||
|
WordsView::Draw (BRect UpdateRect)
|
||||||
{
|
{
|
||||||
float AgeDifference;
|
float AgeDifference;
|
||||||
float AgeProportion;
|
float AgeProportion;
|
||||||
|
@ -7503,7 +7536,8 @@ the view (it's the word at or lexicographically after the word typed in). The
|
||||||
keys are appended to the starting word, until the user stops typing for a
|
keys are appended to the starting word, until the user stops typing for a
|
||||||
while, then the next key will be the first letter of a new starting word. */
|
while, then the next key will be the first letter of a new starting word. */
|
||||||
|
|
||||||
void WordsView::KeyDown (const char *BufferPntr, int32 NumBytes)
|
void
|
||||||
|
WordsView::KeyDown (const char *BufferPntr, int32 NumBytes)
|
||||||
{
|
{
|
||||||
int32 CharLength;
|
int32 CharLength;
|
||||||
bigtime_t CurrentTime;
|
bigtime_t CurrentTime;
|
||||||
|
@ -7553,7 +7587,8 @@ void WordsView::KeyDown (const char *BufferPntr, int32 NumBytes)
|
||||||
/* Change the background colour to show that we have the focus. When we have
|
/* Change the background colour to show that we have the focus. When we have
|
||||||
it, keystrokes will select the word to be displayed at the top of the list. */
|
it, keystrokes will select the word to be displayed at the top of the list. */
|
||||||
|
|
||||||
void WordsView::MakeFocus (bool Focused)
|
void
|
||||||
|
WordsView::MakeFocus (bool Focused)
|
||||||
{
|
{
|
||||||
if (Focused)
|
if (Focused)
|
||||||
m_BackgroundColour = m_FocusedColour;
|
m_BackgroundColour = m_FocusedColour;
|
||||||
|
@ -7595,7 +7630,8 @@ void WordsView::MakeFocus (bool Focused)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void WordsView::MessageReceived (BMessage *MessagePntr)
|
void
|
||||||
|
WordsView::MessageReceived (BMessage *MessagePntr)
|
||||||
{
|
{
|
||||||
int32 CountFound;
|
int32 CountFound;
|
||||||
float DeltaY; /* Usually -1.0, 0.0 or +1.0. */
|
float DeltaY; /* Usually -1.0, 0.0 or +1.0. */
|
||||||
|
@ -7636,14 +7672,16 @@ void WordsView::MessageReceived (BMessage *MessagePntr)
|
||||||
|
|
||||||
/* If the user clicks on our view, take over the focus. */
|
/* If the user clicks on our view, take over the focus. */
|
||||||
|
|
||||||
void WordsView::MouseDown (BPoint)
|
void
|
||||||
|
WordsView::MouseDown (BPoint)
|
||||||
{
|
{
|
||||||
if (!IsFocus ())
|
if (!IsFocus ())
|
||||||
MakeFocus (true);
|
MakeFocus (true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void WordsView::MoveTextUpOrDown (uint32 MovementType)
|
void
|
||||||
|
WordsView::MoveTextUpOrDown (uint32 MovementType)
|
||||||
{
|
{
|
||||||
StatisticsMap::iterator DataIter;
|
StatisticsMap::iterator DataIter;
|
||||||
int i;
|
int i;
|
||||||
|
@ -7709,7 +7747,8 @@ changed. If the word list is different or the display has changed in some
|
||||||
other way, it will then try to refresh the display, repeating the attempt until
|
other way, it will then try to refresh the display, repeating the attempt until
|
||||||
it gets successfully drawn. */
|
it gets successfully drawn. */
|
||||||
|
|
||||||
void WordsView::Pulse ()
|
void
|
||||||
|
WordsView::Pulse ()
|
||||||
{
|
{
|
||||||
ABSApp *MyAppPntr;
|
ABSApp *MyAppPntr;
|
||||||
|
|
||||||
|
@ -7731,7 +7770,8 @@ it is in the left third, add the file(s) as examples of genuine messages, right
|
||||||
third for spam messages and if it is in the middle third then evaluate the
|
third for spam messages and if it is in the middle third then evaluate the
|
||||||
file(s) for spaminess. */
|
file(s) for spaminess. */
|
||||||
|
|
||||||
void WordsView::RefsDroppedHere (BMessage *MessagePntr)
|
void
|
||||||
|
WordsView::RefsDroppedHere (BMessage *MessagePntr)
|
||||||
{
|
{
|
||||||
float Left;
|
float Left;
|
||||||
bool SpamExample = true; /* TRUE if example is of spam, FALSE genuine. */
|
bool SpamExample = true; /* TRUE if example is of spam, FALSE genuine. */
|
||||||
|
|
Loading…
Reference in New Issue