Exemple #1
0
        public static GEDCOMMultimediaFormat RecognizeFormat(string fileName)
        {
            if (string.IsNullOrEmpty(fileName))
            {
                return(GEDCOMMultimediaFormat.mfUnknown);
            }

            string ext = FileHelper.GetFileExtension(fileName);

            if (!string.IsNullOrEmpty(ext) && ext[0] == '.')
            {
                ext = ext.Remove(0, 1);
            }

            GEDCOMMultimediaFormat result = GEDCOMUtils.GetMultimediaFormatVal(ext);

            return(result);
        }
        private void SetFileRef(string fileName)
        {
            Text = fileName;
            Control ctl = null;

            fImageCtl = null;

            GEDCOMMultimediaFormat fmt = GEDCOMFileReference.RecognizeFormat(fileName);

            try
            {
                switch (fmt)
                {
                case GEDCOMMultimediaFormat.mfBMP:
                case GEDCOMMultimediaFormat.mfGIF:
                case GEDCOMMultimediaFormat.mfJPG:
                case GEDCOMMultimediaFormat.mfPCX:
                case GEDCOMMultimediaFormat.mfTIF:
                case GEDCOMMultimediaFormat.mfTGA:
                case GEDCOMMultimediaFormat.mfPNG:
                {
                    fImageCtl = new ImageView();

                    try {
                        using (Stream fs = new FileStream(fileName, FileMode.Open))
                        {
                            fImageCtl.OpenImage(new Bitmap(fs));
                        }
                    } catch (Exception ex) {
                        Logger.LogWrite("ImageViewerWin.SetFileRef.0(): " + ex.Message);
                    }

                    ctl = fImageCtl;
                }
                break;

                case GEDCOMMultimediaFormat.mfWAV:
                case GEDCOMMultimediaFormat.mfAVI:
                case GEDCOMMultimediaFormat.mfMPG:
                    break;

                case GEDCOMMultimediaFormat.mfTXT:
                {
                    TextBox txtBox = new TextBox();
                    txtBox.Multiline  = true;
                    txtBox.ReadOnly   = true;
                    txtBox.ScrollBars = ScrollBars.Both;

                    try {
                        using (Stream fs = new FileStream(fileName, FileMode.Open))
                        {
                            using (StreamReader strd = new StreamReader(fs, Encoding.GetEncoding(1251)))
                            {
                                txtBox.Text = strd.ReadToEnd();
                            }
                        }
                    } catch (Exception ex) {
                        Logger.LogWrite("ImageViewerWin.SetFileRef.1(): " + ex.Message);
                    }

                    ctl = txtBox;
                }
                break;

                case GEDCOMMultimediaFormat.mfRTF:
                {
                    RichTextBox rtfBox = new RichTextBox();
                    rtfBox.ReadOnly = true;

                    try {
                        using (Stream fs = new FileStream(fileName, FileMode.Open))
                        {
                            using (StreamReader strd = new StreamReader(fs))
                            {
                                rtfBox.Text = strd.ReadToEnd();
                            }
                        }
                    } catch (Exception ex) {
                        Logger.LogWrite("ImageViewerWin.SetFileRef.2(): " + ex.Message);
                    }

                    ctl = rtfBox;
                }
                break;

                case GEDCOMMultimediaFormat.mfHTM:
                {
                    var browser = new WebBrowser();
                    try {
                        using (Stream fs = new FileStream(fileName, FileMode.Open))
                        {
                            browser.DocumentStream = fs;
                        }
                    } catch (Exception ex) {
                        Logger.LogWrite("ImageViewerWin.SetFileRef.2(): " + ex.Message);
                    }
                    ctl = browser;
                }
                break;
                }

                if (ctl != null)
                {
                    SuspendLayout();

                    ctl.Dock     = DockStyle.Fill;
                    ctl.Location = new Point(0, 50);
                    ctl.Size     = new Size(100, 100);
                    Controls.Add(ctl);
                    Controls.SetChildIndex(ctl, 0);

                    ResumeLayout(false);
                    PerformLayout();
                }
            }
            catch (Exception ex)
            {
                if (ctl != null)
                {
                    ctl.Dispose();
                }

                Logger.LogWrite("ImageViewerWin.SetFileRef()" + ex.Message);
            }
        }
Exemple #3
0
        public static string GetMultimediaFormatStr(GEDCOMMultimediaFormat value)
        {
            string s;

            switch (value)
            {
            case GEDCOMMultimediaFormat.mfBMP:
                s = "bmp";
                break;

            case GEDCOMMultimediaFormat.mfGIF:
                s = "gif";
                break;

            case GEDCOMMultimediaFormat.mfJPG:
                s = "jpg";
                break;

            case GEDCOMMultimediaFormat.mfOLE:
                s = "ole";
                break;

            case GEDCOMMultimediaFormat.mfPCX:
                s = "pcx";
                break;

            case GEDCOMMultimediaFormat.mfTIF:
                s = "tif";
                break;

            case GEDCOMMultimediaFormat.mfWAV:
                s = "wav";
                break;

            case GEDCOMMultimediaFormat.mfTXT:
                s = "txt";
                break;

            case GEDCOMMultimediaFormat.mfRTF:
                s = "rtf";
                break;

            case GEDCOMMultimediaFormat.mfAVI:
                s = "avi";
                break;

            case GEDCOMMultimediaFormat.mfTGA:
                s = "tga";
                break;

            case GEDCOMMultimediaFormat.mfPNG:
                s = "png";
                break;

            case GEDCOMMultimediaFormat.mfMPG:
                s = "mpg";
                break;

            case GEDCOMMultimediaFormat.mfHTM:
                s = "htm";
                break;

            case GEDCOMMultimediaFormat.mfRAW:
                s = "raw";
                break;

            case GEDCOMMultimediaFormat.mfMP3:
                s = "mp3";
                break;

            case GEDCOMMultimediaFormat.mfWMA:
                s = "wma";
                break;

            case GEDCOMMultimediaFormat.mfPSD:
                s = "psd";
                break;

            case GEDCOMMultimediaFormat.mfPDF:
                s = "pdf";
                break;

            case GEDCOMMultimediaFormat.mfMP4:
                s = "mp4";
                break;

            case GEDCOMMultimediaFormat.mfOGV:
                s = "ogv";
                break;

            case GEDCOMMultimediaFormat.mfMKA:
                s = "mka";
                break;

            case GEDCOMMultimediaFormat.mfWMV:
                s = "wmv";
                break;

            case GEDCOMMultimediaFormat.mfMKV:
                s = "mkv";
                break;

            case GEDCOMMultimediaFormat.mfMOV:
                s = "mov";
                break;

            default:
                s = "";
                break;
            }
            return(s);
        }