summaryrefslogtreecommitdiff
path: root/beos/about.cpp
diff options
context:
space:
mode:
authorFrançois Revol <revol@free.fr>2014-01-01 19:23:28 +0100
committerFrançois Revol <revol@free.fr>2014-01-04 19:44:05 +0100
commitf713cdd90b1b13d790f5e062a28c729aa98f6933 (patch)
treedac796e22c539d1cda89cf410929472a610a9f42 /beos/about.cpp
parent1025a49cb6c0eee0b66ac74eb5f639001643fe90 (diff)
downloadnetsurf-f713cdd90b1b13d790f5e062a28c729aa98f6933.tar.gz
netsurf-f713cdd90b1b13d790f5e062a28c729aa98f6933.tar.bz2
beos: Add credits and licence buttons to about box
We'll simplify it to just mention version infos like on atari.
Diffstat (limited to 'beos/about.cpp')
-rw-r--r--beos/about.cpp21
1 files changed, 17 insertions, 4 deletions
diff --git a/beos/about.cpp b/beos/about.cpp
index f8447fa2a..3f7adf7fc 100644
--- a/beos/about.cpp
+++ b/beos/about.cpp
@@ -28,6 +28,8 @@ extern "C" {
#include "beos/window.h"
#include <Alert.h>
+#include <Application.h>
+#include <Invoker.h>
#include <ScrollView.h>
#include <String.h>
#include <TextView.h>
@@ -102,18 +104,29 @@ static void add_section(BTextView *textview, const char *header,
void nsbeos_about(struct gui_window *gui)
{
BAlert *alert;
- alert = new BAlert("about", "", /*"HomePage",*/ "Ok");
+ alert = new BAlert("about", "", "Credits", "Licence", "Ok");
//XXX: i18n-ize
BTextView *tv = alert->TextView();
+ BHandler *target = be_app;
+ BMessage *message = new BMessage(ABOUT_BUTTON);
+ BInvoker *invoker = NULL;
if (gui) {
- alert->SetFeel(B_MODAL_SUBSET_WINDOW_FEEL);
nsbeos_scaffolding *s = nsbeos_get_scaffold(gui);
if (s) {
NSBrowserWindow *w = nsbeos_get_bwindow_for_scaffolding(s);
- if (w)
+ if (w) {
+ alert->SetFeel(B_MODAL_SUBSET_WINDOW_FEEL);
alert->AddToSubset(w);
+ }
+ NSBaseView *v = nsbeos_get_baseview_for_scaffolding(s);
+ if (v) {
+ if (w)
+ message->AddPointer("Window", w);
+ target = v;
+ }
}
}
+ invoker = new BInvoker(message, target);
// make space for controls
alert->ResizeBy(200, 640);
@@ -130,5 +143,5 @@ void nsbeos_about(struct gui_window *gui)
add_section(tv, "documenters", documenters);
add_section(tv, url_label, url);
- alert->Go(NULL);
+ alert->Go(invoker);
}