|
// -- FILE ------------------------------------------------------------------
// name : WindowsApplicationSettings.cs
// created : Jani Giannoudis - 2008.04.29
// language : c#
// environment: .NET 3.0
// --------------------------------------------------------------------------
using System;
using System.Windows;
namespace Itenso.Configuration
{
// ------------------------------------------------------------------------
public class WindowsApplicationSettings : ApplicationSettings
{
// ----------------------------------------------------------------------
public WindowsApplicationSettings( Application application ) :
this( application, application.GetType() )
{
} // WindowsApplicationSettings
// ----------------------------------------------------------------------
public WindowsApplicationSettings( Application application, Type type ) :
this( application, type.Name )
{
} // WindowsApplicationSettings
// ----------------------------------------------------------------------
public WindowsApplicationSettings( Application application, string settingsKey ) :
base( settingsKey )
{
if ( application == null )
{
throw new ArgumentNullException( "application" );
}
this.application = application;
application.Startup += ApplicationStartup;
application.Exit += ApplicationExit;
} // WindowsApplicationSettings
// ----------------------------------------------------------------------
public Application Application
{
get { return application; }
} // Application
// ----------------------------------------------------------------------
public bool SaveOnClose
{
get { return saveOnClose; }
set { saveOnClose = value; }
} // SaveOnClose
// ----------------------------------------------------------------------
private void ApplicationStartup( object sender, StartupEventArgs e )
{
Load();
} // ApplicationStartup
// ----------------------------------------------------------------------
private void ApplicationExit( object sender, ExitEventArgs e )
{
if ( saveOnClose == false )
{
return;
}
Save();
} // ApplicationExit
// ----------------------------------------------------------------------
// members
private readonly Application application;
private bool saveOnClose = true;
} // class WindowsApplicationSettings
} // namespace Itenso.Configuration
// -- EOF -------------------------------------------------------------------
|
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.
👨 Senior .NET Software Engineer
🚀 My Open Source Projects
-
Time Period Library 👉
GitHub
-
Payroll Engine 👉
GitHub
Feedback and contributions are welcome.