From 9af47c10c6a268877c1d232c8d71ee6df4f8a7ab Mon Sep 17 00:00:00 2001
From: Jeroen Baten <jeroen@jeroenbaten.nl>
Date: Fri, 04 Jan 2013 05:18:37 -0500
Subject: [PATCH] Dutch translation before spellcheck

---
 src/com/gitblit/client/SearchDialog.java |  126 +++++++++++++++++++++++++++--------------
 1 files changed, 82 insertions(+), 44 deletions(-)

diff --git a/src/com/gitblit/client/SearchDialog.java b/src/com/gitblit/client/SearchDialog.java
index 5dbea78..829bc52 100644
--- a/src/com/gitblit/client/SearchDialog.java
+++ b/src/com/gitblit/client/SearchDialog.java
@@ -16,6 +16,7 @@
 package com.gitblit.client;
 
 import java.awt.BorderLayout;
+import java.awt.Cursor;
 import java.awt.FlowLayout;
 import java.awt.Insets;
 import java.awt.Rectangle;
@@ -43,8 +44,8 @@
 import javax.swing.event.ListSelectionListener;
 
 import com.gitblit.Constants;
+import com.gitblit.models.FeedEntryModel;
 import com.gitblit.models.RepositoryModel;
-import com.gitblit.models.SyndicatedEntryModel;
 import com.gitblit.utils.StringUtils;
 
 /**
@@ -58,9 +59,11 @@
 
 	private static final long serialVersionUID = 1L;
 
+	private final boolean isSearch;
+
 	private final GitblitClient gitblit;
 
-	private SyndicatedEntryTableModel tableModel;
+	private FeedEntryTableModel tableModel;
 
 	private HeaderPanel header;
 
@@ -84,13 +87,14 @@
 
 	private JButton next;
 
-	public SearchDialog(GitblitClient gitblit) {
+	public SearchDialog(GitblitClient gitblit, boolean isSearch) {
 		super();
 		this.gitblit = gitblit;
-		setTitle(Translation.get("gb.search"));
+		this.isSearch = isSearch;
+		setTitle(Translation.get(isSearch ? "gb.search" : "gb.log"));
 		setIconImage(new ImageIcon(getClass().getResource("/gitblt-favicon.png")).getImage());
 		initialize();
-		setSize(900, 400);
+		setSize(900, 550);
 	}
 
 	private void initialize() {
@@ -113,7 +117,7 @@
 			}
 		});
 
-		final JButton search = new JButton(Translation.get("gb.search"));
+		final JButton search = new JButton(Translation.get(isSearch ? "gb.search" : "gb.refresh"));
 		search.addActionListener(new ActionListener() {
 			public void actionPerformed(ActionEvent e) {
 				search(0);
@@ -150,20 +154,20 @@
 		controls.add(viewTree);
 
 		NameRenderer nameRenderer = new NameRenderer();
-		tableModel = new SyndicatedEntryTableModel();
-		header = new HeaderPanel(Translation.get("gb.search"), "search-icon.png");
+		tableModel = new FeedEntryTableModel();
+		header = new HeaderPanel(Translation.get(isSearch ? "gb.search" : "gb.log"),
+				isSearch ? "search-icon.png" : "commit_changes_16x16.png");
 		table = Utils.newTable(tableModel, Utils.DATE_FORMAT);
 
-		String name = table.getColumnName(SyndicatedEntryTableModel.Columns.Author.ordinal());
-		table.setRowHeight(nameRenderer.getFont().getSize() + 8);
+		String name = table.getColumnName(FeedEntryTableModel.Columns.Author.ordinal());
 		table.getColumn(name).setCellRenderer(nameRenderer);
-		name = table.getColumnName(SyndicatedEntryTableModel.Columns.Repository.ordinal());
+		name = table.getColumnName(FeedEntryTableModel.Columns.Repository.ordinal());
 		table.getColumn(name).setCellRenderer(nameRenderer);
 
-		name = table.getColumnName(SyndicatedEntryTableModel.Columns.Branch.ordinal());
+		name = table.getColumnName(FeedEntryTableModel.Columns.Branch.ordinal());
 		table.getColumn(name).setCellRenderer(new BranchRenderer());
 
-		name = table.getColumnName(SyndicatedEntryTableModel.Columns.Message.ordinal());
+		name = table.getColumnName(FeedEntryTableModel.Columns.Message.ordinal());
 		table.getColumn(name).setCellRenderer(new MessageRenderer());
 
 		table.addMouseListener(new MouseAdapter() {
@@ -203,9 +207,16 @@
 					selectedBranch = branchSelector.getSelectedItem().toString();
 				}
 				updateBranches();
-				if (selectedBranch != null) {
+				if (StringUtils.isEmpty(selectedBranch)) {
+					// do not select branch
+					branchSelector.setSelectedIndex(-1);
+				} else {
 					if (branchChoices.getIndexOf(selectedBranch) > -1) {
+						// select branch
 						branchChoices.setSelectedItem(selectedBranch);
+					} else {
+						// branch does not exist, do not select branch
+						branchSelector.setSelectedIndex(-1);
 					}
 				}
 			}
@@ -228,19 +239,29 @@
 			}
 		});
 
-		JPanel northControls = new JPanel(new FlowLayout(FlowLayout.LEFT, Utils.MARGIN, 0));
-		northControls.add(new JLabel(Translation.get("gb.repository")));
-		northControls.add(repositorySelector);
-		northControls.add(new JLabel(Translation.get("gb.branch")));
-		northControls.add(branchSelector);
-		northControls.add(new JLabel(Translation.get("gb.type")));
-		northControls.add(searchTypeSelector);
-		northControls.add(new JLabel(Translation.get("gb.maxHits")));
-		northControls.add(maxHitsSelector);
-		northControls.add(searchFragment);
-		northControls.add(search);
-		northControls.add(prev);
-		northControls.add(next);
+		JPanel queryPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, Utils.MARGIN, 0));
+		queryPanel.add(new JLabel(Translation.get("gb.repository")));
+		queryPanel.add(repositorySelector);
+		queryPanel.add(new JLabel(Translation.get("gb.branch")));
+		queryPanel.add(branchSelector);
+		if (isSearch) {
+			queryPanel.add(new JLabel(Translation.get("gb.type")));
+			queryPanel.add(searchTypeSelector);
+		}
+		queryPanel.add(new JLabel(Translation.get("gb.maxHits")));
+		queryPanel.add(maxHitsSelector);
+
+		JPanel actionsPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, Utils.MARGIN, 0));
+		actionsPanel.add(search);
+		actionsPanel.add(prev);
+		actionsPanel.add(next);
+
+		JPanel northControls = new JPanel(new BorderLayout(Utils.MARGIN, Utils.MARGIN));
+		northControls.add(queryPanel, BorderLayout.WEST);
+		if (isSearch) {
+			northControls.add(searchFragment, BorderLayout.CENTER);
+		}
+		northControls.add(actionsPanel, BorderLayout.EAST);
 
 		JPanel northPanel = new JPanel(new BorderLayout(0, Utils.MARGIN));
 		northPanel.add(header, BorderLayout.NORTH);
@@ -264,12 +285,18 @@
 		addWindowListener(new WindowAdapter() {
 			@Override
 			public void windowOpened(WindowEvent event) {
-				searchFragment.requestFocus();
+				if (isSearch) {
+					searchFragment.requestFocus();
+				} else {
+					search(0);
+				}
 			}
 
 			@Override
 			public void windowActivated(WindowEvent event) {
-				searchFragment.requestFocus();
+				if (isSearch) {
+					searchFragment.requestFocus();
+				}
 			}
 		});
 	}
@@ -297,25 +324,35 @@
 				.getSelectedItem().toString() : null;
 		final Constants.SearchType searchType = (Constants.SearchType) searchTypeSelector
 				.getSelectedItem();
-		final String fragment = searchFragment.getText();
+		final String fragment = isSearch ? searchFragment.getText() : null;
 		final int maxEntryCount = maxHitsSelector.getSelectedIndex() > -1 ? ((Integer) maxHitsSelector
 				.getSelectedItem()) : -1;
 
-		if (StringUtils.isEmpty(fragment)) {
+		if (isSearch && StringUtils.isEmpty(fragment)) {
 			return;
 		}
-		SwingWorker<List<SyndicatedEntryModel>, Void> worker = new SwingWorker<List<SyndicatedEntryModel>, Void>() {
+		setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+		SwingWorker<List<FeedEntryModel>, Void> worker = new SwingWorker<List<FeedEntryModel>, Void>() {
 			@Override
-			protected List<SyndicatedEntryModel> doInBackground() throws IOException {
-				return gitblit
-						.search(repository, branch, fragment, searchType, maxEntryCount, page);
+			protected List<FeedEntryModel> doInBackground() throws IOException {
+				if (isSearch) {
+					return gitblit.search(repository, branch, fragment, searchType, maxEntryCount,
+							page);
+				} else {
+					return gitblit.log(repository, branch, maxEntryCount, page);
+				}
 			}
 
 			@Override
 			protected void done() {
+				setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
 				try {
-					List<SyndicatedEntryModel> results = get();
-					updateTable(true, fragment, results);
+					List<FeedEntryModel> results = get();
+					if (isSearch) {
+						updateTable(true, fragment, results);
+					} else {
+						updateTable(true, branch == null ? "" : branch, results);
+					}
 				} catch (Throwable t) {
 					Utils.showException(SearchDialog.this, t);
 				}
@@ -324,11 +361,12 @@
 		worker.execute();
 	}
 
-	protected void updateTable(boolean pack, String fragment, List<SyndicatedEntryModel> entries) {
+	protected void updateTable(boolean pack, String text, List<FeedEntryModel> entries) {
 		tableModel.entries.clear();
 		tableModel.entries.addAll(entries);
 		tableModel.fireTableDataChanged();
-		setTitle(Translation.get("gb.search") + ": " + fragment + " (" + entries.size()
+		setTitle(Translation.get(isSearch ? "gb.search" : "gb.log")
+				+ (StringUtils.isEmpty(text) ? "" : (": " + text)) + " (" + entries.size()
 				+ (page > 0 ? (", pg " + (page + 1)) : "") + ")");
 		header.setText(getTitle());
 		if (pack) {
@@ -342,25 +380,25 @@
 		prev.setEnabled(page > 0);
 	}
 
-	protected SyndicatedEntryModel getSelectedSyndicatedEntry() {
+	protected FeedEntryModel getSelectedSyndicatedEntry() {
 		int viewRow = table.getSelectedRow();
 		int modelRow = table.convertRowIndexToModel(viewRow);
-		SyndicatedEntryModel entry = tableModel.get(modelRow);
+		FeedEntryModel entry = tableModel.get(modelRow);
 		return entry;
 	}
 
 	protected void viewCommit() {
-		SyndicatedEntryModel entry = getSelectedSyndicatedEntry();
+		FeedEntryModel entry = getSelectedSyndicatedEntry();
 		Utils.browse(entry.link);
 	}
 
 	protected void viewCommitDiff() {
-		SyndicatedEntryModel entry = getSelectedSyndicatedEntry();
+		FeedEntryModel entry = getSelectedSyndicatedEntry();
 		Utils.browse(entry.link.replace("/commit/", "/commitdiff/"));
 	}
 
 	protected void viewTree() {
-		SyndicatedEntryModel entry = getSelectedSyndicatedEntry();
+		FeedEntryModel entry = getSelectedSyndicatedEntry();
 		Utils.browse(entry.link.replace("/commit/", "/tree/"));
 	}
 }

--
Gitblit v1.9.1