[PATCH 3/3] Make a bunch of very small interface changes to the storage spoke.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Bold the summary text in the disk shopping cart.
* Add DiskOverviews in such a way that they don't take up the whole horizontal
  space.
* Add an info area at the bottom of the screen if no disks are selected.
* Add a scrolled window and viewport to the Local Standard Disks area to give
  it a border (and also in case you have a bunch of local disks).
* Connect the Back button signal.
* Give the spoke a title.
* Don't let the various Continue dialogs take up so much horizontal space.
---
 pyanaconda/ui/gui/spokes/storage.py |   36 +++++---
 pyanaconda/ui/gui/spokes/storage.ui |  168 ++++++++++++++++++-----------------
 2 files changed, 109 insertions(+), 95 deletions(-)

diff --git a/pyanaconda/ui/gui/spokes/storage.py b/pyanaconda/ui/gui/spokes/storage.py
index e403a2e..41e40f6 100644
--- a/pyanaconda/ui/gui/spokes/storage.py
+++ b/pyanaconda/ui/gui/spokes/storage.py
@@ -192,12 +192,12 @@ class SelectedDisksDialog(UIObject):
         size = Size(bytes=long(size)).humanReadable().upper()
         free = Size(bytes=long(free)).humanReadable().upper()
 
-        text = P_(("%d disk; %s capacity; %s free space "
+        text = P_(("<b>%d disk; %s capacity; %s free space</b> "
                    "(unpartitioned and in filesystems)"),
-                  ("%d disks; %s capacity; %s free space "
+                  ("<b>%d disks; %s capacity; %s free space</b> "
                    "(unpartitioned and in filesystems)"),
                   count) % (count, size, free)
-        self._summary_label.set_text(text)
+        self._summary_label.set_markup(text)
 
     # signal handlers
     def on_remove_clicked(self, button):
@@ -251,8 +251,9 @@ class InstallOptions1Dialog(UIObject):
         options_label = self.builder.get_object("options1_label")
 
         options_text = (_("You have plenty of space to install <b>%s</b>, so "
-                          "we can automatically configure the rest of the "
-                          "installation for you.\n\nYou're all set!")
+                          "we can automatically\n"
+                          "configure the rest of the installation for you.\n\n"
+                          "You're all set!")
                         % productName)
         options_label.set_markup(options_text)
 
@@ -316,8 +317,8 @@ class InstallOptions2Dialog(InstallOptions1Dialog):
         self._set_free_space_labels(disk_free, fs_free)
 
         label_text = (_("<b>You don't have enough space available to install "
-                        "%s</b>, but we can help you reclaim space by "
-                        "shrinking or removing existing partitions.")
+                        "%s</b>, but we can help you\n"
+                        "reclaim space by shrinking or removing existing partitions.")
                       % productName)
         self.builder.get_object("options2_label2").set_markup(label_text)
 
@@ -333,7 +334,7 @@ class InstallOptions3Dialog(InstallOptions1Dialog):
     def setup(self, required_space, disk_free, fs_free):
         sw_text = self._get_sw_needs_text(required_space)
         label_text = (_("%s\nYou don't have enough space available to install "
-                        "<b>%s</b>, even if you used all of the free space "
+                        "<b>%s</b>, even if you used all of the free space\n"
                         "available on the selected disks.")
                       % (sw_text, productName))
         self.builder.get_object("options3_label1").set_markup(label_text)
@@ -343,11 +344,11 @@ class InstallOptions3Dialog(InstallOptions1Dialog):
         self._set_free_space_labels(disk_free, fs_free)
 
         label_text = _("<b>You don't have enough space available to install "
-                       "%s</b>, even if you used all of the free space "
-                       "available on the selected disks.You could add more "
-                       "disks for additional space, modify your software "
-                       "selection to install a smaller version of <b>%s</b>, "
-                       "or quit the installer.") % (productName, productName)
+                       "%s</b>, even if you used all of the free space\n"
+                       "available on the selected disks.  You could add more "
+                       "disks for additional space,\n"
+                       "modify your software selection to install a smaller "
+                       "version of <b>%s</b>, or quit the installer.") % (productName, productName)
         self.builder.get_object("options3_label2").set_markup(label_text)
 
 class StorageSpoke(NormalSpoke):
