From 3caefbe5aa7c8be8057a0292032264145735fd7b Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Tue, 22 Feb 2000 17:19:02 +0000 Subject: no_comment --- perl-install/ChangeLog | 4 ++++ perl-install/Makefile | 4 ++-- perl-install/Makefile.drakxtools | 2 +- perl-install/Xconfigurator.pm | 40 +++++++++++++++++++++++++++++----------- perl-install/interactive_gtk.pm | 6 ++++-- perl-install/standalone/XFdrake | 2 +- 6 files changed, 41 insertions(+), 17 deletions(-) (limited to 'perl-install') diff --git a/perl-install/ChangeLog b/perl-install/ChangeLog index 82aa826d0..13e6198de 100644 --- a/perl-install/ChangeLog +++ b/perl-install/ChangeLog @@ -1,5 +1,9 @@ 2000-02-22 Pixel + * Xconfigurator.pm: load "Cards" database only to translate NAME + to fields. Added file CardsNames created from Cards using + share/Cards2CardsNames. Kind of list of normalized NAMEs + * MonitorsDB: replace the ` ' separator for vendor by `|' * install_steps_interactive.pm (timeConfig): use ask_from_treelist diff --git a/perl-install/Makefile b/perl-install/Makefile index 62f5dd7fe..6e3ed41c7 100644 --- a/perl-install/Makefile +++ b/perl-install/Makefile @@ -16,7 +16,7 @@ tar-drakxtools: clean $(MAKE) -C ../tools clean cd .. ; rm -rf drakxtools ; cp -af perl-install drakxtools ; cp -af tools/ddcprobe tools/pnp_serial drakxtools cd ../drakxtools ; rm -rf install* pkgs.pm ftp.pm t.pm */CVS ; mv Makefile.drakxtools Makefile ; mv -f standalone/* share/* . - cd .. ; tar cfy drakxtools.tar.bz2 --exclude CVS $(patsubst %,drakxtools/%,Makefile Makefile.config MonitorsDB Newt c ddcprobe pnp_serial po pci_probing resize_fat diskdrake.rc $(STANDALONEPMS) icons *.pm) + cd .. ; tar cfy drakxtools.tar.bz2 --exclude CVS $(patsubst %,drakxtools/%,Makefile Makefile.config MonitorsDB CardsNames Newt c ddcprobe pnp_serial po pci_probing resize_fat diskdrake.rc $(STANDALONEPMS) icons *.pm) cd .. ; rm -rf drakxtools $(DIRS): @@ -114,7 +114,7 @@ endif cd share ; cp -a keymaps $(DEST)/usr/share cd share ; cp -a consolefonts $(DEST)/usr/share cd share ; cp template.in/*.in $(DEST)/usr/share - cd share ; cp MonitorsDB $(DEST)/usr/X11R6/lib/X11 + cd share ; cp MonitorsDB CardsNames $(DEST)/usr/X11R6/lib/X11 cd share ; cp logo-mandrake.xpm $(DEST)/usr/share cd share ; cp -a themes $(DEST)/usr/share/gtk cd share ; cp compss compssUsers compssList $(ROOTDEST)/Mandrake/base diff --git a/perl-install/Makefile.drakxtools b/perl-install/Makefile.drakxtools index b0e1eff52..475940106 100644 --- a/perl-install/Makefile.drakxtools +++ b/perl-install/Makefile.drakxtools @@ -27,7 +27,7 @@ install: ln -s ../../$(patsubst $(PREFIX)/usr%,%,$(SBINDEST))/XFdrake $(BINX11DEST)/Xdrakres for i in *.pm ; do perl -pe '$$_ = "\n" if /\s*use\s+(diagnostics|vars|strict)/' $$i > $(LIBDEST)/$$i ; done - install -m 644 MonitorsDB $(LIBX11DEST) + install -m 644 MonitorsDB CardsNames $(LIBX11DEST) install -m 644 diskdrake.rc $(ETCDEST) install -m 644 po/*.po $(LIBDEST)/po install -m 644 $(patsubst %,Newt/%.pm,Newt) $(LIBDEST)/Newt diff --git a/perl-install/Xconfigurator.pm b/perl-install/Xconfigurator.pm index 6811ec4b4..2257b1785 100644 --- a/perl-install/Xconfigurator.pm +++ b/perl-install/Xconfigurator.pm @@ -37,6 +37,7 @@ sub readCardsDB { local *F; open F, $file or die "file $file not found"; + print "readCardsDB\n"; my ($lineno, $cmd, $val) = 0; my $fs = { @@ -84,6 +85,25 @@ sub readCardsDB { $cards{I128}{flags}{noclockprobe} = 1; \%cards; } +sub readCardsNames { + my $file = "$prefix/usr/X11R6/lib/X11/CardsNames"; + local *F; open F, $file or die "can't find $file\n"; + map { (split '=>')[0] } ; +} +sub cardName2RealName { + my $file = "$prefix/usr/X11R6/lib/X11/CardsNames"; + my ($name) = @_; + local *F; open F, $file or die "can't find $file\n"; + foreach () { chop; + my ($name_, $real) = split '=>'; + return $real if $name eq $name_; + } + $name; +} +sub cardName2card { + my ($name) = @_; + readCardsDB("$prefix/usr/X11R6/lib/X11/Cards")->{$name}; +} sub readMonitorsDB { my ($file) = @_; @@ -110,7 +130,7 @@ sub readMonitorsDB { $monitors{$l{type}} = \%l; } while (my ($k, $v) = each %standard_monitors) { - $monitors{" " . translate($k)} = + $monitors{_("Generic") . "|" . translate($k)} = { hsyncrange => $v->[1], vsyncrange => $v->[2] }; } } @@ -155,16 +175,14 @@ sub cardConfiguration(;$$$) { my ($card, $noauto, $allowFB) = @_; $card ||= {}; - readCardsDB("$prefix/usr/X11R6/lib/X11/Cards"); - - add2hash($card, $cards{$card->{type}}) if $card->{type}; #- try to get info from given type + add2hash($card, cardName2card($card->{type})) if $card->{type}; #- try to get info from given type undef $card->{type} unless $card->{server}; #- bad type as we can't find the server add2hash($card, cardConfigurationAuto()) unless $card->{server} || $noauto; $card->{server} = 'FBDev' unless !$allowFB || $card->{server} || $card->{type} || $noauto; - $card->{type} = $in->ask_from_list(_("Graphic card"), _("Select a graphic card"), ['Unlisted', keys %cards]) unless $card->{type} || $card->{server}; + $card->{type} = cardName2RealName($in->ask_from_treelist(_("Graphic card"), _("Select a graphic card"), '|', ['Unlisted', readCardsNames()])) unless $card->{type} || $card->{server}; undef $card->{type}, $card->{server} = $in->ask_from_list(_("X server"), _("Choose a X server"), $allowFB ? \@allservers : \@allbutfbservers ) if $card->{type} eq "Unlisted"; - add2hash($card, $cards{$card->{type}}) if $card->{type}; + add2hash($card, cardName2card($card->{type})) if $card->{type}; add2hash($card, { vendor => "Unknown", board => "Unknown" }); $card->{prog} = "/usr/X11R6/bin/XF86_$card->{server}"; @@ -222,9 +240,9 @@ sub monitorConfiguration(;$$) { } else { $monitor->{hsyncrange} && $monitor->{vsyncrange} and return $monitor; - readMonitorsDB(-e "MonitorsDB" ? "MonitorsDB" : "/usr/X11R6/lib/X11/MonitorsDB"); + readMonitorsDB("/usr/X11R6/lib/X11/MonitorsDB"); - add2hash($monitor, { type => $in->ask_from_treelist(_("Monitor"), _("Choose a monitor"), '|', ['Unlisted', keys %monitors], ' ' . translate($default_monitor)) }) unless $monitor->{type}; + add2hash($monitor, { type => $in->ask_from_treelist(_("Monitor"), _("Choose a monitor"), '|', ['Unlisted', keys %monitors], _("Generic") . '|' . translate($default_monitor)) }) unless $monitor->{type}; if ($monitor->{type} eq 'Unlisted') { $in->ask_from_entries_ref('', _("The two critical parameters are the vertical refresh rate, which is the rate @@ -473,9 +491,9 @@ sub chooseResolutionsGtk($$;$) { } gtkadd($W->{window}, gtkpack_($W->create_box_with_title(_("Choose resolution and color depth"), - "(" . ($o->{card}{type} ? - _("Graphic card: %s\n", $o->{card}{type}) : - _("XFree86 server: %s\n", $o->{card}{server})) . ")" + "(" . ($card->{type} ? + _("Graphic card: %s", $card->{type}) : + _("XFree86 server: %s", $card->{server})) . ")" ), 1, gtkpack(new Gtk::HBox(0,20), $depth_combo = new Gtk::Combo, diff --git a/perl-install/interactive_gtk.pm b/perl-install/interactive_gtk.pm index 62f0c3603..8d45913fe 100644 --- a/perl-install/interactive_gtk.pm +++ b/perl-install/interactive_gtk.pm @@ -53,7 +53,7 @@ sub ask_from_listW { $r or die "ask_from_list cancel"; } -sub ask_from_treelist { +sub ask_from_treelistW { my ($o, $title, $messages, $separator, $l, $def) = @_; my $sep = quotemeta $separator; my $w = my_gtk->new($title); @@ -95,9 +95,11 @@ sub ask_from_treelist { Gtk->main_quit; }; + $w->{ok_clicked} = $leave; + $w->{cancel_clicked} = sub { $o->destroy; die "ask_from_list cancel" }; #- make sure windows doesn't live any more. gtkadd($w->{window}, gtkpack_(new Gtk::VBox(0,0), - 1, gtkset_usize(createScrolledWindow($tree), 200, 280), + 1, gtkset_usize(createScrolledWindow($tree), 400, 350), 0, $w->create_okcancel)); $tree->set_selection_mode('browse'); $tree->signal_connect(tree_select_row => sub { $curr = $_[1]; }); diff --git a/perl-install/standalone/XFdrake b/perl-install/standalone/XFdrake index 6ebfbca0a..4ec8ef611 100755 --- a/perl-install/standalone/XFdrake +++ b/perl-install/standalone/XFdrake @@ -17,7 +17,7 @@ # 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 lib qw(.); #/usr/lib/libDrakX); use interactive; use Xconfigurator; -- cgit v1.2.1