Skip to content

Commit

Permalink
Always update header, sticky state on shift click
Browse files Browse the repository at this point in the history
  • Loading branch information
HebaruSan committed Aug 21, 2022
1 parent d1aff7a commit 4b45bdd
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 9 deletions.
14 changes: 12 additions & 2 deletions GUI/Controls/ModInfo.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

32 changes: 25 additions & 7 deletions GUI/Controls/ModInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ public ModInfo()
InitializeComponent();
staticRowCount = MetaDataLowerLayoutPanel.RowCount;

ToolTip.SetToolTip(ReverseRelationshipsCheckbox, Properties.Resources.ModInfoToolTipReverseRelationships);

DependsGraphTree.BeforeExpand += BeforeExpand;
}

Expand All @@ -52,6 +54,7 @@ public GUIMod SelectedModule
{
ReverseRelationshipsCheckbox.CheckState = CheckState.Unchecked;
}
UpdateHeaderInfo(module);
LoadTab(ModInfoTabControl.SelectedTab.Name, value);
}
selectedModule = value;
Expand Down Expand Up @@ -165,22 +168,25 @@ private void LinkLabel_KeyDown(object sender, KeyEventArgs e)
}
}

private void UpdateModInfo(GUIMod gui_module)
private void UpdateHeaderInfo(CkanModule module)
{
CkanModule module = gui_module.ToModule();

Util.Invoke(MetadataModuleNameTextBox, () => MetadataModuleNameTextBox.Text = module.name);
UpdateTagsAndLabels(module);
Util.Invoke(MetadataModuleAbstractLabel, () => MetadataModuleAbstractLabel.Text = module.@abstract.Replace("&", "&&"));
Util.Invoke(MetadataModuleDescriptionTextBox, () =>
Util.Invoke(this, () =>
{
MetadataModuleNameTextBox.Text = module.name;
UpdateTagsAndLabels(module);
MetadataModuleAbstractLabel.Text = module.@abstract.Replace("&", "&&");
MetadataModuleDescriptionTextBox.Text = module.description
?.Replace("\r\n", "\n").Replace("\n", Environment.NewLine);
MetadataModuleDescriptionTextBox.ScrollBars =
string.IsNullOrWhiteSpace(module.description)
? ScrollBars.None
: ScrollBars.Vertical;
});
}

private void UpdateModInfo(GUIMod gui_module)
{
CkanModule module = gui_module.ToModule();

Util.Invoke(MetadataModuleVersionTextBox, () => MetadataModuleVersionTextBox.Text = gui_module.LatestVersion.ToString());
Util.Invoke(MetadataModuleLicenseTextBox, () => MetadataModuleLicenseTextBox.Text = string.Join(", ", module.license));
Expand Down Expand Up @@ -407,6 +413,18 @@ private bool ImMyOwnGrandpa(TreeNode node)
return false;
}

private void ReverseRelationshipsCheckbox_Click(object sender, EventArgs e)
{
ReverseRelationshipsCheckbox.CheckState =
ReverseRelationshipsCheckbox.CheckState == CheckState.Unchecked
// If user holds ctrl or shift, go to "sticky" indeterminate state,
// else normal checked
? (Control.ModifierKeys & (Keys.Control | Keys.Shift)) != 0
? CheckState.Indeterminate
: CheckState.Checked
: CheckState.Unchecked;
}

private void ReverseRelationshipsCheckbox_CheckedChanged(object sender, EventArgs e)
{
UpdateModDependencyGraph(null);
Expand Down
3 changes: 3 additions & 0 deletions GUI/Properties/Resources.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions GUI/Properties/Resources.resx
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,7 @@ If you suspect a bug in the client: https://github.com/KSP-CKAN/CKAN/issues/new/
<data name="ModInfoRemoteAvcLabel" xml:space="preserve"><value>Remote version file:</value></data>
<data name="ModInfoStoreLabel" xml:space="preserve"><value>Store:</value></data>
<data name="ModInfoSteamStoreLabel" xml:space="preserve"><value>Steam store:</value></data>
<data name="ModInfoToolTipReverseRelationships" xml:space="preserve"><value>Ctrl-click or Shift-click to make sticky</value></data>
<data name="DownloadFailed" xml:space="preserve"><value>Download failed!</value></data>
<data name="MainModListWaitTitle" xml:space="preserve"><value>Loading modules</value></data>
<data name="MainModListLoadingRegistry" xml:space="preserve"><value>Loading registry...</value></data>
Expand Down

0 comments on commit 4b45bdd

Please sign in to comment.