Skip to content

Commit e4afcee

Browse files
committed
Manage refactoring preferences. See
#28
1 parent d681420 commit e4afcee

File tree

9 files changed

+305
-122
lines changed

9 files changed

+305
-122
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
package ts.eclipse.ide.jsdt.internal.ui.actions;
22

3+
import org.eclipse.core.runtime.CoreException;
34
import org.eclipse.jface.preference.IPreferenceStore;
45
import org.eclipse.jface.text.ITextSelection;
56
import org.eclipse.jface.viewers.IStructuredSelection;
67
import org.eclipse.ui.IWorkbenchSite;
7-
import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin;
8-
import org.eclipse.wst.jsdt.ui.PreferenceConstants;
8+
import org.eclipse.wst.jsdt.core.JavaScriptCore;
9+
import org.eclipse.wst.jsdt.internal.ui.refactoring.RefactoringMessages;
10+
import org.eclipse.wst.jsdt.internal.ui.text.PreferencesAdapter;
11+
import org.eclipse.wst.jsdt.internal.ui.util.ExceptionHandler;
912
import org.eclipse.wst.jsdt.ui.actions.SelectionDispatchAction;
1013

14+
import ts.eclipse.ide.core.preferences.TypeScriptCorePreferenceConstants;
1115
import ts.eclipse.ide.jsdt.internal.ui.editor.TypeScriptEditor;
1216
import ts.eclipse.ide.jsdt.internal.ui.refactoring.RenameLinkedMode;
17+
import ts.eclipse.ide.jsdt.internal.ui.refactoring.RenameSupport;
18+
import ts.resources.ITypeScriptFile;
1319

