From 5238ad5a0c4a9e1c8cd036f5de4055e39bd71297 Mon Sep 17 00:00:00 2001 From: Manuel Traut Date: Fri, 29 Apr 2011 09:09:27 +0200 Subject: added debootstrap stuff Signed-off-by: Manuel Traut --- .../usr/share/perl5/Debconf/FrontEnd/Kde.pm | 212 +++++++++++++++++++++ 1 file changed, 212 insertions(+) create mode 100644 beagle/debian-rfs/usr/share/perl5/Debconf/FrontEnd/Kde.pm (limited to 'beagle/debian-rfs/usr/share/perl5/Debconf/FrontEnd/Kde.pm') diff --git a/beagle/debian-rfs/usr/share/perl5/Debconf/FrontEnd/Kde.pm b/beagle/debian-rfs/usr/share/perl5/Debconf/FrontEnd/Kde.pm new file mode 100644 index 0000000..5483568 --- /dev/null +++ b/beagle/debian-rfs/usr/share/perl5/Debconf/FrontEnd/Kde.pm @@ -0,0 +1,212 @@ +#!/usr/bin/perl -w +# This file was preprocessed, do not edit! + + +package Debconf::FrontEnd::Kde; +use strict; +use utf8; +use Debconf::Gettext; +use Debconf::Config; +BEGIN { + eval { require QtCore4 }; + die "Unable to load QtCore -- is libqtcore4-perl installed?\n" if $@; + eval { require QtGui4 }; + die "Unable to load QtGui -- is libqtgui4-perl installed?\n" if $@; +} +use Debconf::FrontEnd::Kde::Wizard; +use Debconf::Log ':all'; +use base qw{Debconf::FrontEnd}; +use Debconf::Encoding qw(to_Unicode); + + + +our @ARGV_KDE=(); + +sub init { + my $this=shift; + + $this->SUPER::init(@_); + $this->interactive(1); + $this->cancelled(0); + $this->createdelements([]); + $this->dupelements([]); + $this->capb('backup'); + $this->need_tty(0); + + if (fork) { + wait(); # for child + if ($? != 0) { + die "DISPLAY problem?\n"; + } + } + else { + $this->qtapp(Qt::Application(\@ARGV_KDE)); + exit(0); # success + } + + $this->window_initted(0); + $this->kde_initted(0); +} + +sub init_kde { + my $this=shift; + + return if $this->kde_initted; + + debug frontend => "QTF: initializing app"; + $this->qtapp(Qt::Application(\@ARGV_KDE)); + $this->kde_initted(1); +} + +sub init_window { + my $this=shift; + $this->init_kde(); + return if $this->window_initted; + $this->{vbox} = Qt::VBoxLayout; + + debug frontend => "QTF: initializing wizard"; + $this->win(Debconf::FrontEnd::Kde::Wizard(undef,undef, $this)); + debug frontend => "QTF: setting size"; + $this->win->resize(620, 430); + my $hostname = `hostname`; + chomp $hostname; + $this->hostname($hostname); + debug frontend => "QTF: setting title"; + $this->win->setTitle(to_Unicode(sprintf(gettext("Debconf on %s"), $this->hostname))); + debug frontend => "QTF: initializing main widget"; + $this->{toplayout} = Qt::HBoxLayout(); + $this->win->setMainFrameLayout($this->toplayout); + $this->win->setTitle(to_Unicode(sprintf(gettext("Debconf on %s"), $this->hostname))); + $this->window_initted(1); +} + + +sub go { + my $this=shift; + my @elements=@{$this->elements}; + + + $this->init_window; + + + my $interactive=''; + debug frontend => "QTF: -- START ------------------"; + foreach my $element (@elements) { + next unless $element->can("create"); + + $element->create($this->frame); + $interactive=1; + debug frontend => "QTF: ADD: " . $element->question->description; + $this->{vbox}->addWidget($element->top); + } + + if ($interactive) { + foreach my $element (@elements) { + next unless $element->top; + debug frontend => "QTF: SHOW: " . $element->question->description; + $element->top->show; + } + my $scroll = Qt::ScrollArea($this->win); + my $widget = Qt::Widget($scroll); + $widget->setLayout($this->{vbox}); + $scroll->setWidget($widget); + $this->toplayout->addWidget($scroll); + + + if ($this->capb_backup) { + $this->win->setBackEnabled(1); + } + else { + $this->win->setBackEnabled(0); + } + $this->win->setNextEnabled(1); + + $this->win->show; + debug frontend => "QTF: -- ENTER EVENTLOOP --------"; + $this->qtapp->exec; + $this->qtapp->exit; + debug frontend => "QTF: -- LEFT EVENTLOOP --------"; + + $this->win->destroy(); + $this->window_initted(0); + + + } else { + foreach my $element (@elements) { + $element->show; + } + } + + debug frontend => "QTF: -- END --------------------"; + if ($this->cancelled) { + exit 1; + } + return '' if $this->goback; + return 1; +} + +sub progress_start { + my $this=shift; + $this->init_window; + $this->SUPER::progress_start(@_); + + my $element=$this->progress_bar; + $this->{vbox}->addWidget($element->top); + $element->top->show; + my $scroll = Qt::ScrollArea($this->win); + my $widget = Qt::Widget($scroll); + $widget->setLayout($this->{vbox}); + $scroll->setWidget($widget); + $this->toplayout->addWidget($scroll); + $this->win->setBackEnabled(0); + $this->win->setNextEnabled(0); + $this->win->show; + $this->qtapp->processEvents; +} + +sub progress_set { + my $this=shift; + my $ret=$this->SUPER::progress_set(@_); + + $this->qtapp->processEvents; + + return $ret; +} + +sub progress_info { + my $this=shift; + my $ret=$this->SUPER::progress_info(@_); + + $this->qtapp->processEvents; + + return $ret; +} + +sub progress_stop { + my $this=shift; + my $element=$this->progress_bar; + $this->SUPER::progress_stop(@_); + + $this->qtapp->processEvents; + + $this->win->setAttribute(Qt::WA_DeleteOnClose()); + $this->win->close; + $this->window_initted(0); + + if ($this->cancelled) { + exit 1; + } +} + + +sub shutdown { + my $this = shift; + if ($this->kde_initted) { + if($this->win) { + $this->win->destroy; + } + } +} + + +1 -- cgit v1.2.3