diff --git a/minisqlquery-master/src/MiniSqlQuery.Core/IApplicationSettings.cs b/minisqlquery-master/src/MiniSqlQuery.Core/IApplicationSettings.cs
new file mode 100644
index 0000000..a11ae12
--- /dev/null
+++ b/minisqlquery-master/src/MiniSqlQuery.Core/IApplicationSettings.cs
@@ -0,0 +1,149 @@
+#region License
+
+// Copyright 2005-2019 Paul Kohler (https://github.com/paulkohler/minisqlquery). All rights reserved.
+// This source code is made available under the terms of the GNU Lesser General Public License v3.0
+// https://github.com/paulkohler/minisqlquery/blob/master/LICENSE
+
+#endregion
+
+using System;
+using System.Collections.Specialized;
+using System.Data.Common;
+
+namespace MiniSqlQuery.Core
+{
+ /// <summary>
+ /// An interface for the application settings.
+ /// </summary>
+ public interface IApplicationSettings
+ {
+ /// <summary>
+ /// Fired when the list of connection definitions is modified.
+ /// </summary>
+ /// <seealso cref = "SetConnectionDefinitions" />
+ /// <seealso cref = "GetConnectionDefinitions" />
+ event EventHandler ConnectionDefinitionsChanged;
+
+ /// <summary>
+ /// Fired when the database connection (provider and/or connection string) are modified.
+ /// </summary>
+ /// <seealso cref = "ResetConnection" />
+ event EventHandler DatabaseConnectionReset;
+
+ /// <summary>
+ /// Gets an instance of <see cref = "DbConnection" /> depending on the value of <see cref = "ConnectionDefinition" />.
+ /// </summary>
+ /// <value>The connection.</value>
+ DbConnection Connection { get; }
+
+ /// <summary>
+ /// Gets or sets a reference to the current connection definiton class.
+ /// </summary>
+ /// <value>The connection definition.</value>
+ DbConnectionDefinition ConnectionDefinition { get; set; }
+
+ /// <summary>
+ /// Gets or sets the date time format for grid item results (e.g. "yyyy-MM-dd HH:mm:ss.fff").
+ /// </summary>
+ /// <value>The date time format.</value>
+ string DateTimeFormat { get; set; }
+
+ /// <summary>
+ /// Gets or sets the default connection definition filename. I blank the default is the users profile area.
+ /// </summary>
+ /// <value>The default connection definition filename.</value>
+ string DefaultConnectionDefinitionFilename { get; set; }
+
+ /// <summary>
+ /// Gets the default filter string for dialog boxes.
+ /// </summary>
+ /// <value>The default file filter.</value>
+ string DefaultFileFilter { get; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether to enable query batching using the "GO" keyword.
+ /// </summary>
+ /// <value><c>true</c> if query batching is enabled; otherwise, <c>false</c>.</value>
+ bool EnableQueryBatching { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating the command timeout.
+ /// </summary>
+ /// <value>The command timeout.</value>
+ int CommandTimeout { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether to include read-only columns in the export SQL.
+ /// </summary>
+ /// <value>
+ /// <c>true</c> if including read-only columns in the export; otherwise, <c>false</c>.
+ /// </value>
+ bool IncludeReadOnlyColumnsInExport { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether to load plugins or not.
+ /// </summary>
+ /// <value><c>true</c> if [load plugins]; otherwise, <c>false</c>. The default is <c>true</c>.</value>
+ bool LoadExternalPlugins { get; set; }
+
+ /// <summary>
+ /// Gets or sets the null text of a result (e.g. "<NULL>").
+ /// </summary>
+ /// <value>The null text.</value>
+ string NullText { get; set; }
+
+ /// <summary>
+ /// Gets or sets the plug in file filter for finding the external plugins (e.g. "*.plugin.dll").
+ /// </summary>
+ /// <value>The plug in file filter.</value>
+ string PlugInFileFilter { get; set; }
+
+ /// <summary>
+ /// Gets or sets the most recent files.
+ /// </summary>
+ /// <value>The most recent files.</value>
+ StringCollection MostRecentFiles { get; set; }
+
+ /// <summary>
+ /// Gets an instance of <see cref = "DbProviderFactory" /> depending on the value of <see cref = "ConnectionDefinition" />.
+ /// </summary>
+ /// <value>The provider factory.</value>
+ DbProviderFactory ProviderFactory { get; }
+
+ /// <summary>
+ /// Closes the current connection (if any).
+ /// </summary>
+ void CloseConnection();
+
+ /// <summary>
+ /// Gets the current connection definitions for this user.
+ /// </summary>
+ /// <returns>Connection definitions.</returns>
+ DbConnectionDefinitionList GetConnectionDefinitions();
+
+ /// <summary>
+ /// Helper method to get an open connection.
+ /// </summary>
+ /// <returns>A <see cref = "DbConnection" /> object.</returns>
+ DbConnection GetOpenConnection();
+
+ /// <summary>
+ /// Gets, and increments, the "untitled document counter" starting at 1 for the "session".
+ /// </summary>
+ /// <value>The untitled document value.</value>
+ /// <returns>The get untitled document counter.</returns>
+ int GetUntitledDocumentCounter();
+
+ /// <summary>
+ /// Resets the connection details firing the <see cref = "DatabaseConnectionReset" /> event.
+ /// </summary>
+ /// <seealso cref = "DatabaseConnectionReset" />
+ void ResetConnection();
+
+ /// <summary>
+ /// Resets the list of connection definitions that are stored in the user profile.
+ /// </summary>
+ /// <param name = "definitionList">The definition List.</param>
+ void SetConnectionDefinitions(DbConnectionDefinitionList definitionList);
+ }
+}
\ No newline at end of file