f-spot r3644 - in trunk: . extensions extensions/CDExport extensions/DefaultExporters po src



Author: sdelcroix
Date: Fri Feb  8 14:58:16 2008
New Revision: 3644
URL: http://svn.gnome.org/viewvc/f-spot?rev=3644&view=rev

Log:
2008-02-08  Lorenzo Milesi <maxxer yetopen it>

	* configure.in:
	* Makefile.am:
	* po/POTFILES.*:
	* src/f-spot.glade:
	* src/Makefile.am:
	* src/CDExport.cs: move CDExport out of the codebase


Added:
   trunk/extensions/CDExport/
   trunk/extensions/CDExport/CDExport.addin.xml
   trunk/extensions/CDExport/CDExport.cs
   trunk/extensions/CDExport/CDExport.glade
   trunk/extensions/CDExport/Makefile.am
Removed:
   trunk/src/CDExport.cs
Modified:
   trunk/ChangeLog
   trunk/configure.in
   trunk/extensions/ChangeLog
   trunk/extensions/DefaultExporters/DefaultExporters.addin.xml
   trunk/extensions/Makefile.am
   trunk/po/POTFILES.in
   trunk/po/POTFILES.skip
   trunk/src/Makefile.am
   trunk/src/f-spot.glade

Modified: trunk/configure.in
==============================================================================
--- trunk/configure.in	(original)
+++ trunk/configure.in	Fri Feb  8 14:58:16 2008
@@ -292,6 +292,7 @@
 Tao/Tao.GlPostProcess/Makefile
 Tao/Tao.OpenGl.ExtensionLoader/Makefile
 extensions/Makefile
+extensions/CDExport/Makefile
 extensions/DefaultExporters/Makefile
 extensions/FlickrExport/Makefile
 extensions/FlickrExport/FlickrNet/Makefile

Added: trunk/extensions/CDExport/CDExport.addin.xml
==============================================================================
--- (empty file)
+++ trunk/extensions/CDExport/CDExport.addin.xml	Fri Feb  8 14:58:16 2008
@@ -0,0 +1,17 @@
+<Addin namespace="FSpot"
+	version="1.0"
+	name="CD Export"
+	description="This extension allows you to burn your photos to CD."
+	author="F-Spot team"
+	url="http://f-spot.org";
+	defaultEnabled="true"
+	category="Export">
+
+	<Dependencies>
+		<Addin id="Core" version="0.4.0.0"/>
+	</Dependencies>
+
+	<Extension path = "/FSpot/Menus/Exports">
+		<ExportMenuItem id="CD" _label = "_CD..." class = "FSpotCDExport.CDExport" />
+	</Extension>
+</Addin>

