X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.e4%2Fsrc%2Forg%2Fargeo%2Fcms%2Fe4%2Fusers%2FUsersView.java;h=877a925c6d4371d7396cc1de8737a7e34c26e74d;hb=633a8acd189cc22f06944d278879601189be1bc8;hp=7562421cc7d2c1d5794b93836993595d0acc852f;hpb=d6390257a328199a2a4a677b33e79b6535175169;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.e4/src/org/argeo/cms/e4/users/UsersView.java b/org.argeo.cms.e4/src/org/argeo/cms/e4/users/UsersView.java index 7562421cc..877a925c6 100644 --- a/org.argeo.cms.e4/src/org/argeo/cms/e4/users/UsersView.java +++ b/org.argeo.cms.e4/src/org/argeo/cms/e4/users/UsersView.java @@ -1,18 +1,3 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ package org.argeo.cms.e4.users; import java.util.ArrayList; @@ -22,7 +7,7 @@ import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import javax.inject.Inject; -import org.argeo.cms.ArgeoNames; +import org.argeo.api.cms.CmsConstants; import org.argeo.cms.CmsException; import org.argeo.cms.auth.CurrentUser; import org.argeo.cms.e4.users.providers.CommonNameLP; @@ -33,11 +18,14 @@ import org.argeo.cms.e4.users.providers.UserNameLP; import org.argeo.eclipse.ui.ColumnDefinition; import org.argeo.eclipse.ui.EclipseUiUtils; import org.argeo.eclipse.ui.parts.LdifUsersTable; -import org.argeo.naming.LdapAttrs; -import org.argeo.naming.LdapObjs; -import org.argeo.node.NodeConstants; +import org.argeo.util.naming.LdapAttrs; +import org.argeo.util.naming.LdapObjs; import org.eclipse.e4.ui.di.Focus; import org.eclipse.e4.ui.workbench.modeling.EPartService; +import org.eclipse.e4.ui.workbench.modeling.ESelectionService; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.swt.SWT; import org.eclipse.swt.dnd.DND; @@ -52,7 +40,7 @@ import org.osgi.service.useradmin.UserAdminEvent; import org.osgi.service.useradmin.UserAdminListener; /** List all users with filter - based on Ldif userAdmin */ -public class UsersView implements ArgeoNames { +public class UsersView { // private final static Log log = LogFactory.getLog(UsersView.class); // public final static String ID = WorkbenchUiPlugin.PLUGIN_ID + ".usersView"; @@ -70,7 +58,7 @@ public class UsersView implements ArgeoNames { private UserAdminListener listener; @PostConstruct - public void createPartControl(Composite parent) { + public void createPartControl(Composite parent, ESelectionService selectionService) { parent.setLayout(EclipseUiUtils.noSpaceGridLayout()); // Define the displayed columns @@ -78,7 +66,7 @@ public class UsersView implements ArgeoNames { columnDefs.add(new ColumnDefinition(new MailLP(), "E-mail", 150)); columnDefs.add(new ColumnDefinition(new DomainNameLP(), "Domain", 200)); // Only show technical DN to admin - if (CurrentUser.isInRole(NodeConstants.ROLE_ADMIN)) + if (CurrentUser.isInRole(CmsConstants.ROLE_ADMIN)) columnDefs.add(new ColumnDefinition(new UserNameLP(), "Distinguished Name", 300)); // Create and configure the table @@ -90,6 +78,14 @@ public class UsersView implements ArgeoNames { // Links userViewer = userTableViewerCmp.getTableViewer(); userViewer.addDoubleClickListener(new UserTableDefaultDClickListener(partService)); + userViewer.addSelectionChangedListener(new ISelectionChangedListener() { + + @Override + public void selectionChanged(SelectionChangedEvent event) { + IStructuredSelection selection = (IStructuredSelection) event.getSelection(); + selectionService.setSelection(selection.toList()); + } + }); // getViewSite().setSelectionProvider(userViewer); // Really?