Пример #1
0
 void tobnovit_Click(object sender, RoutedEventArgs e)
 {
     ASC.Vymazat(tbpripona.Text);
     reset();
     vyplnit();
     seznampripon();
 }
Пример #2
0
        void tbzmenit_Click(object sender, RoutedEventArgs e)
        {
            string[] pripony = Rozdelit.Pripony(tbpripona.Text);

            if (tbpripona.Text == "" || tbprogram.Text == "")
            {
                MessageBox.Show("Nejdřív to vyplň!", "", 0, MessageBoxImage.Warning);
            }
            else
            {
                if (pripony.Length > 1)
                {
                    MessageBoxResult jn = MessageBox.Show(
                        "Změní se přípon: " + Rozdelit.Pripony(tbpripona.Text).Length + "\nPokračovat?",
                        "Upozornění",
                        MessageBoxButton.YesNo,
                        MessageBoxImage.Question);
                    if (jn == MessageBoxResult.No)
                    {
                        return;
                    }
                }

                int i = 0;
                foreach (string prip in pripony)
                {
                    string mpripona = prip.ToLower();
                    if (mpripona == "dll" || mpripona == "exe" || mpripona == "lnk")
                    {
                        MessageBox.Show("continue");
                    }

                    string typ = tbtyp.Text.Replace("§PR", prip.ToUpper()).Replace("§pr", prip.ToLower());

                    if (ASC.Uloz(prip,
                                 tbprogram.Text,
                                 tbparam.Text,
                                 tbikona.Text,
                                 tbindex.Text,
                                 typ)
                        )
                    {
                        i++;
                    }
                }

                if (pripony.Length > 1)
                {
                    MessageBox.Show(
                        "Úspěšně asociovaných přípon: " + i + "/" + pripony.Length, "",
                        0, MessageBoxImage.Information
                        );
                }

                reset();
                vyplnit();
                seznampripon();
            }
        }
Пример #3
0
        public void vyplnit()
        {
            reset();
            string[] pr       = Rozdelit.Pripony(tbpripona.Text);
            string   mpripona = pr[0].ToLower();

            var info = ASC.Nacti(mpripona);

            tbprogram.Text = info.program;
            tbparam.Text   = info.parametr;
            tbtyp.Text     = info.typ;
            tbikona.Text   = info.ikona;
            tbindex.Text   = info.poradi.ToString();

            //zakazane pripony pro asociaci
            bool p1 = info.misto == "UP";
            bool p2 = info.misto == "UO";
            bool p3 = mpripona != "lnk";
            bool p4 = mpripona != "exe";
            bool p5 = mpripona != "dll";
            bool p6 = mpripona != "";

            if ((p1 || p2) && p3 && p4 && p5 && p6)
            {
                tobnovit.IsEnabled = true;
            }
            else
            {
                tobnovit.IsEnabled = false;
            }

            if (p3 && p4 && p5 && p6)
            {
                tbzmenit.IsEnabled = true;
            }
            else
            {
                tbzmenit.IsEnabled = false;
            }

            nactiIkonu(info.program, info.ikona, info.poradi);
        }
Пример #4
0
        void tZmenaLV_Click(object sender, RoutedEventArgs e)
        {
            int i = 0;

            if (tZmenaLV.Content.ToString() == "Obnovit")
            {
                foreach (Polozky p in listView1.Items)
                {
                    if (p.lvzaskrknuto)
                    {
                        i++;
                    }
                }

                var polozka = (Polozky)listView1.SelectedItem;
                if (polozka != null && i == 0)
                {
                    i = 1;
                    MessageBoxResult jn1 = MessageBox.Show(
                        "Opravdu smazat tuto příponu?: " + polozka.lvpripona,
                        "Upozornění",
                        MessageBoxButton.YesNo,
                        MessageBoxImage.Warning);

                    if (jn1 == MessageBoxResult.Yes)
                    {
                        ASC.Vymazat(polozka.lvpripona);
                        seznampripon();
                    }
                    return;
                }

                MessageBoxResult jn2 = MessageBox.Show(
                    "Opravdu smazat tyto přípony (" + i + ")?",
                    "Upozornění",
                    MessageBoxButton.YesNo,
                    MessageBoxImage.Warning);

                if (jn2 == MessageBoxResult.No)
                {
                    return;
                }

                int y = 0;
                foreach (Polozky p in listView1.Items)
                {
                    if (p.lvzaskrknuto && ASC.Vymazat(p.lvpripona))
                    {
                        y++;
                    }
                }

                MessageBox.Show(
                    "Smazaných přípon: (" + y + "/" + i + ")",
                    "Upozornění",
                    MessageBoxButton.OK,
                    MessageBoxImage.Information);
            }
            else
            {
                foreach (Polozky p in listView1.Items)
                {
                    if (p.lvzaskrknuto)
                    {
                        string[] program = Rozdelit.Program(p.lvprogram);
                        string[] ikona   = Rozdelit.Ikona(p.lvikona);

                        if (ASC.Uloz(
                                p.lvpripona,
                                program[0],
                                program[1],
                                ikona[0],
                                ikona[1],
                                p.lvtyp
                                ))
                        {
                            i++;
                        }
                    }
                }
                MessageBox.Show("Přidaných přípon: " + i, "", 0, MessageBoxImage.Information);
            }
            seznampripon();
        }
Пример #5
0
        public void seznampripon()
        {
            listView1.Items.Clear();
            tobnovit.IsEnabled     = true;
            zatrhnout              = false;
            chb_listview.IsChecked = false;
            tZmenaLV.Content       = "Obnovit";

            Task ukol = new Task(() => {
                foreach (string klic in Registry.ClassesRoot.GetSubKeyNames())
                {
                    if (klic.Substring(0, 1) == ".")
                    {
                        string pripona = klic.Replace(".", "");
                        string cesta;
                        int index;

                        var info = ASC.Nacti(pripona);

                        if (SPP && info.typ == "" && info.program == "" && info.ikona == "")
                        {
                            continue;
                        }

                        if (ZUP)
                        {
                            if (!(info.nazev.Length >= 5 && info.nazev.Substring(0, ASC.nazevPr.Length) == ASC.nazevPr))
                            {
                                continue;
                            }
                        }

                        if (info.ikona == "")
                        {
                            cesta = info.program.Replace("\"", "");
                            index = 0;
                        }
                        else
                        {
                            cesta = info.ikona;
                            index = info.poradi;
                        }

                        string cesta_ikona = "";
                        ImageSource obraz;

                        if (info.ikona != "")
                        {
                            cesta_ikona = info.ikona + "," + info.poradi;
                            obraz       = Ikony.Otevrit(info.ikona, info.poradi, 0);
                        }
                        else
                        {
                            obraz = Ikony.Otevrit(info.program, 0, 0);
                        }

                        try { obraz.Freeze(); } catch { }

                        Dispatcher.BeginInvoke(DispatcherPriority.Background, (ThreadStart) delegate() {
                            listView1.Items.Add(
                                new Polozky {
                                lvzaskrknuto = zatrhnout,
                                lvobrazek    = obraz,
                                lvpripona    = pripona,
                                lvtyp        = info.typ,
                                lvprogram    = info.program + " " + info.parametr,
                                lvikona      = cesta_ikona
                            });
                        });
                    }
                }
            });

            ukol.Start();
        }