@@ -400,7 +401,7 @@ class StorageSpoke(NormalSpoke):
         # properties: kind, description, capacity, os, popup-info
         for disk in self.disks:
             if disk.removable:
-                kind = "drive-removable"
+                kind = "drive-removable-media"
             else:
                 kind = "drive-harddisk"
 
@@ -410,7 +411,7 @@ class StorageSpoke(NormalSpoke):
                                                     kind,
                                                     size,
                                                     popup=popup_info)
-            local_disks_box.add(overview)
+            local_disks_box.pack_start(overview, False, False, 0)
 
             # FIXME: this will need to get smarter
             #
@@ -455,6 +456,11 @@ class StorageSpoke(NormalSpoke):
                       Size(spec="%dmb" % free).humanReadable().upper()))
         self.builder.get_object("summary_button").set_label(summary)
 
+        if count == 0:
+            self.window.set_info(Gtk.MessageType.WARNING, _("No disks selected; please select at least one disk to install to."))
+        else:
+            self.window.clear_info()
+
     def _update_disk_list(self):
         """ Update ignoredisk.onlyuse based on the UI. """
         print "UPDATING DISK LIST"
diff --git a/pyanaconda/ui/gui/spokes/storage.ui b/pyanaconda/ui/gui/spokes/storage.ui
index c36124d..4bb80b4 100644
--- a/pyanaconda/ui/gui/spokes/storage.ui
+++ b/pyanaconda/ui/gui/spokes/storage.ui
@@ -294,6 +294,7 @@
               <object class="GtkGrid" id="grid1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="margin_left">6</property>
                 <property name="row_spacing">6</property>
                 <property name="column_spacing">6</property>
                 <property name="row_homogeneous">True</property>
@@ -536,6 +537,7 @@
               <object class="GtkGrid" id="grid2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="margin_left">6</property>
                 <property name="row_spacing">6</property>
                 <property name="column_spacing">6</property>
                 <property name="row_homogeneous">True</property>
@@ -680,7 +682,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="halign">center</property>
+                <property name="halign">end</property>
                 <property name="use_action_appearance">False</property>
                 <property name="use_underline">True</property>
                 <signal name="clicked" handler="on_close_clicked" swapped="no"/>
@@ -722,96 +724,94 @@
               </packing>
             </child>
             <child>
-              <object class="GtkTreeView" id="disk_tree_view">
+              <object class="GtkScrolledWindow" id="scrolledwindow2">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="model">disk_store</property>
-                <child internal-child="selection">
-                  <object class="GtkTreeSelection" id="disk_selection">
-                    <signal name="changed" handler="on_selection_changed" swapped="no"/>
-                  </object>
-                </child>
-                <child>
-                  <object class="GtkTreeViewColumn" id="description_column">
-                    <property name="spacing">6</property>
-                    <property name="title" translatable="yes">Description</property>
-                    <property name="clickable">True</property>
-                    <child>
-                      <object class="GtkCellRendererText" id="description_renderer"/>
-                      <attributes>
-                        <attribute name="text">0</attribute>
-                      </attributes>
-                    </child>
-                  </object>
-                </child>
-                <child>
-                  <object class="GtkTreeViewColumn" id="capacity_column">
-                    <property name="spacing">6</property>
-                    <property name="title" translatable="yes">Capacity</property>
-                    <property name="clickable">True</property>
-                    <child>
-                      <object class="GtkCellRendererText" id="capacity_renderer"/>
-                      <attributes>
-                        <attribute name="text">1</attribute>
-                      </attributes>
-                    </child>
-                  </object>
-                </child>
-                <child>
-                  <object class="GtkTreeViewColumn" id="free_column">
-                    <property name="spacing">6</property>
-                    <property name="title" translatable="yes">Free</property>
-                    <child>
-                      <object class="GtkCellRendererText" id="free_renderer"/>
-                      <attributes>
-                        <attribute name="text">2</attribute>
-                      </attributes>
-                    </child>
-                  </object>
-                </child>
+                <property name="shadow_type">in</property>
                 <child>
