Exemplo n.º 1
0
        protected override void OnStartup(StartupEventArgs e)
        {
            Environment.CurrentDirectory =
                new DirectoryInfo(Assembly.GetExecutingAssembly().Location).Parent.FullName;
            if (e.Args.Length != 0)
            {
                try
                {
                    TcpClient tcp = new TcpClient();
                    tcp.Connect("127.0.0.1", 65432);
                    NetworkStream ns  = tcp.GetStream();
                    Random        rnd = new Random();
                    StreamWriter  sw  = new StreamWriter(ns);
                    foreach (string str in e.Args)
                    {
                        JsonObject jo = new JsonObject();
                        jo.Add("id", rnd.Next());
                        jo.Add("method", "addtorrentbypath");
                        jo.Add("params", new JsonArray()
                        {
                            str
                        });
                        sw.WriteLine(jo.ToString());
                        sw.Flush();
                    }
                    tcp.Close();
                    Environment.Exit(0);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    to_add = e.Args;
                }
            }
            else
            {
                to_add = new string[0];
            }

            base.OnStartup(e);

            Settings = Settings.Load("./config.xml");

            CurrentLanguage = LanguageEngine.LoadDefault();

            LoadTheme(Settings.Theme);
        }
Exemplo n.º 2
0
        private void SaveSettings(object sender, RoutedEventArgs e)
        {
            local.TrayIconClickBehavior       = TrayIconBehaviors[tcb.SelectedIndex];
            local.TrayIconRightClickBehavior  = TrayIconBehaviors[trcb.SelectedIndex];
            local.TrayIconDoubleClickBehavior = TrayIconBehaviors[tdcb.SelectedIndex];
            local.MinimizeBehavior            = WindowBehaviors[mb.SelectedIndex];
            local.ExitBehavior   = WindowBehaviors[cb.SelectedIndex];
            local.EncryptionType = (EncryptionTypeEnum)enctype.SelectedIndex;

            MainWindow mw = (App.Current.MainWindow as MainWindow);

            local.Theme = (Theme)themeCombox.SelectedItem;

            if (this.langCombox.SelectedIndex > -1)
            {
                string new_choice = this.langCombox.SelectedValue.ToString();
                if (new_choice != local.DefaultLanguage)
                {
                    local.DefaultLanguage = new_choice;

                    if (App.CurrentLanguage != null)
                    {
                        App.CurrentLanguage.ReloadLang(local.DefaultLanguage);
                    }
                    else
                    {
                        App.CurrentLanguage = LanguageEngine.LoadDefault();
                    }
                }
            }

            if (local.CheckForUpdates)
            {
                mw.StartAutoUpdater();
            }
            else
            {
                mw.StopAutoUpdater();
            }

            if (local.EnableDHT)
            {
                mw.state.LibtorrentSession.StartDht();
            }
            else
            {
                mw.state.LibtorrentSession.StopDht();
            }

            if (local.EnableLSD)
            {
                mw.state.LibtorrentSession.StartLsd();
            }
            else
            {
                mw.state.LibtorrentSession.StopLsd();
            }

            if (local.EnableNAT_PMP)
            {
                mw.state.LibtorrentSession.StartNatPmp();
            }
            else
            {
                mw.state.LibtorrentSession.StopNatPmp();
            }

            if (local.Enable_UPNP)
            {
                mw.state.LibtorrentSession.StartUpnp();
            }
            else
            {
                mw.state.LibtorrentSession.StopUpnp();
            }

            App.Settings = (Settings)Utility.CloneObject(local);

            this.Close();
        }