Added: trunk/extensions/CDExport/CDExport.cs
==============================================================================
--- (empty file)
+++ trunk/extensions/CDExport/CDExport.cs	Fri Feb  8 14:58:16 2008
@@ -0,0 +1,237 @@
+using System.IO;
+using System.Runtime.InteropServices;
+using Mono.Unix;
+using FSpot;
+using FSpot.Filters;
+using FSpot.Widgets;
+using FSpot.Utils;
+
+namespace FSpotCDExport {
+	public class CDExport : FSpot.Extensions.IExporter {
+		IBrowsableCollection selection;
+
+		[Glade.Widget] Gtk.Dialog dialog;
+		[Glade.Widget] Gtk.ScrolledWindow thumb_scrolledwindow;
+		[Glade.Widget] Gtk.CheckButton remove_check;
+		[Glade.Widget] Gtk.CheckButton rotate_check;
+		[Glade.Widget] Gtk.Label size_label;
+
+		Gnome.Vfs.Uri dest = new Gnome.Vfs.Uri ("burn:///");
+		
+		int photo_index;
+		bool clean;
+		bool rotate;
+
+		FSpot.ThreadProgressDialog progress_dialog;
+		System.Threading.Thread command_thread;
+
+		private Glade.XML xml;
+		private string dialog_name = "cd_export_dialog";
+
+		public CDExport ()
+		{
+		}
+
+		public void Run (IBrowsableCollection selection)
+		{
+
+			xml = new Glade.XML (null, "CDExport.glade", dialog_name, "f-spot");
+			xml.Autoconnect (this);
+
+			this.selection = selection;
+
+			// Calculate the total size
+			long total_size = 0;
+			string path;
+			System.IO.FileInfo file_info;
+
+			foreach (IBrowsableItem item in selection.Items) {
+				path = item.DefaultVersionUri.LocalPath;
+				if (System.IO.File.Exists (path)) {
+					file_info = new System.IO.FileInfo (path);
+					total_size += file_info.Length;
+				}
+			}
+
+			IconView view = new IconView (selection);
+			view.DisplayDates = false;
+			view.DisplayTags = false;
+
+			Dialog.Modal = false;
+			Dialog.TransientFor = null;
+			
+			size_label.Text = SizeUtil.ToHumanReadable (total_size);
+
+			thumb_scrolledwindow.Add (view);
+			Dialog.ShowAll ();
+
+			//LoadHistory ();
+
+			Dialog.Response += HandleResponse;
+		}
+
+		void HandleBrowseExisting (object sender, System.EventArgs args)
+		{
+			GnomeUtil.UrlShow (null, dest.ToString ());
+		}
+
+		[DllImport ("libc")] 
+		extern static int system (string program);
+
+		//FIXME: rewrite this as a Filter
+	        public static Gnome.Vfs.Uri UniqueName (Gnome.Vfs.Uri path, string shortname)
+	        {
+	                int i = 1;
+			Gnome.Vfs.Uri target = path.Clone();
+	                Gnome.Vfs.Uri dest = target.AppendFileName(shortname);
+	
+	                while (dest.Exists) {
+	                        string numbered_name = System.String.Format ("{0}-{1}{2}",
+	                                                              System.IO.Path.GetFileNameWithoutExtension (shortname),
+	                                                              i++,
+	                                                              System.IO.Path.GetExtension (shortname));
+	
+	                	dest = target.AppendFileName(numbered_name);
+	                }
+	
+	                return dest;
+	        }
+
+		void Clean ()
+		{
+			Gnome.Vfs.Uri target = dest.Clone ();
+			Gnome.Vfs.XferProgressCallback cb = new Gnome.Vfs.XferProgressCallback (Progress);
+			Gnome.Vfs.Xfer.XferDeleteList (new Gnome.Vfs.Uri [] {target}, Gnome.Vfs.XferErrorMode.Query, Gnome.Vfs.XferOptions.Recursive, cb);
+			
+		}
+
+		public void Transfer () {
+			try {
+				Gnome.Vfs.Result result = Gnome.Vfs.Result.Ok;
+
+				if (clean)
+					Clean ();
+
+				foreach (IBrowsableItem photo in selection.Items) {
+
+ 				//FIXME need to implement the uniquename as a filter	
+					using (FilterRequest request = new FilterRequest (photo.DefaultVersionUri)) {
+						if (rotate)
+							new OrientationFilter ().Convert (request);
+						
+						Gnome.Vfs.Uri source = new Gnome.Vfs.Uri (request.Current.ToString ());
+						Gnome.Vfs.Uri target = dest.Clone ();
+						target = UniqueName (target, photo.Name);
+						
+						Gnome.Vfs.XferProgressCallback cb = new Gnome.Vfs.XferProgressCallback (Progress);
+						
+						progress_dialog.Message = System.String.Format (Catalog.GetString ("Transferring picture \"{0}\" To CD"), photo.Name);
+						progress_dialog.Fraction = photo_index / (double) selection.Count;
+						progress_dialog.ProgressText = System.String.Format (Catalog.GetString ("{0} of {1}"), 
+												     photo_index, selection.Count);
+						result = Gnome.Vfs.Xfer.XferUri (source, target, 
+										 Gnome.Vfs.XferOptions.Default, 
+										 Gnome.Vfs.XferErrorMode.Abort, 
+										 Gnome.Vfs.XferOverwriteMode.Replace, 
+										 cb);
+					}
+					photo_index++;
+				}
+
+				// FIXME the error dialog here is ugly and needs improvement when strings are not frozen.
+				if (result == Gnome.Vfs.Result.Ok) {
+					progress_dialog.Message = Catalog.GetString ("Done Sending Photos");
+					progress_dialog.Fraction = 1.0;
+					progress_dialog.ProgressText = Catalog.GetString ("Transfer Complete");
+					progress_dialog.ButtonLabel = Gtk.Stock.Ok;
+					progress_dialog.Hide ();
+					system ("nautilus-cd-burner");
+				} else {
+					throw new System.Exception (System.String.Format ("{0}{3}{1}{3}{2}", 
+											  progress_dialog.Message,
+											  Catalog.GetString ("Error While Transferring"), 
+											  result.ToString (),
+											  System.Environment.NewLine));
+				}
+
+			} catch (System.Exception e) {
+				progress_dialog.Message = e.ToString ();
+				progress_dialog.ProgressText = Catalog.GetString ("Error Transferring");
+				return;
+			}
+			Gtk.Application.Invoke (this.Destroy);
+		}
+		
+		private void Destroy (object sender, System.EventArgs args)
+		{
+			progress_dialog.Destroy ();
+		}
+	     
+		private int Progress (Gnome.Vfs.XferProgressInfo info)
+		{
+			progress_dialog.ProgressText = info.Phase.ToString ();
+
+			if (info.BytesTotal > 0) {
+				progress_dialog.Fraction = info.BytesCopied / (double)info.BytesTotal;
+			}
+			
+			switch (info.Status) {
+			case Gnome.Vfs.XferProgressStatus.Vfserror:
+				progress_dialog.Message = Catalog.GetString ("Error: Error while transferring; Aborting");
+				return (int)Gnome.Vfs.XferErrorAction.Abort;
+			case Gnome.Vfs.XferProgressStatus.Overwrite:
+				progress_dialog.ProgressText = Catalog.GetString ("Error: File Already Exists; Aborting");
+				return (int)Gnome.Vfs.XferOverwriteAction.Abort;
+			default:
+				return 1;
+			}
+
+		}
+
+		private void HandleMsg (Gnome.Vfs.ModuleCallback cb)
+		{
+			Gnome.Vfs.ModuleCallbackStatusMessage msg = cb as Gnome.Vfs.ModuleCallbackStatusMessage;
+			System.Console.WriteLine ("{0}", msg.Message);
+		}
+		
+		private void HandleAuth (Gnome.Vfs.ModuleCallback cb)
+		{
+			Gnome.Vfs.ModuleCallbackFullAuthentication fcb = cb as Gnome.Vfs.ModuleCallbackFullAuthentication;
+			System.Console.Write ("Enter your username ({0}): ", fcb.Username);
+			string username = System.Console.ReadLine ();
+			System.Console.Write ("Enter your password : ");
+			string passwd = System.Console.ReadLine ();
+			
+			if (username.Length > 0)
+				fcb.Username = username;
+			fcb.Password = passwd;
+		}
+
+		private void HandleResponse (object sender, Gtk.ResponseArgs args)
+		{
+			if (args.ResponseId != Gtk.ResponseType.Ok) {
+				Dialog.Destroy ();
+				return;
+			}
+
+			clean = remove_check.Active;
+			rotate = rotate_check.Active;
+			Dialog.Destroy ();
+
+			command_thread = new System.Threading.Thread (new System.Threading.ThreadStart (Transfer));
+			command_thread.Name = Catalog.GetString ("Transferring Pictures");
+
+			progress_dialog = new FSpot.ThreadProgressDialog (command_thread, selection.Count);
+			progress_dialog.Start ();
+		}
+
+		private Gtk.Dialog Dialog {
+			get {
+				if (dialog == null)
+					dialog = (Gtk.Dialog) xml.GetWidget (dialog_name);
+
+				return dialog;
+			}
+		}
+	}
+}

