From ac7f1753d3f742e0af8dd5e142b4eac9d9d2fbba Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 28 Oct 2011 21:41:31 -0400
Subject: [PATCH] Preserve feed selections when not saving passwords
---
src/com/gitblit/client/GitblitManager.java | 21 +++++++++++++++++----
1 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/src/com/gitblit/client/GitblitManager.java b/src/com/gitblit/client/GitblitManager.java
index f16616a..8f396f3 100644
--- a/src/com/gitblit/client/GitblitManager.java
+++ b/src/com/gitblit/client/GitblitManager.java
@@ -31,6 +31,7 @@
import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
@@ -198,17 +199,22 @@
EditRegistrationDialog dialog = new EditRegistrationDialog(this, reg, true);
dialog.setLocationRelativeTo(GitblitManager.this);
dialog.setVisible(true);
- reg = dialog.getRegistration();
- if (reg == null) {
+ GitblitRegistration newReg = dialog.getRegistration();
+ if (newReg == null) {
// user canceled
return;
}
+ // preserve feeds
+ newReg.feeds = reg.feeds;
+
+ // use new reg
+ reg = newReg;
}
-
+
// login
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
final GitblitRegistration registration = reg;
- final GitblitPanel panel = new GitblitPanel(registration);
+ final GitblitPanel panel = new GitblitPanel(registration, this);
SwingWorker<Boolean, Void> worker = new SwingWorker<Boolean, Void>() {
@Override
@@ -303,6 +309,10 @@
password = new String(Base64.decode(pw)).toCharArray();
}
GitblitRegistration reg = new GitblitRegistration(server, url, account, password);
+ String[] feeds = config.getStringList("servers", server, "feeds");
+ if (feeds != null) {
+ reg.feeds = new ArrayList<String>(Arrays.asList(feeds));
+ }
reg.lastLogin = lastLogin;
registrations.put(reg.name, reg);
}
@@ -333,6 +343,9 @@
if (reg.lastLogin != null) {
config.setString("servers", reg.name, "lastLogin", dateFormat.format(reg.lastLogin));
}
+ if (reg.feeds != null) {
+ config.setStringList("servers", reg.name, "feeds", reg.feeds);
+ }
config.save();
return true;
} catch (Throwable t) {
--
Gitblit v1.9.1