public MainForm() { var tablatureDirectory = TabsterEnvironment.CreateEnvironmentDirectoryPath(TabsterEnvironmentDirectory.UserData, "Library"); var databasePath = Path.Combine(TabsterEnvironment.GetEnvironmentDirectoryPath(TabsterEnvironmentDirectory.ApplicatonData), "library.db"); var fileProcessor = new TabsterFileProcessor <TablatureFile>(Constants.TablatureFileVersion); Logging.GetLogger().Info(string.Format("Initializing database: {0}", databasePath)); _databaseHelper = new TabsterDatabaseHelper(databasePath); _libraryManager = new LibraryManager(_databaseHelper, fileProcessor, tablatureDirectory); _playlistManager = new PlaylistManager(_databaseHelper, fileProcessor); _recentFilesManager = new RecentFilesManager(_databaseHelper, fileProcessor, Settings.Default.MaxRecentItems); InitializeComponent(); Text = string.Format("{0} v{1}", Application.ProductName, TabsterEnvironment.GetVersion().ToString(TabsterVersionFormatFlags.BuildString | TabsterVersionFormatFlags.Truncated)); #if PORTABLE Text = Text.Replace("Build", "Portable Build"); #endif InitAspectGetters(); UpdateSortColumnMenu(true); //tabviewermanager events TablatureViewForm.GetInstance(this).TabClosed += TabHandler_OnTabClosed; recentlyViewedMenuItem.MaxDisplayItems = Settings.Default.MaxRecentItems; recentlyViewedMenuItem.ClearItemClicked += recentlyViewedMenuItem_OnClearItemClicked; previewToolStrip.Renderer = new ToolStripRenderer(); if (Settings.Default.ClientState == FormWindowState.Maximized) { WindowState = FormWindowState.Maximized; } else { Size = Settings.Default.ClientSize; } ToggleEmptyLibraryOverlay(listViewLibrary, true); ToggleEmptyLibraryOverlay(listViewSearch, true); PreviewEditor.Font = TablatureFontManager.GetFont(); searchPreviewEditor.Font = TablatureFontManager.GetFont(); }
public TabInstance(ITablatureFile file, FileInfo fileInfo, BasicTablatureTextEditor editor = null) { File = file; FileInfo = fileInfo; Page = new EllipsizedTabPage { Text = file.ToFriendlyString(), ToolTipText = FileInfo.FullName }; Editor = editor ?? new BasicTablatureTextEditor { Dock = DockStyle.Fill }; Editor.Font = TablatureFontManager.GetFont(); Page.Controls.Add(Editor); Editor.LoadTablature(file); }
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); } } } } } }