Better windows positioning
This commit is contained in:
parent
201ecebda9
commit
8763d63a93
@ -126,8 +126,8 @@ namespace AppScaffolding
|
|||||||
if (!config.Exists(nameof(config.AutoScan)))
|
if (!config.Exists(nameof(config.AutoScan)))
|
||||||
config.AutoScan = true;
|
config.AutoScan = true;
|
||||||
|
|
||||||
if (!config.Exists(nameof(config.HiddenGridColumns)))
|
if (!config.Exists(nameof(config.GridColumnsVisibilities)))
|
||||||
config.HiddenGridColumns = new Dictionary<string, bool>();
|
config.GridColumnsVisibilities = new Dictionary<string, bool>();
|
||||||
|
|
||||||
if (!config.Exists(nameof(config.GridColumnsDisplayIndices)))
|
if (!config.Exists(nameof(config.GridColumnsDisplayIndices)))
|
||||||
config.GridColumnsDisplayIndices = new Dictionary<string, int>();
|
config.GridColumnsDisplayIndices = new Dictionary<string, int>();
|
||||||
|
|||||||
@ -181,10 +181,10 @@ namespace LibationFileManager
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Description("A Dictionary of GridView data property names and bool indicating its column's visibility in ProductsGrid")]
|
[Description("A Dictionary of GridView data property names and bool indicating its column's visibility in ProductsGrid")]
|
||||||
public Dictionary<string, bool> HiddenGridColumns
|
public Dictionary<string, bool> GridColumnsVisibilities
|
||||||
{
|
{
|
||||||
get => persistentDictionary.GetNonString<Dictionary<string, bool>>(nameof(HiddenGridColumns));
|
get => persistentDictionary.GetNonString<Dictionary<string, bool>>(nameof(GridColumnsVisibilities));
|
||||||
set => persistentDictionary.SetNonString(nameof(HiddenGridColumns), value);
|
set => persistentDictionary.SetNonString(nameof(GridColumnsVisibilities), value);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Description("A Dictionary of GridView data property names and int indicating its column's display index in ProductsGrid")]
|
[Description("A Dictionary of GridView data property names and int indicating its column's display index in ProductsGrid")]
|
||||||
|
|||||||
@ -58,6 +58,6 @@
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public System.Windows.Forms.TextBox textBox1;
|
private System.Windows.Forms.TextBox textBox1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -13,18 +13,17 @@ namespace LibationWinForms
|
|||||||
{
|
{
|
||||||
public partial class DescriptionDisplay : Form
|
public partial class DescriptionDisplay : Form
|
||||||
{
|
{
|
||||||
|
public Point SpawnLocation { get; init; }
|
||||||
|
public string DescriptionText { get => textBox1.Text; set => textBox1.Text = value; }
|
||||||
public DescriptionDisplay()
|
public DescriptionDisplay()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
textBox1.LostFocus += (_, _) => Close();
|
textBox1.LostFocus += (_, _) => Close();
|
||||||
this.Shown += DescriptionDisplay_Shown;
|
Shown += DescriptionDisplay_Shown;
|
||||||
|
|
||||||
var textHeight = TextRenderer.MeasureText("\n", textBox1.Font).Height;
|
var textHeight = TextRenderer.MeasureText("\n", textBox1.Font).Height;
|
||||||
}
|
}
|
||||||
|
|
||||||
[DllImport("user32.dll")]
|
|
||||||
static extern bool HideCaret(IntPtr hWnd);
|
|
||||||
|
|
||||||
private void DescriptionDisplay_Shown(object sender, EventArgs e)
|
private void DescriptionDisplay_Shown(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
textBox1.DeselectAll();
|
textBox1.DeselectAll();
|
||||||
@ -37,6 +36,12 @@ namespace LibationWinForms
|
|||||||
int lineCount = textBox1.GetLineFromCharIndex(int.MaxValue) + 2;
|
int lineCount = textBox1.GetLineFromCharIndex(int.MaxValue) + 2;
|
||||||
Height = Height - textBox1.Height + lineCount * TextRenderer.MeasureText(textBox1.Text, textBox1.Font).Height;
|
Height = Height - textBox1.Height + lineCount * TextRenderer.MeasureText(textBox1.Text, textBox1.Font).Height;
|
||||||
|
|
||||||
}
|
int screenHeight = Screen.PrimaryScreen.WorkingArea.Height;
|
||||||
|
|
||||||
|
Location = new Point(SpawnLocation.X + 10, Math.Min(SpawnLocation.Y, screenHeight - Height));
|
||||||
|
}
|
||||||
|
|
||||||
|
[DllImport("user32.dll")]
|
||||||
|
static extern bool HideCaret(IntPtr hWnd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -69,16 +69,17 @@ namespace LibationWinForms
|
|||||||
else if (propertyName == tagAndDetailsGVColumn.DataPropertyName)
|
else if (propertyName == tagAndDetailsGVColumn.DataPropertyName)
|
||||||
Details_Click(getGridEntry(e.RowIndex));
|
Details_Click(getGridEntry(e.RowIndex));
|
||||||
else if (propertyName == descriptionGVColumn.DataPropertyName)
|
else if (propertyName == descriptionGVColumn.DataPropertyName)
|
||||||
DescriptionClick(getGridEntry(e.RowIndex));
|
DescriptionClick(getGridEntry(e.RowIndex), _dataGridView.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex,false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DescriptionClick(GridEntry liveGridEntry)
|
private void DescriptionClick(GridEntry liveGridEntry, Rectangle cell)
|
||||||
{
|
{
|
||||||
var displayWindow = new DescriptionDisplay();
|
var displayWindow = new DescriptionDisplay
|
||||||
displayWindow.Text = $"{liveGridEntry.Title} description";
|
{
|
||||||
displayWindow.Load += (_, _) => displayWindow.RestoreSizeAndLocation(Configuration.Instance);
|
Text = $"{liveGridEntry.Title} description",
|
||||||
displayWindow.FormClosing += (_, _) => displayWindow.SaveSizeAndLocation(Configuration.Instance);
|
SpawnLocation = cell.Location + cell.Size,
|
||||||
displayWindow.textBox1.Text = liveGridEntry.LongDescription;
|
DescriptionText = liveGridEntry.LongDescription
|
||||||
|
};
|
||||||
displayWindow.Show(this);
|
displayWindow.Show(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -245,7 +246,7 @@ namespace LibationWinForms
|
|||||||
|
|
||||||
//Restore Grid Display Settings
|
//Restore Grid Display Settings
|
||||||
var config = Configuration.Instance;
|
var config = Configuration.Instance;
|
||||||
var hiddenGridColumns = config.HiddenGridColumns;
|
var gridColumnsVisibilities = config.GridColumnsVisibilities;
|
||||||
var displayIndices = config.GridColumnsDisplayIndices;
|
var displayIndices = config.GridColumnsDisplayIndices;
|
||||||
var gridColumnsWidths = config.GridColumnsWidths;
|
var gridColumnsWidths = config.GridColumnsWidths;
|
||||||
|
|
||||||
@ -254,7 +255,7 @@ namespace LibationWinForms
|
|||||||
foreach (DataGridViewColumn column in _dataGridView.Columns)
|
foreach (DataGridViewColumn column in _dataGridView.Columns)
|
||||||
{
|
{
|
||||||
var itemName = column.DataPropertyName;
|
var itemName = column.DataPropertyName;
|
||||||
var visible = !hiddenGridColumns.GetValueOrDefault(itemName, false);
|
var visible = gridColumnsVisibilities.GetValueOrDefault(itemName, true);
|
||||||
|
|
||||||
var menuItem = new ToolStripMenuItem()
|
var menuItem = new ToolStripMenuItem()
|
||||||
{
|
{
|
||||||
@ -316,9 +317,9 @@ namespace LibationWinForms
|
|||||||
|
|
||||||
var config = Configuration.Instance;
|
var config = Configuration.Instance;
|
||||||
|
|
||||||
var dictionary = config.HiddenGridColumns;
|
var dictionary = config.GridColumnsVisibilities;
|
||||||
dictionary[propertyName] = visible;
|
dictionary[propertyName] = column.Visible;
|
||||||
config.HiddenGridColumns = dictionary;
|
config.GridColumnsVisibilities = dictionary;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user