예제 #1
0
        void AddFile(string filename)
        {
            string type = Path.GetExtension(filename);

            result = Path.GetFileNameWithoutExtension(filename);
            mylist.Items.Add(filename);
            try
            {
                Icon largeIcon = IconExtractor.ExtractIconLarge(filename);
                lista_icons.Images.Add(largeIcon.ToBitmap());
                listitens.Items.Add(result, lista_icons.Images.Count - 1);
            }
            catch { listitens.Items.Add(result, 0); }
        }
예제 #2
0
        void LoadFile(string myFile)
        {
            //conditions save
            _ = ConfigGroups.Items.Add("<ITENS_G>");
            _ = ConfigAdmin.Items.Add("<ITENS_C>");
            _ = MyGroups.Items.Add("<GROUPS>");


            if (File.Exists(myFile))
            {
                bool     config_itens = false;
                bool     AD_Groups    = false;
                bool     groups       = false;
                bool     admins       = false;
                string[] lines        = System.IO.File.ReadAllLines(myFile);
                for (int i = 0; i < lines.Count(); ++i)
                {
                    if (string.Compare(lines[i], "<GROUPS>") == 0)
                    {
                        AD_Groups = true;
                        continue;
                    }
                    if (string.Compare(lines[i], "<ITENS_G>") == 0)
                    {
                        groups    = true;
                        AD_Groups = false;
                        continue;
                    }
                    if (string.Compare(lines[i], "<ITENS_C>") == 0)
                    {
                        AD_Groups = false;
                        groups    = false;
                        admins    = true;
                        continue;
                    }
                    if ((string.Compare(lines[i], string.Empty) == 0))
                    {
                        continue;
                    }

                    if (!groups && !admins && !AD_Groups && !config_itens)
                    {
                        mylist.Items.Add(lines[i]);
                        string type = Path.GetExtension(lines[i]);
                        result = Path.GetFileNameWithoutExtension(lines[i]);
                        try
                        {
                            Icon largeIcon = IconExtractor.ExtractIconLarge(lines[i]);
                            lista_icons.Images.Add(largeIcon.ToBitmap());
                            listitens.Items.Add(result, (lista_icons.Images.Count - 1));
                            cm_itens.Items.Add(result, lista_icons.Images[lista_icons.Images.Count - 1]);
                        }
                        catch
                        {
                            listitens.Items.Add(result, 0);
                            cm_itens.Items.Add(result, lista_icons.Images[0]);
                        }
                    }
                    else if (AD_Groups)
                    {
                        string header = lines[i];
                        if (string.Compare(header, "''") != 0)
                        {
                            // txt 230, 240, 250

                            ListViewGroup newgroups = new ListViewGroup
                            {
                                Header          = header,
                                HeaderAlignment = HorizontalAlignment.Center
                            };


                            MyGroups.Items.Add(header);
                            listitens.Groups.Add(newgroups);
                            (cms_viewer.Items[4] as ToolStripMenuItem).DropDownItems.Add(header);
                            removerGrupoToolStripMenuItem.DropDownItems.Add(header);
                        }
                    }
                    else if (groups)
                    {
                        ListViewAPI.SetGroupHeaderColor(listitens.Handle, 0xC00056);
                        try
                        {
                            string[] file_groups = new string[2];
                            ConfigGroups.Items.Add(lines[i]);
                            file_groups = lines[i].Split(':');
                            for (int x = 0; x < listitens.Groups.Count; ++x)
                            {
                                if (string.Compare(listitens.Groups[x].Header, file_groups[1]) == 0)
                                {
                                    listitens.Items[listitens.Items.IndexOf(listitens.FindItemWithText(file_groups[0]))].Group
                                        = listitens.Groups[x];
                                }
                            }
                        }catch
                        { }
                    }
                    else if (admins)
                    {
                        try
                        {
                            string[] file_admin = new string[2];
                            ConfigAdmin.Items.Add(lines[i]);
                            file_admin = lines[i].Split(':');
                            listitens.Items[listitens.Items.IndexOf(
                                                listitens.FindItemWithText(file_admin[0]))].ForeColor = Color.Green;
                            listitens.Items[listitens.Items.IndexOf(
                                                listitens.FindItemWithText(file_admin[0]))].Checked = true;
                        }
                        catch
                        { }
                    }
                }
            }
        }