Util.startNewThread(Configuration.getClassLoader(), new Runnable() {
public void run() {
try {
boolean convertToGoogleDocsFormat = convertCheckBox.isEnabled() && convertCheckBox.isSelected();
OOoFormats currentFormat = getFormatOfDocument();
Creditionals credentionals;
if (wrapper.isServerSelectionNeeded()) {
String serverPath = (String)serversComboBox.getEditor().getItem();
wrapper.setServerPath(serverPath);
credentionals = wrapper.getCreditionalsForServer(serverPath);
} else {
credentionals = loginPanel1.getCreditionals();
}
String docName=getDocumentTitle();
boolean updateInsteadOfCreatingNew = false;
if (getNameFromComboBox) {
Object obj = docNameComboBox.getEditor().getItem();
if (obj instanceof String) {
docName = (String)obj;
} else {
docName = ((Document)obj).getTitle();
updateInsteadOfCreatingNew = true;
}
}
uploading.setVisible(true);
if (credentionals.isEmpty() && wrapper.checkIfAuthorizationNeeded(pathName, docName)) {
uploading.setVisible(false);
// we need ask user for credentials :-)
org.openoffice.gdocs.ui.LoginPanel loginPanel = new LoginPanel() {
@Override
public void storeCredentials(Creditionals creditionals) {
wrapper.storeCredentials(creditionals);
}
};
loginPanel.setSystem(system);
final MyLoginDialog dialog = new MyLoginDialog(UploadDialog.this);
dialog.setTitle("User & Password");
JPanel buttonsPanel = new JPanel();
JButton okButton = new JButton(Configuration.getResources().getString("OK"));
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dialog.handleOK();
}
});
JButton cancelButton = new JButton(Configuration.getResources().getString("Cancel"));
cancelButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dialog.handleOK();
}
});
buttonsPanel.add(okButton);
buttonsPanel.add(cancelButton);
dialog.getContentPane().setLayout(new BorderLayout());
dialog.getContentPane().add(loginPanel,BorderLayout.NORTH);
dialog.getContentPane().add(buttonsPanel,BorderLayout.SOUTH);
dialog.setModal(true);
dialog.pack();
dialog.setVisible(true);
dialog.setVisible(false);
if (dialog.getReturnCode()==JOptionPane.OK_OPTION) {
credentionals = loginPanel.getCreditionals();
} else {
upload = false;
}
uploading.setVisible(true);
}
if (credentionals.isEmpty() && wrapper.isServerSelectionNeeded()) {
wrapper.storeCredentials(credentionals);
}
uploading.setVisible(true);
wrapper.login(credentionals);