1420
public class RenameTypeScriptElementAction extends SelectionDispatchAction {
1521

@@ -38,30 +44,29 @@ public void selectionChanged(IStructuredSelection selection) {
3844

3945
@Override
4046
public void selectionChanged(ITextSelection selection) {
41-
//if (selection.size() == 1) {
42-
// setEnabled(canEnable(selection));
43-
setEnabled(true);
44-
//return;
45-
//}
46-
//setEnabled(false);
47+
// if (selection.size() == 1) {
48+
// setEnabled(canEnable(selection));
49+
setEnabled(true);
50+
// return;
51+
// }
52+
// setEnabled(false);
4753
}
4854

49-
5055
@Override
5156
public void run(ITextSelection selection) {
5257
if (canRunInEditor()) {
5358
doRun(selection);
5459
}
5560
}
56-
61+
5762
private boolean canRunInEditor() {
5863
if (RenameLinkedMode.getActiveLinkedMode() != null)
5964
return true;
6065
return true;
6166
}
62-
67+
6368
private void doRun(ITextSelection selection) {
64-
RenameLinkedMode activeLinkedMode= RenameLinkedMode.getActiveLinkedMode();
69+
RenameLinkedMode activeLinkedMode = RenameLinkedMode.getActiveLinkedMode();
6570
if (activeLinkedMode != null) {
6671
if (activeLinkedMode.isCaretInLinkedPosition()) {
6772
activeLinkedMode.startFullDialog();
@@ -71,39 +76,53 @@ private void doRun(ITextSelection selection) {
7176
}
7277
}
7378

74-
IPreferenceStore store= JavaScriptPlugin.getDefault().getPreferenceStore();
75-
boolean lightweight= store.getBoolean(PreferenceConstants.REFACTOR_LIGHTWEIGHT);
76-
run(selection, lightweight);
77-
78-
// try {
79-
// IJavaElement element= getJavaElementFromEditor();
80-
// IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
81-
// boolean lightweight= store.getBoolean(PreferenceConstants.REFACTOR_LIGHTWEIGHT);
82-
// if (element != null && RefactoringAvailabilityTester.isRenameElementAvailable(element)) {
83-
// run(element, lightweight);
84-
// return;
85-
// } else if (lightweight) {
86-
// // fall back to local rename:
87-
// CorrectionCommandHandler handler= new CorrectionCommandHandler(fEditor, LinkedNamesAssistProposal.ASSIST_ID, true);
88-
// if (handler.doExecute()) {
89-
// fEditor.setStatusLineErrorMessage(RefactoringMessages.RenameJavaElementAction_started_rename_in_file);
90-
// return;
91-
// }
92-
// }
93-
// } catch (CoreException e) {
94-
// ExceptionHandler.handle(e, RefactoringMessages.RenameJavaElementAction_name, RefactoringMessages.RenameJavaElementAction_exception);
95-
// }
96-
// MessageDialog.openInformation(getShell(), RefactoringMessages.RenameJavaElementAction_name, RefactoringMessages.RenameJavaElementAction_not_available);
79+
IPreferenceStore store = new PreferencesAdapter(JavaScriptCore.getPlugin().getPluginPreferences());
80+
boolean lightweight = store.getBoolean(TypeScriptCorePreferenceConstants.REFACTOR_LIGHTWEIGHT);
81+
try {
82+
run(selection, lightweight);
83+
} catch (CoreException e) {
84+
ExceptionHandler.handle(e, RefactoringMessages.RenameJavaElementAction_name,
85+
RefactoringMessages.RenameJavaElementAction_exception);
86+
}
87+
88+
// try {
89+
// IJavaElement element= getJavaElementFromEditor();
90+
// IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
91+
// boolean lightweight=
92+
// store.getBoolean(PreferenceConstants.REFACTOR_LIGHTWEIGHT);
93+
// if (element != null &&
94+
// RefactoringAvailabilityTester.isRenameElementAvailable(element)) {
95+
// run(element, lightweight);
96+
// return;
97+
// } else if (lightweight) {
98+
// // fall back to local rename:
99+
// CorrectionCommandHandler handler= new
100+
// CorrectionCommandHandler(fEditor,
101+
// LinkedNamesAssistProposal.ASSIST_ID, true);
102+
// if (handler.doExecute()) {
103+
// fEditor.setStatusLineErrorMessage(RefactoringMessages.RenameJavaElementAction_started_rename_in_file);
104+
// return;
105+
// }
106+
// }
107+
// } catch (CoreException e) {
108+
// ExceptionHandler.handle(e,
109+
// RefactoringMessages.RenameJavaElementAction_name,
110+
// RefactoringMessages.RenameJavaElementAction_exception);
111+
// }
112+
// MessageDialog.openInformation(getShell(),
113+
// RefactoringMessages.RenameJavaElementAction_name,
114+
// RefactoringMessages.RenameJavaElementAction_not_available);
97115
}
98116

99-
private void run(ITextSelection selection, boolean lightweight) {
117+
private void run(ITextSelection selection, boolean lightweight) throws CoreException {
100118
if (lightweight && fEditor instanceof TypeScriptEditor) {
101119
new RenameLinkedMode(selection, (TypeScriptEditor) fEditor).start();
102-
}
103-
/*else {
104-
RefactoringExecutionStarter.startRenameRefactoring(element, getShell());
105-
}*/
120+
} else {
121+
ITypeScriptFile tsFile = fEditor.getTypeScriptFile();
122+
final RenameSupport support = RenameSupport.create(tsFile, selection.getOffset(), selection.getText());
123+
if (support != null && support.preCheck().isOK())
124+
support.openDialog(getShell());
125+
}
106126
}
107127

108-
109128
}

eclipse/jsdt/ts.eclipse.ide.jsdt.ui/src/ts/eclipse/ide/jsdt/internal/ui/refactoring/RefactoringSaveHelper.java

-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin;
4141
import org.eclipse.wst.jsdt.internal.ui.javaeditor.EditorUtility;
4242
import org.eclipse.wst.jsdt.internal.ui.refactoring.RefactoringMessages;
43-
import org.eclipse.wst.jsdt.internal.ui.refactoring.RefactoringSavePreferences;
4443
import org.eclipse.wst.jsdt.internal.ui.refactoring.actions.ListDialog;
4544
import org.eclipse.wst.jsdt.internal.ui.util.ExceptionHandler;
4645

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/*******************************************************************************
2+
* Copyright (c) 2000, 2008 IBM Corporation and others.
3+
* All rights reserved. This program and the accompanying materials
4+
* are made available under the terms of the Eclipse Public License v1.0
5+
* which accompanies this distribution, and is available at
6+
* http://www.eclipse.org/legal/epl-v10.html
7+
*
8+
* Contributors:
9+
* IBM Corporation - initial API and implementation
10+
*******************************************************************************/
11+
12+
package ts.eclipse.ide.jsdt.internal.ui.refactoring;
13+
14+
import org.eclipse.jface.preference.IPreferenceStore;
15+
import org.eclipse.wst.jsdt.core.JavaScriptCore;
16+
import org.eclipse.wst.jsdt.internal.ui.text.PreferencesAdapter;
17+
18+
import ts.eclipse.ide.core.preferences.TypeScriptCorePreferenceConstants;
19+
20+
public class RefactoringSavePreferences {
21+
22+
public static final String PREF_SAVE_ALL_EDITORS = TypeScriptCorePreferenceConstants.REFACTOR_SAVE_ALL_EDITORS;
23+
24+
public static boolean getSaveAllEditors() {
25+
IPreferenceStore store = new PreferencesAdapter(JavaScriptCore.getPlugin().getPluginPreferences());
26+
return store.getBoolean(PREF_SAVE_ALL_EDITORS);
27+
}
28+
29+
public static void setSaveAllEditors(boolean save) {
30+
IPreferenceStore store = new PreferencesAdapter(JavaScriptCore.getPlugin().getPluginPreferences());
31+
store.setValue(PREF_SAVE_ALL_EDITORS, save);
32+
}
33+
}

0 commit comments

Comments
 (0)