Added: trunk/extensions/CDExport/CDExport.glade
==============================================================================
--- (empty file)
+++ trunk/extensions/CDExport/CDExport.glade	Fri Feb  8 14:58:16 2008
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
+<glade-interface>
+  <requires lib="canvas"/>
+  <requires lib="gnome"/>
+  <widget class="GtkDialog" id="cd_export_dialog">
+    <property name="visible">True</property>
+    <property name="title" translatable="yes">Create CD</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox13">
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkVBox" id="vbox42">
+            <property name="visible">True</property>
+            <child>
+              <widget class="GtkFrame" id="frame33">
+                <property name="visible">True</property>
+                <property name="label_xalign">0</property>
+                <property name="shadow_type">GTK_SHADOW_NONE</property>
+                <child>
+                  <widget class="GtkAlignment" id="alignment37">
+                    <property name="visible">True</property>
+                    <property name="left_padding">12</property>
+                    <child>
+                      <widget class="GtkVBox" id="vbox43">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkScrolledWindow" id="thumb_scrolledwindow">
+                            <property name="width_request">512</property>
+                            <property name="height_request">512</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                            <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </widget>
+                        </child>
+                        <child>
+                          <widget class="GtkHBox" id="hbox39">
+                            <property name="visible">True</property>
+                            <property name="spacing">12</property>
+                            <child>
+                              <widget class="GtkCheckButton" id="remove_check">
+                                <property name="can_focus">True</property>
+                                <property name="label" translatable="yes">_Write only these photos to CD</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkButton" id="browes_button">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="label" translatable="yes">_Browse Previously Scheduled Files</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <signal name="clicked" handler="HandleBrowseExisting"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkCheckButton" id="rotate_check">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="label" translatable="yes">Autorotate</property>
+                            <property name="use_underline">True</property>
+                            <property name="response_id">0</property>
+                            <property name="draw_indicator">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkHBox" id="hbox85">
+                            <property name="visible">True</property>
+                            <child>
+                              <widget class="GtkLabel" id="label210">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Size of the exported selection :</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="size_label">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Size</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="position">3</property>
+                          </packing>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label98">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Photos to Burn&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="type">label_item</property>
+                  </packing>
+                </child>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area13">
+            <property name="visible">True</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <widget class="GtkButton" id="cancelbutton6">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="label">gtk-cancel</property>
+                <property name="use_stock">True</property>
+                <property name="response_id">-6</property>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkButton" id="export_button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="label">_Export</property>
+                <property name="use_underline">True</property>
+                <property name="response_id">-5</property>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+</glade-interface>

