You can not select more than 25 topics
Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- 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
-
- }
- }
|