use of org.pentaho.gwt.widgets.client.filechooser.FileChooserDialog in project pentaho-platform by pentaho.
the class SaveCommand method performOperation.
protected void performOperation(boolean feedback) {
final SolutionBrowserPanel navigatorPerspective = SolutionBrowserPanel.getInstance();
retrieveCachedValues(navigatorPerspective.getContentTabPanel().getCurrentFrame());
boolean forceReload = false;
if (FileChooserDialog.getIsDirty()) {
forceReload = true;
WaitPopup.getInstance().setVisibleById(true, spinnerId);
FileChooserDialog.setIsDirty(Boolean.FALSE);
}
RepositoryFileTreeManager.getInstance().fetchRepositoryFileTree(new AsyncCallback<RepositoryFileTree>() {
public void onFailure(Throwable caught) {
}
public void onSuccess(RepositoryFileTree tree) {
retrieveCachedValues(navigatorPerspective.getContentTabPanel().getCurrentFrame());
if (isSaveAs || name == null) {
String fileDir = "";
if (path != null && !StringUtils.isEmpty(path)) {
// If has extension
if (path.endsWith(name)) {
fileDir = path.substring(0, path.lastIndexOf("/"));
} else {
fileDir = path;
}
}
WaitPopup.getInstance().setVisibleById(false, spinnerId);
final FileChooserDialog dialog = new FileChooserDialog(FileChooserMode.SAVE, fileDir, tree, false, true, Messages.getString("save"), Messages.getString("save"), // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
navigatorPerspective.getSolutionTree().isShowHiddenFiles());
dialog.setSubmitOnEnter(MantleApplication.submitOnEnter);
if (isSaveAs) {
// $NON-NLS-1$
dialog.setTitle(Messages.getString("saveAs"));
// $NON-NLS-1$
dialog.setText(Messages.getString("saveAs"));
} else {
// $NON-NLS-1$
dialog.setTitle(Messages.getString("save"));
// $NON-NLS-1$
dialog.setText(Messages.getString("save"));
}
// TODO Uncomment the line below and delete the line after that once gwtwidets have been branched
dialog.addFileChooserListener(new FileChooserListener() {
public void dialogCanceled() {
}
@Override
public void fileSelected(final RepositoryFile file, String filePath, String fileName, String title) {
SaveCommand.this.type = SolutionFileInfo.Type.XACTION;
SaveCommand.this.name = fileName;
SaveCommand.this.path = filePath;
tabName = name;
if (tabName.indexOf("analysisview.xaction") != -1) {
// trim off the analysisview.xaction from the localized-name
tabName = tabName.substring(0, tabName.indexOf("analysisview.xaction") - 1);
}
JsArrayString extensions = getPossibleExtensions(navigatorPerspective.getContentTabPanel().getCurrentFrameElementId());
final String fileExtension = extensions.length() == 1 ? extensions.get(0) : null;
if (dialog.doesSelectedFileExist(fileExtension)) {
dialog.hide();
PromptDialogBox overWriteDialog = new PromptDialogBox(// $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
Messages.getString("question"), // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
Messages.getString("yes"), // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
Messages.getString("no"), false, true);
// $NON-NLS-1$
overWriteDialog.setContent(new Label(Messages.getString("fileExistsOverwrite"), false));
overWriteDialog.setCallback(new IDialogCallback() {
public void okPressed() {
if (fileExtension != null && tabName.endsWith(fileExtension)) {
tabName = tabName.substring(0, tabName.lastIndexOf(fileExtension));
}
doSaveAs(navigatorPerspective.getContentTabPanel().getCurrentFrameElementId(), name, path, type, true);
// $NON-NLS-1$ //$NON-NLS-2$
Window.setTitle(Messages.getString("productName") + " - " + name);
FileChooserDialog.setIsDirty(Boolean.TRUE);
persistFileInfoInFrame();
}
public void cancelPressed() {
dialog.show();
}
});
overWriteDialog.center();
} else {
// [Fix for PIR-833]
if (file != null && !file.isFolder() && !fileName.equals(title) && filePath.endsWith(file.getName())) {
SaveCommand.this.path = filePath.substring(0, filePath.lastIndexOf("/" + file.getName()));
}
doSaveAs(navigatorPerspective.getContentTabPanel().getCurrentFrameElementId(), name, path, type, true);
// $NON-NLS-1$ //$NON-NLS-2$
Window.setTitle(Messages.getString("productName") + " - " + name);
persistFileInfoInFrame();
// navigatorPerspective.addRecent(fullPathWithName, name);
clearValues();
}
}
@Override
public void fileSelectionChanged(RepositoryFile file, String filePath, String fileName, String title) {
// TODO Auto-generated method stub
}
});
dialog.center();
} else {
doSaveAs(navigatorPerspective.getContentTabPanel().getCurrentFrameElementId(), name, path, type, true);
clearValues();
}
WaitPopup.getInstance().setVisibleById(false, spinnerId);
}
}, forceReload, null, null, SolutionBrowserPanel.getInstance().getSolutionTree().isShowHiddenFiles());
}
use of org.pentaho.gwt.widgets.client.filechooser.FileChooserDialog in project pentaho-platform by pentaho.
the class FileDialog method show.
public void show() {
String pathToShow = (path != null) ? path : FileDialog.lastPath;
final SolutionBrowserPanel solutionBrowserPerspective = SolutionBrowserPanel.getInstance();
final FileChooserDialog dialog = new FileChooserDialog(FileChooserMode.OPEN, pathToShow, repositoryFileTree, false, true, title, okText, solutionBrowserPerspective.getSolutionTree().isShowHiddenFiles()) {
@Override
public void hide() {
super.hide();
GlassPane.getInstance().hide();
}
};
dialog.setSubmitOnEnter(MantleApplication.submitOnEnter);
dialog.addFileChooserListener(new FileChooserListener() {
public void fileSelected(RepositoryFile file, String filePath, String fileName, String title) {
dialog.hide();
for (FileChooserListener listener : listeners) {
listener.fileSelected(file, filePath, fileName, title);
}
}
public void fileSelectionChanged(RepositoryFile file, String filePath, String fileName, String title) {
}
public void dialogCanceled() {
}
});
dialog.setFileFilter(new FileFilter() {
public boolean accept(String name, boolean isDirectory, boolean isVisible) {
if (isDirectory && isVisible) {
return true;
}
if (name.indexOf(".") == -1) {
return false;
}
String extension = name.substring(name.lastIndexOf(".") + 1);
for (int i = 0; i < fileTypes.length; i++) {
if (fileTypes[i].trim().equalsIgnoreCase(extension) && isVisible) {
return true;
}
}
return false;
}
});
GlassPane.getInstance().show();
dialog.center();
}
use of org.pentaho.gwt.widgets.client.filechooser.FileChooserDialog in project pentaho-platform by pentaho.
the class OpenFileCommand method performOperation.
protected void performOperation(boolean feedback) {
final IPluginPerspective activePerspective = PerspectiveManager.getInstance().getActivePerspective();
final SolutionBrowserPanel solutionBrowserPerspective = SolutionBrowserPanel.getInstance();
boolean forceReload = false;
if (FileChooserDialog.getIsDirty()) {
forceReload = true;
WaitPopup.getInstance().setVisibleById(true, spinnerId);
FileChooserDialog.setIsDirty(Boolean.FALSE);
}
RepositoryFileTreeManager.getInstance().fetchRepositoryFileTree(new AsyncCallback<RepositoryFileTree>() {
public void onFailure(Throwable caught) {
}
public void onSuccess(RepositoryFileTree tree) {
// TODO Uncomment the line below and delete the line after that once gwtwidets have been branched
WaitPopup.getInstance().setVisibleById(false, spinnerId);
final FileChooserDialog dialog = new FileChooserDialog(FileChooserMode.OPEN, lastPath, tree, false, true, solutionBrowserPerspective.getSolutionTree().isShowHiddenFiles());
dialog.setSubmitOnEnter(MantleApplication.submitOnEnter);
dialog.addFileChooserListener(new FileChooserListener() {
public void dialogCanceled() {
// retain current active perspective
PerspectiveManager.getInstance().setPerspective(activePerspective.getId());
}
@Override
public void fileSelected(RepositoryFile repositoryFile, String filePath, String fileName, String title) {
dialog.hide();
solutionBrowserPerspective.openFile(repositoryFile, openMethod);
}
@Override
public void fileSelectionChanged(RepositoryFile repositoryFile, String filePath, String fileName, String title) {
// TODO Auto-generated method stub
}
});
dialog.center();
}
}, forceReload, null, null, SolutionBrowserPanel.getInstance().getSolutionTree().isShowHiddenFiles());
}
Aggregations