You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2009/10/08 15:26:15 UTC
svn commit: r823166 -
/directory/studio/trunk/ldapbrowser-ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/views/browser/BrowserViewUniversalListener.java
Author: pamarcelot
Date: Thu Oct 8 13:26:14 2009
New Revision: 823166
URL: http://svn.apache.org/viewvc?rev=823166&view=rev
Log:
Fixed the behavior when no single-tab entry editor is open. No empty entry editor is opened now..
Modified:
directory/studio/trunk/ldapbrowser-ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/views/browser/BrowserViewUniversalListener.java
Modified: directory/studio/trunk/ldapbrowser-ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/views/browser/BrowserViewUniversalListener.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/ldapbrowser-ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/views/browser/BrowserViewUniversalListener.java?rev=823166&r1=823165&r2=823166&view=diff
==============================================================================
--- directory/studio/trunk/ldapbrowser-ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/views/browser/BrowserViewUniversalListener.java (original)
+++ directory/studio/trunk/ldapbrowser-ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/views/browser/BrowserViewUniversalListener.java Thu Oct 8 13:26:14 2009
@@ -28,6 +28,7 @@
import org.apache.directory.studio.connection.core.event.ConnectionEventRegistry;
import org.apache.directory.studio.connection.ui.ConnectionUIPlugin;
import org.apache.directory.studio.entryeditors.EntryEditorManager;
+import org.apache.directory.studio.entryeditors.IEntryEditor;
import org.apache.directory.studio.ldapbrowser.common.BrowserCommonActivator;
import org.apache.directory.studio.ldapbrowser.common.BrowserCommonConstants;
import org.apache.directory.studio.ldapbrowser.common.actions.BrowserSelectionUtils;
@@ -67,8 +68,10 @@
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.ui.IEditorReference;
import org.eclipse.ui.INullSelectionListener;
import org.eclipse.ui.IPartListener2;
+import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.IWorkbenchPartReference;
import org.eclipse.ui.PartInitException;
@@ -349,7 +352,9 @@
}
}
}
- else
+ // Checking if there's at least one entry editor open.
+ // We need to blank it
+ else if ( isOneOrMoreOpenSingleTabEntryEditors() )
{
entryEditorManager.openEntryEditor( new IEntry[0], new ISearchResult[0], new IBookmark[0] );
}
@@ -358,6 +363,35 @@
/**
+ * Indicates when one or more single-tab entry editor is (are) open.
+ *
+ * @return
+ * <code>true</code> if one or more single-tab entry editor is (are) open,
+ * <code>false</code> if not.
+ */
+ private boolean isOneOrMoreOpenSingleTabEntryEditors()
+ {
+ IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+ for ( IEditorReference ref : activePage.getEditorReferences() )
+ {
+ IWorkbenchPart part = ref.getPart( false );
+ if ( part != null && part instanceof IEntryEditor )
+ {
+ IEntryEditor editor = ( IEntryEditor ) part;
+ if ( ( editor != null ) && ( editor.getEntryEditorInput() != null )
+ && ( editor.getEntryEditorInput().getExtension() != null )
+ && ( !editor.getEntryEditorInput().getExtension().isMultiWindow() ) )
+ {
+ return true;
+ }
+ }
+ }
+
+ return false;
+ }
+
+
+ /**
* {@inheritDoc}
*/
public void dispose()