📄 preferences.cs
字号:
using System;
using Addot.Configuration;
using System.Collections.Specialized;
namespace Pex
{
/// <summary>
/// Preferences of the Pex software, implemented as a singleton.
/// </summary>
public class Preferences
{
#region --- Constants ---
public static readonly int SMALL = 36;
public static readonly int MEDIUM = 76;
public static readonly int LARGE = 180;
public enum ThumbnailsSize {Small, Medium, Large};
public enum DisplayMode {RealSize, FitToScreen};
#endregion
#region --- Fields ---
public static readonly Preferences Singleton = new Preferences();
private DisplayMode defaultDisplay;
private string defaultFolder;
private bool drawRectangle;
private bool hasChanged;
private int[] sizes;
private bool strechSmallImages;
private ThumbnailsSize thumbSizeIndex;
#endregion
#region --- Properties ---
public DisplayMode DefaultDisplay
{
get
{
return defaultDisplay;
}
set
{
if( !hasChanged )
{
hasChanged = ( value != defaultDisplay );
}
defaultDisplay = value;
}
}
public string DefaultFolder
{
get
{
return defaultFolder;
}
set
{
if( !hasChanged )
{
hasChanged = ( !defaultFolder.Equals(value) );
}
defaultFolder = value;
}
}
public bool DrawRectangle
{
get
{
return drawRectangle;
}
set
{
if( !hasChanged )
{
hasChanged = ( value != drawRectangle );
}
drawRectangle = value;
}
}
public bool HasChanged
{
get
{
return hasChanged;
}
}
public bool StrechSmallToThumbnails
{
get
{
return strechSmallImages;
}
set
{
if( !hasChanged )
{
hasChanged = ( value != strechSmallImages );
}
strechSmallImages = value;
}
}
public int ThumbSize
{
get
{
if ( sizes == null )
{
sizes = new int[3];
sizes[0] = SMALL;
sizes[1] = MEDIUM;
sizes[2] = LARGE;
}
return sizes[(int)thumbSizeIndex];
}
}
public ThumbnailsSize ThumbSizeIndex
{
get
{
return thumbSizeIndex;
}
set
{
if( !hasChanged )
{
hasChanged = ( value != thumbSizeIndex );
}
thumbSizeIndex = value;
}
}
#endregion
protected Preferences()
{
defaultDisplay = DisplayMode.FitToScreen;
defaultFolder = @"\images";
drawRectangle = true;
hasChanged = false;
strechSmallImages = false;
thumbSizeIndex = ThumbnailsSize.Medium;
}
public void Load()
{
defaultDisplay = (DisplayMode)Int16.Parse(ConfigurationSettings.AppSettings.Get("DefaultDisplay"));
defaultFolder = ConfigurationSettings.AppSettings.Get("DefaultFolder");
drawRectangle = (bool)Boolean.Parse(ConfigurationSettings.AppSettings.Get("DrawRectangle"));
strechSmallImages = (bool)Boolean.Parse(ConfigurationSettings.AppSettings.Get("StretchSmallToThumbnails"));
string ele = ConfigurationSettings.AppSettings.Get("ThumbSizeIndex");
thumbSizeIndex = (ThumbnailsSize)Int16.Parse(ele);
}
public void Save()
{
ConfigurationSettings.AppSettings.Set("DefaultDisplay", ((int)defaultDisplay).ToString());
ConfigurationSettings.AppSettings.Set("DefaultFolder", defaultFolder);
ConfigurationSettings.AppSettings.Set("DrawRectangle", drawRectangle.ToString());
ConfigurationSettings.AppSettings.Set("StretchSmallToThumbnails", strechSmallImages.ToString());
ConfigurationSettings.AppSettings.Set("ThumbSizeIndex", ((int)thumbSizeIndex).ToString());
ConfigurationSettings.Save();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -