Ejemplo n.º 1
0
        private Tasker DownloadFile(string url, string fileName)
        {
            var tasker = new Tasker(parentForm);

            tasker.AttachViews(new Tasks.TaskerTaskbar(), new Tasks.TaskerForm());
            tasker.SetStatusImage(Resources.sign_sync);
            tasker.SetTitle(Resources.DownloadingEllipsis);
            tasker.AddTask(WebClientTasks.DownloadFile(url, fileName));
            return(tasker);
        }
Ejemplo n.º 2
0
        public static List <Hmod> GetMods(bool onlyInstalled = false, string[] installed = null, Form taskerParent = null)
        {
            var usermodsDirectory = UserModsDirectory;
            var installedMods     = installed ?? hakchi.GetPackList() ?? new string[] { };
            var modsList          = new List <string>();


            if (onlyInstalled)
            {
                modsList.AddRange(installedMods);
            }
            else
            {
                if (Directory.Exists(usermodsDirectory))
                {
                    foreach (var mod in Directory.GetDirectories(usermodsDirectory, "*.hmod", SearchOption.TopDirectoryOnly).Select(m => Path.GetFileNameWithoutExtension(m)).Where(m => BadCharsRegex.IsMatch(m)))
                    {
                        Directory.Move(Path.Combine(usermodsDirectory, $"{mod}.hmod"), Path.Combine(usermodsDirectory, $"{GetCleanName(mod)}.hmod"));
                    }

                    foreach (var mod in Directory.GetFiles(usermodsDirectory, "*.hmod", SearchOption.TopDirectoryOnly).Select(m => Path.GetFileNameWithoutExtension(m)).Where(m => BadCharsRegex.IsMatch(m)))
                    {
                        File.Move(Path.Combine(usermodsDirectory, $"{mod}.hmod"), Path.Combine(usermodsDirectory, $"{GetCleanName(mod)}.hmod"));
                    }

                    modsList.AddRange(from m
                                      in Directory.GetDirectories(usermodsDirectory, "*.hmod", SearchOption.TopDirectoryOnly)
                                      select Path.GetFileNameWithoutExtension(m));
                    modsList.AddRange(from m
                                      in Directory.GetFiles(usermodsDirectory, "*.hmod", SearchOption.TopDirectoryOnly)
                                      select Path.GetFileNameWithoutExtension(m));
                }
            }

            using (Tasker tasker = new Tasker(taskerParent))
            {
                tasker.AttachView(new Tasks.TaskerForm());
                var modObject = new ModTasks.ModObject();
                modObject.HmodsToLoad    = modsList;
                modObject.InstalledHmods = installedMods ?? new string[] { };
                tasker.SetTitle(Resources.LoadingHmods);
                tasker.SetStatusImage(Resources.sign_brick);
                tasker.SyncObject = modObject;
                tasker.AddTask(ModTasks.GetHmods);
                tasker.Start();
                return(modObject.LoadedHmods);
            }
        }
Ejemplo n.º 3
0
        private void AddIpListAsync(object lstIpsObject)
        {
            var    lstIps = (List <string>)lstIpsObject;
            Thread tNewIp;


            object[] paramsAddNewIp;

            foreach (string ipNR in lstIps)
            {
                paramsAddNewIp = new object[] { ipNR, "Netrange", Program.cfgCurrent.MaxRecursion };
                tNewIp         = new Thread(AddIpAsync);
                TaskFOCA taskFoca = new TaskFOCA(tNewIp, paramsAddNewIp, "Add new IP [" + ipNR + "]");
                tasker.AddTask(taskFoca);
            }
        }
Ejemplo n.º 4
0
        private Tasker DownloadFile(string url, string fileName)
        {
            if (File.Exists(fileName))
            {
                File.Delete(fileName);
            }

            if (Directory.Exists(fileName))
            {
                Directory.Delete(fileName, true);
            }

            var tasker = new Tasker(parentForm);

            tasker.AttachViews(new Tasks.TaskerTaskbar(), new Tasks.TaskerForm());
            tasker.SetStatusImage(Resources.sign_sync);
            tasker.SetTitle(Resources.DownloadingEllipsis);
            tasker.AddTask(WebClientTasks.DownloadFile(url, fileName));
            return(tasker);
        }
