Example #1
0
        public void SetPreferences()
        {
            int  i, num_rows;
            bool exists_iter;

            Gtk.TreeIter iter;
            Gtk.TreeView tv;

            m_CheckPreferences();

            InterfacePreferences preferences = new InterfacePreferences();

            exists_iter = stSharedFolders.GetIterFirst(out iter);
            num_rows    = 0;

            /* Get the number of rows */
            while (exists_iter == true)
            {
                exists_iter = stSharedFolders.IterNext(ref iter);
                num_rows++;
            }

            preferences.sharedFolders = new string[num_rows + 1];
            preferences.TempFolders   = new string[1];

            preferences.sharedFolders[0] = txtIncomingFolder.Text;

            /* Save the shared folders */
            stSharedFolders.GetIterFirst(out iter);

            for (i = 1; i <= num_rows; i++)
            {
                preferences.sharedFolders[i] = tvSharedFolders.Model.GetValue(iter, 0).ToString();
                stSharedFolders.IterNext(ref iter);
            }

            exists_iter = stTempFolders.GetIterFirst(out iter);
            num_rows    = 0;

            /* Get the number of rows */
            while (exists_iter == true)
            {
                exists_iter = stTempFolders.IterNext(ref iter);
                num_rows++;
            }

            preferences.TempFolders = new string[num_rows];

            /* Save the temp folders */
            stTempFolders.GetIterFirst(out iter);

            for (i = 0; i < num_rows; i++)
            {
                preferences.TempFolders[i] = tvTempFolders.Model.GetValue(iter, 0).ToString();
                stTempFolders.IterNext(ref iter);
            }

            preferences.maxConnexions     = Convert.ToInt32(txtMaxConnections.Text);
            preferences.maxDownloadRate   = (float)Convert.ToDouble(txtMaxDown.Text);
            preferences.maxSources        = Convert.ToInt32(txtMaxSources.Text);
            preferences.maxUploadRate     = (float)Convert.ToDouble(txtMaxUp.Text);
            preferences.UserName          = txtNick.Text;
            preferences.TCPPort           = Convert.ToUInt16(txtTcpPort.Text);
            preferences.UDPPort           = Convert.ToUInt16(txtUdpPort.Text);
            preferences.ICHEnabled        = chbEnableICH.Active;
            preferences.Autoreconect      = chbAutoConnect.Active;
            preferences.maxServerFails    = 2;
            preferences.DownloadServerMet = chbServerList.Active;
            preferences.ServerMetUri      = txtServerList.Text;

            preferences.RemoteControlEnabled  = false;
            preferences.RemoteControlPort     = Convert.ToInt32("4771");
            preferences.RemoteControlPassword = "******";

            preferences.Language    = "en-US";
            preferences.OSigEnabled = true;

            if (radioShareAll.Active)
            {
                preferences.AllowViewShared = Constants.AllowViewShared.All;
            }
            else if (radioShareFriends.Active)
            {
                preferences.AllowViewShared = Constants.AllowViewShared.Friends;
            }
            else if (radioShareNobody.Active)
            {
                preferences.AllowViewShared = Constants.AllowViewShared.Nobody;
            }

            preferences.IPFilterEnabled = chbIpFilter.Active;

            krnGateway.SetConfig(preferences);
        }