Lock Quick Settings while busy

This commit is contained in:
N00MKRAD
2021-02-28 13:46:50 +01:00
parent 7563778a90
commit 2cce6c596b
3 changed files with 23 additions and 6 deletions

View File

@@ -1024,6 +1024,7 @@
this.quickSettingsTab.Size = new System.Drawing.Size(901, 258);
this.quickSettingsTab.TabIndex = 1;
this.quickSettingsTab.Text = "Quick Settings";
this.quickSettingsTab.Enter += new System.EventHandler(this.LoadQuickSettings);
//
// linkLabel1
//

View File

@@ -454,9 +454,6 @@ namespace Flowframes
{
if (!initialized) return;
aiCombox_SelectedIndexChanged(null, null);
if (mainTabControl.SelectedTab.Text == "Quick Settings")
LoadQuickSettings();
}
private void trimCombox_SelectedIndexChanged(object sender, EventArgs e)
@@ -487,6 +484,9 @@ namespace Flowframes
{
if (!quickSettingsInitialized) return;
if (Program.busy)
LoadQuickSettings(); // Discard any changes if busy
ConfigParser.SaveGuiElement(maxVidHeight, ConfigParser.StringMode.Int);
ConfigParser.SaveComboxIndex(dedupMode);
ConfigParser.SaveComboxIndex(mpdecimateMode);
@@ -496,7 +496,7 @@ namespace Flowframes
ConfigParser.SaveGuiElement(scnDetectValue);
}
public void LoadQuickSettings ()
public void LoadQuickSettings (object sender = null, EventArgs e = null)
{
ConfigParser.LoadGuiElement(maxVidHeight);
ConfigParser.LoadComboxIndex(dedupMode);
@@ -519,9 +519,20 @@ namespace Flowframes
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
if (Program.busy) return;
new SettingsForm().ShowDialog();
}
#endregion
private void quickSettingsTab_Enter(object sender, EventArgs e)
{
Logger.Log("enter");
}
private void quickSettingsTab_Leave(object sender, EventArgs e)
{
Logger.Log("leave");
}
}
}

View File

@@ -161,12 +161,17 @@ namespace Flowframes.Main
if (!string.IsNullOrWhiteSpace(latestFramePath) && frames > currentFactor)
{
if (bigPreviewForm == null && !preview.Visible /* ||Program.mainForm.WindowState != FormWindowState.Minimized */ /* || !Program.mainForm.IsInFocus()*/) return; // Skip if the preview is not visible or the form is not in focus
if (timeSinceLastPreviewUpdate.ElapsedMilliseconds < previewUpdateRateMs) return;
Logger.Log($"timeSinceLastPreviewUpdate.IsRunning: {timeSinceLastPreviewUpdate.IsRunning} - timeSinceLastPreviewUpdate.ElapsedMilliseconds: {timeSinceLastPreviewUpdate.ElapsedMilliseconds}", true);
if (timeSinceLastPreviewUpdate.IsRunning && timeSinceLastPreviewUpdate.ElapsedMilliseconds < previewUpdateRateMs) return;
Logger.Log("Updating preview", true);
Image img = IOUtils.GetImage(latestFramePath);
SetPreviewImg(img);
}
}
catch { }
catch (Exception e)
{
Logger.Log("Error updating preview: " + e.Message, true);
}
}
public static async Task DeleteInterpolatedInputFrames()