Skip to content

Commit a1724b2

Browse files
committed
Fix enum/ListView issue in #39
1 parent af1da81 commit a1724b2

File tree

4 files changed

+20
-8
lines changed

4 files changed

+20
-8
lines changed

SmartImage 3/Mode/Shell/Assets/UI.cs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,8 @@ public static TEnum GetEnum<TEnum>(this IListDataSource lv, TEnum t = default) w
111111

112112
return t2;
113113
}
114-
115-
internal static void OnEngineSelected(ListView lv, ref SearchEngineOptions e)
114+
115+
internal static void OnEngineSelected(ListView lv, ListViewItemEventArgs lvie, ref SearchEngineOptions e)
116116
{
117117
var l = lv.Source.ToList<SearchEngineOptions>().ToArray();
118118

@@ -132,9 +132,18 @@ internal static void OnEngineSelected(ListView lv, ref SearchEngineOptions e)
132132
}
133133

134134
ret:
135-
lv.FromEnum(e);
135+
Debug.WriteLine($"1 {e}");
136+
var v = ((SearchEngineOptions) lvie.Value);
137+
if (lv.Source.IsMarked(lvie.Item)) {
138+
e |= v;
139+
}
140+
else {
141+
e &= ~v;
142+
}
136143

137-
Debug.WriteLine($"{e}");
144+
Debug.WriteLine($"2 {e}");
145+
lv.FromEnum(e);
146+
Debug.WriteLine($"3 {e}");
138147
}
139148

140149
/*internal static void OnEngineSelected(ListViewItemEventArgs args, ref SearchEngineOptions e, ListView lv)

SmartImage 3/Mode/Shell/ShellMode.Dialog.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ void ReloadDialog()
145145
{
146146
SearchEngineOptions e = Config.SearchEngines;
147147
// UI.OnEngineSelected(args1, ref e, lvSearchEngines);
148-
UI.OnEngineSelected(lvSearchEngines, ref e);
148+
UI.OnEngineSelected(lvSearchEngines, args1, ref e);
149149
Debug.WriteLine($"Setting {e}");
150150
Config.SearchEngines = e;
151151
ReloadDialog();
@@ -155,15 +155,15 @@ void ReloadDialog()
155155
{
156156
SearchEngineOptions e = Config.PriorityEngines;
157157
// UI.OnEngineSelected(args1, ref e, lvPriorityEngines);
158-
UI.OnEngineSelected(lvPriorityEngines, ref e);
158+
UI.OnEngineSelected(lvPriorityEngines, args1, ref e);
159159
Debug.WriteLine($"Setting {e}");
160160
Config.PriorityEngines = e;
161161
ReloadDialog();
162162
};
163163

164164
// Debug.WriteLine($"{GetItems<SearchEngineOptions>(lvSearchEngines.Source).QuickJoin()}");
165-
// lvSearchEngines.FromEnum2(Config.SearchEngines);
166-
// lvPriorityEngines.FromEnum2(Config.PriorityEngines);
165+
lvSearchEngines.FromEnum(Config.SearchEngines);
166+
lvPriorityEngines.FromEnum(Config.PriorityEngines);
167167

168168
// var e=lvSearchEngines.Source.GetEnum2(default(SearchEngineOptions));
169169

SmartImage 3/Mode/Shell/ShellMode.Function.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ private async Task RunMain()
2727
await run;
2828

2929
sw.Stop();
30+
Lbl_Status.Text = $"{ResultCount} | {sw.Elapsed.TotalSeconds:F3} sec {UI.OK}";
31+
3032
Application.MainLoop.RemoveIdle(m_runIdleTok);
3133
}
3234

SmartImage 3/Mode/Shell/ShellMode.Handlers.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ private void Restart_Clicked(bool force = false)
7676
Btn_Restart.Enabled = false;
7777
Btn_Cancel.Enabled = false;
7878
Btn_Run.Enabled = true;
79+
Btn_Delete.Enabled = false;
7980

8081
m_token.Dispose();
8182
m_token = new();

0 commit comments

Comments
 (0)