提交 99c1f6bf 编写于 作者: S serge-rider

#4553 Fetch size editor moved to RSV status bar

上级 9472d985
......@@ -30,10 +30,7 @@ import org.eclipse.jface.viewers.*;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.*;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.RGB;
......@@ -97,12 +94,14 @@ import org.jkiss.dbeaver.ui.css.CSSUtils;
import org.jkiss.dbeaver.ui.css.DBStyles;
import org.jkiss.dbeaver.ui.data.IValueController;
import org.jkiss.dbeaver.ui.dialogs.ConfirmationDialog;
import org.jkiss.dbeaver.ui.editors.data.internal.DataEditorsMessages;
import org.jkiss.dbeaver.ui.editors.data.preferences.PrefPageDataFormat;
import org.jkiss.dbeaver.ui.editors.data.preferences.PrefPageResultSetMain;
import org.jkiss.dbeaver.ui.editors.object.struct.EditConstraintPage;
import org.jkiss.dbeaver.ui.editors.object.struct.EditDictionaryPage;
import org.jkiss.dbeaver.ui.navigator.NavigatorCommands;
import org.jkiss.dbeaver.utils.GeneralUtils;
import org.jkiss.dbeaver.utils.PrefUtils;
import org.jkiss.dbeaver.utils.RuntimeUtils;
import org.jkiss.utils.ArrayUtils;
import org.jkiss.utils.CommonUtils;
......@@ -161,6 +160,7 @@ public class ResultSetViewer extends Viewer
private Composite statusBar;
private StatusLabel statusLabel;
private ActiveStatusMessage rowCountLabel;
private Text resultSetSize;
private final DynamicFindReplaceTarget findReplaceTarget;
......@@ -1444,7 +1444,7 @@ public class ResultSetViewer extends Viewer
{
final int fontHeight = UIUtils.getFontHeight(statusBar);
statusLabel = new StatusLabel(statusBar, SWT.NONE, this);
statusLabel.setLayoutData(new RowData(40 * fontHeight, SWT.DEFAULT));
statusLabel.setLayoutData(new RowData(30 * fontHeight, SWT.DEFAULT));
rowCountLabel = new ActiveStatusMessage(statusBar, DBeaverIcons.getImage(UIIcon.RS_REFRESH), ResultSetMessages.controls_resultset_viewer_calculate_row_count, this) {
@Override
......@@ -1470,6 +1470,20 @@ public class ResultSetViewer extends Viewer
};
rowCountLabel.setLayoutData(new RowData(10 * fontHeight, SWT.DEFAULT));
rowCountLabel.setMessage("Row Count");
resultSetSize = new Text(statusBar, SWT.BORDER);
resultSetSize.setLayoutData(new RowData(5 * fontHeight, SWT.DEFAULT));
resultSetSize.setBackground(UIStyles.getDefaultTextBackground());
resultSetSize.setToolTipText(DataEditorsMessages.resultset_segment_size);
resultSetSize.addModifyListener(e -> {
DBSDataContainer dataContainer = getDataContainer();
int fetchSize = CommonUtils.toInt(resultSetSize.getText());
if (fetchSize > 0 && dataContainer != null && dataContainer.getDataSource() != null) {
DBPPreferenceStore store = dataContainer.getDataSource().getContainer().getPreferenceStore();
store.setValue(ResultSetPreferences.RESULT_SET_MAX_ROWS, fetchSize);
PrefUtils.savePreferenceStore(store);
}
});
}
}
......@@ -1625,6 +1639,11 @@ public class ResultSetViewer extends Viewer
}
statusLabel.setStatus(status, messageType);
rowCountLabel.updateActionState();
DBSDataContainer dataContainer = getDataContainer();
if (dataContainer != null && dataContainer.getDataSource() != null) {
resultSetSize.setText(String.valueOf(dataContainer.getDataSource().getContainer().getPreferenceStore().getInt(ResultSetPreferences.RESULT_SET_MAX_ROWS)));
}
}
public void updateStatusMessage()
......
......@@ -24,6 +24,7 @@ public class DataEditorsMessages extends NLS {
public static String grid_tooltip_sort_by_column;
public static String grid_tooltip_filter_by_column;
public static String controls_column_info_panel_property_key;
public static String resultset_segment_size;
static {
// initialize resource bundle
......
......@@ -2,3 +2,4 @@ grid_tooltip_sort_by_column = Sort by column
grid_tooltip_filter_by_column = Filter by column value
controls_column_info_panel_property_key = Key
resultset_segment_size = Result-set fetch size
......@@ -2,4 +2,4 @@ grid_tooltip_filter_by_column = Filtern mit Spaltenwert
grid_tooltip_sort_by_column = Sortieren mit Spalte
controls_column_info_panel_property_key = Schl\u00FCssel
resultset_segment_size = Maximale Gr\u00F6\u00DFe der Ergebnismenge
......@@ -2,3 +2,4 @@ grid_tooltip_sort_by_column = Trier par colonne
grid_tooltip_filter_by_column = Filtrer par la valeur de colonne
controls_column_info_panel_property_key = Clef
resultset_segment_size = Taille maximale de r\u00E9sultats
controls_column_info_panel_property_key =\u30AD\u30FC
resultset_segment_size =\u7D50\u679C\u30BB\u30C3\u30C8\u306E\u6700\u5927\u30B5\u30A4\u30BA
......@@ -2,3 +2,4 @@ grid_tooltip_sort_by_column = \u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u
grid_tooltip_filter_by_column = \u0424\u0438\u043B\u044C\u0442\u0440 \u043F\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044E \u043A\u043E\u043B\u043E\u043D\u043A\u0438
controls_column_info_panel_property_key=\u041A\u043B\u044E\u0447
toolbar_datasource_selector_resultset_segment_size=\u0420\u0430\u0437\u043C\u0435\u0440 \u0432\u044B\u0431\u043E\u0440\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445
......@@ -3,3 +3,4 @@ grid_tooltip_sort_by_column = \u6309\u5217\u8FC7\u6EE4
controls_column_info_panel_property_key = \u952E
resultset_segment_size = \u6700\u5927\u5316\u7ED3\u679C\u96C6
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册