use of org.jkiss.dbeaver.model.preferences.DBPPreferenceStore in project dbeaver by serge-rider.
the class DBValueFormatting method getDefaultBinaryFileEncoding.
public static String getDefaultBinaryFileEncoding(@NotNull DBPDataSource dataSource) {
DBPPreferenceStore preferenceStore = dataSource.getContainer().getPreferenceStore();
String fileEncoding = preferenceStore.getString(ModelPreferences.CONTENT_HEX_ENCODING);
if (CommonUtils.isEmpty(fileEncoding)) {
fileEncoding = GeneralUtils.getDefaultFileEncoding();
}
return fileEncoding;
}
use of org.jkiss.dbeaver.model.preferences.DBPPreferenceStore in project dbeaver by serge-rider.
the class ResultSetViewer method createStatusBar.
private void createStatusBar() {
Composite statusComposite = UIUtils.createPlaceholder(viewerPanel, 3);
statusComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
statusBar = new Composite(statusComposite, SWT.NONE);
statusBar.setBackgroundMode(SWT.INHERIT_FORCE);
statusBar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
CSSUtils.setCSSClass(statusBar, DBStyles.COLORED_BY_CONNECTION_TYPE);
RowLayout toolbarsLayout = new RowLayout(SWT.HORIZONTAL);
toolbarsLayout.marginTop = 0;
toolbarsLayout.marginBottom = 0;
toolbarsLayout.center = true;
toolbarsLayout.wrap = true;
toolbarsLayout.pack = true;
// toolbarsLayout.fill = true;
statusBar.setLayout(toolbarsLayout);
{
ToolBarManager editToolBarManager = new ToolBarManager(SWT.FLAT | SWT.HORIZONTAL | SWT.RIGHT);
// handle own commands
editToolBarManager.add(new Separator());
editToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_APPLY_CHANGES, "Save", null, null, true));
editToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_REJECT_CHANGES, "Cancel", null, null, true));
editToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_GENERATE_SCRIPT, "Script", null, null, true));
editToolBarManager.add(new Separator());
editToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ROW_EDIT));
editToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ROW_ADD));
editToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ROW_COPY));
editToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ROW_DELETE));
ToolBar editorToolBar = editToolBarManager.createControl(statusBar);
CSSUtils.setCSSClass(editorToolBar, DBStyles.COLORED_BY_CONNECTION_TYPE);
toolbarList.add(editToolBarManager);
}
{
ToolBarManager navToolBarManager = new ToolBarManager(SWT.FLAT | SWT.HORIZONTAL | SWT.RIGHT);
navToolBarManager.add(new ToolbarSeparatorContribution(true));
navToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ROW_FIRST));
navToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ROW_PREVIOUS));
navToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ROW_NEXT));
navToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ROW_LAST));
navToolBarManager.add(new Separator());
navToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_FETCH_PAGE));
navToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_FETCH_ALL));
navToolBarManager.add(new Separator(TOOLBAR_GROUP_NAVIGATION));
ToolBar navToolBar = navToolBarManager.createControl(statusBar);
CSSUtils.setCSSClass(navToolBar, DBStyles.COLORED_BY_CONNECTION_TYPE);
toolbarList.add(navToolBarManager);
}
{
ToolBarManager configToolBarManager = new ToolBarManager(SWT.FLAT | SWT.HORIZONTAL | SWT.RIGHT);
configToolBarManager.add(new ToolbarSeparatorContribution(true));
/*
if (supportsPanels()) {
CommandContributionItemParameter ciParam = new CommandContributionItemParameter(
site,
"org.jkiss.dbeaver.core.resultset.panels",
ResultSetHandlerMain.CMD_TOGGLE_PANELS,
CommandContributionItem.STYLE_PULLDOWN);
ciParam.label = ResultSetMessages.controls_resultset_config_panels;
ciParam.mode = CommandContributionItem.MODE_FORCE_TEXT;
configToolBarManager.add(new CommandContributionItem(ciParam));
}
configToolBarManager.add(new ToolbarSeparatorContribution(true));
*/
ToolBar configToolBar = configToolBarManager.createControl(statusBar);
CSSUtils.setCSSClass(configToolBar, DBStyles.COLORED_BY_CONNECTION_TYPE);
toolbarList.add(configToolBarManager);
}
{
ToolBarManager addToolbBarManagerar = new ToolBarManager(SWT.FLAT | SWT.HORIZONTAL | SWT.RIGHT);
addToolbBarManagerar.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_EXPORT));
addToolbBarManagerar.add(new GroupMarker(TOOLBAR_GROUP_PRESENTATIONS));
addToolbBarManagerar.add(new Separator(TOOLBAR_GROUP_ADDITIONS));
final IMenuService menuService = getSite().getService(IMenuService.class);
if (menuService != null) {
menuService.populateContributionManager(addToolbBarManagerar, TOOLBAR_CONTRIBUTION_ID);
}
ToolBar addToolBar = addToolbBarManagerar.createControl(statusBar);
CSSUtils.setCSSClass(addToolBar, DBStyles.COLORED_BY_CONNECTION_TYPE);
toolbarList.add(addToolbBarManagerar);
}
{
// Config toolbar
ToolBarManager configToolBarManager = new ToolBarManager(SWT.FLAT | SWT.HORIZONTAL | SWT.RIGHT);
configToolBarManager.add(new ToolbarSeparatorContribution(true));
configToolBarManager.add(new ConfigAction());
configToolBarManager.update(true);
ToolBar configToolBar = configToolBarManager.createControl(statusBar);
CSSUtils.setCSSClass(configToolBar, DBStyles.COLORED_BY_CONNECTION_TYPE);
toolbarList.add(configToolBarManager);
}
{
final int fontHeight = UIUtils.getFontHeight(statusBar);
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.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent e) {
String realValue = String.valueOf(getSegmentMaxRows());
if (!realValue.equals(resultSetSize.getText())) {
resultSetSize.setText(realValue);
}
}
});
resultSetSize.addModifyListener(e -> {
DBSDataContainer dataContainer = getDataContainer();
int fetchSize = CommonUtils.toInt(resultSetSize.getText());
if (fetchSize > 0 && fetchSize < ResultSetPreferences.MIN_SEGMENT_SIZE) {
fetchSize = ResultSetPreferences.MIN_SEGMENT_SIZE;
}
if (dataContainer != null && dataContainer.getDataSource() != null) {
DBPPreferenceStore store = dataContainer.getDataSource().getContainer().getPreferenceStore();
int oldFetchSize = store.getInt(ModelPreferences.RESULT_SET_MAX_ROWS);
if (oldFetchSize != fetchSize) {
store.setValue(ModelPreferences.RESULT_SET_MAX_ROWS, fetchSize);
PrefUtils.savePreferenceStore(store);
}
}
});
UIUtils.addDefaultEditActionsSupport(site, resultSetSize);
rowCountLabel = new ActiveStatusMessage(statusBar, DBeaverIcons.getImage(UIIcon.RS_REFRESH), ResultSetMessages.controls_resultset_viewer_calculate_row_count, this) {
@Override
protected boolean isActionEnabled() {
return hasData();
}
@Override
protected ILoadService<String> createLoadService() {
return new DatabaseLoadService<String>("Load row count", getExecutionContext()) {
@Override
public String evaluate(DBRProgressMonitor monitor) throws InvocationTargetException {
try {
long rowCount = readRowCount(monitor);
return ROW_COUNT_FORMAT.format(rowCount);
} catch (DBException e) {
log.error(e);
throw new InvocationTargetException(e);
}
}
};
}
};
// rowCountLabel.setLayoutData();
CSSUtils.setCSSClass(rowCountLabel, DBStyles.COLORED_BY_CONNECTION_TYPE);
rowCountLabel.setMessage("Row Count");
rowCountLabel.setToolTipText("Calculates total row count in the current dataset");
UIUtils.createToolBarSeparator(statusBar, SWT.VERTICAL);
selectionStatLabel = new Text(statusBar, SWT.READ_ONLY);
selectionStatLabel.setToolTipText("Selected rows/columns/cells");
CSSUtils.setCSSClass(selectionStatLabel, DBStyles.COLORED_BY_CONNECTION_TYPE);
Label filler = new Label(statusComposite, SWT.NONE);
filler.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
statusLabel = new StatusLabel(statusComposite, SWT.NONE, this);
GridData gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_END);
gd.widthHint = 30 * fontHeight;
statusLabel.setLayoutData(gd);
CSSUtils.setCSSClass(statusLabel, DBStyles.COLORED_BY_CONNECTION_TYPE);
statusBar.addListener(SWT.Resize, event -> {
});
}
}
use of org.jkiss.dbeaver.model.preferences.DBPPreferenceStore in project dbeaver by serge-rider.
the class SQLFormatterExternal method format.
@Override
public String format(String source, SQLFormatterConfiguration configuration) {
final DBPPreferenceStore store = configuration.getSyntaxManager().getPreferenceStore();
final String command = store.getString(ModelPreferences.SQL_FORMAT_EXTERNAL_CMD);
int timeout = store.getInt(ModelPreferences.SQL_FORMAT_EXTERNAL_TIMEOUT);
boolean useFile = store.getBoolean(ModelPreferences.SQL_FORMAT_EXTERNAL_FILE);
if (CommonUtils.isEmpty(command)) {
// Nothing to format
return source;
}
try {
final FormatJob formatJob = new FormatJob(configuration, command, source, useFile);
formatJob.schedule();
for (int i = 0; i < 10; i++) {
Thread.sleep(timeout / 10);
if (formatJob.finished) {
return formatJob.result;
}
}
log.warn("Formatter process hangs. Terminating.");
formatJob.stop();
} catch (Exception ex) {
log.warn("Error executing external formatter [" + command + "]", ex);
}
return source;
}
use of org.jkiss.dbeaver.model.preferences.DBPPreferenceStore in project dbeaver by serge-rider.
the class SQLModelPreferencesInitializer method initializeDefaultPreferences.
@Override
public void initializeDefaultPreferences() {
// Init default preferences
DBPPreferenceStore store = ModelPreferences.getPreferences();
// Common
PrefUtils.setDefaultPreferenceValue(store, SQLModelPreferences.SQL_FORMAT_FORMATTER, SQLFormatterTokenized.FORMATTER_ID);
PrefUtils.setDefaultPreferenceValue(store, SQLModelPreferences.SQL_PROPOSAL_INSERT_TABLE_ALIAS, true);
}
use of org.jkiss.dbeaver.model.preferences.DBPPreferenceStore in project dbeaver by serge-rider.
the class SSHUtils method findFreePort.
static int findFreePort(DBPPlatform platform) {
DBPPreferenceStore store = platform.getPreferenceStore();
int minPort = store.getInt(ModelPreferences.NET_TUNNEL_PORT_MIN);
int maxPort = store.getInt(ModelPreferences.NET_TUNNEL_PORT_MAX);
return IOUtils.findFreePort(minPort, maxPort);
}
Aggregations