[cheese/three-point-oh] Added "File Open" functionality. Unhooked to most events (except keyboard shortcut)



commit 1c215f2e9e4afdde715d8b864d210ff4a09ee71d
Author: Yuvaraj Pandian T <yuvipanda gmail com>
Date:   Sun Jul 11 02:36:52 2010 +0530

    Added "File Open" functionality. Unhooked to most events (except keyboard shortcut)

 data/cheese-actions.ui         |    9 +++++++++
 src/cheese-window.vala         |   21 +++++++++++++++++++--
 src/vapi/cheese-thumbview.vapi |    6 +++---
 3 files changed, 31 insertions(+), 5 deletions(-)
---
diff --git a/data/cheese-actions.ui b/data/cheese-actions.ui
index ced34c8..662009c 100644
--- a/data/cheese-actions.ui
+++ b/data/cheese-actions.ui
@@ -273,6 +273,15 @@
 	  <menuitem action="about" />
 	</menu>
       </menubar>
+
+      <menubar name="thumbnail_popup">
+        <menuitem action="open" />
+        <separator />
+        <menuitem action="save_as" />
+        <separator />
+        <menuitem action="move_to_trash" />
+        <menuitem action="delete" />
+      </menubar>
     </ui>
   </object>
 </interface>
diff --git a/src/cheese-window.vala b/src/cheese-window.vala
index cdf8175..8c36075 100644
--- a/src/cheese-window.vala
+++ b/src/cheese-window.vala
@@ -82,6 +82,23 @@ public class Cheese.MainWindow : Gtk.Window
   }
 
   [CCode (instance_pos = -1)]
+  internal void on_file_open (Gtk.Action action)
+  {
+    string filename, uri;
+    Gdk.Screen screen;
+	
+
+    filename = thumb_view.get_selected_image ();
+	if (filename == null)
+		return; // Nothing selected.
+	
+    uri      = GLib.Filename.to_uri (filename);
+
+    screen = this.get_screen ();
+    Gtk.show_uri (screen, uri, Gtk.get_current_event_time ());
+  }
+
+  [CCode (instance_pos = -1)]
   internal void on_help_contents (Gtk.Action action)
   {
     Gdk.Screen screen;
@@ -462,12 +479,12 @@ public class Cheese.MainWindow : Gtk.Window
     current_effects_grid = effects_grids[number];
     viewport_layout.add ((Clutter.Actor)current_effects_grid);
 
-    for (int i = 0; i < effects_manager.effects.size - 1 ; i++)
+    for (int i = 0; i < effects_manager.effects.size - 1; i++)
     {
       int page_of_effect = i / EFFECTS_PER_PAGE;
       if (page_of_effect == page_of_effect)
       {
-        effects_manager.effects[i].enable_preview ();	
+        effects_manager.effects[i].enable_preview ();
       }
       else
       {
diff --git a/src/vapi/cheese-thumbview.vapi b/src/vapi/cheese-thumbview.vapi
index 97ca87d..29309c8 100644
--- a/src/vapi/cheese-thumbview.vapi
+++ b/src/vapi/cheese-thumbview.vapi
@@ -5,8 +5,8 @@ namespace Cheese
   public class ThumbView : Gtk.IconView
   {
     public ThumbView ();
-    string get_selected_image ();
-    int    get_n_selected ();
-    void   remove_item (GLib.File file);
+    public string get_selected_image ();
+    public int    get_n_selected ();
+    public void   remove_item (GLib.File file);
   }
 }



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