From cdbddf60bf8200bcc9cc67c1cfe065dfe5913600 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 14 Jun 2013 10:58:30 +0200 Subject: Target Explorer: Fix find: General options missed "Wrap". Fixed search wrapping. --- .../ui/internal/search/FSGeneralSearchable.java | 602 +++++++++++---------- .../ui/internal/search/FSModifiedSearchable.java | 506 ++++++++--------- .../ui/internal/search/FSSizeSearchable.java | 510 ++++++++--------- .../ui/internal/search/FSTreeNodeSearchable.java | 11 +- .../te/tcf/filesystem/ui/nls/Messages.properties | 324 +++++------ 5 files changed, 981 insertions(+), 972 deletions(-) (limited to 'target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui') diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/search/FSGeneralSearchable.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/search/FSGeneralSearchable.java index 6d5cebee0..c261bb746 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/search/FSGeneralSearchable.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/search/FSGeneralSearchable.java @@ -1,300 +1,302 @@ -/******************************************************************************* - * Copyright (c) 2011, 2012 Wind River Systems, Inc. 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: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.tcf.te.tcf.filesystem.ui.internal.search; - -import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.graphics.Point; -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.Group; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.tcf.te.tcf.filesystem.core.model.FSTreeNode; -import org.eclipse.tcf.te.tcf.filesystem.ui.nls.Messages; -import org.eclipse.tcf.te.ui.controls.BaseEditBrowseTextControl; -import org.eclipse.tcf.te.ui.interfaces.ISearchMatcher; -import org.eclipse.tcf.te.ui.utils.AbstractSearchable; - -/** - * The searchable that provides a UI to collect and test - * the general operations of a file search. - */ -public class FSGeneralSearchable extends AbstractSearchable { - // The keys to access the options stored in the dialog settings. - private static final String INCLUDE_HIDDEN = "FS.IncludeHidden"; //$NON-NLS-1$ - private static final String INCLUDE_SYSTEM = "FS.IncludeSystem"; //$NON-NLS-1$ - private static final String TARGET_NAME = "FS.TargetName"; //$NON-NLS-1$ - private static final String TARGET_TYPE = "FS.TargetType"; //$NON-NLS-1$ - private static final String MATCH_PRECISE = "FS.MatchPrecise"; //$NON-NLS-1$ - private static final String CASE_SENSITIVE = "FS.CaseSensitive"; //$NON-NLS-1$ - // The check option to define if system files should be searched. - private Button fBtnSystem; - // The check option to define if hidden files should be searched. - private Button fBtnHidden; - // The case sensitive check box. - private Button fBtnCase; - // The matching rule check box. - private Button fBtnMatch; - // The input field for searching conditions. - private BaseEditBrowseTextControl fSearchField; - // The current target names. - private String fTargetName; - // Whether it is case sensitive - private boolean fCaseSensitive; - // Whether it is precise matching. - private boolean fMatchPrecise; - // The flag if system files should be searched, default to true. - private boolean fIncludeSystem = true; - // The flag if hidden files should be searched, default to true. - private boolean fIncludeHidden = true; - // The types of target files. - private Combo fCmbTypes; - // The current selected target type index. - private int fTargetType; - // The root directory node. - private FSTreeNode rootNode; - - /** - * Constructor - * - * @param node the node whose sub tree will be searched. - */ - public FSGeneralSearchable(FSTreeNode node) { - rootNode = node; - } - - /* - * (non-Javadoc) - * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#createCommonPart(org.eclipse.swt.widgets.Composite) - */ - @Override - public void createCommonPart(Composite parent) { - Composite composite = new Composite(parent, SWT.NONE); - GridLayout glayout = new GridLayout(3, false); - glayout.marginHeight = 0; - glayout.marginWidth = 0; - composite.setLayout(glayout); - composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - // Searching field. - Label label = new Label(composite, SWT.NONE); - label.setText(Messages.FSGeneralSearchable_Find); - - fSearchField = new BaseEditBrowseTextControl(null); - fSearchField.setIsGroup(false); - fSearchField.setHasHistory(false); - fSearchField.setHideBrowseButton(true); - fSearchField.setParentControlIsInnerPanel(true); - fSearchField.setupPanel(composite); - fSearchField.setEditFieldValidator(new NameValidator()); - //fSearchField.setEditFieldValidator(new FolderValidator(this)); - Text text = (Text) fSearchField.getEditFieldControl(); - text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); - text.addModifyListener(new ModifyListener() { - @Override - public void modifyText(ModifyEvent e) { - searchTextModified(); - } - }); - - SelectionListener l = new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - optionChecked(e); - } - }; - - Group group = new Group(parent, SWT.NONE); - group.setText(Messages.FSGeneralSearchable_GeneralOptionText); - group.setLayout(new GridLayout()); - group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - Composite cmpType = new Composite(group, SWT.NONE); - GridData data = new GridData(GridData.FILL_HORIZONTAL); - cmpType.setLayoutData(data); - cmpType.setLayout(new GridLayout(2, false)); - - label = new Label(cmpType, SWT.NONE); - label.setText(Messages.FSGeneralSearchable_FileType); - - // Search files only - fCmbTypes = new Combo(cmpType, SWT.BORDER | SWT.READ_ONLY); - fCmbTypes.setItems(new String[]{Messages.FSTreeNodeSearchable_FilesAndFolders, Messages.FSTreeNodeSearchable_FilesOnly, Messages.FSTreeNodeSearchable_FoldersOnly}); - fCmbTypes.setLayoutData(new GridData()); - fCmbTypes.addSelectionListener(l); - - Composite compOptions = new Composite(group, SWT.NONE); - data = new GridData(GridData.FILL_HORIZONTAL); - compOptions.setLayoutData(data); - compOptions.setLayout(new GridLayout(2, true)); - - // Case sensitive - fBtnCase = new Button(compOptions, SWT.CHECK); - fBtnCase.setText(Messages.TreeViewerSearchDialog_BtnCaseText); - data = new GridData(GridData.FILL_HORIZONTAL); - fBtnCase.setLayoutData(data); - fBtnCase.addSelectionListener(l); - - // Matching precisely - fBtnMatch = new Button(compOptions, SWT.CHECK); - fBtnMatch.setText(Messages.TreeViewerSearchDialog_BtnPreciseText); - data = new GridData(GridData.FILL_HORIZONTAL); - fBtnMatch.setLayoutData(data); - fBtnMatch.addSelectionListener(l); - - // If the target is Windows platform, then add system/hidden options. - if(rootNode.isWindowsNode()) { - fBtnSystem = new Button(compOptions, SWT.CHECK); - fBtnSystem.setText(Messages.FSGeneralSearchable_SearchSystemFiles); - data = new GridData(GridData.FILL_HORIZONTAL); - fBtnSystem.setLayoutData(data); - fBtnSystem.addSelectionListener(l); - - fBtnHidden = new Button(compOptions, SWT.CHECK); - fBtnHidden.setText(Messages.FSGeneralSearchable_SearchHiddenFiles); - data = new GridData(GridData.FILL_HORIZONTAL); - fBtnHidden.setLayoutData(data); - fBtnHidden.addSelectionListener(l); - } - } - - /** - * The text for searching is modified. - */ - protected void searchTextModified() { - fireOptionChanged(); - fTargetName = fSearchField.getEditFieldControlText().trim(); - } - - /** - * Handling the event that a button is selected and checked. - * - * @param e The selection event. - */ - protected void optionChecked(SelectionEvent e) { - Object src = e.getSource(); - if (src == fBtnCase) { - fCaseSensitive = fBtnCase.getSelection(); - } - else if (src == fBtnMatch) { - fMatchPrecise = fBtnMatch.getSelection(); - } - else if (src == fCmbTypes) { - fTargetType = fCmbTypes.getSelectionIndex(); - } - else if (src == fBtnSystem) { - fIncludeSystem = fBtnSystem.getSelection(); - } - else if (src == fBtnHidden) { - fIncludeHidden = fBtnHidden.getSelection(); - } - } - - /* - * (non-Javadoc) - * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#restoreValues(org.eclipse.jface.dialogs.IDialogSettings) - */ - @Override - public void restoreValues(IDialogSettings settings) { - if(settings != null) { - fCaseSensitive = settings.getBoolean(CASE_SENSITIVE); - fBtnCase.setSelection(fCaseSensitive); - fMatchPrecise = settings.getBoolean(MATCH_PRECISE); - fBtnMatch.setSelection(fMatchPrecise); - try { - fTargetType = settings.getInt(TARGET_TYPE); - fCmbTypes.select(fTargetType); - }catch(NumberFormatException e) { - fTargetType = 0; - } - fTargetName = settings.get(TARGET_NAME); - if (fTargetName != null) { - fSearchField.setEditFieldControlText(fTargetName); - } - if (rootNode.isWindowsNode()) { - fIncludeSystem = settings.get(INCLUDE_SYSTEM) == null ? true : settings.getBoolean(INCLUDE_SYSTEM); - fIncludeHidden = settings.get(INCLUDE_HIDDEN) == null ? true : settings.getBoolean(INCLUDE_HIDDEN); - } - } - else { - fCaseSensitive = false; - fMatchPrecise = false; - fTargetType = 0; - fTargetName = null; - if(rootNode.isWindowsNode()) { - fIncludeHidden = true; - fIncludeSystem = true; - } - } - fBtnCase.setSelection(fCaseSensitive); - fBtnMatch.setSelection(fMatchPrecise); - fCmbTypes.select(fTargetType); - if (fTargetName != null) { - fSearchField.setEditFieldControlText(fTargetName); - } - if (rootNode.isWindowsNode()) { - fBtnSystem.setSelection(fIncludeSystem); - fBtnHidden.setSelection(fIncludeHidden); - } - } - - /* - * (non-Javadoc) - * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#persistValues(org.eclipse.jface.dialogs.IDialogSettings) - */ - @Override - public void persistValues(IDialogSettings settings) { - if(settings != null) { - settings.put(CASE_SENSITIVE, fCaseSensitive); - settings.put(MATCH_PRECISE, fMatchPrecise); - settings.put(TARGET_TYPE, fTargetType); - settings.put(TARGET_NAME, fTargetName); - if(rootNode.isWindowsNode()) { - settings.put(INCLUDE_SYSTEM, fIncludeSystem); - settings.put(INCLUDE_HIDDEN, fIncludeHidden); - } - } - } - - /* - * (non-Javadoc) - * @see org.eclipse.tcf.te.ui.interfaces.ISearchable#getMatcher() - */ - @Override - public ISearchMatcher getMatcher() { - return new FSTreeNodeMatcher(fCaseSensitive, fMatchPrecise, fTargetType, fTargetName, fIncludeSystem, fIncludeHidden); - } - - /* - * (non-Javadoc) - * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#isInputValid() - */ - @Override - public boolean isInputValid() { - return fSearchField.isValid(); - } - - /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#getPreferredSize() - */ - @Override - public Point getPreferredSize() { - return new Point(400, rootNode.isWindowsNode() ? 200 : 180); - } -} +/******************************************************************************* + * Copyright (c) 2011, 2012 Wind River Systems, Inc. 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: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.tcf.filesystem.ui.internal.search; + +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.graphics.Point; +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.Group; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; +import org.eclipse.tcf.te.tcf.filesystem.core.model.FSTreeNode; +import org.eclipse.tcf.te.tcf.filesystem.ui.nls.Messages; +import org.eclipse.tcf.te.ui.controls.BaseEditBrowseTextControl; +import org.eclipse.tcf.te.ui.interfaces.ISearchMatcher; +import org.eclipse.tcf.te.ui.search.TreeViewerSearchDialog; +import org.eclipse.tcf.te.ui.utils.AbstractSearchable; + +/** + * The searchable that provides a UI to collect and test + * the general operations of a file search. + */ +public class FSGeneralSearchable extends AbstractSearchable { + // The keys to access the options stored in the dialog settings. + private static final String INCLUDE_HIDDEN = "FS.IncludeHidden"; //$NON-NLS-1$ + private static final String INCLUDE_SYSTEM = "FS.IncludeSystem"; //$NON-NLS-1$ + private static final String TARGET_NAME = "FS.TargetName"; //$NON-NLS-1$ + private static final String TARGET_TYPE = "FS.TargetType"; //$NON-NLS-1$ + private static final String MATCH_PRECISE = "FS.MatchPrecise"; //$NON-NLS-1$ + private static final String CASE_SENSITIVE = "FS.CaseSensitive"; //$NON-NLS-1$ + // The check option to define if system files should be searched. + private Button fBtnSystem; + // The check option to define if hidden files should be searched. + private Button fBtnHidden; + // The case sensitive check box. + private Button fBtnCase; + // The matching rule check box. + private Button fBtnMatch; + // The input field for searching conditions. + private BaseEditBrowseTextControl fSearchField; + // The current target names. + private String fTargetName; + // Whether it is case sensitive + private boolean fCaseSensitive; + // Whether it is precise matching. + private boolean fMatchPrecise; + // The flag if system files should be searched, default to true. + private boolean fIncludeSystem = true; + // The flag if hidden files should be searched, default to true. + private boolean fIncludeHidden = true; + // The types of target files. + private Combo fCmbTypes; + // The current selected target type index. + private int fTargetType; + // The root directory node. + private FSTreeNode rootNode; + + /** + * Constructor + * + * @param node the node whose sub tree will be searched. + */ + public FSGeneralSearchable(FSTreeNode node) { + rootNode = node; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#createCommonPart(org.eclipse.tcf.te.ui.search.TreeViewerSearchDialog, org.eclipse.swt.widgets.Composite) + */ + @Override + public void createCommonPart(TreeViewerSearchDialog dialog, Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + GridLayout glayout = new GridLayout(3, false); + glayout.marginHeight = 0; + glayout.marginWidth = 0; + composite.setLayout(glayout); + composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + // Searching field. + Label label = new Label(composite, SWT.NONE); + label.setText(Messages.FSGeneralSearchable_Find); + + fSearchField = new BaseEditBrowseTextControl(null); + fSearchField.setIsGroup(false); + fSearchField.setHasHistory(false); + fSearchField.setHideBrowseButton(true); + fSearchField.setParentControlIsInnerPanel(true); + fSearchField.setupPanel(composite); + fSearchField.setEditFieldValidator(new NameValidator()); + //fSearchField.setEditFieldValidator(new FolderValidator(this)); + Text text = (Text) fSearchField.getEditFieldControl(); + text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + text.addModifyListener(new ModifyListener() { + @Override + public void modifyText(ModifyEvent e) { + searchTextModified(); + } + }); + + SelectionListener l = new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + optionChecked(e); + } + }; + + Group group = new Group(parent, SWT.NONE); + group.setText(Messages.FSGeneralSearchable_GeneralOptionText); + group.setLayout(new GridLayout()); + group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + Composite cmpType = new Composite(group, SWT.NONE); + GridData data = new GridData(GridData.FILL_HORIZONTAL); + cmpType.setLayoutData(data); + cmpType.setLayout(new GridLayout(2, false)); + + label = new Label(cmpType, SWT.NONE); + label.setText(Messages.FSGeneralSearchable_FileType); + + // Search files only + fCmbTypes = new Combo(cmpType, SWT.BORDER | SWT.READ_ONLY); + fCmbTypes.setItems(new String[]{Messages.FSTreeNodeSearchable_FilesAndFolders, Messages.FSTreeNodeSearchable_FilesOnly, Messages.FSTreeNodeSearchable_FoldersOnly}); + fCmbTypes.setLayoutData(new GridData()); + fCmbTypes.addSelectionListener(l); + + Composite compOptions = new Composite(group, SWT.NONE); + data = new GridData(GridData.FILL_HORIZONTAL); + compOptions.setLayoutData(data); + compOptions.setLayout(new GridLayout(3, true)); + + // Case sensitive + fBtnCase = new Button(compOptions, SWT.CHECK); + fBtnCase.setText(Messages.TreeViewerSearchDialog_BtnCaseText); + data = new GridData(GridData.FILL_HORIZONTAL); + fBtnCase.setLayoutData(data); + fBtnCase.addSelectionListener(l); + + // Matching precisely + fBtnMatch = new Button(compOptions, SWT.CHECK); + fBtnMatch.setText(Messages.TreeViewerSearchDialog_BtnPreciseText); + data = new GridData(GridData.FILL_HORIZONTAL); + fBtnMatch.setLayoutData(data); + fBtnMatch.addSelectionListener(l); + + dialog.createSearchDirectionOptions(compOptions); + + // If the target is Windows platform, then add system/hidden options. + if(rootNode.isWindowsNode()) { + fBtnSystem = new Button(compOptions, SWT.CHECK); + fBtnSystem.setText(Messages.FSGeneralSearchable_SearchSystemFiles); + data = new GridData(GridData.FILL_HORIZONTAL); + fBtnSystem.setLayoutData(data); + fBtnSystem.addSelectionListener(l); + + fBtnHidden = new Button(compOptions, SWT.CHECK); + fBtnHidden.setText(Messages.FSGeneralSearchable_SearchHiddenFiles); + data = new GridData(GridData.FILL_HORIZONTAL); + fBtnHidden.setLayoutData(data); + fBtnHidden.addSelectionListener(l); + } + } + + /** + * The text for searching is modified. + */ + protected void searchTextModified() { + fireOptionChanged(); + fTargetName = fSearchField.getEditFieldControlText().trim(); + } + + /** + * Handling the event that a button is selected and checked. + * + * @param e The selection event. + */ + protected void optionChecked(SelectionEvent e) { + Object src = e.getSource(); + if (src == fBtnCase) { + fCaseSensitive = fBtnCase.getSelection(); + } + else if (src == fBtnMatch) { + fMatchPrecise = fBtnMatch.getSelection(); + } + else if (src == fCmbTypes) { + fTargetType = fCmbTypes.getSelectionIndex(); + } + else if (src == fBtnSystem) { + fIncludeSystem = fBtnSystem.getSelection(); + } + else if (src == fBtnHidden) { + fIncludeHidden = fBtnHidden.getSelection(); + } + } + + /* + * (non-Javadoc) + * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#restoreValues(org.eclipse.jface.dialogs.IDialogSettings) + */ + @Override + public void restoreValues(IDialogSettings settings) { + if(settings != null) { + fCaseSensitive = settings.getBoolean(CASE_SENSITIVE); + fBtnCase.setSelection(fCaseSensitive); + fMatchPrecise = settings.getBoolean(MATCH_PRECISE); + fBtnMatch.setSelection(fMatchPrecise); + try { + fTargetType = settings.getInt(TARGET_TYPE); + fCmbTypes.select(fTargetType); + }catch(NumberFormatException e) { + fTargetType = 0; + } + fTargetName = settings.get(TARGET_NAME); + if (fTargetName != null) { + fSearchField.setEditFieldControlText(fTargetName); + } + if (rootNode.isWindowsNode()) { + fIncludeSystem = settings.get(INCLUDE_SYSTEM) == null ? true : settings.getBoolean(INCLUDE_SYSTEM); + fIncludeHidden = settings.get(INCLUDE_HIDDEN) == null ? true : settings.getBoolean(INCLUDE_HIDDEN); + } + } + else { + fCaseSensitive = false; + fMatchPrecise = false; + fTargetType = 0; + fTargetName = null; + if(rootNode.isWindowsNode()) { + fIncludeHidden = true; + fIncludeSystem = true; + } + } + fBtnCase.setSelection(fCaseSensitive); + fBtnMatch.setSelection(fMatchPrecise); + fCmbTypes.select(fTargetType); + if (fTargetName != null) { + fSearchField.setEditFieldControlText(fTargetName); + } + if (rootNode.isWindowsNode()) { + fBtnSystem.setSelection(fIncludeSystem); + fBtnHidden.setSelection(fIncludeHidden); + } + } + + /* + * (non-Javadoc) + * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#persistValues(org.eclipse.jface.dialogs.IDialogSettings) + */ + @Override + public void persistValues(IDialogSettings settings) { + if(settings != null) { + settings.put(CASE_SENSITIVE, fCaseSensitive); + settings.put(MATCH_PRECISE, fMatchPrecise); + settings.put(TARGET_TYPE, fTargetType); + settings.put(TARGET_NAME, fTargetName); + if(rootNode.isWindowsNode()) { + settings.put(INCLUDE_SYSTEM, fIncludeSystem); + settings.put(INCLUDE_HIDDEN, fIncludeHidden); + } + } + } + + /* + * (non-Javadoc) + * @see org.eclipse.tcf.te.ui.interfaces.ISearchable#getMatcher() + */ + @Override + public ISearchMatcher getMatcher() { + return new FSTreeNodeMatcher(fCaseSensitive, fMatchPrecise, fTargetType, fTargetName, fIncludeSystem, fIncludeHidden); + } + + /* + * (non-Javadoc) + * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#isInputValid() + */ + @Override + public boolean isInputValid() { + return fSearchField.isValid(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#getPreferredSize() + */ + @Override + public Point getPreferredSize() { + return new Point(400, rootNode.isWindowsNode() ? 200 : 180); + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/search/FSModifiedSearchable.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/search/FSModifiedSearchable.java index 5521339d8..8667ab195 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/search/FSModifiedSearchable.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/search/FSModifiedSearchable.java @@ -1,253 +1,253 @@ -/******************************************************************************* - * Copyright (c) 2011, 2012 Wind River Systems, Inc. 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: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.tcf.te.tcf.filesystem.ui.internal.search; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.tcf.te.tcf.filesystem.core.model.FSTreeNode; -import org.eclipse.tcf.te.tcf.filesystem.ui.nls.Messages; -import org.eclipse.tcf.te.ui.controls.BaseEditBrowseTextControl; - -/** - * The searchable that provides a UI to collect and test - * the last modified time of a file during searching. - */ -public class FSModifiedSearchable extends FSBaseSearchable { - // Constant values of last modified options - private static final int OPTION_NOT_REMEMBER = 0; - private static final int OPTION_LAST_WEEK = 1; - private static final int OPTION_LAST_MONTH = 2; - private static final int OPTION_LAST_YEAR = 3; - private static final int OPTION_SPECIFIED = 4; - - // Constant values of different time unit, used for matching purpose. - private static final long SECOND = 1000L; - private static final long MINUTE = 60 * SECOND; - private static final long HOUR = 60 * MINUTE; - private static final long DAY = 24 * HOUR; - private static final long WEEK = 7 * DAY; - private static final long MONTH = 30 * DAY; - private static final long YEAR = 365 * DAY; - - // The choice selected - private int choice; - // The specified "from" date - private long fromTime; - // The specified "to" date - private long toTime; - - // UI elements for input - private Button fBtnLmNotRem; - private Button fBtnLmLastWeek; - private Button fBtnLmPastMonth; - private Button fBtnLmPastYear; - private Button fBtnLmSpecified; - private BaseEditBrowseTextControl txtLmFrom; - private BaseEditBrowseTextControl txtLmTo; - - /* - * (non-Javadoc) - * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#createAdvancedPart(org.eclipse.swt.widgets.Composite) - */ - @Override - public void createAdvancedPart(Composite parent) { - SelectionListener l = new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - optionChecked(e); - } - }; - Composite modifiedComp = createSection(parent, Messages.FSModifiedSearchable_WhenModified); - modifiedComp.setLayout(new GridLayout(4, false)); - - fBtnLmNotRem = new Button(modifiedComp, SWT.RADIO); - fBtnLmNotRem.setText(Messages.FSModifiedSearchable_DontRemember); - fBtnLmNotRem.setSelection(true); - GridData data = new GridData(); - data.horizontalSpan = 4; - fBtnLmNotRem.setLayoutData(data); - fBtnLmNotRem.addSelectionListener(l); - - fBtnLmLastWeek = new Button(modifiedComp, SWT.RADIO); - fBtnLmLastWeek.setText(Messages.FSModifiedSearchable_LastWeek); - data = new GridData(); - data.horizontalSpan = 4; - fBtnLmLastWeek.setLayoutData(data); - fBtnLmLastWeek.addSelectionListener(l); - - fBtnLmPastMonth = new Button(modifiedComp, SWT.RADIO); - fBtnLmPastMonth.setText(Messages.FSModifiedSearchable_PastMonth); - data = new GridData(); - data.horizontalSpan = 4; - fBtnLmPastMonth.setLayoutData(data); - fBtnLmPastMonth.addSelectionListener(l); - - fBtnLmPastYear = new Button(modifiedComp, SWT.RADIO); - fBtnLmPastYear.setText(Messages.FSModifiedSearchable_PastYear); - data = new GridData(); - data.horizontalSpan = 4; - fBtnLmPastYear.setLayoutData(data); - fBtnLmPastYear.addSelectionListener(l); - - fBtnLmSpecified = new Button(modifiedComp, SWT.RADIO); - fBtnLmSpecified.setText(Messages.FSModifiedSearchable_SpecifyDates); - data = new GridData(); - fBtnLmSpecified.setLayoutData(data); - fBtnLmSpecified.addSelectionListener(l); - - Composite cmpFrom = new Composite(modifiedComp, SWT.NONE); - GridLayout layout = new GridLayout(2, false); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.horizontalSpacing = 0; - layout.verticalSpacing = 0; - cmpFrom.setLayout(layout); - data = new GridData(); - cmpFrom.setLayoutData(data); - - txtLmFrom = new BaseEditBrowseTextControl(null); - txtLmFrom.setIsGroup(false); - txtLmFrom.setHasHistory(false); - txtLmFrom.setHideBrowseButton(true); - txtLmFrom.setParentControlIsInnerPanel(true); - txtLmFrom.setupPanel(cmpFrom); - txtLmFrom.setEnabled(false); - txtLmFrom.setEditFieldValidator(new DateValidator()); - Text text = (Text) txtLmFrom.getEditFieldControl(); - text.addModifyListener(new ModifyListener() { - @Override - public void modifyText(ModifyEvent e) { - datesModified(); - } - }); - - Label label = new Label(modifiedComp, SWT.NONE); - label.setText(Messages.FSModifiedSearchable_ToDate); - - Composite cmpTo = new Composite(modifiedComp, SWT.NONE); - layout = new GridLayout(2, false); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.horizontalSpacing = 0; - layout.verticalSpacing = 0; - cmpTo.setLayout(layout); - data = new GridData(); - cmpTo.setLayoutData(data); - - txtLmTo = new BaseEditBrowseTextControl(null); - txtLmTo.setIsGroup(false); - txtLmTo.setHasHistory(false); - txtLmTo.setHideBrowseButton(true); - txtLmTo.setParentControlIsInnerPanel(true); - txtLmTo.setupPanel(cmpTo); - txtLmTo.setEnabled(false); - txtLmTo.setEditFieldValidator(new DateValidator()); - text = (Text) txtLmTo.getEditFieldControl(); - text.addModifyListener(new ModifyListener() { - @Override - public void modifyText(ModifyEvent e) { - datesModified(); - } - }); - } - - /** - * The modified event of the date fields. - */ - protected void datesModified() { - fireOptionChanged(); - } - - /* - * (non-Javadoc) - * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#isInputValid() - */ - @Override - public boolean isInputValid() { - if(choice == OPTION_SPECIFIED && txtLmFrom != null && txtLmTo != null) { - boolean vFrom = txtLmFrom.isValid(); - boolean vTo = txtLmTo.isValid(); - if(vFrom) { - String fromText = txtLmFrom.getEditFieldControlText().trim(); - this.fromTime = DateValidator.parseTimeInMillis(fromText); - } - if(vTo) { - String toText = txtLmTo.getEditFieldControlText().trim(); - this.toTime = DateValidator.parseTimeInMillis(toText); - } - return vFrom && vTo; - } - return true; - } - - /** - * The method handling the selection event. - * - * @param e The selection event. - */ - protected void optionChecked(SelectionEvent e) { - Object src = e.getSource(); - boolean specified = false; - if(src == fBtnLmNotRem) { - choice = OPTION_NOT_REMEMBER; - } - else if(src == fBtnLmLastWeek) { - choice = OPTION_LAST_WEEK; - } - else if(src == fBtnLmPastMonth) { - choice = OPTION_LAST_MONTH; - } - else if(src == fBtnLmPastYear) { - choice = OPTION_LAST_YEAR; - } - else if(src == fBtnLmSpecified) { - choice = OPTION_SPECIFIED; - specified = true; - } - if (txtLmFrom != null) txtLmFrom.setEnabled(specified); - if (txtLmTo != null) txtLmTo.setEnabled(specified); - fireOptionChanged(); - } - - /* - * (non-Javadoc) - * @see org.eclipse.tcf.te.ui.interfaces.ISearchMatcher#match(java.lang.Object) - */ - @Override - public boolean match(Object element) { - if (element instanceof FSTreeNode) { - FSTreeNode node = (FSTreeNode) element; - long now = System.currentTimeMillis(); - switch (choice) { - case OPTION_NOT_REMEMBER: - return true; - case OPTION_LAST_WEEK: - return node.attr.mtime > now - WEEK; - case OPTION_LAST_MONTH: - return node.attr.mtime > now - MONTH; - case OPTION_LAST_YEAR: - return node.attr.mtime > now - YEAR; - case OPTION_SPECIFIED: - return node.attr.mtime >= fromTime && node.attr.mtime < toTime; - } - } - return false; - } -} +/******************************************************************************* + * Copyright (c) 2011, 2012 Wind River Systems, Inc. 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: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.tcf.filesystem.ui.internal.search; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; +import org.eclipse.tcf.te.tcf.filesystem.core.model.FSTreeNode; +import org.eclipse.tcf.te.tcf.filesystem.ui.nls.Messages; +import org.eclipse.tcf.te.ui.controls.BaseEditBrowseTextControl; +import org.eclipse.tcf.te.ui.search.TreeViewerSearchDialog; + +/** + * The searchable that provides a UI to collect and test + * the last modified time of a file during searching. + */ +public class FSModifiedSearchable extends FSBaseSearchable { + // Constant values of last modified options + private static final int OPTION_NOT_REMEMBER = 0; + private static final int OPTION_LAST_WEEK = 1; + private static final int OPTION_LAST_MONTH = 2; + private static final int OPTION_LAST_YEAR = 3; + private static final int OPTION_SPECIFIED = 4; + + // Constant values of different time unit, used for matching purpose. + private static final long SECOND = 1000L; + private static final long MINUTE = 60 * SECOND; + private static final long HOUR = 60 * MINUTE; + private static final long DAY = 24 * HOUR; + private static final long WEEK = 7 * DAY; + private static final long MONTH = 30 * DAY; + private static final long YEAR = 365 * DAY; + + // The choice selected + private int choice; + // The specified "from" date + private long fromTime; + // The specified "to" date + private long toTime; + + // UI elements for input + private Button fBtnLmNotRem; + private Button fBtnLmLastWeek; + private Button fBtnLmPastMonth; + private Button fBtnLmPastYear; + private Button fBtnLmSpecified; + private BaseEditBrowseTextControl txtLmFrom; + private BaseEditBrowseTextControl txtLmTo; + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#createAdvancedPart(org.eclipse.tcf.te.ui.search.TreeViewerSearchDialog, org.eclipse.swt.widgets.Composite) + */ + @Override + public void createAdvancedPart(TreeViewerSearchDialog dialog, Composite parent) { + SelectionListener l = new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + optionChecked(e); + } + }; + Composite modifiedComp = createSection(parent, Messages.FSModifiedSearchable_WhenModified); + modifiedComp.setLayout(new GridLayout(4, false)); + + fBtnLmNotRem = new Button(modifiedComp, SWT.RADIO); + fBtnLmNotRem.setText(Messages.FSModifiedSearchable_DontRemember); + fBtnLmNotRem.setSelection(true); + GridData data = new GridData(); + data.horizontalSpan = 4; + fBtnLmNotRem.setLayoutData(data); + fBtnLmNotRem.addSelectionListener(l); + + fBtnLmLastWeek = new Button(modifiedComp, SWT.RADIO); + fBtnLmLastWeek.setText(Messages.FSModifiedSearchable_LastWeek); + data = new GridData(); + data.horizontalSpan = 4; + fBtnLmLastWeek.setLayoutData(data); + fBtnLmLastWeek.addSelectionListener(l); + + fBtnLmPastMonth = new Button(modifiedComp, SWT.RADIO); + fBtnLmPastMonth.setText(Messages.FSModifiedSearchable_PastMonth); + data = new GridData(); + data.horizontalSpan = 4; + fBtnLmPastMonth.setLayoutData(data); + fBtnLmPastMonth.addSelectionListener(l); + + fBtnLmPastYear = new Button(modifiedComp, SWT.RADIO); + fBtnLmPastYear.setText(Messages.FSModifiedSearchable_PastYear); + data = new GridData(); + data.horizontalSpan = 4; + fBtnLmPastYear.setLayoutData(data); + fBtnLmPastYear.addSelectionListener(l); + + fBtnLmSpecified = new Button(modifiedComp, SWT.RADIO); + fBtnLmSpecified.setText(Messages.FSModifiedSearchable_SpecifyDates); + data = new GridData(); + fBtnLmSpecified.setLayoutData(data); + fBtnLmSpecified.addSelectionListener(l); + + Composite cmpFrom = new Composite(modifiedComp, SWT.NONE); + GridLayout layout = new GridLayout(2, false); + layout.marginWidth = 0; + layout.marginHeight = 0; + layout.horizontalSpacing = 0; + layout.verticalSpacing = 0; + cmpFrom.setLayout(layout); + data = new GridData(); + cmpFrom.setLayoutData(data); + + txtLmFrom = new BaseEditBrowseTextControl(null); + txtLmFrom.setIsGroup(false); + txtLmFrom.setHasHistory(false); + txtLmFrom.setHideBrowseButton(true); + txtLmFrom.setParentControlIsInnerPanel(true); + txtLmFrom.setupPanel(cmpFrom); + txtLmFrom.setEnabled(false); + txtLmFrom.setEditFieldValidator(new DateValidator()); + Text text = (Text) txtLmFrom.getEditFieldControl(); + text.addModifyListener(new ModifyListener() { + @Override + public void modifyText(ModifyEvent e) { + datesModified(); + } + }); + + Label label = new Label(modifiedComp, SWT.NONE); + label.setText(Messages.FSModifiedSearchable_ToDate); + + Composite cmpTo = new Composite(modifiedComp, SWT.NONE); + layout = new GridLayout(2, false); + layout.marginWidth = 0; + layout.marginHeight = 0; + layout.horizontalSpacing = 0; + layout.verticalSpacing = 0; + cmpTo.setLayout(layout); + data = new GridData(); + cmpTo.setLayoutData(data); + + txtLmTo = new BaseEditBrowseTextControl(null); + txtLmTo.setIsGroup(false); + txtLmTo.setHasHistory(false); + txtLmTo.setHideBrowseButton(true); + txtLmTo.setParentControlIsInnerPanel(true); + txtLmTo.setupPanel(cmpTo); + txtLmTo.setEnabled(false); + txtLmTo.setEditFieldValidator(new DateValidator()); + text = (Text) txtLmTo.getEditFieldControl(); + text.addModifyListener(new ModifyListener() { + @Override + public void modifyText(ModifyEvent e) { + datesModified(); + } + }); + } + + /** + * The modified event of the date fields. + */ + protected void datesModified() { + fireOptionChanged(); + } + + /* + * (non-Javadoc) + * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#isInputValid() + */ + @Override + public boolean isInputValid() { + if(choice == OPTION_SPECIFIED && txtLmFrom != null && txtLmTo != null) { + boolean vFrom = txtLmFrom.isValid(); + boolean vTo = txtLmTo.isValid(); + if(vFrom) { + String fromText = txtLmFrom.getEditFieldControlText().trim(); + this.fromTime = DateValidator.parseTimeInMillis(fromText); + } + if(vTo) { + String toText = txtLmTo.getEditFieldControlText().trim(); + this.toTime = DateValidator.parseTimeInMillis(toText); + } + return vFrom && vTo; + } + return true; + } + + /** + * The method handling the selection event. + * + * @param e The selection event. + */ + protected void optionChecked(SelectionEvent e) { + Object src = e.getSource(); + boolean specified = false; + if(src == fBtnLmNotRem) { + choice = OPTION_NOT_REMEMBER; + } + else if(src == fBtnLmLastWeek) { + choice = OPTION_LAST_WEEK; + } + else if(src == fBtnLmPastMonth) { + choice = OPTION_LAST_MONTH; + } + else if(src == fBtnLmPastYear) { + choice = OPTION_LAST_YEAR; + } + else if(src == fBtnLmSpecified) { + choice = OPTION_SPECIFIED; + specified = true; + } + if (txtLmFrom != null) txtLmFrom.setEnabled(specified); + if (txtLmTo != null) txtLmTo.setEnabled(specified); + fireOptionChanged(); + } + + /* + * (non-Javadoc) + * @see org.eclipse.tcf.te.ui.interfaces.ISearchMatcher#match(java.lang.Object) + */ + @Override + public boolean match(Object element) { + if (element instanceof FSTreeNode) { + FSTreeNode node = (FSTreeNode) element; + long now = System.currentTimeMillis(); + switch (choice) { + case OPTION_NOT_REMEMBER: + return true; + case OPTION_LAST_WEEK: + return node.attr.mtime > now - WEEK; + case OPTION_LAST_MONTH: + return node.attr.mtime > now - MONTH; + case OPTION_LAST_YEAR: + return node.attr.mtime > now - YEAR; + case OPTION_SPECIFIED: + return node.attr.mtime >= fromTime && node.attr.mtime < toTime; + } + } + return false; + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/search/FSSizeSearchable.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/search/FSSizeSearchable.java index 6173d53d7..01abb34cb 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/search/FSSizeSearchable.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/search/FSSizeSearchable.java @@ -1,255 +1,255 @@ -/******************************************************************************* - * Copyright (c) 2011, 2012 Wind River Systems, Inc. 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: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.tcf.te.tcf.filesystem.ui.internal.search; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.tcf.te.tcf.filesystem.core.model.FSTreeNode; -import org.eclipse.tcf.te.tcf.filesystem.ui.nls.Messages; -import org.eclipse.tcf.te.ui.controls.BaseEditBrowseTextControl; - -/** - * The searchable that provides a UI to collect and test - * the size of a file during searching. - */ -public class FSSizeSearchable extends FSBaseSearchable { - // Constant values of size options - private static final int OPTION_NOT_REMEMBER = 0; - private static final int OPTION_SIZE_SMALL = 1; - private static final int OPTION_SIZE_MEDIUM = 2; - private static final int OPTION_SIZE_LARGE = 3; - private static final int OPTION_SIZE_SPECIFIED = 4; - - // Constant values of different size unit, used for matching purpose. - private static final long KB = 1024; - private static final long MB = 1024 * KB; - - private static final long SIZE_SMALL = 100 * KB; - private static final long SIZE_MEDIUM = 1*MB; - - // The choice selected - private int choice; - // The lower bound of size - private int lowerSize; - // The upper bound of size - private int upperSize; - - // UI elements for input - private Button fBtnSizeNotRem; - private Button fBtnSizeSmall; - private Button fBtnSizeMedium; - private Button fBtnSizeLarge; - private Button fBtnSizeSpecified; - private BaseEditBrowseTextControl txtSizeFrom; - private BaseEditBrowseTextControl txtSizeTo; - - /* - * (non-Javadoc) - * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#createAdvancedPart(org.eclipse.swt.widgets.Composite) - */ - @Override - public void createAdvancedPart(Composite parent) { - SelectionListener l = new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - optionChecked(e); - } - }; - - Composite sizeComp = createSection(parent, Messages.FSSizeSearchable_WhatSize); - sizeComp.setLayout(new GridLayout(5, false)); - - fBtnSizeNotRem = new Button(sizeComp, SWT.RADIO); - fBtnSizeNotRem.setText(Messages.FSSizeSearchable_DontRemember); - fBtnSizeNotRem.setSelection(true); - GridData data = new GridData(); - data.horizontalSpan = 5; - fBtnSizeNotRem.setLayoutData(data); - fBtnSizeNotRem.addSelectionListener(l); - - fBtnSizeSmall = new Button(sizeComp, SWT.RADIO); - fBtnSizeSmall.setText(Messages.FSSizeSearchable_Small); - data = new GridData(); - data.horizontalSpan = 5; - fBtnSizeSmall.setLayoutData(data); - fBtnSizeSmall.addSelectionListener(l); - - fBtnSizeMedium = new Button(sizeComp, SWT.RADIO); - fBtnSizeMedium.setText(Messages.FSSizeSearchable_Medium); - data = new GridData(); - data.horizontalSpan = 5; - fBtnSizeMedium.setLayoutData(data); - fBtnSizeMedium.addSelectionListener(l); - - fBtnSizeLarge = new Button(sizeComp, SWT.RADIO); - fBtnSizeLarge.setText(Messages.FSSizeSearchable_Large); - data = new GridData(); - data.horizontalSpan = 5; - fBtnSizeLarge.setLayoutData(data); - fBtnSizeLarge.addSelectionListener(l); - - fBtnSizeSpecified = new Button(sizeComp, SWT.RADIO); - fBtnSizeSpecified.setText(Messages.FSSizeSearchable_SpecifySize); - data = new GridData(); - fBtnSizeSpecified.setLayoutData(data); - fBtnSizeSpecified.addSelectionListener(l); - - Composite cmpFrom = new Composite(sizeComp, SWT.NONE); - GridLayout layout = new GridLayout(2, false); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.horizontalSpacing = 0; - layout.verticalSpacing = 0; - cmpFrom.setLayout(layout); - data = new GridData(); - cmpFrom.setLayoutData(data); - - txtSizeFrom = new BaseEditBrowseTextControl(null); - txtSizeFrom.setIsGroup(false); - txtSizeFrom.setHasHistory(false); - txtSizeFrom.setHideBrowseButton(true); - txtSizeFrom.setParentControlIsInnerPanel(true); - txtSizeFrom.setupPanel(cmpFrom); - txtSizeFrom.setEnabled(false); - txtSizeFrom.setEditFieldValidator(new SizeValidator()); - Text text = (Text) txtSizeFrom.getEditFieldControl(); - text.addModifyListener(new ModifyListener() { - @Override - public void modifyText(ModifyEvent e) { - sizeModified(); - } - }); - - - Label label = new Label(sizeComp, SWT.NONE); - label.setText(Messages.FSSizeSearchable_ToText); - - Composite cmpTo = new Composite(sizeComp, SWT.NONE); - layout = new GridLayout(2, false); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.horizontalSpacing = 0; - layout.verticalSpacing = 0; - cmpTo.setLayout(layout); - data = new GridData(); - cmpTo.setLayoutData(data); - - txtSizeTo = new BaseEditBrowseTextControl(null); - txtSizeTo.setIsGroup(false); - txtSizeTo.setHasHistory(false); - txtSizeTo.setHideBrowseButton(true); - txtSizeTo.setParentControlIsInnerPanel(true); - txtSizeTo.setupPanel(cmpTo); - txtSizeTo.setEnabled(false); - txtSizeTo.setEditFieldValidator(new SizeValidator()); - text = (Text) txtSizeTo.getEditFieldControl(); - text.addModifyListener(new ModifyListener() { - @Override - public void modifyText(ModifyEvent e) { - sizeModified(); - } - }); - - label = new Label(sizeComp, SWT.NONE); - label.setText(Messages.FSSizeSearchable_KBS); - } - - /** - * The modified event of the size fields. - */ - protected void sizeModified() { - fireOptionChanged(); - } - - /* - * (non-Javadoc) - * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#isInputValid() - */ - @Override - public boolean isInputValid() { - if(choice == OPTION_SIZE_SPECIFIED && txtSizeFrom != null && txtSizeTo != null) { - boolean vFrom = txtSizeFrom.isValid(); - boolean vTo = txtSizeTo.isValid(); - if(vFrom) { - String fromText = txtSizeFrom.getEditFieldControlText(); - this.lowerSize = Integer.parseInt(fromText); - } - if(vTo) { - String toText = txtSizeTo.getEditFieldControlText(); - this.upperSize = Integer.parseInt(toText); - } - return vFrom && vTo; - } - return true; - } - - /** - * The method handling the selection event. - * - * @param e The selection event. - */ - protected void optionChecked(SelectionEvent e) { - Object src = e.getSource(); - boolean specified = false; - if(src == fBtnSizeNotRem) { - choice = OPTION_NOT_REMEMBER; - } - else if(src == fBtnSizeSmall) { - choice = OPTION_SIZE_SMALL; - } - else if(src == fBtnSizeMedium) { - choice = OPTION_SIZE_MEDIUM; - } - else if(src == fBtnSizeLarge) { - choice = OPTION_SIZE_LARGE; - } - else if(src == fBtnSizeSpecified) { - choice = OPTION_SIZE_SPECIFIED; - specified = true; - } - if (txtSizeFrom != null) txtSizeFrom.setEnabled(specified); - if (txtSizeTo != null) txtSizeTo.setEnabled(specified); - fireOptionChanged(); - } - - /* - * (non-Javadoc) - * @see org.eclipse.tcf.te.ui.interfaces.ISearchMatcher#match(java.lang.Object) - */ - @Override - public boolean match(Object element) { - if (element instanceof FSTreeNode) { - FSTreeNode node = (FSTreeNode) element; - switch (choice) { - case OPTION_NOT_REMEMBER: - return true; - case OPTION_SIZE_SMALL: - return node.attr.size <= SIZE_SMALL; - case OPTION_SIZE_MEDIUM: - return node.attr.size <= SIZE_MEDIUM; - case OPTION_SIZE_LARGE: - return node.attr.size > SIZE_MEDIUM; - case OPTION_SIZE_SPECIFIED: - return node.attr.size >= lowerSize && node.attr.size < upperSize; - } - } - return false; - } -} +/******************************************************************************* + * Copyright (c) 2011, 2012 Wind River Systems, Inc. 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: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.tcf.filesystem.ui.internal.search; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; +import org.eclipse.tcf.te.tcf.filesystem.core.model.FSTreeNode; +import org.eclipse.tcf.te.tcf.filesystem.ui.nls.Messages; +import org.eclipse.tcf.te.ui.controls.BaseEditBrowseTextControl; +import org.eclipse.tcf.te.ui.search.TreeViewerSearchDialog; + +/** + * The searchable that provides a UI to collect and test + * the size of a file during searching. + */ +public class FSSizeSearchable extends FSBaseSearchable { + // Constant values of size options + private static final int OPTION_NOT_REMEMBER = 0; + private static final int OPTION_SIZE_SMALL = 1; + private static final int OPTION_SIZE_MEDIUM = 2; + private static final int OPTION_SIZE_LARGE = 3; + private static final int OPTION_SIZE_SPECIFIED = 4; + + // Constant values of different size unit, used for matching purpose. + private static final long KB = 1024; + private static final long MB = 1024 * KB; + + private static final long SIZE_SMALL = 100 * KB; + private static final long SIZE_MEDIUM = 1*MB; + + // The choice selected + private int choice; + // The lower bound of size + private int lowerSize; + // The upper bound of size + private int upperSize; + + // UI elements for input + private Button fBtnSizeNotRem; + private Button fBtnSizeSmall; + private Button fBtnSizeMedium; + private Button fBtnSizeLarge; + private Button fBtnSizeSpecified; + private BaseEditBrowseTextControl txtSizeFrom; + private BaseEditBrowseTextControl txtSizeTo; + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#createAdvancedPart(org.eclipse.tcf.te.ui.search.TreeViewerSearchDialog, org.eclipse.swt.widgets.Composite) + */ + @Override + public void createAdvancedPart(TreeViewerSearchDialog dialog, Composite parent) { + SelectionListener l = new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + optionChecked(e); + } + }; + + Composite sizeComp = createSection(parent, Messages.FSSizeSearchable_WhatSize); + sizeComp.setLayout(new GridLayout(5, false)); + + fBtnSizeNotRem = new Button(sizeComp, SWT.RADIO); + fBtnSizeNotRem.setText(Messages.FSSizeSearchable_DontRemember); + fBtnSizeNotRem.setSelection(true); + GridData data = new GridData(); + data.horizontalSpan = 5; + fBtnSizeNotRem.setLayoutData(data); + fBtnSizeNotRem.addSelectionListener(l); + + fBtnSizeSmall = new Button(sizeComp, SWT.RADIO); + fBtnSizeSmall.setText(Messages.FSSizeSearchable_Small); + data = new GridData(); + data.horizontalSpan = 5; + fBtnSizeSmall.setLayoutData(data); + fBtnSizeSmall.addSelectionListener(l); + + fBtnSizeMedium = new Button(sizeComp, SWT.RADIO); + fBtnSizeMedium.setText(Messages.FSSizeSearchable_Medium); + data = new GridData(); + data.horizontalSpan = 5; + fBtnSizeMedium.setLayoutData(data); + fBtnSizeMedium.addSelectionListener(l); + + fBtnSizeLarge = new Button(sizeComp, SWT.RADIO); + fBtnSizeLarge.setText(Messages.FSSizeSearchable_Large); + data = new GridData(); + data.horizontalSpan = 5; + fBtnSizeLarge.setLayoutData(data); + fBtnSizeLarge.addSelectionListener(l); + + fBtnSizeSpecified = new Button(sizeComp, SWT.RADIO); + fBtnSizeSpecified.setText(Messages.FSSizeSearchable_SpecifySize); + data = new GridData(); + fBtnSizeSpecified.setLayoutData(data); + fBtnSizeSpecified.addSelectionListener(l); + + Composite cmpFrom = new Composite(sizeComp, SWT.NONE); + GridLayout layout = new GridLayout(2, false); + layout.marginWidth = 0; + layout.marginHeight = 0; + layout.horizontalSpacing = 0; + layout.verticalSpacing = 0; + cmpFrom.setLayout(layout); + data = new GridData(); + cmpFrom.setLayoutData(data); + + txtSizeFrom = new BaseEditBrowseTextControl(null); + txtSizeFrom.setIsGroup(false); + txtSizeFrom.setHasHistory(false); + txtSizeFrom.setHideBrowseButton(true); + txtSizeFrom.setParentControlIsInnerPanel(true); + txtSizeFrom.setupPanel(cmpFrom); + txtSizeFrom.setEnabled(false); + txtSizeFrom.setEditFieldValidator(new SizeValidator()); + Text text = (Text) txtSizeFrom.getEditFieldControl(); + text.addModifyListener(new ModifyListener() { + @Override + public void modifyText(ModifyEvent e) { + sizeModified(); + } + }); + + + Label label = new Label(sizeComp, SWT.NONE); + label.setText(Messages.FSSizeSearchable_ToText); + + Composite cmpTo = new Composite(sizeComp, SWT.NONE); + layout = new GridLayout(2, false); + layout.marginWidth = 0; + layout.marginHeight = 0; + layout.horizontalSpacing = 0; + layout.verticalSpacing = 0; + cmpTo.setLayout(layout); + data = new GridData(); + cmpTo.setLayoutData(data); + + txtSizeTo = new BaseEditBrowseTextControl(null); + txtSizeTo.setIsGroup(false); + txtSizeTo.setHasHistory(false); + txtSizeTo.setHideBrowseButton(true); + txtSizeTo.setParentControlIsInnerPanel(true); + txtSizeTo.setupPanel(cmpTo); + txtSizeTo.setEnabled(false); + txtSizeTo.setEditFieldValidator(new SizeValidator()); + text = (Text) txtSizeTo.getEditFieldControl(); + text.addModifyListener(new ModifyListener() { + @Override + public void modifyText(ModifyEvent e) { + sizeModified(); + } + }); + + label = new Label(sizeComp, SWT.NONE); + label.setText(Messages.FSSizeSearchable_KBS); + } + + /** + * The modified event of the size fields. + */ + protected void sizeModified() { + fireOptionChanged(); + } + + /* + * (non-Javadoc) + * @see org.eclipse.tcf.te.ui.utils.AbstractSearchable#isInputValid() + */ + @Override + public boolean isInputValid() { + if(choice == OPTION_SIZE_SPECIFIED && txtSizeFrom != null && txtSizeTo != null) { + boolean vFrom = txtSizeFrom.isValid(); + boolean vTo = txtSizeTo.isValid(); + if(vFrom) { + String fromText = txtSizeFrom.getEditFieldControlText(); + this.lowerSize = Integer.parseInt(fromText); + } + if(vTo) { + String toText = txtSizeTo.getEditFieldControlText(); + this.upperSize = Integer.parseInt(toText); + } + return vFrom && vTo; + } + return true; + } + + /** + * The method handling the selection event. + * + * @param e The selection event. + */ + protected void optionChecked(SelectionEvent e) { + Object src = e.getSource(); + boolean specified = false; + if(src == fBtnSizeNotRem) { + choice = OPTION_NOT_REMEMBER; + } + else if(src == fBtnSizeSmall) { + choice = OPTION_SIZE_SMALL; + } + else if(src == fBtnSizeMedium) { + choice = OPTION_SIZE_MEDIUM; + } + else if(src == fBtnSizeLarge) { + choice = OPTION_SIZE_LARGE; + } + else if(src == fBtnSizeSpecified) { + choice = OPTION_SIZE_SPECIFIED; + specified = true; + } + if (txtSizeFrom != null) txtSizeFrom.setEnabled(specified); + if (txtSizeTo != null) txtSizeTo.setEnabled(specified); + fireOptionChanged(); + } + + /* + * (non-Javadoc) + * @see org.eclipse.tcf.te.ui.interfaces.ISearchMatcher#match(java.lang.Object) + */ + @Override + public boolean match(Object element) { + if (element instanceof FSTreeNode) { + FSTreeNode node = (FSTreeNode) element; + switch (choice) { + case OPTION_NOT_REMEMBER: + return true; + case OPTION_SIZE_SMALL: + return node.attr.size <= SIZE_SMALL; + case OPTION_SIZE_MEDIUM: + return node.attr.size <= SIZE_MEDIUM; + case OPTION_SIZE_LARGE: + return node.attr.size > SIZE_MEDIUM; + case OPTION_SIZE_SPECIFIED: + return node.attr.size >= lowerSize && node.attr.size < upperSize; + } + } + return false; + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/search/FSTreeNodeSearchable.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/search/FSTreeNodeSearchable.java index eb451aebf..79b9b0fba 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/search/FSTreeNodeSearchable.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/search/FSTreeNodeSearchable.java @@ -69,12 +69,19 @@ public class FSTreeNodeSearchable extends CompositeSearchable { return rootNode.name; } - /* - * (non-Javadoc) + /* (non-Javadoc) * @see org.eclipse.tcf.te.ui.interfaces.ISearchable#getElementText(java.lang.Object) */ @Override public String getElementText(Object element) { return getElementName(element); } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.interfaces.ISearchable#getCustomMessage(java.lang.Object, java.lang.String) + */ + @Override + public String getCustomMessage(Object rootElement, String key) { + return null; + } } diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/nls/Messages.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/nls/Messages.properties index 1ed28fe9d..d112de073 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/nls/Messages.properties +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/nls/Messages.properties @@ -1,162 +1,162 @@ -############################################################################### -# Copyright (c) 2012 Wind River Systems, Inc. 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: -# Wind River Systems - initial API and implementation -############################################################################### -FSFolderSelectionDialog_MoveDialogMessage=Choose destination for the files to be moved: -FSFolderSelectionDialog_MoveDialogTitle=Move Files and Folders -FSOpenFileDialog_message=Please select an image file for the process. -FSOpenFileDialog_title=Select Process Image -FSDelete_ConfirmDelete=Confirm Delete -FSDelete_ConfirmMessage=Are you sure you want to remove the read-only file ''{0}''? -FSDelete_ButtonCancel=Cancel -FSDelete_ButtonNo=&No -FSDelete_ButtonYes=&Yes -FSDelete_ButtonYes2All=Yes to &All -DateValidator_DateInvalidNumber=The date is not a valid number. -DateValidator_DateOutofRange=The date is a number between 1 and 31. -DateValidator_InfoFormat=The format of the date is MM/DD/YYYY -DateValidator_InfoPrompt=Please enter a date. -DateValidator_InvalidDate=The date entered is not a valid date\! -DateValidator_MonthInvalidNumber=The month is not a valid number. -DateValidator_MonthOutofRange=The month is a number between 1 and 12. -DateValidator_YearInvalidNumber=The year is not a valid number. -DateValidator_YearOutofRange=The year is a number which is bigger than zero. -DeleteFilesHandler_ConfirmDialogTitle=Confirm Delete -DeleteFilesHandler_DeleteMultipleFilesConfirmation=Are you sure you want to delete these {0} files/folders? -DeleteFilesHandler_DeleteOneFileConfirmation=Are you sure you want to delete ''{0}''? -FSRenamingAssistant_NameAlreadyExists=A file/folder with the name you specified already exists\! Specify a different name. -FSRenamingAssistant_SpecifyNonEmptyName=Specify a non-empty name. -FSRenamingAssistant_UnixIllegalCharacters=File or folder name cannot contain any of the following characters:\n/ -FSRenamingAssistant_WinIllegalCharacters=File or folder name cannot contain any of the following characters:\n\\/:*?<>| -LocalTypedElement_SavingFile=Saving file: {0} -MergeEditorInput_LocalFile=Local: {0} -MergeEditorInput_RemoteFile=Remote: {0} -MergeEditorInput_CompareLeftAndRight=Compare {0} and {1} -MergeEditorInput_CompareWithLocalCache=Compare {0} with Local Cache -MergeInput_CopyNotSupported=Copy is not support by this type of compare input -RemoteTypedElement_GettingRemoteContent=Getting content from the remote file: -RemoteTypedElement_DowloadingFile=Downloading file {0}... -FSDropTargetListener_ConfirmMoveTitle=Confirm Move -FSDropTargetListener_MovingWarningMultiple=This operation will delete the files after moving. You can copy them without deletion by CTRL + dragging. \n\nAre you sure you want to move these {0} files/folders? -FSDropTargetListener_MovingWarningSingle=This operation will delete the file after moving. You can copy it without deletion by CTRL + dragging. \n\nAre you sure you want to move ''{0}''? -FSExplorerEditorPage_PageTitle=File System Explorer -FSGeneralSearchable_FileType=Select type of file -FSGeneralSearchable_Find=Find: -FSGeneralSearchable_GeneralOptionText=General search options -FSGeneralSearchable_SearchHiddenFiles=Search hidden files/folders -FSGeneralSearchable_SearchSystemFiles=Search system files/folders -FSModifiedSearchable_DontRemember=Don't remember -FSModifiedSearchable_LastWeek=Within the last week -FSModifiedSearchable_PastMonth=Past month -FSModifiedSearchable_PastYear=Within the past year -FSModifiedSearchable_SpecifyDates=Specify dates, from -FSModifiedSearchable_ToDate=to -FSModifiedSearchable_WhenModified=When was it modified? -FSUpload_Cancel=Cancel -FSUpload_No=No -FSUpload_OverwriteConfirmation=A file with a same name already exists. Are you sure to overwrite {0}? -FSUpload_OverwriteTitle=Confirm Overwrite -FSUpload_Yes=Yes -FSUpload_YesToAll=Yes to All -FSOperation_ConfirmDialogCancel=Cancel -FSOperation_ConfirmDialogNo=&No -FSOperation_ConfirmDialogYes=&Yes -FSOperation_ConfirmDialogYesToAll=Yes to &All -FSOperation_ConfirmFileReplace=Confirm File Replace -FSOperation_ConfirmFileReplaceMessage=This folder already contains a file named {0}.\n\n If the files in the existing folder have the same name as files in the folder you are moving or copying, they will be replaced. Do you still want to move or copy the file? -FSOperation_ConfirmFolderReplaceMessage=This folder already contains a folder named {0}.\n\n If the files in the existing folder have the same name as files in the folder you are moving or copying, they will be replaced. Do you still want to move or copy the folder? -FSOperation_ConfirmFolderReplaceTitle=Confirm Folder Replace -OpenFileHandler_OpeningBinaryNotSupported=Opening a binary file is not supported yet. -OpenFileHandler_Warning=Warning -OpenWithMenu_ChooseEditorForOpening=Choose the editor for opening {0} -OpenWithMenu_DefaultEditor=&Default Editor -OpenWithMenu_NoEditorFound=No editor found to edit the file resource. -OpenWithMenu_OpenWith=Open With -FSRename_RenameFileFolderTitle=Error Renaming File or Folder -FSSizeSearchable_DontRemember=Don't remember -FSSizeSearchable_KBS=KB(s) -FSSizeSearchable_Large=Large (more than 1 MB) -FSSizeSearchable_Medium=Medium (less than 1 MB) -FSSizeSearchable_Small=Small (less than 100 KB) -FSSizeSearchable_SpecifySize=Specify size, from -FSSizeSearchable_ToText=KB(s) to -FSSizeSearchable_WhatSize=What size is it? -FSTreeNodeSearchable_FilesAndFolders=both files and folders -FSTreeNodeSearchable_FilesOnly=files only -FSTreeNodeSearchable_FindFilesAndFolders=Find Files -FSTreeNodeSearchable_FindMessage=Find files and folders under {0}.\nWarning: subsidiary files and folders will be loaded and searched. -FSTreeNodeSearchable_FoldersOnly=folders only -FSTreeNodeSearchable_SearchingTargets=Find in -FSTreeNodeSearchable_SelectedFileSystem=the selected file system -RenameFilesHandler_TitleRename=Rename -RenameFilesHandler_TitleRenameFile=Rename File -RenameFilesHandler_TitleRenameFolder=Rename Folder -RenameFilesHandler_PromptNewName=New name: -RenameFilesHandler_RenamePromptMessage=Please enter a new name -PreferencePage_AutoSavingText=Automatically upload files to targets upon saving -PreferencePage_CopyOwnershipText=Copy source UID and GID when copying files -PreferencePage_CopyPermissionText=Copy source permissions when copying files -PreferencePage_PersistExpanded=Remember expanded directories -PreferencePage_RenamingOptionText=Use In-place Editor when renaming a file/folder -AdvancedAttributesDialog_FileBanner=Choose the options you want for this file. -AdvancedAttributesDialog_FolderBanner=Choose the settings you want for this folder.\n\nWhen you apply these changes you will be asked if you want the\n changes to affect all subfolders and files as well. -AdvancedAttributesDialog_CompressEncrypt=Compress or Encrypt attributes -AdvancedAttributesDialog_ArchiveIndex=Archive and Index attributes -AdvancedAttributesDialog_IndexFile=For fast searching, allow Indexing Service to index this file -AdvancedAttributesDialog_IndexFolder=For fast searching, allow Indexing Service to index this folder -AdvancedAttributesDialog_FileArchive=File is ready for archiving -AdvancedAttributesDialog_FolderArchive=Folder is ready for archiving -AdvancedAttributesDialog_Encrypt=Encrypt contents to secure data -AdvancedAttributesDialog_Compress=Compress contents to save disk space -AdvancedAttributesDialog_ShellTitle=Advanced Attributes -GeneralInformationPage_Accessed=Accessed: -GeneralInformationPage_Advanced=\ A&dvanced... -GeneralInformationPage_Attributes=Attributes: -GeneralInformationPage_FileSizeInfo={0} KB ({1} bytes) -GeneralInformationPage_Hidden=Hidden -GeneralInformationPage_ReadOnly=Read-only -GeneralInformationPage_Computer=computer -GeneralInformationPage_Location=Location: -GeneralInformationPage_Modified=Modified: -GeneralInformationPage_Name=Name: -GeneralInformationPage_Size=Size: -GeneralInformationPage_Type=Type: -GeneralInformationPage_PermissionText=Permissions: -PermissionsGroup_Executable=Executable -PermissionsGroup_GroupPermissions=Group: -PermissionsGroup_OtherPermissions=Other: -PermissionsGroup_Readable=Readable -PermissionsGroup_UserPermissions=User: -PermissionsGroup_Writable=Writable -BasicFolderSection_BasicInfoText=Basic Information -LinuxPermissionsSection_Permissions=Permissions -WindowsAttributesSection_Attributes=Attributes -FolderValidator_SpecifyFolder=Please specify the folder where the file or folder is going to be created. -FolderValidator_DirNotExist=The directory {0} does not exist in the current target. -FolderValidator_NotWritable=The directory {0} is not writable. Please choose a different one. -NameValidator_InfoPrompt=Please enter a name to search. -NameValidator_SpecifyFolder=Please specify the folder where the file or folder is going to be created. -NewFileWizard_NewFileWizardTitle=New File Wizard -NewFileWizardPage_NewFileWizardPageDescription=Create a new file in the directory. -NewFileWizardPage_NewFileWizardPageNameLabel=File name: -NewFileWizardPage_NewFileWizardPageTitle=New File -NewFolderWizard_NewFolderWizardTitle=New Folder Wizard -NewFolderWizardPage_NewFolderWizardPageDescription=Create a new folder in the directory. -NewFolderWizardPage_NewFolderWizardPageNameLabel=Folder name: -NewFolderWizardPage_NewFolderWizardPageTitle=New Folder -NewNodeWizardPage_PromptFolderLabel=Enter or select the parent folder: -SizeValidator_ErrorIncorrectFormat=The format of the size entered is not correct. -SizeValidator_ErrorSizeOutofRange=The size entered is not in the expected range. -SizeValidator_InfoPrompt=Please enter a size number. -TargetSelectionPage_Description=Please select the target where the new file or folder is created. -TargetSelectionPage_Targets=Targets: -TargetSelectionPage_Title=Select the target. -TreeViewerSearchDialog_LblCancelText=Find: -TreeViewerSearchDialog_GrpOptionsText=Options -TreeViewerSearchDialog_BtnCaseText=Case sensitive -TreeViewerSearchDialog_BtnPreciseText=Precise matching +############################################################################### +# Copyright (c) 2012 Wind River Systems, Inc. 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: +# Wind River Systems - initial API and implementation +############################################################################### +FSFolderSelectionDialog_MoveDialogMessage=Choose destination for the files to be moved: +FSFolderSelectionDialog_MoveDialogTitle=Move Files and Folders +FSOpenFileDialog_message=Please select an image file for the process. +FSOpenFileDialog_title=Select Process Image +FSDelete_ConfirmDelete=Confirm Delete +FSDelete_ConfirmMessage=Are you sure you want to remove the read-only file ''{0}''? +FSDelete_ButtonCancel=Cancel +FSDelete_ButtonNo=&No +FSDelete_ButtonYes=&Yes +FSDelete_ButtonYes2All=Yes to &All +DateValidator_DateInvalidNumber=The date is not a valid number. +DateValidator_DateOutofRange=The date is a number between 1 and 31. +DateValidator_InfoFormat=The format of the date is MM/DD/YYYY +DateValidator_InfoPrompt=Please enter a date. +DateValidator_InvalidDate=The date entered is not a valid date\! +DateValidator_MonthInvalidNumber=The month is not a valid number. +DateValidator_MonthOutofRange=The month is a number between 1 and 12. +DateValidator_YearInvalidNumber=The year is not a valid number. +DateValidator_YearOutofRange=The year is a number which is bigger than zero. +DeleteFilesHandler_ConfirmDialogTitle=Confirm Delete +DeleteFilesHandler_DeleteMultipleFilesConfirmation=Are you sure you want to delete these {0} files/folders? +DeleteFilesHandler_DeleteOneFileConfirmation=Are you sure you want to delete ''{0}''? +FSRenamingAssistant_NameAlreadyExists=A file/folder with the name you specified already exists\! Specify a different name. +FSRenamingAssistant_SpecifyNonEmptyName=Specify a non-empty name. +FSRenamingAssistant_UnixIllegalCharacters=File or folder name cannot contain any of the following characters:\n/ +FSRenamingAssistant_WinIllegalCharacters=File or folder name cannot contain any of the following characters:\n\\/:*?<>| +LocalTypedElement_SavingFile=Saving file: {0} +MergeEditorInput_LocalFile=Local: {0} +MergeEditorInput_RemoteFile=Remote: {0} +MergeEditorInput_CompareLeftAndRight=Compare {0} and {1} +MergeEditorInput_CompareWithLocalCache=Compare {0} with Local Cache +MergeInput_CopyNotSupported=Copy is not support by this type of compare input +RemoteTypedElement_GettingRemoteContent=Getting content from the remote file: +RemoteTypedElement_DowloadingFile=Downloading file {0}... +FSDropTargetListener_ConfirmMoveTitle=Confirm Move +FSDropTargetListener_MovingWarningMultiple=This operation will delete the files after moving. You can copy them without deletion by CTRL + dragging. \n\nAre you sure you want to move these {0} files/folders? +FSDropTargetListener_MovingWarningSingle=This operation will delete the file after moving. You can copy it without deletion by CTRL + dragging. \n\nAre you sure you want to move ''{0}''? +FSExplorerEditorPage_PageTitle=File System Explorer +FSGeneralSearchable_FileType=Select type of file +FSGeneralSearchable_Find=Find: +FSGeneralSearchable_GeneralOptionText=General options +FSGeneralSearchable_SearchHiddenFiles=Search hidden files/folders +FSGeneralSearchable_SearchSystemFiles=Search system files/folders +FSModifiedSearchable_DontRemember=Don't remember +FSModifiedSearchable_LastWeek=Within the last week +FSModifiedSearchable_PastMonth=Past month +FSModifiedSearchable_PastYear=Within the past year +FSModifiedSearchable_SpecifyDates=Specify dates, from +FSModifiedSearchable_ToDate=to +FSModifiedSearchable_WhenModified=When was it modified? +FSUpload_Cancel=Cancel +FSUpload_No=No +FSUpload_OverwriteConfirmation=A file with a same name already exists. Are you sure to overwrite {0}? +FSUpload_OverwriteTitle=Confirm Overwrite +FSUpload_Yes=Yes +FSUpload_YesToAll=Yes to All +FSOperation_ConfirmDialogCancel=Cancel +FSOperation_ConfirmDialogNo=&No +FSOperation_ConfirmDialogYes=&Yes +FSOperation_ConfirmDialogYesToAll=Yes to &All +FSOperation_ConfirmFileReplace=Confirm File Replace +FSOperation_ConfirmFileReplaceMessage=This folder already contains a file named {0}.\n\n If the files in the existing folder have the same name as files in the folder you are moving or copying, they will be replaced. Do you still want to move or copy the file? +FSOperation_ConfirmFolderReplaceMessage=This folder already contains a folder named {0}.\n\n If the files in the existing folder have the same name as files in the folder you are moving or copying, they will be replaced. Do you still want to move or copy the folder? +FSOperation_ConfirmFolderReplaceTitle=Confirm Folder Replace +OpenFileHandler_OpeningBinaryNotSupported=Opening a binary file is not supported yet. +OpenFileHandler_Warning=Warning +OpenWithMenu_ChooseEditorForOpening=Choose the editor for opening {0} +OpenWithMenu_DefaultEditor=&Default Editor +OpenWithMenu_NoEditorFound=No editor found to edit the file resource. +OpenWithMenu_OpenWith=Open With +FSRename_RenameFileFolderTitle=Error Renaming File or Folder +FSSizeSearchable_DontRemember=Don't remember +FSSizeSearchable_KBS=KB(s) +FSSizeSearchable_Large=Large (more than 1 MB) +FSSizeSearchable_Medium=Medium (less than 1 MB) +FSSizeSearchable_Small=Small (less than 100 KB) +FSSizeSearchable_SpecifySize=Specify size, from +FSSizeSearchable_ToText=KB(s) to +FSSizeSearchable_WhatSize=What size is it? +FSTreeNodeSearchable_FilesAndFolders=both files and folders +FSTreeNodeSearchable_FilesOnly=files only +FSTreeNodeSearchable_FindFilesAndFolders=Find Files +FSTreeNodeSearchable_FindMessage=Find files and folders under {0}.\nWarning: subsidiary files and folders will be loaded and searched. +FSTreeNodeSearchable_FoldersOnly=folders only +FSTreeNodeSearchable_SearchingTargets=Find in +FSTreeNodeSearchable_SelectedFileSystem=the selected file system +RenameFilesHandler_TitleRename=Rename +RenameFilesHandler_TitleRenameFile=Rename File +RenameFilesHandler_TitleRenameFolder=Rename Folder +RenameFilesHandler_PromptNewName=New name: +RenameFilesHandler_RenamePromptMessage=Please enter a new name +PreferencePage_AutoSavingText=Automatically upload files to targets upon saving +PreferencePage_CopyOwnershipText=Copy source UID and GID when copying files +PreferencePage_CopyPermissionText=Copy source permissions when copying files +PreferencePage_PersistExpanded=Remember expanded directories +PreferencePage_RenamingOptionText=Use In-place Editor when renaming a file/folder +AdvancedAttributesDialog_FileBanner=Choose the options you want for this file. +AdvancedAttributesDialog_FolderBanner=Choose the settings you want for this folder.\n\nWhen you apply these changes you will be asked if you want the\n changes to affect all subfolders and files as well. +AdvancedAttributesDialog_CompressEncrypt=Compress or Encrypt attributes +AdvancedAttributesDialog_ArchiveIndex=Archive and Index attributes +AdvancedAttributesDialog_IndexFile=For fast searching, allow Indexing Service to index this file +AdvancedAttributesDialog_IndexFolder=For fast searching, allow Indexing Service to index this folder +AdvancedAttributesDialog_FileArchive=File is ready for archiving +AdvancedAttributesDialog_FolderArchive=Folder is ready for archiving +AdvancedAttributesDialog_Encrypt=Encrypt contents to secure data +AdvancedAttributesDialog_Compress=Compress contents to save disk space +AdvancedAttributesDialog_ShellTitle=Advanced Attributes +GeneralInformationPage_Accessed=Accessed: +GeneralInformationPage_Advanced=\ A&dvanced... +GeneralInformationPage_Attributes=Attributes: +GeneralInformationPage_FileSizeInfo={0} KB ({1} bytes) +GeneralInformationPage_Hidden=Hidden +GeneralInformationPage_ReadOnly=Read-only +GeneralInformationPage_Computer=computer +GeneralInformationPage_Location=Location: +GeneralInformationPage_Modified=Modified: +GeneralInformationPage_Name=Name: +GeneralInformationPage_Size=Size: +GeneralInformationPage_Type=Type: +GeneralInformationPage_PermissionText=Permissions: +PermissionsGroup_Executable=Executable +PermissionsGroup_GroupPermissions=Group: +PermissionsGroup_OtherPermissions=Other: +PermissionsGroup_Readable=Readable +PermissionsGroup_UserPermissions=User: +PermissionsGroup_Writable=Writable +BasicFolderSection_BasicInfoText=Basic Information +LinuxPermissionsSection_Permissions=Permissions +WindowsAttributesSection_Attributes=Attributes +FolderValidator_SpecifyFolder=Please specify the folder where the file or folder is going to be created. +FolderValidator_DirNotExist=The directory {0} does not exist in the current target. +FolderValidator_NotWritable=The directory {0} is not writable. Please choose a different one. +NameValidator_InfoPrompt=Please enter a name to search. +NameValidator_SpecifyFolder=Please specify the folder where the file or folder is going to be created. +NewFileWizard_NewFileWizardTitle=New File Wizard +NewFileWizardPage_NewFileWizardPageDescription=Create a new file in the directory. +NewFileWizardPage_NewFileWizardPageNameLabel=File name: +NewFileWizardPage_NewFileWizardPageTitle=New File +NewFolderWizard_NewFolderWizardTitle=New Folder Wizard +NewFolderWizardPage_NewFolderWizardPageDescription=Create a new folder in the directory. +NewFolderWizardPage_NewFolderWizardPageNameLabel=Folder name: +NewFolderWizardPage_NewFolderWizardPageTitle=New Folder +NewNodeWizardPage_PromptFolderLabel=Enter or select the parent folder: +SizeValidator_ErrorIncorrectFormat=The format of the size entered is not correct. +SizeValidator_ErrorSizeOutofRange=The size entered is not in the expected range. +SizeValidator_InfoPrompt=Please enter a size number. +TargetSelectionPage_Description=Please select the target where the new file or folder is created. +TargetSelectionPage_Targets=Targets: +TargetSelectionPage_Title=Select the target. +TreeViewerSearchDialog_LblCancelText=Find: +TreeViewerSearchDialog_GrpOptionsText=Options +TreeViewerSearchDialog_BtnCaseText=Case sensitive +TreeViewerSearchDialog_BtnPreciseText=Precise matching -- cgit v1.2.3