~ruther/guix-local

2ac2b17251be51778963e6ced0b83e461d175d01 — Ricardo Wurmus 8 years ago 802907e
gnu: synfigstudio: Fix UI bug.

* gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add patch.
* gnu/packages/animation.scm (synfigstudio)[source]: Apply patch.
M gnu/local.mk => gnu/local.mk +1 -0
@@ 993,6 993,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/superlu-dist-scotchmetis.patch		\
  %D%/packages/patches/swish-e-search.patch			\
  %D%/packages/patches/swish-e-format-security.patch		\
  %D%/packages/patches/synfigstudio-fix-ui-with-gtk3.patch.patch \
  %D%/packages/patches/t1lib-CVE-2010-2642.patch		\
  %D%/packages/patches/t1lib-CVE-2011-0764.patch		\
  %D%/packages/patches/t1lib-CVE-2011-1552+CVE-2011-1553+CVE-2011-1554.patch		\

M gnu/packages/animation.scm => gnu/packages/animation.scm +3 -1
@@ 143,7 143,9 @@ for tweening, preventing the need to hand-draw each frame.")
                  (substitute* "src/synfigapp/pluginmanager.cpp"
                    (("xmlpp::Node\\* n =")    "const xmlpp::Node* n =")
                    (("xmlpp::Node::NodeList") "xmlpp::Node::const_NodeList"))
                  #t))))
                  #t))
              (patches
               (search-patches "synfigstudio-fix-ui-with-gtk3.patch"))))
    (build-system gnu-build-system)
    (inputs
     `(("gtkmm" ,gtkmm)

A gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch => gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch +55 -0
@@ 0,0 1,55 @@
Downloaded from
https://github.com/synfig/synfig/commit/b9c3b73ee35b83c4d9183c800809040cef98b2f2.patch

Without this patch the UI of Synfig Studio (when built with the latest version
of GTK) displays very large buttons in the header of every frame.

This patch can be removed with the next release.


From b9c3b73ee35b83c4d9183c800809040cef98b2f2 Mon Sep 17 00:00:00 2001
From: caryoscelus <caryoscelus@gmx.com>
Date: Wed, 25 Jan 2017 18:34:39 +0300
Subject: [PATCH] Fix dock drop area size

Fixes #227

By using Frame instead of Button we avoid intrusive Gtk themes
from forcing huge drop area size.
---
 synfig-studio/src/gui/docks/dockdroparea.cpp | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/gui/docks/dockdroparea.cpp b/synfig-studio/src/gui/docks/dockdroparea.cpp
index 0f8936fdb..e012282f0 100644
--- a/src/gui/docks/dockdroparea.cpp
+++ b/src/gui/docks/dockdroparea.cpp
@@ -35,7 +35,7 @@
 #include "app.h"
 #include "docks/dockdroparea.h"
 #include "docks/dockmanager.h"
-#include <gtkmm/button.h>
+#include <gtkmm/frame.h>
 
 #endif
 
@@ -61,10 +61,15 @@ DockDropArea::DockDropArea(Gtk::Widget *target):
 	std::vector<Gtk::TargetEntry> listTargets;
 	listTargets.push_back( Gtk::TargetEntry("SYNFIG_DOCK") );
 
-	Gtk::Button *button_left   = manage(new Gtk::Button());
-	Gtk::Button *button_right  = manage(new Gtk::Button());
-	Gtk::Button *button_top    = manage(new Gtk::Button());
-	Gtk::Button *button_bottom = manage(new Gtk::Button());
+	Gtk::Frame *button_left   = manage(new Gtk::Frame());
+	Gtk::Frame *button_right  = manage(new Gtk::Frame());
+	Gtk::Frame *button_top    = manage(new Gtk::Frame());
+	Gtk::Frame *button_bottom = manage(new Gtk::Frame());
+
+	button_left->set_size_request(20, 10);
+	button_right->set_size_request(20, 10);
+	button_top->set_size_request(20, 10);
+	button_bottom->set_size_request(20, 10);
 
 	button_left->drag_dest_set(listTargets);
 	button_right->drag_dest_set(listTargets);