-                  <object class="GtkTreeViewColumn" id="id_column">
-                    <property name="spacing">6</property>
-                    <property name="title" translatable="yes">Id</property>
+                  <object class="GtkViewport" id="viewport2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <child>
-                      <object class="GtkCellRendererText" id="id_renderer"/>
-                      <attributes>
-                        <attribute name="text">3</attribute>
-                      </attributes>
+                      <object class="GtkTreeView" id="disk_tree_view">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="model">disk_store</property>
+                        <child internal-child="selection">
+                          <object class="GtkTreeSelection" id="treeview-selection1"/>
+                        </child>
+                        <child>
+                          <object class="GtkTreeViewColumn" id="description_column">
+                            <property name="spacing">6</property>
+                            <property name="title" translatable="yes">Description</property>
+                            <property name="clickable">True</property>
+                            <child>
+                              <object class="GtkCellRendererText" id="description_renderer"/>
+                              <attributes>
+                                <attribute name="text">0</attribute>
+                              </attributes>
+                            </child>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkTreeViewColumn" id="capacity_column">
+                            <property name="spacing">6</property>
+                            <property name="title" translatable="yes">Capacity</property>
+                            <property name="clickable">True</property>
+                            <child>
+                              <object class="GtkCellRendererText" id="capacity_renderer"/>
+                              <attributes>
+                                <attribute name="text">1</attribute>
+                              </attributes>
+                            </child>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkTreeViewColumn" id="free_column">
+                            <property name="spacing">6</property>
+                            <property name="title" translatable="yes">Free</property>
+                            <child>
+                              <object class="GtkCellRendererText" id="free_renderer"/>
+                              <attributes>
+                                <attribute name="text">2</attribute>
+                              </attributes>
+                            </child>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkTreeViewColumn" id="id_column">
+                            <property name="spacing">6</property>
+                            <property name="title" translatable="yes">Id</property>
+                            <child>
+                              <object class="GtkCellRendererText" id="id_renderer"/>
+                              <attributes>
+                                <attribute name="text">3</attribute>
+                              </attributes>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
                     </child>
                   </object>
                 </child>
               </object>
               <packing>
-                <property name="expand">False</property>
+                <property name="expand">True</property>
                 <property name="fill">True</property>
                 <property name="position">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkButtonBox" id="buttonbox1">
+              <object class="GtkButton" id="remove_button">
+                <property name="label">_Remove</property>
+                <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="spacing">6</property>
-                <property name="layout_style">start</property>
-                <child>
-                  <object class="GtkButton" id="remove_button">
-                    <property name="label">_Remove</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">True</property>
-                    <property name="halign">center</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="use_underline">True</property>
-                    <signal name="clicked" handler="on_remove_clicked" swapped="no"/>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="halign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="on_remove_clicked" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -825,6 +825,7 @@
                 <property name="can_focus">False</property>
                 <property name="xalign">0</property>
                 <property name="label" translatable="yes">Disk summary goes here</property>
+                <property name="use_markup">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -855,9 +856,10 @@
   <object class="AnacondaSpokeWindow" id="storageWindow">
     <property name="startup_id">filler</property>
     <property name="can_focus">False</property>
-    <property name="border_width">6</property>
     <property name="startup_id">filler</property>
     <property name="mnemonics_visible">False</property>
+    <property name="window_name">INSTALL DESTINATION</property>
+    <signal name="back-clicked" handler="on_back_clicked" swapped="no"/>
     <child internal-child="main_box">
       <object class="GtkBox" id="AnacondaSpokeWindow-main_box1">
         <property name="can_focus">False</property>
@@ -891,6 +893,9 @@
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">LOCAL STANDARD DISKS</property>
                     <property name="track_visited_links">False</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -913,8 +918,8 @@
                           <object class="GtkBox" id="local_disks_box">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="spacing">6</property>
-                            <property name="homogeneous">True</property>
+                            <property name="border_width">6</property>
+                            <property name="spacing">30</property>
                             <child>
                               <placeholder/>
                             </child>
@@ -942,6 +947,9 @@
           <object class="GtkBox" id="box2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
+            <property name="margin_left">6</property>
+            <property name="margin_right">6</property>
+            <property name="margin_bottom">6</property>
             <property name="spacing">6</property>
             <child>
               <object class="GtkButton" id="summary_button">
@@ -965,7 +973,7 @@
             </child>
             <child>
               <object class="GtkButton" id="continue_button">
-                <property name="label" translatable="yes">_Continue</property>
+                <property name="label" translatable="yes">_CONTINUE</property>
                 <property name="use_action_appearance">False</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-- 
1.7.6

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list


[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux