Lines 9-14
Link Here
|
9 |
* Contributors: |
9 |
* Contributors: |
10 |
* Diego Sandin (Motorola) - Initial Version |
10 |
* Diego Sandin (Motorola) - Initial Version |
11 |
* David Marques (Motorola) - Overriding doSave method. |
11 |
* David Marques (Motorola) - Overriding doSave method. |
|
|
12 |
* David Marques (Motorola) - Synchronizing key states with outline. |
12 |
*/ |
13 |
*/ |
13 |
package org.eclipse.mtj.internal.ui.editors.l10n; |
14 |
package org.eclipse.mtj.internal.ui.editors.l10n; |
14 |
|
15 |
|
Lines 14-19
Link Here
|
14 |
|
15 |
|
15 |
import java.io.File; |
16 |
import java.io.File; |
16 |
import java.util.Iterator; |
17 |
import java.util.Iterator; |
|
|
18 |
import java.util.List; |
17 |
|
19 |
|
18 |
import org.eclipse.core.resources.IFile; |
20 |
import org.eclipse.core.resources.IFile; |
19 |
import org.eclipse.core.runtime.CoreException; |
21 |
import org.eclipse.core.runtime.CoreException; |
Lines 19-24
Link Here
|
19 |
import org.eclipse.core.runtime.CoreException; |
21 |
import org.eclipse.core.runtime.CoreException; |
20 |
import org.eclipse.core.runtime.IProgressMonitor; |
22 |
import org.eclipse.core.runtime.IProgressMonitor; |
21 |
import org.eclipse.core.runtime.IStatus; |
23 |
import org.eclipse.core.runtime.IStatus; |
|
|
24 |
import org.eclipse.jface.dialogs.IMessageProvider; |
22 |
import org.eclipse.jface.viewers.ISelection; |
25 |
import org.eclipse.jface.viewers.ISelection; |
23 |
import org.eclipse.jface.viewers.IStructuredSelection; |
26 |
import org.eclipse.jface.viewers.IStructuredSelection; |
24 |
import org.eclipse.mtj.core.internal.MTJCorePlugin; |
27 |
import org.eclipse.mtj.core.internal.MTJCorePlugin; |
Lines 23-28
Link Here
|
23 |
import org.eclipse.jface.viewers.IStructuredSelection; |
26 |
import org.eclipse.jface.viewers.IStructuredSelection; |
24 |
import org.eclipse.mtj.core.internal.MTJCorePlugin; |
27 |
import org.eclipse.mtj.core.internal.MTJCorePlugin; |
25 |
import org.eclipse.mtj.internal.core.l10n.L10nApi; |
28 |
import org.eclipse.mtj.internal.core.l10n.L10nApi; |
|
|
29 |
import org.eclipse.mtj.internal.core.text.l10n.L10nLocale; |
30 |
import org.eclipse.mtj.internal.core.text.l10n.L10nLocales; |
26 |
import org.eclipse.mtj.internal.core.text.l10n.L10nModel; |
31 |
import org.eclipse.mtj.internal.core.text.l10n.L10nModel; |
27 |
import org.eclipse.mtj.internal.core.text.l10n.L10nObject; |
32 |
import org.eclipse.mtj.internal.core.text.l10n.L10nObject; |
28 |
import org.eclipse.mtj.internal.ui.editor.ISortableContentOutlinePage; |
33 |
import org.eclipse.mtj.internal.ui.editor.ISortableContentOutlinePage; |
Lines 35-40
Link Here
|
35 |
import org.eclipse.mtj.internal.ui.editors.l10n.pages.L10nSourcePage; |
40 |
import org.eclipse.mtj.internal.ui.editors.l10n.pages.L10nSourcePage; |
36 |
import org.eclipse.mtj.internal.ui.editors.l10n.pages.LocalizationPage; |
41 |
import org.eclipse.mtj.internal.ui.editors.l10n.pages.LocalizationPage; |
37 |
import org.eclipse.mtj.ui.IMTJUIConstants; |
42 |
import org.eclipse.mtj.ui.IMTJUIConstants; |
|
|
43 |
import org.eclipse.osgi.util.NLS; |
38 |
import org.eclipse.ui.IEditorInput; |
44 |
import org.eclipse.ui.IEditorInput; |
39 |
import org.eclipse.ui.IFileEditorInput; |
45 |
import org.eclipse.ui.IFileEditorInput; |
40 |
import org.eclipse.ui.IStorageEditorInput; |
46 |
import org.eclipse.ui.IStorageEditorInput; |
Lines 39-44
Link Here
|
39 |
import org.eclipse.ui.IFileEditorInput; |
45 |
import org.eclipse.ui.IFileEditorInput; |
40 |
import org.eclipse.ui.IStorageEditorInput; |
46 |
import org.eclipse.ui.IStorageEditorInput; |
41 |
import org.eclipse.ui.PartInitException; |
47 |
import org.eclipse.ui.PartInitException; |
|
|
48 |
import org.eclipse.ui.forms.IMessageManager; |
42 |
import org.eclipse.ui.forms.editor.IFormPage; |
49 |
import org.eclipse.ui.forms.editor.IFormPage; |
43 |
|
50 |
|
44 |
/** |
51 |
/** |
Lines 81-86
Link Here
|
81 |
|
88 |
|
82 |
} |
89 |
} |
83 |
|
90 |
|
|
|
91 |
@Override |
92 |
protected void pageChange(int newPageIndex) { |
93 |
super.pageChange(newPageIndex); |
94 |
IFormPage page = getActivePageInstance(); |
95 |
if (page instanceof LocalizationPage) { |
96 |
L10nModel model = (L10nModel) inputContextManager.findContext(L10nInputContext.CONTEXT_ID).getModel(); |
97 |
if (model != null) { |
98 |
displayLocaleKeysConflict(model.getLocales()); |
99 |
} |
100 |
} |
101 |
} |
102 |
|
84 |
/* (non-Javadoc) |
103 |
/* (non-Javadoc) |
85 |
* @see org.eclipse.mtj.internal.ui.editor.MTJFormEditor#getSelection() |
104 |
* @see org.eclipse.mtj.internal.ui.editor.MTJFormEditor#getSelection() |
86 |
*/ |
105 |
*/ |
Lines 223-226
Link Here
|
223 |
protected InputContext getInputContext(Object object) { |
242 |
protected InputContext getInputContext(Object object) { |
224 |
return inputContextManager.findContext(L10nInputContext.CONTEXT_ID); |
243 |
return inputContextManager.findContext(L10nInputContext.CONTEXT_ID); |
225 |
} |
244 |
} |
|
|
245 |
|
246 |
/** |
247 |
* Displays conflicting locales message. |
248 |
* |
249 |
* @param locales locales. |
250 |
*/ |
251 |
public void displayLocaleKeysConflict(L10nLocales locales) { |
252 |
List<L10nLocale> conflicted = L10nUtil.findConflictedLocales(locales); |
253 |
IMessageManager manager = getActivePageInstance().getManagedForm().getMessageManager(); |
254 |
manager.removeAllMessages(); |
255 |
for (L10nLocale locale : conflicted) { |
256 |
String message = NLS.bind("Locale keys are case insensitive. The locale {0} has duplicated keys.", locale.getName()); |
257 |
manager.addMessage(locale, message, null, IMessageProvider.ERROR); |
258 |
} |
259 |
} |
226 |
} |
260 |
} |