コード例 #1
0
ファイル: gui.c プロジェクト: mmuman/NetSurf
static nserror nsgtk_messages_init(char **respaths)
{
	const char *messages;
	nserror ret;
	const uint8_t *data;
	size_t data_size;

	ret = nsgtk_data_from_resname("Messages", &data, &data_size);
	if (ret == NSERROR_OK) {
		ret = messages_add_from_inline(data, data_size);
	} else {
		/* Obtain path to messages */
		ret = nsgtk_path_from_resname("Messages", &messages);
		if (ret == NSERROR_OK) {
			ret = messages_add_from_file(messages);
		}
	}
	return ret;
}
コード例 #2
0
ファイル: gui.cpp プロジェクト: janrinze/netsurf
/** Normal entry point from OS */
int main(int argc, char** argv)
{
	nserror ret;
	BPath options;
	struct netsurf_table beos_table = {
		&beos_misc_table,
		beos_window_table,
		beos_download_table,
		beos_clipboard_table,
                &beos_fetch_table,
                NULL, /* use POSIX file */
                NULL, /* default utf8 */
                NULL, /* default search */
                NULL, /* default web search */
                NULL, /* default low level cache persistant storage */
                beos_bitmap_table,
                beos_layout_table
	};

        ret = netsurf_register(&beos_table);
        if (ret != NSERROR_OK) {
		die("NetSurf operation table failed registration");
        }

	if (find_directory(B_USER_SETTINGS_DIRECTORY, &options, true) == B_OK) {
		options.Append("x-vnd.NetSurf");
	}

	if (!replicated) {
		// create the Application object before trying to use messages
		// so we can open an alert in case of error.
		new NSBrowserApplication;
	}

	/* initialise logging. Not fatal if it fails but not much we
	 * can do about it either.
	 */
	nslog_init(nslog_stream_configure, &argc, argv);

	/* user options setup */
	ret = nsoption_init(set_defaults, &nsoptions, &nsoptions_default);
	if (ret != NSERROR_OK) {
		die("Options failed to initialise");
	}
	nsoption_read(options.Path(), NULL);
	nsoption_commandline(&argc, argv, NULL);

	/* common initialisation */
	BResources resources;
	resources.SetToImage((const void*)main);
	size_t size = 0;
	
	char path[12];
	sprintf(path,"%.2s/Messages", getenv("LC_MESSAGES"));
	fprintf(stderr, "Loading messages from resource %s\n", path);

	const uint8_t* res = (const uint8_t*)resources.LoadResource('data', path, &size);
	if (size > 0 && res != NULL) {
		ret = messages_add_from_inline(res, size);
	} else {
		BPath messages = get_messages_path();
        ret = messages_add_from_file(messages.Path());
	}

        ret = netsurf_init(NULL);
	if (ret != NSERROR_OK) {
		die("NetSurf failed to initialise");
	}

	gui_init(argc, argv);

	while (!nsbeos_done) {
		nsbeos_gui_poll();
	}

	netsurf_exit();

	return 0;
}