Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 91301 invoked from network); 3 Oct 2007 21:46:13 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 Oct 2007 21:46:13 -0000 Received: (qmail 23436 invoked by uid 500); 3 Oct 2007 21:46:02 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 23405 invoked by uid 500); 3 Oct 2007 21:46:02 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 23394 invoked by uid 99); 3 Oct 2007 21:46:02 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Oct 2007 14:46:02 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Oct 2007 21:46:12 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 21B091A9832; Wed, 3 Oct 2007 14:45:22 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r581733 - /directory/studio/trunk/studio-connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/ConnectionUniversalListener.java Date: Wed, 03 Oct 2007 21:45:21 -0000 To: commits@directory.apache.org From: seelmann@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071003214522.21B091A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: seelmann Date: Wed Oct 3 14:45:17 2007 New Revision: 581733 URL: http://svn.apache.org/viewvc?rev=581733&view=rev Log: DIRSTUDIO-187: expand/collapse connection folders on double click Modified: directory/studio/trunk/studio-connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/ConnectionUniversalListener.java Modified: directory/studio/trunk/studio-connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/ConnectionUniversalListener.java URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/ConnectionUniversalListener.java?rev=581733&r1=581732&r2=581733&view=diff ============================================================================== --- directory/studio/trunk/studio-connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/ConnectionUniversalListener.java (original) +++ directory/studio/trunk/studio-connection-ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/ConnectionUniversalListener.java Wed Oct 3 14:45:17 2007 @@ -26,6 +26,10 @@ import org.apache.directory.studio.connection.core.event.ConnectionEventRegistry; import org.apache.directory.studio.connection.core.event.ConnectionUpdateListener; import org.apache.directory.studio.connection.ui.ConnectionUIPlugin; +import org.eclipse.jface.viewers.DoubleClickEvent; +import org.eclipse.jface.viewers.IDoubleClickListener; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.viewers.TreeViewer; @@ -42,7 +46,29 @@ /** The tree viewer */ protected TreeViewer viewer; - + /** This listener expands/collapses a connection folder when double clicking */ + private IDoubleClickListener viewerDoubleClickListener = new IDoubleClickListener() + { + public void doubleClick( DoubleClickEvent event ) + { + if ( event.getSelection() instanceof IStructuredSelection ) + { + Object obj = ( ( IStructuredSelection ) event.getSelection() ).getFirstElement(); + if ( obj instanceof ConnectionFolder ) + { + if ( viewer.getExpandedState( obj ) ) + { + viewer.collapseToLevel( obj, 1 ); + } + else if ( ( ( ITreeContentProvider ) viewer.getContentProvider() ).hasChildren( obj ) ) + { + viewer.expandToLevel( obj, 1 ); + } + } + } + } + }; + /** * Creates a new instance of ConnectionUniversalListener. * @@ -52,6 +78,7 @@ { this.viewer = viewer; + this.viewer.addDoubleClickListener( viewerDoubleClickListener ); ConnectionEventRegistry.addConnectionUpdateListener( this, ConnectionUIPlugin.getDefault().getEventRunner() ); }