home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / root / usr / share / YaST2 / clients / inst_media.ycp < prev    next >
Text File  |  2006-11-29  |  2KB  |  88 lines

  1. /**
  2.  * Module:    inst_media.ycp
  3.  *
  4.  * Authors:    Arvin Schnell <arvin@suse.de>
  5.  *
  6.  * Purpose:    Show some stuff about the installation media.
  7.  */
  8. {
  9.     textdomain "packager";
  10.  
  11.     import "Label";
  12.     import "Popup";
  13.     import "Wizard";
  14.     import "Packages";
  15.     import "String";
  16.  
  17.  
  18.     list source_list = [];
  19.  
  20.     integer num = size (Packages::theSources);
  21.     if (num <= 0)
  22.     {
  23.     y2error ("Invalid source");
  24.     }
  25.     else
  26.     {
  27.     foreach (integer i, Packages::theSources, {
  28.         map new_product = Pkg::SourceProductData (i);
  29.         source_list = add (source_list,
  30.                    `item (`id (i),String::Pad( new_product["productname"]:_("Unknown"), 10 ),
  31.                       new_product["productversion"]:_("Unknown")));
  32.     });
  33.     }
  34.  
  35.  
  36.     // screen title
  37.     string title = _("Installation Media");
  38.  
  39.     // label for showing installation sources
  40.     string label = _("Registered Catalogs");
  41.  
  42.     // help text for dialog to show installation sources
  43.     string help_text = _("<p>All registered installation sources are shown here.
  44. </p>
  45. ");
  46.  
  47.     term contents =
  48.     `VBox (
  49.            `HCenter (
  50.              `HSquash (
  51.                    `VBox (
  52.                       `HSpacing( 40 ),    // force minimum width
  53.                       `Left (`Label (label)),
  54.                       `Table (`id (`sources),
  55.                             // table header
  56.                           `header (_("Name"),
  57.                             // table header
  58.                                _("Version")),
  59.                           source_list)
  60.                       )
  61.                    )
  62.              ),
  63.            `VSpacing (2)
  64.            );
  65.  
  66.  
  67.     Wizard::OpenAcceptDialog ();
  68.     Wizard::SetContents (title, contents, help_text,
  69.              (boolean) WFM::Args(0), (boolean) WFM::Args(1));
  70.  
  71.     any ret = nil;
  72.  
  73.     while (true)
  74.     {
  75.     ret = Wizard::UserInput ();
  76.  
  77.     if (ret == `abort && Popup::ConfirmAbort (`painless))
  78.         break;
  79.  
  80.     if (ret == `cancel || ret == `back || ret == `next)
  81.         break;
  82.     }
  83.  
  84.     Wizard::CloseDialog ();
  85.  
  86.     return ret;
  87. }
  88.