[niepce/gtk4] gtk4: Fix spacing of the main UI



commit 4a8e87c851d03b87c7bf6433c4f3d9187a661490
Author: Hubert Figuière <hub figuiere net>
Date:   Fri May 6 21:19:47 2022 -0400

    gtk4: Fix spacing of the main UI

 niepce-main/src/niepce/ui/image_grid_view.rs |  3 +--
 niepce-main/src/niepce/ui/imagetoolbar.rs    | 27 ++++++++++++++++++++++-----
 src/niepce/ui/moduleshellwidget.cpp          |  2 +-
 src/niepce/ui/workspacecontroller.cpp        |  1 +
 4 files changed, 25 insertions(+), 8 deletions(-)
---
diff --git a/niepce-main/src/niepce/ui/image_grid_view.rs b/niepce-main/src/niepce/ui/image_grid_view.rs
index c24b86c..70eb14d 100644
--- a/niepce-main/src/niepce/ui/image_grid_view.rs
+++ b/niepce-main/src/niepce/ui/image_grid_view.rs
@@ -60,14 +60,13 @@ impl ImageGridView {
         x: f64,
         y: f64,
     ) {
-        gesture.last_event(None).and_then(|event| {
+        gesture.last_event(None).map(|event| {
             if event.triggers_context_menu() {
                 if let Some(ref menu) = menu {
                     menu.set_pointing_to(Some(&gdk4::Rectangle::new(x as i32, y as i32, 0, 0)));
                     menu.popup();
                 }
             }
-            Some(())
         });
 
         if let Some((_, cell)) = icon_view.item_at_pos(x as i32, y as i32) {
diff --git a/niepce-main/src/niepce/ui/imagetoolbar.rs b/niepce-main/src/niepce/ui/imagetoolbar.rs
index f4a3c50..b8b14ae 100644
--- a/niepce-main/src/niepce/ui/imagetoolbar.rs
+++ b/niepce-main/src/niepce/ui/imagetoolbar.rs
@@ -1,5 +1,5 @@
 /*
- * niepce - ui/imagetoolbar.rs
+ * niepce - niepce/ui/imagetoolbar.rs
  *
  * Copyright (C) 2018-2022 Hubert Figuière
  *
@@ -20,29 +20,46 @@
 use glib::translate::*;
 use gtk4::prelude::*;
 
+/// Create a box for linked button.
+fn linked_box() -> gtk4::Box {
+    let box_ = gtk4::Box::new(gtk4::Orientation::Horizontal, 0);
+    box_.add_css_class("linked");
+
+    box_
+}
+
 #[no_mangle]
 pub extern "C" fn image_toolbar_new() -> *mut gtk4_sys::GtkBox {
     let toolbar = gtk4::Box::new(gtk4::Orientation::Horizontal, 6);
     // XXX set style class "toolbar"
 
+    toolbar.set_margin_top(4);
+    toolbar.set_margin_bottom(4);
+    toolbar.set_margin_start(4);
+    toolbar.set_margin_end(4);
+
+    let box_ = linked_box();
     let tool_item = gtk4::Button::from_icon_name("go-previous-symbolic");
     tool_item.set_action_name(Some("shell.PrevImage"));
-    toolbar.append(&tool_item);
+    box_.append(&tool_item);
 
     let tool_item = gtk4::Button::from_icon_name("go-next-symbolic");
     tool_item.set_action_name(Some("shell.NextImage"));
-    toolbar.append(&tool_item);
+    box_.append(&tool_item);
+    toolbar.append(&box_);
 
     // let separator = gtk4::SeparatorToolItem::new();
     // toolbar.add(&separator);
 
+    let box_ = linked_box();
     let tool_item = gtk4::Button::from_icon_name("object-rotate-left-symbolic");
     tool_item.set_action_name(Some("shell.RotateLeft"));
-    toolbar.append(&tool_item);
+    box_.append(&tool_item);
 
     let tool_item = gtk4::Button::from_icon_name("object-rotate-right-symbolic");
     tool_item.set_action_name(Some("shell.RotateRight"));
-    toolbar.append(&tool_item);
+    box_.append(&tool_item);
+    toolbar.append(&box_);
 
     toolbar.to_glib_full()
 }
diff --git a/src/niepce/ui/moduleshellwidget.cpp b/src/niepce/ui/moduleshellwidget.cpp
index 62ecad6..ba1fcf3 100644
--- a/src/niepce/ui/moduleshellwidget.cpp
+++ b/src/niepce/ui/moduleshellwidget.cpp
@@ -30,10 +30,10 @@ ModuleShellWidget::ModuleShellWidget()
     : Gtk::Box(Gtk::Orientation::VERTICAL)
     , m_mainbox()
 {
-    set_spacing(4);
     m_menubutton.set_direction(Gtk::ArrowType::NONE);
     m_menubutton.set_icon_name("view-more-symbolic");
     m_mainbox.set_end_widget(m_menubutton);
+    m_mainbox.set_margin(4);
     append(m_mainbox);
 
     m_mainbox.set_center_widget(m_switcher);
diff --git a/src/niepce/ui/workspacecontroller.cpp b/src/niepce/ui/workspacecontroller.cpp
index 741ea28..f59e44f 100644
--- a/src/niepce/ui/workspacecontroller.cpp
+++ b/src/niepce/ui/workspacecontroller.cpp
@@ -422,6 +422,7 @@ Gtk::Widget * WorkspaceController::buildWidget()
 
     Gtk::Box* header = Gtk::manage(new Gtk::Box(Gtk::Orientation::HORIZONTAL));
     header->set_spacing(4);
+    header->set_margin(4);
     // TODO make it a mnemonic
     m_label.set_text_with_mnemonic(Glib::ustring(_("_Workspace")));
     m_label.set_mnemonic_widget(m_librarytree);


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