private void LoadSettingsTab() { if (SettingsHelper.GetAppSetting("style") == null) { SettingsHelper.SetAppSetting("style", "blue"); } metroComboBoxSettingsStyle.Text = SettingsHelper.GetAppSetting("style"); if (SettingsHelper.GetAppSetting("formatPdf") == null) { SettingsHelper.SetAppSetting("formatPdf", "FALSE"); SettingsHelper.SetAppSetting("formatDocx", "TRUE"); } metroToggleFormatDocx.Checked = Convert.ToBoolean(SettingsHelper.GetAppSetting("formatDocx")); metroToggleFormatPdf.Checked = Convert.ToBoolean(SettingsHelper.GetAppSetting("formatPdf")); if (SettingsHelper.GetAppSetting("AIO") == null) { SettingsHelper.SetAppSetting("AIO", "FALSE"); } metroToggleConvertAIO.Checked = Convert.ToBoolean(SettingsHelper.GetAppSetting("AIO")); if (SettingsHelper.GetAppSetting("proxy-use") == null) { SettingsHelper.SetAppSetting("proxy-use", "FALSE"); SettingsHelper.SetAppSetting("proxy-server", "proxy.example.com"); SettingsHelper.SetAppSetting("proxy-port", "8080"); } metroToggleSettingsProxy.Checked = Convert.ToBoolean(SettingsHelper.GetAppSetting("proxy-use")); metroTextBoxSettingsProxyPort.Text = SettingsHelper.GetAppSetting("proxy-port"); metroTextBoxSettingsProxy.Text = SettingsHelper.GetAppSetting("proxy-server"); }
private void LoadLanguage() { if (SettingsHelper.GetAppSetting("lang") == null) { SettingsHelper.SetAppSetting("lang", "en"); } loc = new Localization(Application.StartupPath + "\\local", SettingsHelper.GetAppSetting("lang")); }
private void metroTileConvert_Click(object sender, EventArgs e) { if (metroTileConvert.TileCount == 0) { ShowMessage(loc.C_dlgNoArticleChosen); return; } FolderBrowserDialog fbd = new FolderBrowserDialog(); fbd.ShowNewFolderButton = true; fbd.Description = loc.C_fbdDescription; if (SettingsHelper.GetAppSetting("lastSavePath") != null && Directory.Exists(SettingsHelper.GetAppSetting("lastSavePath"))) { fbd.SelectedPath = SettingsHelper.GetAppSetting("lastSavePath"); } if (fbd.ShowDialog() != System.Windows.Forms.DialogResult.OK) { return; } metroToggleFormatDocx.Enabled = false; metroToggleFormatPdf.Enabled = false; metroToggleConvertAIO.Enabled = false; metroTileConvert.Enabled = false; metroTabControlContainer.TabPages.Remove(metroTabPageLoad); metroTabControlContainer.TabPages.Remove(metroTabPageChoose); metroProgressSpinner1.Visible = true; progressBarStatus.Visible = true; metroLabelConvertStatus.Text = ""; metroLabelConvertStatus.Visible = true; if (!Directory.Exists(fbd.SelectedPath)) { Directory.CreateDirectory(fbd.SelectedPath); } SettingsHelper.SetAppSetting("lastSavePath", fbd.SelectedPath); var choosenArticles = dataGridViewArticles.Rows.Cast <DataGridViewRow>().Where(x => (bool)x.Cells[0].Value).Select(x => x.Tag.ToString()).ToList(); var articles = xDoc.Root.Descendants("item").Where(x => choosenArticles.Contains(x.Descendants("link").First().Value)).ToList(); progressBarStatus.Maximum = articles.Count; progressBarStatus.Value = 0; BackgroundWorker bgw = new BackgroundWorker(); bgw.DoWork += bgw_DoWork; bgw.ProgressChanged += bgw_ProgressChanged; bgw.RunWorkerCompleted += bgw_RunWorkerCompleted; bgw.WorkerReportsProgress = true; bgw.RunWorkerAsync(new object[] { articles, fbd.SelectedPath, metroToggleFormatDocx.Checked, metroToggleFormatPdf.Checked, metroToggleConvertAIO.Checked }); }
private void LoadLanguageSettings() { if (SettingsHelper.GetAppSetting("lang") == null) { SettingsHelper.SetAppSetting("lang", "en"); } metroComboBoxSettingsLanguage.Items.Clear(); var availableLangs = loc.GetAvailableLanguages(); metroComboBoxSettingsLanguage.Items.AddRange(availableLangs.Select(x => x.Value).ToArray()); metroComboBoxSettingsLanguage.Text = availableLangs[SettingsHelper.GetAppSetting("lang")]; }
void bgw_DoWork(object sender, DoWorkEventArgs e) { try { string masterBody = string.Empty; (((object[])e.Argument)[0] as List <XElement>).ForEach(item => { var contentBody = item.Descendants(nsContent + "encoded").First().Value.Replace("\n", "<br />"); //Metadata var creator = item.Descendants(nsDc + "creator").First().Value; DateTime pubDate; var categories = new List <WpCategory>(); var title = item.Descendants("title").First().Value; foreach (var cat in item.Descendants("category")) { try { categories.Add(new WpCategory() { Domain = cat.Attribute("domain").Value, Name = cat.Value, NiceName = cat.Attribute("nicename").Value }); } catch { //Ignore if category tag hasn't needed attributes } } //Create metadata html var headerLineTemplate = SettingsHelper.GetAppSetting("headerTemplate"); var dtFormat = Regex.Match(headerLineTemplate, "{{date:(?<dtformat>[^}]*?)}}").Groups["dtformat"]; var catStr = string.Join(", ", categories.Select(x => $"{x.Domain}: {x.NiceName}")); var pubDateStr = string.Empty; if (DateTime.TryParse(item.Descendants("pubDate").First().Value, out pubDate)) { pubDateStr = string.Format("{0:" + dtFormat + "}", pubDate); } else { pubDateStr = $"({loc.C_txtUnpublished})"; } var headerLineHtml = Regex.Replace(headerLineTemplate, "{{date:(?<dtformat>[^}]*?)}}", pubDateStr); headerLineHtml = headerLineHtml.Replace("{{creator}}", creator); headerLineHtml = headerLineHtml.Replace("{{title}}", title); headerLineHtml = headerLineHtml.Replace("{{categories}}", catStr); //Clean BB-Code images Regex re = new Regex(@"\[imag.*?src=""(.*?)"".*?\]\[\/image\]", RegexOptions.Multiline | RegexOptions.Singleline); MatchCollection mc = re.Matches(contentBody); foreach (Match m in mc) { try { contentBody = contentBody.Replace(m.Value, "<img src=\"" + m.Groups[1].Value + "\">"); } catch { } } if (!(bool)((object[])e.Argument)[4]) // != AllInOne { var fNameBase = string.Concat((string)((object[])e.Argument)[1], "\\", CleanFileName(item.Descendants("title").First().Value)); var fNameDocx = string.Concat(fNameBase, ".docx"); var fNamePdf = string.Concat(fNameBase, ".pdf"); if ((bool)((object[])e.Argument)[2]) { SaveHtmlAsDocx(fNameDocx, $"{headerLineHtml}{contentBody}"); } if ((bool)((object[])e.Argument)[3]) { SaveHtmlAsPdf(fNamePdf, $"{headerLineHtml}{contentBody}"); } } else { masterBody += $"<article>{headerLineHtml}{contentBody}</article><br/><br/><br/>"; } (sender as BackgroundWorker).ReportProgress(0); }); if ((bool)((object[])e.Argument)[4]) // == AllInOne { if ((bool)((object[])e.Argument)[2]) { SaveHtmlAsDocx(((object[])e.Argument)[1] + "\\wordpress2doc-export_" + DateTime.Now.ToFileTimeUtc().ToString() + ".docx", masterBody); } if ((bool)((object[])e.Argument)[3]) { SaveHtmlAsPdf(((object[])e.Argument)[1] + "\\wordpress2doc-export_" + DateTime.Now.ToFileTimeUtc().ToString() + ".pdf", masterBody); } } } catch (Exception ee) { ShowMessage(string.Concat(loc.C_dlgErrorInExport, "\n\n", ee.Message)); } }