コード例 #1
0
        internal void PresentSet()
        {
            if (string.IsNullOrEmpty(CurrentSet.setName))
            {
                Helpers.PopupMessages.ShowErrorMessage(this, "Please select a set first");
                return;
            }

            if (CurrentSet.getSongSetSize() == 0)
            {
                Helpers.PopupMessages.ShowErrorMessage(this, "Please add one or more songs to the set");
                return;
            }


            if (SetChanged && Helpers.PopupMessages.ShowConfirmationMessage(this, "Save changes to set '{0}' before presenting?", CurrentSet.setName))
            {
                saveSet();
            }
            else
            {
                revertSet();
            }
            CurrentSet.reloadSet();
            var frmPresent = new frmPresent(CurrentSet, DisplayAndPrintSettings.loadSettings(DisplayAndPrintSettingsType.DisplaySettings), lbSongs.SelectedIndex);

            saveCurrentSongInSet();
            frmPresent.Show();
        }
コード例 #2
0
ファイル: frmMain.cs プロジェクト: gitter-badger/OpenChords
 private void exportToHtml(ExportOption option, DisplayAndPrintSettings settings)
 {
     if (option == ExportOption.All)
     {
         foreach (var song in Song.listOfAllSongs())
         {
             Song.loadSong(song).ExportToHtml(settings);
         }
         if (settings.settingsType == DisplayAndPrintSettingsType.PrintSettings)
         {
             UiHelper.ShowInFileManager(Settings.GlobalApplicationSettings.PrintFolder);
         }
         else if (settings.settingsType == DisplayAndPrintSettingsType.TabletSettings)
         {
             UiHelper.ShowInFileManager(Settings.GlobalApplicationSettings.TabletFolder);
         }
     }
     else if (option == ExportOption.Set)
     {
         ucSetListPanel.ExportToHtml(settings);
     }
     else if (option == ExportOption.Song)
     {
         ucSongMetaDataPanel.ExportToHtml(settings);
     }
 }
コード例 #3
0
 public ExportToHtml(Set set, DisplayAndPrintSettings settings)
 {
     _set      = set;
     _settings = settings;
     Title     = set.setName;
     Filename  = set.setName + ".html";
 }
