提交 9bb25b4b 编写于 作者: S serge-rider

#3271 Search results messages fix

上级 c0af7352
......@@ -55,28 +55,19 @@ public abstract class AbstractSearchResultsPage <OBJECT_TYPE> extends Page imple
private SearchResultsControl itemList;
public AbstractSearchResultsPage() {
this.resultListener = new ISearchResultListener() {
@Override
public void searchResultChanged(SearchResultEvent e)
{
List objects = null;
if (e instanceof AbstractSearchResult.DatabaseSearchResultEvent) {
objects = ((AbstractSearchResult.DatabaseSearchResultEvent) e).getObjects();
} else if (e.getSearchResult() instanceof AbstractSearchResult) {
final AbstractSearchResult result = (AbstractSearchResult) e.getSearchResult();
objects = result.getObjects();
}
if (objects != null) {
final List newObjects = objects;
DBeaverUI.syncExec(new Runnable() {
@Override
public void run() {
populateObjects(new VoidProgressMonitor(), newObjects);
}
});
}
this.resultListener = e -> {
List objects = null;
if (e instanceof AbstractSearchResult.DatabaseSearchResultEvent) {
objects = ((AbstractSearchResult.DatabaseSearchResultEvent) e).getObjects();
} else if (e.getSearchResult() instanceof AbstractSearchResult) {
final AbstractSearchResult result = (AbstractSearchResult) e.getSearchResult();
objects = result.getObjects();
}
if (objects != null) {
final List newObjects = objects;
DBeaverUI.syncExec(() -> populateObjects(new VoidProgressMonitor(), newObjects));
}
};
}
......@@ -164,6 +155,8 @@ public abstract class AbstractSearchResultsPage <OBJECT_TYPE> extends Page imple
@Override
public void setInput(ISearchResult search, Object uiState)
{
itemList.setInfo(search == null ? "Start searching" : "Searching");
if (this.searchResult != null) {
this.searchResult.removeListener(this.resultListener);
}
......@@ -245,7 +238,7 @@ public abstract class AbstractSearchResultsPage <OBJECT_TYPE> extends Page imple
ResultsNode parent;
final List<ResultsNode> children = new ArrayList<>();
public ResultsNode(DBNNode node, ResultsNode parent)
ResultsNode(DBNNode node, ResultsNode parent)
{
this.node = node;
this.parent = parent;
......
......@@ -16,14 +16,11 @@
*/
package org.jkiss.dbeaver.ui.search.data;
import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.swt.widgets.Composite;
import org.jkiss.dbeaver.model.DBPNamedObject;
import org.jkiss.dbeaver.model.navigator.DBNDatabaseNode;
import org.jkiss.dbeaver.model.navigator.DBNNode;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer;
import org.jkiss.dbeaver.ui.editors.data.AbstractDataEditor;
import org.jkiss.dbeaver.ui.navigator.NavigatorUtils;
import org.jkiss.dbeaver.ui.search.AbstractSearchResultsPage;
......@@ -57,22 +54,18 @@ public class SearchDataResultsPage extends AbstractSearchResultsPage<SearchDataO
{
super(resultsGroup);
setDoubleClickHandler(new IDoubleClickListener() {
@Override
public void doubleClick(DoubleClickEvent event)
{
// Run default node action
DBNNode node = NavigatorUtils.getSelectedNode(getItemsViewer());
if (!(node instanceof DBNDatabaseNode) || !node.allowsOpen()) {
return;
}
Object objectValue = getObjectValue(node);
if (!(objectValue instanceof SearchDataObject)) {
return;
}
SearchDataObject object = (SearchDataObject) objectValue;
AbstractDataEditor.openNewDataEditor((DBNDatabaseNode) node, object.getFilter());
setDoubleClickHandler(event -> {
// Run default node action
DBNNode node = NavigatorUtils.getSelectedNode(getItemsViewer());
if (!(node instanceof DBNDatabaseNode) || !node.allowsOpen()) {
return;
}
Object objectValue = getObjectValue(node);
if (!(objectValue instanceof SearchDataObject)) {
return;
}
SearchDataObject object = (SearchDataObject) objectValue;
AbstractDataEditor.openNewDataEditor((DBNDatabaseNode) node, object.getFilter());
});
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册