Skip to content

Commit af34824

Browse files
committed
Action mod bugfixes
1 parent 2fd515c commit af34824

10 files changed

+274
-208
lines changed

AssistantComputerControl/ActionMods.cs

Lines changed: 121 additions & 70 deletions
Large diffs are not rendered by default.

AssistantComputerControl/Actions.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,18 @@ private void Error(string errorMsg, string debugMsg = null) {
112112
/*
113113
* Actions
114114
*/
115+
public void ModExecution(string actionName, string parameter = "") {
116+
Tuple<bool, string, bool> theReturn = ActionMods.ExecuteModAction(actionName, parameter);
117+
wasFatal = theReturn.Item3;
118+
119+
if (theReturn.Item1) {
120+
successMessage = theReturn.Item2;
121+
} else {
122+
Error(theReturn.Item2);
123+
}
124+
}
125+
126+
115127
public void Shutdown(string parameter) {
116128
string shutdownParameters = "/s /t 0";
117129
if (parameter != null) {
@@ -387,6 +399,7 @@ public void Music(string parameter) {
387399
break;
388400
}
389401
}
402+
390403
public void Open(string parameter) {
391404
string location = ActionChecker.GetSecondaryParam(parameter)[0], arguments = (ActionChecker.GetSecondaryParam(parameter).Length > 1 ? ActionChecker.GetSecondaryParam(parameter)[1] : null);
392405
string fileLocation = (!location.Contains(@":\") || !location.Contains(@":/")) ? "" : location;

AssistantComputerControl/MainProgram.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,6 @@ static void Main(string[] args) {
8282
void ActualMain() {
8383
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
8484

85-
ActionMods.CheckMods();
86-
8785
//Upgrade settings
8886
if (Properties.Settings.Default.UpdateSettings) {
8987
/* Copy old setting-files in case the Evidence type and Evidence Hash has changed (which it does sometimes) - easier than creating a whole new settings system */
@@ -340,6 +338,9 @@ void ActualMain() {
340338
}
341339
}
342340

341+
//Action mods implementation
342+
ActionMods.CheckMods();
343+
343344
SystemEvents.SessionSwitch += new SessionSwitchEventHandler(SystemEvents_SessionSwitch); //On wake up from sleep
344345
Application.Run();
345346
}

AssistantComputerControl/actionChecker.cs

Lines changed: 137 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,9 @@ class ActionChecker {
3030

3131

3232
private static bool RequireParameter(string param) {
33-
if(param != null) {
34-
if(param != "") {
35-
return true;
36-
}
37-
}
38-
return false;
33+
return !String.IsNullOrEmpty(param);
3934
}
35+
4036
public static bool FileInUse(string file) {
4137
if(File.Exists(file)) {
4238
try {
@@ -402,138 +398,143 @@ public static string[] GetSecondaryParam(string param) {
402398

403399
public static Actions ExecuteAction(string action, string line, string parameter) {
404400
Actions actionExecution = new Actions();
401+
string theAction = action.ToLower();
405402

406-
switch (action.ToLower()) {
407-
case "shutdown":
408-
//Shuts down the computer
409-
actionExecution.Shutdown(parameter);
410-
break;
411-
case "restart":
412-
//Restart the computer
413-
actionExecution.Restart(parameter);
414-
break;
415-
case "sleep":
416-
//Puts computer to sleep
417-
actionExecution.Sleep(parameter);
418-
break;
419-
case "hibernate":
420-
//Hibernates computer
421-
actionExecution.Hibernate(parameter);
422-
break;
423-
case "logout":
424-
//Logs out of the current user
425-
actionExecution.Logout(parameter);
426-
break;
427-
case "lock":
428-
//Lock computer
429-
actionExecution.Lock(parameter);
430-
break;
431-
case "mute":
432-
//Mutes windows
433-
//Parameter optional (true/false)
434-
actionExecution.Mute(parameter);
435-
break;
436-
case "set_volume":
437-
//Sets volume to a specific percent
438-
//Requires parameter (percent, int)
439-
if (RequireParameter(parameter)) {
440-
actionExecution.SetVolume(parameter);
441-
}
442-
break;
443-
case "music":
444-
if (RequireParameter(parameter)) {
445-
switch (parameter) {
446-
case "previous":
447-
case "previousx2":
448-
break;
449-
case "next":
450-
break;
451-
case "play_pause":
452-
break;
403+
if (ActionMods.ModActionExists(theAction)) {
404+
actionExecution.ModExecution(theAction, parameter);
405+
} else {
406+
switch (theAction) {
407+
case "shutdown":
408+
//Shuts down the computer
409+
actionExecution.Shutdown(parameter);
410+
break;
411+
case "restart":
412+
//Restart the computer
413+
actionExecution.Restart(parameter);
414+
break;
415+
case "sleep":
416+
//Puts computer to sleep
417+
actionExecution.Sleep(parameter);
418+
break;
419+
case "hibernate":
420+
//Hibernates computer
421+
actionExecution.Hibernate(parameter);
422+
break;
423+
case "logout":
424+
//Logs out of the current user
425+
actionExecution.Logout(parameter);
426+
break;
427+
case "lock":
428+
//Lock computer
429+
actionExecution.Lock(parameter);
430+
break;
431+
case "mute":
432+
//Mutes windows
433+
//Parameter optional (true/false)
434+
actionExecution.Mute(parameter);
435+
break;
436+
case "set_volume":
437+
//Sets volume to a specific percent
438+
//Requires parameter (percent, int)
439+
if (RequireParameter(parameter)) {
440+
actionExecution.SetVolume(parameter);
453441
}
454-
actionExecution.Music(parameter);
455-
}
456-
break;
457-
case "open":
458-
if (RequireParameter(parameter)) {
459-
actionExecution.Open(parameter);
460-
}
461-
break;
462-
case "open_all":
463-
if (RequireParameter(parameter)) {
464-
actionExecution.OpenAll(parameter);
465-
}
466-
break;
467-
case "die":
468-
//Exit ACC
469-
actionExecution.Die(parameter);
470-
break;
471-
case "monitors_off":
472-
actionExecution.MonitorsOff(parameter);
473-
break;
474-
case "key_shortcut":
475-
if (RequireParameter(parameter)) {
476-
actionExecution.KeyShortcut(parameter);
477-
}
478-
break;
479-
case "write_out":
480-
if (RequireParameter(parameter)) {
481-
actionExecution.WriteOut(parameter, line);
482-
}
483-
break;
484-
case "create_file":
485-
if (RequireParameter(parameter)) {
486-
actionExecution.CreateFile(parameter);
487-
}
488-
break;
489-
case "delete_file":
490-
if (RequireParameter(parameter)) {
491-
actionExecution.DeleteFile(parameter);
492-
}
493-
break;
494-
case "append_text":
495-
if (RequireParameter(parameter)) {
496-
actionExecution.AppendText(parameter);
497-
}
498-
break;
499-
case "message_box":
500-
if (RequireParameter(parameter)) {
501-
actionExecution.DoMessageBox(parameter);
502-
}
503-
break;
504-
case "move":
505-
if (RequireParameter(parameter)) {
506-
actionExecution.MoveSubject(parameter);
507-
}
508-
break;
509-
case "kill_process":
510-
if (RequireParameter(parameter)) {
511-
actionExecution.KillProcess(parameter);
512-
}
513-
break;
514-
case "minimize_all":
515-
actionExecution.MinimizeAll();
516-
break;
517-
case "maximize_all":
518-
actionExecution.MaximizeAll();
519-
break;
520-
case "move_mouse":
521-
if (RequireParameter(parameter)) {
522-
actionExecution.MoveMouse(parameter);
523-
}
524-
break;
525-
case "mouse_click":
526-
actionExecution.MouseClick(parameter);
527-
break;
528-
case "wait":
529-
if (RequireParameter(parameter)) {
530-
actionExecution.Wait(parameter);
531-
}
532-
break;
533-
default:
534-
//Unknown action
535-
actionExecution.errorMessage = "Unknown action \"" + action + "\"";
536-
break;
442+
break;
443+
case "music":
444+
if (RequireParameter(parameter)) {
445+
switch (parameter) {
446+
case "previous":
447+
case "previousx2":
448+
break;
449+
case "next":
450+
break;
451+
case "play_pause":
452+
break;
453+
}
454+
actionExecution.Music(parameter);
455+
}
456+
break;
457+
case "open":
458+
if (RequireParameter(parameter)) {
459+
actionExecution.Open(parameter);
460+
}
461+
break;
462+
case "open_all":
463+
if (RequireParameter(parameter)) {
464+
actionExecution.OpenAll(parameter);
465+
}
466+
break;
467+
case "die":
468+
//Exit ACC
469+
actionExecution.Die(parameter);
470+
break;
471+
case "monitors_off":
472+
actionExecution.MonitorsOff(parameter);
473+
break;
474+
case "key_shortcut":
475+
if (RequireParameter(parameter)) {
476+
actionExecution.KeyShortcut(parameter);
477+
}
478+
break;
479+
case "write_out":
480+
if (RequireParameter(parameter)) {
481+
actionExecution.WriteOut(parameter, line);
482+
}
483+
break;
484+
case "create_file":
485+
if (RequireParameter(parameter)) {
486+
actionExecution.CreateFile(parameter);
487+
}
488+
break;
489+
case "delete_file":
490+
if (RequireParameter(parameter)) {
491+
actionExecution.DeleteFile(parameter);
492+
}
493+
break;
494+
case "append_text":
495+
if (RequireParameter(parameter)) {
496+
actionExecution.AppendText(parameter);
497+
}
498+
break;
499+
case "message_box":
500+
if (RequireParameter(parameter)) {
501+
actionExecution.DoMessageBox(parameter);
502+
}
503+
break;
504+
case "move":
505+
if (RequireParameter(parameter)) {
506+
actionExecution.MoveSubject(parameter);
507+
}
508+
break;
509+
case "kill_process":
510+
if (RequireParameter(parameter)) {
511+
actionExecution.KillProcess(parameter);
512+
}
513+
break;
514+
case "minimize_all":
515+
actionExecution.MinimizeAll();
516+
break;
517+
case "maximize_all":
518+
actionExecution.MaximizeAll();
519+
break;
520+
case "move_mouse":
521+
if (RequireParameter(parameter)) {
522+
actionExecution.MoveMouse(parameter);
523+
}
524+
break;
525+
case "mouse_click":
526+
actionExecution.MouseClick(parameter);
527+
break;
528+
case "wait":
529+
if (RequireParameter(parameter)) {
530+
actionExecution.Wait(parameter);
531+
}
532+
break;
533+
default:
534+
//Unknown action
535+
actionExecution.errorMessage = "Unknown action \"" + action + "\"";
536+
break;
537+
}
537538
}
538539

539540
if (MainProgram.testingAction) {
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)