Community
Participate
Working Groups
Currently, if no ChangeLog exists and Ctrl+Alt+C is pressed, a dialog opens which asks for location of the ChangeLog. This dialog offers multiple projects as the starting point. This should restrict the choice to the current project only. In addition, if the current project has no subfolders to choose from, then the ChangeLog should simply default to the top level directory of the project.
Let's discuss this and implement a solution for 0.2.
Unsetting milestone until we have a concrete plan.
Created attachment 151723 [details] Patch for only displaying project of selected file in selection dialog
The ContainerSelectionDialog does not display hidden projects, so the current proposed patch temporarily hides all projects in the workspace except for the one that contains the file from which 'ctrl + alt +c' was initiated. This causes only one project (and all of its contained folders) to be displayed. After the user completes their selection, all projects are un-hidden again.
(In reply to comment #4) > The ContainerSelectionDialog does not display hidden projects, so the current > proposed patch temporarily hides all projects in the workspace except for the > one that contains the file from which 'ctrl + alt +c' was initiated. This > causes only one project (and all of its contained folders) to be displayed. > After the user completes their selection, all projects are un-hidden again. This seems dangerous; if an exception or interruption occurs, the projects will be left hidden. Have you tried just passing to the ContainerSelectionDialog, the project as the root container or if necessary, creating a temporary container which just contains the given project inside of it?
Created attachment 151749 [details] changelog patch using the new Selection Dialog New proposed patch. A new Selection Dialog is created based on the ContainerSelectionDialog.
Created attachment 151750 [details] ChangeLogSelectionRootContainer
Created attachment 151751 [details] ChangeLogSelectionGroup
Created attachment 151752 [details] ChangeLogSelectionDialog
Looks much better. You need to remove the internal class references import org.eclipse.ui.internal.ide.IDEWorkbenchMessages; import org.eclipse.ui.internal.ide.misc.ContainerContentProvider; and import org.eclipse.ui.internal.ide.IDEWorkbenchMessages; import org.eclipse.ui.internal.ide.IIDEHelpContextIds; For IDEWorkbenchMessages, use a local message provider and copy over the few messages referred to. For ContainerContentProvider, copy the class over as it has no internal references within it. For the IIDEHelpContextIds, just form the id yourself using the same prefix and String used in IIDEHelpContextIds for the one context id used. Also please fix up the header comments in the last two files to have Red Hat Inc. as contributors, followed by your comment about modifying the file for use with ChangeLog. e.g. /******************************************************************************* * Copyright (c) 2000, 2008, 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation * Igor Fedorenko <igorfie@yahoo.com> - * Fix for Bug 136921 [IDE] New File dialog locks for 20 seconds * Red Hat Inc. - modified this file to work with ChangeLog Plugin *******************************************************************************/
Created attachment 151827 [details] ChangeLogContainerContentProvider
Created attachment 151828 [details] ChangeLogContainerSelectionDialog
Created attachment 151829 [details] ChangeLogContainerSelectionGroup
Is there a way we can do this without carrying modified version of platform classes?
(In reply to comment #14) > Is there a way we can do this without carrying modified version of platform > classes? These are just UI elements that aren't quite doing what we want and aren't extensible to do what we want. To my knowledge, there is nothing existing out there that does exactly what we want. The Container dialog in question is insisting on going up the Container parent path and thereby showing the entire workspace when all we want to show is one project's directory structure. We would normally write such custom UI elements from scratch but it buys us nothing over copying over the existing classes which are close and making minor modifications to fit our situation. We can alternatively campaign to have ContainerSelectionDialog modified but that will likely take a while.
(In reply to comment #15) > (In reply to comment #14) > > Is there a way we can do this without carrying modified version of platform > > classes? > > These are just UI elements that aren't quite doing what we want and aren't > extensible to do what we want. Thanks for the clarifications. I was under the impression they were "deeper" elements than this and that the modifications were more severe.
Revision 23726.
This has been fixed.
Comment on attachment 151749 [details] changelog patch using the new Selection Dialog Marking patch obsolete since it was done by a committer.