예제 #1
0
        protected void OnButtonAddImageClicked(object sender, EventArgs e)
        {
            FileChooserDialog Chooser = new FileChooserDialog("Выберите изображение...",
                                                              (Window)this.Toplevel,
                                                              FileChooserAction.Open,
                                                              "Отмена", ResponseType.Cancel,
                                                              "Загрузить", ResponseType.Accept);

            FileFilter Filter = new FileFilter();

            Filter.AddPixbufFormats();
            Filter.Name = "Все изображения";
            Chooser.AddFilter(Filter);

            if ((ResponseType)Chooser.Run() == ResponseType.Accept)
            {
                Chooser.Hide();
                logger.Info("Загрузка изображения...");

                var imageFile = ImageHelper.LoadImageToJpgBytes(Chooser.Filename);
                Entity.Images.Add(new NomenclatureImage(Entity, imageFile));
                ReloadImages();

                logger.Info("Ok");
            }
            Chooser.Destroy();
        }
예제 #2
0
        protected void OnButtonLoadPhotoClicked(object sender, EventArgs e)
        {
            FileChooserDialog Chooser = new FileChooserDialog("Выберите фото для загрузки...",
                                                              (Window)this.Toplevel,
                                                              FileChooserAction.Open,
                                                              "Отмена", ResponseType.Cancel,
                                                              "Загрузить", ResponseType.Accept);

            FileFilter Filter = new FileFilter();

            Filter.AddPixbufFormats();
            Filter.Name = "Все изображения";
            Chooser.AddFilter(Filter);

            if ((ResponseType)Chooser.Run() == ResponseType.Accept)
            {
                Chooser.Hide();
                logger.Info("Загрузка фотографии...");

                ImageFile = ImageHelper.LoadImageToJpgBytes(Chooser.Filename);

                buttonSavePhoto.Sensitive = true;
                logger.Info("Ok");
            }
            Chooser.Destroy();
        }
예제 #3
0
        protected void OnOpenActionActivated(object sender, EventArgs e)
        {
            TreeIter          iter;
            FileChooserDialog Chooser = new FileChooserDialog(
                "Выберите изображения для загрузки...",
                this,
                FileChooserAction.Open,
                "Отмена",
                ResponseType.Cancel,
                "Открыть",
                ResponseType.Accept
                )
            {
                SelectMultiple = true
            };

            FileFilter Filter = new FileFilter();

            Filter.AddPixbufFormats();
            Filter.Name = "Все изображения";
            Chooser.AddFilter(Filter);

            if ((ResponseType)Chooser.Run() == ResponseType.Accept)
            {
                Chooser.Hide();
                progresswork.Text             = "Загрузка изображений...";
                progresswork.Adjustment.Upper = Chooser.Filenames.Length;
                foreach (string File in Chooser.Filenames)
                {
                    logger.Debug(File);

                    iter = ImageListNewDoc();

                    FileStream fs    = new FileStream(File, FileMode.Open, FileAccess.Read);
                    Pixbuf     image = new Pixbuf(fs);
                    double     ratio = 150f / Math.Max(image.Height, image.Width);
                    Pixbuf     thumb = image.ScaleSimple((int)(image.Width * ratio), (int)(image.Height * ratio), InterpType.Bilinear);
                    fs.Close();

                    ImageList.AppendValues(iter,
                                           0,
                                           System.IO.Path.GetFileName(File),
                                           File,
                                           null,
                                           thumb,
                                           image,
                                           true,
                                           "",
                                           "");
                    progresswork.Adjustment.Value++;
                    MainClass.WaitRedraw();
                }
                treeviewImages.ExpandAll();
                progresswork.Text     = "Ок";
                progresswork.Fraction = 0;
            }
            Chooser.Destroy();
        }
예제 #4
0
        private void Activated(object sender, EventArgs e)
        {
            var fcd = new Gtk.FileChooserDialog(Catalog.GetString("Open Image File"), PintaCore.Chrome.MainWindow,
                                                FileChooserAction.Open, Gtk.Stock.Cancel, Gtk.ResponseType.Cancel,
                                                Gtk.Stock.Open, Gtk.ResponseType.Ok);

            // Add image files filter
            FileFilter ff = new FileFilter();

            ff.AddPixbufFormats();
            ff.AddPattern("*.ora");
            ff.Name = Catalog.GetString("Image files");
            fcd.AddFilter(ff);

            FileFilter ff2 = new FileFilter();

            ff2.Name = Catalog.GetString("All files");
            ff2.AddPattern("*.*");
            fcd.AddFilter(ff2);

            fcd.AlternativeButtonOrder = new int[] { (int)ResponseType.Ok, (int)ResponseType.Cancel };
            fcd.SetCurrentFolder(PintaCore.System.LastDialogDirectory);
            fcd.SelectMultiple = true;

            fcd.AddImagePreview();

            int response = fcd.Run();

            if (response == (int)Gtk.ResponseType.Ok)
            {
                PintaCore.System.LastDialogDirectory = fcd.CurrentFolder;

                foreach (var file in fcd.Filenames)
                {
                    if (PintaCore.Workspace.OpenFile(file))
                    {
                        RecentManager.Default.AddFull(fcd.Uri, PintaCore.System.RecentData);
                    }
                }
            }

            fcd.Destroy();
        }
예제 #5
0
        protected void OnButtonLoadPhotoClicked(object sender, EventArgs e)
        {
            FileChooserDialog Chooser = new FileChooserDialog("Выберите фото для загрузки...",
                                                              (Gtk.Window) this.Toplevel,
                                                              FileChooserAction.Open,
                                                              "Отмена", ResponseType.Cancel,
                                                              "Загрузить", ResponseType.Accept);

            FileFilter Filter = new FileFilter();

            Filter.AddPixbufFormats();
            Filter.Name = "Все изображения";
            Chooser.AddFilter(Filter);

            if ((ResponseType)Chooser.Run() == ResponseType.Accept)
            {
                Chooser.Hide();
                ViewModel.LoadPhoto(Chooser.Filename);
            }
            Chooser.Destroy();
        }
예제 #6
0
        // ========================================
        // PRIVATE Methods
        // ========================================
        private string OpenImage()
        {
            FileChooserDialog dialog = new FileChooserDialog("Open Image", null,
                                                             FileChooserAction.Open);

            dialog.SelectMultiple = false;

            FileFilter filter = new FileFilter();

            filter.AddPixbufFormats();
            dialog.AddFilter(filter);

            dialog.AddButton(Gtk.Stock.Cancel, ResponseType.Cancel);
            dialog.AddButton(Gtk.Stock.Open, ResponseType.Ok);

            string filename = null;

            if ((ResponseType)dialog.Run() == ResponseType.Ok)
            {
                filename = dialog.Filename;
            }
            dialog.Destroy();
            return(filename);
        }