[FEITO] Problema com agenda

Olá pessoal!
Eu sempre senti um problema com este software com a questão de contatos. O problema é que quando formato a máquina, me esqueço de fazer o backup da minha agenda.
Como eu tenho duas partições no meu HD, pensei em guardar minha agenda na outra partição (aquela que eu não formato). Surgiu, então, a vontade de colaborar com o software para resolver problemas dos colegas que talvez já tiveram esse problema.Estive dando uma olhada no fonte e a solução que encontrei é trocar uma linha de código por algumas outras, como será mostrado abaixo:


/*
Ao invés de usar está linha de comando, no arquivo jSMS/JSMS.java substitua a mesma por todo o fonte mais abaixo:

File home = new File( System.getProperty("user.home") );
*/

//Pega o endereço do home.
String enderecoLimpo = System.getProperty("user.home");

//Instancia o arquivo "JSMSDefaultDirectory.txt" na mesma pasta de onde está o .JAR
File arquivoDefault = new File(enderecoLimpo, "JSMSDefaultDirectory.txt");

//Instancia uma String que servirá para guardar o endereço do diretório para gravar
//a agenda e histórico (antigo C:/Documents and Settings/usuario/.JAR).
String enderecoPadrao = new String();

try {
//Tenta ler, se houver o arquivo "JSMSDefaultDirectory.txt" na mesma pasta de onde está o .JAR
java.io.BufferedReader in = new java.io.BufferedReader(new java.io.FileReader(arquivoDefault));

enderecoPadrao = in.readLine();

in.close();
} catch (java.io.IOException e) {
System.out.println(e);
try {
//Caso não houver o arquivo "JSMSDefaultDirectory.txt", cria um.
java.io.BufferedWriter out = new java.io.BufferedWriter(new java.io.FileWriter(arquivoDefault));

//Traduz o Chooser:
UIManager.put ("FileChooser.openButtonText", "OK");
UIManager.put ("FileChooser.openButtonToolTipText", "Escolhe o diretório selecionado!");

UIManager.put ("FileChooser.cancelButtonText", "Cancelar");
UIManager.put ("FileChooser.cancelButtonToolTipText", "Cancelar e deixar diretório padrão!"); 

UIManager.put ("FileChooser.fileNameLabelText", "Diretório: ");
UIManager.put ("FileChooser.fileNameLabelMnemonic", new Integer('D')); // D

UIManager.put ("FileChooser.lookInLabelText", "Examinar: ");
UIManager.put ("FileChooser.lookInLabelMnemonic", new Integer('E')); // E

UIManager.put ("FileChooser.upFolderToolTipText", "Um nível acima");
UIManager.put ("FileChooser.newFolderToolTipText", "Criar nova pasta");
UIManager.put ("FileChooser.newFolderAccessibleName", "Criar nova pasta");
UIManager.put ("FileChooser.listViewButtonToolTipText", "Lista");
UIManager.put ("FileChooser.detailsViewButtonToolTipText", "Detalhes");

UIManager.put ("FileChooser.filesOfTypeLabelText", "Tipo: ");
UIManager.put ("FileChooser.filesOfTypeLabelMnemonic", new Integer('T')); // T
UIManager.put ("FileChooser.acceptAllFileFilterText", "Todos os arquivos (*.*)");

UIManager.put ("FileChooser.fileNameHeaderText", "Nome");
UIManager.put ("FileChooser.fileSizeHeaderText", "Tamanho");
UIManager.put ("FileChooser.fileTypeHeaderText", "Tipo");
UIManager.put ("FileChooser.fileDateHeaderText", "Data");
UIManager.put ("FileChooser.fileAttrHeaderText", "Atributos");
//Fim da trdução 

//Cria um novo Chooser
javax.swing.JFileChooser jfcDiretorio = new javax.swing.JFileChooser();
jfcDiretorio.setDialogTitle("Escolha o diretório padão: (pasta para salvar a agenda)");
jfcDiretorio.setFileSelectionMode(javax.swing.JFileChooser.DIRECTORIES_ONLY);
jfcDiretorio.setCurrentDirectory(new File(enderecoLimpo));

//Chama o Chooser em uma nova janela e espera pelo retorno dos botões "Ok" ou "Cancelar".
int result = jfcDiretorio.showOpenDialog(new javax.swing.JFrame()); 

switch (result) {
case javax.swing.JFileChooser.APPROVE_OPTION:
// Aprovado (Ok) clicado.
out.write(jfcDiretorio.getSelectedFile().toString());
enderecoPadrao = jfcDiretorio.getSelectedFile().toString();
break;

case javax.swing.JFileChooser.CANCEL_OPTION:
case javax.swing.JFileChooser.ERROR_OPTION:
// Cancelado, fechado, ou algum erro ocorrido.
out.write(enderecoLimpo);
enderecoPadrao = enderecoLimpo;
break;
}
//Fecha o arquivo.
out.close();
} catch (java.io.IOException e2) {
System.out.println(e2);
}
} //Instancia o diretorio padrão: Antigo "C:/Documents and Settings/usuario/.JAR"
File home = new File( enderecoPadrao );

A idéia foi lançada… Se gostaram da minha sugestão, basta aperfeiçoá-la conforme os seus padões.
Obs: Desculpa o incomodo da falta de identação, mas não consegui manter a mesma para postar aqui.
Obrigado pela atenção!
Tomás Zandoná.

A partir da versão 2.20, os arquivos que armazenam os dados sensíveis (contatos, grupos de contatos, perfis, histórico) podem ser selecionados através da interface gráfica, nas preferências do jSMS.

Leave a Reply

You must be logged in to post a comment.


ambien buy cheap buy female viagra buying xanax online purchase lipitor online xenical order online order cipro online viagra sale online viagra tabs soft female pill viagra order cheap cialis