|
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Text;
using System.Windows.Forms;
/*
* Copyright Jeff Gaines 2007 - 2011 (jeff@jgaines.co.uk)
* Free licence for private use
* Please contact the author if you wish to use the code commercially
*/
namespace JGCreateDataClasses
{
public partial class FormSettings : Form
{
internal bool SettingsSaved = false;
public FormSettings()
{
InitializeComponent();
}
private void FormSettings_Load(object sender, EventArgs e)
{
SetHelpString();
LoadSettings();
pickDBPath.InitialDirectory = JCommon.AppSettingsPath();
}
private void btnClose_Click(object sender, EventArgs e)
{
Close();
}
private void btnSave_Click(object sender, EventArgs e)
{
SaveSettings();
}
private void LoadSettings()
{
try
{
JCommon.ClassDataTypes dataType = (JCommon.ClassDataTypes)Properties.Settings.Default.ProjectDataType;
switch (dataType)
{
case JCommon.ClassDataTypes.ADONET:
rbAccess12.Checked = true;
break;
case JCommon.ClassDataTypes.SQLITE:
rbSQLite.Checked = true;
break;
}
pickDBPath.SelectedPath = Properties.Settings.Default.DatabasePath;
}
catch
{
}
}
private void rbAccess12_CheckedChanged(object sender, EventArgs e)
{
SetFileFilter();
}
private void rbSQLite_CheckedChanged(object sender, EventArgs e)
{
SetFileFilter();
}
private void SaveSettings()
{
if (!rbAccess12.Checked && !rbSQLite.Checked)
{
ShowMessage("Please select data type for saving projects", true);
return;
}
string dbPath = pickDBPath.SelectedPath;
if (string.IsNullOrEmpty(dbPath))
{
ShowMessage("Please Set Database Path", true);
SettingsSaved = false;
return;
}
FileInfo fInfo = new FileInfo(dbPath);
if (!fInfo.Exists)
{
ShowMessage("Cannot Find Database File", true);
SettingsSaved = false;
return;
}
JCommon.ClassDataTypes dataType = JCommon.ClassDataTypes.ADONET;
if (rbAccess12.Checked)
dataType = JCommon.ClassDataTypes.ADONET;
else if (rbSQLite.Checked)
dataType = JCommon.ClassDataTypes.SQLITE;
Properties.Settings.Default.ProjectDataType = (int)dataType;
Properties.Settings.Default.DatabasePath = dbPath;
Properties.Settings.Default.Save();
JCommon.ProjectDataType = (JCommon.ClassDataTypes)Properties.Settings.Default.ProjectDataType;
JCommon.DatabasePath = Properties.Settings.Default.DatabasePath;
SettingsSaved = true;
}
private void SetFileFilter()
{
string fileFilter = "";
if (rbAccess12.Checked)
{
fileFilter = "Access DB Files (*.accdb)|*.accdb";
}
else if (rbSQLite.Checked)
{
fileFilter = "SQLite DB Files (*.db3)|*.db3";
}
if(!string.IsNullOrEmpty(fileFilter))
pickDBPath.FileFilter = fileFilter;
}
private void SetHelpString()
{
string helpMes = Environment.NewLine;
helpMes += "These settings are for loading/saving Projects in the program" + Environment.NewLine;
helpMes += Environment.NewLine;
helpMes += "They do not affect the settings for your individual projects";
lblHelp.Text = helpMes;
}
private void ShowMessage(string mes, bool beep)
{
tslblMessage.Text = mes;
if (beep)
JCommon.MessageBeep(-1);
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I have been a keen hobbyist programmer since getting my first computer - a Vic 20 (you had to be able to write programs then since few programs were available and all were expensive).
Retired and now living in Pewsey, Wiltshire, where I spend (far too much of) my time writing computer programs to keep my mind active.