mirror of
https://github.com/bolucat/Archive.git
synced 2025-11-01 04:13:16 +08:00
Update On Tue Dec 31 19:31:58 CET 2024
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Shadowsocks.Model
|
||||
{
|
||||
[Serializable]
|
||||
public class LogViewerConfig
|
||||
{
|
||||
public bool topMost;
|
||||
public bool wrapText;
|
||||
public bool toolbarShown;
|
||||
|
||||
public Font Font { get; set; } = new Font("Consolas", 8F);
|
||||
|
||||
public Color BackgroundColor { get; set; } = Color.Black;
|
||||
|
||||
public Color TextColor { get; set; } = Color.White;
|
||||
|
||||
public LogViewerConfig()
|
||||
{
|
||||
topMost = false;
|
||||
wrapText = false;
|
||||
toolbarShown = false;
|
||||
}
|
||||
|
||||
|
||||
#region Size
|
||||
|
||||
public void SaveSize()
|
||||
{
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public int Width
|
||||
{
|
||||
get { return Properties.Settings.Default.LogViewerWidth; }
|
||||
set { Properties.Settings.Default.LogViewerWidth = value; }
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public int Height
|
||||
{
|
||||
get { return Properties.Settings.Default.LogViewerHeight; }
|
||||
set { Properties.Settings.Default.LogViewerHeight = value; }
|
||||
}
|
||||
[JsonIgnore]
|
||||
public int Top
|
||||
{
|
||||
get { return Properties.Settings.Default.LogViewerTop; }
|
||||
set { Properties.Settings.Default.LogViewerTop = value; }
|
||||
}
|
||||
[JsonIgnore]
|
||||
public int Left
|
||||
{
|
||||
get { return Properties.Settings.Default.LogViewerLeft; }
|
||||
set { Properties.Settings.Default.LogViewerLeft = value; }
|
||||
}
|
||||
[JsonIgnore]
|
||||
public bool Maximized
|
||||
{
|
||||
get { return Properties.Settings.Default.LogViewerMaximized; }
|
||||
set { Properties.Settings.Default.LogViewerMaximized = value; }
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
// Use GetBestTop() and GetBestLeft() to ensure the log viwer form can be always display IN screen.
|
||||
public int BestLeft
|
||||
{
|
||||
get
|
||||
{
|
||||
int width = Width;
|
||||
width = (width >= 400) ? width : 400; // set up the minimum size
|
||||
return Screen.PrimaryScreen.WorkingArea.Width - width;
|
||||
}
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public int BestTop
|
||||
{
|
||||
get
|
||||
{
|
||||
int height = Height;
|
||||
height = (height >= 200) ? height : 200; // set up the minimum size
|
||||
return Screen.PrimaryScreen.WorkingArea.Height - height;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user