Initial checkin of the Expander replacement app.

Redone from scratch because we don't have Dan Lee's code.
Beta version. Testing is welcome.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7001 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval
2004-03-16 10:28:03 +00:00
parent a46dd4ec3e
commit 55a5a6bdfa
18 changed files with 3075 additions and 0 deletions
+115
View File
@@ -0,0 +1,115 @@
/*****************************************************************************/
// Expander
// Written by Jérôme Duval
//
// ExpanderApp.cpp
//
//
// Copyright (c) 2004 OpenBeOS Project
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the "Software"),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
// and/or sell copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
/*****************************************************************************/
#include <Alert.h>
#include "ExpanderApp.h"
#include "ExpanderWindow.h"
const char *APP_SIG = "application/x-vnd.obos-Expander";
int main(int, char **)
{
ExpanderApp theApp;
theApp.Run();
return 0;
}
ExpanderApp::ExpanderApp()
: BApplication(APP_SIG)
{
BPoint windowPosition = fSettings.Message().FindPoint("window_position");
BRect windowFrame(0,0,450,120);
windowFrame.OffsetBy(windowPosition);
BMessage settings(fSettings.Message());
fWindow = new ExpanderWindow(windowFrame, NULL, &settings);
}
void
ExpanderApp::AboutRequested()
{
BAlert *alert = new BAlert("about", "Expand-O-Matic\n"
"\twritten by Jérôme Duval\n"
"\tCopyright 2004, OpenBeOS.\n\n"
"original Be version by \n"
"Dominic, Hiroshi, Peter, Pavel and Robert\n", "Ok");
BTextView *view = alert->TextView();
BFont font;
view->SetStylable(true);
view->GetFont(&font);
font.SetSize(18);
font.SetFace(B_BOLD_FACE);
view->SetFontAndColor(0, 14, &font);
alert->Go();
}
void
ExpanderApp::ReadyToRun()
{
}
void
ExpanderApp::ArgvReceived(int32 argc, char **argv)
{
BMessage *msg = NULL;
for (int32 i = 1; i < argc; i++) {
entry_ref ref;
status_t err = get_ref_for_path(argv[i], &ref);
if (err == B_OK) {
if (!msg) {
msg = new BMessage;
msg->what = B_REFS_RECEIVED;
}
msg->AddRef("refs", &ref);
}
}
if (msg)
RefsReceived(msg);
}
void
ExpanderApp::RefsReceived(BMessage *msg)
{
BMessenger messenger(fWindow);
msg->AddBool("fromApp", true);
messenger.SendMessage(msg);
}
void
ExpanderApp::UpdateSettingsFrom(BMessage *message)
{
fSettings.UpdateFrom(message);
}