예제 #1
0
        private void Notes_Cliked(object sender, RoutedEventArgs e)
        {
            try
            {
                string bibleVerseKey = this.SelectedVerseKey;

                if (!Formatters.IsBiblesKey(bibleVerseKey))
                {
                    bibleVerseKey = $"{this.selectedBibleId}||{bibleVerseKey}";
                }

                VerseNotesModel noteModel = BiblesData.Database.GetVerseNotes(bibleVerseKey);

                if (noteModel == null)
                {
                    noteModel = new VerseNotesModel {
                        BibleVerseKey = bibleVerseKey, FootNote = new byte[] { }
                    };
                }

                string footNotes = noteModel.FootNote.UnzipFile().ParseToString();

                if (TextEditing.ShowDialog(GlobalStaticData.Intance.GetKeyDescription(this.SelectedVerseKey), footNotes).IsFalse())
                {
                    return;
                }

                noteModel.FootNote = TextEditing.Text.ZipFile();

                BiblesData.Database.InsertVerseNote(noteModel);

                int selectedVerse = Formatters.GetVerseFromKey(this.selectedKey);

                BibleLoader.RefreshVerseNumberPanel
                (
                    this.loadedVerseStackDictionaryLeft[selectedVerse],
                    this.BibleLeft.BibleId,
                    this.versesDictionaryLeft[selectedVerse]
                );

                BibleLoader.RefreshVerseNumberPanel
                (
                    this.loadedVerseStackDictionaryRight[selectedVerse],
                    this.BibleRight.BibleId,
                    this.versesDictionaryRight[selectedVerse]
                );
            }
            catch (Exception err)
            {
                ErrorLog.ShowError(err);
            }
        }
예제 #2
0
        private static void VerseNote_Selected(object sender, MouseButtonEventArgs e)
        {
            try
            {
                Image item = (Image)sender;

                string bibleVerseKey = item.Tag.ParseToString();

                VerseNotesModel noteModel = BiblesData.Database.GetVerseNotes(bibleVerseKey);

                if (noteModel == null)
                {
                    noteModel = new VerseNotesModel {
                        BibleVerseKey = bibleVerseKey
                    };
                }

                string footNotes = noteModel.FootNote.UnzipFile().ParseToString();

                if (TextEditing.ShowDialog(GlobalStaticData.Intance.GetKeyDescription(bibleVerseKey), footNotes).IsFalse())
                {
                    return;
                }

                if (TextEditing.Text.IsNullEmptyOrWhiteSpace())
                {
                    BiblesData.Database.DeleteVerseNote(bibleVerseKey);

                    StackPanel parentpanel = item.Parent.To <StackPanel>();

                    parentpanel.Children.Remove(item);

                    return;
                }

                noteModel.FootNote = TextEditing.Text.ZipFile();

                item.ToolTip = TextEditing.Text;

                BiblesData.Database.InsertVerseNote(noteModel);
            }
            catch (Exception err)
            {
                ErrorLog.ShowError(err);
            }
        }
예제 #3
0
        private static Image GetNotesImage(string bibleVerseKey)
        {
            VerseNotesModel noteModel = BiblesData.Database.GetVerseNotes(bibleVerseKey);

            if (noteModel == null)
            {
                return(null);
            }

            Image linkImage = new Image
            {
                Source  = IconSets.ResourceImageSource("Notes", 16),
                Opacity = 0.5,
                Tag     = bibleVerseKey,
                ToolTip = new TooltipLabel {
                    Text = noteModel.FootNote.UnzipFile().ParseToString()
                }
            };

            linkImage.PreviewMouseLeftButtonUp += BibleLoader.VerseNote_Selected;

            return(linkImage);
        }