public PreviewPopup(SelectionCollectionGridView view) : base(Gtk.WindowType.Toplevel) { var vbox = new Gtk.VBox(); Add(vbox); AddEvents((int)(EventMask.PointerMotionMask | EventMask.KeyReleaseMask | EventMask.ButtonPressMask)); Decorated = false; SkipTaskbarHint = true; SkipPagerHint = true; SetPosition(Gtk.WindowPosition.None); KeyReleaseEvent += HandleKeyRelease; ButtonPressEvent += HandleButtonPress; Destroyed += HandleDestroyed; this.view = view; view.MotionNotifyEvent += HandleIconViewMotion; view.KeyPressEvent += HandleIconViewKeyPress; view.KeyReleaseEvent += HandleKeyRelease; view.DestroyEvent += HandleIconViewDestroy; BorderWidth = 6; hist = new Histogram { RedColorHint = 127, GreenColorHint = 127, BlueColorHint = 127, BackgroundColorHint = 0xff }; image = new Gtk.Image { CanFocus = false }; label = new Gtk.Label(string.Empty) { CanFocus = false }; label.ModifyFg(Gtk.StateType.Normal, new Gdk.Color(127, 127, 127)); label.ModifyBg(Gtk.StateType.Normal, new Gdk.Color(0, 0, 0)); ModifyFg(Gtk.StateType.Normal, new Gdk.Color(127, 127, 127)); 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 PreviewPopup(SelectionCollectionGridView view) : base(Gtk.WindowType.Toplevel) { var vbox = new Gtk.VBox (); Add (vbox); AddEvents ((int) (EventMask.PointerMotionMask | EventMask.KeyReleaseMask | EventMask.ButtonPressMask)); Decorated = false; SkipTaskbarHint = true; SkipPagerHint = true; SetPosition (Gtk.WindowPosition.None); KeyReleaseEvent += HandleKeyRelease; ButtonPressEvent += HandleButtonPress; Destroyed += HandleDestroyed; this.view = view; view.MotionNotifyEvent += HandleIconViewMotion; view.KeyPressEvent += HandleIconViewKeyPress; view.KeyReleaseEvent += HandleKeyRelease; view.DestroyEvent += HandleIconViewDestroy; BorderWidth = 6; hist = new 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)); ModifyFg (Gtk.StateType.Normal, new Gdk.Color (127, 127, 127)); 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 SingleView(SafeUri [] uris) { this.uri = uris [0]; Log.Debug ("uri: " + this.uri); GtkBeans.Builder builder = new GtkBeans.Builder ("single_view.ui"); builder.Autoconnect (this); 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.TooltipText = Catalog.GetString ("Rotate photo left"); toolbar.Insert (rl_button, -1); rr_button = GtkUtil.ToolButtonFromTheme ("object-rotate-right", Catalog.GetString ("Rotate Right"), true); rr_button.Clicked += HandleRotate90Command; rr_button.TooltipText = Catalog.GetString ("Rotate photo right"); 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.TooltipText = Catalog.GetString ("View photos fullscreen"); toolbar.Insert (fs_button, -1); ToolButton ss_button = GtkUtil.ToolButtonFromTheme ("media-playback-start", Catalog.GetString ("Slideshow"), true); ss_button.Clicked += HandleViewSlideshow; ss_button.TooltipText = Catalog.GetString ("View photos in a slideshow"); toolbar.Insert (ss_button, -1); collection = new UriCollection (uris); TargetList targetList = new TargetList(); targetList.AddTextTargets((uint)DragDropTargets.TargetType.PlainText); targetList.AddUriTargets((uint)DragDropTargets.TargetType.UriList); directory_view = new SelectionCollectionGridView (collection); directory_view.Selection.Changed += HandleSelectionChanged; directory_view.DragDataReceived += HandleDragDataReceived; Gtk.Drag.DestSet (directory_view, DestDefaults.All, (TargetEntry[])targetList, 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 (); ThumbnailLoader.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, (TargetEntry[])targetList, 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; IPhoto [] item = {pointer.Current}; sidebar.HandleSelectionChanged (new PhotoList (item)); }; 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 FacebookExportDialog (IBrowsableCollection selection) : base (Assembly.GetExecutingAssembly (), "FacebookExport.ui", "facebook_export_dialog") { // Sort selection by date ascending items = selection.Items; Array.Sort (items, new DateComparer ()); current_item = -1; captions = new string [selection.Items.Length]; tags = new List<Mono.Facebook.Tag> [selection.Items.Length]; tray_view = new SelectionCollectionGridView (selection) { MaxColumns = 1, DisplayDates = false, DisplayTags = false, DisplayRatings = false }; tray_view.ButtonPressEvent += HandleThumbnailIconViewButtonPressEvent; tray_view.KeyPressEvent += delegate (object sender, KeyPressEventArgs e) {(sender as SelectionCollectionGridView).Selection.Clear(); }; thumbnails_scrolled_window.Add (tray_view); tray_view.Show (); login_button.Clicked += HandleLoginClicked; logout_button.Clicked += HandleLogoutClicked; offline_perm_check.Toggled += HandlePermissionToggled; photo_perm_check.Toggled += HandlePermissionToggled; create_album_radiobutton.Toggled += HandleCreateAlbumToggled; create_album_radiobutton.Active = true; existing_album_radiobutton.Toggled += HandleExistingAlbumToggled; CellRendererText cell = new CellRendererText (); existing_album_combobox.PackStart (cell, true); existing_album_combobox.SetAttributes (cell, "text", 0); tag_image_eventbox.ButtonPressEvent += HandleTagImageButtonPressEvent; tag_treeview.Sensitive = false; caption_textview.Sensitive = false; DoLogout (); account = new FacebookAccount(); if (account.Authenticated) DoLogin (); }