diff --git a/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/app.config b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/app.config
new file mode 100644
index 0000000..b5a9018
--- /dev/null
+++ b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/app.config
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<configuration>
+ <startup>
+ <supportedRuntime version="v2.0.50727"/>
+ </startup>
+</configuration>
diff --git a/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Commands/ShowExportWindowCommand.cs b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Commands/ShowExportWindowCommand.cs
new file mode 100644
index 0000000..90df497
--- /dev/null
+++ b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Commands/ShowExportWindowCommand.cs
@@ -0,0 +1,18 @@
+using MiniSqlQuery.Core.Commands;
+
+namespace MiniSqlQuery.Exports.Plugin.Commands
+{
+ public class ShowExportWindowCommand : CommandBase
+ {
+ public ShowExportWindowCommand()
+ : base("&Export data...")
+ {
+ }
+
+ public override void Execute()
+ {
+ ExportWindow frm = new ExportWindow(Services);
+ frm.Show(Services.HostWindow.Instance);
+ }
+ }
+}
\ No newline at end of file
diff --git a/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Export/CSVExport.cs b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Export/CSVExport.cs
new file mode 100644
index 0000000..b55807a
--- /dev/null
+++ b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Export/CSVExport.cs
@@ -0,0 +1,98 @@
+using System;
+using System.Data;
+using System.IO;
+
+namespace MiniSqlQuery.Exports.Plugin.Export
+{
+ public class CSVExport
+ {
+ #region Delegates
+
+ public delegate void WrittenData(string text);
+
+ #endregion
+
+ public static event WrittenData OnWrittenData;
+
+ public static void ExportToCSV(DataTable source, string fileName, bool fileNamesFirstRow)
+ {
+ // Create the CSV file to which grid data will be exported.
+ StreamWriter sw = new StreamWriter(fileName, false);
+ // First we will write the headers.
+ DataTable dt = source;
+ int iColCount = dt.Columns.Count;
+
+ if (fileNamesFirstRow)
+ {
+ for (int i = 0; i < iColCount; i++)
+ {
+ CsvWrite(sw, dt.Columns[i].ColumnName);
+ if (i < iColCount - 1)
+ {
+ sw.Write(",");
+ }
+ if (OnWrittenData != null)
+ {
+ OnWrittenData(string.Format("Wrote column name {0}", i));
+ }
+ }
+ sw.Write(sw.NewLine);
+ if (OnWrittenData != null)
+ {
+ OnWrittenData("Wrote filednames row..");
+ }
+ }
+ // Now write all the rows.
+ int counter = 0;
+ foreach (DataRow dr in dt.Rows)
+ {
+ for (int i = 0; i < iColCount; i++)
+ {
+ if (!Convert.IsDBNull(dr[i]))
+ {
+ CsvWrite(sw, dr[i].ToString());
+ }
+ if (i < iColCount - 1)
+ {
+ sw.Write(",");
+ }
+ }
+ sw.Write(sw.NewLine);
+ counter++;
+ if (OnWrittenData != null)
+ {
+ OnWrittenData(string.Format("Wrote row {0}", counter));
+ }
+ }
+ sw.Close();
+ if (OnWrittenData != null)
+ {
+ OnWrittenData("Finished exporting CSV file to " + fileName);
+ }
+ }
+
+ /// <summary>
+ /// Perform a CSV compliant wtrite of <paramref name="text"/> to the <paramref name="sw"/>.
+ /// Handles commas, quotes and newlines.
+ /// </summary>
+ /// <param name="sw">The writer.</param>
+ /// <param name="text">The text.</param>
+ private static void CsvWrite(TextWriter sw, string text)
+ {
+ if (text != null)
+ {
+ bool needsQuotes = false;
+ if (text.Contains("\"") || text.Contains(",") || text.Contains("\n"))
+ {
+ needsQuotes = true;
+ text = text.Replace("\"", "\"\"");
+ }
+ if (needsQuotes)
+ {
+ text = string.Concat("\"", text, "\"");
+ }
+ sw.Write(text);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Export/HtmlExport.cs b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Export/HtmlExport.cs
new file mode 100644
index 0000000..3a989af
--- /dev/null
+++ b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Export/HtmlExport.cs
@@ -0,0 +1,89 @@
+using System.Data;
+using System.Text;
+
+namespace MiniSqlQuery.Exports.Plugin.Export
+{
+ public class HtmlExport
+ {
+ public delegate void WrittenData(string text);
+
+ public static event WrittenData OnWrittenData;
+
+ public static void ExportToHTML(DataTable source, string fileName, HtmlExportFormat format)
+ {
+ StringBuilder sbCss = new StringBuilder();
+ StringBuilder sbHtml = new StringBuilder();
+ bool isAltSet = false;
+
+ sbCss.Append("<style>");
+ sbCss.Append("body { font-family:" + format.FontFamily + "; font-size:" + format.FontSize + "; color:" + format.FontColor + "; }");
+ sbCss.Append(".Header {background-color:" + format.HeaderColor + "}");
+ sbCss.Append(".Row {background-color:" + format.RowColor + "}");
+ sbCss.Append(".AltRow {background-color:" + format.RowAltColor + "}");
+ sbCss.Append("</style>");
+
+ //this.SetStatusText = "Created style for html";
+
+ sbHtml.Append("<html>");
+ sbHtml.Append("<head><title>Export from " + source.TableName + "</title>");
+ sbHtml.Append(sbCss.ToString());
+ sbHtml.Append("</head>");
+ sbHtml.Append("<body>");
+
+ int fields = source.Columns.Count;
+ sbHtml.Append("<table border='0' cellpadding='2'");
+ sbHtml.Append("<tr>");
+ for (int i = 0; i < fields; i++)
+ {
+ sbHtml.Append(string.Format("<td class='Header'>{0}</td>", source.Columns[i].ColumnName));
+
+ if (OnWrittenData != null)
+ {
+ OnWrittenData("Writing column name " + i);
+ }
+ }
+ sbHtml.Append("</tr>");
+
+ int counter = 0;
+ foreach (DataRow dr in source.Rows)
+ {
+ sbHtml.Append("<tr>");
+
+ for (int i = 0; i < fields; i++)
+ {
+ if (isAltSet)
+ {
+ sbHtml.Append(string.Format("<td class='AltRow'>{0}</td>", dr[i]));
+ }
+ else
+ {
+ sbHtml.Append(string.Format("<td class='Row'>{0}</td>", dr[i]));
+ }
+ }
+ counter++;
+ if (OnWrittenData != null)
+ {
+ OnWrittenData("Writing row " + counter);
+ }
+
+ sbHtml.Append("</tr>");
+
+ if (isAltSet == false)
+ isAltSet = true;
+ else
+ isAltSet = false;
+ }
+ sbHtml.Append("</table>");
+ sbHtml.Append("</body></html>");
+
+
+ System.IO.TextWriter tw = new System.IO.StreamWriter(fileName);
+ tw.WriteLine(sbHtml.ToString());
+ tw.Close();
+ if (OnWrittenData != null)
+ {
+ OnWrittenData("Finished exporting to html file");
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Export/HtmlExportFormat.cs b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Export/HtmlExportFormat.cs
new file mode 100644
index 0000000..fdd0c14
--- /dev/null
+++ b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Export/HtmlExportFormat.cs
@@ -0,0 +1,13 @@
+namespace MiniSqlQuery.Exports.Plugin.Export
+{
+ public class HtmlExportFormat
+ {
+ public string FontFamily { get; set; }
+ public string FontSize { get; set; }
+ public string FontColor { get; set; }
+
+ public string HeaderColor { get; set; }
+ public string RowColor { get; set; }
+ public string RowAltColor { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/ExportWindow.cs b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/ExportWindow.cs
new file mode 100644
index 0000000..d75de71
--- /dev/null
+++ b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/ExportWindow.cs
@@ -0,0 +1,275 @@
+using System;
+using System.Data;
+using System.Windows.Forms;
+using MiniSqlQuery.Core;
+using MiniSqlQuery.Core.Forms;
+
+namespace MiniSqlQuery.Exports.Plugin
+{
+ public partial class ExportWindow : Form
+ {
+ private readonly IApplicationServices _services;
+ private DataSet _dsExecutedData;
+
+ public ExportWindow(IApplicationServices services)
+ {
+ _services = services;
+ InitializeComponent();
+ txtFilePath.Text = string.Format("{0}\\export{1:yyyy-MM-dd}.htm",
+ Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), DateTime.Today);
+ }
+
+ public string SetStatusText
+ {
+ set
+ {
+ toolStripStatusLabel1.Text = value;
+ statusStrip1.Refresh();
+ }
+ }
+
+ private void ExportWindow_Load(object sender, EventArgs e)
+ {
+ IQueryBatchProvider batchProvider = _services.HostWindow.ActiveChildForm as IQueryBatchProvider;
+
+ if (batchProvider != null && batchProvider.Batch != null)
+ {
+ if (batchProvider.Batch.Queries.Count > 1)
+ {
+ BatchQuerySelectForm querySelectForm = new BatchQuerySelectForm();
+ querySelectForm.Fill(batchProvider.Batch);
+ querySelectForm.ShowDialog();
+ if (querySelectForm.DialogResult == DialogResult.OK)
+ {
+ _dsExecutedData = querySelectForm.SelectedQuery.Result;
+ }
+ else
+ {
+ Close(); // user calncelled
+ }
+ return;
+ }
+
+ if (batchProvider.Batch.Queries.Count == 1)
+ {
+ _dsExecutedData = batchProvider.Batch.Queries[0].Result;
+ return;
+ }
+ }
+
+ MessageBox.Show("Couldn't find a result window, run a query or view a table to export the data.");
+ Close();
+ }
+
+ private void btnExport_Click(object sender, EventArgs e)
+ {
+ if (rbtXml.Checked)
+ {
+ ExportXml();
+ }
+
+ if (rbtHtml.Checked)
+ {
+ ExportHtml();
+ }
+
+ if (rbtCsv.Checked)
+ {
+ ExportCSV();
+ }
+ }
+
+ private void button1_Click(object sender, EventArgs e)
+ {
+ // Create new SaveFileDialog object
+ SaveFileDialog dialogSave = new SaveFileDialog();
+
+ // Default file extension
+ if (rbtCsv.Checked)
+ {
+ dialogSave.DefaultExt = "csv";
+ dialogSave.FilterIndex = 2;
+ }
+
+ if (rbtHtml.Checked)
+ {
+ dialogSave.DefaultExt = "htm";
+ dialogSave.FilterIndex = 1;
+ }
+
+ if (rbtXml.Checked)
+ {
+ dialogSave.DefaultExt = "xml";
+ dialogSave.FilterIndex = 3;
+ }
+
+ //DialogSave.DefaultExt = "txt";
+
+ // Available file extensions
+ dialogSave.Filter = "Html File (*.htm)|*.htm|CSV File (*.csv)|*.csv|XML file (*.xml)|*.xml";
+
+ // Adds a extension if the user does not
+ dialogSave.AddExtension = true;
+
+ // Restores the selected directory, next time
+ dialogSave.RestoreDirectory = true;
+
+ // Dialog title
+ dialogSave.Title = "Where do you want to save the file?";
+
+ // Startup directory
+ dialogSave.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
+
+ // Show the dialog and process the result
+ if (dialogSave.ShowDialog() == DialogResult.OK)
+ {
+ txtFilePath.Text = dialogSave.FileName;
+ //MessageBox.Show("You selected the file: " + DialogSave.FileName);
+ }
+
+ dialogSave.Dispose();
+ }
+
+ //private int GetFieldCount
+ //{
+ // get { return _dsExecutedData.Tables[0].Columns.Count; }
+ //}
+ //private int GetRowCount
+ //{
+ // get { return _dsExecutedData.Tables[0].Rows.Count; }
+ //}
+
+ private void ExportHtml()
+ {
+ Export.HtmlExportFormat format = new Export.HtmlExportFormat();
+ format.FontColor = txtFontColor.Text;
+ format.FontFamily = txtFontFamily.Text;
+ format.FontSize = txtFontSize.Text;
+
+ format.HeaderColor = txtHeaderBGColor.Text;
+ format.RowAltColor = txtRowBgAltColor.Text;
+ format.RowColor = txtRowBgcolor.Text;
+
+ Export.HtmlExport.OnWrittenData += CSVExport_OnWrittenData;
+ Export.HtmlExport.ExportToHTML(_dsExecutedData.Tables[0], txtFilePath.Text, format);
+
+ #region Not used
+
+ //StringBuilder sbCss = new StringBuilder();
+ //StringBuilder sbHtml = new StringBuilder();
+ //bool isAltSet = false;
+
+ //sbCss.Append("<style>");
+ //sbCss.Append("body { font-family:" + this.txtFontFamily.Text + "; font-size:" + this.txtFontSize.Text + "; color:" + this.txtFontColor.Text + "; }");
+ //sbCss.Append(".Header {background-color:" + this.txtHeaderBGColor.Text + "}");
+ //sbCss.Append(".Row {background-color:" + this.txtRowBgcolor.Text + "}");
+ //sbCss.Append(".AltRow {background-color:" + this.txtRowBgAltColor.Text + "}");
+ //sbCss.Append("</style>");
+
+ //this.SetStatusText = "Created style for html";
+
+ //sbHtml.Append("<html>");
+ //sbHtml.Append("<head><title>Export from " + _dsExecutedData.Tables[0].TableName + "</title>");
+ //sbHtml.Append(sbCss.ToString());
+ //sbHtml.Append("</head>");
+ //sbHtml.Append("<body>");
+
+ //int fields = this.GetFieldCount;
+ //sbHtml.Append("<table border='0' cellpadding='2'");
+ //sbHtml.Append("<tr>");
+ //for (int i = 0; i < fields; i++)
+ //{
+ // sbHtml.Append(string.Format("<td class='Header'>{0}</td>", _dsExecutedData.Tables[0].Columns[i].ColumnName));
+ // this.SetStatusText = "Writing column name " + i.ToString();
+ //}
+ //sbHtml.Append("</tr>");
+
+ //int Counter = 0;
+ //foreach (DataRow dr in _dsExecutedData.Tables[0].Rows)
+ //{
+ // sbHtml.Append("<tr>");
+
+ // for (int i = 0; i < fields; i++)
+ // {
+ // if (isAltSet)
+ // {
+ // sbHtml.Append(string.Format("<td class='AltRow'>{0}</td>", dr[i].ToString()));
+
+ // }
+ // else
+ // {
+ // sbHtml.Append(string.Format("<td class='Row'>{0}</td>", dr[i].ToString()));
+
+ // }
+ // }
+ // Counter++;
+ // this.SetStatusText = "Wring row " + Counter.ToString();
+ // sbHtml.Append("</tr>");
+
+ // if (isAltSet == false)
+ // isAltSet = true;
+ // else
+ // isAltSet = false;
+ //}
+ //sbHtml.Append("</table>");
+ //sbHtml.Append("</body></html>");
+
+
+ //System.IO.TextWriter tw = new System.IO.StreamWriter(this.txtFilePath.Text);
+ //tw.WriteLine(sbHtml.ToString());
+ //tw.Close();
+ //this.SetStatusText = "Finished exporting to html file";
+
+ #endregion
+ }
+
+ private void ExportCSV()
+ {
+ Export.CSVExport.OnWrittenData += CSVExport_OnWrittenData;
+ Export.CSVExport.ExportToCSV(_dsExecutedData.Tables[0], txtFilePath.Text, chkRowNames.Checked);
+ }
+
+ private void CSVExport_OnWrittenData(string text)
+ {
+ SetStatusText = text;
+ }
+
+ private void ExportXml()
+ {
+ _dsExecutedData.Tables[0].WriteXml(txtFilePath.Text);
+ SetStatusText = "Finished exporting to Xml file";
+ }
+
+ private void btnCancel_Click(object sender, EventArgs e)
+ {
+ Close();
+ }
+
+ private void rbtHtml_CheckedChanged(object sender, EventArgs e)
+ {
+ ChangeExtension("htm");
+ }
+
+ private void ChangeExtension(string extension)
+ {
+ if (!string.IsNullOrEmpty(txtFilePath.Text))
+ {
+ string p = txtFilePath.Text;
+ int idx = p.LastIndexOf(".");
+ p = p.Remove(idx);
+ p = p + "." + extension;
+ txtFilePath.Text = p;
+ }
+ }
+
+ private void rbtCsv_CheckedChanged(object sender, EventArgs e)
+ {
+ ChangeExtension("csv");
+ }
+
+ private void rbtXml_CheckedChanged(object sender, EventArgs e)
+ {
+ ChangeExtension("xml");
+ }
+ }
+}
\ No newline at end of file
diff --git a/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/ExportWindow.Designer.cs b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/ExportWindow.Designer.cs
new file mode 100644
index 0000000..a065afb
--- /dev/null
+++ b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/ExportWindow.Designer.cs
@@ -0,0 +1,429 @@
+namespace MiniSqlQuery.Exports.Plugin
+{
+ partial class ExportWindow
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ExportWindow));
+ this.label1 = new System.Windows.Forms.Label();
+ this.txtFilePath = new System.Windows.Forms.TextBox();
+ this.button1 = new System.Windows.Forms.Button();
+ this.imageList1 = new System.Windows.Forms.ImageList(this.components);
+ this.rbtHtml = new System.Windows.Forms.RadioButton();
+ this.rbtCsv = new System.Windows.Forms.RadioButton();
+ this.rbtXml = new System.Windows.Forms.RadioButton();
+ this.btnCancel = new System.Windows.Forms.Button();
+ this.btnExport = new System.Windows.Forms.Button();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.groupBox3 = new System.Windows.Forms.GroupBox();
+ this.chkRowNames = new System.Windows.Forms.CheckBox();
+ this.groupBox2 = new System.Windows.Forms.GroupBox();
+ this.txtRowBgAltColor = new System.Windows.Forms.TextBox();
+ this.label10 = new System.Windows.Forms.Label();
+ this.txtRowBgcolor = new System.Windows.Forms.TextBox();
+ this.label8 = new System.Windows.Forms.Label();
+ this.label9 = new System.Windows.Forms.Label();
+ this.txtHeaderBGColor = new System.Windows.Forms.TextBox();
+ this.label7 = new System.Windows.Forms.Label();
+ this.txtFontColor = new System.Windows.Forms.TextBox();
+ this.label6 = new System.Windows.Forms.Label();
+ this.label5 = new System.Windows.Forms.Label();
+ this.txtFontSize = new System.Windows.Forms.TextBox();
+ this.label4 = new System.Windows.Forms.Label();
+ this.txtFontFamily = new System.Windows.Forms.TextBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.statusStrip1 = new System.Windows.Forms.StatusStrip();
+ this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
+ this.groupBox1.SuspendLayout();
+ this.groupBox3.SuspendLayout();
+ this.groupBox2.SuspendLayout();
+ this.statusStrip1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(12, 9);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(68, 13);
+ this.label1.TabIndex = 0;
+ this.label1.Text = "Export to file:";
+ //
+ // txtFilePath
+ //
+ this.txtFilePath.Location = new System.Drawing.Point(15, 25);
+ this.txtFilePath.Name = "txtFilePath";
+ this.txtFilePath.Size = new System.Drawing.Size(428, 20);
+ this.txtFilePath.TabIndex = 1;
+ //
+ // button1
+ //
+ this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
+ this.button1.ImageKey = "VSFolder_open.bmp";
+ this.button1.ImageList = this.imageList1;
+ this.button1.Location = new System.Drawing.Point(449, 25);
+ this.button1.Name = "button1";
+ this.button1.Size = new System.Drawing.Size(27, 20);
+ this.button1.TabIndex = 2;
+ this.button1.UseVisualStyleBackColor = true;
+ this.button1.Click += new System.EventHandler(this.button1_Click);
+ //
+ // imageList1
+ //
+ this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
+ this.imageList1.TransparentColor = System.Drawing.Color.Magenta;
+ this.imageList1.Images.SetKeyName(0, "VSFolder_open.bmp");
+ //
+ // rbtHtml
+ //
+ this.rbtHtml.AutoSize = true;
+ this.rbtHtml.Checked = true;
+ this.rbtHtml.Location = new System.Drawing.Point(15, 51);
+ this.rbtHtml.Name = "rbtHtml";
+ this.rbtHtml.Size = new System.Drawing.Size(46, 17);
+ this.rbtHtml.TabIndex = 3;
+ this.rbtHtml.TabStop = true;
+ this.rbtHtml.Text = "Html";
+ this.rbtHtml.UseVisualStyleBackColor = true;
+ this.rbtHtml.CheckedChanged += new System.EventHandler(this.rbtHtml_CheckedChanged);
+ //
+ // rbtCsv
+ //
+ this.rbtCsv.AutoSize = true;
+ this.rbtCsv.Location = new System.Drawing.Point(77, 51);
+ this.rbtCsv.Name = "rbtCsv";
+ this.rbtCsv.Size = new System.Drawing.Size(43, 17);
+ this.rbtCsv.TabIndex = 4;
+ this.rbtCsv.Text = "Csv";
+ this.rbtCsv.UseVisualStyleBackColor = true;
+ this.rbtCsv.CheckedChanged += new System.EventHandler(this.rbtCsv_CheckedChanged);
+ //
+ // rbtXml
+ //
+ this.rbtXml.AutoSize = true;
+ this.rbtXml.Location = new System.Drawing.Point(126, 51);
+ this.rbtXml.Name = "rbtXml";
+ this.rbtXml.Size = new System.Drawing.Size(42, 17);
+ this.rbtXml.TabIndex = 5;
+ this.rbtXml.Text = "Xml";
+ this.rbtXml.UseVisualStyleBackColor = true;
+ this.rbtXml.CheckedChanged += new System.EventHandler(this.rbtXml_CheckedChanged);
+ //
+ // btnCancel
+ //
+ this.btnCancel.Location = new System.Drawing.Point(401, 359);
+ this.btnCancel.Name = "btnCancel";
+ this.btnCancel.Size = new System.Drawing.Size(75, 23);
+ this.btnCancel.TabIndex = 6;
+ this.btnCancel.Text = "Close";
+ this.btnCancel.UseVisualStyleBackColor = true;
+ this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
+ //
+ // btnExport
+ //
+ this.btnExport.Location = new System.Drawing.Point(320, 359);
+ this.btnExport.Name = "btnExport";
+ this.btnExport.Size = new System.Drawing.Size(75, 23);
+ this.btnExport.TabIndex = 7;
+ this.btnExport.Text = "Export";
+ this.btnExport.UseVisualStyleBackColor = true;
+ this.btnExport.Click += new System.EventHandler(this.btnExport_Click);
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.groupBox3);
+ this.groupBox1.Controls.Add(this.groupBox2);
+ this.groupBox1.Location = new System.Drawing.Point(15, 85);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(461, 268);
+ this.groupBox1.TabIndex = 8;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "Output settings";
+ //
+ // groupBox3
+ //
+ this.groupBox3.Controls.Add(this.chkRowNames);
+ this.groupBox3.Location = new System.Drawing.Point(6, 201);
+ this.groupBox3.Name = "groupBox3";
+ this.groupBox3.Size = new System.Drawing.Size(449, 54);
+ this.groupBox3.TabIndex = 1;
+ this.groupBox3.TabStop = false;
+ this.groupBox3.Text = "Csv";
+ //
+ // chkRowNames
+ //
+ this.chkRowNames.AutoSize = true;
+ this.chkRowNames.Checked = true;
+ this.chkRowNames.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.chkRowNames.Location = new System.Drawing.Point(9, 19);
+ this.chkRowNames.Name = "chkRowNames";
+ this.chkRowNames.Size = new System.Drawing.Size(145, 17);
+ this.chkRowNames.TabIndex = 0;
+ this.chkRowNames.Text = "Column names in first row";
+ this.chkRowNames.UseVisualStyleBackColor = true;
+ //
+ // groupBox2
+ //
+ this.groupBox2.Controls.Add(this.txtRowBgAltColor);
+ this.groupBox2.Controls.Add(this.label10);
+ this.groupBox2.Controls.Add(this.txtRowBgcolor);
+ this.groupBox2.Controls.Add(this.label8);
+ this.groupBox2.Controls.Add(this.label9);
+ this.groupBox2.Controls.Add(this.txtHeaderBGColor);
+ this.groupBox2.Controls.Add(this.label7);
+ this.groupBox2.Controls.Add(this.txtFontColor);
+ this.groupBox2.Controls.Add(this.label6);
+ this.groupBox2.Controls.Add(this.label5);
+ this.groupBox2.Controls.Add(this.txtFontSize);
+ this.groupBox2.Controls.Add(this.label4);
+ this.groupBox2.Controls.Add(this.txtFontFamily);
+ this.groupBox2.Controls.Add(this.label3);
+ this.groupBox2.Controls.Add(this.label2);
+ this.groupBox2.Location = new System.Drawing.Point(6, 19);
+ this.groupBox2.Name = "groupBox2";
+ this.groupBox2.Size = new System.Drawing.Size(449, 176);
+ this.groupBox2.TabIndex = 0;
+ this.groupBox2.TabStop = false;
+ this.groupBox2.Text = "Html";
+ //
+ // txtRowBgAltColor
+ //
+ this.txtRowBgAltColor.Location = new System.Drawing.Point(241, 131);
+ this.txtRowBgAltColor.Name = "txtRowBgAltColor";
+ this.txtRowBgAltColor.Size = new System.Drawing.Size(100, 20);
+ this.txtRowBgAltColor.TabIndex = 15;
+ this.txtRowBgAltColor.Text = "#F2F2F2";
+ //
+ // label10
+ //
+ this.label10.AutoSize = true;
+ this.label10.Location = new System.Drawing.Point(186, 134);
+ this.label10.Name = "label10";
+ this.label10.Size = new System.Drawing.Size(49, 13);
+ this.label10.TabIndex = 14;
+ this.label10.Text = "Alternate";
+ //
+ // txtRowBgcolor
+ //
+ this.txtRowBgcolor.Location = new System.Drawing.Point(62, 131);
+ this.txtRowBgcolor.Name = "txtRowBgcolor";
+ this.txtRowBgcolor.Size = new System.Drawing.Size(100, 20);
+ this.txtRowBgcolor.TabIndex = 13;
+ this.txtRowBgcolor.Text = "#FFFFFF";
+ //
+ // label8
+ //
+ this.label8.AutoSize = true;
+ this.label8.Location = new System.Drawing.Point(25, 134);
+ this.label8.Name = "label8";
+ this.label8.Size = new System.Drawing.Size(31, 13);
+ this.label8.TabIndex = 12;
+ this.label8.Text = "Color";
+ //
+ // label9
+ //
+ this.label9.AutoSize = true;
+ this.label9.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label9.Location = new System.Drawing.Point(6, 109);
+ this.label9.Name = "label9";
+ this.label9.Size = new System.Drawing.Size(32, 13);
+ this.label9.TabIndex = 11;
+ this.label9.Text = "Row";
+ //
+ // txtHeaderBGColor
+ //
+ this.txtHeaderBGColor.Location = new System.Drawing.Point(62, 82);
+ this.txtHeaderBGColor.Name = "txtHeaderBGColor";
+ this.txtHeaderBGColor.Size = new System.Drawing.Size(100, 20);
+ this.txtHeaderBGColor.TabIndex = 10;
+ this.txtHeaderBGColor.Text = "#CAE1FF";
+ //
+ // label7
+ //
+ this.label7.AutoSize = true;
+ this.label7.Location = new System.Drawing.Point(25, 85);
+ this.label7.Name = "label7";
+ this.label7.Size = new System.Drawing.Size(31, 13);
+ this.label7.TabIndex = 9;
+ this.label7.Text = "Color";
+ //
+ // txtFontColor
+ //
+ this.txtFontColor.Location = new System.Drawing.Point(319, 35);
+ this.txtFontColor.Name = "txtFontColor";
+ this.txtFontColor.Size = new System.Drawing.Size(100, 20);
+ this.txtFontColor.TabIndex = 8;
+ this.txtFontColor.Text = "#000000";
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Location = new System.Drawing.Point(282, 38);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(31, 13);
+ this.label6.TabIndex = 7;
+ this.label6.Text = "Color";
+ //
+ // label5
+ //
+ this.label5.AutoSize = true;
+ this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label5.Location = new System.Drawing.Point(6, 16);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(32, 13);
+ this.label5.TabIndex = 6;
+ this.label5.Text = "Font";
+ //
+ // txtFontSize
+ //
+ this.txtFontSize.Location = new System.Drawing.Point(223, 35);
+ this.txtFontSize.Name = "txtFontSize";
+ this.txtFontSize.Size = new System.Drawing.Size(53, 20);
+ this.txtFontSize.TabIndex = 5;
+ this.txtFontSize.Text = "12px";
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(168, 38);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(49, 13);
+ this.label4.TabIndex = 4;
+ this.label4.Text = "Font size";
+ //
+ // txtFontFamily
+ //
+ this.txtFontFamily.Location = new System.Drawing.Point(62, 35);
+ this.txtFontFamily.Name = "txtFontFamily";
+ this.txtFontFamily.Size = new System.Drawing.Size(100, 20);
+ this.txtFontFamily.TabIndex = 3;
+ this.txtFontFamily.Text = "Verdana";
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(20, 38);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(36, 13);
+ this.label3.TabIndex = 2;
+ this.label3.Text = "Family";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label2.Location = new System.Drawing.Point(6, 60);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(48, 13);
+ this.label2.TabIndex = 0;
+ this.label2.Text = "Header";
+ //
+ // statusStrip1
+ //
+ this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.toolStripStatusLabel1});
+ this.statusStrip1.Location = new System.Drawing.Point(0, 390);
+ this.statusStrip1.Name = "statusStrip1";
+ this.statusStrip1.Size = new System.Drawing.Size(488, 22);
+ this.statusStrip1.TabIndex = 9;
+ this.statusStrip1.Text = "statusStrip1";
+ //
+ // toolStripStatusLabel1
+ //
+ this.toolStripStatusLabel1.Name = "toolStripStatusLabel1";
+ this.toolStripStatusLabel1.Size = new System.Drawing.Size(473, 17);
+ this.toolStripStatusLabel1.Spring = true;
+ this.toolStripStatusLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ //
+ // ExportWindow
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(488, 412);
+ this.Controls.Add(this.statusStrip1);
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.btnExport);
+ this.Controls.Add(this.btnCancel);
+ this.Controls.Add(this.rbtXml);
+ this.Controls.Add(this.rbtCsv);
+ this.Controls.Add(this.rbtHtml);
+ this.Controls.Add(this.button1);
+ this.Controls.Add(this.txtFilePath);
+ this.Controls.Add(this.label1);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.Name = "ExportWindow";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "ExportWindow";
+ this.Load += new System.EventHandler(this.ExportWindow_Load);
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox3.ResumeLayout(false);
+ this.groupBox3.PerformLayout();
+ this.groupBox2.ResumeLayout(false);
+ this.groupBox2.PerformLayout();
+ this.statusStrip1.ResumeLayout(false);
+ this.statusStrip1.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.TextBox txtFilePath;
+ private System.Windows.Forms.Button button1;
+ private System.Windows.Forms.RadioButton rbtHtml;
+ private System.Windows.Forms.RadioButton rbtCsv;
+ private System.Windows.Forms.RadioButton rbtXml;
+ private System.Windows.Forms.Button btnCancel;
+ private System.Windows.Forms.Button btnExport;
+ private System.Windows.Forms.ImageList imageList1;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.GroupBox groupBox3;
+ private System.Windows.Forms.GroupBox groupBox2;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox txtRowBgAltColor;
+ private System.Windows.Forms.Label label10;
+ private System.Windows.Forms.TextBox txtRowBgcolor;
+ private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.Label label9;
+ private System.Windows.Forms.TextBox txtHeaderBGColor;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.TextBox txtFontColor;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.TextBox txtFontSize;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.TextBox txtFontFamily;
+ private System.Windows.Forms.CheckBox chkRowNames;
+ private System.Windows.Forms.StatusStrip statusStrip1;
+ private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
+ }
+}
\ No newline at end of file
diff --git a/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/ExportWindow.resx b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/ExportWindow.resx
new file mode 100644
index 0000000..8831e4a
--- /dev/null
+++ b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/ExportWindow.resx
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <data name="imageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
+ LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACE
+ BAAAAk1TRnQBSQFMAwEBAAEEAQABBAEAARABAAEQAQAE/wEZAQAI/wFCAU0BNgcAATYDAAEoAwABQAMA
+ ARADAAEBAQABGAYAAQz/AJMAAXUBhAGPAWYBgAGPAWABeQGHAVcBbgF7AU4BYgFvAUQBVgFhATkBSAFS
+ AS4BOgFDASUBLgE1ARsBIgEpARQBGQEeAQ4BEgEWAQ4BEwEYmQABdwGHAZIBiQGhAasBagGyAdQBAAGP
+ Ac0BAAGPAc0BAAGPAc0BBAGMAccBCAGIAb4BDwGCAbQBFQF8AakBGwF3AZ8BHwFyAZYBIgFLAVwBmwGt
+ AbWWAAF6AYoBlQF+Ab4B0wGKAaQBrgF+AdwB/wFfAc8B/wFVAcsB/wFMAcQB+gFBAbwB9QE3AbMB8AEu
+ AaoB6wEkAaAB5QETAYwB1AEjAWcBgAFeAWkBbZYAAX0BjgGYAXkB0gHsAYsBpAGtAYkBwgHOAXEB2AH/
+ AWUB0wH/AVwBzgH/AVEByQH+AUkBwQH6AT8BuQH1ATQBsAHuASkBqAHpARABhQHNASIBSwFbAbIBwAHG
+ kwABgAGRAZwBgQHXAe8BfQHFAeABjAGmAbABgAHdAf4BaAHTAf8BZwHUAf8BYgHRAf8BWAHNAf8BTgHH
+ AfwBRgG+AfcBOwG2AfIBMQGsAewBJQFpAYEBegGVAaGTAAGDAZUBnwGJAdwB8QGMAeIB/wGNAagBsQGM
+ AboBxwF0AdgB/wFnAdQB/wFnAdQB/wFnAdQB/wFfAdAB/wFUAc0B/wFLAcUB/AFBAbsB9wEuAaIB2wFR
+ AWcBdAGyAcABxpAAAYYBmgGjAZIB4QHyAZgB6AH9AYABxAHeAY4BpwGwAYEB3gH9AYQB4AH/AYQB4AH/
+ AYQB4AH/AYQB4AH/AYEB3wH/AXsB3QH/AXQB2AH/AWsB1gH/AVYBqQHRAY8BmwGkkAABiAGcAaUBmgHm
+ AfMBnwHrAfsBmAHoAf4BiwGsAbkBiwGsAbkBigGqAbcBiAGmAbMBhgGjAa8BgwGfAaoBgQGaAaYBfwGV
+ AaEBfAGRAZ0BegGOAZkBeQGLAZUBdwGIAZOQAAGLAaABqAGgAeoB9gGmAe4B+QGfAesB+wGYAegB/gF6
+ AdoB/wFnAdQB/wFnAdQB/wFnAdQB/wFnAdQB/wFnAdQB/wFnAdQB/wF3AYgBk5kAAY4BogGrAacB7gH2
+ AasB8AH3AaYB7gH5AZ8B6wH7AZgB6AH9AXEB1AH7AYkBngGnAYYBmQGjAYIBlAGfAX4BkAGaAXoBjAGX
+ AXcBiAGTmQABjwGkAawBoAHSAdoBqwHwAfcBqwHwAfcBpgHuAfkBnwHrAfsBjQGhAaoB1QHcAeCoAAHa
+ Ad4B4QGPAaQBrAGPAaQBrAGPAaQBrAGPAaQBrAGPAaQBrAHVAdwB4P8A/wAtAAFCAU0BPgcAAT4DAAEo
+ AwABQAMAARADAAEBAQABAQUAAYAXAAP/AQAC/wYAAv8HAAEHBwABAwcAAQMHAAEBBwABAR8AAQcHAAEH
+ BwAB/wYAAQEB/wYAAv8GAAL/BgAL
+</value>
+ </data>
+ <metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>122, 17</value>
+ </metadata>
+</root>
\ No newline at end of file
diff --git a/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Loader.cs b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Loader.cs
new file mode 100644
index 0000000..1fa65f6
--- /dev/null
+++ b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Loader.cs
@@ -0,0 +1,17 @@
+using MiniSqlQuery.Core;
+
+namespace MiniSqlQuery.Exports.Plugin
+{
+ public class Loader : PluginLoaderBase
+ {
+ public Loader()
+ : base("Exports for MiniSqlQuery", "Enables exporting of data")
+ {
+ }
+
+ public override void InitializePlugIn()
+ {
+ Services.HostWindow.AddPluginCommand<Commands.ShowExportWindowCommand>();
+ }
+ }
+}
\ No newline at end of file
diff --git a/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/MiniSqlQuery.Exports.Plugin.csproj b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/MiniSqlQuery.Exports.Plugin.csproj
new file mode 100644
index 0000000..ba9fb74
--- /dev/null
+++ b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/MiniSqlQuery.Exports.Plugin.csproj
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>9.0.30729</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{BADDFE58-B855-4A88-A131-BE4066F080E8}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>MiniSqlQuery.Exports.Plugin</RootNamespace>
+ <AssemblyName>MiniSqlQuery.Exports.Plugin</AssemblyName>
+ <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <UpgradeBackupLocation />
+ <TargetFrameworkProfile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>..\..\Build\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release - No Tests|AnyCPU'">
+ <OutputPath>bin\Release - No Tests\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <Optimize>true</Optimize>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <LangVersion>7.3</LangVersion>
+ <ErrorReport>prompt</ErrorReport>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ </PropertyGroup>
+ <PropertyGroup>
+ <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Windows.Forms" />
+ <Reference Include="System.Xml.Linq">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Data.DataSetExtensions">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Commands\ShowExportWindowCommand.cs" />
+ <Compile Include="ExportWindow.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="ExportWindow.Designer.cs">
+ <DependentUpon>ExportWindow.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Export\CSVExport.cs" />
+ <Compile Include="Export\HtmlExport.cs" />
+ <Compile Include="Export\HtmlExportFormat.cs" />
+ <Compile Include="Loader.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="Properties\Resources.Designer.cs">
+ <AutoGen>True</AutoGen>
+ <DesignTime>True</DesignTime>
+ <DependentUpon>Resources.resx</DependentUpon>
+ </Compile>
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="ExportWindow.resx">
+ <DependentUpon>ExportWindow.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Properties\Resources.resx">
+ <Generator>ResXFileCodeGenerator</Generator>
+ <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+ </EmbeddedResource>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Resources\Folder_Open.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\MiniSqlQuery.Core\MiniSqlQuery.Core.csproj">
+ <Project>{B819CF6A-B5FD-4E85-842D-FD855F856A5A}</Project>
+ <Name>MiniSqlQuery.Core</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
\ No newline at end of file
diff --git a/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Properties/AssemblyInfo.cs b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..1424e3c
--- /dev/null
+++ b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Properties/AssemblyInfo.cs
@@ -0,0 +1,40 @@
+using System;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+
+[assembly: AssemblyTitle("MiniSqlQuery.Exports.Plugin")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Home")]
+[assembly: AssemblyProduct("MiniSqlQuery.Exports.Plugin")]
+[assembly: AssemblyCopyright("Copyright © Home 2008")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+
+[assembly: Guid("41c446b6-7194-40de-865b-6255393ad6ce")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
\ No newline at end of file
diff --git a/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Properties/Resources.Designer.cs b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..5b268f2
--- /dev/null
+++ b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Properties/Resources.Designer.cs
@@ -0,0 +1,73 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace MiniSqlQuery.Exports.Plugin.Properties {
+ using System;
+
+
+ /// <summary>
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ /// </summary>
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ /// <summary>
+ /// Returns the cached ResourceManager instance used by this class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MiniSqlQuery.Exports.Plugin.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ /// <summary>
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ /// </summary>
+ internal static System.Drawing.Bitmap Folder_Open {
+ get {
+ object obj = ResourceManager.GetObject("Folder_Open", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+ }
+}
diff --git a/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Properties/Resources.resx b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Properties/Resources.resx
new file mode 100644
index 0000000..345583e
--- /dev/null
+++ b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Properties/Resources.resx
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="Folder_Open" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\Folder_Open.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+</root>
\ No newline at end of file
diff --git a/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Resources/Folder_Open.png b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Resources/Folder_Open.png
new file mode 100644
index 0000000..5555c85
Binary files /dev/null and b/minisqlquery-master/src/Contrib/MiniSqlQuery.Exports.Plugin/Resources/Folder_Open.png differ