Exemplo n.º 1
0
        public List <ActiveApp> Read(string path)
        {
            var apps      = new List <ActiveApp>();
            var processes = new List <Process>();

            var lines = File.ReadAllLines(path);

            foreach (var line in lines)
            {
                var parsedLine = Parse(line);

                var process = processes.FirstOrDefault(o => o.Name == parsedLine.ProcessName);
                if (process == null)
                {
                    process = new Process
                    {
                        Name = parsedLine.ProcessName
                    };
                    processes.Add(process);
                }

                var activeApp = new ActiveApp
                {
                    DateTime    = parsedLine.DateTime,
                    Process     = process,
                    WindowTitle = parsedLine.WindowTitle,
                    IsIdle      = parsedLine.IsIdle
                };
                apps.Add(activeApp);
            }

            SetColors(processes);
            return(apps);
        }
 private void OpenApplication(IAppIdentifier appIdentifier)
 {
     if (ActiveApp != null)
     {
         ActiveApp.Dispose();
     }
     try
     {
         ActiveApp = CurrentLocation.App(appIdentifier, noVersionCheck: true);
         Session.WithApp(appIdentifier, SessionType.Random);
         Notify("Open app: " + appIdentifier.AppName);
         SetModeToOpen();
     }
     catch (MethodInvocationException ex)
     {
         Notify("Could not open " + appIdentifier.AppName + ", error " + ex.Message);
     }
 }
        private void unhideSciptToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var prop         = ActiveApp.GetAppProperties().As <NxAppProperties>();
            var hiddenscript = prop.Get <string>("HiddenScript");
            var script       = ActiveApp.GetScript();

            if (script == string.Empty && hiddenscript != string.Empty)
            {
                ActiveApp.SetScript(hiddenscript);
                prop.Set("HiddenScript", string.Empty);
                ActiveApp.SetAppProperties(prop);
                Notify("Script is visible. App need to be saved!");
            }
            else
            {
                Notify("Script is not empty and there is no hidden script!");
            }
        }
        private void hideScriptToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var script = ActiveApp.GetScript();

            if (script != string.Empty)
            {
                NxAppProperties prop = ActiveApp.GetAppProperties().As <NxAppProperties>();

                /**We use Set method from AbstractStructure. For more info about abstractstructure class see
                 * https://help.qlik.com/sense/2.0/en-US/apis/net%20sdk/html/T_Qlik_Engine_AbstractStructure.htm
                 * */

                prop.Set("HiddenScript", script);

                ActiveApp.SetAppProperties(prop);
                ActiveApp.SetScript(string.Empty);
                Notify("Hide script. App need to be saved!");
            }
            else
            {
                Notify("Empty script or script is already hidden!");
            }
        }
        private void reloadToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                NxAppProperties prop = ActiveApp.GetAppProperties().As <NxAppProperties>();
                ActiveApp.SetScript(prop.Get <string>("HiddenScript"));

                if (ActiveApp.GetScript().Length > 1)
                {
                    ActiveApp.DoReload();
                    ActiveApp.SetScript(string.Empty);
                    Notify("Reloaded hidden script. App need to be saved!");
                }
                else
                {
                    Notify("Empty script, did not reload!");
                }
            }

            catch (MethodInvocationException ex)
            {
                Notify("There is no hidden script the can be reloaded! " + ex.Message);
            }
        }
 private void saveToolStripMenuItem_Click(object sender, EventArgs e)
 {
     ActiveApp.DoSave();
     Notify("App saved.");
 }