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 / add-on_proposal.ycp < prev    next >
Text File  |  2006-11-29  |  2KB  |  72 lines

  1. /**
  2.  * Module:    add-on_proposal.ycp
  3.  *
  4.  * Authors:    Jiri Srain <jsrain@suse.cz>
  5.  *
  6.  * Purpose:    Proposal function dispatcher - add-no products
  7.  *
  8.  *        See also file proposal-API.txt for details.
  9.  */
  10. {
  11. textdomain "installation";
  12.  
  13. include "installation/add-on-workflow.ycp";
  14.  
  15. string func  = (string) WFM::Args(0);
  16. map    param = (map) WFM::Args(1);
  17. map    ret   = $[];
  18.  
  19. if ( func == "MakeProposal" )
  20. {
  21.     boolean force_reset      = param["force_reset"     ]:false;
  22.     boolean language_changed = param["language_changed"]:false;
  23.  
  24.     list<string> items = maplist (map<string,any> product, AddOnProduct::add_on_products, {
  25.     map data = Pkg::SourceGeneralData (product["media"]:-1);
  26.     // placeholder for unknown path
  27.     string dir = data["product_dir"]:_("Unknown");
  28.     if (dir == "")
  29.         dir = "/";
  30.     // summary item, %1 is product name, %2 media URL, %3 directory on media
  31.     return sformat ("%1 (Media %2, directory %3)", product["product"]:"", data["url"]:_("Unknown"), dir);
  32.     });
  33.     if (size (items) == 0)
  34.     {
  35.     // summary string
  36.     items = [ _("No add-on product selected for installation") ];
  37.     }
  38.     ret = $[
  39.     "raw_proposal" : items,
  40.     ];
  41. }
  42. else if ( func == "AskUser" )
  43. {
  44.     Wizard::CreateDialog();
  45.     symbol result = RunAddOnMainDialog (true, true);
  46.     UI::CloseDialog();
  47.  
  48.     // Fill return map
  49.  
  50.     ret = $[ "workflow_sequence" : result,
  51.          "mode_changed" : false];
  52. }
  53. else if ( func == "Description" )
  54. {
  55.     // Fill return map.
  56.     //
  57.     // Static values do just nicely here, no need to call a function.
  58.  
  59.     ret = $[
  60.       // this is a heading
  61.       "rich_text_title"    :    _( "Add-On Products"  ),
  62.       // this is a menu entry
  63.       "menu_title"    :    _( "Add-On &Products" ),
  64.       "id"        :    "add_on"
  65.     ];
  66. }
  67.  
  68. return ret;
  69.  
  70.  
  71. }
  72.