private void SaveArticleAsWordDocumentToolStripMenuItemClick(object sender, EventArgs e)
        {
            var articleClicked = GetSelectedArticle();

            if (ReferenceEquals(articleClicked, null))
            {
                return;
            }

            SaveFileDialog saveFileDialog = new SaveFileDialog
            {
                Filter = "Word document|*.docx",
                Title  = "Save article as a Word File"
            };

            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                // If the file name is not an empty string open it for saving.
                if (!String.IsNullOrWhiteSpace(saveFileDialog.FileName))
                {
                    SetElementsEnabled(false);
                    var unzippedJson = GetJsonArticle(articleClicked);
                    SetElementsEnabled(true);
                    var jsonArticle = JObject.Parse(unzippedJson);
                    JsonArticleToDocument.JsonArticleToDocx(jsonArticle, saveFileDialog.FileName);
                }
            }
        }
        private void Translate(Article articleClicked, string targetLanguage)
        {
            SetElementsEnabled(false);
            var unzippedJson = GetJsonArticle(articleClicked);
            var article      = JObject.Parse(unzippedJson);
            int howManyElementsToTranslate = JsonArticleToDocument.JsonArticleHowManyElementsToTranslate(article);

            SetProgressBarMaximum(howManyElementsToTranslate);
            var rtfContent = JsonArticleToDocument.JsonArticleToRtfTranslate(article, targetLanguage, TranslateCallback);

            SetArticleContent(rtfContent);
            SetOptionalMessage("Translation finished.");
            SetElementsEnabled(true);
        }
        private void SearchResultsListBoxSelectedIndexChanged(object sender, EventArgs e)
        {
            var articleClicked = GetSelectedArticle();

            if (ReferenceEquals(articleClicked, null))
            {
                return;
            }

            string unzippedJson = GetJsonArticle(articleClicked);

            try
            {
                var article    = JObject.Parse(unzippedJson);
                var rtfContent = JsonArticleToDocument.JsonArticleToRtf(article);
                ArticleRichTextBox.Rtf = rtfContent;
            }
            catch { }
        }