#!/usr/bin/perl # DrakBoot # $Id: display_release_notes 242795 2008-05-29 15:38:07Z tv $ # Copyright (C) 2009 Mandriva # Thierry Vignaud # # This program 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; either version 2, or (at your option) # any later version. # # This program 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, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. use lib qw(/usr/lib/libDrakX); use common; use any; use mygtk2 qw(gtknew); use ugtk2 qw(:wrappers :create); use Gtk2::WebKit; my $view = gtknew('WebKit_View', no_popup_menu => 1); my $websettings = $view->get_settings; $websettings->set_property('allow-scripts-to-close-windows', 1); $view->set_settings($websettings); $view->signal_connect('close-web-view', sub { ugtk2::exit(0) }); $view->open($ARGV[0]); # FIXME: merge this with mcc code into new mygtk2::set_standalone_main_window_size()? my ($rootwin_width, $rootwin_height) = gtkroot()->get_size; my ($default_width, $default_height); my $wm = any::running_window_manager(); my $is_firstime = to_bool($wm =~ /drakx-matchbox-window-manager/); if (!$is_firstime) { # wide enough to embedd help snapshots: $default_width = $rootwin_width <= 800 ? 720 : 840; $default_height = $rootwin_height <= 480 ? 420 : $rootwin_height <= 600 ? 523 : 600; } else { # full screen mode for First Time Wizard and the like: ($default_width, $default_height) = ($rootwin_width, $rootwin_height); } # TODO: got XID from mcc/... ? (transient & modal hints?) my $w = ugtk2->new(N("Help"), width => $default_width, height => $default_height); gtkadd($w->{rwindow}, gtkpack_(Gtk2::VBox->new, if_(!$is_firstime, 0, gtknew('Title2', label => N("Help")), 0, Gtk2::HSeparator->new, ), 1, create_scrolled_window(gtkset_border_width($view, 5), [ 'never', 'automatic' ]), #1, gtknew('ScrolledWindow', child => $view, border_width => 5, h_policy => 'never'); 0, Gtk2::HSeparator->new, if_(!$is_firstime, 0, gtkpack(create_hbox('end'), gtknew('Button', text => N("Close"), clicked => sub { Gtk2->main_quit }) ), ), ), ); $w->{real_window}->show_all; $w->main;