public PreviewPopup(IconView view) : base(Gtk.WindowType.Toplevel) { Gtk.VBox vbox = new Gtk.VBox (); this.Add (vbox); this.AddEvents ((int) (Gdk.EventMask.PointerMotionMask | Gdk.EventMask.KeyReleaseMask | Gdk.EventMask.ButtonPressMask)); this.Decorated = false; this.SkipTaskbarHint = true; this.SkipPagerHint = true; this.SetPosition (Gtk.WindowPosition.None); this.KeyReleaseEvent += HandleKeyRelease; this.ButtonPressEvent += HandleButtonPress; this.Destroyed += HandleDestroyed; this.view = view; view.MotionNotifyEvent += HandleIconViewMotion; view.KeyPressEvent += HandleIconViewKeyPress; view.KeyReleaseEvent += HandleKeyRelease; view.DestroyEvent += HandleIconViewDestroy; this.BorderWidth = 6; hist = new FSpot.Histogram (); hist.RedColorHint = 127; hist.GreenColorHint = 127; hist.BlueColorHint = 127; hist.BackgroundColorHint = 0xff; image = new Gtk.Image (); image.CanFocus = false; label = new Gtk.Label (String.Empty); label.CanFocus = false; label.ModifyFg (Gtk.StateType.Normal, new Gdk.Color (127, 127, 127)); label.ModifyBg (Gtk.StateType.Normal, new Gdk.Color (0, 0, 0)); this.ModifyFg (Gtk.StateType.Normal, new Gdk.Color (127, 127, 127)); this.ModifyBg (Gtk.StateType.Normal, new Gdk.Color (0, 0, 0)); vbox.PackStart (image, true, true, 0); vbox.PackStart (label, true, false, 0); vbox.ShowAll (); }
public void Run(IBrowsableCollection selection) { xml = new Glade.XML(null, "SmugMugExport.glade", dialog_name, "f-spot"); xml.Autoconnect(this); this.items = selection.Items; album_button.Sensitive = false; FSpot.Widgets.IconView view = new FSpot.Widgets.IconView(selection); view.DisplayDates = false; view.DisplayTags = false; Dialog.Modal = false; Dialog.TransientFor = null; Dialog.Close += HandleCloseEvent; thumb_scrolledwindow.Add(view); view.Show(); Dialog.Show(); SmugMugAccountManager manager = SmugMugAccountManager.GetInstance(); manager.AccountListChanged += PopulateSmugMugOptionMenu; PopulateSmugMugOptionMenu(manager, null); if (edit_button != null) { edit_button.Clicked += HandleEditGallery; } rh = new Gtk.ResponseHandler(HandleResponse); Dialog.Response += HandleResponse; connect = true; HandleSizeActive(null, null); Connect(); scale_check.Toggled += HandleScaleCheckToggled; LoadPreference(SCALE_KEY); LoadPreference(SIZE_KEY); LoadPreference(ROTATE_KEY); LoadPreference(BROWSER_KEY); }
public AdjustTimeDialog(Db db, IBrowsableCollection collection) : base("AdjustTimeDialog.ui", "time_dialog") { this.db = db; this.collection = collection; tray = new TrayView (collection); tray_scrolled.Add (tray); tray.Selection.Changed += HandleSelectionChanged; view = new PhotoImageView (collection); view_scrolled.Add (view); Item = view.Item; Item.Changed += HandleItemChanged; Item.MoveFirst (); //forward_button.Clicked += HandleForwardClicked; //back_button.Clicked += HandleBackClicked; ok_button.Clicked += HandleOkClicked; cancel_button.Clicked += HandleCancelClicked; photo_spin.ValueChanged += HandleSpinChanged; photo_spin.SetIncrements (1.0, 1.0); photo_spin.Adjustment.StepIncrement = 1.0; photo_spin.Wrap = true; date_edit.TimeChanged += HandleTimeChanged; date_edit.DateChanged += HandleTimeChanged; Gtk.Entry entry = (Gtk.Entry) date_edit.Children [0]; entry.Changed += HandleTimeChanged; entry = (Gtk.Entry) date_edit.Children [2]; entry.Changed += HandleTimeChanged; offset_entry.Changed += HandleOffsetChanged; ShowAll (); HandleCollectionChanged (collection); spacing_entry.Changed += HandleSpacingChanged; spacing_entry.Sensitive = ! difference_check.Active; difference_check.Toggled += HandleActionToggled; }
public TimeDialog(Db db, IBrowsableCollection collection) : base("time_dialog") { this.db = db; this.collection = collection; tray = new TrayView(collection); tray_scrolled.Add(tray); tray.Selection.Changed += HandleSelectionChanged; view = new PhotoImageView(collection); view_scrolled.Add(view); Item = view.Item; Item.Changed += HandleItemChanged; Item.MoveFirst(); //forward_button.Clicked += HandleForwardClicked; //back_button.Clicked += HandleBackClicked; ok_button.Clicked += HandleOkClicked; cancel_button.Clicked += HandleCancelClicked; photo_spin.ValueChanged += HandleSpinChanged; photo_spin.SetIncrements(1.0, 1.0); photo_spin.Adjustment.StepIncrement = 1.0; photo_spin.Wrap = true; date_edit.TimeChanged += HandleTimeChanged; date_edit.DateChanged += HandleTimeChanged; Gtk.Entry entry = (Gtk.Entry)date_edit.Children [0]; entry.Changed += HandleTimeChanged; entry = (Gtk.Entry)date_edit.Children [2]; entry.Changed += HandleTimeChanged; offset_entry.Changed += HandleOffsetChanged; Dialog.ShowAll(); HandleCollectionChanged(collection); spacing_entry.Changed += HandleSpacingChanged; spacing_entry.Sensitive = !difference_check.Active; difference_check.Toggled += HandleActionToggled; }
public CDExportDialog(IBrowsableCollection selection, System.Uri dest) : base(Assembly.GetExecutingAssembly (), "CDExport.ui", "cd_export_dialog") { this.selection = selection; this.dest = dest; // 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; } } FSpot.Widgets.IconView view = new FSpot.Widgets.IconView (selection); view.DisplayDates = false; view.DisplayTags = false; view.DisplayRatings = false; this.Modal = false; this.TransientFor = null; size_label.Text = Format.SizeForDisplay (total_size); thumb_scrolledwindow.Add (view); this.ShowAll (); previous_frame.Visible = IsEmpty (dest); //LoadHistory (); }
public void Run(SupportedService service, IBrowsableCollection selection, bool display_tags) { this.selection = selection; this.current_service = FlickrRemote.Service.FromSupported (service); IconView view = new IconView (selection); view.DisplayTags = display_tags; view.DisplayDates = false; xml = new Glade.XML (null, "FlickrExport.glade", dialog_name, "f-spot"); xml.Autoconnect (this); Dialog.Modal = false; Dialog.TransientFor = null; thumb_scrolledwindow.Add (view); HandleSizeActive (null, null); public_radio.Toggled += HandlePublicChanged; tag_check.Toggled += HandleTagChanged; hierarchy_check.Toggled += HandleHierarchyChanged; HandleTagChanged (null, null); HandleHierarchyChanged (null, null); Dialog.ShowAll (); Dialog.Response += HandleResponse; auth_flickr.Clicked += HandleClicked; auth_text = string.Format (auth_label.Text, current_service.Name); auth_label.Text = auth_text; used_bandwidth.Visible = false; LoadPreference (SCALE_KEY); LoadPreference (SIZE_KEY); LoadPreference (BROWSER_KEY); LoadPreference (TAGS_KEY); LoadPreference (TAG_HIERARCHY_KEY); LoadPreference (IGNORE_TOP_LEVEL_KEY); LoadPreference (STRIP_META_KEY); LoadPreference (PUBLIC_KEY); LoadPreference (FAMILY_KEY); LoadPreference (FRIENDS_KEY); LoadPreference (current_service.PreferencePath); do_export_flickr.Sensitive = false; fr = new FlickrRemote (token, current_service); if (token != null && token.Length > 0) { StartAuth (); } }
public SingleView(Uri [] uris) { string glade_name = "single_view"; this.uri = uris [0]; System.Console.WriteLine("uri = {0}", uri.ToString()); xml = new Glade.XML(null, "f-spot.glade", glade_name, "f-spot"); xml.Autoconnect(this); window = (Gtk.Window)xml.GetWidget(glade_name); LoadPreference(Preferences.VIEWER_WIDTH); LoadPreference(Preferences.VIEWER_MAXIMIZED); Gtk.Toolbar toolbar = new Gtk.Toolbar(); toolbar_hbox.PackStart(toolbar); ToolButton rl_button = GtkUtil.ToolButtonFromTheme("object-rotate-left", Catalog.GetString("Rotate Left"), true); rl_button.Clicked += HandleRotate270Command; rl_button.SetTooltip(toolTips, Catalog.GetString("Rotate photo left"), null); toolbar.Insert(rl_button, -1); ToolButton rr_button = GtkUtil.ToolButtonFromTheme("object-rotate-right", Catalog.GetString("Rotate Right"), true); rr_button.Clicked += HandleRotate90Command; rr_button.SetTooltip(toolTips, Catalog.GetString("Rotate photo right"), null); toolbar.Insert(rr_button, -1); toolbar.Insert(new SeparatorToolItem(), -1); ToolButton fs_button = GtkUtil.ToolButtonFromTheme("view-fullscreen", Catalog.GetString("Fullscreen"), true); fs_button.Clicked += HandleViewFullscreen; fs_button.SetTooltip(toolTips, Catalog.GetString("View photos fullscreen"), null); toolbar.Insert(fs_button, -1); ToolButton ss_button = GtkUtil.ToolButtonFromTheme("media-playback-start", Catalog.GetString("Slideshow"), true); ss_button.Clicked += HandleViewSlideshow; ss_button.SetTooltip(toolTips, Catalog.GetString("View photos in a slideshow"), null); toolbar.Insert(ss_button, -1); collection = new UriCollection(uris); TargetEntry [] dest_table = { new TargetEntry("text/uri-list", 0, 0), new TargetEntry("text/plain", 0, 1) }; directory_view = new FSpot.Widgets.IconView(collection); directory_view.Selection.Changed += HandleSelectionChanged; directory_view.DragDataReceived += HandleDragDataReceived; Gtk.Drag.DestSet(directory_view, DestDefaults.All, dest_table, DragAction.Copy | DragAction.Move); directory_view.DisplayTags = false; directory_view.DisplayDates = false; directory_view.DisplayRatings = false; directory_scrolled = new ScrolledWindow(); directory_scrolled.Add(directory_view); sidebar = new Sidebar(); info_vbox.Add(sidebar); sidebar.AppendPage(directory_scrolled, Catalog.GetString("Folder"), "gtk-directory"); AddinManager.AddExtensionNodeHandler("/FSpot/Sidebar", OnSidebarExtensionChanged); sidebar.Context = ViewContext.Single; sidebar.CloseRequested += HandleHideSidePane; sidebar.Show(); ThumbnailGenerator.Default.OnPixbufLoaded += delegate { directory_view.QueueDraw(); }; image_view = new PhotoImageView(collection); GtkUtil.ModifyColors(image_view); GtkUtil.ModifyColors(image_scrolled); image_view.ZoomChanged += HandleZoomChanged; image_view.Item.Changed += HandleItemChanged; image_view.ButtonPressEvent += HandleImageViewButtonPressEvent; image_view.DragDataReceived += HandleDragDataReceived; Gtk.Drag.DestSet(image_view, DestDefaults.All, dest_table, DragAction.Copy | DragAction.Move); image_scrolled.Add(image_view); Window.ShowAll(); zoom_scale.ValueChanged += HandleZoomScaleValueChanged; LoadPreference(Preferences.VIEWER_SHOW_TOOLBAR); LoadPreference(Preferences.VIEWER_INTERPOLATION); LoadPreference(Preferences.VIEWER_TRANSPARENCY); LoadPreference(Preferences.VIEWER_TRANS_COLOR); ShowSidebar = collection.Count > 1; LoadPreference(Preferences.VIEWER_SHOW_FILENAMES); Preferences.SettingChanged += OnPreferencesChanged; window.DeleteEvent += HandleDeleteEvent; collection.Changed += HandleCollectionChanged; // wrap the methods to fit to the delegate image_view.Item.Changed += delegate(BrowsablePointer pointer, BrowsablePointerChangedArgs old) { IBrowsableItem [] item = { pointer.Current }; PhotoArray item_array = new PhotoArray(item); sidebar.HandleSelectionChanged(item_array); }; image_view.Item.Collection.ItemsChanged += sidebar.HandleSelectionItemsChanged; UpdateStatusLabel(); if (collection.Count > 0) { directory_view.Selection.Add(0); } export.Submenu = (Mono.Addins.AddinManager.GetExtensionNode("/FSpot/Menus/Exports") as FSpot.Extensions.SubmenuNode).GetMenuItem(this).Submenu; export.Submenu.ShowAll(); export.Activated += HandleExportActivated; }
void HandleViewDirectory (object sender, EventArgs args) { Gtk.Window win = new Gtk.Window ("Directory View"); FSpot.Widgets.IconView view = new FSpot.Widgets.IconView (new FSpot.DirectoryCollection (System.IO.Directory.GetCurrentDirectory ())); new FSpot.PreviewPopup (view); view.DisplayTags = false; Gtk.ScrolledWindow scrolled = new ScrolledWindow (); win.Add (scrolled); scrolled.Add (view); win.ShowAll (); }
public void Run(IBrowsableCollection selection) { Glade.XML xml = new Glade.XML (null, "GalleryExport.glade", "gallery_export_dialog", "f-spot"); xml.Autoconnect (this); export_dialog = (Gtk.Dialog) xml.GetWidget ("gallery_export_dialog"); this.items = selection.Items; Array.Sort<IBrowsableItem> (this.items as Photo[], new Photo.CompareDateName()); album_button.Sensitive = false; IconView view = new IconView (selection); view.DisplayDates = false; view.DisplayTags = false; export_dialog.Modal = false; export_dialog.TransientFor = null; thumb_scrolledwindow.Add (view); view.Show (); export_dialog.Show (); GalleryAccountManager manager = GalleryAccountManager.GetInstance (); manager.AccountListChanged += PopulateGalleryOptionMenu; PopulateGalleryOptionMenu (manager, null); if (edit_button != null) edit_button.Clicked += HandleEditGallery; export_dialog.Response += HandleResponse; connect = true; HandleSizeActive (null, null); Connect (); LoadPreference (SCALE_KEY); LoadPreference (SIZE_KEY); LoadPreference (BROWSER_KEY); LoadPreference (META_KEY); LoadPreference (ROTATE_KEY); }
public void Run (IBrowsableCollection selection) { xml = new Glade.XML (null, "PicasaWebExport.glade", dialog_name, "f-spot"); xml.Autoconnect (this); this.items = selection.Items; album_button.Sensitive = false; IconView view = new IconView (selection); view.DisplayDates = false; view.DisplayTags = false; Dialog.Modal = false; Dialog.TransientFor = null; thumb_scrolledwindow.Add (view); view.Show (); Dialog.Show (); GoogleAccountManager manager = GoogleAccountManager.GetInstance (); manager.AccountListChanged += PopulateGoogleOptionMenu; PopulateGoogleOptionMenu (manager, null); album_optionmenu.Changed += HandleAlbumOptionMenuChanged; if (edit_button != null) edit_button.Clicked += HandleEditGallery; Dialog.Response += HandleResponse; connect = true; HandleSizeActive (null, null); Connect (); scale_check.Toggled += HandleScaleCheckToggled; LoadPreference (SCALE_KEY); LoadPreference (SIZE_KEY); LoadPreference (ROTATE_KEY); LoadPreference (BROWSER_KEY); // LoadPreference (Preferences.EXPORT_PICASAWEB_META); LoadPreference (TAG_KEY); }
public SingleView(Uri [] uris) { string glade_name = "single_view"; this.uri = uris [0]; xml = new Glade.XML (null, "f-spot.glade", glade_name, "f-spot"); xml.Autoconnect (this); window = (Gtk.Window) xml.GetWidget (glade_name); LoadPreference (Preferences.VIEWER_WIDTH); LoadPreference (Preferences.VIEWER_MAXIMIZED); Gtk.Toolbar toolbar = new Gtk.Toolbar (); toolbar_hbox.PackStart (toolbar); rl_button = GtkUtil.ToolButtonFromTheme ("object-rotate-left", Catalog.GetString ("Rotate Left"), true); rl_button.Clicked += HandleRotate270Command; rl_button.SetTooltip (toolTips, Catalog.GetString ("Rotate photo left"), null); toolbar.Insert (rl_button, -1); rr_button = GtkUtil.ToolButtonFromTheme ("object-rotate-right", Catalog.GetString ("Rotate Right"), true); rr_button.Clicked += HandleRotate90Command; rr_button.SetTooltip (toolTips, Catalog.GetString ("Rotate photo right"), null); toolbar.Insert (rr_button, -1); toolbar.Insert (new SeparatorToolItem (), -1); ToolButton fs_button = GtkUtil.ToolButtonFromTheme ("view-fullscreen", Catalog.GetString ("Fullscreen"), true); fs_button.Clicked += HandleViewFullscreen; fs_button.SetTooltip (toolTips, Catalog.GetString ("View photos fullscreen"), null); toolbar.Insert (fs_button, -1); ToolButton ss_button = GtkUtil.ToolButtonFromTheme ("media-playback-start", Catalog.GetString ("Slideshow"), true); ss_button.Clicked += HandleViewSlideshow; ss_button.SetTooltip (toolTips, Catalog.GetString ("View photos in a slideshow"), null); toolbar.Insert (ss_button, -1); collection = new UriCollection (uris); TargetEntry [] dest_table = { FSpot.DragDropTargets.UriListEntry, FSpot.DragDropTargets.PlainTextEntry }; directory_view = new FSpot.Widgets.IconView (collection); directory_view.Selection.Changed += HandleSelectionChanged; directory_view.DragDataReceived += HandleDragDataReceived; Gtk.Drag.DestSet (directory_view, DestDefaults.All, dest_table, DragAction.Copy | DragAction.Move); directory_view.DisplayTags = false; directory_view.DisplayDates = false; directory_view.DisplayRatings = false; directory_scrolled = new ScrolledWindow(); directory_scrolled.Add (directory_view); sidebar = new Sidebar (); info_vbox.Add (sidebar); sidebar.AppendPage (directory_scrolled, Catalog.GetString ("Folder"), "gtk-directory"); AddinManager.AddExtensionNodeHandler ("/FSpot/Sidebar", OnSidebarExtensionChanged); sidebar.Context = ViewContext.Single; sidebar.CloseRequested += HandleHideSidePane; sidebar.Show (); ThumbnailGenerator.Default.OnPixbufLoaded += delegate { directory_view.QueueDraw (); }; image_view = new PhotoImageView (collection); GtkUtil.ModifyColors (image_view); GtkUtil.ModifyColors (image_scrolled); image_view.ZoomChanged += HandleZoomChanged; image_view.Item.Changed += HandleItemChanged; image_view.ButtonPressEvent += HandleImageViewButtonPressEvent; image_view.DragDataReceived += HandleDragDataReceived; Gtk.Drag.DestSet (image_view, DestDefaults.All, dest_table, DragAction.Copy | DragAction.Move); image_scrolled.Add (image_view); Window.ShowAll (); zoom_scale.ValueChanged += HandleZoomScaleValueChanged; LoadPreference (Preferences.VIEWER_SHOW_TOOLBAR); LoadPreference (Preferences.VIEWER_INTERPOLATION); LoadPreference (Preferences.VIEWER_TRANSPARENCY); LoadPreference (Preferences.VIEWER_TRANS_COLOR); ShowSidebar = collection.Count > 1; LoadPreference (Preferences.VIEWER_SHOW_FILENAMES); Preferences.SettingChanged += OnPreferencesChanged; window.DeleteEvent += HandleDeleteEvent; collection.Changed += HandleCollectionChanged; // wrap the methods to fit to the delegate image_view.Item.Changed += delegate (object sender, BrowsablePointerChangedEventArgs old) { BrowsablePointer pointer = sender as BrowsablePointer; if (pointer == null) return; IBrowsableItem [] item = {pointer.Current}; PhotoArray item_array = new PhotoArray (item); sidebar.HandleSelectionChanged (item_array); }; image_view.Item.Collection.ItemsChanged += sidebar.HandleSelectionItemsChanged; UpdateStatusLabel (); if (collection.Count > 0) directory_view.Selection.Add (0); export.Submenu = (Mono.Addins.AddinManager.GetExtensionNode ("/FSpot/Menus/Exports") as FSpot.Extensions.SubmenuNode).GetMenuItem (this).Submenu; export.Submenu.ShowAll (); export.Activated += HandleExportActivated ; }
public void Run (IBrowsableCollection selection) { xml = new Glade.XML (null, "SmugMugExport.glade", dialog_name, "f-spot"); xml.Autoconnect (this); this.items = selection.Items; album_button.Sensitive = false; FSpot.Widgets.IconView view = new FSpot.Widgets.IconView (selection); view.DisplayDates = false; view.DisplayTags = false; Dialog.Modal = false; Dialog.TransientFor = null; Dialog.Close += HandleCloseEvent; thumb_scrolledwindow.Add (view); view.Show (); Dialog.Show (); SmugMugAccountManager manager = SmugMugAccountManager.GetInstance (); manager.AccountListChanged += PopulateSmugMugOptionMenu; PopulateSmugMugOptionMenu (manager, null); if (edit_button != null) edit_button.Clicked += HandleEditGallery; rh = new Gtk.ResponseHandler (HandleResponse); Dialog.Response += HandleResponse; connect = true; HandleSizeActive (null, null); Connect (); scale_check.Toggled += HandleScaleCheckToggled; LoadPreference (SCALE_KEY); LoadPreference (SIZE_KEY); LoadPreference (ROTATE_KEY); LoadPreference (BROWSER_KEY); }
public int ImportFromFile (PhotoStore store, string path) { this.store = store; this.CreateDialog ("import_dialog"); this.Dialog.TransientFor = main_window; this.Dialog.WindowPosition = Gtk.WindowPosition.CenterOnParent; this.Dialog.Response += HandleDialogResponse; if (FSpot.Preferences.Get<int> (FSpot.Preferences.IMPORT_WINDOW_WIDTH) > 0) this.Dialog.Resize (FSpot.Preferences.Get<int> (FSpot.Preferences.IMPORT_WINDOW_WIDTH), FSpot.Preferences.Get<int> (FSpot.Preferences.IMPORT_WINDOW_HEIGHT)); if (FSpot.Preferences.Get<int> (FSpot.Preferences.IMPORT_WINDOW_PANE_POSITION) > 0) import_hpaned.Position = FSpot.Preferences.Get<int> (FSpot.Preferences.IMPORT_WINDOW_PANE_POSITION); AllowFinish = false; this.Dialog.DefaultResponse = ResponseType.Ok; //import_folder_entry.Activated += HandleEntryActivate; duplicate_check.Toggled += HandleRecurseToggled; recurse_check.Toggled += HandleRecurseToggled; copy_check.Toggled += HandleRecurseToggled; menu = new SourceMenu (this); source_option_menu.Menu = menu; collection = new FSpot.PhotoList (new Photo [0]); tray = new ScalingIconView (collection); tray.Selection.Changed += HandleTraySelectionChanged; icon_scrolled.SetSizeRequest (400, 200); icon_scrolled.Add (tray); //icon_scrolled.Visible = false; tray.DisplayTags = false; tray.Show (); photo_view = new FSpot.PhotoImageView (collection); photo_scrolled.Add (photo_view); photo_scrolled.SetSizeRequest (200, 200); photo_view.Show (); //GtkUtil.ModifyColors (frame_eventbox); GtkUtil.ModifyColors (photo_scrolled); GtkUtil.ModifyColors (photo_view); photo_view.Pixbuf = GtkUtil.TryLoadIcon (FSpot.Global.IconTheme, "f-spot", 48, (Gtk.IconLookupFlags)0); photo_view.Fit = true; tag_entry = new FSpot.Widgets.TagEntry (MainWindow.Toplevel.Database.Tags, false); tag_entry.UpdateFromTagNames (new string []{}); tagentry_box.Add (tag_entry); tag_entry.Show (); this.Dialog.Show (); //source_option_menu.Changed += HandleSourceChanged; if (path != null) { SetImportPath (path); int i = menu.FindItemPosition (path); if (i > 0) { source_option_menu.SetHistory ((uint)i); } else if (Directory.Exists (path)) { SourceItem path_item = new SourceItem (new VfsSource (path)); menu.Prepend (path_item); path_item.ShowAll (); SetImportPath (path); source_option_menu.SetHistory (0); } idle_start.Start (); } ResponseType response = (ResponseType) this.Dialog.Run (); while (response == ResponseType.Ok) { try { if (Directory.Exists (this.ImportPath)) break; } catch (System.Exception e){ System.Console.WriteLine (e); break; } HigMessageDialog md = new HigMessageDialog (this.Dialog, DialogFlags.DestroyWithParent, MessageType.Error, ButtonsType.Ok, Catalog.GetString ("Directory does not exist."), String.Format (Catalog.GetString ("The directory you selected \"{0}\" does not exist. " + "Please choose a different directory"), this.ImportPath)); md.Run (); md.Destroy (); response = (Gtk.ResponseType) this.Dialog.Run (); } if (response == ResponseType.Ok) { this.UpdateTagStore (tag_entry.GetTypedTagNames ()); this.Finish (); if (tags_selected != null && tags_selected.Count > 0) { for (int i = 0; i < collection.Count; i++) { Photo p = collection [i] as Photo; if (p == null) continue; p.AddTag ((Tag [])tags_selected.ToArray(typeof(Tag))); store.Commit (p); } } int width, height; this.Dialog.GetSize (out width, out height); FSpot.Preferences.Set (FSpot.Preferences.IMPORT_WINDOW_WIDTH, width); FSpot.Preferences.Set (FSpot.Preferences.IMPORT_WINDOW_HEIGHT, height); FSpot.Preferences.Set (FSpot.Preferences.IMPORT_WINDOW_PANE_POSITION, import_hpaned.Position); this.Dialog.Destroy (); return collection.Count; } else { this.Cancel (); //this.Dialog.Destroy(); return 0; } }
public int ImportFromFile(PhotoStore store, string path) { this.store = store; this.CreateDialog("import_dialog"); this.Dialog.TransientFor = main_window; this.Dialog.WindowPosition = Gtk.WindowPosition.CenterOnParent; this.Dialog.Response += HandleDialogResponse; if (FSpot.Preferences.Get <int> (FSpot.Preferences.IMPORT_WINDOW_WIDTH) > 0) { this.Dialog.Resize(FSpot.Preferences.Get <int> (FSpot.Preferences.IMPORT_WINDOW_WIDTH), FSpot.Preferences.Get <int> (FSpot.Preferences.IMPORT_WINDOW_HEIGHT)); } if (FSpot.Preferences.Get <int> (FSpot.Preferences.IMPORT_WINDOW_PANE_POSITION) > 0) { import_hpaned.Position = FSpot.Preferences.Get <int> (FSpot.Preferences.IMPORT_WINDOW_PANE_POSITION); } AllowFinish = false; this.Dialog.DefaultResponse = ResponseType.Ok; //import_folder_entry.Activated += HandleEntryActivate; duplicate_check.Toggled += HandleRecurseToggled; recurse_check.Toggled += HandleRecurseToggled; copy_check.Toggled += HandleRecurseToggled; menu = new SourceMenu(this); source_option_menu.Menu = menu; collection = new FSpot.PhotoList(new Photo [0]); tray = new ScalingIconView(collection); tray.Selection.Changed += HandleTraySelectionChanged; icon_scrolled.SetSizeRequest(400, 200); icon_scrolled.Add(tray); //icon_scrolled.Visible = false; tray.DisplayTags = false; tray.Show(); photo_view = new FSpot.PhotoImageView(collection); photo_scrolled.Add(photo_view); photo_scrolled.SetSizeRequest(200, 200); photo_view.Show(); //GtkUtil.ModifyColors (frame_eventbox); GtkUtil.ModifyColors(photo_scrolled); GtkUtil.ModifyColors(photo_view); photo_view.Pixbuf = GtkUtil.TryLoadIcon(FSpot.Global.IconTheme, "f-spot", 48, (Gtk.IconLookupFlags) 0); photo_view.Fit = true; tag_entry = new FSpot.Widgets.TagEntry(MainWindow.Toplevel.Database.Tags, false); tag_entry.UpdateFromTagNames(new string [] {}); tagentry_box.Add(tag_entry); tag_entry.Show(); this.Dialog.Show(); //source_option_menu.Changed += HandleSourceChanged; if (path != null) { SetImportPath(path); int i = menu.FindItemPosition(path); if (i > 0) { source_option_menu.SetHistory((uint)i); } else if (Directory.Exists(path)) { SourceItem path_item = new SourceItem(new VfsSource(path)); menu.Prepend(path_item); path_item.ShowAll(); SetImportPath(path); source_option_menu.SetHistory(0); } idle_start.Start(); } ResponseType response = (ResponseType)this.Dialog.Run(); while (response == ResponseType.Ok) { try { if (Directory.Exists(this.ImportPath)) { break; } } catch (System.Exception e) { System.Console.WriteLine(e); break; } HigMessageDialog md = new HigMessageDialog(this.Dialog, DialogFlags.DestroyWithParent, MessageType.Error, ButtonsType.Ok, Catalog.GetString("Directory does not exist."), String.Format(Catalog.GetString("The directory you selected \"{0}\" does not exist. " + "Please choose a different directory"), this.ImportPath)); md.Run(); md.Destroy(); response = (Gtk.ResponseType) this.Dialog.Run(); } if (response == ResponseType.Ok) { this.UpdateTagStore(tag_entry.GetTypedTagNames()); this.Finish(); if (tags_selected != null && tags_selected.Count > 0) { for (int i = 0; i < collection.Count; i++) { Photo p = collection [i] as Photo; if (p == null) { continue; } p.AddTag((Tag [])tags_selected.ToArray(typeof(Tag))); store.Commit(p); } } int width, height; this.Dialog.GetSize(out width, out height); FSpot.Preferences.Set(FSpot.Preferences.IMPORT_WINDOW_WIDTH, width); FSpot.Preferences.Set(FSpot.Preferences.IMPORT_WINDOW_HEIGHT, height); FSpot.Preferences.Set(FSpot.Preferences.IMPORT_WINDOW_PANE_POSITION, import_hpaned.Position); this.Dialog.Destroy(); return(collection.Count); } else { this.Cancel(); //this.Dialog.Destroy(); return(0); } }