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); }