示例#1
0
        private void ExportTab(object sender, EventArgs e)
        {
            if (GetSelectedLibraryItem() != null)
            {
                using (var sfd = new SaveFileDialog
                {
                    Title = Resources.ExportTabDialogTitle,
                    AddExtension = true,
                    Filter = string.Format("{0} (*{1})|*{1}", Resources.TabsterFile, Constants.TablatureFileExtension),
                    FileName = GetSelectedLibraryItem().File.ToFriendlyString()
                })
                {
                    var filters = sfd.SetTabsterFilter(_fileExporters, alphabeticalOrder: true);

                    if (sfd.ShowDialog() != DialogResult.Cancel)
                    {
                        //native file format
                        if (sfd.FilterIndex == 1)
                        {
                            GetSelectedLibraryItem().File.Save(sfd.FileName);
                        }

                        else
                        {
                            var exporter = filters[sfd.FilterIndex - 2].Exporter; //FilterIndex is not 0-based and native Tabster format uses first index
                            var args     = new TablatureFileExportArguments(TablatureFontManager.GetFont());

                            try
                            {
                                exporter.Export(GetSelectedLibraryItem().File, sfd.FileName, args);
                            }

                            catch (Exception ex)
                            {
                                Logging.GetLogger().Error(Resources.ExportErrorDialogCaption, ex);
                                MessageBox.Show(Resources.ExportErrorDialogCaption, Resources.ExportErrorDialogTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                    }
                }
            }
        }
示例#2
0
        private void ExportTab(object sender, EventArgs e)
        {
            if (GetSelectedLibraryItem() != null)
            {
                using (var sfd = new SaveFileDialog
                {
                    Title = Resources.ExportTabDialogTitle,
                    AddExtension = true,
                    Filter = string.Format("{0} (*{1})|*{1}", Resources.TabsterFile, Constants.TablatureFileExtension),
                    FileName = GetSelectedLibraryItem().File.ToFriendlyString()
                })
                {
                    var filters = sfd.SetTabsterFilter(_fileExporters, alphabeticalOrder: true);

                    if (sfd.ShowDialog() != DialogResult.Cancel)
                    {
                        //native file format
                        if (sfd.FilterIndex == 1)
                        {
                            GetSelectedLibraryItem().File.Save(sfd.FileName);
                        }

                        else
                        {
                            var exporter = filters[sfd.FilterIndex - 2].Exporter; //FilterIndex is not 0-based and native Tabster format uses first index
                            var args = new TablatureFileExportArguments(TablatureFontManager.GetFont());

                            try
                            {
                                exporter.Export(GetSelectedLibraryItem().File, sfd.FileName, args);
                            }

                            catch (Exception ex)
                            {
                                Logging.GetLogger().Error(Resources.ExportErrorDialogCaption, ex);
                                MessageBox.Show(Resources.ExportErrorDialogCaption, Resources.ExportErrorDialogTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                    }
                }
            }
        }