From 60645612ac1d7ba57ce2c76fe1914a0bdc7af909 Mon Sep 17 00:00:00 2001
From: Imbris <hank.aa7@gmail.com>
Date: Fri, 27 Sep 2019 00:23:42 -0400
Subject: [PATCH] UI tweaks

---
 voxygen/src/hud/bag.rs | 38 ++++++++++++++++----------------------
 1 file changed, 16 insertions(+), 22 deletions(-)

diff --git a/voxygen/src/hud/bag.rs b/voxygen/src/hud/bag.rs
index e9b18e7f8a..c1ff1c5e79 100644
--- a/voxygen/src/hud/bag.rs
+++ b/voxygen/src/hud/bag.rs
@@ -120,26 +120,23 @@ impl<'a> Widget for Bag<'a> {
             .w_h(61.0 * BAG_SCALE, 9.0 * BAG_SCALE)
             .bottom_right_with_margins_on(ui.window, 60.0, 5.0)
             .set(state.ids.bag_bot, ui);
+        let mid_height = ((inventory.len() + 4) / 5) as f64 * 44.0;
+        Image::new(self.imgs.bag_mid)
+            .w_h(61.0 * BAG_SCALE, mid_height)
+            .up_from(state.ids.bag_bot, 0.0)
+            .set(state.ids.bag_mid, ui);
         Image::new(self.imgs.bag_top)
             .w_h(61.0 * BAG_SCALE, 9.0 * BAG_SCALE)
             .up_from(state.ids.bag_mid, 0.0)
             .set(state.ids.bag_top, ui);
-        Image::new(self.imgs.bag_mid)
-            .w_h(61.0 * BAG_SCALE, ((inventory.len() + 4) / 5) as f64 * 44.0)
-            .up_from(state.ids.bag_bot, 0.0)
-            .set(state.ids.bag_mid, ui);
 
         // Alignment for Grid
-        Rectangle::fill_with(
-            [54.0 * BAG_SCALE, ((inventory.len() + 4) / 5) as f64 * 44.0],
-            color::TRANSPARENT,
-        )
-        .top_left_with_margins_on(state.ids.bag_top, 9.0 * BAG_SCALE, 3.0 * BAG_SCALE)
-        .scroll_kids()
-        .scroll_kids_vertically()
-        .set(state.ids.inv_alignment, ui);
-        // Create available inventory slot widgets
+        Rectangle::fill_with([54.0 * BAG_SCALE, mid_height], color::TRANSPARENT)
+            .top_left_with_margins_on(state.ids.bag_mid, 0.0, 3.0 * BAG_SCALE)
+            .scroll_kids_vertically()
+            .set(state.ids.inv_alignment, ui);
 
+        // Create available inventory slot widgets
         if state.ids.inv_slots.len() < inventory.len() {
             state.update(|s| {
                 s.ids
@@ -147,7 +144,6 @@ impl<'a> Widget for Bag<'a> {
                     .resize(inventory.len(), &mut ui.widget_id_generator());
             });
         }
-
         if state.ids.items.len() < inventory.len() {
             state.update(|s| {
                 s.ids
@@ -157,7 +153,6 @@ impl<'a> Widget for Bag<'a> {
         }
 
         // Display inventory contents
-
         for (i, item) in inventory.slots().iter().enumerate() {
             let x = i % 5;
             let y = i / 5;
@@ -171,16 +166,15 @@ impl<'a> Widget for Bag<'a> {
                     4.0 + y as f64 * (40.0 + 4.0),
                     4.0 + x as f64 * (40.0 + 4.0),
                 ) // conrod uses a (y,x) format for placing...
-                .parent(state.ids.inv_alignment) // Avoids the background overlapping available slots
+                // (the margin placement functions do this because that is the same order as "top left")
                 .w_h(40.0, 40.0)
                 .image_color(if is_selected {
                     color::WHITE
                 } else {
                     color::DARK_YELLOW
-                })
-                .floating(true);
+                });
 
-            let slot_widget = if let Some(item) = item {
+            let slot_widget_clicked = if let Some(item) = item {
                 slot_widget
                     .with_tooltip(
                         self.tooltip_manager,
@@ -191,10 +185,11 @@ impl<'a> Widget for Bag<'a> {
                     .set(state.ids.inv_slots[i], ui)
             } else {
                 slot_widget.set(state.ids.inv_slots[i], ui)
-            };
+            }
+            .was_clicked();
 
             // Item
-            if slot_widget.was_clicked() {
+            if slot_widget_clicked {
                 let selected_slot = match state.selected_slot {
                     Some(a) => {
                         if a == i {
@@ -227,7 +222,6 @@ impl<'a> Widget for Bag<'a> {
         }
 
         // Close button
-
         if Button::image(self.imgs.close_button)
             .w_h(28.0, 28.0)
             .hover_image(self.imgs.close_button_hover)