Added: trunk/extensions/CDExport/Makefile.am
==============================================================================
--- (empty file)
+++ trunk/extensions/CDExport/Makefile.am	Fri Feb  8 14:58:16 2008
@@ -0,0 +1,49 @@
+include $(top_srcdir)/Makefile.include
+
+PLUGIN_NAME = CDExport
+
+PLUGIN_MANIFEST = $(PLUGIN_NAME).addin.xml
+
+PLUGIN_ASSEMBLY = $(PLUGIN_NAME).dll
+
+PLUGIN_SOURCES =			\
+	$(srcdir)/CDExport.cs
+
+REFS =					\
+	-r:../../src/f-spot.exe		\
+	-r:../../src/FSpot.Core.dll	\
+	-r:../../src/FSpot.Utils.dll	\
+	-r:../../semweb/SemWeb.dll	\
+	-r:Mono.Posix
+
+PKGS =					\
+	-pkg:gnome-vfs-sharp-2.0	\
+	-pkg:gtk-sharp-2.0		\
+	-pkg:glade-sharp-2.0
+
+RESOURCES =				\
+	-resource:$(srcdir)/$(PLUGIN_MANIFEST)	\
+	-resource:$(srcdir)/$(PLUGIN_NAME).glade
+
+all: $(PLUGIN_ASSEMBLY)
+
+mpack: $(PLUGIN_ASSEMBLY)
+	mautil p $(PLUGIN_ASSEMBLY)
+
+$(PLUGIN_ASSEMBLY): $(PLUGIN_SOURCES) $(PLUGIN_MANIFEST)
+	$(CSC_LIB) -out:$@ $(PLUGIN_SOURCES) $(REFS) $(PKGS) $(ASSEMBLIES) $(RESOURCES)
+
+plugindir = $(pkglibdir)/extensions
+
+plugin_DATA =			\
+	$(PLUGIN_ASSEMBLY)
+
+EXTRA_DIST = 			\
+	$(PLUGIN_SOURCES)	\
+	$(PLUGIN_MANIFEST)	\
+	$(PLUGIN_NAME).glade
+
+CLEANFILES =			\
+	$(PLUGIN_ASSEMBLY)	\
+	$(PLUGIN_ASSEMBLY).mdb	\
+	*.mpack

