From 6a1da98060c48c68802e918c84f54b620700d5ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Gosselin?= Date: Wed, 7 Oct 2020 11:16:21 -0400 Subject: [PATCH 1/4] Add default value to config --- gwhat/config/main.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gwhat/config/main.py b/gwhat/config/main.py index 35ab5587c..eb1e493bd 100644 --- a/gwhat/config/main.py +++ b/gwhat/config/main.py @@ -43,6 +43,9 @@ 'detrend_waterlevels': True, } ), + ('weather_normals_viewer', + {'graphs_labels_language': 'english'} + ), ] From 853bff33591917df00068fe4a3ca7b33b0bf8256 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Gosselin?= Date: Wed, 7 Oct 2020 11:17:10 -0400 Subject: [PATCH 2/4] WeatherViewer: make btn_language an attribute --- gwhat/meteo/weather_viewer.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gwhat/meteo/weather_viewer.py b/gwhat/meteo/weather_viewer.py index 2f47a501e..1d700f055 100644 --- a/gwhat/meteo/weather_viewer.py +++ b/gwhat/meteo/weather_viewer.py @@ -90,11 +90,11 @@ def __initUI__(self): "Show the monthly weather normals data table.") btn_showStats.clicked.connect(self.show_monthly_grid) - btn_language = LangToolButton() - btn_language.setToolTip( + self.btn_language = LangToolButton() + self.btn_language.setToolTip( "Set the language of the text shown in the graph.") - btn_language.sig_lang_changed.connect(self.set_lang) - btn_language.setIconSize(icons.get_iconsize('normal')) + self.btn_language.sig_lang_changed.connect(self.set_language) + self.btn_language.setIconSize(icons.get_iconsize('normal')) # Instantiate and define a layout for the year range widget. @@ -123,7 +123,7 @@ def __initUI__(self): self.toolbar = QToolBar() self.toolbar.setStyleSheet("QToolBar {border: 0px; spacing:1px;}") buttons = [btn_save, self.btn_copy, self.btn_export, btn_showStats, - btn_language, None, self.year_rng] + self.btn_language, None, self.year_rng] for button in buttons: if button is None: self.toolbar.addSeparator() From ccb8bffb9794a43052d79e074ed6d15843223a7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Gosselin?= Date: Wed, 7 Oct 2020 11:17:47 -0400 Subject: [PATCH 3/4] WeatherViewer: make possible to call set_language outside of gui --- gwhat/meteo/weather_viewer.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gwhat/meteo/weather_viewer.py b/gwhat/meteo/weather_viewer.py index 1d700f055..b006e3166 100644 --- a/gwhat/meteo/weather_viewer.py +++ b/gwhat/meteo/weather_viewer.py @@ -157,10 +157,17 @@ def show_monthly_grid(self): self.grid_weather_normals.calcul_height()) self.sender().setAutoRaise(True) - def set_lang(self, lang): + def get_language(self): + """Return the language used for the figure labels.""" + return self.btn_language.language + + def set_language(self, language): """Sets the language of all the labels in the figure.""" - self.fig_weather_normals.set_lang(lang) - self.fig_weather_normals.draw() + if language.lower() != self.btn_language.language.lower(): + self.btn_language.set_language(language) + else: + self.fig_weather_normals.set_lang(language) + self.fig_weather_normals.draw() def set_weather_dataset(self, wxdset): """ From 8e3f2fcfe86e5addcf308838ede05f040bc22e38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Gosselin?= Date: Wed, 7 Oct 2020 11:18:17 -0400 Subject: [PATCH 4/4] DataManager: save and get weather normals viewer lang from config --- gwhat/mainwindow.py | 1 + gwhat/meteo/weather_viewer.py | 2 +- gwhat/projet/manager_data.py | 11 +++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gwhat/mainwindow.py b/gwhat/mainwindow.py index afa4af661..1d799f732 100644 --- a/gwhat/mainwindow.py +++ b/gwhat/mainwindow.py @@ -210,6 +210,7 @@ def closeEvent(self, event): print('Closing projet') self.pmanager.close() + self.dmanager.close() print('Closing GWHAT') self.tab_hydrocalc.close() diff --git a/gwhat/meteo/weather_viewer.py b/gwhat/meteo/weather_viewer.py index b006e3166..5ce55f0b6 100644 --- a/gwhat/meteo/weather_viewer.py +++ b/gwhat/meteo/weather_viewer.py @@ -820,7 +820,7 @@ def select_export_file(self, time_frame, savefilename=None): w = WeatherViewer() - w.set_lang('French') + w.set_language('French') w.set_weather_dataset(wxdset) w.show() diff --git a/gwhat/projet/manager_data.py b/gwhat/projet/manager_data.py index 4d4f82020..ef346dd80 100644 --- a/gwhat/projet/manager_data.py +++ b/gwhat/projet/manager_data.py @@ -21,6 +21,7 @@ QLineEdit, QPushButton, QFileDialog, QApplication, QDialog, QGroupBox) # ---- Local library imports +from gwhat.config.main import CONF from gwhat.config.ospath import ( get_select_file_dialog_dir, set_select_file_dialog_dir) from gwhat.meteo.weather_viewer import WeatherViewer, ExportWeatherButton @@ -73,6 +74,14 @@ def __init__(self, parent=None, projet=None, pm=None, pytesting=False): pm.currentProjetChanged.connect(self.set_projet) self.set_projet(pm.projet) + def close(self): + """Close this data manager.""" + if self.weather_avg_graph is not None: + CONF.set('weather_normals_viewer', + 'graphs_labels_language', + self.weather_avg_graph.get_language()) + self.weather_avg_graph.close() + def setup_manager(self): """Setup the layout of the manager.""" layout = QGridLayout(self) @@ -467,6 +476,8 @@ def show_weather_normals(self): return if self.weather_avg_graph is None: self.weather_avg_graph = WeatherViewer() + self.weather_avg_graph.set_language( + CONF.get('weather_normals_viewer', 'graphs_labels_language')) self.weather_avg_graph.set_weather_dataset(self.get_current_wxdset()) self.weather_avg_graph.show()