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

  1. /**
  2.  * File:        timezone_proposal.ycp
  3.  *
  4.  * $Id: timezone_proposal.ycp 25808 2005-10-05 15:13:41Z jsuchome $
  5.  *
  6.  * Author:        Klaus Kaempf <kkaempf@suse.de>
  7.  *
  8.  * Purpose:        Proposal function dispatcher - timezone.
  9.  *
  10.  *            See also file proposal-API.txt for details.
  11.  */
  12. {
  13.     textdomain "country";
  14.  
  15.     import "Timezone";
  16.     import "Wizard";
  17.  
  18.     include "timezone/dialogs.ycp";
  19.  
  20.     string func  = (string) WFM::Args(0);
  21.     map    param = (map) WFM::Args(1);
  22.     map    ret   = $[];
  23.  
  24.     if ( func == "MakeProposal" )
  25.     {
  26.     boolean force_reset      = param["force_reset"     ]:false;
  27.     boolean language_changed = param["language_changed"]:false;
  28.  
  29.     map m = (map) SCR::Execute( .target.bash_output, "/bin/date +%Y" );
  30.     y2milestone ("date call: %1", m);
  31.  
  32.     if (tointeger (m["stdout"]:"0") < 2004)
  33.     {
  34.         ret["raw_proposal"] = [];
  35.         map m = (map)SCR::Execute( .target.bash_output, "/bin/date" );
  36.         // error text, %1 is output of 'date' command
  37.         ret["warning"] = sformat( _("Time %1 is in the past.
  38. Set a correct time before starting installation."), m["stdout"]:"" );
  39.             ret["warning_level"] = `blocker;
  40.     }
  41.     else
  42.     {
  43.         import "Storage";
  44.         if (!Timezone::windows_partition &&
  45.         size (Storage::GetWinPrimPartitions(Storage::GetTargetMap()))>0)
  46.         {
  47.         Timezone::windows_partition = true;
  48.         y2milestone ("windows partition found: assuming local time");
  49.         }
  50.  
  51.         // Fill return map
  52.         ret = $[
  53.         "raw_proposal"        : [
  54.             Timezone::MakeProposal (force_reset, language_changed) ],
  55.         "language_changed"    : false
  56.         ];
  57.     }
  58.     }
  59.     else if ( func == "AskUser" )
  60.     {
  61.     Wizard::OpenAcceptDialog();
  62.  
  63.     symbol result = TimezoneDialog ($[
  64.         "enable_next": param["has_next"]:false]
  65.     );
  66.     Wizard::CloseDialog();
  67.  
  68.     // Fill return map
  69.     ret = $[
  70.         "workflow_sequence" : result,
  71.         "language_changed"  : false
  72.            ];
  73.     }
  74.     else if ( func == "Description" )
  75.     {
  76.     // Fill return map.
  77.     //
  78.     // Static values do just nicely here, no need to call a function.
  79.  
  80.     ret =
  81.         $[
  82.           // summary item
  83.           "rich_text_title"    :    _("Time Zone"),
  84.           // menue label text
  85.           "menu_title"    :    _("&Time Zone"),
  86.           "id"        :    "timezone_stuff"
  87.         ];
  88.     }
  89.  
  90.     return ret;
  91. }
  92.