public void changeAutoupdateInterval(String interval) {
   try {
     int newInterval = Integer.parseInt(interval);
     settings.setAutoupdateInterval(newInterval);
   } catch (NumberFormatException ex) {
     model.addErrorMessage("Du musst eine Zahl als Wert angeben!");
   }
   model.fireChange();
 }
 public void changeCurrentServer(Server server) {
   if (server != model.getCurrentServer()) {
     // Wenn der Server der gleiche ist, wurde nur das GUI geupdated, keine Aktion vom User
     if (!model.isLoggedIn()) {
       model.setCurrentServer(server);
       model.fireChange();
     }
   }
 }
 public void changeLocalFolder(File folder) {
   try {
     File oldFolder = settings.getLocalFolder();
     Files.move(oldFolder.toPath(), folder.toPath(), StandardCopyOption.REPLACE_EXISTING);
     settings.setLocalFolder(folder);
   } catch (IOException ex) {
     model.addErrorMessage("Verzeichnis konnte nicht geändert werden");
   }
   model.fireChange();
 }
 public void deleteKnownServer() {
   Server currentServer = model.getCurrentServer();
   if (currentServer != null) {
     try {
       model.removeServer(currentServer);
       File serverDir = new File(settings.getLocalFolder(), "servers");
       File serverFile = new File(serverDir, currentServer.getName() + ".server");
       Files.delete(serverFile.toPath());
     } catch (IOException ex) {
       model.addErrorMessage("Server-Datei konnte nicht gelöscht werden");
       logger.log(Level.SEVERE, null, ex);
     }
     model.fireChange();
   }
 }
 public void openLocalFolder() {
   try {
     File localFolder = settings.getLocalFolder();
     Desktop.getDesktop().open(localFolder);
   } catch (IOException ex) {
     model.addErrorMessage("Verzeichnis konnte nicht geöffnet werden");
   }
 }
 private void saveServers() {
   File serverDir = new File(settings.getLocalFolder(), "servers");
   if (!serverDir.exists()) {
     serverDir.mkdirs();
   }
   for (Server s : model.getAllServers()) {
     try {
       File serverFile = new File(serverDir, s.getName() + ".server");
       s.writeToFile(serverFile);
     } catch (IOException ex) {
       logger.log(Level.SEVERE, null, ex);
     }
   }
 }
 public void loadServers() {
   File serverDir = new File(settings.getLocalFolder(), "servers");
   if (serverDir.exists()) {
     for (File f : serverDir.listFiles()) {
       ObjectInputStream oIn = null;
       try {
         oIn = new ObjectInputStream(new FileInputStream(f));
         Server server = (Server) oIn.readObject();
         model.addServer(server);
         oIn.close();
       } catch (IOException | ClassNotFoundException ex) {
         logger.log(Level.SEVERE, null, ex);
       } finally {
         try {
           oIn.close();
         } catch (IOException ex) {
           logger.log(Level.SEVERE, null, ex);
         }
       }
     }
     model.fireChange();
   }
 }
 public RemoteClientController(RemoteClientModel model) {
   this.model = model;
   settings = new Settings();
   model.setSettings(settings);
   log = createLogfile();
   LogfileHandler handler = new LogfileHandler(log);
   handler.setLevel(Level.ALL);
   logger.addHandler(handler);
   startQueue();
   if (settings.isAutoupdate()) {
     startBackgroundThread();
   }
   logger.info("Client initialisiert");
   logDate();
 }
 public void changeMaxIOProgress(int maxProgress) {
   model.setMaxIOProgress(maxProgress);
   model.fireChange();
 }
 public void changeCurrentIOProgess(int progess) {
   model.setCurrentIOProgress(progess);
   model.fireChange();
 }
 private void instantLogout() {
   model.addErrorMessage("Deine Verbindung zum Server wurde unterbrochen");
   model.setLoggedIn(false);
   model.fireChange();
 }