示例#1
0
        private static void OnUpdateResponse(UpdateResponseEventArgs e)
        {
            var isStartupCheck = (bool)e.UserState;

            if (e.Error != null)
            {
                Logging.GetLogger().Error("Update check failed.", e.Error);
            }
            else
            {
                Logging.GetLogger().Info("Updated check latest version: " + e.Response.LatestVersion);
            }


            if (e.Response != null && e.Response.LatestVersion > TabsterEnvironment.GetVersion())
            {
                var updateDialog = new UpdateDialog(e.Response)
                {
                    StartPosition = FormStartPosition.CenterParent
                };
                updateDialog.ShowDialog();
            }

            else if (!isStartupCheck)
            {
                MessageBox.Show(Resources.UpdateDialogCaptionNone, Resources.UpdateDialogTitleNone, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
示例#2
0
        private void DisplayReleaseInfo()
        {
            foreach (var changelog in _updateResponse.Changelog)
            {
                var i = treeView1.Nodes.Add(new TreeNode(string.Format("Version {0}", changelog.Version))
                {
                    Tag = changelog.Version
                });
                var node = treeView1.Nodes[i];
                node.NodeFont = new Font(treeView1.Font, FontStyle.Bold);
                node.Text     = node.Text;

                foreach (var change in changelog.Changes)
                {
                    node.Nodes.Add(new TreeNode(change));
                }
            }

            if (treeView1.Nodes.Count > 0)
            {
                foreach (TreeNode node in treeView1.Nodes)
                {
                    var version = (TabsterVersion)node.Tag;
                    if (version > TabsterEnvironment.GetVersion())
                    {
                        node.Expand();
                    }
                }

                treeView1.Nodes[0].EnsureVisible();
            }
        }
示例#3
0
        public static void Main(string[] args)
        {
            TabsterEnvironment.CreateDirectories();

            // prepare logging
            var logDirectory = TabsterEnvironment.CreateEnvironmentDirectoryPath(TabsterEnvironmentDirectory.ApplicatonData, "Logs");

            Logging.SetLogDirectory(logDirectory);

            // log all the errors
            AppDomain.CurrentDomain.UnhandledException += (s, e) =>
            {
                var ex = (Exception)e.ExceptionObject;
                Logging.GetLogger().Error(ex);
            };

            _pluginManager = new PluginManager(TabsterEnvironment.CreateEnvironmentDirectoryPath(TabsterEnvironmentDirectory.ApplicatonData, "Plugins"));

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            var assemblyGuid = ((GuidAttribute)Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(GuidAttribute), true)[0]).Value;
            var filename     = Path.Combine(TabsterEnvironment.GetEnvironmentDirectoryPath(TabsterEnvironmentDirectory.ApplicatonData), string.Format("{0}.tmp", assemblyGuid));

            using (var instanceController = new TabsterSingleInstanceController(filename))
            {
                instanceController.Start(new ReadOnlyCollection <string>(args));
            }
        }
示例#4
0
        public AboutDialog()
        {
            InitializeComponent();

            lblVersion.Text     = string.Format("{0} {1}", Resources.Version, TabsterEnvironment.GetVersion().ToString(TabsterVersionFormatFlags.BuildString | TabsterVersionFormatFlags.CommitShort | TabsterVersionFormatFlags.Truncated));
            lblVersion.LinkArea = TabsterEnvironment.GetVersion().Commit != null ? new LinkArea(lblVersion.Text.Length - TabsterEnvironment.GetVersion().Commit.ToShorthandString().Length, TabsterEnvironment.GetVersion().Commit.ToShorthandString().Length) : new LinkArea(0, 0);

            lblCopyright.Text   = BrandingUtilities.GetCopyrightString(Assembly.GetExecutingAssembly());
            txtLicense.Text     = Resources.ApplicationLicense;
            txtFontLicense.Text = MonoUtilities.ReadFileText(new[] { Application.StartupPath, "Resources", "SourceCodePro", "SIL OPEN FONT LICENSE.txt" }.Aggregate(Path.Combine));

            LoadPlugins();
        }
示例#5
0
        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();
        }
示例#6
0
        public SplashScreen()
        {
            InitializeComponent();

#if PORTABLE
            lblPortable.Visible = true;
#endif

            if (TabsterEnvironment.SafeMode)
            {
                lblSafeMode.Visible = true;
            }

            RoundBorderForm(this);

            lblProgress.Text = string.Empty;

            lblVersion.Text   = string.Format("v{0}", TabsterEnvironment.GetVersion().ToString(TabsterVersionFormatFlags.Truncated));
            lblBuild.Text     = string.Format("{0} {1}", Resources.Build, TabsterEnvironment.GetVersion().Build);
            lblCopyright.Text = BrandingUtilities.GetCopyrightString(Assembly.GetExecutingAssembly());
            BringToFront();
        }
示例#7
0
 private void lblVersion_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
 {
     Process.Start(string.Format("https://github.com/GetTabster/Tabster/commit/{0}", TabsterEnvironment.GetVersion().Commit));
 }