コード例 #4
0
        public static DisplayAndPrintSettings readSettings(String fileName)
        {
            DisplayAndPrintSettings settings = null;

            try
            {
                settings = xmlReader <DisplayAndPrintSettings>(fileName);

                // Check if parts of the file is null and fill in those settings with the defaults
                if (settings.nullsInFile())
                {
                    var type        = settings.settingsType;
                    var newSettings = new DisplayAndPrintSettings(type);
                    if (settings.SongMetaDataLayoutTop == null)
                    {
                        settings.SongMetaDataLayoutTop = newSettings.SongMetaDataLayoutTop;
                    }
                    if (settings.SongMetaDataLayoutMiddle == null)
                    {
                        settings.SongMetaDataLayoutMiddle = newSettings.SongMetaDataLayoutMiddle;
                    }
                    if (settings.SongMetaDataLayoutBottom == null)
                    {
                        settings.SongMetaDataLayoutBottom = newSettings.SongMetaDataLayoutBottom;
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error("Error reading settings", ex);
            }

            return(settings);
        }
コード例 #5
0
 public SongRenderer(System.Drawing.Graphics graphicsObj, Set set, DisplayAndPrintSettings settings)
 {
     this.graphicsObj = graphicsObj;
     //currentSong = song;
     currentSet      = set;
     displaySettings = settings;
     initializeFonts();
 }
コード例 #6
0
 public ExportToHtml(Song song, DisplayAndPrintSettings settings)
 {
     _set = new Set();
     _set.addSongToSet(song);
     _settings = settings;
     Title     = song.generateShortTitle();
     Filename  = song.generateShortTitle() + ".html";
 }
コード例 #7
0
 public SongRenderer(System.Drawing.Graphics graphicsObj, Song song, DisplayAndPrintSettings settings)
 {
     this.graphicsObj = graphicsObj;
     //currentSong = song;
     currentSet = new Set();
     currentSet.addSongToSet(song);
     displaySettings = settings;
     initializeFonts();
 }
コード例 #8
0
 public frmPresent(Set set, DisplayAndPrintSettings settings, int startingSongIndex = 0)
 {
     CurrentSet      = set;
     DisplaySettings = settings;
     SongIndex       = startingSongIndex;
     Functions.WebServer.CurrentDisplayAndPrintSettings = settings;
     MaxIndex   = CurrentSet.songList.Count;
     this.Title = "Present Set";
     buildUI();
 }
コード例 #9
0
 public frmPresent(Song song, DisplayAndPrintSettings settings)
 {
     CurrentSet = new Set();
     CurrentSet.addSongToSet(song);
     DisplaySettings = settings;
     Functions.WebServer.CurrentDisplayAndPrintSettings = settings;
     MaxIndex   = CurrentSet.songList.Count;
     this.Title = "Present Song";
     buildUI();
 }
コード例 #10
0
        internal void ExportToHtml(DisplayAndPrintSettings settings)
        {
            if (CurrentSong.title == "")
            {
                Helpers.PopupMessages.ShowErrorMessage(this, "Please select a song");
                return;
            }
            string destination = CurrentSong.ExportToHtml(settings);

            Process.Start(destination);
        }
コード例 #11
0
ファイル: WebServer.cs プロジェクト: gitter-badger/OpenChords
        private void showCurrentSongName(HttpRequestEventArgs e)
        {
            DisplayAndPrintSettings displayAndPrintSettings = getDisplaySettingsOption(e);

            using (var writer = new StreamWriter(e.Response.OutputStream))
            {
                if (CurrentSong == null)
                {
                    writer.Write("No song selected");
                    return;
                }
                writer.Write(CurrentSong.title);
            }
        }
コード例 #12
0
ファイル: WebServer.cs プロジェクト: gitter-badger/OpenChords
        private void showCurrentSong(HttpRequestEventArgs e)
        {
            DisplayAndPrintSettings displayAndPrintSettings = getDisplaySettingsOption(e);

            using (var writer = new StreamWriter(e.Response.OutputStream))
            {
                if (CurrentSong == null)
                {
                    writer.Write("No song selected");
                    return;
                }
                var htmlSong = CurrentSong.getHtml(displayAndPrintSettings, enableAutoRefresh: true);
                writer.Write(htmlSong);
            }
        }
コード例 #13
0
ファイル: WebServer.cs プロジェクト: gitter-badger/OpenChords
        private void showCurrentSet(HttpRequestEventArgs e)
        {
            DisplayAndPrintSettings displayAndPrintSettings = getDisplaySettingsOption(e);

            using (var writer = new StreamWriter(e.Response.OutputStream))
            {
                if (CurrentSet == null)
                {
                    writer.Write("No set selected");
                    return;
                }
                var htmlSet = CurrentSet.getHtml(displayAndPrintSettings);
                writer.Write(htmlSet);
            }
        }
コード例 #14
0
 public void updateGuiFromSettingsObject(DisplayAndPrintSettings displayAndPrintSettings)
 {
     chkShowChords.Checked = displayAndPrintSettings.ShowChords;
     chkShowLyrics.Checked = displayAndPrintSettings.ShowLyrics;
     chkShowNotes.Checked  = displayAndPrintSettings.ShowNotes;
     if (displayAndPrintSettings.SongOrientation == null || displayAndPrintSettings.SongOrientation == "Horizontal")
     {
         cmbSongOrientation.SelectedIndex = 0;
     }
     else
     {
         cmbSongOrientation.SelectedIndex = 1;
     }
     fontAndColorPanel.updateGuiFromSettingsObject(displayAndPrintSettings);
 }
コード例 #15
0
        internal void ExportToHtml()
        {
            if (SetChanged && Helpers.PopupMessages.ShowConfirmationMessage(this, "Save changes to set '{0}' before Exporting to html?", CurrentSet.setName))
            {
                saveSet();
            }
            else
            {
                revertSet();
            }
            string html     = CurrentSet.getHtml(DisplayAndPrintSettings.loadSettings(DisplayAndPrintSettingsType.TabletSettings));
            string fileName = string.Format("{0}/{1}.html", Settings.GlobalApplicationSettings.PrintFolder, CurrentSet.setName);

            File.WriteAllText(fileName, html);
        }
コード例 #16
0
        public static DisplayAndPrintSettings readSettings(String fileName)
        {
            DisplayAndPrintSettings settings = null;

            try
            {
                settings = xmlReader <DisplayAndPrintSettings>(fileName);
            }
            catch (Exception ex)
            {
                logger.Error("Error reading settings", ex);
            }

            return(settings);
        }
コード例 #17
0
 void cmdRestoreSettings_Click(object sender, EventArgs e)
 {
     using (var fileDialog = new OpenFileDialog()
     {
         FileName = displayAndPrintSettings.settingsType.ToString()
     })
     {
         fileDialog.Filters.Add(FILTER);
         if (fileDialog.ShowDialog(this) == DialogResult.Ok)
         {
             displayAndPrintSettings = DisplayAndPrintSettings.loadSettings(displayAndPrintSettings.settingsType, fileDialog.FileName);
             updateGuiFromSettingsObject(displayAndPrintSettings);
             updatePreview();
         }
     }
 }
コード例 #18
0
ファイル: WebServer.cs プロジェクト: gitter-badger/OpenChords
        private DisplayAndPrintSettings getDisplaySettingsOption(HttpRequestEventArgs e)
        {
            DisplayAndPrintSettings settings = null;
            var request = e.Request.Url.ToString();

            if (request.ToLower().Contains("/print"))
            {
                settings = DisplayAndPrintSettings.loadSettings(DisplayAndPrintSettingsType.PrintSettings);
            }
            else if (request.ToLower().Contains("/tablet"))
            {
                settings = DisplayAndPrintSettings.loadSettings(DisplayAndPrintSettingsType.TabletSettings);
            }
            else
            {
                settings = CurrentDisplayAndPrintSettings;
            }
            return(settings);
        }
コード例 #19
0
ファイル: WebServer.cs プロジェクト: wolfyreload/OpenChords
        private void showCurrentSet(HttpRequestEventArgs e)
        {
            DisplayAndPrintSettings displayAndPrintSettings = getDisplaySettingsOption(e);

            e.Response.Headers.Add("Content-Encoding", "gzip");
            using (var zipWriter = new GZipStream(e.Response.OutputStream, CompressionMode.Compress))
                using (var writer = new StreamWriter(zipWriter))
                {
                    if (CurrentSet == null)
                    {
                        writer.Write("No set selected");
                        return;
                    }
                    bool noCapo = e.Request.Url.ToString().ToUpper().Contains("NOCAPO");
                    bool flats  = e.Request.Url.ToString().ToUpper().Contains("FLATS");

                    var htmlSet = CurrentSet.getHtml(displayAndPrintSettings, noCapo: noCapo, preferFlats: flats);
                    writer.Write(htmlSet);
                }
        }
コード例 #20
0
        internal void PresentSong()
        {
            if (SongChanged)
            {
                updateSongObjectFromGui();
                if (Helpers.PopupMessages.ShowConfirmationMessage(this, "Save changes to song '{0}' before presenting?", CurrentSong.title))
                {
                    this.SaveSong();
                }
            }
            if (CurrentSong == null || CurrentSong.title == "")
            {
                Helpers.PopupMessages.ShowErrorMessage(this, "No song selected");
                return;
            }
            var frmPresent = new frmPresent(CurrentSong, DisplayAndPrintSettings.loadSettings(DisplayAndPrintSettingsType.DisplaySettings));

            frmPresent.Closing += FrmPresent_Closing;
            frmPresent.Show();
        }
コード例 #21
0
        internal void updateGuiFromSettingsObject(DisplayAndPrintSettings displayAndPrintSettings)
        {
            this.displayAndPrintSettings = displayAndPrintSettings;

            txtMetaDataTopLeft.TextChanged   -= MetaDataTemplate_TextChanged;
            txtMetaDataTopMiddle.TextChanged -= MetaDataTemplate_TextChanged;
            txtMetaDataTopRight.TextChanged  -= MetaDataTemplate_TextChanged;

            txtMetaDataMiddleLeft.TextChanged   -= MetaDataTemplate_TextChanged;
            txtMetaDataMiddleMiddle.TextChanged -= MetaDataTemplate_TextChanged;
            txtMetaDataMiddleRight.TextChanged  -= MetaDataTemplate_TextChanged;

            txtMetaDataBottomLeft.TextChanged   -= MetaDataTemplate_TextChanged;
            txtMetaDataBottomMiddle.TextChanged -= MetaDataTemplate_TextChanged;
            txtMetaDataBottomRight.TextChanged  -= MetaDataTemplate_TextChanged;

            txtMetaDataTopLeft.Text   = displayAndPrintSettings.SongMetaDataLayoutTop.LeftMetadata;
            txtMetaDataTopMiddle.Text = displayAndPrintSettings.SongMetaDataLayoutTop.MiddleMetadata;
            txtMetaDataTopRight.Text  = displayAndPrintSettings.SongMetaDataLayoutTop.RightMetadata;

            txtMetaDataMiddleLeft.Text   = displayAndPrintSettings.SongMetaDataLayoutMiddle.LeftMetadata;
            txtMetaDataMiddleMiddle.Text = displayAndPrintSettings.SongMetaDataLayoutMiddle.MiddleMetadata;
            txtMetaDataMiddleRight.Text  = displayAndPrintSettings.SongMetaDataLayoutMiddle.RightMetadata;

            txtMetaDataBottomLeft.Text   = displayAndPrintSettings.SongMetaDataLayoutBottom.LeftMetadata;
            txtMetaDataBottomMiddle.Text = displayAndPrintSettings.SongMetaDataLayoutBottom.MiddleMetadata;
            txtMetaDataBottomRight.Text  = displayAndPrintSettings.SongMetaDataLayoutBottom.RightMetadata;

            txtMetaDataTopLeft.TextChanged   += MetaDataTemplate_TextChanged;
            txtMetaDataTopMiddle.TextChanged += MetaDataTemplate_TextChanged;
            txtMetaDataTopRight.TextChanged  += MetaDataTemplate_TextChanged;

            txtMetaDataMiddleLeft.TextChanged   += MetaDataTemplate_TextChanged;
            txtMetaDataMiddleMiddle.TextChanged += MetaDataTemplate_TextChanged;
            txtMetaDataMiddleRight.TextChanged  += MetaDataTemplate_TextChanged;

            txtMetaDataBottomLeft.TextChanged   += MetaDataTemplate_TextChanged;
            txtMetaDataBottomMiddle.TextChanged += MetaDataTemplate_TextChanged;
            txtMetaDataBottomRight.TextChanged  += MetaDataTemplate_TextChanged;
        }
コード例 #22
0
        private void loadSelectedTab(TabControl tabControl)
        {
            var selectedTabPage    = tabControl.SelectedPage;
            var selectedTabControl = tabControl.SelectedPage.Content;

            //if the control is already loaded we have nothing that we need to do
            if (selectedTabControl != null)
            {
                return;
            }

            //load the tab
            switch (selectedTabPage.Text)
            {
            case "General Settings":
                selectedTabPage.Content = new Preferences.GeneralSettingsPreferences(FileAndFolderSettings.loadSettings());
                break;

            case "Display Settings":
                selectedTabPage.Content = new Preferences.DisplayAndPrintPreferences(DisplayAndPrintSettings.loadSettings(DisplayAndPrintSettingsType.DisplaySettings), _songToPreview);
                break;

            case "Print Settings":
                selectedTabPage.Content = new Preferences.DisplayAndPrintPreferences(DisplayAndPrintSettings.loadSettings(DisplayAndPrintSettingsType.PrintSettings), _songToPreview);
                break;

            case "Tablet Settings":
                selectedTabPage.Content = new Preferences.DisplayAndPrintPreferences(DisplayAndPrintSettings.loadSettings(DisplayAndPrintSettingsType.TabletSettings), _songToPreview);
                break;

            case "Shortcut Settings":
                selectedTabPage.Content = new ShortcutSettingsPreferences(Entities.ShortcutSettings.LoadSettings());
                break;

            case "User Interface Settings":
                selectedTabPage.Content = new UserInterfacePreferences();
                break;
            }
        }
コード例 #23
0
ファイル: WebServer.cs プロジェクト: gitter-badger/OpenChords
        void server_RequestReceived(object sender, HttpRequestEventArgs e)
        {
            if (CurrentDisplayAndPrintSettings == null)
            {
                CurrentDisplayAndPrintSettings = Entities.DisplayAndPrintSettings.loadSettings(DisplayAndPrintSettingsType.DisplaySettings);
            }

            var request = e.Request.Url.LocalPath;

            if (request.ToUpper().Contains("SET"))
            {
                showCurrentSet(e);
            }
            else if (request.ToUpper().Contains("SONGNAME"))
            {
                showCurrentSongName(e);
            }
            else
            {
                showCurrentSong(e);
            }
        }
コード例 #24
0
        internal void ExportToHtml(DisplayAndPrintSettings settings)
        {
            string destination = CurrentSet.ExportToHtml(settings);

            Process.Start(destination);
        }
コード例 #25
0
 public static void writeSettings(String fileName, DisplayAndPrintSettings settings)
 {
     xmlWriter <DisplayAndPrintSettings>(fileName, settings);
 }
コード例 #26
0
ファイル: frmMain.cs プロジェクト: gitter-badger/OpenChords
        private void exportToPrintHtml(object sender, EventArgs e)
        {
            var option = (ExportOption)((sender as Command).Tag);

            exportToHtml(option, DisplayAndPrintSettings.loadSettings(DisplayAndPrintSettingsType.PrintSettings));
        }
コード例 #27
0
 void cmdRevertSettings_Click(object sender, EventArgs e)
 {
     displayAndPrintSettings = DisplayAndPrintSettings.loadSettings(displayAndPrintSettings.settingsType);
     updateGuiFromSettingsObject(displayAndPrintSettings);
     updatePreview();
 }