summaryrefslogtreecommitdiff
path: root/beos/about.cpp
blob: 7db71453d20dd4d15742882220dce76e4deb1715 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/*
 * Copyright 2008 Fran├žois Revol <mmu_man@users.sourceforge.net>
 *
 * This file is part of NetSurf, http://www.netsurf-browser.org/
 *
 * NetSurf is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; version 2 of the License.
 *
 * NetSurf is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#define __STDBOOL_H__	1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
extern "C" {
#include "desktop/version.h"
#include "utils/log.h"
#include "testament.h"
#include "utils/useragent.h"
#include "curl/curlver.h"
#include "desktop/gui_clipboard.h"
}
#include "beos/about.h"
#include "beos/scaffolding.h"
#include "beos/window.h"

#include <Alert.h>
#include <Application.h>
#include <Invoker.h>
#include <String.h>


/**
 * Creates the about alert
 */
void nsbeos_about(struct gui_window *gui)
{
	BString text;
	text << "Netsurf  : " << user_agent_string() << "\n";
	text << "Version  : " << netsurf_version << "\n";
	text << "Build ID : " << WT_REVID << "\n";
	text << "Date     : " << WT_COMPILEDATE << "\n";
	text << "cURL     : " << LIBCURL_VERSION << "\n";

	BAlert *alert = new BAlert("about", text.String(), "Credits", "Licence", "Ok");

	BHandler *target = be_app;
	BMessage *message = new BMessage(ABOUT_BUTTON);
	BInvoker *invoker = NULL;
	if (gui) {
		nsbeos_scaffolding *s = nsbeos_get_scaffold(gui);
		if (s) {
			NSBrowserWindow *w = nsbeos_get_bwindow_for_scaffolding(s);
			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);

	//TODO: i18n-ize

	alert->Go(invoker);
}