Modified: trunk/extensions/DefaultExporters/DefaultExporters.addin.xml
==============================================================================
--- trunk/extensions/DefaultExporters/DefaultExporters.addin.xml	(original)
+++ trunk/extensions/DefaultExporters/DefaultExporters.addin.xml	Fri Feb  8 14:58:16 2008
@@ -1,5 +1,5 @@
 <Addin namespace="FSpot"
-	version="1.4"
+	version="1.5"
 	name="Default Exporters"
 	description="This extension contains all the default exporters for f-spot. Most of them will be moved out of this extension in the future, and, at that time, this extension will be deprecated."
 	author="F-Spot team"
@@ -13,6 +13,5 @@
 
 	<Extension path = "/FSpot/Menus/Exports">
 		<ExportMenuItem id="PicasaWeb" _label = "_PicasaWeb..." class = "FSpot.GoogleExport" />
-		<ExportMenuItem id="CD" _label = "_CD..." class = "FSpot.CDExport" />
 	</Extension>
 </Addin>

Modified: trunk/extensions/Makefile.am
==============================================================================
--- trunk/extensions/Makefile.am	(original)
+++ trunk/extensions/Makefile.am	Fri Feb  8 14:58:16 2008
@@ -1,4 +1,5 @@
 SUBDIRS = 			\
+	CDExport		\
 	GalleryExport		\
 	FlickrExport		\
 	FolderExport		\

Modified: trunk/po/POTFILES.in
==============================================================================
--- trunk/po/POTFILES.in	(original)
+++ trunk/po/POTFILES.in	Fri Feb  8 14:58:16 2008
@@ -27,7 +27,6 @@
 libeog/eog-image.c
 libeog/image-view.c
 libfspot/f-jpeg-utils.c
-src/CDExport.cs
 src/CameraFileSelectionDialog.cs
 src/CameraSelectionDialog.cs
 src/ColorDialog.cs

Modified: trunk/po/POTFILES.skip
==============================================================================
--- trunk/po/POTFILES.skip	(original)
+++ trunk/po/POTFILES.skip	Fri Feb  8 14:58:16 2008
@@ -4,6 +4,9 @@
 src/Widgets/DateEdit.cs
 extensions/RawPlusJpeg/RawPlusJpeg.addin.xml
 extensions/DevelopInUFraw/DevelopInUFRaw.addin.xml
+extensions/CDExport/CDExport.addin.xml
+extensions/CDExport/CDExport.cs
+extensions/CDExport/CDExport.glade
 extensions/FacebookExport/FacebookExport.addin.xml
 extensions/FacebookExport/FacebookExport.cs
 extensions/FacebookExport/FacebookExport.glade