Ejemplo n.º 5
0
        public static List <Hmod> GetMods(bool onlyInstalled = false, Form taskerParent = null)
        {
            var usermodsDirectory = UserModsDirectory;
            var installedMods     = hakchi.GetPackList() ?? new string[] { };
            var modsList          = new List <string>();

            if (onlyInstalled)
            {
                modsList.AddRange(installedMods);
            }
            else
            {
                if (Directory.Exists(usermodsDirectory))
                {
                    modsList.AddRange(from m
                                      in Directory.GetDirectories(usermodsDirectory, "*.hmod", SearchOption.TopDirectoryOnly)
                                      select Path.GetFileNameWithoutExtension(m));
                    modsList.AddRange(from m
                                      in Directory.GetFiles(usermodsDirectory, "*.hmod", SearchOption.TopDirectoryOnly)
                                      select Path.GetFileNameWithoutExtension(m));
                }
            }

            using (Tasker tasker = new Tasker(taskerParent))
            {
                tasker.AttachView(new Tasks.TaskerForm());
                var modObject = new ModTasks.ModObject();
                modObject.HmodsToLoad    = modsList;
                modObject.InstalledHmods = installedMods ?? new string[] { };
                tasker.SetTitle(Resources.LoadingHmods);
                tasker.SetStatusImage(Resources.sign_brick);
                tasker.SyncObject = modObject;
                tasker.AddTask(ModTasks.GetHmods);
                tasker.Start();
                return(modObject.LoadedHmods);
            }
        }
Ejemplo n.º 6
0
        public SelectModsForm(bool loadInstalledMods, bool allowDropMods, string[] filesToAdd = null)
        {
            InitializeComponent();
            this.loadInstalledMods = loadInstalledMods;

            switch (ConfigIni.Instance.hmodListSort)
            {
            case HmodListSort.Category:
                categoryToolStripMenuItem.Checked = true;
                break;

            case HmodListSort.Creator:
                creatorToolStripMenuItem.Checked = true;
                break;
            }

            wbReadme.Document.BackColor = this.BackColor;
            usermodsDirectory           = Path.Combine(Program.BaseDirectoryExternal, "user_mods");
            var modsList = new List <string>();

            if (hakchi.Shell.IsOnline && (hakchi.MinimalMemboot || hakchi.CanInteract))
            {
                bool wasMounted = true;
                if (hakchi.MinimalMemboot)
                {
                    if (hakchi.Shell.Execute("hakchi eval 'mountpoint -q \"$mountpoint/var/lib\"'") != 0)
                    {
                        wasMounted = false;
                        hakchi.Shell.ExecuteSimple("hakchi mount_base");
                    }
                }
                installedMods = hakchi.Shell.ExecuteSimple("hakchi pack_list", 0, true).Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
                if (!wasMounted)
                {
                    hakchi.Shell.ExecuteSimple("hakchi umount_base");
                }
            }

            if (loadInstalledMods && hakchi.Shell.IsOnline)
            {
                foreach (var mod in installedMods)
                {
                    modsList.Add(mod);
                }
            }
            else
            {
                if (Directory.Exists(usermodsDirectory))
                {
                    modsList.AddRange(from m
                                      in Directory.GetDirectories(usermodsDirectory, "*.hmod", SearchOption.TopDirectoryOnly)
                                      select Path.GetFileNameWithoutExtension(m));
                    modsList.AddRange(from m
                                      in Directory.GetFiles(usermodsDirectory, "*.hmod", SearchOption.TopDirectoryOnly)
                                      select Path.GetFileNameWithoutExtension(m));
                }
            }

            using (Tasker tasker = new Tasker(this))
            {
                tasker.AttachView(new Tasks.TaskerForm());
                var modObject = new ModTasks.ModObject();
                modObject.HmodsToLoad    = modsList;
                modObject.InstalledHmods = installedMods;
                tasker.SetTitle(Resources.LoadingHmods);
                tasker.SetStatusImage(Resources.sign_brick);
                tasker.SyncObject = modObject;
                tasker.AddTask(ModTasks.GetHmods);
                tasker.Start();
                hmods = modObject.LoadedHmods;
            }

            populateList();

            if (filesToAdd != null)
            {
                AddMods(filesToAdd);
            }
            this.AllowDrop = allowDropMods;
        }