public void RefreshJobs()
        {
            lsvJobs.Items.Clear();
            int index = 0;

            foreach (string file in Directory.GetFiles(Core.JobsDirectory, "*.djb", SearchOption.AllDirectories))
            {
                var job = Job.LoadFromFile(file);
                var rec = new JobWithFile {
                    Job = job, File = IOTool.RelativePathTo(Core.JobsDirectory, file), FullFile = file
                };
                m_loadedJobs.Add(rec);
                var item = lsvJobs.Items.Add(rec.File);
                item.SubItems.Add(job.GetAllElementaryCommands().Count().ToString());
                item.SubItems.Add(job.GetAllReportConfigs().CreateDelimitedText(";"));
                item.Tag = rec;
                if (index == 0)
                {
                    item.Selected       = item.Focused = true;
                    lsvJobs.FocusedItem = item;
                }
                if (JobPlanner.Instance.Connection.JobFileScheduled(file))
                {
                    item.ImageIndex = m_imgCache.GetImageIndex(CoreIcons.clock);
                }
                index++;
            }
            FillCommands();
        }
        private void FillCommands()
        {
            lsvCommands.Items.Clear();
            m_filledJob = null;
            if (lsvJobs.FocusedItem == null)
            {
                return;
            }
            var rec = (JobWithFile)lsvJobs.FocusedItem.Tag;

            m_filledJob = rec;
            foreach (var cmd in rec.Job.GetAllElementaryCommands())
            {
                var item = lsvCommands.Items.Add(Texts.Get(cmd.TypeTitle));
                item.ImageIndex = m_imgCache.GetImageIndex(cmd.Image);
                item.SubItems.Add(cmd.ToString());
                item.Tag = cmd;
            }
        }