package com.gmail.dpierron.calibre.gui; /** * Handle the main GUI within Calibre2opds * * Note that the GUI form and this associated java class is constructed * and maintained using the Netbeans IDE tool for form design. * Although the java class can be edited from within the IntelliJ IDEA editor * you should not make any changes that invalidate its use by the Netbeans one. */ import com.gmail.dpierron.calibre.configuration.*; import com.gmail.dpierron.calibre.database.*; import com.gmail.dpierron.calibre.gui.table.ButtonColumn; import com.gmail.dpierron.calibre.gui.table.CustomCatalogTableModel; import com.gmail.dpierron.calibre.opds.Catalog; import com.gmail.dpierron.calibre.opds.Constants; import com.gmail.dpierron.tools.i18n.Localization; import com.gmail.dpierron.calibre.opds.indexer.Index; import com.gmail.dpierron.tools.Helper; import com.gmail.dpierron.tools.OS; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import javax.swing.*; import javax.swing.border.Border; import javax.swing.border.LineBorder; import com.l2fprod.common.swing.JDirectoryChooser; import javax.swing.filechooser.FileFilter; import javax.swing.table.TableModel; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.io.File; import java.io.IOException; import java.util.List; import java.util.Locale; import java.util.Random; public class Mainframe extends javax.swing.JFrame { private final Logger logger = LogManager.getLogger(Mainframe.class); GenerateCatalogDialog catalogDialog; Locale language; CustomCatalogTableModel customCatalogTableModel = new CustomCatalogTableModel(); private final Cursor hourglassCursor = new Cursor(Cursor.WAIT_CURSOR); private final Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); private String tabHelpUrl = Constants.HELP_URL_MAIN_OPTIONS; // Store this as we use it a lot and it should improve effeciency // IMPORTANT: We need to update this cached copy if the profile ever gets changed! private ConfigurationHolder currentProfile = ConfigurationManager.getCurrentProfile(); private guiField[] guiFields; private File SyncLogFile = new File(ConfigurationManager.getConfigurationDirectory() + "/" + Constants.LOGFILE_FOLDER + "/" + Constants.SYNCFILE_NAME); /** * Creates new form Mainframe */ public Mainframe() { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException e) { // do nothing } catch (InstantiationException e) { // do nothing } catch (IllegalAccessException e) { // do nothing } catch (UnsupportedLookAndFeelException e) { // do nothing } if (currentProfile.isObsolete()) { currentProfile.reset(); String msg = Localization.Main.getText("gui.reset.warning"); JOptionPane.showMessageDialog(this, msg, "", JOptionPane.WARNING_MESSAGE); } initComponents(); initGuiFields(); setLocationRelativeTo(null); tabHelpUrl = Constants.HELP_URL_MAIN_OPTIONS; loadProfileValues(); translateTexts(); } /** * Table that defines the GUI fields * Allows standardised handling of GUI fields to be applied with minimal developer effort * * There are a couple of different constructors supported to keep table definition clean. * The fields indicated as Optional are only included for the specific field type they relate to. * * Meaning/Use of the fields is: * * Field 1 Mandatory Field to which the label localisation should be applied * Can be set to null if no label localization required * Field 2 Mandatory Field in which value stored )if relevant). Can be same as field 1. * Also has tooltip localisation applied if .tooltip version of Field 3 found * so set field 1 to null if only tooltip to be set up. * Can be null for fields that do not held stored configuration values * Field 3 Mandatory Key for finding localization string. Any .label/.tooltip suffix is omitted * Can optionally have the .label added to the key in localization file * If key with .tooltip found in localization file this is assumed to be a tooltip * * Field 4 Optional Base name of the methods for loading/storing the the values in Field 2 * If the field only needs localisation, but not storing in the configuration * file then then there will be no method defined so only fields 1 to 3 defined. * * Field 5 Optional For checkboxes only. Indicate is displayed field is negated from config value * * Field 5 Optional Numeric fields. Indicates minimum value allowed * Field 6 Optional Numeric fields: Indicates maximum value allowed * * NOTE: If any new types are introduced for field 1 or field 2 then guiField class will * neeed to be updated to handle this new type in the standard way desired. */ private void initGuiFields() { guiFields = new guiField[] { // Yab definitions // (last character of localizationKey is assumed to be the index) new guiField(tabOptionsTabs, null, "gui.tab1"), new guiField(tabOptionsTabs, null, "gui.tab2"), new guiField(tabOptionsTabs, null, "gui.tab3"), new guiField(tabOptionsTabs, null, "gui.tab4"), new guiField(tabOptionsTabs, null, "gui.tab5"), new guiField(tabOptionsTabs, null, "gui.tab6"), new guiField(tabOptionsTabs, null, "gui.tab7"), // Main Windows new guiField(cmdCancel, null, "gui.close"), new guiField(cmdSave, null, "gui.save"), new guiField(cmdGenerate, null, "gui.generate"), new guiField(cmdReset, null, "gui.reset"), new guiField(cmdHelp, null, "gui.help"), new guiField(null, lblProfile, "config.profile"), // main options new guiField(lblDatabaseFolder, txtDatabaseFolder, "config.DatabaseFolder", "DatabaseFolder"), new guiField(lblTargetFolder, txtTargetFolder, "config.TargetFolder", "TargetFolder"), new guiField(lblCopyToDatabaseFolder, chkCopyToDatabaseFolder, "config.CopyToDatabaseFolder", "CopyToDatabaseFolder"), new guiField(lblOnlyCatalogAtTarget, chkOnlyCatalogAtTarget, "config.OnlyCatalogAtTarget", "OnlyCatalogAtTarget"), new guiField(lblReprocessEpubMetadata, chkReprocessEpubMetadata, "config.ReprocessEpubMetadata", "ReprocessEpubMetadata"), new guiField(lblCatalogFolder, txtCatalogFolder, "config.CatalogFolderName", "CatalogFolderName"), new guiField(lblUrlBooks, txtUrlBooks, "config.UrlBooks", "UrlBooks"), new guiField(lblCatalogTitle, txtCatalogTitle, "config.CatalogTitle", "CatalogTitle"), new guiField(lblSplittagson, txtSplittagson, "config.SplitTagsOn", "SplitTagsOn", true), new guiField(chkDontsplittags, chkDontsplittags, "config.DontSplitTagsOn", "DontSplitTagsOn"), new guiField(lblCatalogFilter, txtCatalogFilter, "config.CatalogFilter", "CatalogFilter"), new guiField(lblFavicon, txtFavicon, "config.Favicon", "Favicon"), new guiField(lblWikilang, txtWikilang, "config.WikipediaLanguage", "WikipediaLanguage"), new guiField(lblCryptFilenames, chkCryptFilenames, "config.CryptFilenames", "CryptFilenames"), new guiField(lblDisableOptimizer, chkDisableOptimizer, "config.DisableOptimizer", "DisableOptimizer"), // catalog structure options new guiField(lblNogenerateopds, chkNogenerateopds, "config.GenerateOpds", "GenerateOpds", true), new guiField(lblNogeneratehtml, chkNogeneratehtml, "config.GenerateHtml", "GenerateHtml", true), new guiField(lblNogenerateopdsfiles, chkNogenerateopdsfiles, "config.GenerateOpdsDownloads", "GenerateOpdsDownloads", true), new guiField(lblNogeneratehtmlfiles, chkNogeneratehtmlfiles, "config.GenerateHtmlDownloads", "GenerateHtmlDownloads", true), new guiField(lblBrowseByCover, chkBrowseByCover, "config.BrowseByCover", "BrowseByCover"), new guiField(lblBrowseByCoverWithoutSplit, chkBrowseByCoverWithoutSplit, "config.BrowseByCoverWithoutSplit", "BrowseByCoverWithoutSplit"), new guiField(lblLanguageAsTag, chkLanguageAsTag, "config.LanguageAsTag", "LanguageAsTag"), new guiField(lblNoIncludeAboutLink, chkNoIncludeAboutLink, "config.IncludeAboutLink", "IncludeAboutLink", true), new guiField(lblExternalIcons, chkExternalIcons, "config.ExternalIcons", "ExternalIcons"), new guiField(lblexternalImages, chkExternalImages, "config.ExternalImages", "ExternalImages"), new guiField(lblNoGenerateAuthors, chkNoGenerateAuthors, "config.GenerateAuthors", "GenerateAuthors", true), new guiField(lblNoGenerateTags, chkNoGenerateTags, "config.GenerateTags", "GenerateTags", true), new guiField(lblTagsToIgnore, txtTagsToIgnore, "config.TagsToIgnore", "TagsToIgnore"), new guiField(lblCatalogCustomColumns, txtCatalogCustomColumns, "config.CatalogCustomColumns", "CatalogCustomColumns"), new guiField(lblNoGenerateSeries, chkNoGenerateSeries, "config.GenerateSeries", "GenerateSeries", true), new guiField(lblNogeneraterecent, chkNogeneraterecent, "config.GenerateRecent", "GenerateRecent", true), new guiField(lblNogenerateratings, chkNogenerateratings, "config.GenerateRatings", "GenerateRatings", true), new guiField(lblSupressRatings, chkSupressRatings, "config.SuppressRatingsInTitles", "SuppressRatingsInTitles"), new guiField(lblNogenerateallbooks, chkNogenerateallbooks, "config.GenerateAllbooks", "GenerateAllbooks", true), new guiField(lblSortTagsByAuthor, chkSortTagsByAuthor, "config.SortTagsByAuthor", "SortTagsByAuthor"), new guiField(lblTagBooksNoSplit, chkTagBookNoSplit, "config.TagBooksNoSplit", "TagBooksNoSplit"), new guiField(lblSortUsingAuthor, chkSortUsingAuthorSort, "config.SortUsingAuthor", "SortUsingAuthor"), new guiField(lblSortUsingTitle, chkSortUsingTitleSort, "config.SortUsingTitle", "SortUsingTitle"), new guiField(lblSortSeriesUsingLibrarySort, chkSortSeriesUsingLibrarySort, "config.SortSeriesUsingLibrarySort", "SortSeriesUsingLibrarySort"), // Book Details Options new guiField(lblIncludeTitleInBookDetails, chkIncludeTitleInBookDetails, "config.IncludeTitleInBookDetails", "IncludeTitleInBookDetails"), new guiField(lblIncludeAuthorInBookDetails, chkIncludeAuthorInBookDetails, "config.IncludeAuthorInBookDetails", "IncludeAuthorInBookDetails"), new guiField(lblIncludeSeriesInBookDetails, chkIncludeSeriesInBookDetails, "config.IncludeSeriesInBookDetails", "IncludeSeriesInBookDetails"), new guiField(lblIncludeRatingInBookDetails, chkIncludeRatingInBookDetails, "config.IncludeRatingInBookDetails", "IncludeRatingInBookDetails"), new guiField(lblIncludeTagsInBookDetails, chkIncludeTagsInBookDetails, "config.IncludeTagsInBookDetails", "IncludeTagsInBookDetails"), new guiField(lblIncludePublisherInBookDetails, chkIncludePublisherInBookDetails, "config.IncludePublisherInBookDetails", "IncludePublisherInBookDetails"), new guiField(lblIncludePublishedInBookDetails, chkIncludePublishedInBookDetails, "config.IncludePublishedInBookDetails", "IncludePublishedInBookDetails"), new guiField(lblPublishedDateAsYear, chkPublishedDateAsYear, "config.PublishedDateAsYear", "PublishedDateAsYear"), new guiField(lblDisplayAuthorSort, chkDisplayAuthorSort, "config.DisplayAuthorSort", "DisplayAuthorSort"), new guiField(lblDisplayTitleSort, chkDisplayTitleSort, "config.DisplayTitleSort", "DisplayTitleSort"), new guiField(lblDisplaySeriesSort, chkDisplaySeriesSort, "config.DisplaySeriesSort", "DisplaySeriesSort"), new guiField(lblIncludeAddedInBookDetails, chkIncludeAddedInBookDetails, "config.IncludeAddedInBookDetails", "IncludeAddedInBookDetails"), new guiField(lblIncludeModifiedInBookDetails, chkIncludeModifiedInBookDetails, "config.IncludeModifiedInBookDetails", "IncludeModifiedInBookDetails"), new guiField(lblIncludeSizeOfDownloads, chkIncludeSizeOfDownloads, "config.IncludeSizeOfDownloads", "IncludeSizeOfDownloads"), new guiField(lblBookDetailsCustomFields, txtBookDetailsCustomFields, "config.BookDetailsCustomFields", "BookDetailsCustomFields"), new guiField(null, chkBookDetailsCustomFieldsAlways, "config.BookDetailsCustomFieldsAlways", "BookDetailsCustomFieldsAlways"), new guiField(lblNogeneratecrosslinks, chkNogeneratecrosslinks, "config.GenerateCrossLinks", "GenerateCrossLinks", true), new guiField(lblSingleBookCrossReferences, chkSingleBookCrossReferences, "config.SingleBookCrossReferences", "SingleBookCrossReferences"), new guiField(lblIncludeAuthorCrossReferences, chkIncludeAuthorCrossReferences, "config.IncludeAuthorCrossReferences", "IncludeAuthorCrossReferences"), new guiField(lblIncludeSerieCrossReferences, chkIncludeSerieCrossReferences, "config.IncludeSerieCrossReferences", "IncludeSerieCrossReferences"), new guiField(lblIncludeTagCrossReferences, chkIncludeTagCrossReferences, "config.IncludeTagCrossReferences", "IncludeTagCrossReferences"), new guiField(lblIncludeRatingCrossReferences, chkIncludeRatingCrossReferences, "config.IncludeRatingCrossReferences", "IncludeRatingCrossReferences"), // advanced customization options new guiField(lblIncludeformat, txtIncludeformat, "config.IncludedFormatsList", "IncludedFormatsList"), new guiField(lblMaxbeforepaginate, txtMaxbeforepaginate, "config.MaxBeforePaginate", "MaxBeforePaginate", 0, 99999), new guiField(lblMaxbeforesplit, txtMaxbeforesplit, "config.MaxBeforeSplit", "MaxBeforeSplit",0, 99999), new guiField(lblMaxSplitLevels, txtMaxSplitLevels, "config.MaxSplitLevels", "MaxSplitLevels", 0,8), new guiField(lblBooksinrecent, txtBooksinrecent, "config.BooksInRecentAdditions", "BooksInRecentAdditions", 0, 1000), new guiField(lblMaxsummarylength, txtMaxsummarylength, "config.MaxSummaryLength", "MaxSummaryLength", 0, 99999), new guiField(lblMaxBookSummaryLength, txtMaxBookSummaryLength, "config.MaxBookSummaryLength", "MaxBookSummaryLength", 0, 99999), new guiField(lblIncludeemptybooks, chkIncludeemptybooks, "config.IncludeBooksWithNoFile", "IncludeBooksWithNoFile"), new guiField(lblIncludeOnlyOneFile, chkIncludeOnlyOneFile, "config.IncludeOnlyOneFile", "IncludeOnlyOneFile"), new guiField(lblZipTrookCatalog, chkZipTrookCatalog, "config.ZipTrookCatalog", "ZipTrookCatalog"), new guiField(lblNoShowSeries, chkNoShowSeries, "config.ShowSeriesInAuthorCatalog", "ShowSeriesInAuthorCatalog", true), new guiField(lblOrderAllBooksBySeries, chkOrderAllBooksBySeries, "config.OrderAllBooksBySeries", "OrderAllBooksBySeries"), new guiField(lblSplitByAuthorInitialGoToBooks, chkSplitByAuthorInitialGoToBooks, "config.SplitByAuthorInitialGoToBooks", "SplitByAuthorInitialGoToBooks"), new guiField(lblNoThumbnailGenerate, chkNoThumbnailGenerate, "config.ThumbnailGenerate", "ThumbnailGenerate", true), new guiField(lblThumbnailheight, txtThumbnailheight, "config.ThumbnailHeight", "ThumbnailHeight", 0, 1000), new guiField(lblNoCoverResize, chkNoCoverResize, "config.CoverResize", "CoverResize", true), new guiField(lblIncludeCoversInCatalog, chkIncludeCoversInCatalog, "config.IncludeCoversInCatalog", "IncludeCoversInCatalog"), new guiField(lblUseThumbnailAsCover, chkUseThumbnailAsCover, "config.UseThumbnailsAsCovers", "UseThumbnailsAsCovers"), new guiField(lblZipCatalog, chkZipCatalog, "config.ZipCatalog", "ZipCatalog"), new guiField(lblZipOmitXml, chkZipOmitXml, "config.ZipOmitXml", "ZipOmitXml"), new guiField(lblCoverHeight, txtCoverHeight, "config.CoverHeight", "CoverHeight", 0, 999), new guiField(lblTagsToMakeDeep, txtTagsToMakeDeep, "config.TagsToMakeDeep", "TagsToMakeDeep"), new guiField(lblMinBooksToMakeDeepLevel, txtMinBooksToMakeDeepLevel, "config.MinBooksToMakeDeepLevel", "MinBooksToMakeDeepLevel", 0, 99999), // new guiField(lblMaxMobileResolution, txtMaxMobileResolution, "config.MaxMobileResolution", "MaxMobileResolution", 0, 2000), new guiField(lblGenerateIndex, chkGenerateIndex, "config.GenerateIndex", "GenerateIndex"), new guiField(lblMaxKeywords, txtMaxKeywords, "config.MaxKeywords", "MaxKeywords"), new guiField(lblIndexComments, chkIndexComments, "config.IndexComments", "IndexComments"), new guiField(lblIndexFilterAlgorithm, cboIndexFilterAlgorithm, "config.IndexFilterAlgorithm"), // external links new guiField(lblNogenerateExternalReferences, chkNogenerateExternalReferences, "config.GenerateExternalReferences", "GenerateExternalReferences", true), new guiField(lblNewWindowForExternalReferences, chkNewWindowForExternalReferences, "config.NewWindowForExternalReferences", "NewWindowForExternalReferences", false), new guiField(lblWikipediaUrl, txtWikipediaUrl, "config.WikipediaUrl", "WikipediaUrl"), new guiField(cmdWikipediaUrlReset, null, "config.Reset"), new guiField(lblAmazonAuthorUrl, txtAmazonAuthorUrl, "config.AmazonAuthorUrl", "AmazonAuthorUrl"), new guiField(cmdAmazonUrlReset, null, "config.Reset"), new guiField(lblAmazonIsbnUrl, txtAmazonIsbnUrl, "config.AmazonIsbnUrl", "AmazonIsbnUrl"), new guiField(cmdAmazonIsbnReset, null, "config.Reset"), new guiField(lblAmazonTitleUrl, txtAmazonTitleUrl, "config.AmazonTitleUrl", "AmazonTitleUrl"), new guiField(cmdAmazonTitleReset, null, "config.Reset"), new guiField(lblGoodreadAuthorUrl, txtGoodreadAuthorUrl, "config.GoodreadAuthorUrl", "GoodreadAuthorUrl"), new guiField(cmdGoodreadAuthorReset, null, "config.Reset"), new guiField(lblGoodreadIsbnUrl, txtGoodreadIsbnUrl, "config.GoodreadIsbnUrl", "GoodreadIsbnUrl"), new guiField(cmdGoodreadIsbnReset, null, "config.Reset.label"), new guiField(lblGoodreadTitleUrl, txtGoodreadTitleUrl, "config.GoodreadTitleUrl", "GoodreadTitleUrl"), new guiField(cmdGoodreadTitleReset, null, "config.Reset"), new guiField(lblGoodreadReviewIsbnUrl, txtGoodreadReviewIsbnUrl, "config.GoodreadReviewIsbnUrl", "GoodreadReviewIsbnUrl"), new guiField(cmdGoodreadReviewReset, null, "config.Reset"), new guiField(lblIsfdbAuthorUrl, txtIsfdbAuthorUrl, "config.IsfdbAuthorUrl", "IsfdbAuthorUrl"), new guiField(cmdIsfdbAuthorReset, null, "config.Reset.label"), new guiField(lblLibrarythingAuthorUrl, txtLibrarythingAuthorUrl, "config.LibrarythingAuthorUrl", "LibrarythingAuthorUrl"), new guiField(cmdLibrarythingAuthorReset, null, "config.Reset"), new guiField(lblLibrarythingIsbnUrl, txtLibrarythingIsbnUrl, "config.LibrarythingIsbnUrl", "LibrarythingIsbnUrl"), new guiField(cmdLibrarythingIsbnReset, null, "config.Reset"), new guiField(lblLibrarythingTitleUrl, txtLibrarythingTitleUrl, "config.LibrarythingTitleUrl", "LibrarythingTitleUrl"), new guiField(cmdLibrarythingTitleReset, null, "config.Reset"), // Custom catalogs new guiField(lblNewWindowForCustomExternalLinks, chkNewWindowForCustomExternalLinks, "config.NewWindowForCustomExternalLinks", "NewWindowForCustomExternalLinks", false), new guiField(cmdAdd, null, "config.CustomCatalogAdd"), new guiField(lblFeaturedCatalogTitle, txtFeaturedCatalogTitle, "config.FeaturedCatalogTitle", "FeaturedCatalogTitle"), new guiField(lblFeaturedCatalogSavedSearchName, txtFeaturedCatalogSavedSearchName, "config.FeaturedCatalogSavedSearchName", "FeaturedCatalogSavedSearchName"), // Menus new guiField(mnuFile, null, "gui.menu.file"), new guiField(mnuFileSave, null, "gui.save"), new guiField(mnuFileGenerateCatalogs, null, "gui.generate"), new guiField(mnuFileExit, null, "gui.close"), new guiField(mnuProfiles, null, "gui.menu.profiles"), new guiField(mnuTools, null, "gui.menu.tools"), new guiField(mnuToolsprocessEpubMetadataOfAllBooks, null, "gui.menu.tools.processEpubMetadataOfAllBooks"), new guiField(mnuHelp, null, "gui.menu.help"), new guiField(mnuHelpDonate, null, "gui.menu.help.donate"), new guiField(mnuHelpAbout, null, "gui.menu.help.about"), new guiField(mnuHelpHome, null, "gui.menu.help.home"), new guiField(mnuHelpUserGuide, null, "gui.menu.help.userGuide"), new guiField(mnuHelpDevelopersGuide, null, "gui.menu.help.developerGuide"), new guiField(mnuHelpOpenIssues, null, "gui.menu.help.issueRegister"), new guiField(mnuHelpOpenForum, null, "gui.menu.help.supportForum"), new guiField(mnuHelpOpenLocalize, null, "gui.menu.help.localize"), new guiField(mnuHelpOpenCustomize, null, "gui.menu.help.customize"), new guiField(mnuToolsResetSecurityCache, null, "gui.menu.tools.resetEncrypted"), new guiField(mnuToolsConfigLog,null,"gui.menu.tools.logConfig"), new guiField(mnuToolsOpenLog,null, "gui.menu.tools.logFile"), new guiField(mnuToolsOpenOldLog,null, "gui.menu.tools.oldLogFile"), new guiField(mnuToolsOpenSyncLog,null, "gui.menu.tools.syncFile"), new guiField(mnuToolsClearLog, null, "gui.menu.tools.logClear"), new guiField(mnuToolsOpenConfig, null, "gui.menu.tools.configFolder"), new guiField(lblSearchDeprecated,null,"gui.searchDeprecated.label"), // Should always be last entry in case it triggers re-localisation to new language new guiField(lblLang, cboLang, "config.Language", "Language") }; } /** * Get the guiField entry corresponding to a particular label field * Useful if we want to check the stored properties * * @param label * @return */ private guiField getGuiField(JComponent label) { assert label != null; for (guiField g : guiFields) { if (label == g.getGuiLabel()) { return g; } } logger.trace("Unable to locate guiField " + label.getName()); return null; } /** * add a button to the custom catalogs table */ private void addDeleteButtonToCustomCatalogsTable() { // add a button to the custom catalogs table Action delete = new AbstractAction() { public void actionPerformed(ActionEvent e) { int modelRow = Integer.valueOf(e.getActionCommand()); customCatalogTableModel.deleteCustomCatalog(modelRow); } }; /* Action check = new AbstractAction() { public void actionPerformed(ActionEvent e) { int modelRow = Integer.valueOf(e.getActionCommand()); customCatalogTableModel.checkCustomCatalog(modelRow); } }; */ // CheckboxColumn checkboxColumn = new CheckboxColumn(tblCustomCatalogs, null, 2); // checkboxColumn.setMnemonic(KeyEvent.VK_C); ButtonColumn buttonColumn = new ButtonColumn(tblCustomCatalogs, delete, 3); buttonColumn.setMnemonic(KeyEvent.VK_D); Dimension d = tabOptionsTabs.getPreferredSize(); int width = (int) d.getWidth() - 24; tblCustomCatalogs.getColumnModel().getColumn(0).setPreferredWidth((int)(width * .2)); tblCustomCatalogs.getColumnModel().getColumn(1).setPreferredWidth((int) (width * .6)); tblCustomCatalogs.getColumnModel().getColumn(2).setMinWidth(40); // Checkbox tblCustomCatalogs.getColumnModel().getColumn(2).setMaxWidth(40); // Checkbox tblCustomCatalogs.getColumnModel().getColumn(3).setMinWidth(80); // Delete tblCustomCatalogs.getColumnModel().getColumn(3).setMaxWidth(80); // Delete tblCustomCatalogs.getColumnModel().getColumn(3).setPreferredWidth((int)(width * .10)); // Delete button } /** * Check a field that is meant to contain a search term * * @param title * @param searchText * @return */ private boolean validateSearch (String title, String searchText) { if (searchText.toUpperCase().startsWith(Constants.CUSTOMCATALOG_SEARCH_SAVED.toUpperCase())) { return true; } for (String val : Constants.CUSTOMCATALOG_SEARCH_FIELD_NAMES) { if (searchText.toUpperCase().startsWith(val.toUpperCase())) { return true; } } return false; } /** * check a field that defines a Custom Catalog */ private boolean validateCustomCatalog(String title, String value) { return false; } private void processEpubMetadataOfAllBooks() { // question String message = Localization.Main.getText("gui.confirm.tools.processEpubMetadataOfAllBooks"); String yes = Localization.Main.getText("boolean.yes"); String cancel = Localization.Main.getText("boolean.no"); boolean removeCss = false; boolean restoreCss = false; File defaultCss = null; String onlyForTag = null; int result; if (ConfigurationManager.isHacksEnabled()) { String yesAndRemoveCss = Localization.Main.getText("gui.confirm.tools.removeCss"); String yesAndRestoreCss = Localization.Main.getText("gui.confirm.tools.restoreCss"); result = JOptionPane .showOptionDialog(this, message, "", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, new Object[]{yes, yesAndRemoveCss, yesAndRestoreCss, cancel}, cancel); if (result == 3) return; removeCss = (result == 1); restoreCss = (result == 2); if (removeCss || restoreCss) { onlyForTag = JOptionPane.showInputDialog(this, "Only for tag (empty for all)"); if (removeCss) { JFileChooser chooser = new JFileChooser(); chooser.setFileFilter(new FileFilter() { @Override public boolean accept(File f) { return (f != null && (!f.isFile() || f.getName().toUpperCase().endsWith(".CSS"))); } @Override public String getDescription() { return "CSS stylesheets"; } }); result = chooser.showOpenDialog(this); if (result != JFileChooser.CANCEL_OPTION) defaultCss = chooser.getSelectedFile(); } } } else { result = JOptionPane.showOptionDialog(this, message, "", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new Object[]{yes, cancel}, cancel); if (result == JOptionPane.NO_OPTION) return; } // confirmation message = Localization.Main.getText("gui.confirm.tools.processEpubMetadataOfAllBooks2"); result = JOptionPane.showConfirmDialog(this, message, "", JOptionPane.YES_NO_OPTION); if (result != JOptionPane.YES_OPTION) return; new ReprocessEpubMetadataDialog(this, true, removeCss, restoreCss, defaultCss, onlyForTag).start(); } void checkAuthorsIncluded() { boolean b = chkIncludeAuthorInBookDetails.isSelected(); // Toggle the setting for Including authors to match chkNoGenerateAuthors.setEnabled(true); chkNoGenerateAuthors.setSelected(!b); lblNoGenerateAuthors.setEnabled(b); chkNoGenerateAuthors.setEnabled(b); // Hide optios which are not relevant if not including author. lblDisplayAuthorSort.setVisible(b); chkDisplayAuthorSort.setVisible(b); lblIncludeAuthorCrossReferences.setVisible(b); chkIncludeAuthorCrossReferences.setVisible(b); } /** * Do some validation on the options to split tags. * * If the option is disabled, but the txt field is empty then set it * to the default value (this will auto-correct legacy cases) * * Ptherwise give error mesages if the field is empty or eet to comma */ private boolean checkSplitTagsOn(boolean warn) { if (chkDontsplittags.isSelected()) { if (txtSplittagson.getText().equals("")) { txtSplittagson.setText("."); } } else { if (txtSplittagson.getText().equals("")) { String message = Localization.Main.getText("config.SplitTagsOnEmpty.error"); JOptionPane.showMessageDialog(this, message,"", JOptionPane.ERROR_MESSAGE); return false; } if (warn && txtSplittagson.getText().equals(",")) { String message = Localization.Main.getText("config.SplitTagsOnComma.warn"); JOptionPane.showMessageDialog(this, message,"", JOptionPane.WARNING_MESSAGE); return false; } } txtSplittagson.setEnabled(!chkDontsplittags.isSelected()); return true; } /** * */ private void computeBrowseByCoverWithoutSplitVisibility() { boolean visible = chkBrowseByCover.isSelected(); chkBrowseByCoverWithoutSplit.setVisible(visible); lblBrowseByCoverWithoutSplit.setVisible(visible); } /** * Control the valid combinations of generation types and downloads allowed */ private void checkDownloads() { // If we are not generating OPDS files, then the option to // set OPDS downloads will follow the HTML setting. Also the // user can no longer toggle the OPDS download option directly. if (chkNogenerateopds.isSelected()) { chkNogeneratehtmlfiles.setEnabled(chkNogeneratehtml.isEnabled()); chkNogenerateopdsfiles.setSelected(chkNogeneratehtmlfiles.isSelected()); chkNogenerateopdsfiles.setEnabled(false); chkZipOmitXml.setSelected(true); chkZipOmitXml.setEnabled(false); } else { // If we are generating OPDS catalogs, then start by assuming that // both types of downloads are allowed. chkNogenerateopdsfiles.setEnabled(true); // If we are not generating OPDS downloads then the HTML downloads // must be suppressed. if (chkNogenerateopdsfiles.isSelected()) { chkNogeneratehtmlfiles.setSelected(true); chkNogeneratehtmlfiles.setEnabled(false); } else { chkNogeneratehtmlfiles.setEnabled(true); } } // If we are not generating HTML catalogs then we cannot // set HTML downloads if (chkNogeneratehtml.isSelected()) { chkNogeneratehtmlfiles.setSelected(true); chkNogeneratehtmlfiles.setEnabled(false); chkZipOmitXml.setSelected(false); chkZipOmitXml.setEnabled(false); } else { // If we are generating HTHL catalogs then HTML // downloads are only allowed if OPDS ones are also active // or we are not generating OPDS catalogs chkNogeneratehtmlfiles.setEnabled(chkNogenerateopds.isSelected()==true || chkNogenerateopdsfiles.isSelected()==false); } lblZipOmitXml.setEnabled(lblZipOmitXml.isEnabled()); } /** * Check if the user is allowed to set the option to only have a * catalog at the target location? */ private void checkOnlyCatalogAllowed() { if (lblTargetFolder.isEnabled() && Helper.isNotNullOrEmpty(txtUrlBooks.getText())) { lblOnlyCatalogAtTarget.setEnabled(true); } else { lblOnlyCatalogAtTarget.setEnabled(false); } chkOnlyCatalogAtTarget.setEnabled(lblOnlyCatalogAtTarget.isEnabled()); checkCatalogFolderNeeded(); } /** * Decide if the catalog folder setting is relevant */ private void checkCatalogFolderNeeded() { if (Helper.isNotNullOrEmpty(txtUrlBooks.getText()) && chkOnlyCatalogAtTarget.isSelected() && lblOnlyCatalogAtTarget.isEnabled() && !chkCopyToDatabaseFolder.isSelected()) { lblCatalogFolder.setEnabled(false); } else { lblCatalogFolder.setEnabled(true); } txtCatalogFolder.setEnabled(lblCatalogFolder.isEnabled()); } /** * Enable/disable the sub-selections for cross-references depending on master setting */ private void checkCrossReferencesEnabled() { boolean state = !chkNogeneratecrosslinks.isSelected(); lblSingleBookCrossReferences.setEnabled(state); chkSingleBookCrossReferences.setEnabled(state); lblIncludeAuthorCrossReferences.setEnabled(state); chkIncludeAuthorCrossReferences.setEnabled(state); lblIncludeSerieCrossReferences.setEnabled(state); chkIncludeSerieCrossReferences.setEnabled(state); lblIncludeTagCrossReferences.setEnabled(state); chkIncludeTagCrossReferences.setEnabled(state); lblIncludeRatingCrossReferences.setEnabled(state); chkIncludeRatingCrossReferences.setEnabled(state); } private void actOnGenerateIndexActionPerformed() { boolean generateIndex = chkGenerateIndex.isSelected(); lblIndexComments.setVisible(generateIndex); chkIndexComments.setVisible(generateIndex); lblMaxKeywords.setVisible(generateIndex); txtMaxKeywords.setVisible(generateIndex); lblIndexFilterAlgorithm.setVisible(generateIndex); cboIndexFilterAlgorithm.setVisible(generateIndex); } /** * Enable/disables GUI fiels that are mode specific * @param mode */ private void adaptInterfaceToDeviceSpecificMode(DeviceMode mode) { Border RED_BORDER = new LineBorder(Color.red,2); switch (mode) { case Nook: // put a border on the selected mode icon lblDeviceDropbox.setBorder(null); lblDeviceNAS.setBorder(null); lblDeviceNook.setBorder(RED_BORDER); lblDeviceMode.setText(Localization.Main.getText("config.DeviceMode.nook.tooltip")); lblZipTrookCatalog.setVisible(true); chkZipTrookCatalog.setVisible(true); break; case Nas: // put a border on the selected mode icon lblDeviceDropbox.setBorder(null); lblDeviceNook.setBorder(null); lblDeviceNAS.setBorder(RED_BORDER); lblDeviceMode.setText(Localization.Main.getText("config.DeviceMode.nas.tooltip")); lblZipTrookCatalog.setVisible(false); chkZipTrookCatalog.setVisible(false); break; default: // put a border on the selected mode icon lblDeviceNAS.setBorder(null); lblDeviceNook.setBorder(null); lblDeviceDropbox.setBorder(RED_BORDER); lblDeviceMode.setText(Localization.Main.getText("config.DeviceMode.dropbox.tooltip")); lblZipTrookCatalog.setVisible(false); chkZipTrookCatalog.setVisible(false); break; } // show all the buttons and commands // ITIMPI: Not quite sure why this needs to be done here? cmdCancel.setEnabled(true); mnuFileExit.setEnabled(true); cmdGenerate.setEnabled(true); mnuFileGenerateCatalogs.setEnabled(true); cmdReset.setEnabled(true); cmdSave.setEnabled(true); mnuFileSave.setEnabled(true); } /** * * @param mode */ private void setDeviceSpecificMode(DeviceMode mode) { DeviceMode currentMode = currentProfile.getDeviceMode(); // If switching modes, then some values may need their values forced to be mode specific if (currentMode != mode) { currentProfile.setDeviceMode(mode); adaptInterfaceToDeviceSpecificMode(mode); DeviceMode.fromName(currentProfile.getDeviceMode().toString()).setModeSpecificOptions(currentProfile); } loadProfileValues(); } /** * Change the localization to match the language set in the GUI option */ private void changeLanguage() { String newLanguage = (String) cboLang.getSelectedItem(); if (newLanguage == null) newLanguage = Locale.ENGLISH.getLanguage(); if ((language == null) || Helper.checkedCompare(language.getLanguage(), newLanguage) != 0) { language = Helper.getLocaleFromLanguageString(newLanguage); currentProfile.setLanguage(Helper.getLocaleFromLanguageString(newLanguage)); Localization.Main.setProfileLanguage(currentProfile.getLanguage()); Localization.Enum.setProfileLanguage(currentProfile.getLanguage()); Localization.Main.reloadLocalizations(); Localization.Enum.reloadLocalizations(); translateTexts(); pack(); } } private void debugShowFile(File file) { try { OS.factory().openFile(file); } catch (IOException e) { JOptionPane.showMessageDialog(this, e.getMessage()); } } private String debugShowFolder(File file, String defaultName) { Frame parent = new Frame(); // Dummy ever shown FileDialog fd = new FileDialog(parent, file.getPath()); fd.setDirectory(file.getPath() +"\\"); fd.setMode(FileDialog.LOAD); if (defaultName != null) { fd.setFile(defaultName); } fd.setVisible(true); String result = fd.getFile(); parent.dispose(); return result; } /** * Start up the dialog for configuring the log settings */ private void configLogFile() { ConfigureLoggingDialog dialog = new ConfigureLoggingDialog(Mainframe.this, true); dialog.setLocationRelativeTo(Mainframe.this); dialog.setVisible(true); } private void debugShowLogFile(String f) { assert f != null; File fl = new File(ConfigurationManager.getConfigurationDirectory(), Constants.LOGFILE_FOLDER + "/" + f); logger.info(Localization.Main.getText("gui.menu.tools.logFile") + ": " + fl.getPath()); debugShowFile(fl); } /** * Remove any existing log files. * This will include any of the following that are present: * calibre2opds.log * calibre2opds.log.* * synclog.log * TODO: There appears to be an issue deleting the current active log file - not sure how to resolve this! */ private void debugClearLogFile() { File logFolder = new File(ConfigurationManager.getConfigurationDirectory(), Constants.LOGFILE_FOLDER); File fileList[] = logFolder.listFiles(); for (File f : fileList) { if (f.getName().contains(".log")) { f.delete(); logger.trace("Deleted: " + f); } } String msg = Localization.Main.getText("gui.menu.tools.logCleared"); logger.info(msg); JOptionPane.showMessageDialog(this, msg, "", JOptionPane.INFORMATION_MESSAGE); } private void debugShowLogFolder() { File f = new File(ConfigurationManager.getConfigurationDirectory(), Constants.LOGFILE_FOLDER); logger.info(Localization.Main.getText("gui.menu.tools.logFolder") + ": " + f.getPath()); String sel = debugShowFolder(f, Constants.LOGFILE_NAME); if (Helper.isNotNullOrEmpty(sel)) { debugShowLogFile(sel); } } private void debugShowSupportFolder() { File f = ConfigurationManager.getConfigurationDirectory(); logger.info(Localization.Main.getText("gui.menu.tools.configFolder") + ": " + f.getPath()); debugShowFolder(f, null); } private void about() { logger.info("Displaying About dialog"); String prog_version = Localization.Main.getText("gui.title", Constants.PROGTITLE + Constants.BZR_VERSION); String intro_goal = Localization.Main.getText("intro.goal"); String intro_wiki_title = Localization.Main.getText("intro.wiki.title"); String intro_wiki_url = Localization.Main.getText("intro.wiki.url"); String intro_team_title = Localization.Main.getText("intro.team.title"); String intro_team_list1 = Localization.Main.getText("intro.team.list1"); String intro_team_title2 = Localization.Main.getText("intro.team.title2"); String intro_team_list2 = Localization.Main.getText("intro.team.list2"); String intro_team_list3 = Localization.Main.getText("intro.team.list3"); String intro_team_list4 = Localization.Main.getText("intro.team.list4"); String intro_team_list5 = Localization.Main.getText("intro.team.list5"); String intro_thanks_1 = Localization.Main.getText("intro.thanks.1"); String intro_thanks_2 = Localization.Main.getText("intro.thanks.2"); String message = "<html>" + prog_version + "<br><br>" + intro_goal + "<br><br>" + intro_wiki_title + intro_wiki_url + "<br><br>" + intro_team_title + "<br><ul>" + "<li>" + intro_team_list1 + "</ul>" + "<br>" + intro_team_title2 + "<br><ul>" + "<li>" + intro_team_list2 + "<li>" + intro_team_list3 + "<li>" + intro_team_list4 + "<li>" + intro_team_list5 + "</ul><br>" + intro_thanks_1 + "<br>" + intro_thanks_2 + "<br><br></html>"; JOptionPane.showMessageDialog(this, message, Localization.Main.getText("gui.menu.help.about"), JOptionPane.INFORMATION_MESSAGE); } private void donate() { String message = Localization.Main.getText("gui.confirm.donate"); int result = JOptionPane.showConfirmDialog(this, message, "", JOptionPane.YES_NO_OPTION); if (result != JOptionPane.YES_OPTION) return; logger.info(Localization.Main.getText("gui.menu.help.donate") + ": " + Constants.PAYPAL_DONATION); BareBonesBrowserLaunch.openURL(Constants.PAYPAL_DONATION); } /** * Control the generation of the catalog * displaying the progress as it goes */ private void generateCatalog() { if (! checkSplitTagsOn(false)) { return; } storeProfileValues(); catalogDialog = new GenerateCatalogDialog(this, true); final Catalog catalog = new Catalog(catalogDialog); Runnable runnable = new Runnable() { public void run() { try { catalog.createMainCatalog(); catalogEnded(null); } catch (Exception e) { catalogEnded(e); } } }; new Thread(runnable).start(); try { catalogDialog.setVisible(true); catalogDialog.pack(); } catch (Exception e) { // ITIMPI: This is a brute force fix to #772538 // which has only been reproduced on OS/X so far // Maybe a tidier fix could be implemented? // Do nothing } } /** * Catalog generation completed so close down generation dialog * If necessary display the reason * @param e */ synchronized void catalogEnded(final Exception e) { if (catalogDialog == null) return; catalogDialog.setVisible(false); catalogDialog = null; if (e != null) { Runnable runnable = new Runnable() { public void run() { String s = Helper.getStackTrace(e); s = e.getMessage() + "\n" + s; System.out.println(s); logger.error(s, e); JOptionPane.showMessageDialog(Mainframe.this, s, e.getClass().getName(), JOptionPane.ERROR_MESSAGE); } }; new Thread(runnable).start(); new Thread(runnable).start(); } } /** * Set a new profile * @param profileName */ private void setProfile(String profileName) { currentProfile = ConfigurationManager.changeProfile(profileName, false); // Changed profile - so need to update local cached copy as well! if (currentProfile.isObsolete()) { currentProfile.reset(); String msg = Localization.Main.getText("gui.reset.warning"); JOptionPane.showMessageDialog(this, msg, "", JOptionPane.WARNING_MESSAGE); } logger.info(Localization.Main.getText("info.setProfile", profileName)); loadProfileValues(); } public void saveNewProfile() { String newProfileName = JOptionPane.showInputDialog(Localization.Main.getText("gui.profile.new.msg")); if ("default".equalsIgnoreCase(newProfileName)) { return; } if (isUnSavedChanges() == true) { String message = Localization.Main.getText("gui.save,confirm"); int result = JOptionPane.showConfirmDialog(this, message, "", JOptionPane.YES_NO_OPTION); if (result != JOptionPane.YES_OPTION) { return; } } ConfigurationManager.copyCurrentProfile(newProfileName); // Changed profile - so need to update local cached copy pointer as well! loadProfileValues(); } /** * */ private void loadProfiles() { // empty the profiles menu mnuProfiles.removeAll(); JMenuItem mnuProfileNew = new JMenuItem(); mnuProfileNew.setText(Localization.Main.getText("gui.menu.profiles.new")); mnuProfileNew.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { saveNewProfile(); } }); mnuProfiles.add(mnuProfileNew); JMenuItem mnuProfileManage = new JMenuItem(); mnuProfileManage.setText(Localization.Main.getText("gui.menu.profiles.manage")); mnuProfileManage.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ProfileManagerDialog dialog = new ProfileManagerDialog(Mainframe.this, true); dialog.setLocationRelativeTo(Mainframe.this); dialog.setVisible(true); // We only get to this next statement when the dialog hides itself. loadProfiles(); // Reload the list as it has probably changed. loadProfileValues(); // Reload the current profile as it may have been renamed } }); mnuProfiles.add(mnuProfileManage); mnuProfiles.add(new JSeparator()); List<String> profiles = ConfigurationManager.getExistingConfigurations(); for (String profileName : profiles) { JCheckBoxMenuItem mnuProfileItem = new JCheckBoxMenuItem(); mnuProfileItem.setText(profileName); // NOI18N ActionListener listener = new ActionListener() { String profile; public void actionPerformed(java.awt.event.ActionEvent evt) { Mainframe.this.setProfile(profile); } public ActionListener setProfile(String profile) { this.profile = profile; return this; } }.setProfile(profileName); mnuProfileItem.addActionListener(listener); // TODO check if it works mnuProfileItem.setSelected(ConfigurationManager.getCurrentProfileName().equalsIgnoreCase(profileName)); mnuProfiles.add(mnuProfileItem); } } /** * We want the 'enabled's tate of the fields for specifying the URL's for * external links to be anbled/disabled according to whether we are * allowing the generation of this sort of link */ private void setExternalLinksEnabledState() { boolean enabledNoExternalLinks = chkNogenerateExternalReferences.isSelected(); boolean derivedState; derivedState = ! (enabledNoExternalLinks || currentProfile.isWikipediaUrlReadOnly()); txtWikipediaUrl.setEnabled(derivedState); lblWikipediaUrl.setEnabled(derivedState); lblWikipediaUrl.setEnabled(false); //TODO remove when support for changing title ready cmdWikipediaUrlReset.setEnabled((derivedState)); derivedState = ! (enabledNoExternalLinks || currentProfile.isAmazonAuthorUrlReadOnly()); txtAmazonAuthorUrl.setEnabled(derivedState); lblAmazonAuthorUrl.setEnabled(derivedState); lblAmazonAuthorUrl.setEnabled(false); //TODO remove when support for changing title ready cmdAmazonUrlReset.setEnabled((derivedState)); derivedState = ! (enabledNoExternalLinks || currentProfile.isAmazonIsbnUrlReadOnly()); txtAmazonIsbnUrl.setEnabled(derivedState); lblAmazonIsbnUrl.setEnabled(derivedState); lblAmazonIsbnUrl.setEnabled(false); //TODO remove when support for changing title ready cmdAmazonIsbnReset.setEnabled(derivedState); derivedState = ! (enabledNoExternalLinks || currentProfile.isAmazonTitleUrlReadOnly()); txtAmazonTitleUrl.setEnabled(derivedState); lblAmazonTitleUrl.setEnabled(derivedState); lblAmazonTitleUrl.setEnabled(false); //TODO remove when support for changing title ready cmdAmazonTitleReset.setEnabled((derivedState)); derivedState = ! (enabledNoExternalLinks || currentProfile.isGoodreadAuthorUrlReadOnly()); txtGoodreadAuthorUrl.setEnabled(derivedState); lblGoodreadAuthorUrl.setEnabled(derivedState); lblGoodreadAuthorUrl.setEnabled(false); //TODO remove when support for changing title ready cmdGoodreadAuthorReset.setEnabled((derivedState)); derivedState = ! (enabledNoExternalLinks || currentProfile.isGoodreadIsbnUrlReadOnly()); txtGoodreadIsbnUrl.setEnabled(derivedState); lblGoodreadIsbnUrl.setEnabled(derivedState); lblGoodreadIsbnUrl.setEnabled(false); //TODO remove when support for changing title ready cmdGoodreadIsbnReset.setEnabled((derivedState)); derivedState = ! (enabledNoExternalLinks || currentProfile.isGoodreadTitleUrlReadOnly()); txtGoodreadTitleUrl.setEnabled(derivedState); lblGoodreadTitleUrl.setEnabled(derivedState); lblGoodreadTitleUrl.setEnabled(false); //TODO remove when support for changing title ready cmdGoodreadTitleReset.setEnabled((derivedState)); derivedState = ! (enabledNoExternalLinks || currentProfile.isGoodreadReviewIsbnUrlReadOnly()); txtGoodreadReviewIsbnUrl.setEnabled(derivedState); lblGoodreadReviewIsbnUrl.setEnabled(derivedState); lblGoodreadReviewIsbnUrl.setEnabled(false); //TODO remove when support for changing title ready cmdGoodreadReviewReset.setEnabled((derivedState)); derivedState = ! (enabledNoExternalLinks || currentProfile.isIsfdbAuthorUrlReadOnly()); txtIsfdbAuthorUrl.setEnabled(derivedState); lblIsfdbAuthorUrl.setEnabled(derivedState); lblIsfdbAuthorUrl.setEnabled(false); //TODO remove when support for changing title ready cmdIsfdbAuthorReset.setEnabled((derivedState)); derivedState = ! (enabledNoExternalLinks || currentProfile.isLibrarythingAuthorUrlReadOnly()); txtLibrarythingAuthorUrl.setEnabled(derivedState); lblLibrarythingAuthorUrl.setEnabled(derivedState); lblLibrarythingAuthorUrl.setEnabled(false); //TODO remove when support for changing title ready cmdLibrarythingAuthorReset.setEnabled((derivedState)); derivedState = ! (enabledNoExternalLinks || currentProfile.isLibrarythingIsbnUrlReadOnly()); txtLibrarythingIsbnUrl.setEnabled(derivedState); lblLibrarythingIsbnUrl.setEnabled(derivedState); cmdLibrarythingIsbnReset.setEnabled((derivedState)); lblLibrarythingIsbnUrl.setEnabled(false); //TODO remove when support for changing title ready derivedState = ! (enabledNoExternalLinks || currentProfile.isLibrarythingTitleUrlReadOnly()); txtLibrarythingTitleUrl.setEnabled(derivedState); lblLibrarythingTitleUrl.setEnabled(derivedState); lblLibrarythingTitleUrl.setEnabled(false); //TODO remove when support for changing title ready cmdLibrarythingTitleReset.setEnabled((derivedState)); } /** * Load values for configuration into GUI * Also enable/disable any fields according to current values if required */ private void loadProfileValues() { InputVerifier iv = new InputVerifier() { @Override public boolean verify(JComponent input) { if (!(input instanceof JTextField)) return false; try { Integer.parseInt(((JTextField) input).getText()); return true; } catch (NumberFormatException e) { return false; } } }; // Localizations that need completing before calling default processing cboLang.setModel(new DefaultComboBoxModel(Localization.Main.getAvailableLocalizationsAsIso2())); // Types not handled (yet) by guiField class cboIndexFilterAlgorithm.setModel(new DefaultComboBoxModel(Index.FilterHintType.values())); cboIndexFilterAlgorithm.setSelectedItem(currentProfile.getIndexFilterAlgorithm()); cboIndexFilterAlgorithm.setEnabled(!currentProfile.isIndexFilterAlgorithmReadOnly()); lblIndexFilterAlgorithm.setEnabled(!currentProfile.isIndexFilterAlgorithmReadOnly()); // Invoke standard field processing guiFields[0].setCurrentConfiguration(currentProfile); for (guiField g : guiFields) g.loadValue(); // Now additional settings not handled by default processing cmdSetDatabaseFolder.setEnabled(lblDatabaseFolder.isEnabled()); // TODO Check whether check against Default mode is needed if (currentProfile.getDeviceMode() == DeviceMode.Default) { txtTargetFolder.setEnabled(false); lblTargetFolder.setEnabled(false); } cmdSetTargetFolder.setEnabled(lblTargetFolder.isEnabled()); lblIndexFilterAlgorithm.setEnabled(!currentProfile.isIndexFilterAlgorithmReadOnly()); actOnGenerateIndexActionPerformed(); checkDownloads(); checkCrossReferencesEnabled(); checkSplitTagsOn(false); lblFavicon.setVisible(false); // TODO remove to activate option txtFavicon.setVisible(false); // TODO remove to activate option cmdSetFavicon.setVisible(false); // TODO remove to activate option lblCatalogCustomColumns.setVisible(false); // TODO remove to activate option txtCatalogCustomColumns.setVisible(false); // TODO remove to activate option // txtMaxMobileResolution.setVisible(false); // TODO Not currently being used // lblMaxMobileResolution.setVisible(false); // TODO Not currently being used setExternalLinksEnabledState(); customCatalogTableModel.setCustomCatalogs(currentProfile.getCustomCatalogs()); tblCustomCatalogs.setModel(customCatalogTableModel); tblCustomCatalogs.setEnabled(!currentProfile.isCustomCatalogsReadOnly()); pnlCustomCatalogsTableButtons.setEnabled(!currentProfile.isCustomCatalogsReadOnly()); tblCustomCatalogs.revalidate(); // Force a redraw of table contents DeviceMode mode = currentProfile.getDeviceMode(); // Ensuer we have a Device Mode actually set if (Helper.isNullOrEmpty(mode)) { if (logger.isTraceEnabled()) logger.trace("Device mode was not set - setting to " + DeviceMode.Default); currentProfile.setDeviceMode(DeviceMode.Default); } // Set interface to match the mode adaptInterfaceToDeviceSpecificMode(mode); computeBrowseByCoverWithoutSplitVisibility(); changeLanguage(); loadProfiles(); checkDownloads(); checkOnlyCatalogAllowed(); String profile=Localization.Main.getText("config.profile.label", ConfigurationManager.getCurrentProfileName()); String title = Localization.Main.getText("gui.title", Constants.PROGTITLE + Constants.BZR_VERSION) + " - " + profile; setTitle(title); lblProfile.setText(profile); pack(); } private int getValue(JTextField field) { try { int i = Integer.parseInt(field.getText()); return i; } catch (NumberFormatException e) { return -1; } } /** * Reset GUI vlues to match the current profile */ private void resetValuesToProfile() { String message = Localization.Main.getText("gui.reset.confirm"); int result = JOptionPane.showConfirmDialog(this, message, "", JOptionPane.YES_NO_OPTION); if (result != JOptionPane.YES_OPTION) { return; } Locale lang = currentProfile.getLanguage(); currentProfile.reset(); loadProfileValues(); currentProfile.setLanguage(lang); changeLanguage(); } /** * Routine that determines if there are any * fields in the GUI that are different to * those currently stored in the profile * * @return */ private boolean isUnSavedChanges() { guiFields[0].setCurrentConfiguration(currentProfile); for (guiField g : guiFields) { Object guiValue = g.getGuiValue(); if (guiValue != null) { Object profileValue = g.getProfileValue(); if (profileValue == null) { int dummy = 1; // Should it be possible to get here? } else { if (!guiValue.equals(profileValue)) { return true; } } } } return false; } /** * Save the setting values from the GUI to the configuration file */ private void storeProfileValues() { checkSplitTagsOn(false); setCursor(hourglassCursor); // setMinimumSize(new java.awt.Dimension(1000, 750)); Dimension size = getSize(); currentProfile.setWindowHeight((size.height)); currentProfile.setWindowWidth(size.width); guiFields[0].setCurrentConfiguration(currentProfile); for (guiField g : guiFields) g.storeValue(); // Field types not (yet) handled by guiField currentProfile.setCustomCatalogs(customCatalogTableModel.getCustomCatalogs()); currentProfile.setIndexFilterAlgorithm(Index.FilterHintType.valueOf("" + cboIndexFilterAlgorithm.getSelectedItem())); currentProfile.save(); setCursor(normalCursor); } /** * Apply localization strings to all UI elements and set up Tooltips * Same tootip is applied to a label and its associated input field */ private void translateTexts() { // main window setSize(new java.awt.Dimension(currentProfile.getWindowWidth(), currentProfile.getWindowHeight())); lblBottom0.setText(Localization.Main.getText("gui.label.clickToDescribe")); // NOI18N lblBottom0.setFont(lblBottom0.getFont().deriveFont(Font.BOLD)); lblDeviceDropbox.setToolTipText( Localization.Main.getText("config.DeviceMode.dropbox.tooltip")); lblDeviceNAS.setToolTipText(Localization.Main.getText("config.DeviceMode.nas.tooltip")); lblDeviceNook.setToolTipText( Localization.Main.getText("config.DeviceMode.nook.tooltip")); // Do translations that are handled by guiFields table guiFields[0].setCurrentConfiguration(currentProfile); for (guiField f : guiFields) f.translateTexts(); checkAuthorsIncluded(); // `Additional translations (if any) adaptInterfaceToDeviceSpecificMode(currentProfile.getDeviceMode()); mnuToolsOpenSyncLog.setVisible(SyncLogFile.exists()); } /** * Display in a popup the tooltip assoicated with a label that the user has clicked on * This is for convenience in environments where the tootip is not conveniently displayed. * * @param label */ private void popupExplanation(JLabel label) { if (Helper.isNotNullOrEmpty(label.getToolTipText())) JOptionPane.showMessageDialog(this, label.getToolTipText(), Localization.Main.getText("gui.tooltip"), JOptionPane.INFORMATION_MESSAGE); } /** * */ private void showSetDatabaseFolderDialog() { JDirectoryChooser chooser = new JDirectoryChooser(); chooser.setShowingCreateDirectory(false); File f = currentProfile.getDatabaseFolder(); if (f != null && f.exists()) chooser.setCurrentDirectory(f); int result = chooser.showOpenDialog(this); if (result == JFileChooser.CANCEL_OPTION) return; f = chooser.getSelectedFile(); if (setDatabaseFolder(f.getAbsolutePath())) txtDatabaseFolder.setText(f.getAbsolutePath()); } /** * * @param targetFolder * @return */ private boolean setDatabaseFolder(String targetFolder) { File newFolder = new File(targetFolder); if (newFolder.exists()) { File oldFolder = currentProfile.getDatabaseFolder(); currentProfile.setDatabaseFolder(newFolder); if (Database.databaseExists()) { JOptionPane.showMessageDialog(this, Localization.Main.getText("info.databasefolderset", targetFolder), null, JOptionPane.INFORMATION_MESSAGE); return true; } else currentProfile.setDatabaseFolder(oldFolder); } JOptionPane.showMessageDialog(this, Localization.Main.getText("error.nodatabase", targetFolder), null, JOptionPane.ERROR_MESSAGE); return false; } /** * */ private void showSetTargetFolderDialog() { JDirectoryChooser chooser = new JDirectoryChooser(); chooser.setShowingCreateDirectory(true); File f = currentProfile.getTargetFolder(); if (f != null && f.exists()) chooser.setCurrentDirectory(f); else { f = currentProfile.getDatabaseFolder(); if (f != null && f.exists()) chooser.setCurrentDirectory(f); } int result = chooser.showOpenDialog(this); if (result == JFileChooser.CANCEL_OPTION) return; f = chooser.getSelectedFile(); if (setTargetFolder(f.getAbsolutePath())) txtTargetFolder.setText(f.getAbsolutePath()); } /** * * @param targetFolder * @return */ private boolean setTargetFolder(String targetFolder) { File newFolder = new File(targetFolder); if (!newFolder.exists()) { String message = Localization.Main.getText("error.targetdoesnotexist", targetFolder); int result = JOptionPane.showConfirmDialog(this, message, "", JOptionPane.YES_NO_OPTION); if (result != JOptionPane.YES_OPTION) return false; newFolder.mkdirs(); } JOptionPane.showMessageDialog(this, Localization.Main.getText("info.targetfolderset", targetFolder), null, JOptionPane.INFORMATION_MESSAGE); return true; } /** * */ private void openLogFolder() { // Do nothing yet } /** * */ private void saveConfiguration() { storeProfileValues(); String message = Localization.Main.getText("gui.info.saved"); JOptionPane.showMessageDialog(this, message, "", JOptionPane.INFORMATION_MESSAGE); } /** * Close down the program. * * If we know there are unsaved changes then confirm that * exiting and losing the changes is what is wanted. */ private void exitProgram() { if (isUnSavedChanges() == true) { String message = Localization.Main.getText("gui.save.confirm"); int result = JOptionPane.showConfirmDialog(this, message, "", JOptionPane.YES_NO_OPTION); if (result != JOptionPane.YES_OPTION) { return; } } System.exit(0); } /** * * @return */ private TableModel getTblCustomCatalogsModel() { return customCatalogTableModel; } /** * Add a new entry to the custom Catalog table */ private void addCustomCatalog() { assert customCatalogTableModel.equals(tblCustomCatalogs.getModel()); customCatalogTableModel.addCustomCatalog(); tblCustomCatalogs.revalidate(); tblCustomCatalogs.repaint(); } /** * This method is called from within the constructor to reset the form. WARNING: Do NOT modify this code. The content of this * method is always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" // <editor-fold defaultstate="collapsed" // <editor-fold defaultstate="collapsed" // <editor-fold defaultstate="collapsed" // <editor-fold defaultstate="collapsed" // <editor-fold defaultstate="collapsed" // <editor-fold defaultstate="collapsed" // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; pnlMain = new javax.swing.JPanel(); lblDeviceDropbox = new javax.swing.JLabel(); lblDeviceNAS = new javax.swing.JLabel(); lblDeviceNook = new javax.swing.JLabel(); lblDeviceMode = new javax.swing.JLabel(); lblDonate = new javax.swing.JLabel(); tabOptionsTabs = new javax.swing.JTabbedPane(); pnlMainOptions = new javax.swing.JPanel(); lblLang = new javax.swing.JLabel(); cboLang = new javax.swing.JComboBox(); lblDatabaseFolder = new javax.swing.JLabel(); txtDatabaseFolder = new javax.swing.JTextField(); cmdSetDatabaseFolder = new javax.swing.JButton(); lblTargetFolder = new javax.swing.JLabel(); txtTargetFolder = new javax.swing.JTextField(); cmdSetTargetFolder = new javax.swing.JButton(); lblUrlBooks = new javax.swing.JLabel(); txtUrlBooks = new javax.swing.JTextField(); lblCatalogFolder = new javax.swing.JLabel(); txtCatalogFolder = new javax.swing.JTextField(); lblCatalogTitle = new javax.swing.JLabel(); txtCatalogTitle = new javax.swing.JTextField(); lblSplittagson = new javax.swing.JLabel(); pnlSplitTagsOn = new javax.swing.JPanel(); txtSplittagson = new javax.swing.JTextField(); chkDontsplittags = new javax.swing.JCheckBox(); lblCatalogFilter = new javax.swing.JLabel(); txtCatalogFilter = new javax.swing.JTextField(); lblWikilang = new javax.swing.JLabel(); txtWikilang = new javax.swing.JTextField(); chkCopyToDatabaseFolder = new javax.swing.JCheckBox(); lblCopyToDatabaseFolder = new javax.swing.JLabel(); chkReprocessEpubMetadata = new javax.swing.JCheckBox(); lblReprocessEpubMetadata = new javax.swing.JLabel(); lblZipTrookCatalog = new javax.swing.JLabel(); chkZipTrookCatalog = new javax.swing.JCheckBox(); lblOnlyCatalogAtTarget = new javax.swing.JLabel(); chkOnlyCatalogAtTarget = new javax.swing.JCheckBox(); lblCryptFilenames = new javax.swing.JLabel(); chkCryptFilenames = new javax.swing.JCheckBox(); lblFavicon = new javax.swing.JLabel(); txtFavicon = new javax.swing.JTextField(); cmdSetFavicon = new javax.swing.JButton(); chkDisableOptimizer = new javax.swing.JCheckBox(); lblDisableOptimizer = new javax.swing.JLabel(); pnlCatalogStructure = new javax.swing.JPanel(); lblNogeneratehtml = new javax.swing.JLabel(); chkNogeneratehtml = new javax.swing.JCheckBox(); lblNoIncludeAboutLink = new javax.swing.JLabel(); chkNoIncludeAboutLink = new javax.swing.JCheckBox(); lblNogenerateopdsfiles = new javax.swing.JLabel(); chkNogenerateopdsfiles = new javax.swing.JCheckBox(); lblNogenerateratings = new javax.swing.JLabel(); chkNogenerateratings = new javax.swing.JCheckBox(); lblNogenerateallbooks = new javax.swing.JLabel(); chkNogenerateallbooks = new javax.swing.JCheckBox(); lblSupressRatings = new javax.swing.JLabel(); chkSupressRatings = new javax.swing.JCheckBox(); chkNogenerateopds = new javax.swing.JCheckBox(); lblNogenerateopds = new javax.swing.JLabel(); chkNoGenerateAuthors = new javax.swing.JCheckBox(); lblNoGenerateSeries = new javax.swing.JLabel(); lblNogeneraterecent = new javax.swing.JLabel(); chkNogeneraterecent = new javax.swing.JCheckBox(); lblNoGenerateTags = new javax.swing.JLabel(); lblNoGenerateAuthors = new javax.swing.JLabel(); chkNoGenerateTags = new javax.swing.JCheckBox(); chkNoGenerateSeries = new javax.swing.JCheckBox(); lblNoShowSeries = new javax.swing.JLabel(); chkNoShowSeries = new javax.swing.JCheckBox(); lblOrderAllBooksBySeries = new javax.swing.JLabel(); chkOrderAllBooksBySeries = new javax.swing.JCheckBox(); lblSplitByAuthorInitialGoToBooks = new javax.swing.JLabel(); chkSplitByAuthorInitialGoToBooks = new javax.swing.JCheckBox(); lblSortUsingAuthor = new javax.swing.JLabel(); lblSortUsingTitle = new javax.swing.JLabel(); chkSortUsingAuthorSort = new javax.swing.JCheckBox(); chkSortUsingTitleSort = new javax.swing.JCheckBox(); lblTagsToIgnore = new javax.swing.JLabel(); txtTagsToIgnore = new javax.swing.JTextField(); lblCatalogCustomColumns = new javax.swing.JLabel(); txtCatalogCustomColumns = new javax.swing.JTextField(); lblSortTagsByAuthor = new javax.swing.JLabel(); chkSortTagsByAuthor = new javax.swing.JCheckBox(); lblTagBooksNoSplit = new javax.swing.JLabel(); chkTagBookNoSplit = new javax.swing.JCheckBox(); lblNogeneratehtmlfiles = new javax.swing.JLabel(); chkNogeneratehtmlfiles = new javax.swing.JCheckBox(); lblSortSeriesUsingLibrarySort = new javax.swing.JLabel(); lblBrowseByCover = new javax.swing.JLabel(); chkBrowseByCover = new javax.swing.JCheckBox(); lblBrowseByCoverWithoutSplit = new javax.swing.JLabel(); chkBrowseByCoverWithoutSplit = new javax.swing.JCheckBox(); chkSortSeriesUsingLibrarySort = new javax.swing.JCheckBox(); javax.swing.JPanel pnlBookDetails = new javax.swing.JPanel(); chkIncludeTagsInBookDetails = new javax.swing.JCheckBox(); lblIncludeTagsInBookDetails = new javax.swing.JLabel(); chkIncludeSeriesInBookDetails = new javax.swing.JCheckBox(); lblIncludePublisherInBookDetails = new javax.swing.JLabel(); lblIncludeSeriesInBookDetails = new javax.swing.JLabel(); chkIncludePublisherInBookDetails = new javax.swing.JCheckBox(); lblIncludePublishedInBookDetails = new javax.swing.JLabel(); lblIncludeModifiedInBookDetails = new javax.swing.JLabel(); chkIncludeModifiedInBookDetails = new javax.swing.JCheckBox(); chkIncludePublishedInBookDetails = new javax.swing.JCheckBox(); lblDisplayAuthorSort = new javax.swing.JLabel(); lblDisplayTitleSort = new javax.swing.JLabel(); chkDisplayAuthorSort = new javax.swing.JCheckBox(); chkDisplayTitleSort = new javax.swing.JCheckBox(); lblNogeneratecrosslinks = new javax.swing.JLabel(); chkNogeneratecrosslinks = new javax.swing.JCheckBox(); chkPublishedDateAsYear = new javax.swing.JCheckBox(); lblPublishedDateAsYear = new javax.swing.JLabel(); lblIncludeAddedInBookDetails = new javax.swing.JLabel(); chkIncludeAddedInBookDetails = new javax.swing.JCheckBox(); lblIncludeRatingInBookDetails = new javax.swing.JLabel(); chkIncludeRatingInBookDetails = new javax.swing.JCheckBox(); txtBookDetailsCustomFields = new javax.swing.JTextField(); lblBookDetailsCustomFields = new javax.swing.JLabel(); chkBookDetailsCustomFieldsAlways = new javax.swing.JCheckBox(); lblSingleBookCrossReferences = new javax.swing.JLabel(); chkSingleBookCrossReferences = new javax.swing.JCheckBox(); chkIncludeAuthorCrossReferences = new javax.swing.JCheckBox(); lblIncludeAuthorCrossReferences = new javax.swing.JLabel(); chkIncludeTagCrossReferences = new javax.swing.JCheckBox(); lblIncludeTagCrossReferences = new javax.swing.JLabel(); lblIncludeRatingCrossReferences = new javax.swing.JLabel(); lblIncludeSerieCrossReferences = new javax.swing.JLabel(); chkIncludeSerieCrossReferences = new javax.swing.JCheckBox(); chkIncludeRatingCrossReferences = new javax.swing.JCheckBox(); lblDisplaySeriesSort = new javax.swing.JLabel(); chkDisplaySeriesSort = new javax.swing.JCheckBox(); lblIncludeSizeOfDownloads = new javax.swing.JLabel(); chkIncludeSizeOfDownloads = new javax.swing.JCheckBox(); lblIncludeAuthorInBookDetails = new javax.swing.JLabel(); lblIncludeTitleInBookDetails = new javax.swing.JLabel(); chkIncludeTitleInBookDetails = new javax.swing.JCheckBox(); chkIncludeAuthorInBookDetails = new javax.swing.JCheckBox(); pnlAdvancedOptions = new javax.swing.JPanel(); lblIncludeformat = new javax.swing.JLabel(); txtIncludeformat = new javax.swing.JTextField(); lblMaxbeforepaginate = new javax.swing.JLabel(); txtMaxbeforepaginate = new javax.swing.JTextField(); lblMaxbeforesplit = new javax.swing.JLabel(); txtMaxbeforesplit = new javax.swing.JTextField(); lblBooksinrecent = new javax.swing.JLabel(); txtBooksinrecent = new javax.swing.JTextField(); lblMaxsummarylength = new javax.swing.JLabel(); txtMaxsummarylength = new javax.swing.JTextField(); lblIncludeemptybooks = new javax.swing.JLabel(); chkIncludeemptybooks = new javax.swing.JCheckBox(); lblThumbnailheight = new javax.swing.JLabel(); txtThumbnailheight = new javax.swing.JTextField(); lblMinBooksToMakeDeepLevel = new javax.swing.JLabel(); txtMinBooksToMakeDeepLevel = new javax.swing.JTextField(); txtCoverHeight = new javax.swing.JTextField(); lblCoverHeight = new javax.swing.JLabel(); lblIncludeOnlyOneFile = new javax.swing.JLabel(); chkIncludeOnlyOneFile = new javax.swing.JCheckBox(); lblNoCoverResize = new javax.swing.JLabel(); lblNoThumbnailGenerate = new javax.swing.JLabel(); chkNoCoverResize = new javax.swing.JCheckBox(); chkNoThumbnailGenerate = new javax.swing.JCheckBox(); lblMaxBookSummaryLength = new javax.swing.JLabel(); txtMaxBookSummaryLength = new javax.swing.JTextField(); lblExternalIcons = new javax.swing.JLabel(); chkExternalIcons = new javax.swing.JCheckBox(); lblMaxSplitLevels = new javax.swing.JLabel(); txtMaxSplitLevels = new javax.swing.JTextField(); txtTagsToMakeDeep = new javax.swing.JTextField(); lblTagsToMakeDeep = new javax.swing.JLabel(); lblIncludeCoversInCatalog = new javax.swing.JLabel(); chkIncludeCoversInCatalog = new javax.swing.JCheckBox(); lblZipCatalog = new javax.swing.JLabel(); lblZipOmitXml = new javax.swing.JLabel(); chkZipOmitXml = new javax.swing.JCheckBox(); chkZipCatalog = new javax.swing.JCheckBox(); lblUseThumbnailAsCover = new javax.swing.JLabel(); chkUseThumbnailAsCover = new javax.swing.JCheckBox(); lblexternalImages = new javax.swing.JLabel(); chkExternalImages = new javax.swing.JCheckBox(); lblLanguageAsTag = new javax.swing.JLabel(); chkLanguageAsTag = new javax.swing.JCheckBox(); pnlExternalUrlsOptions = new javax.swing.JPanel(); txtWikipediaUrl = new javax.swing.JTextField(); txtAmazonAuthorUrl = new javax.swing.JTextField(); txtAmazonIsbnUrl = new javax.swing.JTextField(); txtAmazonTitleUrl = new javax.swing.JTextField(); txtGoodreadAuthorUrl = new javax.swing.JTextField(); txtGoodreadIsbnUrl = new javax.swing.JTextField(); txtGoodreadTitleUrl = new javax.swing.JTextField(); txtGoodreadReviewIsbnUrl = new javax.swing.JTextField(); txtIsfdbAuthorUrl = new javax.swing.JTextField(); txtLibrarythingAuthorUrl = new javax.swing.JTextField(); txtLibrarythingIsbnUrl = new javax.swing.JTextField(); txtLibrarythingTitleUrl = new javax.swing.JTextField(); cmdWikipediaUrlReset = new javax.swing.JButton(); cmdAmazonUrlReset = new javax.swing.JButton(); cmdAmazonTitleReset = new javax.swing.JButton(); cmdAmazonIsbnReset = new javax.swing.JButton(); cmdGoodreadAuthorReset = new javax.swing.JButton(); cmdGoodreadIsbnReset = new javax.swing.JButton(); cmdGoodreadReviewReset = new javax.swing.JButton(); cmdGoodreadTitleReset = new javax.swing.JButton(); cmdIsfdbAuthorReset = new javax.swing.JButton(); cmdLibrarythingAuthorReset = new javax.swing.JButton(); cmdLibrarythingIsbnReset = new javax.swing.JButton(); cmdLibrarythingTitleReset = new javax.swing.JButton(); lblWikipediaUrl = new javax.swing.JTextField(); lblAmazonAuthorUrl = new javax.swing.JTextField(); lblAmazonIsbnUrl = new javax.swing.JTextField(); lblAmazonTitleUrl = new javax.swing.JTextField(); lblGoodreadAuthorUrl = new javax.swing.JTextField(); lblGoodreadIsbnUrl = new javax.swing.JTextField(); lblGoodreadTitleUrl = new javax.swing.JTextField(); lblIsfdbAuthorUrl = new javax.swing.JTextField(); lblLibrarythingAuthorUrl = new javax.swing.JTextField(); lblLibrarythingIsbnUrl = new javax.swing.JTextField(); lblLibrarythingTitleUrl = new javax.swing.JTextField(); lblNogenerateExternalReferences = new javax.swing.JLabel(); chkNogenerateExternalReferences = new javax.swing.JCheckBox(); lblGoodreadReviewIsbnUrl = new javax.swing.JTextField(); lblNewWindowForExternalReferences = new javax.swing.JLabel(); chkNewWindowForExternalReferences = new javax.swing.JCheckBox(); pnlCustomCatalogs = new javax.swing.JPanel(); lblCustomDummy1 = new javax.swing.JLabel(); lblFeaturedCatalogSavedSearchName = new javax.swing.JLabel(); txtFeaturedCatalogSavedSearchName = new javax.swing.JTextField(); lblFeaturedCatalogTitle = new javax.swing.JLabel(); txtFeaturedCatalogTitle = new javax.swing.JTextField(); lblCustomDummy2 = new javax.swing.JLabel(); cmdAdd = new javax.swing.JButton(); scrCustomCatalogs = new javax.swing.JScrollPane(); tblCustomCatalogs = new javax.swing.JTable(); pnlCustomCatalogsTableButtons = new javax.swing.JPanel(); lblNewWindowForCustomExternalLinks = new javax.swing.JLabel(); chkNewWindowForCustomExternalLinks = new javax.swing.JCheckBox(); pnlSearchOptions = new javax.swing.JPanel(); txtMaxKeywords = new javax.swing.JTextField(); lblMaxKeywords = new javax.swing.JLabel(); lblIndexComments = new javax.swing.JLabel(); chkIndexComments = new javax.swing.JCheckBox(); lblIndexFilterAlgorithm = new javax.swing.JLabel(); cboIndexFilterAlgorithm = new javax.swing.JComboBox(); lblGenerateIndex = new javax.swing.JLabel(); chkGenerateIndex = new javax.swing.JCheckBox(); lblSearchDeprecated = new javax.swing.JLabel(); pnlBottom = new javax.swing.JPanel(); lblBottom0 = new javax.swing.JLabel(); pnlButtons = new javax.swing.JPanel(); cmdCancel = new javax.swing.JButton(); cmdReset = new javax.swing.JButton(); cmdSave = new javax.swing.JButton(); cmdGenerate = new javax.swing.JButton(); cmdHelp = new javax.swing.JButton(); pnlTitle = new javax.swing.JPanel(); lblProfile = new javax.swing.JLabel(); jMenuBar1 = new javax.swing.JMenuBar(); mnuFile = new javax.swing.JMenu(); mnuFileSave = new javax.swing.JMenuItem(); mnuFileGenerateCatalogs = new javax.swing.JMenuItem(); mnuFileExit = new javax.swing.JMenuItem(); mnuProfiles = new javax.swing.JMenu(); mnuTools = new javax.swing.JMenu(); mnuToolsprocessEpubMetadataOfAllBooks = new javax.swing.JMenuItem(); mnuToolsResetSecurityCache = new javax.swing.JMenuItem(); mnuToolsConfigLog = new javax.swing.JMenuItem(); mnuToolsClearLog = new javax.swing.JMenuItem(); mnuToolsOpenLog = new javax.swing.JMenuItem(); mnuToolsOpenOldLog = new javax.swing.JMenuItem(); mnuToolsOpenSyncLog = new javax.swing.JMenuItem(); mnuToolsOpenConfig = new javax.swing.JMenuItem(); mnuHelp = new javax.swing.JMenu(); mnuHelpDonate = new javax.swing.JMenuItem(); mnuHelpHome = new javax.swing.JMenuItem(); mnuHelpOpenForum = new javax.swing.JMenuItem(); mnuHelpOpenIssues = new javax.swing.JMenuItem(); mnuHelpUserGuide = new javax.swing.JMenuItem(); mnuHelpDevelopersGuide = new javax.swing.JMenuItem(); mnuHelpOpenLocalize = new javax.swing.JMenuItem(); mnuHelpOpenCustomize = new javax.swing.JMenuItem(); mnuHelpAbout = new javax.swing.JMenuItem(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setMinimumSize(new java.awt.Dimension(700, 550)); setPreferredSize(new java.awt.Dimension(1050, 760)); pnlMain.setMinimumSize(new java.awt.Dimension(910, 768)); pnlMain.setName(""); // NOI18N pnlMain.setPreferredSize(new java.awt.Dimension(900, 760)); pnlMain.setLayout(new java.awt.GridBagLayout()); lblDeviceDropbox.setIcon(new javax.swing.ImageIcon(getClass().getResource("/calibre-icon.gif"))); // NOI18N lblDeviceDropbox.setMinimumSize(new java.awt.Dimension(80, 61)); lblDeviceDropbox.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { lblDeviceDropboxMouseClicked(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.insets = new java.awt.Insets(10, 5, 10, 5); pnlMain.add(lblDeviceDropbox, gridBagConstraints); lblDeviceNAS.setIcon(new javax.swing.ImageIcon(getClass().getResource("/nas.png"))); // NOI18N lblDeviceNAS.setMinimumSize(new java.awt.Dimension(61, 61)); lblDeviceNAS.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { lblDeviceNASMouseClicked(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.insets = new java.awt.Insets(10, 5, 10, 5); pnlMain.add(lblDeviceNAS, gridBagConstraints); lblDeviceNook.setIcon(new javax.swing.ImageIcon(getClass().getResource("/nook.png"))); // NOI18N lblDeviceNook.setMinimumSize(new java.awt.Dimension(50, 61)); lblDeviceNook.setName(""); // NOI18N lblDeviceNook.setPreferredSize(null); lblDeviceNook.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { lblDeviceNookMouseClicked(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 0; gridBagConstraints.insets = new java.awt.Insets(10, 5, 10, 5); pnlMain.add(lblDeviceNook, gridBagConstraints); lblDeviceMode.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); lblDeviceMode.setText("lblDeviceMode1"); lblDeviceMode.setVerticalAlignment(javax.swing.SwingConstants.TOP); lblDeviceMode.setRequestFocusEnabled(false); lblDeviceMode.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 4; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 10, 0, 5); pnlMain.add(lblDeviceMode, gridBagConstraints); lblDonate.setIcon(new javax.swing.ImageIcon(getClass().getResource("/donate.gif"))); // NOI18N lblDonate.setMinimumSize(new java.awt.Dimension(80, 28)); lblDonate.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { lblDonateMouseClicked(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(10, 5, 10, 5); pnlMain.add(lblDonate, gridBagConstraints); tabOptionsTabs.setMinimumSize(new java.awt.Dimension(850, 470)); tabOptionsTabs.setPreferredSize(new java.awt.Dimension(90, 480)); pnlMainOptions.addComponentListener(new java.awt.event.ComponentAdapter() { public void componentShown(java.awt.event.ComponentEvent evt) { pnlMainOptionsComponentShown(evt); } }); pnlMainOptions.setLayout(new java.awt.GridBagLayout()); lblLang.setText("lblLang"); lblLang.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 5, 3, 5); pnlMainOptions.add(lblLang, gridBagConstraints); cboLang.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); cboLang.setMaximumSize(new java.awt.Dimension(100, 20)); cboLang.setMinimumSize(new java.awt.Dimension(100, 20)); cboLang.setPreferredSize(new java.awt.Dimension(100, 20)); cboLang.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cboLangActionPerformed(evt); } }); cboLang.addVetoableChangeListener(new java.beans.VetoableChangeListener() { public void vetoableChange(java.beans.PropertyChangeEvent evt)throws java.beans.PropertyVetoException { cboLangVetoableChange(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlMainOptions.add(cboLang, gridBagConstraints); lblDatabaseFolder.setText("lblDatabaseFolder"); lblDatabaseFolder.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 5, 3, 5); pnlMainOptions.add(lblDatabaseFolder, gridBagConstraints); txtDatabaseFolder.setText("txtDatabaseFolder"); txtDatabaseFolder.setPreferredSize(new java.awt.Dimension(400, 20)); txtDatabaseFolder.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { txtDatabaseFolderActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlMainOptions.add(txtDatabaseFolder, gridBagConstraints); cmdSetDatabaseFolder.setText("..."); cmdSetDatabaseFolder.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdSetDatabaseFolderActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlMainOptions.add(cmdSetDatabaseFolder, gridBagConstraints); lblTargetFolder.setText("lblDatabaseFolder"); lblTargetFolder.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 5, 3, 5); pnlMainOptions.add(lblTargetFolder, gridBagConstraints); txtTargetFolder.setText("txtTargetFolder"); txtTargetFolder.setPreferredSize(new java.awt.Dimension(400, 20)); txtTargetFolder.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { txtTargetFolderActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 3; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlMainOptions.add(txtTargetFolder, gridBagConstraints); cmdSetTargetFolder.setText("..."); cmdSetTargetFolder.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdSetTargetFolderActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlMainOptions.add(cmdSetTargetFolder, gridBagConstraints); lblUrlBooks.setText("lblUrlBooks"); lblUrlBooks.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 5, 3, 5); pnlMainOptions.add(lblUrlBooks, gridBagConstraints); txtUrlBooks.setText("txtUrlBooks"); txtUrlBooks.setPreferredSize(new java.awt.Dimension(400, 20)); txtUrlBooks.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { CheckOnlyCatalogAllowed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 4; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlMainOptions.add(txtUrlBooks, gridBagConstraints); lblCatalogFolder.setText("lblCatalogFolder"); lblCatalogFolder.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 5, 3, 5); pnlMainOptions.add(lblCatalogFolder, gridBagConstraints); txtCatalogFolder.setText("txtCatalogFolder"); txtCatalogFolder.setMinimumSize(new java.awt.Dimension(150, 22)); txtCatalogFolder.setPreferredSize(new java.awt.Dimension(200, 20)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlMainOptions.add(txtCatalogFolder, gridBagConstraints); lblCatalogTitle.setText("lblCatalogTitle"); lblCatalogTitle.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 8; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 5, 3, 5); pnlMainOptions.add(lblCatalogTitle, gridBagConstraints); txtCatalogTitle.setText("txtCatalogTitle"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 8; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlMainOptions.add(txtCatalogTitle, gridBagConstraints); lblSplittagson.setText("lblSplittagson"); lblSplittagson.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 9; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 5, 3, 5); pnlMainOptions.add(lblSplittagson, gridBagConstraints); pnlSplitTagsOn.setLayout(new java.awt.GridBagLayout()); txtSplittagson.setText("txtSplittagson"); txtSplittagson.setMaximumSize(new java.awt.Dimension(60, 22)); txtSplittagson.setMinimumSize(new java.awt.Dimension(40, 22)); txtSplittagson.setPreferredSize(new java.awt.Dimension(40, 20)); txtSplittagson.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { txtSplittagsonActionPerformed(evt); } }); txtSplittagson.addFocusListener(new java.awt.event.FocusAdapter() { public void focusLost(java.awt.event.FocusEvent evt) { txtSplittagsonFocusLost(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 10; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlSplitTagsOn.add(txtSplittagson, gridBagConstraints); chkDontsplittags.setText("chkDontsplittags"); chkDontsplittags.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { chkDontsplittagsActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 10; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; pnlSplitTagsOn.add(chkDontsplittags, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 9; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; pnlMainOptions.add(pnlSplitTagsOn, gridBagConstraints); lblCatalogFilter.setText("lblCatalogFilter"); lblCatalogFilter.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 10; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 5, 3, 5); pnlMainOptions.add(lblCatalogFilter, gridBagConstraints); txtCatalogFilter.setText("txtCatalogFilter"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 10; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlMainOptions.add(txtCatalogFilter, gridBagConstraints); lblWikilang.setText("lblWikilang"); lblWikilang.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 5, 3, 5); pnlMainOptions.add(lblWikilang, gridBagConstraints); txtWikilang.setText("txtWikilang"); txtWikilang.setMaximumSize(new java.awt.Dimension(60, 20)); txtWikilang.setMinimumSize(new java.awt.Dimension(60, 20)); txtWikilang.setName(""); // NOI18N txtWikilang.setPreferredSize(new java.awt.Dimension(60, 20)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlMainOptions.add(txtWikilang, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlMainOptions.add(chkCopyToDatabaseFolder, gridBagConstraints); lblCopyToDatabaseFolder.setText("lblCopyToDatabaseFolder"); lblCopyToDatabaseFolder.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlMainOptions.add(lblCopyToDatabaseFolder, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 6; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlMainOptions.add(chkReprocessEpubMetadata, gridBagConstraints); lblReprocessEpubMetadata.setText("lblReprocessEpubMetadata"); lblReprocessEpubMetadata.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlMainOptions.add(lblReprocessEpubMetadata, gridBagConstraints); lblZipTrookCatalog.setText("lblZipTrookCatalog"); lblZipTrookCatalog.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 14; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlMainOptions.add(lblZipTrookCatalog, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 14; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlMainOptions.add(chkZipTrookCatalog, gridBagConstraints); lblOnlyCatalogAtTarget.setText("lblOnlyCatalogAtTarget"); lblOnlyCatalogAtTarget.setToolTipText(""); lblOnlyCatalogAtTarget.setAutoscrolls(true); lblOnlyCatalogAtTarget.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlMainOptions.add(lblOnlyCatalogAtTarget, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlMainOptions.add(chkOnlyCatalogAtTarget, gridBagConstraints); lblCryptFilenames.setText("lblCryptFilenames"); lblCryptFilenames.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 13; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlMainOptions.add(lblCryptFilenames, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 13; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlMainOptions.add(chkCryptFilenames, gridBagConstraints); lblFavicon.setText("lblFavicon"); lblFavicon.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 5, 3, 5); pnlMainOptions.add(lblFavicon, gridBagConstraints); txtFavicon.setText("txtFavicon"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlMainOptions.add(txtFavicon, gridBagConstraints); cmdSetFavicon.setText("..."); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlMainOptions.add(cmdSetFavicon, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 13; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlMainOptions.add(chkDisableOptimizer, gridBagConstraints); lblDisableOptimizer.setText("lblDisableOptimizer"); lblDisableOptimizer.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 13; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlMainOptions.add(lblDisableOptimizer, gridBagConstraints); tabOptionsTabs.addTab("pnlMainOptions", pnlMainOptions); pnlMainOptions.getAccessibleContext().setAccessibleName("Main Option"); pnlCatalogStructure.addComponentListener(new java.awt.event.ComponentAdapter() { public void componentShown(java.awt.event.ComponentEvent evt) { pnlCatalogStructureComponentShown(evt); } }); pnlCatalogStructure.setLayout(new java.awt.GridBagLayout()); lblNogeneratehtml.setText("lblNogeneratehtml"); lblNogeneratehtml.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblNogeneratehtml, gridBagConstraints); chkNogeneratehtml.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { checkDownloads(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkNogeneratehtml, gridBagConstraints); lblNoIncludeAboutLink.setText("lblNoIncludeAboutLink"); lblNoIncludeAboutLink.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblNoIncludeAboutLink, gridBagConstraints); lblNoIncludeAboutLink.getAccessibleContext().setAccessibleName("Include the \"About calibre2opds\" link"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkNoIncludeAboutLink, gridBagConstraints); lblNogenerateopdsfiles.setText("lblNogenerateopdsfiles"); lblNogenerateopdsfiles.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblNogenerateopdsfiles, gridBagConstraints); lblNogenerateopdsfiles.getAccessibleContext().setAccessibleName("Do not generate OPDS downloads"); chkNogenerateopdsfiles.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { checkDownloads(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkNogenerateopdsfiles, gridBagConstraints); lblNogenerateratings.setText("lblNogenerateratings"); lblNogenerateratings.setRequestFocusEnabled(false); lblNogenerateratings.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 9; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblNogenerateratings, gridBagConstraints); lblNogenerateratings.getAccessibleContext().setAccessibleName("Do not generate the \"Ratings\" catalog "); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 9; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkNogenerateratings, gridBagConstraints); lblNogenerateallbooks.setText("lblNogenerateallbooks"); lblNogenerateallbooks.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 10; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblNogenerateallbooks, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 10; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkNogenerateallbooks, gridBagConstraints); lblSupressRatings.setText("lblSupressRatings"); lblSupressRatings.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 9; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblSupressRatings, gridBagConstraints); lblSupressRatings.getAccessibleContext().setAccessibleName("Suppress ratings in the books titles "); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 9; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkSupressRatings, gridBagConstraints); chkNogenerateopds.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { checkDownloads(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkNogenerateopds, gridBagConstraints); lblNogenerateopds.setText("lblNogenerateopds"); lblNogenerateopds.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblNogenerateopds, gridBagConstraints); lblNogenerateopds.getAccessibleContext().setAccessibleName("Di Not generate OPDS catalogs"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkNoGenerateAuthors, gridBagConstraints); lblNoGenerateSeries.setText("lblNoGenerateSeries"); lblNoGenerateSeries.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblNoGenerateSeries, gridBagConstraints); lblNogeneraterecent.setText("lblNogeneraterecent"); lblNogeneraterecent.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 8; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblNogeneraterecent, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 8; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkNogeneraterecent, gridBagConstraints); lblNoGenerateTags.setText("lblNoGenerateTags"); lblNoGenerateTags.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblNoGenerateTags, gridBagConstraints); lblNoGenerateAuthors.setText("lblNoGenerateAuthors"); lblNoGenerateAuthors.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblNoGenerateAuthors, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkNoGenerateTags, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkNoGenerateSeries, gridBagConstraints); lblNoShowSeries.setText("lblNoShowSeries"); lblNoShowSeries.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblNoShowSeries, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 7; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkNoShowSeries, gridBagConstraints); lblOrderAllBooksBySeries.setText("lblOrderAllBooksBySeries"); lblOrderAllBooksBySeries.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 10; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblOrderAllBooksBySeries, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 10; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkOrderAllBooksBySeries, gridBagConstraints); lblSplitByAuthorInitialGoToBooks.setText("lblSplitByAuthorInitialGoToBooks"); lblSplitByAuthorInitialGoToBooks.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 8; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblSplitByAuthorInitialGoToBooks, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 8; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkSplitByAuthorInitialGoToBooks, gridBagConstraints); lblSortUsingAuthor.setText("lblSortUsingAuthor"); lblSortUsingAuthor.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 11; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblSortUsingAuthor, gridBagConstraints); lblSortUsingTitle.setText("lblSortUsingTitle"); lblSortUsingTitle.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 11; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblSortUsingTitle, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 11; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkSortUsingAuthorSort, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 11; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkSortUsingTitleSort, gridBagConstraints); lblTagsToIgnore.setText("lblTagsToIgnore"); lblTagsToIgnore.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 12; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblTagsToIgnore, gridBagConstraints); txtTagsToIgnore.setText("txtTagsToIgnore"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 12; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(txtTagsToIgnore, gridBagConstraints); lblCatalogCustomColumns.setText("lblCatalogCustomColumns"); lblCatalogCustomColumns.setToolTipText(""); lblCatalogCustomColumns.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 13; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblCatalogCustomColumns, gridBagConstraints); txtCatalogCustomColumns.setText("txtCatalogCustomColumns"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 13; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(txtCatalogCustomColumns, gridBagConstraints); lblSortTagsByAuthor.setText("lblSortTagsByAuthor"); lblSortTagsByAuthor.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblSortTagsByAuthor, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkSortTagsByAuthor, gridBagConstraints); lblTagBooksNoSplit.setText("lblTagBooksNoSplit"); lblTagBooksNoSplit.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblTagBooksNoSplit, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkTagBookNoSplit, gridBagConstraints); lblNogeneratehtmlfiles.setText("lblNogeneratehtmlfiles"); lblNogeneratehtmlfiles.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblNogeneratehtmlfiles, gridBagConstraints); chkNogeneratehtmlfiles.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { checkDownloads(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkNogeneratehtmlfiles, gridBagConstraints); lblSortSeriesUsingLibrarySort.setText("lblSortSeriesUsingLibrarySort"); lblSortSeriesUsingLibrarySort.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblSortSeriesUsingLibrarySort, gridBagConstraints); lblBrowseByCover.setText("lblBrowseByCover"); lblBrowseByCover.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(lblBrowseByCover, gridBagConstraints); chkBrowseByCover.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { chkBrowseByCoverActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkBrowseByCover, gridBagConstraints); lblBrowseByCoverWithoutSplit.setText("lblBrowseByCoverWithoutSplit"); lblBrowseByCoverWithoutSplit.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; pnlCatalogStructure.add(lblBrowseByCoverWithoutSplit, gridBagConstraints); lblBrowseByCoverWithoutSplit.getAccessibleContext().setAccessibleName("Do not split by letter in \"Browse by Cover\" mode"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkBrowseByCoverWithoutSplit, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCatalogStructure.add(chkSortSeriesUsingLibrarySort, gridBagConstraints); tabOptionsTabs.addTab("pnlCatalogStructure", pnlCatalogStructure); pnlBookDetails.addComponentListener(new java.awt.event.ComponentAdapter() { public void componentShown(java.awt.event.ComponentEvent evt) { pnlBookDetailsComponentShown(evt); } }); pnlBookDetails.setLayout(new java.awt.GridBagLayout()); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkIncludeTagsInBookDetails, gridBagConstraints); lblIncludeTagsInBookDetails.setText("lblIncludeTagsInBookDetails"); lblIncludeTagsInBookDetails.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblIncludeTagsInBookDetails, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkIncludeSeriesInBookDetails, gridBagConstraints); lblIncludePublisherInBookDetails.setText("lblIncludePublisherInBookDetails"); lblIncludePublisherInBookDetails.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblIncludePublisherInBookDetails, gridBagConstraints); lblIncludeSeriesInBookDetails.setText("lblIncludeSeriesInBookDetails"); lblIncludeSeriesInBookDetails.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblIncludeSeriesInBookDetails, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkIncludePublisherInBookDetails, gridBagConstraints); lblIncludePublishedInBookDetails.setText("lblIncludePublishedInBookDetails"); lblIncludePublishedInBookDetails.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblIncludePublishedInBookDetails, gridBagConstraints); lblIncludeModifiedInBookDetails.setText("lblIncludeModifiedInBookDetails"); lblIncludeModifiedInBookDetails.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblIncludeModifiedInBookDetails, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkIncludeModifiedInBookDetails, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkIncludePublishedInBookDetails, gridBagConstraints); lblDisplayAuthorSort.setText("lblDisplayAuthorSort"); lblDisplayAuthorSort.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblDisplayAuthorSort, gridBagConstraints); lblDisplayAuthorSort.getAccessibleContext().setAccessibleName(""); lblDisplayTitleSort.setText("lblDisplayTitleSort"); lblDisplayTitleSort.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblDisplayTitleSort, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkDisplayAuthorSort, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkDisplayTitleSort, gridBagConstraints); lblNogeneratecrosslinks.setText("lblNogeneratecrosslinks"); lblNogeneratecrosslinks.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 10; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblNogeneratecrosslinks, gridBagConstraints); lblNogeneratecrosslinks.getAccessibleContext().setAccessibleName("Do not generate cross-reference links "); chkNogeneratecrosslinks.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent evt) { chkNogeneratecrosslinksStateChanged(evt); } }); chkNogeneratecrosslinks.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { chkNogeneratecrosslinksActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 10; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkNogeneratecrosslinks, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 6; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkPublishedDateAsYear, gridBagConstraints); lblPublishedDateAsYear.setText("lblPublishedDateAsYear"); lblPublishedDateAsYear.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblPublishedDateAsYear, gridBagConstraints); lblIncludeAddedInBookDetails.setText("lblIncludeAddedInBookDetails"); lblIncludeAddedInBookDetails.setOpaque(true); lblIncludeAddedInBookDetails.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblIncludeAddedInBookDetails, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkIncludeAddedInBookDetails, gridBagConstraints); lblIncludeRatingInBookDetails.setText("lblIncludeRatingInBookDetails"); lblIncludeRatingInBookDetails.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblIncludeRatingInBookDetails, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkIncludeRatingInBookDetails, gridBagConstraints); txtBookDetailsCustomFields.setText("txtBookDetailsCustomFields"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 9; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(txtBookDetailsCustomFields, gridBagConstraints); lblBookDetailsCustomFields.setText("lblBookDetailsCustomFields"); lblBookDetailsCustomFields.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 9; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblBookDetailsCustomFields, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 9; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkBookDetailsCustomFieldsAlways, gridBagConstraints); lblSingleBookCrossReferences.setText("lblSingleBookCrossReferences"); lblSingleBookCrossReferences.setToolTipText(""); lblSingleBookCrossReferences.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 10; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblSingleBookCrossReferences, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 10; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkSingleBookCrossReferences, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 11; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkIncludeAuthorCrossReferences, gridBagConstraints); lblIncludeAuthorCrossReferences.setText("lblIncludeAuthorCrossReferences"); lblIncludeAuthorCrossReferences.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 11; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblIncludeAuthorCrossReferences, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 11; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkIncludeTagCrossReferences, gridBagConstraints); lblIncludeTagCrossReferences.setText("lblIncludeTagCrossReferences"); lblIncludeTagCrossReferences.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 11; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblIncludeTagCrossReferences, gridBagConstraints); lblIncludeRatingCrossReferences.setText("lblIncludeRatingCrossReferences"); lblIncludeRatingCrossReferences.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 12; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblIncludeRatingCrossReferences, gridBagConstraints); lblIncludeSerieCrossReferences.setText("lblIncludeSerieCrossReferences"); lblIncludeSerieCrossReferences.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 12; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblIncludeSerieCrossReferences, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 12; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkIncludeSerieCrossReferences, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 12; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkIncludeRatingCrossReferences, gridBagConstraints); lblDisplaySeriesSort.setText("lblDisplaySeriesSort"); lblDisplaySeriesSort.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblDisplaySeriesSort, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkDisplaySeriesSort, gridBagConstraints); lblIncludeSizeOfDownloads.setText("lblIncludeSizeOfDownloads"); lblIncludeSizeOfDownloads.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 8; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblIncludeSizeOfDownloads, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 8; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkIncludeSizeOfDownloads, gridBagConstraints); lblIncludeAuthorInBookDetails.setText("lblIncludeAuthorInBookDetails"); lblIncludeAuthorInBookDetails.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblIncludeAuthorInBookDetails, gridBagConstraints); lblIncludeTitleInBookDetails.setText("lblIncludeTitleInBookDetails"); lblIncludeTitleInBookDetails.setToolTipText(""); lblIncludeTitleInBookDetails.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(lblIncludeTitleInBookDetails, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkIncludeTitleInBookDetails, gridBagConstraints); chkIncludeAuthorInBookDetails.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { chkIncludeAuthorInBookDetailsActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBookDetails.add(chkIncludeAuthorInBookDetails, gridBagConstraints); tabOptionsTabs.addTab("pnlBookDetails", pnlBookDetails); pnlAdvancedOptions.addComponentListener(new java.awt.event.ComponentAdapter() { public void componentShown(java.awt.event.ComponentEvent evt) { pnlAdvancedOptionsComponentShown(evt); } }); pnlAdvancedOptions.setLayout(new java.awt.GridBagLayout()); lblIncludeformat.setText("lblIncludeformat"); lblIncludeformat.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblIncludeformat, gridBagConstraints); txtIncludeformat.setText("txtIncludeformat"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(txtIncludeformat, gridBagConstraints); lblMaxbeforepaginate.setText("lblMaxbeforepaginate"); lblMaxbeforepaginate.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblMaxbeforepaginate, gridBagConstraints); txtMaxbeforepaginate.setText("txtMaxbeforepaginate"); txtMaxbeforepaginate.setMaximumSize(new java.awt.Dimension(150, 22)); txtMaxbeforepaginate.setMinimumSize(new java.awt.Dimension(100, 22)); txtMaxbeforepaginate.setPreferredSize(new java.awt.Dimension(50, 20)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(txtMaxbeforepaginate, gridBagConstraints); lblMaxbeforesplit.setText("lblMaxbeforesplit"); lblMaxbeforesplit.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblMaxbeforesplit, gridBagConstraints); txtMaxbeforesplit.setText("txtMaxbeforesplit"); txtMaxbeforesplit.setMaximumSize(new java.awt.Dimension(150, 100)); txtMaxbeforesplit.setMinimumSize(new java.awt.Dimension(100, 22)); txtMaxbeforesplit.setPreferredSize(new java.awt.Dimension(50, 20)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(txtMaxbeforesplit, gridBagConstraints); lblBooksinrecent.setText("lblBooksinrecent"); lblBooksinrecent.setMaximumSize(new java.awt.Dimension(115, 250)); lblBooksinrecent.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblBooksinrecent, gridBagConstraints); txtBooksinrecent.setText("txtBooksinrecent"); txtBooksinrecent.setMaximumSize(new java.awt.Dimension(150, 22)); txtBooksinrecent.setMinimumSize(new java.awt.Dimension(100, 22)); txtBooksinrecent.setPreferredSize(new java.awt.Dimension(60, 20)); txtBooksinrecent.addFocusListener(new java.awt.event.FocusAdapter() { public void focusLost(java.awt.event.FocusEvent evt) { txtBooksinrecentFocusLost(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(txtBooksinrecent, gridBagConstraints); lblMaxsummarylength.setText("lblMaxsummarylength"); lblMaxsummarylength.setMaximumSize(new java.awt.Dimension(250, 20)); lblMaxsummarylength.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblMaxsummarylength, gridBagConstraints); txtMaxsummarylength.setText("txtMaxsummarylength"); txtMaxsummarylength.setMaximumSize(new java.awt.Dimension(150, 22)); txtMaxsummarylength.setMinimumSize(new java.awt.Dimension(100, 22)); txtMaxsummarylength.setPreferredSize(new java.awt.Dimension(60, 20)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(txtMaxsummarylength, gridBagConstraints); lblIncludeemptybooks.setText("lblIncludeemptybooks"); lblIncludeemptybooks.setInheritsPopupMenu(false); lblIncludeemptybooks.setMaximumSize(new java.awt.Dimension(250, 20)); lblIncludeemptybooks.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblIncludeemptybooks, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(chkIncludeemptybooks, gridBagConstraints); lblThumbnailheight.setText("lblThumbnailheight"); lblThumbnailheight.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblThumbnailheight, gridBagConstraints); txtThumbnailheight.setText("txtThumbnailheight"); txtThumbnailheight.setMaximumSize(new java.awt.Dimension(150, 22)); txtThumbnailheight.setMinimumSize(new java.awt.Dimension(150, 22)); txtThumbnailheight.setPreferredSize(new java.awt.Dimension(80, 20)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(txtThumbnailheight, gridBagConstraints); lblMinBooksToMakeDeepLevel.setText("lblMinBooksToMakeDeepLevel"); lblMinBooksToMakeDeepLevel.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 10; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblMinBooksToMakeDeepLevel, gridBagConstraints); txtMinBooksToMakeDeepLevel.setText("txtMaxsummarylength"); txtMinBooksToMakeDeepLevel.setInheritsPopupMenu(true); txtMinBooksToMakeDeepLevel.setMaximumSize(new java.awt.Dimension(150, 22)); txtMinBooksToMakeDeepLevel.setMinimumSize(new java.awt.Dimension(100, 22)); txtMinBooksToMakeDeepLevel.setPreferredSize(new java.awt.Dimension(50, 20)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 10; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(txtMinBooksToMakeDeepLevel, gridBagConstraints); txtCoverHeight.setText("txtCoverHeight"); txtCoverHeight.setMaximumSize(new java.awt.Dimension(150, 22)); txtCoverHeight.setMinimumSize(new java.awt.Dimension(100, 22)); txtCoverHeight.setPreferredSize(new java.awt.Dimension(80, 20)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(txtCoverHeight, gridBagConstraints); lblCoverHeight.setText("lblCoverHeight"); lblCoverHeight.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblCoverHeight, gridBagConstraints); lblIncludeOnlyOneFile.setText("lblIncludeOnlyOneFile"); lblIncludeOnlyOneFile.setMaximumSize(new java.awt.Dimension(250, 20)); lblIncludeOnlyOneFile.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblIncludeOnlyOneFile, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(chkIncludeOnlyOneFile, gridBagConstraints); lblNoCoverResize.setText("lblNoCoverResize"); lblNoCoverResize.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblNoCoverResize, gridBagConstraints); lblNoThumbnailGenerate.setText("lblNoThumbnailGenerate"); lblNoThumbnailGenerate.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblNoThumbnailGenerate, gridBagConstraints); chkNoCoverResize.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { chkNoCoverResizeActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(chkNoCoverResize, gridBagConstraints); chkNoThumbnailGenerate.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { chkNoThumbnailGenerateActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(chkNoThumbnailGenerate, gridBagConstraints); lblMaxBookSummaryLength.setText("lblMaxBookSummaryLength"); lblMaxBookSummaryLength.setMaximumSize(new java.awt.Dimension(250, 20)); lblMaxBookSummaryLength.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblMaxBookSummaryLength, gridBagConstraints); txtMaxBookSummaryLength.setText("txtMaxBookSummaryLength"); txtMaxBookSummaryLength.setMaximumSize(new java.awt.Dimension(150, 22)); txtMaxBookSummaryLength.setMinimumSize(new java.awt.Dimension(100, 22)); txtMaxBookSummaryLength.setPreferredSize(new java.awt.Dimension(60, 20)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(txtMaxBookSummaryLength, gridBagConstraints); lblExternalIcons.setText("lblExternalIcons"); lblExternalIcons.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblExternalIcons, gridBagConstraints); chkExternalIcons.setRequestFocusEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(chkExternalIcons, gridBagConstraints); lblMaxSplitLevels.setText("lblMaxSplitlevels"); lblMaxSplitLevels.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblMaxSplitLevels, gridBagConstraints); txtMaxSplitLevels.setText("txtMaxSplitLevels"); txtMaxSplitLevels.setMaximumSize(new java.awt.Dimension(150, 22)); txtMaxSplitLevels.setMinimumSize(new java.awt.Dimension(100, 22)); txtMaxSplitLevels.setPreferredSize(new java.awt.Dimension(50, 20)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(txtMaxSplitLevels, gridBagConstraints); txtTagsToMakeDeep.setText("txtTagsToMakeDeep"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 11; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(txtTagsToMakeDeep, gridBagConstraints); lblTagsToMakeDeep.setText("lblTagsToMakeDeep"); lblTagsToMakeDeep.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 11; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblTagsToMakeDeep, gridBagConstraints); lblIncludeCoversInCatalog.setText("lblIncludeCoversInCatalog"); lblIncludeCoversInCatalog.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 8; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblIncludeCoversInCatalog, gridBagConstraints); chkIncludeCoversInCatalog.setRequestFocusEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 8; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(chkIncludeCoversInCatalog, gridBagConstraints); lblZipCatalog.setText("lblZipCatalog"); lblZipCatalog.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 9; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblZipCatalog, gridBagConstraints); lblZipOmitXml.setText("lblZipOmitXml"); lblZipOmitXml.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 9; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblZipOmitXml, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 9; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(chkZipOmitXml, gridBagConstraints); chkZipCatalog.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { chkZipCatalogActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 9; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(chkZipCatalog, gridBagConstraints); lblUseThumbnailAsCover.setText("lblUseThumbnailAsCover"); lblUseThumbnailAsCover.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 8; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblUseThumbnailAsCover, gridBagConstraints); chkUseThumbnailAsCover.setRequestFocusEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 8; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(chkUseThumbnailAsCover, gridBagConstraints); lblexternalImages.setText("lblexternalImages"); lblexternalImages.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblexternalImages, gridBagConstraints); chkExternalImages.setRequestFocusEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(chkExternalImages, gridBagConstraints); lblLanguageAsTag.setText("lblLanguageAsTag"); lblLanguageAsTag.setToolTipText(""); lblLanguageAsTag.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 12; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(lblLanguageAsTag, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 12; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlAdvancedOptions.add(chkLanguageAsTag, gridBagConstraints); tabOptionsTabs.addTab("pnlAdvancedOptions", pnlAdvancedOptions); pnlExternalUrlsOptions.addComponentListener(new java.awt.event.ComponentAdapter() { public void componentShown(java.awt.event.ComponentEvent evt) { pnlExternalUrlsOptionsComponentShown(evt); } }); pnlExternalUrlsOptions.setLayout(new java.awt.GridBagLayout()); txtWikipediaUrl.setText("txtWikipediaUrl"); txtWikipediaUrl.setPreferredSize(new java.awt.Dimension(600, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(txtWikipediaUrl, gridBagConstraints); txtAmazonAuthorUrl.setText("txtAmazonAuthorUrl"); txtAmazonAuthorUrl.setPreferredSize(new java.awt.Dimension(600, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(txtAmazonAuthorUrl, gridBagConstraints); txtAmazonIsbnUrl.setText("txtAmazonIsbnUrl"); txtAmazonIsbnUrl.setPreferredSize(new java.awt.Dimension(600, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 3; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(txtAmazonIsbnUrl, gridBagConstraints); txtAmazonTitleUrl.setText("txtAmazonTitleUrl"); txtAmazonTitleUrl.setPreferredSize(new java.awt.Dimension(600, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 4; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(txtAmazonTitleUrl, gridBagConstraints); txtGoodreadAuthorUrl.setText("txtGoodreadAuthorUrl"); txtGoodreadAuthorUrl.setPreferredSize(new java.awt.Dimension(600, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 5; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(txtGoodreadAuthorUrl, gridBagConstraints); txtGoodreadIsbnUrl.setText("txtGoodreadIsbnUrl"); txtGoodreadIsbnUrl.setPreferredSize(new java.awt.Dimension(600, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 6; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(txtGoodreadIsbnUrl, gridBagConstraints); txtGoodreadTitleUrl.setText("txtGoodreadTitleUrl"); txtGoodreadTitleUrl.setPreferredSize(new java.awt.Dimension(600, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 7; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(txtGoodreadTitleUrl, gridBagConstraints); txtGoodreadReviewIsbnUrl.setText("txtGoodreadReviewIsbnUrl"); txtGoodreadReviewIsbnUrl.setPreferredSize(new java.awt.Dimension(600, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 8; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(txtGoodreadReviewIsbnUrl, gridBagConstraints); txtIsfdbAuthorUrl.setText("txtIsfdbAuthorUrl"); txtIsfdbAuthorUrl.setPreferredSize(new java.awt.Dimension(600, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 10; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(txtIsfdbAuthorUrl, gridBagConstraints); txtLibrarythingAuthorUrl.setText("txtLibrarythingAuthorUrl"); txtLibrarythingAuthorUrl.setPreferredSize(new java.awt.Dimension(600, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 11; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(txtLibrarythingAuthorUrl, gridBagConstraints); txtLibrarythingIsbnUrl.setText("txtLibrarythingIsbnUrl"); txtLibrarythingIsbnUrl.setPreferredSize(new java.awt.Dimension(600, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 12; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(txtLibrarythingIsbnUrl, gridBagConstraints); txtLibrarythingTitleUrl.setText("txtLibrarythingTitleUrl"); txtLibrarythingTitleUrl.setPreferredSize(new java.awt.Dimension(600, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 13; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(txtLibrarythingTitleUrl, gridBagConstraints); cmdWikipediaUrlReset.setText("Reset!"); cmdWikipediaUrlReset.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdWikipediaUrlResetActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlExternalUrlsOptions.add(cmdWikipediaUrlReset, gridBagConstraints); cmdAmazonUrlReset.setText("Reset!"); cmdAmazonUrlReset.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdAmazonUrlResetActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlExternalUrlsOptions.add(cmdAmazonUrlReset, gridBagConstraints); cmdAmazonTitleReset.setText("Reset!"); cmdAmazonTitleReset.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdAmazonTitleResetActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlExternalUrlsOptions.add(cmdAmazonTitleReset, gridBagConstraints); cmdAmazonIsbnReset.setText("Reset!"); cmdAmazonIsbnReset.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdAmazonIsbnResetActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlExternalUrlsOptions.add(cmdAmazonIsbnReset, gridBagConstraints); cmdGoodreadAuthorReset.setText("Reset!"); cmdGoodreadAuthorReset.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdGoodreadAuthorResetActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 5; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlExternalUrlsOptions.add(cmdGoodreadAuthorReset, gridBagConstraints); cmdGoodreadIsbnReset.setText("Reset!"); cmdGoodreadIsbnReset.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdGoodreadIsbnResetActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlExternalUrlsOptions.add(cmdGoodreadIsbnReset, gridBagConstraints); cmdGoodreadReviewReset.setText("Reset!"); cmdGoodreadReviewReset.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdGoodreadReviewResetActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 8; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlExternalUrlsOptions.add(cmdGoodreadReviewReset, gridBagConstraints); cmdGoodreadTitleReset.setText("Reset!"); cmdGoodreadTitleReset.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdGoodreadTitleResetActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 7; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlExternalUrlsOptions.add(cmdGoodreadTitleReset, gridBagConstraints); cmdIsfdbAuthorReset.setText("Reset!"); cmdIsfdbAuthorReset.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdIsfdbAuthorResetActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 10; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlExternalUrlsOptions.add(cmdIsfdbAuthorReset, gridBagConstraints); cmdLibrarythingAuthorReset.setText("Reset!"); cmdLibrarythingAuthorReset.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdLibrarythingAuthorResetActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 11; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlExternalUrlsOptions.add(cmdLibrarythingAuthorReset, gridBagConstraints); cmdLibrarythingIsbnReset.setText("Reset!"); cmdLibrarythingIsbnReset.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdLibrarythingIsbnResetActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 12; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlExternalUrlsOptions.add(cmdLibrarythingIsbnReset, gridBagConstraints); cmdLibrarythingTitleReset.setText("Reset!"); cmdLibrarythingTitleReset.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdLibrarythingTitleResetActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 13; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlExternalUrlsOptions.add(cmdLibrarythingTitleReset, gridBagConstraints); lblWikipediaUrl.setText("lblWikipediaUrl"); lblWikipediaUrl.setMaximumSize(new java.awt.Dimension(250, 2147483647)); lblWikipediaUrl.setMinimumSize(new java.awt.Dimension(250, 22)); lblWikipediaUrl.setPreferredSize(new java.awt.Dimension(200, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(lblWikipediaUrl, gridBagConstraints); lblAmazonAuthorUrl.setText("lblAmazonAuthorUrl"); lblAmazonAuthorUrl.setMaximumSize(new java.awt.Dimension(250, 2147483647)); lblAmazonAuthorUrl.setMinimumSize(new java.awt.Dimension(250, 22)); lblAmazonAuthorUrl.setPreferredSize(new java.awt.Dimension(200, 22)); lblAmazonAuthorUrl.setRequestFocusEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(lblAmazonAuthorUrl, gridBagConstraints); lblAmazonIsbnUrl.setText("lblAmazonIsbnUrl"); lblAmazonIsbnUrl.setMaximumSize(new java.awt.Dimension(250, 2147483647)); lblAmazonIsbnUrl.setMinimumSize(new java.awt.Dimension(250, 22)); lblAmazonIsbnUrl.setPreferredSize(new java.awt.Dimension(200, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(lblAmazonIsbnUrl, gridBagConstraints); lblAmazonTitleUrl.setText("lblAmazonTitleUrl"); lblAmazonTitleUrl.setMaximumSize(new java.awt.Dimension(250, 2147483647)); lblAmazonTitleUrl.setMinimumSize(new java.awt.Dimension(250, 22)); lblAmazonTitleUrl.setPreferredSize(new java.awt.Dimension(200, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(lblAmazonTitleUrl, gridBagConstraints); lblGoodreadAuthorUrl.setText("lblGoodreadAuthorUrl"); lblGoodreadAuthorUrl.setMaximumSize(new java.awt.Dimension(250, 2147483647)); lblGoodreadAuthorUrl.setMinimumSize(new java.awt.Dimension(250, 22)); lblGoodreadAuthorUrl.setPreferredSize(new java.awt.Dimension(200, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(lblGoodreadAuthorUrl, gridBagConstraints); lblGoodreadIsbnUrl.setText("lblGoodreadIsbnUrl"); lblGoodreadIsbnUrl.setMaximumSize(new java.awt.Dimension(250, 2147483647)); lblGoodreadIsbnUrl.setMinimumSize(new java.awt.Dimension(250, 22)); lblGoodreadIsbnUrl.setPreferredSize(new java.awt.Dimension(200, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 6; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(lblGoodreadIsbnUrl, gridBagConstraints); lblGoodreadTitleUrl.setText("lblGoodreadTitleUrl"); lblGoodreadTitleUrl.setMaximumSize(new java.awt.Dimension(250, 2147483647)); lblGoodreadTitleUrl.setMinimumSize(new java.awt.Dimension(250, 22)); lblGoodreadTitleUrl.setPreferredSize(new java.awt.Dimension(200, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 7; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(lblGoodreadTitleUrl, gridBagConstraints); lblIsfdbAuthorUrl.setText("tlblsfdbAuthorUrl"); lblIsfdbAuthorUrl.setMaximumSize(new java.awt.Dimension(250, 2147483647)); lblIsfdbAuthorUrl.setMinimumSize(new java.awt.Dimension(250, 22)); lblIsfdbAuthorUrl.setPreferredSize(new java.awt.Dimension(200, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 10; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(lblIsfdbAuthorUrl, gridBagConstraints); lblLibrarythingAuthorUrl.setText("lblLibrarythingAuthorUrl"); lblLibrarythingAuthorUrl.setMaximumSize(new java.awt.Dimension(250, 2147483647)); lblLibrarythingAuthorUrl.setMinimumSize(new java.awt.Dimension(250, 22)); lblLibrarythingAuthorUrl.setPreferredSize(new java.awt.Dimension(200, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 11; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(lblLibrarythingAuthorUrl, gridBagConstraints); lblLibrarythingIsbnUrl.setText("lblLibrarythingIsbnUrl"); lblLibrarythingIsbnUrl.setMaximumSize(new java.awt.Dimension(250, 2147483647)); lblLibrarythingIsbnUrl.setMinimumSize(new java.awt.Dimension(250, 22)); lblLibrarythingIsbnUrl.setPreferredSize(new java.awt.Dimension(200, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 12; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(lblLibrarythingIsbnUrl, gridBagConstraints); lblLibrarythingTitleUrl.setText("lblLibrarythingTitleUrl"); lblLibrarythingTitleUrl.setMaximumSize(new java.awt.Dimension(250, 2147483647)); lblLibrarythingTitleUrl.setMinimumSize(new java.awt.Dimension(250, 22)); lblLibrarythingTitleUrl.setPreferredSize(new java.awt.Dimension(200, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 13; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(lblLibrarythingTitleUrl, gridBagConstraints); lblNogenerateExternalReferences.setText("lblNogenerateExternalReferences"); lblNogenerateExternalReferences.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); lblNogenerateExternalReferences.setVerifyInputWhenFocusTarget(false); lblNogenerateExternalReferences.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; pnlExternalUrlsOptions.add(lblNogenerateExternalReferences, gridBagConstraints); chkNogenerateExternalReferences.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent evt) { chkNogenerateExternalReferencesStateChanged(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlExternalUrlsOptions.add(chkNogenerateExternalReferences, gridBagConstraints); lblGoodreadReviewIsbnUrl.setText("lblGoodreadReviewIsbnUrl"); lblGoodreadReviewIsbnUrl.setMaximumSize(new java.awt.Dimension(250, 2147483647)); lblGoodreadReviewIsbnUrl.setMinimumSize(new java.awt.Dimension(250, 22)); lblGoodreadReviewIsbnUrl.setPreferredSize(new java.awt.Dimension(200, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 8; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlExternalUrlsOptions.add(lblGoodreadReviewIsbnUrl, gridBagConstraints); lblNewWindowForExternalReferences.setText("lblNewWindowForExternalReferences"); lblNewWindowForExternalReferences.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlExternalUrlsOptions.add(lblNewWindowForExternalReferences, gridBagConstraints); chkNewWindowForExternalReferences.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent evt) { chkNewWindowForExternalReferenceschkNogenerateexternallinksStateChanged(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlExternalUrlsOptions.add(chkNewWindowForExternalReferences, gridBagConstraints); tabOptionsTabs.addTab("pnlExternalUrlsOptions", pnlExternalUrlsOptions); pnlCustomCatalogs.addComponentListener(new java.awt.event.ComponentAdapter() { public void componentShown(java.awt.event.ComponentEvent evt) { pnlCustomCatalogsComponentShown(evt); } }); pnlCustomCatalogs.setLayout(new java.awt.GridBagLayout()); lblCustomDummy1.setText(" "); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCustomCatalogs.add(lblCustomDummy1, gridBagConstraints); lblFeaturedCatalogSavedSearchName.setText("lblFeaturedCatalogSavedSearchName"); lblFeaturedCatalogSavedSearchName.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCustomCatalogs.add(lblFeaturedCatalogSavedSearchName, gridBagConstraints); txtFeaturedCatalogSavedSearchName.setText("txtFeaturedCatalogSavedSearchName"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCustomCatalogs.add(txtFeaturedCatalogSavedSearchName, gridBagConstraints); lblFeaturedCatalogTitle.setText("lblFeaturedCatalogTitle"); lblFeaturedCatalogTitle.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCustomCatalogs.add(lblFeaturedCatalogTitle, gridBagConstraints); txtFeaturedCatalogTitle.setText("txtFeaturedCatalogTitle"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCustomCatalogs.add(txtFeaturedCatalogTitle, gridBagConstraints); lblCustomDummy2.setText(" "); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCustomCatalogs.add(lblCustomDummy2, gridBagConstraints); cmdAdd.setText("cmdAdd"); cmdAdd.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdAddCustomCatalogActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlCustomCatalogs.add(cmdAdd, gridBagConstraints); tblCustomCatalogs.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N tblCustomCatalogs.setModel(getTblCustomCatalogsModel()); tblCustomCatalogs.setColumnSelectionAllowed(true); tblCustomCatalogs.setRowHeight(30); tblCustomCatalogs.setRowMargin(3); addDeleteButtonToCustomCatalogsTable(); scrCustomCatalogs.setViewportView(tblCustomCatalogs); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; gridBagConstraints.gridwidth = 4; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; pnlCustomCatalogs.add(scrCustomCatalogs, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; pnlCustomCatalogs.add(pnlCustomCatalogsTableButtons, gridBagConstraints); lblNewWindowForCustomExternalLinks.setText("lblNewWindowForCustomExternalLinks"); lblNewWindowForCustomExternalLinks.setToolTipText(""); lblNewWindowForCustomExternalLinks.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCustomCatalogs.add(lblNewWindowForCustomExternalLinks, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlCustomCatalogs.add(chkNewWindowForCustomExternalLinks, gridBagConstraints); tabOptionsTabs.addTab("pnlCustomCatalogs", pnlCustomCatalogs); pnlSearchOptions.addComponentListener(new java.awt.event.ComponentAdapter() { public void componentShown(java.awt.event.ComponentEvent evt) { pnlSearchComponentShown(evt); } }); pnlSearchOptions.setLayout(new java.awt.GridBagLayout()); txtMaxKeywords.setText("txtMaxKeywords"); txtMaxKeywords.setMaximumSize(new java.awt.Dimension(150, 22)); txtMaxKeywords.setMinimumSize(new java.awt.Dimension(100, 22)); txtMaxKeywords.setName(""); // NOI18N txtMaxKeywords.setPreferredSize(new java.awt.Dimension(80, 20)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START; pnlSearchOptions.add(txtMaxKeywords, gridBagConstraints); lblMaxKeywords.setText("lblMaxKeywords"); lblMaxKeywords.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlSearchOptions.add(lblMaxKeywords, gridBagConstraints); lblIndexComments.setText("lblIndexComments"); lblIndexComments.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlSearchOptions.add(lblIndexComments, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 7; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlSearchOptions.add(chkIndexComments, gridBagConstraints); lblIndexFilterAlgorithm.setText("lblIndexFilterAlgorithm"); lblIndexFilterAlgorithm.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 9; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 5, 3, 5); pnlSearchOptions.add(lblIndexFilterAlgorithm, gridBagConstraints); cboIndexFilterAlgorithm.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); cboIndexFilterAlgorithm.setMinimumSize(new java.awt.Dimension(200, 26)); cboIndexFilterAlgorithm.setPreferredSize(new java.awt.Dimension(150, 20)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 9; gridBagConstraints.gridwidth = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 5); pnlSearchOptions.add(cboIndexFilterAlgorithm, gridBagConstraints); lblGenerateIndex.setText("lblGenerateIndex"); lblGenerateIndex.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; pnlSearchOptions.add(lblGenerateIndex, gridBagConstraints); chkGenerateIndex.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { chkGenerateIndexActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlSearchOptions.add(chkGenerateIndex, gridBagConstraints); lblSearchDeprecated.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); lblSearchDeprecated.setText("lblSearchDeprecated"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 2; gridBagConstraints.gridheight = 4; pnlSearchOptions.add(lblSearchDeprecated, gridBagConstraints); tabOptionsTabs.addTab("pnlSearchOptions", pnlSearchOptions); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.gridwidth = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(10, 5, 10, 5); pnlMain.add(tabOptionsTabs, gridBagConstraints); tabOptionsTabs.getAccessibleContext().setAccessibleName("Catalog Structure"); pnlBottom.setLayout(new java.awt.GridBagLayout()); lblBottom0.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N lblBottom0.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); lblBottom0.setText("lblBottom0"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBottom.add(lblBottom0, gridBagConstraints); cmdCancel.setText("cmdCancel"); cmdCancel.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdCancelActionPerformed(evt); } }); pnlButtons.add(cmdCancel); cmdReset.setText("cmdReset"); cmdReset.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdResetActionPerformed(evt); } }); pnlButtons.add(cmdReset); cmdSave.setText("cmdSave"); cmdSave.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdSaveActionPerformed(evt); } }); pnlButtons.add(cmdSave); cmdGenerate.setText("cmdGenerate"); cmdGenerate.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdGenerateActionPerformed(evt); } }); pnlButtons.add(cmdGenerate); cmdHelp.setText("cmdHelp"); cmdHelp.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdHelpActionPerformed(evt); } }); pnlButtons.add(cmdHelp); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); pnlBottom.add(pnlButtons, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.gridwidth = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); pnlMain.add(pnlBottom, gridBagConstraints); pnlTitle.setLayout(new java.awt.GridBagLayout()); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; pnlMain.add(pnlTitle, gridBagConstraints); lblProfile.setFont(new java.awt.Font("Tahoma", 1, 13)); // NOI18N lblProfile.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); lblProfile.setText("lblProfile"); lblProfile.setVerticalAlignment(javax.swing.SwingConstants.TOP); lblProfile.setRequestFocusEnabled(false); lblProfile.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { handleMouseClickOnLabel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(5, 10, 0, 5); pnlMain.add(lblProfile, gridBagConstraints); getContentPane().add(pnlMain, java.awt.BorderLayout.CENTER); mnuFile.setText("mnuFile"); mnuFileSave.setText("mnuFileSave"); mnuFileSave.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuFileSaveActionPerformed(evt); } }); mnuFile.add(mnuFileSave); mnuFileGenerateCatalogs.setText("mnuFileGenerateCatalogs"); mnuFileGenerateCatalogs.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuFileGenerateCatalogsActionPerformed(evt); } }); mnuFile.add(mnuFileGenerateCatalogs); mnuFileExit.setText("mnuFileExit"); mnuFileExit.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuFileExitActionPerformed(evt); } }); mnuFile.add(mnuFileExit); jMenuBar1.add(mnuFile); mnuProfiles.setText("mnuProfiles"); jMenuBar1.add(mnuProfiles); mnuTools.setText("mnuTools"); mnuToolsprocessEpubMetadataOfAllBooks.setText("mnuToolsprocessEpubMetadataOfAllBooks"); mnuToolsprocessEpubMetadataOfAllBooks.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuToolsprocessEpubMetadataOfAllBooksActionPerformed(evt); } }); mnuTools.add(mnuToolsprocessEpubMetadataOfAllBooks); mnuToolsResetSecurityCache.setText("mnuToolsResetSecurityCache"); mnuToolsResetSecurityCache.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuToolsResetSecurityCacheActionPerformed(evt); } }); mnuTools.add(mnuToolsResetSecurityCache); mnuToolsConfigLog.setText("mnuToolsConfigLog"); mnuToolsConfigLog.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuToolsConfigLogActionPerformed(evt); } }); mnuTools.add(mnuToolsConfigLog); mnuToolsClearLog.setText("mnuToolsClearLog"); mnuToolsClearLog.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuToolsClearLogActionPerformed(evt); } }); mnuTools.add(mnuToolsClearLog); mnuToolsOpenLog.setText("mnuToolsOpenLog"); mnuToolsOpenLog.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuToolsOpenLogActionPerformed(evt); } }); mnuTools.add(mnuToolsOpenLog); mnuToolsOpenOldLog.setText("mnuToolsOpenOldLog"); mnuToolsOpenOldLog.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuToolsOpenOldLogActionPerformed(evt); } }); mnuTools.add(mnuToolsOpenOldLog); mnuToolsOpenSyncLog.setText("mnuToolsOpenSyncLog"); mnuToolsOpenSyncLog.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuToolsOpenSyncLogActionPerformed(evt); } }); mnuTools.add(mnuToolsOpenSyncLog); mnuToolsOpenConfig.setText("mnuToolsOpenConfig"); mnuToolsOpenConfig.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuToolsOpenConfigActionPerformed(evt); } }); mnuTools.add(mnuToolsOpenConfig); jMenuBar1.add(mnuTools); mnuHelp.setText("mnuHelp"); mnuHelpDonate.setText("mnuHelpDonate"); mnuHelpDonate.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuHelpDonateActionPerformed(evt); } }); mnuHelp.add(mnuHelpDonate); mnuHelpHome.setText("mnuHelpHome"); mnuHelpHome.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuHelpHomeActionPerformed(evt); } }); mnuHelp.add(mnuHelpHome); mnuHelpOpenForum.setText("mnuHelpOpenForum"); mnuHelpOpenForum.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuHelpOpenForumActionPerformed(evt); } }); mnuHelp.add(mnuHelpOpenForum); mnuHelpOpenIssues.setText("mnuHelpOpenIssues"); mnuHelpOpenIssues.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuHelpOpenIssuesActionPerformed(evt); } }); mnuHelp.add(mnuHelpOpenIssues); mnuHelpUserGuide.setText("mnuHelpUserGuide"); mnuHelpUserGuide.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuHelpUserGuideActionPerformed(evt); } }); mnuHelp.add(mnuHelpUserGuide); mnuHelpDevelopersGuide.setText("mnuHelpDevelopersGuide"); mnuHelpDevelopersGuide.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuHelpDevelopersGuideActionPerformed(evt); } }); mnuHelp.add(mnuHelpDevelopersGuide); mnuHelpOpenLocalize.setText("mnuHelpOpenLocalize"); mnuHelpOpenLocalize.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuHelpOpenLocalizeActionPerformed(evt); } }); mnuHelp.add(mnuHelpOpenLocalize); mnuHelpOpenCustomize.setText("mnuHelpOpenCustomize"); mnuHelpOpenCustomize.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuHelpOpenCustomizeActionPerformed(evt); } }); mnuHelp.add(mnuHelpOpenCustomize); mnuHelpAbout.setText("mnuHelpAbout"); mnuHelpAbout.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mnuHelpAboutActionPerformed(evt); } }); mnuHelp.add(mnuHelpAbout); jMenuBar1.add(mnuHelp); setJMenuBar(jMenuBar1); pack(); }// </editor-fold>//GEN-END:initComponents private void lblDeviceNASMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblDeviceNASMouseClicked setDeviceSpecificMode(DeviceMode.Nas); }//GEN-LAST:event_lblDeviceNASMouseClicked private void chkBrowseByCoverActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkBrowseByCoverActionPerformed computeBrowseByCoverWithoutSplitVisibility(); }//GEN-LAST:event_chkBrowseByCoverActionPerformed private void txtDatabaseFolderActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtDatabaseFolderActionPerformed setDatabaseFolder(txtDatabaseFolder.getText()); }//GEN-LAST:event_txtDatabaseFolderActionPerformed private void txtTargetFolderActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtTargetFolderActionPerformed setTargetFolder(txtTargetFolder.getText()); }//GEN-LAST:event_txtTargetFolderActionPerformed private void mnuToolsprocessEpubMetadataOfAllBooksActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuToolsprocessEpubMetadataOfAllBooksActionPerformed processEpubMetadataOfAllBooks(); }//GEN-LAST:event_mnuToolsprocessEpubMetadataOfAllBooksActionPerformed private void chkNoCoverResizeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkNoCoverResizeActionPerformed // lblCoverHeight.setVisible(!chkNoCoverResize.isSelected()); lblCoverHeight.setVisible(true); // txtCoverHeight.setVisible(!chkNoCoverResize.isSelected()); txtCoverHeight.setVisible(true); }//GEN-LAST:event_chkNoCoverResizeActionPerformed private void chkNoThumbnailGenerateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkNoThumbnailGenerateActionPerformed // lblThumbnailheight.setVisible(!chkNoThumbnailGenerate.isSelected()); // lblThumbnailheight.setVisible(true); // txtThumbnailheight.setVisible(!chkNoThumbnailGenerate.isSelected()); // txtThumbnailheight.setVisible(true); // We cannot use a thumbnail as a cover if they are not being generated! if (chkNoThumbnailGenerate.isSelected() == true) { chkUseThumbnailAsCover.setSelected(false); } lblUseThumbnailAsCover.setEnabled(! chkNoThumbnailGenerate.isSelected()); chkUseThumbnailAsCover.setEnabled(lblUseThumbnailAsCover.isEnabled()); }//GEN-LAST:event_chkNoThumbnailGenerateActionPerformed private void cmdAmazonUrlResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdAmazonUrlResetActionPerformed txtAmazonAuthorUrl.setText((new DefaultConfigurationSettings()).getAmazonAuthorUrl()); }//GEN-LAST:event_cmdAmazonUrlResetActionPerformed private void cmdAmazonIsbnResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdAmazonIsbnResetActionPerformed txtAmazonIsbnUrl.setText((new DefaultConfigurationSettings()).getAmazonIsbnUrl()); }//GEN-LAST:event_cmdAmazonIsbnResetActionPerformed private void cmdAmazonTitleResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdAmazonTitleResetActionPerformed txtAmazonTitleUrl.setText((new DefaultConfigurationSettings()).getAmazonTitleUrl()); }//GEN-LAST:event_cmdAmazonTitleResetActionPerformed private void cmdGoodreadAuthorResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGoodreadAuthorResetActionPerformed txtGoodreadAuthorUrl.setText((new DefaultConfigurationSettings()).getGoodreadAuthorUrl()); }//GEN-LAST:event_cmdGoodreadAuthorResetActionPerformed private void cmdGoodreadIsbnResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGoodreadIsbnResetActionPerformed txtGoodreadIsbnUrl.setText((new DefaultConfigurationSettings()).getGoodreadIsbnUrl()); }//GEN-LAST:event_cmdGoodreadIsbnResetActionPerformed private void cmdGoodreadTitleResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGoodreadTitleResetActionPerformed txtGoodreadTitleUrl.setText((new DefaultConfigurationSettings()).getGoodreadTitleUrl()); }//GEN-LAST:event_cmdGoodreadTitleResetActionPerformed private void cmdGoodreadReviewResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGoodreadReviewResetActionPerformed txtGoodreadReviewIsbnUrl.setText((new DefaultConfigurationSettings()).getGoodreadReviewIsbnUrl()); }//GEN-LAST:event_cmdGoodreadReviewResetActionPerformed private void cmdIsfdbAuthorResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdIsfdbAuthorResetActionPerformed txtIsfdbAuthorUrl.setText((new DefaultConfigurationSettings()).getIsfdbAuthorUrl()); }//GEN-LAST:event_cmdIsfdbAuthorResetActionPerformed private void cmdLibrarythingAuthorResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdLibrarythingAuthorResetActionPerformed txtLibrarythingAuthorUrl.setText((new DefaultConfigurationSettings()).getLibrarythingAuthorUrl()); }//GEN-LAST:event_cmdLibrarythingAuthorResetActionPerformed private void cmdLibrarythingIsbnResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdLibrarythingIsbnResetActionPerformed txtLibrarythingIsbnUrl.setText((new DefaultConfigurationSettings()).getLibrarythingIsbnUrl()); }//GEN-LAST:event_cmdLibrarythingIsbnResetActionPerformed private void cmdLibrarythingTitleResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdLibrarythingTitleResetActionPerformed txtLibrarythingTitleUrl.setText((new DefaultConfigurationSettings()).getLibrarythingTitleUrl()); }//GEN-LAST:event_cmdLibrarythingTitleResetActionPerformed private void cmdWikipediaUrlResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdWikipediaUrlResetActionPerformed txtWikipediaUrl.setText((new DefaultConfigurationSettings()).getWikipediaUrl()); }//GEN-LAST:event_cmdWikipediaUrlResetActionPerformed private void chkGenerateIndexActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkGenerateIndexActionPerformed actOnGenerateIndexActionPerformed(); }//GEN-LAST:event_chkGenerateIndexActionPerformed private void cmdAddCustomCatalogActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdAddCustomCatalogActionPerformed addCustomCatalog(); }//GEN-LAST:event_cmdAddCustomCatalogActionPerformed private void chkNogenerateExternalLinksStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_chkNogenerateExternalLinksStateChanged setExternalLinksEnabledState(); }//GEN-LAST:event_chkNogenerateExternalLinksStateChanged /** * Reset the encrypted files cache as long as the user confirms that this is * really what thery intended (to protect against clicking wrong menu optiob) * @param evt */ private void mnuToolsResetSecurityCacheActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuToolsResetSecurityCacheActionPerformed if (JOptionPane.YES_OPTION != JOptionPane.showConfirmDialog(this, Localization.Main.getText("gui.confirm.tools.resetEncrypted"), "", JOptionPane.YES_NO_OPTION)) return; logger.info(Localization.Main.getText("gui.menu.tools.resetEncrypted")); Random generator = new Random(System.currentTimeMillis()); String securityCode = Integer.toHexString(generator.nextInt()); currentProfile.setSecurityCode(securityCode); }//GEN-LAST:event_mnuToolsResetSecurityCacheActionPerformed private void mnuToolsClearLogActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuToolsClearLogActionPerformed debugClearLogFile(); }//GEN-LAST:event_mnuToolsClearLogActionPerformed private void mnuToolsConfigLogActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuToolsConfigLogActionPerformed configLogFile(); }//GEN-LAST:event_mnuToolsConfigLogActionPerformed private void mnuToolsOpenLogActionPerformed(java.awt.event.ActionEvent evt) { debugShowLogFile(Constants.LOGFILE_NAME); } private void mnuToolsOpenSyncLogActionPerformed(java.awt.event.ActionEvent evt) { File f = new File(ConfigurationManager.getConfigurationDirectory() + "/" + Constants.LOGFILE_FOLDER + "/" + Constants.SYNCFILE_NAME); if (f.exists()) { logger.info(Localization.Main.getText("gui.menu.tools.logFile") + ": " + f.getPath()); debugShowFile(f); } } private void mnuToolsOpenConfigActionPerformed(java.awt.event.ActionEvent evt) { debugShowSupportFolder(); } private void mnuHelpOpenForumActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuHelpOpenForumActionPerformed logger.info(Localization.Main.getText("gui.menu.supportForum") + ": " + Constants.FORUM_URL); BareBonesBrowserLaunch.openURL(Constants.FORUM_URL); }//GEN-LAST:event_mnuHelpOpenForumActionPerformed private void mnuHelpOpenIssuesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuHelpOpenIssuesActionPerformed logger.info(Localization.Main.getText("gui.menu.issueRegister") + ": " + Constants.ISSUES_URL); BareBonesBrowserLaunch.openURL(Constants.ISSUES_URL); }//GEN-LAST:event_mnuHelpOpenIssuesActionPerformed private void mnuHelpDevelopersGuideActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuHelpDevelopersGuideActionPerformed logger.info(Localization.Main.getText("gui.menu.developerGuide") + ": " + Constants.DEVELOPERGUIDE_URL); BareBonesBrowserLaunch.openURL(Constants.DEVELOPERGUIDE_URL); }//GEN-LAST:event_mnuHelpDevelopersGuideActionPerformed private void mnuHelpUserGuideActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuHelpUserGuideActionPerformed logger.info(Localization.Main.getText("gui.menu.userGuide") + ": " + Constants.USERGUIDE_URL); BareBonesBrowserLaunch.openURL(Constants.USERGUIDE_URL); }//GEN-LAST:event_mnuHelpUserGuideActionPerformed private void mnuHelpHomeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuHelpHomeActionPerformed logger.info(Localization.Main.getText("gui.menu.help") + ": " + Constants.HOME_URL); BareBonesBrowserLaunch.openURL(Constants.HOME_URL); }//GEN-LAST:event_mnuHelpHomeActionPerformed private void cmdHelpActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdHelpActionPerforme logger.info(Localization.Main.getText("gui.menu.help") + ": " + tabHelpUrl); BareBonesBrowserLaunch.openURL(tabHelpUrl); }//GEN-LAST:event_cmdHelpActionPerforme private void pnlMainOptionsComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlMainOptionsComponentShown tabHelpUrl = Constants.HELP_URL_MAIN_OPTIONS; }//GEN-LAST:event_pnlMainOptionsComponentShown private void pnlCatalogStructureComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlCatalogStructureComponentShown tabHelpUrl = Constants.HELP_URL_CATALOGSTRUCTURE; }//GEN-LAST:event_pnlCatalogStructureComponentShown private void pnlBookDetailsComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlBookDetailsComponentShown tabHelpUrl = Constants.HELP_URL_BOOKDETAILS; }//GEN-LAST:event_pnlBookDetailsComponentShown private void pnlAdvancedOptionsComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlAdvancedOptionsComponentShown tabHelpUrl = Constants.HELP_URL_ADVANCED; }//GEN-LAST:event_pnlAdvancedOptionsComponentShown private void pnlExternalUrlsOptionsComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlExternalUrlsOptionsComponentShown tabHelpUrl = Constants.HELP_URL_EXTERNALLINKS; }//GEN-LAST:event_pnlExternalUrlsOptionsComponentShown private void pnlCustomCatalogsComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlCustomCatalogsComponentShown tabHelpUrl = Constants.HELP_URL_CUSTOMCATALOGS; }//GEN-LAST:event_pnlCustomCatalogsComponentShown private void mnuHelpOpenLocalizeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuHelpOpenLocalizeActionPerformed logger.info(Localization.Main.getText("gui.menu.help.localize") + ": " + Constants.LOCALIZE_URL); BareBonesBrowserLaunch.openURL(Constants.LOCALIZE_URL); }//GEN-LAST:event_mnuHelpOpenLocalizeActionPerformed private void mnuHelpOpenCustomizeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuHelpOpenCustomizeActionPerformed logger.info(Localization.Main.getText("gui.menu.help.customize") + ": " + Constants.CUSTOMIZE_URL); BareBonesBrowserLaunch.openURL(Constants.CUSTOMIZE_URL); }//GEN-LAST:event_mnuHelpOpenCustomizeActionPerformed private void checkDownloads(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkDownloads checkDownloads(); }//GEN-LAST:event_checkDownloads private void CheckOnlyCatalogAllowed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CheckOnlyCatalogAllowed checkOnlyCatalogAllowed(); }//GEN-LAST:event_CheckOnlyCatalogAllowed private void chkZipCatalogActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkZipCatalogActionPerformed boolean genOptions = !chkNogenerateopds.isSelected() && !chkNogeneratehtml.isSelected(); lblZipOmitXml.setEnabled(chkZipCatalog.isSelected() && genOptions); chkZipOmitXml.setEnabled(lblZipOmitXml.isEnabled() && genOptions); }//GEN-LAST:event_chkZipCatalogActionPerformed private void txtBooksinrecentFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtBooksinrecentFocusLost guiField g = getGuiField(lblBooksinrecent); assert g != null; int maximum = g.getMaximum(); if (getValue(txtBooksinrecent) > maximum) { String message = Localization.Main.getText("error.recentTooLarge", maximum); JOptionPane.showMessageDialog(this, message, "", JOptionPane.ERROR_MESSAGE); txtBooksinrecent.setText("" + maximum); } }//GEN-LAST:event_txtBooksinrecentFocusLost private void chkNogeneratecrosslinksActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkNogeneratecrosslinksActionPerformed checkCrossReferencesEnabled(); }//GEN-LAST:event_chkNogeneratecrosslinksActionPerformed private void chkNogeneratecrosslinksStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_chkNogeneratecrosslinksStateChanged checkCrossReferencesEnabled(); }//GEN-LAST:event_chkNogeneratecrosslinksStateChanged private void txtSplittagsonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtSplittagsonActionPerformed checkSplitTagsOn(true); }//GEN-LAST:event_txtSplittagsonActionPerformed private void txtSplittagsonFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtSplittagsonFocusLost checkSplitTagsOn(true); }//GEN-LAST:event_txtSplittagsonFocusLost private void pnlSearchComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlSearchComponentShown tabHelpUrl = Constants.HELP_URL_SEARCH; }//GEN-LAST:event_pnlSearchComponentShown private void mnuToolsOpenOldLogActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuToolsOpenOldLogActionPerformed debugShowLogFolder(); }//GEN-LAST:event_mnuToolsOpenOldLogActionPerformed private void chkIncludeAuthorInBookDetailsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkIncludeAuthorInBookDetailsActionPerformed checkAuthorsIncluded(); }//GEN-LAST:event_chkIncludeAuthorInBookDetailsActionPerformed private void chkNewWindowForExternalReferenceschkNogenerateexternallinksStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_chkNewWindowForExternalReferenceschkNogenerateexternallinksStateChanged // TODO add your handling code here: }//GEN-LAST:event_chkNewWindowForExternalReferenceschkNogenerateexternallinksStateChanged private void chkNogenerateExternalReferencesStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_chkNogenerateExternalReferencesStateChanged // TODO add your handling code here: }//GEN-LAST:event_chkNogenerateExternalReferencesStateChanged private void cmdSetTargetFolderActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_cmdSetTargetFolderActionPerformed showSetTargetFolderDialog(); }// GEN-LAST:event_cmdSetTargetFolderActionPerformed private void cboLangVetoableChange(java.beans.PropertyChangeEvent evt) throws java.beans.PropertyVetoException {// GEN-FIRST:event_cboLangVetoableChange changeLanguage(); }// GEN-LAST:event_cboLangVetoableChange private void cboLangActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_cboLangActionPerformed changeLanguage(); }// GEN-LAST:event_cboLangActionPerformed private void chkDontsplittagsActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_chkDontsplittagsActionPerformed checkSplitTagsOn(true); }// GEN-LAST:event_chkDontsplittagsActionPerformed private void cmdResetActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_cmdResetActionPerformed resetValuesToProfile(); }// GEN-LAST:event_cmdResetActionPerformed private void mnuHelpAboutActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_mnuHelpAboutActionPerformed about(); }// GEN-LAST:event_mnuHelpAboutActionPerformed private void mnuHelpDonateActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_mnuHelpDonateActionPerformed donate(); }// GEN-LAST:event_mnuHelpDonateActionPerformed private void mnuFileSaveActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_mnuFileSaveActionPerformed saveConfiguration(); }// GEN-LAST:event_mnuFileSaveActionPerformed private void mnuFileExitActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_mnuFileExitActionPerformed exitProgram(); }// GEN-LAST:event_mnuFileExitActionPerformed private void mnuFileGenerateCatalogsActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_mnuFileGenerateCatalogsActionPerformed generateCatalog(); }// GEN-LAST:event_mnuFileGenerateCatalogsActionPerformed private void lblDeviceNookMouseClicked(java.awt.event.MouseEvent evt) {// GEN-FIRST:event_lblDeviceNookMouseClicked setDeviceSpecificMode(DeviceMode.Nook); }// GEN-LAST:event_lblDeviceNookMouseClicked private void lblDeviceDropboxMouseClicked(java.awt.event.MouseEvent evt) {// GEN-FIRST:event_lblDeviceIphoneMouseClicked setDeviceSpecificMode(DeviceMode.Default); }// GEN-LAST:event_lblDeviceIphoneMouseClicked private void lblDonateMouseClicked(java.awt.event.MouseEvent evt) {// GEN-FIRST:event_jLabel19MouseClicked donate(); }// GEN-LAST:event_lblDonateMouseClicked private void handleMouseClickOnLabel(java.awt.event.MouseEvent evt) {// GEN-FIRST:event_handleMouseClickOnLabel popupExplanation((JLabel) evt.getSource()); }// GEN-LAST:event_handleMouseClickOnLabel private void cmdGenerateActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_cmdGenerateActionPerformed generateCatalog(); }// GEN-LAST:event_cmdGenerateActionPerformed private void cmdSaveActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_cmdSaveActionPerformed saveConfiguration(); }// GEN-LAST:event_cmdSaveActionPerformed private void cmdCancelActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_cmdCancelActionPerformed exitProgram(); }// GEN-LAST:event_cmdCancelActionPerformed private void cmdSetDatabaseFolderActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_cmdSetDatabaseFolderActionPerformed showSetDatabaseFolderDialog(); }// GEN-LAST:event_cmdSetDatabaseFolderActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JComboBox cboIndexFilterAlgorithm; private javax.swing.JComboBox cboLang; private javax.swing.JCheckBox chkBookDetailsCustomFieldsAlways; private javax.swing.JCheckBox chkBrowseByCover; private javax.swing.JCheckBox chkBrowseByCoverWithoutSplit; private javax.swing.JCheckBox chkCopyToDatabaseFolder; private javax.swing.JCheckBox chkCryptFilenames; private javax.swing.JCheckBox chkDisableOptimizer; private javax.swing.JCheckBox chkDisplayAuthorSort; private javax.swing.JCheckBox chkDisplaySeriesSort; private javax.swing.JCheckBox chkDisplayTitleSort; private javax.swing.JCheckBox chkDontsplittags; private javax.swing.JCheckBox chkExternalIcons; private javax.swing.JCheckBox chkExternalImages; private javax.swing.JCheckBox chkGenerateIndex; private javax.swing.JCheckBox chkIncludeAddedInBookDetails; private javax.swing.JCheckBox chkIncludeAuthorCrossReferences; private javax.swing.JCheckBox chkIncludeAuthorInBookDetails; private javax.swing.JCheckBox chkIncludeCoversInCatalog; private javax.swing.JCheckBox chkIncludeModifiedInBookDetails; private javax.swing.JCheckBox chkIncludeOnlyOneFile; private javax.swing.JCheckBox chkIncludePublishedInBookDetails; private javax.swing.JCheckBox chkIncludePublisherInBookDetails; private javax.swing.JCheckBox chkIncludeRatingCrossReferences; private javax.swing.JCheckBox chkIncludeRatingInBookDetails; private javax.swing.JCheckBox chkIncludeSerieCrossReferences; private javax.swing.JCheckBox chkIncludeSeriesInBookDetails; private javax.swing.JCheckBox chkIncludeSizeOfDownloads; private javax.swing.JCheckBox chkIncludeTagCrossReferences; private javax.swing.JCheckBox chkIncludeTagsInBookDetails; private javax.swing.JCheckBox chkIncludeTitleInBookDetails; private javax.swing.JCheckBox chkIncludeemptybooks; private javax.swing.JCheckBox chkIndexComments; private javax.swing.JCheckBox chkLanguageAsTag; private javax.swing.JCheckBox chkNewWindowForCustomExternalLinks; private javax.swing.JCheckBox chkNewWindowForExternalReferences; private javax.swing.JCheckBox chkNoCoverResize; private javax.swing.JCheckBox chkNoGenerateAuthors; private javax.swing.JCheckBox chkNoGenerateSeries; private javax.swing.JCheckBox chkNoGenerateTags; private javax.swing.JCheckBox chkNoIncludeAboutLink; private javax.swing.JCheckBox chkNoShowSeries; private javax.swing.JCheckBox chkNoThumbnailGenerate; private javax.swing.JCheckBox chkNogenerateExternalReferences; private javax.swing.JCheckBox chkNogenerateallbooks; private javax.swing.JCheckBox chkNogeneratecrosslinks; private javax.swing.JCheckBox chkNogeneratehtml; private javax.swing.JCheckBox chkNogeneratehtmlfiles; private javax.swing.JCheckBox chkNogenerateopds; private javax.swing.JCheckBox chkNogenerateopdsfiles; private javax.swing.JCheckBox chkNogenerateratings; private javax.swing.JCheckBox chkNogeneraterecent; private javax.swing.JCheckBox chkOnlyCatalogAtTarget; private javax.swing.JCheckBox chkOrderAllBooksBySeries; private javax.swing.JCheckBox chkPublishedDateAsYear; private javax.swing.JCheckBox chkReprocessEpubMetadata; private javax.swing.JCheckBox chkSingleBookCrossReferences; private javax.swing.JCheckBox chkSortSeriesUsingLibrarySort; private javax.swing.JCheckBox chkSortTagsByAuthor; private javax.swing.JCheckBox chkSortUsingAuthorSort; private javax.swing.JCheckBox chkSortUsingTitleSort; private javax.swing.JCheckBox chkSplitByAuthorInitialGoToBooks; private javax.swing.JCheckBox chkSupressRatings; private javax.swing.JCheckBox chkTagBookNoSplit; private javax.swing.JCheckBox chkUseThumbnailAsCover; private javax.swing.JCheckBox chkZipCatalog; private javax.swing.JCheckBox chkZipOmitXml; private javax.swing.JCheckBox chkZipTrookCatalog; private javax.swing.JButton cmdAdd; private javax.swing.JButton cmdAmazonIsbnReset; private javax.swing.JButton cmdAmazonTitleReset; private javax.swing.JButton cmdAmazonUrlReset; private javax.swing.JButton cmdCancel; private javax.swing.JButton cmdGenerate; private javax.swing.JButton cmdGoodreadAuthorReset; private javax.swing.JButton cmdGoodreadIsbnReset; private javax.swing.JButton cmdGoodreadReviewReset; private javax.swing.JButton cmdGoodreadTitleReset; private javax.swing.JButton cmdHelp; private javax.swing.JButton cmdIsfdbAuthorReset; private javax.swing.JButton cmdLibrarythingAuthorReset; private javax.swing.JButton cmdLibrarythingIsbnReset; private javax.swing.JButton cmdLibrarythingTitleReset; private javax.swing.JButton cmdReset; private javax.swing.JButton cmdSave; private javax.swing.JButton cmdSetDatabaseFolder; private javax.swing.JButton cmdSetFavicon; private javax.swing.JButton cmdSetTargetFolder; private javax.swing.JButton cmdWikipediaUrlReset; private javax.swing.JMenuBar jMenuBar1; private javax.swing.JTextField lblAmazonAuthorUrl; private javax.swing.JTextField lblAmazonIsbnUrl; private javax.swing.JTextField lblAmazonTitleUrl; private javax.swing.JLabel lblBookDetailsCustomFields; private javax.swing.JLabel lblBooksinrecent; private javax.swing.JLabel lblBottom0; private javax.swing.JLabel lblBrowseByCover; private javax.swing.JLabel lblBrowseByCoverWithoutSplit; private javax.swing.JLabel lblCatalogCustomColumns; private javax.swing.JLabel lblCatalogFilter; private javax.swing.JLabel lblCatalogFolder; private javax.swing.JLabel lblCatalogTitle; private javax.swing.JLabel lblCopyToDatabaseFolder; private javax.swing.JLabel lblCoverHeight; private javax.swing.JLabel lblCryptFilenames; private javax.swing.JLabel lblCustomDummy1; private javax.swing.JLabel lblCustomDummy2; private javax.swing.JLabel lblDatabaseFolder; private javax.swing.JLabel lblDeviceDropbox; private javax.swing.JLabel lblDeviceMode; private javax.swing.JLabel lblDeviceNAS; private javax.swing.JLabel lblDeviceNook; private javax.swing.JLabel lblDisableOptimizer; private javax.swing.JLabel lblDisplayAuthorSort; private javax.swing.JLabel lblDisplaySeriesSort; private javax.swing.JLabel lblDisplayTitleSort; private javax.swing.JLabel lblDonate; private javax.swing.JLabel lblExternalIcons; private javax.swing.JLabel lblFavicon; private javax.swing.JLabel lblFeaturedCatalogSavedSearchName; private javax.swing.JLabel lblFeaturedCatalogTitle; private javax.swing.JLabel lblGenerateIndex; private javax.swing.JTextField lblGoodreadAuthorUrl; private javax.swing.JTextField lblGoodreadIsbnUrl; private javax.swing.JTextField lblGoodreadReviewIsbnUrl; private javax.swing.JTextField lblGoodreadTitleUrl; private javax.swing.JLabel lblIncludeAddedInBookDetails; private javax.swing.JLabel lblIncludeAuthorCrossReferences; private javax.swing.JLabel lblIncludeAuthorInBookDetails; private javax.swing.JLabel lblIncludeCoversInCatalog; private javax.swing.JLabel lblIncludeModifiedInBookDetails; private javax.swing.JLabel lblIncludeOnlyOneFile; private javax.swing.JLabel lblIncludePublishedInBookDetails; private javax.swing.JLabel lblIncludePublisherInBookDetails; private javax.swing.JLabel lblIncludeRatingCrossReferences; private javax.swing.JLabel lblIncludeRatingInBookDetails; private javax.swing.JLabel lblIncludeSerieCrossReferences; private javax.swing.JLabel lblIncludeSeriesInBookDetails; private javax.swing.JLabel lblIncludeSizeOfDownloads; private javax.swing.JLabel lblIncludeTagCrossReferences; private javax.swing.JLabel lblIncludeTagsInBookDetails; private javax.swing.JLabel lblIncludeTitleInBookDetails; private javax.swing.JLabel lblIncludeemptybooks; private javax.swing.JLabel lblIncludeformat; private javax.swing.JLabel lblIndexComments; private javax.swing.JLabel lblIndexFilterAlgorithm; private javax.swing.JTextField lblIsfdbAuthorUrl; private javax.swing.JLabel lblLang; private javax.swing.JLabel lblLanguageAsTag; private javax.swing.JTextField lblLibrarythingAuthorUrl; private javax.swing.JTextField lblLibrarythingIsbnUrl; private javax.swing.JTextField lblLibrarythingTitleUrl; private javax.swing.JLabel lblMaxBookSummaryLength; private javax.swing.JLabel lblMaxKeywords; private javax.swing.JLabel lblMaxSplitLevels; private javax.swing.JLabel lblMaxbeforepaginate; private javax.swing.JLabel lblMaxbeforesplit; private javax.swing.JLabel lblMaxsummarylength; private javax.swing.JLabel lblMinBooksToMakeDeepLevel; private javax.swing.JLabel lblNewWindowForCustomExternalLinks; private javax.swing.JLabel lblNewWindowForExternalReferences; private javax.swing.JLabel lblNoCoverResize; private javax.swing.JLabel lblNoGenerateAuthors; private javax.swing.JLabel lblNoGenerateSeries; private javax.swing.JLabel lblNoGenerateTags; private javax.swing.JLabel lblNoIncludeAboutLink; private javax.swing.JLabel lblNoShowSeries; private javax.swing.JLabel lblNoThumbnailGenerate; private javax.swing.JLabel lblNogenerateExternalReferences; private javax.swing.JLabel lblNogenerateallbooks; private javax.swing.JLabel lblNogeneratecrosslinks; private javax.swing.JLabel lblNogeneratehtml; private javax.swing.JLabel lblNogeneratehtmlfiles; private javax.swing.JLabel lblNogenerateopds; private javax.swing.JLabel lblNogenerateopdsfiles; private javax.swing.JLabel lblNogenerateratings; private javax.swing.JLabel lblNogeneraterecent; private javax.swing.JLabel lblOnlyCatalogAtTarget; private javax.swing.JLabel lblOrderAllBooksBySeries; private javax.swing.JLabel lblProfile; private javax.swing.JLabel lblPublishedDateAsYear; private javax.swing.JLabel lblReprocessEpubMetadata; private javax.swing.JLabel lblSearchDeprecated; private javax.swing.JLabel lblSingleBookCrossReferences; private javax.swing.JLabel lblSortSeriesUsingLibrarySort; private javax.swing.JLabel lblSortTagsByAuthor; private javax.swing.JLabel lblSortUsingAuthor; private javax.swing.JLabel lblSortUsingTitle; private javax.swing.JLabel lblSplitByAuthorInitialGoToBooks; private javax.swing.JLabel lblSplittagson; private javax.swing.JLabel lblSupressRatings; private javax.swing.JLabel lblTagBooksNoSplit; private javax.swing.JLabel lblTagsToIgnore; private javax.swing.JLabel lblTagsToMakeDeep; private javax.swing.JLabel lblTargetFolder; private javax.swing.JLabel lblThumbnailheight; private javax.swing.JLabel lblUrlBooks; private javax.swing.JLabel lblUseThumbnailAsCover; private javax.swing.JLabel lblWikilang; private javax.swing.JTextField lblWikipediaUrl; private javax.swing.JLabel lblZipCatalog; private javax.swing.JLabel lblZipOmitXml; private javax.swing.JLabel lblZipTrookCatalog; private javax.swing.JLabel lblexternalImages; private javax.swing.JMenu mnuFile; private javax.swing.JMenuItem mnuFileExit; private javax.swing.JMenuItem mnuFileGenerateCatalogs; private javax.swing.JMenuItem mnuFileSave; private javax.swing.JMenu mnuHelp; private javax.swing.JMenuItem mnuHelpAbout; private javax.swing.JMenuItem mnuHelpDevelopersGuide; private javax.swing.JMenuItem mnuHelpDonate; private javax.swing.JMenuItem mnuHelpHome; private javax.swing.JMenuItem mnuHelpOpenCustomize; private javax.swing.JMenuItem mnuHelpOpenForum; private javax.swing.JMenuItem mnuHelpOpenIssues; private javax.swing.JMenuItem mnuHelpOpenLocalize; private javax.swing.JMenuItem mnuHelpUserGuide; private javax.swing.JMenu mnuProfiles; private javax.swing.JMenu mnuTools; private javax.swing.JMenuItem mnuToolsClearLog; private javax.swing.JMenuItem mnuToolsConfigLog; private javax.swing.JMenuItem mnuToolsOpenConfig; private javax.swing.JMenuItem mnuToolsOpenLog; private javax.swing.JMenuItem mnuToolsOpenOldLog; private javax.swing.JMenuItem mnuToolsOpenSyncLog; private javax.swing.JMenuItem mnuToolsResetSecurityCache; private javax.swing.JMenuItem mnuToolsprocessEpubMetadataOfAllBooks; private javax.swing.JPanel pnlAdvancedOptions; private javax.swing.JPanel pnlBottom; private javax.swing.JPanel pnlButtons; private javax.swing.JPanel pnlCatalogStructure; private javax.swing.JPanel pnlCustomCatalogs; private javax.swing.JPanel pnlCustomCatalogsTableButtons; private javax.swing.JPanel pnlExternalUrlsOptions; private javax.swing.JPanel pnlMain; private javax.swing.JPanel pnlMainOptions; private javax.swing.JPanel pnlSearchOptions; private javax.swing.JPanel pnlSplitTagsOn; private javax.swing.JPanel pnlTitle; private javax.swing.JScrollPane scrCustomCatalogs; private javax.swing.JTabbedPane tabOptionsTabs; private javax.swing.JTable tblCustomCatalogs; private javax.swing.JTextField txtAmazonAuthorUrl; private javax.swing.JTextField txtAmazonIsbnUrl; private javax.swing.JTextField txtAmazonTitleUrl; private javax.swing.JTextField txtBookDetailsCustomFields; private javax.swing.JTextField txtBooksinrecent; private javax.swing.JTextField txtCatalogCustomColumns; private javax.swing.JTextField txtCatalogFilter; private javax.swing.JTextField txtCatalogFolder; private javax.swing.JTextField txtCatalogTitle; private javax.swing.JTextField txtCoverHeight; private javax.swing.JTextField txtDatabaseFolder; private javax.swing.JTextField txtFavicon; private javax.swing.JTextField txtFeaturedCatalogSavedSearchName; private javax.swing.JTextField txtFeaturedCatalogTitle; private javax.swing.JTextField txtGoodreadAuthorUrl; private javax.swing.JTextField txtGoodreadIsbnUrl; private javax.swing.JTextField txtGoodreadReviewIsbnUrl; private javax.swing.JTextField txtGoodreadTitleUrl; private javax.swing.JTextField txtIncludeformat; private javax.swing.JTextField txtIsfdbAuthorUrl; private javax.swing.JTextField txtLibrarythingAuthorUrl; private javax.swing.JTextField txtLibrarythingIsbnUrl; private javax.swing.JTextField txtLibrarythingTitleUrl; private javax.swing.JTextField txtMaxBookSummaryLength; private javax.swing.JTextField txtMaxKeywords; private javax.swing.JTextField txtMaxSplitLevels; private javax.swing.JTextField txtMaxbeforepaginate; private javax.swing.JTextField txtMaxbeforesplit; private javax.swing.JTextField txtMaxsummarylength; private javax.swing.JTextField txtMinBooksToMakeDeepLevel; private javax.swing.JTextField txtSplittagson; private javax.swing.JTextField txtTagsToIgnore; private javax.swing.JTextField txtTagsToMakeDeep; private javax.swing.JTextField txtTargetFolder; private javax.swing.JTextField txtThumbnailheight; private javax.swing.JTextField txtUrlBooks; private javax.swing.JTextField txtWikilang; private javax.swing.JTextField txtWikipediaUrl; // End of variables declaration//GEN-END:variables }