Modified: trunk/src/Makefile.am
==============================================================================
--- trunk/src/Makefile.am	(original)
+++ trunk/src/Makefile.am	Fri Feb  8 14:58:16 2008
@@ -81,7 +81,6 @@
 	$(srcdir)/BlockProcessor.cs		\
 	$(srcdir)/BitConverter.cs		\
 	$(srcdir)/PhotoArray.cs 		\
-	$(srcdir)/CDExport.cs			\
 	$(srcdir)/ColorDialog.cs		\
 	$(srcdir)/ColorAdjustment.cs		\
 	$(srcdir)/CompatFileChooser.cs		\

Modified: trunk/src/f-spot.glade
==============================================================================
--- trunk/src/f-spot.glade	(original)
+++ trunk/src/f-spot.glade	Fri Feb  8 14:58:16 2008
@@ -5090,189 +5090,6 @@
       </widget>
     </child>
   </widget>
-  <widget class="GtkDialog" id="cd_export_dialog">
-    <property name="visible">True</property>
-    <property name="title" translatable="yes">Create CD</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-    <property name="has_separator">False</property>
-    <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox13">
-        <property name="visible">True</property>
-        <child>
-          <widget class="GtkVBox" id="vbox42">
-            <property name="visible">True</property>
-            <child>
-              <widget class="GtkFrame" id="frame33">
-                <property name="visible">True</property>
-                <property name="label_xalign">0</property>
-                <property name="shadow_type">GTK_SHADOW_NONE</property>
-                <child>
-                  <widget class="GtkAlignment" id="alignment37">
-                    <property name="visible">True</property>
-                    <property name="left_padding">12</property>
-                    <child>
-                      <widget class="GtkVBox" id="vbox43">
-                        <property name="visible">True</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <widget class="GtkScrolledWindow" id="thumb_scrolledwindow">
-                            <property name="width_request">512</property>
-                            <property name="height_request">512</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                            <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                            <child>
-                              <placeholder/>
-                            </child>
-                          </widget>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox39">
-                            <property name="visible">True</property>
-                            <property name="spacing">12</property>
-                            <child>
-                              <widget class="GtkCheckButton" id="remove_check">
-                                <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">_Write only these photos to CD</property>
-                                <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
-                                <property name="draw_indicator">True</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkButton" id="browes_button">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">_Browse Previously Scheduled Files</property>
-                                <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
-                                <signal name="clicked" handler="HandleBrowseExisting"/>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <placeholder/>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkCheckButton" id="rotate_check">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="label" translatable="yes">Autorotate</property>
-                            <property name="use_underline">True</property>
-                            <property name="response_id">0</property>
-                            <property name="draw_indicator">True</property>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">2</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox85">
-                            <property name="visible">True</property>
-                            <child>
-                              <widget class="GtkLabel" id="label210">
-                                <property name="visible">True</property>
-                                <property name="label" translatable="yes">Size of the exported selection :</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkLabel" id="size_label">
-                                <property name="visible">True</property>
-                                <property name="label" translatable="yes">Size</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <placeholder/>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="position">3</property>
-                          </packing>
-                        </child>
-                      </widget>
-                    </child>
-                  </widget>
-                </child>
-                <child>
-                  <widget class="GtkLabel" id="label98">
-                    <property name="visible">True</property>
-                    <property name="label" translatable="yes">&lt;b&gt;Photos to Burn&lt;/b&gt;</property>
-                    <property name="use_markup">True</property>
-                  </widget>
-                  <packing>
-                    <property name="type">label_item</property>
-                  </packing>
-                </child>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area13">
-            <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
-            <child>
-              <widget class="GtkButton" id="cancelbutton6">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="label">gtk-cancel</property>
-                <property name="use_stock">True</property>
-                <property name="response_id">-6</property>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkButton" id="export_button">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="label">_Export</property>
-                <property name="use_underline">True</property>
-                <property name="response_id">-5</property>
-              </widget>
-              <packing>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
   <widget class="GtkDialog" id="external_color_dialog">
     <property name="visible">True</property>
     <property name="title" translatable="yes">Adjust Color</property>



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