f-spot r3977 - in trunk: . src



Author: sdelcroix
Date: Fri May 23 08:04:06 2008
New Revision: 3977
URL: http://svn.gnome.org/viewvc/f-spot?rev=3977&view=rev

Log:
2008-05-23  Stephane Delcroix  <sdelcroix novell com>

	* src/PhotoImageView.cs:
	* src/MainWindow.cs: use Alt-0 through Alt-5 to quick rate in browse and edit 
	modes. Fixes bgo #534255. Shortcut might be changed, speak up.


Modified:
   trunk/ChangeLog
   trunk/src/MainWindow.cs
   trunk/src/PhotoImageView.cs

Modified: trunk/src/MainWindow.cs
==============================================================================
--- trunk/src/MainWindow.cs	(original)
+++ trunk/src/MainWindow.cs	Fri May 23 08:04:06 2008
@@ -1191,10 +1191,50 @@
 
 	void HandleIconViewKeyPressEvent (object sender, Gtk.KeyPressEventArgs args)
 	{
-		if (args.Event.Key == Gdk.Key.Delete) {
+		bool alt = ModifierType.Mod1Mask == (args.Event.State & ModifierType.Mod1Mask);
+
+		switch (args.Event.Key) {
+		case Gdk.Key.Delete:
 			HandleRemoveCommand (sender, (EventArgs) args);
+			args.RetVal = true;
+			break;
+		case Gdk.Key.Key_0:
+			if (alt) {
+				HandleRatingMenuSelected (0);
+				args.RetVal = true;
+			}
+			break;
+		case Gdk.Key.Key_1:
+			if (alt) {
+				HandleRatingMenuSelected (1);
+				args.RetVal = true;
+			}
+			break;
+		case Gdk.Key.Key_2:
+			if (alt) {
+				HandleRatingMenuSelected (2);
+				args.RetVal = true;
+			}
+			break;
+		case Gdk.Key.Key_3:
+			if (alt) {
+				HandleRatingMenuSelected (3);
+				args.RetVal = true;
+			}
+			break;
+		case Gdk.Key.Key_4:
+			if (alt) {
+				HandleRatingMenuSelected (4);
+				args.RetVal = true;
+			}
+			break;
+		case Gdk.Key.Key_5:
+			if (alt) {
+				HandleRatingMenuSelected (5);
+				args.RetVal = true;
+			}
+			break;
 		}
-		UpdateStatusLabel();		
 	}
 
 	public void ImportUriList (UriList list, bool copy) 
@@ -1304,6 +1344,7 @@
 	
 	void HandlePhotoViewKeyPressEvent (object sender, Gtk.KeyPressEventArgs args)
 	{
+		bool alt = ModifierType.Mod1Mask == (args.Event.State & ModifierType.Mod1Mask);
 		switch (args.Event.Key) {
 		case Gdk.Key.F:
 		case Gdk.Key.f:
@@ -1318,6 +1359,42 @@
 			HandleRemoveCommand (sender, (EventArgs) args);
 			args.RetVal = true;
 			break;
+		case Gdk.Key.Key_0:
+			if (alt) {
+				HandleRatingMenuSelected (0);
+				args.RetVal = true;
+			}
+			break;
+		case Gdk.Key.Key_1:
+			if (alt) {
+				HandleRatingMenuSelected (1);
+				args.RetVal = true;
+			}
+			break;
+		case Gdk.Key.Key_2:
+			if (alt) {
+				HandleRatingMenuSelected (2);
+				args.RetVal = true;
+			}
+			break;
+		case Gdk.Key.Key_3:
+			if (alt) {
+				HandleRatingMenuSelected (3);
+				args.RetVal = true;
+			}
+			break;
+		case Gdk.Key.Key_4:
+			if (alt) {
+				HandleRatingMenuSelected (4);
+				args.RetVal = true;
+			}
+			break;
+		case Gdk.Key.Key_5:
+			if (alt) {
+				HandleRatingMenuSelected (5);
+				args.RetVal = true;
+			}
+			break;
 		default:
 			break;
 		}
@@ -2106,21 +2183,17 @@
 
 	private void UpdateStatusLabel ()
 	{
-		switch (view_mode) {
-		case ModeType.PhotoView:
-			break;
-		case ModeType.IconView:		
-			int total_photos = Database.Photos.TotalPhotos;
-			if (total_photos != query.Count)
-				status_label.Text = String.Format (Catalog.GetPluralString ("{0} Photo out of {1}", "{0} Photos out of {1}", query.Count), query.Count, total_photos);
-			else
-				status_label.Text = String.Format (Catalog.GetPluralString ("{0} Photo", "{0} Photos", query.Count), query.Count);
+		//uint timer = Log.DebugTimerStart ();
+		int total_photos = Database.Photos.TotalPhotos;
+		if (total_photos != query.Count)
+			status_label.Text = String.Format (Catalog.GetPluralString ("{0} Photo out of {1}", "{0} Photos out of {1}", query.Count), query.Count, total_photos);
+		else
+			status_label.Text = String.Format (Catalog.GetPluralString ("{0} Photo", "{0} Photos", query.Count), query.Count);
 	
-			if ((selection != null) && (selection.Count > 0))
-				status_label.Text += String.Format (Catalog.GetPluralString (" ({0} selected)", " ({0} selected)", selection.Count), selection.Count);
-			break;
-		}
+		if ((selection != null) && (selection.Count > 0))
+			status_label.Text += String.Format (Catalog.GetPluralString (" ({0} selected)", " ({0} selected)", selection.Count), selection.Count);
 		status_label.UseMarkup = true;
+		//Log.DebugTimerPrint (timer, "UpdateStatusLabel took {0}");
 	}
 	
 	void HandleZoomChanged (object sender, System.EventArgs args)

Modified: trunk/src/PhotoImageView.cs
==============================================================================
--- trunk/src/PhotoImageView.cs	(original)
+++ trunk/src/PhotoImageView.cs	Fri May 23 08:04:06 2008
@@ -417,6 +417,8 @@
 		[GLib.ConnectBefore]
 		private void HandleKeyPressEvent (object sender, Gtk.KeyPressEventArgs args)
 		{
+			bool alt = Gdk.ModifierType.Mod1Mask == (args.Event.State & Gdk.ModifierType.Mod1Mask);
+
 			// FIXME I really need to figure out why overriding is not working
 			// for any of the default handlers.
 			args.RetVal = true;
@@ -465,15 +467,24 @@
 				break;
 			case Gdk.Key.Key_0:
 			case Gdk.Key.KP_0:
-				this.Fit = true;
+				if (alt) 
+					args.RetVal = false;
+				else
+					this.Fit = true;
 				break;
 			case Gdk.Key.Key_1:
 			case Gdk.Key.KP_1:
-				this.Zoom =  1.0;
+				if (alt)
+					args.RetVal = false;
+				else
+					this.Zoom =  1.0;
 				break;
 			case Gdk.Key.Key_2:
 			case Gdk.Key.KP_2:
-				this.Zoom = 2.0;
+				if (alt) 
+					args.RetVal = false;
+				else
+					this.Zoom = 2.0;
 				break;
 			case Gdk.Key.minus:
 			case Gdk.Key.KP_Subtract:



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