-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathMainForm.MediaMode.cs
More file actions
65 lines (54 loc) · 2.18 KB
/
Copy pathMainForm.MediaMode.cs
File metadata and controls
65 lines (54 loc) · 2.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using System;
using System.Windows.Forms;
namespace CMDownloaderUI
{
internal sealed partial class MainForm
{
private enum MediaMode { All, Images, VideoAudio }
private MediaMode _mediaMode = MediaMode.All;
private int _nvAll, _vidAll, _nvImg, _vidImg, _nvVid, _vidVid; // [MODE.MEM.1]
private bool ShouldKeepKind(string kind)
{
if (_mediaMode == MediaMode.All) return true;
var k = kind?.ToUpperInvariant() ?? "";
bool isImg = k == "IMG";
bool isVid = k == "VID" || k == "VIDEO" || k == "AUDIO";
bool isZip = k == "ZIP";
return _mediaMode switch
{
MediaMode.Images => isImg, // ZIP excluded
MediaMode.VideoAudio => isVid, // ZIP excluded
_ => true
};
}
private void ApplyMediaModeLanes()
{
if (nudNV == null || nudVID == null) return;
switch (_mediaMode)
{
case MediaMode.Images:
nudNV.Value = Math.Min(nudNV.Maximum, Math.Max(nudNV.Minimum, _nvImg));
nudVID.Value = Math.Min(nudVID.Maximum, Math.Max(nudVID.Minimum, _vidImg));
break;
case MediaMode.VideoAudio:
nudNV.Value = Math.Min(nudNV.Maximum, Math.Max(nudNV.Minimum, _nvVid));
nudVID.Value = Math.Min(nudVID.Maximum, Math.Max(nudVID.Minimum, _vidVid));
break;
default: // All
nudNV.Value = Math.Min(nudNV.Maximum, Math.Max(nudNV.Minimum, _nvAll));
nudVID.Value = Math.Min(nudVID.Maximum, Math.Max(nudVID.Minimum, _vidAll));
break;
}
}
private void RememberModeLanes() // [MODE.MEM.2]
{
int nv = (int)nudNV.Value, vv = (int)nudVID.Value;
switch (_mediaMode)
{
case MediaMode.Images: _nvImg = nv; _vidImg = vv; break;
case MediaMode.VideoAudio: _nvVid = nv; _vidVid = vv; break;
default: _nvAll = nv; _vidAll = vv; break; // All
}
}
}
}