From 8b5ef8a2f7e18683c5da31f21553fdc262228052 Mon Sep 17 00:00:00 2001
From: Trinh Anh Ngoc <atw1990@gmail.com>
Date: Mon, 20 Jun 2016 14:49:25 +0700
Subject: [PATCH] Improve annotation window ui

---
 libview/ev-annotation-window.c | 38 ++++++++++++++------------------------
 1 file changed, 14 insertions(+), 24 deletions(-)

diff --git a/libview/ev-annotation-window.c b/libview/ev-annotation-window.c
index 9d66ec9..e54539a 100644
--- a/libview/ev-annotation-window.c
+++ b/libview/ev-annotation-window.c
@@ -47,6 +47,7 @@ struct _EvAnnotationWindow {
 	GtkWindow    *parent;
 
 	GtkWidget    *title;
+	GtkWidget    *titlebar;
 	GtkWidget    *close_button;
 	GtkWidget    *text_view;
 	GtkWidget    *resize_se;
@@ -126,17 +127,13 @@ ev_annotation_window_set_color (EvAnnotationWindow *window,
 
         properties = gtk_style_properties_new ();
         gtk_style_properties_set (properties, 0,
-                                  "background-color", color,
+                                  "border-top-color", color,
+                                  "border-top-width", 6,
+                                  "border-top-style", GTK_BORDER_STYLE_SOLID,
                                   NULL);
 
         provider = GTK_STYLE_PROVIDER (properties);
-        gtk_style_context_add_provider (gtk_widget_get_style_context (GTK_WIDGET (window)),
-                                        provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
-        gtk_style_context_add_provider (gtk_widget_get_style_context (window->close_button),
-                                        provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
-        gtk_style_context_add_provider (gtk_widget_get_style_context (window->resize_se),
-                                        provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
-        gtk_style_context_add_provider (gtk_widget_get_style_context (window->resize_sw),
+        gtk_style_context_add_provider (gtk_widget_get_style_context (GTK_WIDGET (window->titlebar)),
                                         provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
         g_object_unref (properties);
 }
@@ -313,10 +310,10 @@ ev_annotation_window_init (EvAnnotationWindow *window)
 	vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
 
 	/* Title bar */
-	hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+	window->titlebar = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
 
 	icon = gtk_image_new (); /* FIXME: use the annot icon */
-	gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0);
+	gtk_box_pack_start (GTK_BOX (window->titlebar), icon, FALSE, FALSE, 0);
 	gtk_widget_show (icon);
 
 	header = gtk_event_box_new ();
@@ -329,27 +326,21 @@ ev_annotation_window_init (EvAnnotationWindow *window)
 	gtk_container_add (GTK_CONTAINER (header), window->title);
 	gtk_widget_show (window->title);
 
-	gtk_box_pack_start (GTK_BOX (hbox), header, TRUE, TRUE, 0);
+	gtk_box_pack_start (GTK_BOX (window->titlebar), header, TRUE, TRUE, 0);
 	gtk_widget_show (header);
 
-	window->close_button = gtk_button_new ();
+	window->close_button = gtk_button_new_from_icon_name ("window-close-symbolic", GTK_ICON_SIZE_BUTTON);
 	gtk_button_set_relief (GTK_BUTTON (window->close_button), GTK_RELIEF_NONE);
-	gtk_container_set_border_width (GTK_CONTAINER (window->close_button), 0);
+	gtk_container_set_border_width (GTK_CONTAINER (window->close_button), 4);
 	g_signal_connect_swapped (window->close_button, "clicked",
 				  G_CALLBACK (ev_annotation_window_close),
 				  window);
-	pixbuf = gtk_icon_theme_load_icon (icon_theme, EV_STOCK_CLOSE, 8,
-					   GTK_ICON_LOOKUP_FORCE_SIZE, NULL);
-	icon = gtk_image_new_from_pixbuf (pixbuf);
-	g_object_unref (pixbuf);
-	gtk_container_add (GTK_CONTAINER (window->close_button), icon);
-	gtk_widget_show (icon);
 
-	gtk_box_pack_start (GTK_BOX (hbox), window->close_button, FALSE, FALSE, 0);
+	gtk_box_pack_start (GTK_BOX (window->titlebar), window->close_button, FALSE, FALSE, 0);
 	gtk_widget_show (window->close_button);
 
-	gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
-	gtk_widget_show (hbox);
+	gtk_box_pack_start (GTK_BOX (vbox), window->titlebar, FALSE, FALSE, 0);
+	gtk_widget_show (window->titlebar);
 
 	/* Contents */
 	swindow = gtk_scrolled_window_new (NULL, NULL);
@@ -367,6 +358,7 @@ ev_annotation_window_init (EvAnnotationWindow *window)
 	/* Resize bar */
 	gtk_window_set_has_resize_grip (GTK_WINDOW(window), FALSE);
 	hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+	gtk_container_set_border_width (GTK_CONTAINER (hbox), 2);
 
 	window->resize_sw = gtk_event_box_new ();
 	gtk_widget_add_events (window->resize_sw, GDK_BUTTON_PRESS_MASK);
@@ -414,8 +406,6 @@ ev_annotation_window_init (EvAnnotationWindow *window)
 			       GDK_BUTTON_PRESS_MASK |
 			       GDK_KEY_PRESS_MASK);
 
-	gtk_container_set_border_width (GTK_CONTAINER (window), 2);
-
 	gtk_window_set_decorated (GTK_WINDOW (window), FALSE);
 	gtk_window_set_skip_taskbar_hint (GTK_WINDOW (window), TRUE);
 	gtk_window_set_skip_pager_hint (GTK_WINDOW (window), TRUE);
-- 
2.9.0

