From 8427e93f25fb79bc39dbd31ce13fab637e7cfdff Mon Sep 17 00:00:00 2001
From: Jeroen Baten <jeroen@jeroenbaten.nl>
Date: Fri, 04 Jan 2013 11:34:24 -0500
Subject: [PATCH] Completed Dutch translation
---
src/com/gitblit/client/RepositoriesPanel.java | 130 +++++++++++++++++++++++++++++++++++++++---
1 files changed, 119 insertions(+), 11 deletions(-)
diff --git a/src/com/gitblit/client/RepositoriesPanel.java b/src/com/gitblit/client/RepositoriesPanel.java
index 20b9080..769d33b 100644
--- a/src/com/gitblit/client/RepositoriesPanel.java
+++ b/src/com/gitblit/client/RepositoriesPanel.java
@@ -27,7 +27,9 @@
import java.awt.event.MouseEvent;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
+import java.util.Map;
import javax.swing.JButton;
import javax.swing.JLabel;
@@ -44,7 +46,10 @@
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableRowSorter;
+import com.gitblit.Constants;
import com.gitblit.Constants.RpcRequest;
+import com.gitblit.Keys;
+import com.gitblit.models.RegistrantAccessPermission;
import com.gitblit.models.FeedModel;
import com.gitblit.models.RepositoryModel;
import com.gitblit.utils.StringUtils;
@@ -78,6 +83,8 @@
private JTextField filterTextfield;
+ private JButton clearCache;
+
public RepositoriesPanel(GitblitClient gitblit) {
super();
this.gitblit = gitblit;
@@ -99,6 +106,13 @@
refreshRepositories.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
refreshRepositories();
+ }
+ });
+
+ clearCache = new JButton(Translation.get("gb.clearCache"));
+ clearCache.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ clearCache();
}
});
@@ -134,6 +148,24 @@
}
});
+ final JButton logRepository = new JButton(Translation.get("gb.log") + "...");
+ logRepository.setEnabled(false);
+ logRepository.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ RepositoryModel model = getSelectedRepositories().get(0);
+ showSearchDialog(false, model);
+ }
+ });
+
+ final JButton searchRepository = new JButton(Translation.get("gb.search") + "...");
+ searchRepository.setEnabled(false);
+ searchRepository.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ RepositoryModel model = getSelectedRepositories().get(0);
+ showSearchDialog(true, model);
+ }
+ });
+
SubscribedRepositoryRenderer nameRenderer = new SubscribedRepositoryRenderer(gitblit);
IndicatorsRenderer typeRenderer = new IndicatorsRenderer();
@@ -148,7 +180,6 @@
tableModel = new RepositoriesTableModel();
defaultSorter = new TableRowSorter<RepositoriesTableModel>(tableModel);
table = Utils.newTable(tableModel, Utils.DATE_FORMAT);
- table.setRowHeight(nameRenderer.getFont().getSize() + 8);
table.setRowSorter(defaultSorter);
table.getRowSorter().toggleSortOrder(RepositoriesTableModel.Columns.Name.ordinal());
@@ -165,9 +196,19 @@
}
boolean singleSelection = table.getSelectedRowCount() == 1;
boolean selected = table.getSelectedRow() > -1;
- browseRepository.setEnabled(singleSelection);
+ if (singleSelection) {
+ RepositoryModel repository = getSelectedRepositories().get(0);
+ browseRepository.setEnabled(repository.hasCommits);
+ logRepository.setEnabled(repository.hasCommits);
+ searchRepository.setEnabled(repository.hasCommits);
+ subscribeRepository.setEnabled(repository.hasCommits);
+ } else {
+ browseRepository.setEnabled(false);
+ logRepository.setEnabled(false);
+ searchRepository.setEnabled(false);
+ subscribeRepository.setEnabled(false);
+ }
delRepository.setEnabled(selected);
- subscribeRepository.setEnabled(singleSelection);
if (selected) {
int viewRow = table.getSelectedRow();
int modelRow = table.convertRowIndexToModel(viewRow);
@@ -210,15 +251,18 @@
repositoryTablePanel.add(new JScrollPane(table), BorderLayout.CENTER);
JPanel repositoryControls = new JPanel(new FlowLayout(FlowLayout.CENTER, Utils.MARGIN, 0));
+ repositoryControls.add(clearCache);
repositoryControls.add(refreshRepositories);
repositoryControls.add(browseRepository);
repositoryControls.add(createRepository);
repositoryControls.add(editRepository);
repositoryControls.add(delRepository);
repositoryControls.add(subscribeRepository);
+ repositoryControls.add(logRepository);
+ repositoryControls.add(searchRepository);
setLayout(new BorderLayout(Utils.MARGIN, Utils.MARGIN));
- header = new HeaderPanel(Translation.get("gb.repositories"), "gitweb-favicon.png");
+ header = new HeaderPanel(Translation.get("gb.repositories"), "git-orange-16x16.png");
add(header, BorderLayout.NORTH);
add(repositoryTablePanel, BorderLayout.CENTER);
add(repositoryControls, BorderLayout.SOUTH);
@@ -248,7 +292,10 @@
protected abstract void updateUsersTable();
+ protected abstract void updateTeamsTable();
+
protected void disableManagement() {
+ clearCache.setVisible(false);
createRepository.setVisible(false);
editRepository.setVisible(false);
delRepository.setVisible(false);
@@ -312,6 +359,26 @@
};
worker.execute();
}
+
+ protected void clearCache() {
+ GitblitWorker worker = new GitblitWorker(RepositoriesPanel.this,
+ RpcRequest.CLEAR_REPOSITORY_CACHE) {
+ @Override
+ protected Boolean doRequest() throws IOException {
+ if (gitblit.clearRepositoryCache()) {
+ gitblit.refreshRepositories();
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ protected void onSuccess() {
+ updateTable(false);
+ }
+ };
+ worker.execute();
+ }
/**
* Displays the create repository dialog and fires a SwingWorker to update
@@ -319,14 +386,23 @@
*
*/
protected void createRepository() {
- EditRepositoryDialog dialog = new EditRepositoryDialog();
+ EditRepositoryDialog dialog = new EditRepositoryDialog(gitblit.getProtocolVersion());
dialog.setLocationRelativeTo(RepositoriesPanel.this);
+ dialog.setAccessRestriction(gitblit.getDefaultAccessRestriction());
+ dialog.setAuthorizationControl(gitblit.getDefaultAuthorizationControl());
dialog.setUsers(null, gitblit.getUsernames(), null);
+ dialog.setTeams(gitblit.getTeamnames(), null);
dialog.setRepositories(gitblit.getRepositories());
dialog.setFederationSets(gitblit.getFederationSets(), null);
+ dialog.setIndexedBranches(new ArrayList<String>(Arrays.asList(Constants.DEFAULT_BRANCH)), null);
+ dialog.setPreReceiveScripts(gitblit.getPreReceiveScriptsUnused(null),
+ gitblit.getPreReceiveScriptsInherited(null), null);
+ dialog.setPostReceiveScripts(gitblit.getPostReceiveScriptsUnused(null),
+ gitblit.getPostReceiveScriptsInherited(null), null);
dialog.setVisible(true);
final RepositoryModel newRepository = dialog.getRepository();
- final List<String> permittedUsers = dialog.getPermittedUsers();
+ final List<RegistrantAccessPermission> permittedUsers = dialog.getUserAccessPermissions();
+ final List<RegistrantAccessPermission> permittedTeams = dialog.getTeamAccessPermissions();
if (newRepository == null) {
return;
}
@@ -335,11 +411,15 @@
@Override
protected Boolean doRequest() throws IOException {
- boolean success = gitblit.createRepository(newRepository, permittedUsers);
+ boolean success = gitblit.createRepository(newRepository, permittedUsers,
+ permittedTeams);
if (success) {
gitblit.refreshRepositories();
if (permittedUsers.size() > 0) {
gitblit.refreshUsers();
+ }
+ if (permittedTeams.size() > 0) {
+ gitblit.refreshTeams();
}
}
return success;
@@ -349,6 +429,7 @@
protected void onSuccess() {
updateTable(false);
updateUsersTable();
+ updateTeamsTable();
}
@Override
@@ -367,16 +448,31 @@
* @param repository
*/
protected void editRepository(final RepositoryModel repository) {
- EditRepositoryDialog dialog = new EditRepositoryDialog(repository);
+ EditRepositoryDialog dialog = new EditRepositoryDialog(gitblit.getProtocolVersion(),
+ repository);
dialog.setLocationRelativeTo(RepositoriesPanel.this);
List<String> usernames = gitblit.getUsernames();
- List<String> members = gitblit.getPermittedUsernames(repository);
+ List<RegistrantAccessPermission> members = gitblit.getUserAccessPermissions(repository);
dialog.setUsers(repository.owner, usernames, members);
+ dialog.setTeams(gitblit.getTeamnames(), gitblit.getTeamAccessPermissions(repository));
dialog.setRepositories(gitblit.getRepositories());
dialog.setFederationSets(gitblit.getFederationSets(), repository.federationSets);
+ List<String> allLocalBranches = new ArrayList<String>();
+ allLocalBranches.add(Constants.DEFAULT_BRANCH);
+ allLocalBranches.addAll(repository.getLocalBranches());
+ dialog.setIndexedBranches(allLocalBranches, repository.indexedBranches);
+ dialog.setPreReceiveScripts(gitblit.getPreReceiveScriptsUnused(repository),
+ gitblit.getPreReceiveScriptsInherited(repository), repository.preReceiveScripts);
+ dialog.setPostReceiveScripts(gitblit.getPostReceiveScriptsUnused(repository),
+ gitblit.getPostReceiveScriptsInherited(repository), repository.postReceiveScripts);
+ if (gitblit.getSettings().hasKey(Keys.groovy.customFields)) {
+ Map<String, String> map = gitblit.getSettings().get(Keys.groovy.customFields).getMap();
+ dialog.setCustomFields(repository, map);
+ }
dialog.setVisible(true);
final RepositoryModel revisedRepository = dialog.getRepository();
- final List<String> permittedUsers = dialog.getPermittedUsers();
+ final List<RegistrantAccessPermission> permittedUsers = dialog.getUserAccessPermissions();
+ final List<RegistrantAccessPermission> permittedTeams = dialog.getTeamAccessPermissions();
if (revisedRepository == null) {
return;
}
@@ -386,10 +482,11 @@
@Override
protected Boolean doRequest() throws IOException {
boolean success = gitblit.updateRepository(repository.name, revisedRepository,
- permittedUsers);
+ permittedUsers, permittedTeams);
if (success) {
gitblit.refreshRepositories();
gitblit.refreshUsers();
+ gitblit.refreshTeams();
}
return success;
}
@@ -398,6 +495,7 @@
protected void onSuccess() {
updateTable(false);
updateUsersTable();
+ updateTeamsTable();
}
@Override
@@ -430,6 +528,7 @@
if (success) {
gitblit.refreshRepositories();
gitblit.refreshUsers();
+ gitblit.refreshTeams();
}
return success;
}
@@ -438,6 +537,7 @@
protected void onSuccess() {
updateTable(false);
updateUsersTable();
+ updateTeamsTable();
}
@Override
@@ -449,4 +549,12 @@
}
}
+ private void showSearchDialog(boolean isSearch, final RepositoryModel repository) {
+ final SearchDialog dialog = new SearchDialog(gitblit, isSearch);
+ if (repository != null) {
+ dialog.selectRepository(repository);
+ }
+ dialog.setLocationRelativeTo(this);
+ dialog.setVisible(true);
+ }
}
--
Gitblit v1.9.1