[cheese/three-point-oh] Made buttons look flat when in Fullscreen mode and 'Normal' in windowed mode



commit 0bf9afc6f4e63467f412e8c5d0eb7f9ba06181d6
Author: Yuvaraj Pandian T <yuvipanda gmail com>
Date:   Wed Jun 2 01:34:11 2010 +0530

    Made buttons look flat when in Fullscreen mode and 'Normal' in windowed mode

 data/cheese-main-window.ui |   10 +++++-----
 valasrc/cheese-window.vala |   36 ++++++++++++++++++++++++++++++++++--
 2 files changed, 39 insertions(+), 7 deletions(-)
---
diff --git a/data/cheese-main-window.ui b/data/cheese-main-window.ui
index 58e61e6..3743edf 100644
--- a/data/cheese-main-window.ui
+++ b/data/cheese-main-window.ui
@@ -72,7 +72,7 @@
 		  </packing>		  
 		</child>
 
-		<child>
+private Gtk.ToggleButton photo_toggle_button;		<child>
 		  <object class="GtkAlignment" id="action_button_alignment">
 		    <property name="xscale">0</property>
 		    <property name="yscale">0</property>
@@ -108,19 +108,19 @@
 		</child>
 		
 		<child>
-		  <object class="GtkToggleButton" id="effects_button">
+		  <object class="GtkToggleButton" id="effects_toggle_button">
 		    <property name="related-action">effects_toggle</property>
 		    <child>
-		      <object class="GtkHBox" id="effects_button_internal_hbox">
+		      <object class="GtkHBox" id="effects_toggle_button_internal_hbox">
 			<property name="visible">True</property>
 			<property name="spacing">2</property>
 			<child>
-			  <object class="GtkImage" id="effects_button_internal_image">
+			  <object class="GtkImage" id="effects_toggle_button_internal_image">
 			    <property name="icon_name">browse-webcam-effects</property>
 			  </object>
 			</child>
 			<child>
-			  <object class="GtkLabel" id="effects_button_internal_label">
+			  <object class="GtkLabel" id="effects_toggle_button_internal_label">
 			    <property name="label" translatable="yes">_Effects</property>
 			    <property name="use_underline">True</property>
 			  </object>
diff --git a/valasrc/cheese-window.vala b/valasrc/cheese-window.vala
index a646858..340ae6a 100644
--- a/valasrc/cheese-window.vala
+++ b/valasrc/cheese-window.vala
@@ -21,9 +21,17 @@ public class Cheese.MainWindow : Gtk.Window {
 	private Gtk.Frame thumbnails_bottom;
 	private Gtk.MenuBar menubar;
 	private Gtk.HBox leave_fullscreen_button_container;
+	private Gtk.ToggleButton photo_toggle_button;
+	private Gtk.ToggleButton video_toggle_button;
+	private Gtk.ToggleButton burst_toggle_button;
+	private Gtk.Button take_action_button;
+	private Gtk.ToggleButton effects_toggle_button;
+	private Gtk.Button leave_fullscreen_button;
 	
 	private bool is_fullscreen;
 	private bool is_wide_mode;
+
+	private Gtk.Button[] buttons;
 	
 	[CCode (instance_pos = -1)]
 	internal void on_quit (Action action ) {
@@ -61,7 +69,7 @@ public class Cheese.MainWindow : Gtk.Window {
 		// After the first time the window has been shown using this.show_all(),
 		// the value of leave_fullscreen_button_container.no_show_all should be set to false
 		// So that the next time leave_fullscreen_button_container.show_all() is called, the button is actually shown
-		// FIXME: If this code can be made cleaner/clearer, pleasae do
+		// FIXME: If this code can be made cleaner/clearer, please do
 		
 		is_fullscreen = fullscreen_mode;
 		if (fullscreen_mode) {
@@ -74,6 +82,11 @@ public class Cheese.MainWindow : Gtk.Window {
 			menubar.hide_all();
 			leave_fullscreen_button_container.no_show_all = false;
 			leave_fullscreen_button_container.show_all();
+
+			// Make all buttons look 'flat'
+			foreach (Gtk.Button b in buttons) {
+				b.relief = Gtk.ReliefStyle.NONE;
+			}
 			this.fullscreen();			
 		}
 		else {
@@ -85,6 +98,11 @@ public class Cheese.MainWindow : Gtk.Window {
 			}
 			menubar.show_all();
 			leave_fullscreen_button_container.hide_all();
+
+			// Make all buttons look, uhm, Normal
+			foreach (Gtk.Button b in buttons) {
+				b.relief = Gtk.ReliefStyle.NORMAL;
+			}
 			this.unfullscreen();
 		}
 	}
@@ -110,7 +128,6 @@ public class Cheese.MainWindow : Gtk.Window {
 			thumbnails_right.resize_children();
 			thumbnails_right.show_all();
 			thumbnails_bottom.hide_all();
-			
 		}
 		else {
 			thumb_view.set_columns(5000);
@@ -151,7 +168,22 @@ public class Cheese.MainWindow : Gtk.Window {
 		thumbnails_bottom = (Frame) builder.get_object("thumbnails_bottom");
 		menubar = (Gtk.MenuBar) builder.get_object("main_menubar");
 		leave_fullscreen_button_container = (Gtk.HBox) builder.get_object("leave_fullscreen_button_bin");
+		photo_toggle_button = (Gtk.ToggleButton) builder.get_object("photo_toggle_button");
+		video_toggle_button = (Gtk.ToggleButton) builder.get_object("video_toggle_button");
+		burst_toggle_button = (Gtk.ToggleButton) builder.get_object("burst_toggle_button");
+		take_action_button = (Gtk.Button) builder.get_object("take_action_button");
+		effects_toggle_button = (Gtk.ToggleButton) builder.get_object("effects_toggle_button");
+		leave_fullscreen_button = (Gtk.Button) builder.get_object("leave_fullscreen_button");
 
+		// Array contains all 'buttons', for easier manipulation
+		// IMPORTANT: IF ANOTHER BUTTON IS ADDED UNDER THE VIEWPORT, ADD IT TO THIS ARRAY
+		buttons = {photo_toggle_button,
+				   video_toggle_button,
+				   burst_toggle_button,
+				   take_action_button,
+				   effects_toggle_button,
+				   leave_fullscreen_button};
+		
 		Clutter.Rectangle r = new Clutter.Rectangle();
 		r.width = 200;
 		r.height = 600;



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