private void saveSettings() {
    //GENERAL
    //author
    Data.settings.author = rOtherAuthor.isSelected() ? tOtherAuthor.getText() : "own";
    Data.settings.source = tSource.getText();
    Data.settings.permission = tPermission.getText();
    //license
    if(cLicense.getSelectedItem() == License.OTHER) {
        if(!tLicense.getText().equals("")) {
            Data.settings.licenseCustom = tLicense.getText();
            Data.settings.license = License.OTHER;
        }
    } else 
        Data.settings.license = (License) cLicense.getSelectedItem();
    //attrib
    if(tAttrib.getText() == null ? Data.settings.attribution != null : !tAttrib.getText().equals(Data.settings.attribution)) 
        Data.settings.attribution = tAttrib.getText();
    //cats
    Data.settings.categories = tCategories.getText();
    //extra text
    if(Data.settings.extraText == null ? tExtraText.getText() != null : !Data.settings.extraText.equals(tExtraText.getText())) 
        Data.settings.extraText = tExtraText.getText();

    //FILE
    Data.initializeQuickTemplates();

    Data.settings.copyName = tCopyName.isSelected();
    Data.settings.copyDescription = tCopyDesc.isSelected();
    Data.settings.copyCategories = tCopyCats.isSelected();

    Data.settings.showCatHints = tCatHints.isSelected();

    Data.settings.numFormat = tNumFormat.getText();
    Data.settings.numDigits = Integer.parseInt(tDigits.getValue().toString());

    //GALLERY
    Data.settings.createGallery = cCreateGallery.isSelected();
        if(!tGalleryPage.getText().equals(""))
    Data.settings.galleryPage = tGalleryPage.getText();
    Data.settings.galleryHeader = tGalleryHeader.getSelectedIndex();
    Data.settings.galleryWidth = Integer.parseInt(tGalleryWidth.getValue().toString());
    Data.settings.galleryOnTop = tPositionTop.isSelected();

    //PROGRAM
    Data.settings.readExifHour = cReadHour.isSelected();
    Data.settings.loadSubdirectory = cLoadSubdirectory.isSelected();
    Data.settings.defaultDir = tDefaultDir.getText();

    Data.settings.renameAfterUpload = cRenameAfterUpload.isSelected();
    Data.settings.setServerMonitorEnabled(cServerMonitorEnabled.isSelected());
    Data.settings.askQuit = cAskQuit.isSelected();

    Data.settings.fileDescSource = cFileDescSource.getSelectedIndex(); 
    Data.settings.uploadSummary = tUploadSummary.getText();
  }