185 lines
7.7 KiB
Diff
185 lines
7.7 KiB
Diff
|
|
From 303b072992542dfa9a7e2b2a9dc99120564a3f07 Mon Sep 17 00:00:00 2001
|
||
|
|
From: sun_hai_10 <sunhai10@huawei.com>
|
||
|
|
Date: Mon, 7 Nov 2022 14:23:04 +0800
|
||
|
|
Subject: [PATCH] modify timezone and delete datezone map
|
||
|
|
|
||
|
|
---
|
||
|
|
pyanaconda/modules/timezone/installation.py | 4 +-
|
||
|
|
pyanaconda/modules/timezone/timezone.py | 2 +-
|
||
|
|
pyanaconda/ui/gui/spokes/datetime_spoke.glade | 14 -------
|
||
|
|
pyanaconda/ui/gui/spokes/datetime_spoke.py | 38 +++----------------
|
||
|
|
4 files changed, 8 insertions(+), 50 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/pyanaconda/modules/timezone/installation.py b/pyanaconda/modules/timezone/installation.py
|
||
|
|
index 08e24c0..f11874f 100644
|
||
|
|
--- a/pyanaconda/modules/timezone/installation.py
|
||
|
|
+++ b/pyanaconda/modules/timezone/installation.py
|
||
|
|
@@ -63,8 +63,8 @@ class ConfigureTimezoneTask(Task):
|
||
|
|
if not is_valid_timezone(self._timezone):
|
||
|
|
# this should never happen, but for pity's sake
|
||
|
|
log.warning("Timezone %s set in kickstart is not valid, "
|
||
|
|
- "falling back to default (America/New_York).", self._timezone)
|
||
|
|
- self._timezone = "America/New_York"
|
||
|
|
+ "falling back to default (Asia/Shanghai).", self._timezone)
|
||
|
|
+ self._timezone = "Asia/Shanghai"
|
||
|
|
|
||
|
|
def _make_timezone_symlink(self):
|
||
|
|
"""Create the symlink that actually defines timezone."""
|
||
|
|
diff --git a/pyanaconda/modules/timezone/timezone.py b/pyanaconda/modules/timezone/timezone.py
|
||
|
|
index b5d5f7b..2a328a3 100644
|
||
|
|
--- a/pyanaconda/modules/timezone/timezone.py
|
||
|
|
+++ b/pyanaconda/modules/timezone/timezone.py
|
||
|
|
@@ -44,7 +44,7 @@ class TimezoneService(KickstartService):
|
||
|
|
def __init__(self):
|
||
|
|
super().__init__()
|
||
|
|
self.timezone_changed = Signal()
|
||
|
|
- self._timezone = "America/New_York"
|
||
|
|
+ self._timezone = "Asia/Shanghai"
|
||
|
|
|
||
|
|
self.is_utc_changed = Signal()
|
||
|
|
self._is_utc = False
|
||
|
|
diff --git a/pyanaconda/ui/gui/spokes/datetime_spoke.glade b/pyanaconda/ui/gui/spokes/datetime_spoke.glade
|
||
|
|
index 188f93b..aa468d9 100644
|
||
|
|
--- a/pyanaconda/ui/gui/spokes/datetime_spoke.glade
|
||
|
|
+++ b/pyanaconda/ui/gui/spokes/datetime_spoke.glade
|
||
|
|
@@ -3,7 +3,6 @@
|
||
|
|
<interface>
|
||
|
|
<requires lib="gtk+" version="3.12"/>
|
||
|
|
<requires lib="AnacondaWidgets" version="1.0"/>
|
||
|
|
- <requires lib="TimezoneMap" version="0.4"/>
|
||
|
|
<object class="GtkListStore" id="cities">
|
||
|
|
<columns>
|
||
|
|
<!-- column-name name -->
|
||
|
|
@@ -314,19 +313,6 @@
|
||
|
|
<property name="position">0</property>
|
||
|
|
</packing>
|
||
|
|
</child>
|
||
|
|
- <child>
|
||
|
|
- <object class="CcTimezoneMap" id="tzmap">
|
||
|
|
- <property name="visible">True</property>
|
||
|
|
- <property name="can_focus">False</property>
|
||
|
|
- <signal name="location-changed" handler="on_location_changed" swapped="no"/>
|
||
|
|
- </object>
|
||
|
|
- <packing>
|
||
|
|
- <property name="expand">True</property>
|
||
|
|
- <property name="fill">True</property>
|
||
|
|
- <property name="padding">6</property>
|
||
|
|
- <property name="position">1</property>
|
||
|
|
- </packing>
|
||
|
|
- </child>
|
||
|
|
<child>
|
||
|
|
<object class="GtkAlignment" id="footerAlignment">
|
||
|
|
<property name="visible">True</property>
|
||
|
|
diff --git a/pyanaconda/ui/gui/spokes/datetime_spoke.py b/pyanaconda/ui/gui/spokes/datetime_spoke.py
|
||
|
|
index b21bbc3..c8416b4 100644
|
||
|
|
--- a/pyanaconda/ui/gui/spokes/datetime_spoke.py
|
||
|
|
+++ b/pyanaconda/ui/gui/spokes/datetime_spoke.py
|
||
|
|
@@ -50,15 +50,14 @@ from pyanaconda.threading import threadMgr, AnacondaThread
|
||
|
|
import gi
|
||
|
|
gi.require_version("Gdk", "3.0")
|
||
|
|
gi.require_version("Gtk", "3.0")
|
||
|
|
-gi.require_version("TimezoneMap", "1.0")
|
||
|
|
|
||
|
|
-from gi.repository import Gdk, Gtk, TimezoneMap
|
||
|
|
+from gi.repository import Gdk, Gtk
|
||
|
|
|
||
|
|
log = get_module_logger(__name__)
|
||
|
|
|
||
|
|
__all__ = ["DatetimeSpoke"]
|
||
|
|
|
||
|
|
-DEFAULT_TZ = "America/New_York"
|
||
|
|
+DEFAULT_TZ = "Asia/Shanghai"
|
||
|
|
|
||
|
|
SPLIT_NUMBER_SUFFIX_RE = re.compile(r'([^0-9]*)([-+])([0-9]+)')
|
||
|
|
|
||
|
|
@@ -168,11 +167,6 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
|
||
|
|
icon = "preferences-system-time-symbolic"
|
||
|
|
title = CN_("GUI|Spoke", "_Time & Date")
|
||
|
|
|
||
|
|
- # Hack to get libtimezonemap loaded for GtkBuilder
|
||
|
|
- # see https://bugzilla.gnome.org/show_bug.cgi?id=712184
|
||
|
|
- _hack = TimezoneMap.TimezoneMap()
|
||
|
|
- del(_hack)
|
||
|
|
-
|
||
|
|
@staticmethod
|
||
|
|
def get_screen_id():
|
||
|
|
"""Return a unique id of this UI screen."""
|
||
|
|
@@ -211,7 +205,6 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
|
||
|
|
self._yearsStore = self.builder.get_object("years")
|
||
|
|
self._regionsStore = self.builder.get_object("regions")
|
||
|
|
self._citiesStore = self.builder.get_object("cities")
|
||
|
|
- self._tzmap = self.builder.get_object("tzmap")
|
||
|
|
self._dateBox = self.builder.get_object("dateBox")
|
||
|
|
|
||
|
|
# we need to know it the new value is the same as previous or not
|
||
|
|
@@ -334,10 +327,6 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
|
||
|
|
else:
|
||
|
|
return _("Invalid timezone")
|
||
|
|
else:
|
||
|
|
- location = self._tzmap.get_location()
|
||
|
|
- if location and location.get_property("zone"):
|
||
|
|
- return _("%s timezone") % get_xlated_timezone(location.get_property("zone"))
|
||
|
|
- else:
|
||
|
|
return _("Nothing selected")
|
||
|
|
|
||
|
|
def apply(self):
|
||
|
|
@@ -389,7 +378,6 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
|
||
|
|
kickstart_timezone = self._timezone_module.Timezone
|
||
|
|
|
||
|
|
if is_valid_timezone(kickstart_timezone):
|
||
|
|
- self._tzmap.set_timezone(kickstart_timezone)
|
||
|
|
time.tzset()
|
||
|
|
|
||
|
|
self._update_datetime()
|
||
|
|
@@ -766,7 +754,6 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
|
||
|
|
if region == "Etc":
|
||
|
|
# Etc timezones cannot be displayed on the map, so let's reset the
|
||
|
|
# location and manually set a highlight with no location pin.
|
||
|
|
- self._tzmap.clear_location()
|
||
|
|
# Some time zones are just the same default.
|
||
|
|
if city in ("GMT", "UTC", "UCT", "Greenwich", "Universal", "Zulu"):
|
||
|
|
offset = 0.0
|
||
|
|
@@ -780,13 +767,14 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
|
||
|
|
else:
|
||
|
|
log.warning("Unknown time zone selected in GUI: Etc/%s", city)
|
||
|
|
|
||
|
|
- self._tzmap.set_selected_offset(offset)
|
||
|
|
time.tzset()
|
||
|
|
else:
|
||
|
|
# we don't want the timezone-changed signal to be emitted
|
||
|
|
- self._tzmap.set_timezone(timezone)
|
||
|
|
time.tzset()
|
||
|
|
|
||
|
|
+ self._tz = get_timezone(timezone)
|
||
|
|
+ self._update_datetime()
|
||
|
|
+
|
||
|
|
# update "old" values
|
||
|
|
self._old_city = city
|
||
|
|
|
||
|
|
@@ -836,22 +824,6 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
|
||
|
|
self._stop_and_maybe_start_time_updating(interval=5)
|
||
|
|
self._daysFilter.refilter()
|
||
|
|
|
||
|
|
- def on_location_changed(self, tz_map, location):
|
||
|
|
- if not location:
|
||
|
|
- return
|
||
|
|
-
|
||
|
|
- timezone = location.get_property('zone')
|
||
|
|
-
|
||
|
|
- # Updating the timezone will update the region/city combo boxes to match.
|
||
|
|
- # The on_city_changed handler will attempt to convert the timezone back
|
||
|
|
- # to a location and set it in the map, which we don't want, since we
|
||
|
|
- # already have a location. That's why we're here.
|
||
|
|
- with blockedHandler(self._cityCombo, self.on_city_changed):
|
||
|
|
- if self._set_timezone(timezone):
|
||
|
|
- # timezone successfully set
|
||
|
|
- self._tz = get_timezone(timezone)
|
||
|
|
- self._update_datetime()
|
||
|
|
-
|
||
|
|
def on_timeformat_changed(self, button24h, *args):
|
||
|
|
hours = int(self._hoursLabel.get_text())
|
||
|
|
amPm = self._amPmLabel.get_text()
|
||
|
|
--
|
||
|
|
2.23.0
|
||
|
|
|