Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 227852 Details for
Bug 401090
Allow bulk reset of manually associated file editor
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
First idea for implementation
bug_401090.patch (text/plain), 21.82 KB, created by
rgra Missing name
on 2013-03-03 13:57:32 EST
(
hide
)
Description:
First idea for implementation
Filename:
MIME Type:
Creator:
rgra Missing name
Created:
2013-03-03 13:57:32 EST
Size:
21.82 KB
patch
obsolete
>diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/commands/ResetEditorHandler.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/commands/ResetEditorHandler.java >new file mode 100644 >index 0000000..29f71f6 >--- /dev/null >+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/commands/ResetEditorHandler.java >@@ -0,0 +1,182 @@ >+/******************************************************************************* >+ * Copyright (c) 2013 Rabea Gransberger 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: >+ * Rabea Gransberger - initial API and implementation >+ ******************************************************************************/ >+ >+package org.eclipse.ui.commands; >+ >+import java.text.MessageFormat; >+import java.util.ArrayList; >+import java.util.Iterator; >+import java.util.List; >+ >+import org.eclipse.core.commands.AbstractHandler; >+import org.eclipse.core.commands.ExecutionEvent; >+import org.eclipse.core.commands.ExecutionException; >+import org.eclipse.core.resources.IContainer; >+import org.eclipse.core.resources.IFile; >+import org.eclipse.core.resources.IResource; >+import org.eclipse.core.runtime.CoreException; >+import org.eclipse.core.runtime.IAdaptable; >+import org.eclipse.jface.dialogs.MessageDialog; >+import org.eclipse.jface.viewers.ISelection; >+import org.eclipse.jface.viewers.IStructuredSelection; >+import org.eclipse.jface.window.Window; >+import org.eclipse.swt.widgets.Shell; >+import org.eclipse.ui.dialogs.ResetEditorExtensionDialog; >+import org.eclipse.ui.handlers.HandlerUtil; >+import org.eclipse.ui.ide.IDE; >+import org.eclipse.ui.internal.ide.IDEWorkbenchMessages; >+import org.eclipse.ui.internal.util.Util; >+import org.eclipse.ui.model.IWorkbenchAdapter; >+ >+/** >+ * Resets all editors of files in the current selection with a chosen extension which were >+ * previously selected in 'Open With' to the default editor. >+ * >+ * @since 3.9 >+ * @see "https://bugs.eclipse.org/bugs/401090" >+ */ >+public class ResetEditorHandler extends AbstractHandler { >+ >+ >+ /* (non-Javadoc) >+ * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) >+ */ >+ public Object execute(ExecutionEvent event) throws ExecutionException { >+ Shell activeShell= HandlerUtil.getActiveShell(event); >+ >+ List resources= collectResources(event); >+ if (resources.isEmpty()) { >+ MessageDialog.openInformation(activeShell, IDEWorkbenchMessages.ResetEditorHandler_noResourcesTitle, IDEWorkbenchMessages.ResetEditorHandler_noResourcesMessage); >+ return null; >+ } >+ >+ String resourceNames= resourceNamesAsString(resources); >+ >+ ResetEditorExtensionDialog dialog= new ResetEditorExtensionDialog(activeShell, resourceNames); >+ if (dialog.open() == Window.OK) { >+ IExtensionSelection extension= dialog.getExtension(); >+ >+ boolean confirmed= MessageDialog.openConfirm(activeShell, >+ IDEWorkbenchMessages.ResetEditorHandler_confirmTitle, MessageFormat.format(IDEWorkbenchMessages.ResetEditorHandler_confirmMessage, new Object[] { extension, resourceNames })); >+ if (confirmed) { >+ for (Iterator it= resources.iterator(); it.hasNext();) { >+ Object o= it.next(); >+ if (o instanceof IResource) { >+ IResource resource= (IResource) o; >+ resetFilesOfResource(resource, extension); >+ } >+ } >+ } >+ } >+ return null; >+ } >+ >+ private String resourceNamesAsString(List resources) { >+ StringBuffer sb= new StringBuffer(); >+ >+ for (Iterator it= resources.iterator(); it.hasNext();) { >+ Object o= it.next(); >+ >+ if (o instanceof IResource) { >+ IResource resource= (IResource) o; >+ >+ IWorkbenchAdapter adapter= (IWorkbenchAdapter) Util.getAdapter(resource, >+ IWorkbenchAdapter.class); >+ if (adapter != null) { >+ if (sb.length() > 0) { >+ sb.append(", "); //$NON-NLS-1$ >+ } >+ sb.append(adapter.getLabel(resource)); >+ } >+ } >+ } >+ return sb.toString(); >+ } >+ >+ private List collectResources(ExecutionEvent event) throws ExecutionException { >+ List results= new ArrayList(); >+ ISelection selection= HandlerUtil.getCurrentSelection(event); >+ >+ if (selection instanceof IStructuredSelection) { >+ IStructuredSelection struct= (IStructuredSelection) selection; >+ for (Iterator it= struct.iterator(); it.hasNext();) { >+ Object o= it.next(); >+ >+ if (o instanceof IResource) { >+ results.add(o); >+ } >+ else if (o instanceof IAdaptable) { >+ IAdaptable adaptable= (IAdaptable) o; >+ IResource resource= (IResource) adaptable.getAdapter(IResource.class); >+ results.add(resource); >+ } >+ else { >+ // skip >+ } >+ } >+ } >+ else { >+ throw new ExecutionException("Unknown selection"); //$NON-NLS-1$ >+ } >+ return results; >+ } >+ >+ >+ private void resetFilesOfResource(IResource resource, IExtensionSelection extension) throws ExecutionException { >+ if (resource instanceof IFile) { >+ resetFileWithExtension((IFile) resource, extension); >+ } >+ else if (resource instanceof IContainer) { >+ resetFilesInContainer((IContainer) resource, extension); >+ } >+ >+ } >+ >+ private void resetFilesInContainer(IContainer resource, IExtensionSelection extension) throws ExecutionException { >+ try { >+ IResource[] members= resource.members(); >+ for (int i= 0; i < members.length; i++) { >+ resetFilesOfResource(members[i], extension); >+ } >+ } catch (CoreException e) { >+ throw new ExecutionException("Failed to get members of container", e); //$NON-NLS-1$ >+ } >+ } >+ >+ private void resetFileWithExtension(IFile resource, IExtensionSelection extension) { >+ if (extension.matches(resource)) { >+ IDE.setDefaultEditor(resource, null); >+ } >+ } >+ >+ /** >+ * Interface for selection of extensions which should be reset >+ * >+ * @since 3.9 >+ */ >+ public static interface IExtensionSelection { >+ /** >+ * Checks if the extension matches the given file. >+ * >+ * @param file the file to check >+ * @return <code>true</code> if the file should be reset >+ */ >+ public boolean matches(IFile file); >+ >+ /** >+ * A description for the selected extension. >+ * >+ * @return the description of this selection >+ */ >+ public String getDescription(); >+ } >+ >+} >diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResetEditorExtensionDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResetEditorExtensionDialog.java >new file mode 100644 >index 0000000..b56e717 >--- /dev/null >+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResetEditorExtensionDialog.java >@@ -0,0 +1,237 @@ >+/******************************************************************************* >+ * Copyright (c) 2013 Rabea Gransberger 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: >+ * Rabea Gransberger - initial API and implementation >+ ******************************************************************************/ >+ >+package org.eclipse.ui.dialogs; >+ >+import java.text.MessageFormat; >+ >+import org.eclipse.core.resources.IFile; >+import org.eclipse.jface.dialogs.IDialogConstants; >+import org.eclipse.jface.dialogs.IMessageProvider; >+import org.eclipse.jface.dialogs.TitleAreaDialog; >+import org.eclipse.jface.layout.GridDataFactory; >+import org.eclipse.swt.SWT; >+import org.eclipse.swt.events.SelectionAdapter; >+import org.eclipse.swt.events.SelectionEvent; >+import org.eclipse.swt.layout.GridData; >+import org.eclipse.swt.layout.GridLayout; >+import org.eclipse.swt.widgets.Button; >+import org.eclipse.swt.widgets.Combo; >+import org.eclipse.swt.widgets.Composite; >+import org.eclipse.swt.widgets.Control; >+import org.eclipse.swt.widgets.Shell; >+import org.eclipse.swt.widgets.Text; >+import org.eclipse.ui.IFileEditorMapping; >+import org.eclipse.ui.commands.ResetEditorHandler; >+import org.eclipse.ui.commands.ResetEditorHandler.IExtensionSelection; >+import org.eclipse.ui.internal.WorkbenchPlugin; >+import org.eclipse.ui.internal.ide.IDEWorkbenchMessages; >+ >+/** >+ * Dialog to select the extensions for the {@link ResetEditorHandler}. >+ * >+ * @since 3.9 >+ */ >+public class ResetEditorExtensionDialog extends TitleAreaDialog { >+ >+ private Button allButton; >+ >+ private Button comboButton; >+ >+ private Combo extensionCombo; >+ >+ private Button textButton; >+ >+ private Text extensionInputText; >+ >+ private IExtensionSelection selection; >+ >+ private final String resourceNames; >+ >+ >+ /** >+ * Constructs a new dialog to select file extensions for editor reset. >+ * >+ * @param parentShell The parent shell for this dialog. >+ * @param resourceNames Names of the selected resources >+ */ >+ public ResetEditorExtensionDialog(Shell parentShell, String resourceNames) { >+ super(parentShell); >+ this.resourceNames= resourceNames; >+ } >+ >+ /* (non-Javadoc) >+ * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell) >+ */ >+ protected void configureShell(Shell shell) { >+ super.configureShell(shell); >+ shell.setText(IDEWorkbenchMessages.ResetEditorExtensionDialog_shellTitle); >+ //TODO >+// PlatformUI.getWorkbench().getHelpSystem().setHelp(shell, helpContextId); >+ } >+ >+ /* (non-Javadoc) >+ * @see org.eclipse.jface.window.Window#canHandleShellCloseEvent() >+ */ >+ protected boolean canHandleShellCloseEvent() { >+ return false; >+ } >+ >+ /* (non-Javadoc) >+ * @see org.eclipse.jface.dialogs.TitleAreaDialog#createDialogArea(org.eclipse.swt.widgets.Composite) >+ */ >+ protected Control createDialogArea(Composite parent) { >+ setTitle(IDEWorkbenchMessages.ResetEditorExtensionDialog_dialogTitle); >+ setMessage(MessageFormat.format(IDEWorkbenchMessages.ResetEditorExtensionDialog_dialogMessage, new Object[] { resourceNames })); >+ >+ Composite result= new Composite(parent, SWT.NONE); >+ GridLayout layout= new GridLayout(); >+ layout.marginHeight= convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN); >+ layout.marginWidth= convertVerticalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN); >+ layout.verticalSpacing= convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); >+ layout.horizontalSpacing= convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING); >+ result.setLayout(layout); >+ >+ this.allButton= addRadioButton(result, IDEWorkbenchMessages.ResetEditorExtensionDialog_buttonAll); >+ this.allButton.setToolTipText(IDEWorkbenchMessages.ResetEditorExtensionDialog_buttonAll_Tooltip); >+ >+ this.comboButton= addRadioButton(result, IDEWorkbenchMessages.ResetEditorExtensionDialog_buttonSelection); >+ this.comboButton.setToolTipText(IDEWorkbenchMessages.ResetEditorExtensionDialog_buttonSelection_toolip); >+ >+ this.extensionCombo= new Combo(result, SWT.READ_ONLY); >+ this.extensionCombo.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); >+ GridDataFactory.fillDefaults().indent(15, SWT.DEFAULT).applyTo(this.extensionCombo); >+ >+ this.textButton= addRadioButton(result, IDEWorkbenchMessages.ResetEditorExtensionDialog_buttonText); >+ this.textButton.setToolTipText(IDEWorkbenchMessages.ResetEditorExtensionDialog_buttonText_tooltip); >+ this.extensionInputText= new Text(result, SWT.BORDER); >+ GridDataFactory.fillDefaults().indent(15, SWT.DEFAULT).applyTo(this.extensionInputText); >+ >+ this.extensionInputText.setEnabled(false); >+ this.extensionCombo.setEnabled(false); >+ >+ fillExtensionCombo(); >+ >+ this.comboButton.addSelectionListener(new SelectionAdapter() { >+ public void widgetSelected(SelectionEvent e) { >+ extensionCombo.setEnabled(comboButton.getSelection()); >+ } >+ }); >+ >+ this.textButton.addSelectionListener(new SelectionAdapter() { >+ public void widgetSelected(SelectionEvent e) { >+ extensionInputText.setEnabled(textButton.getSelection()); >+ } >+ }); >+ return result; >+ } >+ >+ >+ >+ /* (non-Javadoc) >+ * @see org.eclipse.jface.dialogs.Dialog#okPressed() >+ */ >+ protected void okPressed() { >+ this.selection= null; >+ if (this.allButton.getSelection()) { >+ this.selection= new AllExtensionMatcher(); >+ } >+ else if (this.comboButton.getSelection()) { >+ String temp= (String) this.extensionCombo.getData(this.extensionCombo.getText()); >+ this.selection= new OneExtensionMatcher(temp); >+ } >+ else { >+ String temp= this.extensionInputText.getText().trim(); >+ if (!temp.startsWith(".")) { //$NON-NLS-1$ >+ setMessage(IDEWorkbenchMessages.ResetEditorExtensionDialog_wrongText, IMessageProvider.ERROR); >+ return; >+ } >+ this.selection= new OneExtensionMatcher(temp); >+ } >+ >+ super.okPressed(); >+ } >+ >+ >+ private void fillExtensionCombo() { >+ IFileEditorMapping[] array= WorkbenchPlugin.getDefault() >+ .getEditorRegistry().getFileEditorMappings(); >+ String[] extensions= new String[array.length]; >+ for (int i= 0; i < array.length; i++) { >+ extensions[i]= array[i].getLabel(); >+ extensionCombo.setData(array[i].getLabel(), array[i].getExtension()); >+ } >+ extensionCombo.setItems(extensions); >+ extensionCombo.select(0); >+ } >+ >+ private Button addRadioButton(Composite parent, String label) { >+ GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL); >+ >+ Button button= new Button(parent, SWT.RADIO); >+ button.setText(label); >+ button.setLayoutData(gd); >+ >+ return button; >+ } >+ >+ /** >+ * Gets the selected extension. >+ * >+ * @return The selected extensions, never <code>null</code>. >+ */ >+ public IExtensionSelection getExtension() { >+ //TODO non API return type >+ return this.selection; >+ } >+ >+ private static class AllExtensionMatcher implements IExtensionSelection { >+ >+ /* (non-Javadoc) >+ * @see org.eclipse.ui.commands.ResetEditorHandler.ExtensionMatcher#matches(org.eclipse.core.resources.IFile) >+ */ >+ public boolean matches(IFile resource) { >+ return true; >+ } >+ >+ /* (non-Javadoc) >+ * @see org.eclipse.ui.commands.ResetEditorHandler.ExtensionMatcher#getDescription() >+ */ >+ public String getDescription() { >+ return IDEWorkbenchMessages.ResetEditorExtensionDialog_allDescription; >+ } >+ } >+ >+ private static class OneExtensionMatcher implements IExtensionSelection { >+ >+ private final String extension; >+ >+ public OneExtensionMatcher(String extension) { >+ this.extension= extension; >+ } >+ >+ /* (non-Javadoc) >+ * @see org.eclipse.ui.commands.ResetEditorHandler.ExtensionMatcher#matches(org.eclipse.core.resources.IFile) >+ */ >+ public boolean matches(IFile resource) { >+ return extension.equals(resource.getFileExtension()); >+ } >+ >+ /* (non-Javadoc) >+ * @see org.eclipse.ui.commands.ResetEditorHandler.ExtensionMatcher#getDescription() >+ */ >+ public String getDescription() { >+ return MessageFormat.format(IDEWorkbenchMessages.ResetEditorExtensionDialog_extensionDescription, new Object[] { extension }); >+ } >+ >+ } >+ >+} >diff --git a/bundles/org.eclipse.ui.ide/plugin.properties b/bundles/org.eclipse.ui.ide/plugin.properties >index 909f1b5..1b22e74 100644 >--- a/bundles/org.eclipse.ui.ide/plugin.properties >+++ b/bundles/org.eclipse.ui.ide/plugin.properties >@@ -195,6 +195,10 @@ > command.showResourceByPath.description= Show a resource in the Navigator given its path > commandParameter.showResourceByPath.resourcePath.name= Resource Path > >+command.editorReset.description = Resets all files in current selection to use the default editor >+command.editorReset.name = Reset Editor >+command.editorReset.mnemonic = R >+ > KeyBindingActionSet.label = Keyboard Shortcuts > KeyBindingActionSet.showKeyAssist.label = &Key Assist... > >@@ -305,6 +309,3 @@ > installationPage.feature.name = Features > multiFilterProvider.name = File and Folder Attributes > multiFilterProvider.description = Match many attributes of files and folders >- >- >-Menu.resetEditor.label = Reset Editors >\ No newline at end of file >diff --git a/bundles/org.eclipse.ui.ide/plugin.xml b/bundles/org.eclipse.ui.ide/plugin.xml >index 66f3bc0..1822aaf 100644 >--- a/bundles/org.eclipse.ui.ide/plugin.xml >+++ b/bundles/org.eclipse.ui.ide/plugin.xml >@@ -1001,10 +1001,9 @@ > </command> > <command > categoryId="org.eclipse.ui.category.project" >- defaultHandler="org.eclipse.ui.commands.ResetEditorHandler" >- description="Reset Editor description" >- id="org.eclipse.ui.editor.reset" >- name="Reset Editor"> >+ description="%command.editorReset.description" >+ id="org.eclipse.ui.ide.editorReset" >+ name="%command.editorReset.name"> > </command> > </extension> > >@@ -2045,11 +2044,18 @@ > allPopups="true" > locationURI="popup:org.eclipse.ui.popup.any"> > <command >- commandId="org.eclipse.ui.editor.reset" >- icon="icons/full/markers/help_small.gif" >- label="Reset Editor" >- mode="FORCE_TEXT" >+ commandId="org.eclipse.ui.ide.editorReset" >+ mnemonic="%command.editorReset.mnemonic" > style="push"> >+ <visibleWhen >+ checkEnabled="false"> >+ <with variable="selection"> >+ <iterate ifEmpty="false" operator="and"> >+ <adapt type="org.eclipse.core.resources.IResource" > >+ </adapt> >+ </iterate> >+ </with> >+ </visibleWhen> > </command> > </menuContribution> > </extension> >@@ -2235,6 +2241,22 @@ > </iterate> > </enabledWhen> > </handler> >+ <handler >+ class="org.eclipse.ui.commands.ResetEditorHandler" >+ commandId="org.eclipse.ui.ide.editorReset"> >+ <enabledWhen> >+ <with >+ variable="selection"> >+ <iterate >+ ifEmpty="false" >+ operator="and"> >+ <adapt >+ type="org.eclipse.core.resources.IResource"> >+ </adapt> >+ </iterate> >+ </with> >+ </enabledWhen> >+ </handler> > </extension> > <extension > point="org.eclipse.core.expressions.propertyTesters"> >diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchMessages.java >index 0c012f7..2e6a8d6 100644 >--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchMessages.java >+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchMessages.java >@@ -260,6 +260,11 @@ > public static String RenameResourceAction_nameMustBeDifferent; > public static String RenameResourceAction_problemMessage; > >+ public static String ResetEditorHandler_confirmMessage; >+ public static String ResetEditorHandler_confirmTitle; >+ public static String ResetEditorHandler_noResourcesMessage; >+ public static String ResetEditorHandler_noResourcesTitle; >+ > public static String DeleteResourceAction_text; > public static String DeleteResourceAction_toolTip; > public static String DeleteResourceAction_title1; >@@ -719,6 +724,19 @@ > public static String ContainerGenerator_progressMessage; > public static String ContainerGenerator_pathOccupied; > >+ public static String ResetEditorExtensionDialog_allDescription; >+ public static String ResetEditorExtensionDialog_buttonAll; >+ public static String ResetEditorExtensionDialog_buttonAll_Tooltip; >+ public static String ResetEditorExtensionDialog_buttonSelection; >+ public static String ResetEditorExtensionDialog_buttonSelection_toolip; >+ public static String ResetEditorExtensionDialog_buttonText; >+ public static String ResetEditorExtensionDialog_buttonText_tooltip; >+ public static String ResetEditorExtensionDialog_dialogMessage; >+ public static String ResetEditorExtensionDialog_dialogTitle; >+ public static String ResetEditorExtensionDialog_extensionDescription; >+ public static String ResetEditorExtensionDialog_shellTitle; >+ public static String ResetEditorExtensionDialog_wrongText; >+ > public static String ResourceGroup_resource; > public static String ResourceGroup_nameExists; > public static String ResourceGroup_folderEmpty; >diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties >index a3fa27d..e94d02f 100644 >--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties >+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties >@@ -569,6 +569,22 @@ > StartupPreferencePage_exitPromptButton = &Confirm exit when closing last window > > # --- Info --- >+ResetEditorExtensionDialog_allDescription=all files >+ResetEditorExtensionDialog_buttonAll=All >+ResetEditorExtensionDialog_buttonAll_Tooltip=Reset the editors for all files >+ResetEditorExtensionDialog_buttonSelection=Selection >+ResetEditorExtensionDialog_buttonSelection_toolip=Reset the editors for files with the selected extension >+ResetEditorExtensionDialog_buttonText=Text >+ResetEditorExtensionDialog_buttonText_tooltip=Reset the editors for files with the given extension >+ResetEditorExtensionDialog_dialogMessage=Resets all editors of files in the current selection to the default editor.\nSelected resources: {0} >+ResetEditorExtensionDialog_dialogTitle=Reset Editors: Select Extensions >+ResetEditorExtensionDialog_extensionDescription=files with extension {0} >+ResetEditorExtensionDialog_shellTitle=Reset Editors >+ResetEditorExtensionDialog_wrongText=Extension must start with '.' >+ResetEditorHandler_confirmMessage=Do you really want to reset {0} to the default editor for the selected resources: {1}? >+ResetEditorHandler_confirmTitle=Really reset editors? >+ResetEditorHandler_noResourcesMessage=Please select valid resources and try again >+ResetEditorHandler_noResourcesTitle=No resources selected > ResourceInfo_readOnly = &Read only > ResourceInfo_executable = E&xecutable > ResourceInfo_locked = L&ocked
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 401090
: 227852