X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=recipes%2Fpandora-system%2Fpandora-scripts%2Fop_datetime.sh;h=3debe6968bcbe8dc0d977dea3bf1ed187f84466f;hb=e9b6b9e539ff88cbe37aea0d43e9970209338293;hp=654cc172565d3345e1f418e67be3040b3b62c4ae;hpb=30dd378df8c729bb7ee8a77c3f05bbcd65e34826;p=openpandora.oe.git diff --git a/recipes/pandora-system/pandora-scripts/op_datetime.sh b/recipes/pandora-system/pandora-scripts/op_datetime.sh old mode 100755 new mode 100644 index 654cc17..3debe69 --- a/recipes/pandora-system/pandora-scripts/op_datetime.sh +++ b/recipes/pandora-system/pandora-scripts/op_datetime.sh @@ -2,35 +2,83 @@ # Set the timezone and date/time -while ! timezone=$(zenity --list --title "Select your time zone" --text="Please select your time zone" --column="Select your time zone" --print-column=1 "GMT (London, Lisbon, Portugal, Casablanca, Morocco)" "GMT+1 (Paris, Berlin, Amsterdam, Bern, Stockholm)" "GMT+2 (Athens, Helsinki, Istanbul)" "GMT+3 (Kuwait, Nairobi, Riyadh, Moscow)" "GMT+4 (Abu Dhabi, Iraq, Muscat, Kabul)" "GMT+5 (Calcutta, Colombo, Islamabad, Madras, New Delhi)" "GMT+6 (Almaty, Dhakar, Kathmandu)" "GMT+7 (Bangkok, Hanoi, Jakarta)" "GMT+8 (Beijing, Hong Kong, Kuala Lumpar, Singapore, Taipei)" "GMT+9 (Osaka, Seoul, Sapporo, Tokyo, Yakutsk)" "GMT+10 (Brisbane, Melbourne, Sydney, Vladivostok)" "GMT+11 (Magadan, New Caledonia, Solomon Is)" "GMT+12 (Auckland, Fiji, Kamchatka, Marshall Is., Wellington, Suva)" "GMT-1 (Azores, Cape Verde Is.)" "GMT-2 (Mid-Atlantic)" "GMT-3 (Brasilia, Buenos Aires, Georgetown)" "GMT-4 (Atlantic Time, Caracas)" "GMT-5 (Bogota, Lima, New York)" "GMT-6 (Mexico City, Saskatchewan, Chicago, Guatamala)" "GMT-7 (Denver, Edmonton, Mountain Time, Phoenix, Salt Lake City)" "GMT-8 (Anchorage, Los Angeles, San Francisco, Seattle)" "GMT-9 (Alaska)" "GMT-10 (Hawaii, Honolulu)" "GMT-11 (Midway Island, Samoa)" "GMT-12 (Eniwetok, Kwaialein)" "UTC" "Universal" --width=500 --height=450) || [ "x$timezone" = "x" ] ; do - zenity --title="Error" --error --text="Please select a time zone." --timeout=6 -done -timezone=`echo $timezone | sed 's/(.*)//g'` -echo $timezone -echo rm /etc/localtime && ln -s /usr/share/zoneinfo/Etc/$timezone /etc/localtime - -#Make sure we clean up any leading zeros in the day (as Zenity freaks out) -date_d=`date +%d | sed 's/^0//'` -date_m=`date +%m`| sed 's/^0//'` -date_y=`date +%Y` - - -while ! date=$(zenity --calendar --text="Please select the current date" --title "Please select the current date" --day=$date_d --month=$date_m --year=$date_y --date-format="%Y%m%d" --width=500) || [ "x$date" = "x" ] ; do - zenity --title="Error" --error --text="Please select the date." --timeout 6 -done - -echo $date - -time_h=`date +%H` -time_m=`date +%M` - -while ! time=$(zenity --title="Enter actual time" --entry --text "Please enter the time in 24hour format (HH:MM):" --entry-text "$time_h:$time_m") || [ "x$time" = "x" ] ; do - zenity --title="Error" --error --text="Please input the time." --timeout 6 -done - -while ! date -d $time ; do - time=$(zenity --title="Enter actual time" --entry --text "Please enter the time in 24hour format (HH:MM):" --entry-text "$time_h:$time_m") -done - -date +%Y%m%d -s $date -date +%H:%M -s $time +while mainsel=$(zenity --title="Date / Time / Timezone" --width="400" --height="250" --list --column "id" --column "Please select" --hide-column=1 --text="You can set the time and date or select a different timezone.\n" "td" "Change Time and Date" "tz" "Select Timezone" "sync" "Sync time over Internet" --ok-label="Change Setting" --cancel-label="Exit"); do + + +case $mainsel in + + "tz") + + while ! area=$(zenity --list --title "Select your time zone" --text="Please select your area" --column="Select your area" --print-column=1 "Africa" "America" "Asia" "Australia" "Europe" "Pacific" --width=500 --height=260) || [ "x$area" = "x" ] ; do + zenity --title="Error" --error --text="Please select your area." --timeout=6 + done + + while ! timezone=$(ls -1 /usr/share/zoneinfo/$area | zenity ---width=500 --height=200 --title="Select your closest location" --list --column "Closest Location" --text "Please select the location closest to you") || [ "x$timezone" = "x" ] ; do + zenity --title="Error" --error --text="Please select your location." --timeout=6 + done + + echo $timezone + rm /etc/localtime && ln -s /usr/share/zoneinfo/$area/$timezone /etc/localtime + ;; + + "td") + + #Make sure we clean up any leading zeros in the day (as Zenity freaks out) + date_d=`date +%d | sed 's/^0//'` + date_m=`date +%m | sed 's/^0//'` + date_y=`date +%Y` + + date="" + while [ "x$date" = "x" ] ; do + date=$(zenity --calendar --text="Please select the current date" --title "Please select the current date" --day=$date_d --month=$date_m --year=$date_y --date-format="%Y%m%d" --width=500) || exit 1 + done + + echo $date + + time_h=`date +%H` + time_m=`date +%M` + + while true; do + time=$(zenity --title="Enter actual time" --entry --text "Please enter the time in 24hour format (HH:MM).\n" --entry-text "$time_h:$time_m") || exit 1 + if test -n "$time" && date -d "$time"; then + break; + fi + zenity --title="Error" --error --text="Please input the time." --timeout 6 + done + + # take care of screensaver first + screensaver_enabled=true + if xset q | grep -A2 'Screen Saver' | grep -q 'timeout:.*\<0\>.*cycle'; then + screensaver_enabled=false + fi + xset s off + + date +%Y%m%d -s $date + date +%H:%M -s $time + hwclock -u -w + + if $screensaver_enabled; then + xset s on + fi + ;; + "sync") + screensaver_enabled=true + if xset q | grep -A2 'Screen Saver' | grep -q 'timeout:.*\<0\>.*cycle'; then + screensaver_enabled=false + fi + xset s off + ( + test -e /etc/init.d/ntpd && sudo /etc/init.d/ntpd stop + sudo ntpdate pool.ntp.org + ) | + zenity --progress \ + --title="Syncing..." \ + --text="Syncing with time server...\nPlease wait a while..." \ + --pulsate + test -e /etc/init.d/ntpd && sudo /etc/init.d/ntpd start + if $screensaver_enabled; then + xset s on + fi + ;; +esac +done