225 lines
5.5 KiB
Java
225 lines
5.5 KiB
Java
// Copyright (C) 2010 The Android Open Source Project
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package com.google.gerrit.reviewdb;
|
|
|
|
import com.google.gwtorm.client.Column;
|
|
|
|
/** Diff formatting preferences of an account */
|
|
public class AccountDiffPreference {
|
|
|
|
/** Default number of lines of context. */
|
|
public static final short DEFAULT_CONTEXT = 10;
|
|
|
|
/** Context setting to display the entire file. */
|
|
public static final short WHOLE_FILE_CONTEXT = -1;
|
|
|
|
/** Typical valid choices for the default context setting. */
|
|
public static final short[] CONTEXT_CHOICES =
|
|
{3, 10, 25, 50, 75, 100, WHOLE_FILE_CONTEXT};
|
|
|
|
public static enum Whitespace implements CodedEnum {
|
|
IGNORE_NONE('N'), //
|
|
IGNORE_SPACE_AT_EOL('E'), //
|
|
IGNORE_SPACE_CHANGE('S'), //
|
|
IGNORE_ALL_SPACE('A');
|
|
|
|
private final char code;
|
|
|
|
private Whitespace(final char c) {
|
|
code = c;
|
|
}
|
|
|
|
public char getCode() {
|
|
return code;
|
|
}
|
|
|
|
public static Whitespace forCode(final char c) {
|
|
for (final Whitespace s : Whitespace.values()) {
|
|
if (s.code == c) {
|
|
return s;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public static AccountDiffPreference createDefault(Account.Id accountId) {
|
|
AccountDiffPreference p = new AccountDiffPreference(accountId);
|
|
p.setIgnoreWhitespace(Whitespace.IGNORE_NONE);
|
|
p.setTabSize(8);
|
|
p.setLineLength(100);
|
|
p.setSyntaxHighlighting(true);
|
|
p.setShowWhitespaceErrors(true);
|
|
p.setIntralineDifference(true);
|
|
p.setShowTabs(true);
|
|
p.setContext(DEFAULT_CONTEXT);
|
|
return p;
|
|
}
|
|
|
|
@Column(id = 1, name = Column.NONE)
|
|
protected Account.Id accountId;
|
|
|
|
@Column(id = 2)
|
|
protected char ignoreWhitespace;
|
|
|
|
@Column(id = 3)
|
|
protected int tabSize;
|
|
|
|
@Column(id = 4)
|
|
protected int lineLength;
|
|
|
|
@Column(id = 5)
|
|
protected boolean syntaxHighlighting;
|
|
|
|
@Column(id = 6)
|
|
protected boolean showWhitespaceErrors;
|
|
|
|
@Column(id = 7)
|
|
protected boolean intralineDifference;
|
|
|
|
@Column(id = 8)
|
|
protected boolean showTabs;
|
|
|
|
/** Number of lines of context when viewing a patch. */
|
|
@Column(id = 9)
|
|
protected short context;
|
|
|
|
@Column(id = 10)
|
|
protected boolean skipDeleted;
|
|
|
|
@Column(id = 11)
|
|
protected boolean skipUncommented;
|
|
|
|
@Column(id = 12)
|
|
protected boolean expandAllComments;
|
|
|
|
protected AccountDiffPreference() {
|
|
}
|
|
|
|
public AccountDiffPreference(Account.Id accountId) {
|
|
this.accountId = accountId;
|
|
}
|
|
|
|
public AccountDiffPreference(AccountDiffPreference p) {
|
|
this.accountId = p.accountId;
|
|
this.ignoreWhitespace = p.ignoreWhitespace;
|
|
this.tabSize = p.tabSize;
|
|
this.lineLength = p.lineLength;
|
|
this.syntaxHighlighting = p.syntaxHighlighting;
|
|
this.showWhitespaceErrors = p.showWhitespaceErrors;
|
|
this.intralineDifference = p.intralineDifference;
|
|
this.showTabs = p.showTabs;
|
|
this.skipDeleted = p.skipDeleted;
|
|
this.skipUncommented = p.skipUncommented;
|
|
this.expandAllComments = p.expandAllComments;
|
|
this.context = p.context;
|
|
}
|
|
|
|
public Account.Id getAccountId() {
|
|
return accountId;
|
|
}
|
|
|
|
public Whitespace getIgnoreWhitespace() {
|
|
return Whitespace.forCode(ignoreWhitespace);
|
|
}
|
|
|
|
public void setIgnoreWhitespace(Whitespace ignoreWhitespace) {
|
|
this.ignoreWhitespace = ignoreWhitespace.getCode();
|
|
}
|
|
|
|
public int getTabSize() {
|
|
return tabSize;
|
|
}
|
|
|
|
public void setTabSize(int tabSize) {
|
|
this.tabSize = tabSize;
|
|
}
|
|
|
|
public int getLineLength() {
|
|
return lineLength;
|
|
}
|
|
|
|
public void setLineLength(int lineLength) {
|
|
this.lineLength = lineLength;
|
|
}
|
|
|
|
public boolean isSyntaxHighlighting() {
|
|
return syntaxHighlighting;
|
|
}
|
|
|
|
public void setSyntaxHighlighting(boolean syntaxHighlighting) {
|
|
this.syntaxHighlighting = syntaxHighlighting;
|
|
}
|
|
|
|
public boolean isShowWhitespaceErrors() {
|
|
return showWhitespaceErrors;
|
|
}
|
|
|
|
public void setShowWhitespaceErrors(boolean showWhitespaceErrors) {
|
|
this.showWhitespaceErrors = showWhitespaceErrors;
|
|
}
|
|
|
|
public boolean isIntralineDifference() {
|
|
return intralineDifference;
|
|
}
|
|
|
|
public void setIntralineDifference(boolean intralineDifference) {
|
|
this.intralineDifference = intralineDifference;
|
|
}
|
|
|
|
public boolean isShowTabs() {
|
|
return showTabs;
|
|
}
|
|
|
|
public void setShowTabs(boolean showTabs) {
|
|
this.showTabs = showTabs;
|
|
}
|
|
|
|
/** Get the number of lines of context when viewing a patch. */
|
|
public short getContext() {
|
|
return context;
|
|
}
|
|
|
|
/** Set the number of lines of context when viewing a patch. */
|
|
public void setContext(final short context) {
|
|
assert 0 <= context || context == WHOLE_FILE_CONTEXT;
|
|
this.context = context;
|
|
}
|
|
|
|
public boolean isSkipDeleted() {
|
|
return skipDeleted;
|
|
}
|
|
|
|
public void setSkipDeleted(boolean skip) {
|
|
skipDeleted = skip;
|
|
}
|
|
|
|
public boolean isSkipUncommented() {
|
|
return skipUncommented;
|
|
}
|
|
|
|
public void setSkipUncommented(boolean skip) {
|
|
skipUncommented = skip;
|
|
}
|
|
|
|
public boolean isExpandAllComments() {
|
|
return expandAllComments;
|
|
}
|
|
|
|
public void setExpandAllComments(boolean expand) {
|
|
expandAllComments = expand;
|
|
}
|
|
}
|