提交 af199237 编写于 作者: S Serge Rider

#1785 RSV odd/even rows highlight enhancement


Former-commit-id: 4cc73ff5
上级 a3768eea
......@@ -123,6 +123,7 @@ public final class DBeaverPreferences
public static final String RESULT_SET_SHOW_DESCRIPTION = "resultset.show.columnDescription"; //$NON-NLS-1$
public static final String RESULT_SET_AUTO_SWITCH_MODE = "resultset.behavior.autoSwitchMode"; //$NON-NLS-1$
public static final String RESULT_SET_DOUBLE_CLICK = "resultset.behavior.doubleClick"; //$NON-NLS-1$
public static final String RESULT_SET_ROW_BATCH_SIZE = "resultset.show.row.batch.size"; //$NON-NLS-1$
public static final String RESULT_SET_PRESENTATION = "resultset.presentation.active"; //$NON-NLS-1$
public static final String RESULT_TEXT_MAX_COLUMN_SIZE = "resultset.text.max.column.size"; //$NON-NLS-1$
......
......@@ -165,6 +165,7 @@ public class DBeaverPreferencesInitializer extends AbstractPreferenceInitializer
PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.RESULT_SET_DOUBLE_CLICK, Spreadsheet.DoubleClickBehavior.INLINE_EDITOR.name());
PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.RESULT_SET_AUTO_SWITCH_MODE, false);
PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.RESULT_SET_SHOW_DESCRIPTION, false);
PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.RESULT_SET_ROW_BATCH_SIZE, 1);
PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.RESULT_TEXT_MAX_COLUMN_SIZE, 255);
PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.RESULT_TEXT_VALUE_FORMAT, DBDDisplayFormat.EDIT.name());
......
......@@ -138,6 +138,8 @@ public class SpreadsheetPresentation extends AbstractPresentation implements IRe
private Color foregroundSelected, backgroundSelected;
private Font boldFont, italicFont, bolItalicFont;
private int rowBatchSize = 1;
private boolean showOddRows = true;
private boolean showCelIcons = true;
......@@ -983,6 +985,8 @@ public class SpreadsheetPresentation extends AbstractPresentation implements IRe
this.spreadsheet.setLineColor(colorRegistry.get(ThemeConstants.COLOR_SQL_RESULT_LINES_NORMAL));
this.spreadsheet.setLineSelectedColor(colorRegistry.get(ThemeConstants.COLOR_SQL_RESULT_LINES_SELECTED));
this.rowBatchSize = getPreferenceStore().getInt(DBeaverPreferences.RESULT_SET_ROW_BATCH_SIZE);
this.spreadsheet.recalculateSizes();
}
......@@ -1493,7 +1497,10 @@ public class SpreadsheetPresentation extends AbstractPresentation implements IRe
boolean recordMode = controller.isRecordMode();
ResultSetRow row = (ResultSetRow) (!recordMode ? rowElement : colElement);
DBDAttributeBinding attribute = (DBDAttributeBinding)(!recordMode ? colElement : rowElement);
boolean odd = row.getVisualNumber() % 2 == 0;
int rowNumber = row.getVisualNumber();
int rowRelativeNumber = rowNumber % (rowBatchSize * 2);
boolean odd = rowRelativeNumber < rowBatchSize;
if (row.getState() == ResultSetRow.STATE_ADDED) {
return backgroundAdded;
}
......
......@@ -37,6 +37,7 @@ public class PrefPageResultSetPresentation extends TargetPrefPage
public static final String PAGE_ID = "org.jkiss.dbeaver.preferences.main.resultset.presentation"; //$NON-NLS-1$
private Button gridShowOddRows;
private Spinner gridRowBatchSize;
private Button gridShowCellIcons;
private Combo gridDoubleClickBehavior;
private Button autoSwitchMode;
......@@ -60,7 +61,7 @@ public class PrefPageResultSetPresentation extends TargetPrefPage
store.contains(DBeaverPreferences.RESULT_SET_SHOW_DESCRIPTION) ||
store.contains(DBeaverPreferences.RESULT_SET_DOUBLE_CLICK) ||
store.contains(DBeaverPreferences.RESULT_SET_AUTO_SWITCH_MODE) ||
store.contains(DBeaverPreferences.RESULT_SET_ROW_BATCH_SIZE) ||
store.contains(DBeaverPreferences.RESULT_TEXT_MAX_COLUMN_SIZE) ||
store.contains(DBeaverPreferences.RESULT_TEXT_VALUE_FORMAT)
;
......@@ -88,6 +89,7 @@ public class PrefPageResultSetPresentation extends TargetPrefPage
Group uiGroup = UIUtils.createControlGroup(composite, "Grid", 2, SWT.NONE, 0);
gridShowOddRows = UIUtils.createLabelCheckbox(uiGroup, "Mark odd/even rows", false);
gridRowBatchSize = UIUtils.createLabelSpinner(uiGroup, "Row batch size", 1, 1, Short.MAX_VALUE);
gridShowCellIcons = UIUtils.createLabelCheckbox(uiGroup, "Show cell icons", false);
gridDoubleClickBehavior = UIUtils.createLabelCombo(uiGroup, "Double-click behavior", SWT.READ_ONLY);
gridDoubleClickBehavior.add("None", Spreadsheet.DoubleClickBehavior.NONE.ordinal());
......@@ -110,6 +112,7 @@ public class PrefPageResultSetPresentation extends TargetPrefPage
{
try {
gridShowOddRows.setSelection(store.getBoolean(DBeaverPreferences.RESULT_SET_SHOW_ODD_ROWS));
gridRowBatchSize.setSelection(store.getInt(DBeaverPreferences.RESULT_SET_ROW_BATCH_SIZE));
gridShowCellIcons.setSelection(store.getBoolean(DBeaverPreferences.RESULT_SET_SHOW_CELL_ICONS));
gridDoubleClickBehavior.select(
Spreadsheet.DoubleClickBehavior.valueOf(store.getString(DBeaverPreferences.RESULT_SET_DOUBLE_CLICK)).ordinal());
......@@ -128,6 +131,7 @@ public class PrefPageResultSetPresentation extends TargetPrefPage
{
try {
store.setValue(DBeaverPreferences.RESULT_SET_SHOW_ODD_ROWS, gridShowOddRows.getSelection());
store.setValue(DBeaverPreferences.RESULT_SET_ROW_BATCH_SIZE, gridRowBatchSize.getSelection());
store.setValue(DBeaverPreferences.RESULT_SET_SHOW_CELL_ICONS, gridShowCellIcons.getSelection());
store.setValue(DBeaverPreferences.RESULT_SET_DOUBLE_CLICK, CommonUtils.fromOrdinal(Spreadsheet.DoubleClickBehavior.class, gridDoubleClickBehavior.getSelectionIndex()).name());
store.setValue(DBeaverPreferences.RESULT_SET_AUTO_SWITCH_MODE, autoSwitchMode.getSelection());
......@@ -144,6 +148,7 @@ public class PrefPageResultSetPresentation extends TargetPrefPage
protected void clearPreferences(DBPPreferenceStore store)
{
store.setToDefault(DBeaverPreferences.RESULT_SET_SHOW_ODD_ROWS);
store.setToDefault(DBeaverPreferences.RESULT_SET_ROW_BATCH_SIZE);
store.setToDefault(DBeaverPreferences.RESULT_SET_SHOW_CELL_ICONS);
store.setToDefault(DBeaverPreferences.RESULT_SET_DOUBLE_CLICK);
store.setToDefault(DBeaverPreferences.RESULT_SET_AUTO_SWITCH_MODE);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册