diff options
author | Mystery Man <unknown@mandriva.org> | 2004-06-15 16:50:22 +0000 |
---|---|---|
committer | Mystery Man <unknown@mandriva.org> | 2004-06-15 16:50:22 +0000 |
commit | 8ea9beca90c410e12593fedfb6e741dbdf8795d0 (patch) | |
tree | 544a377d0ea57462110009fbbbfd14473390e2a1 /perl-install/install_gtk.pm | |
parent | b5dc638815c772056e07cd013f5b1674900456d5 (diff) | |
download | drakx-8ea9beca90c410e12593fedfb6e741dbdf8795d0.tar drakx-8ea9beca90c410e12593fedfb6e741dbdf8795d0.tar.gz drakx-8ea9beca90c410e12593fedfb6e741dbdf8795d0.tar.bz2 drakx-8ea9beca90c410e12593fedfb6e741dbdf8795d0.tar.xz drakx-8ea9beca90c410e12593fedfb6e741dbdf8795d0.zip |
This commit was manufactured by cvs2svn to create branch 'mandrakesoft'.topic/mandrakesoft
Diffstat (limited to 'perl-install/install_gtk.pm')
-rw-r--r-- | perl-install/install_gtk.pm | 314 |
1 files changed, 0 insertions, 314 deletions
diff --git a/perl-install/install_gtk.pm b/perl-install/install_gtk.pm deleted file mode 100644 index c7086f915..000000000 --- a/perl-install/install_gtk.pm +++ /dev/null @@ -1,314 +0,0 @@ -package install_gtk; # $Id$ - -use diagnostics; -use strict; - -use ugtk2 qw(:wrappers :helpers :create); -use common; -use lang; -use devices; - -#-##################################################################################### -#-INTERN CONSTANT -#-##################################################################################### - -my @background; - -#- if we're running for the doc team, we want screenshots with -#- a good B&W contrast: we'll override values of our theme -my $theme_overriding_for_doc = q(style "galaxy-default" -{ - base[SELECTED] = "#E0E0FF" - base[ACTIVE] = "#E0E0FF" - base[PRELIGHT] = "#E0E0FF" - bg[SELECTED] = "#E0E0FF" - bg[ACTIVE] = "#E0E0FF" - bg[PRELIGHT] = "#E0E0FF" - text[ACTIVE] = "#000000" - text[PRELIGHT] = "#000000" - text[SELECTED] = "#000000" - fg[SELECTED] = "#000000" -} - -style "white-on-blue" -{ - base[NORMAL] = { 0.93, 0.93, 0.93 } - bg[NORMAL] = { 0.93, 0.93, 0.93 } - - text[NORMAL] = "#000000" - fg[NORMAL] = "#000000" -} - -style "background" -{ - bg[NORMAL] = { 0.93, 0.93, 0.93 } -} - -style "background-logo" -{ - bg[NORMAL] = { 0.70, 0.70, 0.70 } -} -widget "*logo*" style "background-logo" - -); - -#------------------------------------------------------------------------------ -sub load_rc { - my ($o, $name) = @_; - - if (my $f = -r $name ? $name - : find { -r $_ } map { "$_/themes-$name.rc" } ("share", $ENV{SHARE_PATH}, dirname(__FILE__))) { - my @contents = cat_($f); - $o->{doc} and push @contents, $theme_overriding_for_doc; - - Gtk2::Rc->parse_string(join("\n", @contents)); - foreach (@contents) { - if (/style\s+"background"/ .. /^\s*$/) { - @background = map { $_ * 256 * 257 } split ',', $1 if /NORMAL.*\{(.*)\}/; - } - } - } - - if ($::move) { - #- override selection color since we won't do inverse-video on the text when it's images - Gtk2::Rc->parse_string(q( -style "galaxy-default" -{ - base[ACTIVE] = "#CECECE" - base[SELECTED] = "#CECECE" - text[ACTIVE] = "#000000" - text[PRELIGHT] = "#000000" - text[SELECTED] = "#000000" -} -)); - } -} - -#------------------------------------------------------------------------------ -sub load_font { - my ($o) = @_; - - if (lang::text_direction_rtl()) { - Gtk2::Widget->set_default_direction('rtl'); - my ($x, $y) = $::WizardWindow->get_position; - my ($width) = $::WizardWindow->get_size; - $::WizardWindow->move($::rootwidth - $width - $x, $y); - } - - Gtk2::Rc->parse_string(q( -style "default-font" -{ - font_name = ") . lang::l2pango_font($o->{locale}{lang}) . q(" -} -widget "*" style "default-font" - -)); -} - -#------------------------------------------------------------------------------ -sub default_theme { - my ($o) = @_; - $::move ? '/usr/share/themes/Galaxy/gtk-2.0/gtkrc' : - $o->{meta_class} eq 'firewall' ? 'mdk-Firewall' : - $o->{simple_themes} || $o->{vga16} ? 'blue' : 'galaxy'; -} - -sub install_theme { - my ($o) = @_; - - load_rc($o, $o->{theme} ||= default_theme($o)); - load_font($o); - gtkset_background(@background) if !$::move; -} - -#------------------------------------------------------------------------------ -sub create_help_window { - my ($o) = @_; - - my $w; - if ($w = $o->{help_window}) { - $w->{window}->foreach(sub { $_[0]->destroy }, undef); - } else { - $w = $o->{help_window} = bless {}, 'ugtk2'; - $w->{rwindow} = $w->{window} = Gtk2::Window->new('toplevel'); - $w->{rwindow}->set_uposition($::rootwidth - $::helpwidth, $::rootheight - $::helpheight); - $w->{rwindow}->set_size_request($::helpwidth, $::helpheight); - $w->{rwindow}->set_title('skip'); - }; - gtkadd($w->{window}, create_scrolled_window($o->{help_window_text} = Gtk2::TextView->new)); - $w->show; -} - -#------------------------------------------------------------------------------ -my %steps; -sub create_steps_window { - my ($o) = @_; - - return if $::stepswidth == 0; - - $o->{steps_window} and $o->{steps_window}->destroy; - my $w = bless {}, 'ugtk2'; - $w->{rwindow} = $w->{window} = Gtk2::Window->new('toplevel'); - $w->{rwindow}->set_uposition(lang::text_direction_rtl() ? ($::rootwidth - $::stepswidth - 8) : 8, 150); - $w->{rwindow}->set_size_request($::stepswidth, -1); - $w->{rwindow}->set_name('Steps'); - $w->{rwindow}->set_title('skip'); - - $steps{$_} ||= gtkcreate_pixbuf("steps_$_") foreach qw(on off); - my $category = sub { gtkset_markup(Gtk2::Label->new, - $o->{doc} ? $_[0] : '<span foreground="gray81">' . $_[0] . '</span>') }; - - gtkpack__(my $vb = Gtk2::VBox->new(0, 3), $steps{inst} = $category->(N("System installation")), ''); - foreach (grep { !eval $o->{steps}{$_}{hidden} } @{$o->{orderedSteps}}) { - $_ eq 'setRootPassword' - and gtkpack__($vb, '', '', $steps{conf} = $category->(N("System configuration")), ''); - $steps{steps}{$_} = { img => gtkcreate_img('steps_off.png'), - txt => Gtk2::Label->new(translate($o->{steps}{$_}{text})) }; - gtkpack__($vb, gtkpack__(Gtk2::HBox->new(0, 7), $steps{steps}{$_}{img}, $steps{steps}{$_}{txt})); - - } - - gtkadd($w->{window}, $vb); - $w->show; - $o->{steps_window} = $w; -} - -sub update_steps_position { - my ($o) = @_; - return if !$steps{steps}; - my $last_step; - foreach (@{$o->{orderedSteps}}) { - exists $steps{steps}{$_} or next; - if ($o->{steps}{$_}{entered} && !$o->{steps}{$_}{done}) { - $steps{steps}{$_}{img}->set_from_pixbuf($steps{on}); - $last_step and $steps{steps}{$last_step}{img}->set_from_pixbuf($steps{off}); - return; - } - $last_step = $_; - } -} - -#------------------------------------------------------------------------------ -sub create_logo_window { - my ($o) = @_; - - return if $::logowidth == 0 || $::move; - - gtkdestroy($o->{logo_window}); - - my $w = bless {}, 'ugtk2'; - $w->{rwindow} = $w->{window} = Gtk2::Window->new('toplevel'); -# $w->{rwindow}->set_position(0, 0); - $w->{rwindow}->set_size_request($::logowidth, $::logoheight); - $w->{rwindow}->set_name("logo"); - $w->{rwindow}->set_title('skip'); - $w->show; - my $file = $o->{meta_class} eq 'firewall' ? "logo-mandrake-Firewall.png" : "logo-mandrake.png"; - -r $file or $file = "$ENV{SHARE_PATH}/$file"; - -r $file and gtkadd($w->{window}, gtkcreate_img($file)); - $o->{logo_window} = $w; -} - -#------------------------------------------------------------------------------ -sub init_gtk { - my ($o) = @_; - - symlink("/tmp/stage2/etc/$_", "/etc/$_") foreach qw(gtk-2.0 pango fonts); - - if ($o->{vga16}) { - #- inactivate antialias in VGA16 because it makes fonts look worse - output('/tmp/fonts.conf', -q(<fontconfig> -<include>/etc/fonts/fonts.conf</include> -<match target="font"><edit name="antialias"><bool>false</bool></edit></match> -</fontconfig> -)); - $ENV{FONTCONFIG_FILE} = '/tmp/fonts.conf'; - } - - Gtk2->init; - Gtk2->set_locale; -} - -#------------------------------------------------------------------------------ -sub init_sizes() { - ($::rootwidth, $::rootheight) = (Gtk2::Gdk->screen_width, Gtk2::Gdk->screen_height); - #- ($::rootheight, $::rootwidth) = (min(768, $::rootheight), min(1024, $::rootwidth)); - $::stepswidth = $::rootwidth <= 640 ? 0 : 200 if !$::move; - ($::logowidth, $::logoheight) = $::rootwidth <= 640 ? (0, 0) : (500, 40); - ($::helpwidth, $::helpheight) = ($::rootwidth - $::stepswidth, $::move && 15); - ($::windowwidth, $::windowheight) = ($::rootwidth - $::stepswidth, $::rootheight - $::helpheight - $::logoheight); - ($::real_windowwidth, $::real_windowheight) = (576, 418); - $::move and $::windowwidth -= 100; -} - -#------------------------------------------------------------------------------ -sub createXconf { - my ($file, $mouse_type, $mouse_dev, $_wacom_dev, $Driver) = @_; - - symlinkf(devices::make($mouse_dev), "/dev/mouse") if $mouse_dev ne 'none'; - - #- needed for imlib to start on 8-bit depth visual. - symlink("/tmp/stage2/etc/imrc", "/etc/imrc"); - symlink("/tmp/stage2/etc/im_palette.pal", "/etc/im_palette.pal"); - - #- remove "error opening security policy file" warning - symlink("/tmp/stage2/etc/X11", "/etc/X11"); - -if ($Driver) { - output($file, sprintf(<<'END', $mouse_type, $Driver, $Driver eq 'fbdev' ? '"default"' : '"800x600" "640x480"')); - -Section "Files" - FontPath "/usr/X11R6/lib/X11/fonts:unscaled" -EndSection - -Section "InputDevice" - Identifier "Keyboard" - Driver "Keyboard" - Option "XkbDisable" - Option "XkbModel" "pc105" - Option "XkbLayout" "" -EndSection - -Section "InputDevice" - Identifier "Mouse" - Driver "mouse" - Option "Protocol" "%s" - Option "Device" "/dev/mouse" - Option "ZAxisMapping" "4 5" -EndSection - -Section "Monitor" - Identifier "monitor" - HorizSync 31.5-35.5 - VertRefresh 50-70 -EndSection - -Section "Device" - Identifier "device" - Driver "%s" -EndSection - -Section "Screen" - Identifier "screen" - Device "device" - Monitor "monitor" - DefaultColorDepth 16 - Subsection "Display" - Depth 16 - Modes %s - EndSubsection -EndSection - -Section "ServerLayout" - Identifier "layout" - Screen "screen" - InputDevice "Mouse" "CorePointer" - InputDevice "Keyboard" "CoreKeyboard" -EndSection - -END - } -} - -1; |