using System;
using System.Collections;
using System.Windows.Forms;
using System.IO;
namespace YariSoft.DBCommander.Misc{
[Serializable]
public class OptionsInfo
{
#region Local variables
private const int selectionCount = 10;
private bool _showFuncBar = true;
private bool _showToolBar = true;
private string _previousConfigFileName = "";
private ArrayList
_selections = null;
private TableOptionsInfo
_tableOptions = null;
private YariSoft.Utils.AgentInfo
_agentOptions = null;
[NonSerialized()]private string _fileName = "";
#endregion
#region Properties
public bool ShowFuncBar
{
get{ return _showFuncBar; }
set{ this._showFuncBar = value; }
}
public bool ShowToolBar
{
get{ return this._showToolBar; }
set{ this._showToolBar = value; }
}
public TableOptionsInfo TableOptions
{
get{ return this._tableOptions; }
set{ this._tableOptions = value; }
}
public YariSoft.Utils.AgentInfo AgentOptions
{
get{ return this._agentOptions; }
set{ this._agentOptions = value; }
}
public string PreviousConfigFileName
{
get{ return this._previousConfigFileName; }
set{ this._previousConfigFileName = value; }
}
public string FileName
{
get{ return this._fileName; }
set{ this._fileName = value; }
}
public ArrayList Selections
{
get{ return this._selections; }
}
#endregion
#region Constructor/Destructor
public OptionsInfo( string FileName )
{
this._fileName = FileName;
this._selections = new ArrayList();
this.TableOptions = new TableOptionsInfo();
this.AgentOptions = new YariSoft.Utils.AgentInfo();
}
#endregion
#region Public functions
public bool SaveToFile()
{
while( this._selections.Count > selectionCount ){
this._selections.RemoveAt( this._selections.Count - 1);
}
return YariSoft.Utils.ConfigFile.SaveToFile( ref this._fileName, this, false );
}
public static OptionsInfo LoadFromFile( string FileName )
{
OptionsInfo result = ( OptionsInfo )YariSoft.Utils.ConfigFile.LoadFromFile( ref FileName, false );
if( result == null ){
result = new OptionsInfo( FileName );
} else {
result.FileName = FileName;
}
if( result.AgentOptions.ConfigFileName == "" ){
string optFileName = Application.StartupPath + "\\DBCommander.amv";
FileInfo fileInfo = new FileInfo( optFileName );
if( fileInfo.Exists ){
result.AgentOptions.ConfigFileName = optFileName;
}
}
return result;
}
#endregion
}
}
|