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();
            }
        }
Esempio n. 2
0
        public PreviewPopup(SelectionCollectionGridView 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();
        }
Esempio n. 3
0
        public SingleView(SafeUri [] uris)
        {
            uri = uris [0];
            Log.Debug("uri: " + uri);

            var 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();

            App.Instance.Container.Resolve <IThumbnailLoader> ().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;
        }