The error message isn't the best one ever, and unfortunately the real error is buried so deep that there's not really much hope of getting it to display. At least this way, the user might think to look at the log file. --- pyanaconda/ui/gui/spokes/source.py | 1 + 1 file changed, 1 insertion(+)
diff --git a/pyanaconda/ui/gui/spokes/source.py b/pyanaconda/ui/gui/spokes/source.py index f1271bb..59e27f9 100644 --- a/pyanaconda/ui/gui/spokes/source.py +++ b/pyanaconda/ui/gui/spokes/source.py @@ -545,6 +545,7 @@ class SourceSpoke(NormalSpoke): _(METADATA_ERROR_MESSAGE)) communication.send_ready(self.__class__.__name__) self._error = True + self.window.set_info(Gtk.MessageType.WARNING, _("Failed to set up install source, check the repo url")) else: communication.send_ready(self.__class__.__name__) communication.send_ready("SoftwareSelectionSpoke")
--- pyanaconda/packaging/yumpayload.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/pyanaconda/packaging/yumpayload.py b/pyanaconda/packaging/yumpayload.py index 50f281d..fd39845 100644 --- a/pyanaconda/packaging/yumpayload.py +++ b/pyanaconda/packaging/yumpayload.py @@ -36,6 +36,8 @@
"""
+from ConfigParser import MissingSectionHeaderError + import os import shutil import sys @@ -624,7 +626,13 @@ reposdir=%s
if method.method: with _yum_lock: - self._yum.preconf.releasever = self._getReleaseVersion(url) + try: + self._yum.preconf.releasever = self._getReleaseVersion(url) + except MissingSectionHeaderError as e: + log.error("couldn't set releasever from base repo (%s): %s" + % (method.method, e)) + self._removeYumRepo(BASE_REPO_NAME) + raise PayloadSetupError("base repo is unusable")
self._yumCacheDirHack() try:
--- pyanaconda/ui/gui/__init__.py | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/pyanaconda/ui/gui/__init__.py b/pyanaconda/ui/gui/__init__.py index 7acf46d..90e0e73 100644 --- a/pyanaconda/ui/gui/__init__.py +++ b/pyanaconda/ui/gui/__init__.py @@ -111,6 +111,10 @@ class GraphicalUserInterface(UserInterface): self._actions[0].window.set_property("distribution", _("%(productName)s %(productVersion)s INSTALLATION") % \ {"productName": productName.upper(), "productVersion": productVersion})
+ # Set fonts app-wide, where possible + settings = Gtk.Settings.get_default() + settings.set_property("gtk-font-name", "Cantarell") + self._actions[0].window.show_all() Gtk.main()
--- widgets/src/SpokeSelector.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/widgets/src/SpokeSelector.c b/widgets/src/SpokeSelector.c index 6783f47..b553fa6 100644 --- a/widgets/src/SpokeSelector.c +++ b/widgets/src/SpokeSelector.c @@ -190,26 +190,33 @@ static void anaconda_spoke_selector_init(AnacondaSpokeSelector *spoke) { /* Create the icons. */ spoke->priv->icon = gtk_image_new_from_stock(DEFAULT_ICON, GTK_ICON_SIZE_DIALOG); gtk_image_set_pixel_size(GTK_IMAGE(spoke->priv->icon), 64); - gtk_widget_set_valign(spoke->priv->icon, GTK_ALIGN_START); + gtk_widget_set_valign(spoke->priv->icon, GTK_ALIGN_CENTER); + gtk_misc_set_padding(GTK_MISC(spoke->priv->icon), 12, 0);
spoke->priv->incomplete_icon = gtk_image_new_from_icon_name("dialog-warning-symbolic", GTK_ICON_SIZE_MENU); gtk_widget_set_no_show_all(GTK_WIDGET(spoke->priv->incomplete_icon), TRUE); gtk_widget_set_visible(GTK_WIDGET(spoke->priv->incomplete_icon), FALSE); gtk_widget_set_valign(spoke->priv->incomplete_icon, GTK_ALIGN_START); + gtk_widget_set_hexpand(spoke->priv->incomplete_icon, FALSE); + gtk_misc_set_alignment(GTK_MISC(spoke->priv->incomplete_icon), 0, 1);
/* Create the title label. */ spoke->priv->title_label = gtk_label_new(NULL); markup = g_markup_printf_escaped("<span weight='bold' size='large'>%s</span>", _(DEFAULT_TITLE)); + gtk_label_set_justify(GTK_LABEL(spoke->priv->title_label), GTK_JUSTIFY_LEFT); gtk_label_set_markup(GTK_LABEL(spoke->priv->title_label), markup); - gtk_misc_set_alignment(GTK_MISC(spoke->priv->title_label), 0, 0); + gtk_misc_set_alignment(GTK_MISC(spoke->priv->title_label), 0, 1); + gtk_widget_set_hexpand(GTK_WIDGET(spoke->priv->title_label), FALSE); g_free(markup);
/* Create the status label. */ spoke->priv->status_label = gtk_label_new(NULL); format_status_label(spoke, _(DEFAULT_STATUS)); + gtk_label_set_justify(GTK_LABEL(spoke->priv->status_label), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment(GTK_MISC(spoke->priv->status_label), 0, 0); gtk_label_set_ellipsize(GTK_LABEL(spoke->priv->status_label), PANGO_ELLIPSIZE_MIDDLE); gtk_label_set_max_width_chars(GTK_LABEL(spoke->priv->status_label), 45); + gtk_widget_set_hexpand(GTK_WIDGET(spoke->priv->status_label), FALSE);
spoke->priv->status_provider = gtk_css_provider_new(); gtk_css_provider_load_from_data(spoke->priv->status_provider, "GtkLabel { color: @text_color }", -1, NULL); @@ -259,7 +266,6 @@ static void anaconda_spoke_selector_set_property(GObject *object, guint prop_id,
case PROP_STATUS: { GtkStyleContext *context = gtk_widget_get_style_context(GTK_WIDGET(priv->status_label)); - format_status_label(widget, g_value_get_string(value));
if (gtk_widget_get_sensitive(GTK_WIDGET(widget)))
--- pyanaconda/ui/gui/spokes/custom.glade | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/pyanaconda/ui/gui/spokes/custom.glade b/pyanaconda/ui/gui/spokes/custom.glade index 52a5dc1..2f5ec47 100644 --- a/pyanaconda/ui/gui/spokes/custom.glade +++ b/pyanaconda/ui/gui/spokes/custom.glade @@ -360,6 +360,7 @@ use. Try something else?</property> <child internal-child="action_area"> <object class="GtkBox" id="customStorageWindow-actionArea"> <property name="can_focus">False</property> + <property name="margin_top">6</property> <property name="hexpand">True</property> <property name="vexpand">True</property> <property name="orientation">vertical</property> @@ -378,11 +379,13 @@ use. Try something else?</property> <property name="hexpand">True</property> <property name="vexpand">True</property> <property name="shadow_type">in</property> + <property name="min_content_width">325</property> <child> <object class="GtkViewport" id="partitionsViewport"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="hexpand">True</property> + <property name="vexpand">True</property> <child> <placeholder/> </child>
On 11/06/2012 03:01 PM, Chris Lumens wrote:
The error message isn't the best one ever, and unfortunately the real error is buried so deep that there's not really much hope of getting it to display. At least this way, the user might think to look at the log file.
pyanaconda/ui/gui/spokes/source.py | 1 + 1 file changed, 1 insertion(+)
diff --git a/pyanaconda/ui/gui/spokes/source.py b/pyanaconda/ui/gui/spokes/source.py index f1271bb..59e27f9 100644 --- a/pyanaconda/ui/gui/spokes/source.py +++ b/pyanaconda/ui/gui/spokes/source.py @@ -545,6 +545,7 @@ class SourceSpoke(NormalSpoke): _(METADATA_ERROR_MESSAGE)) communication.send_ready(self.__class__.__name__) self._error = True
self.window.set_info(Gtk.MessageType.WARNING, _("Failed to set up install source, check the repo url")) else: communication.send_ready(self.__class__.__name__) communication.send_ready("SoftwareSelectionSpoke")
ACK to all 5.
anaconda-patches@lists.fedorahosted.org