Commit Graph

205 Commits

Author SHA1 Message Date
Reinhard Pointner 203eedb24e * encapsulate similarity metrics used in RenamePanel properly
* removed some unused code
* some unit tests
2009-07-26 16:54:24 +00:00
Reinhard Pointner a860a6ab5d * minor refactoring 2009-07-24 20:28:25 +00:00
Reinhard Pointner 78b77034b1 * remember recent formats in EpisodeFormatDialog
* display script exceptions if formatted name is empty
* better handling of empty search results in some page scrapes
* some test cases
* refactoring
2009-07-18 22:06:32 +00:00
Reinhard Pointner c4ce1aebe7 * improved various hashCode() methods
* removed unnecessary synchronized locks
* refactoring
2009-07-16 12:06:51 +00:00
Reinhard Pointner c81cd50fc9 * open series selection dialogs one after another 2009-07-15 09:22:40 +00:00
Reinhard Pointner 857d73bdc0 * refactoring 2009-07-09 20:04:47 +00:00
Reinhard Pointner 2fe8bd1306 * improved OpenSubtitles support
* refactoring
2009-07-03 12:58:05 +00:00
Reinhard Pointner efc7f81824 * some tuning for gtk laf 2009-07-01 16:14:21 +00:00
Reinhard Pointner e8cf2e7029 * refactoring 2009-06-30 12:57:09 +00:00
Reinhard Pointner 98ddfafe43 * subtitle file view in download component
* added ByteBufferTransferable and use it as superclass of TextFileTransferable
* added ListView
* lots of refactoring
2009-06-19 22:35:39 +00:00
Reinhard Pointner 18456f6864 + subtitle list displays found subtitles and download phase
+ download and extract selected subtitle packages (not displayed yet though)
* SubtitleDescriptor provides download function (Callable)
* updated sublight webservice
* lazy-initialize SubtitlesAPI2Soap (Sublight) because loading all the jax-ws classes will can take more than 1s (while blocking EDT)
* better sublight subtitle display names
* added archive files to media.types
* added icons for subtitle list
* refactoring
2009-06-13 09:53:48 +00:00
Reinhard Pointner 6593bfdbda * trim result after formatting in EpisodeExpressionFormatter
* refactoring / cleanup
2009-06-02 10:27:28 +00:00
Reinhard Pointner a547c7e7e9 * use String (language name) instead of Locale in all SubtitleProviders
* get languages (name, code) from xml file
* implemented LanguageComboBox (model, renderer, persistence)
* rename language icons
* removed various prototype classes that will never be used
2009-05-31 15:19:56 +00:00
Reinhard Pointner 0dc12ec505 * cleanup: group static imports 2009-05-17 17:22:44 +00:00
Reinhard Pointner 115c617a0c * refactoring 2009-05-17 15:09:09 +00:00
Reinhard Pointner a8b3e13339 * cleanup 2009-05-16 16:27:11 +00:00
Reinhard Pointner 9aad7deae2 + added replaceTrailingBraces() to ExpressionFormat context
+ added Undo/Redo support in EpisodeListDialog
* refactoring
2009-05-16 11:58:28 +00:00
Reinhard Pointner 92fedf2ad1 * ResourceManager will now cache Icons 2009-05-13 18:20:26 +00:00
Reinhard Pointner a6c82fc8e5 * refactoring 2009-05-12 08:57:37 +00:00
Reinhard Pointner a41f80bd9d * added exists() to cached values in FastFile 2009-05-03 17:38:22 +00:00
Reinhard Pointner 1ed4d2b495 + EpressionFormat: format Double objects with integer values as integers
+ Matching: allow partial match with season number OR episode number
+ AutoFetchEpisodeListMatcher: abort if one or more shows cannot be found

* support specials in TVRage, TVDotCom and TheTVDB Client
* account for IMDB search-to-info-page redirect
2009-05-03 15:21:04 +00:00
Reinhard Pointner ca032f3b56 + Script expressions in ExpressionFormat will now be evaluated in a secure sandbox
+ "preserve Extension" can be enabled/disabled in RenameModel

* fixed rename list SelectionModel performance issue 
* create package for ui-independant Hash* stuff
2009-05-02 23:34:04 +00:00
Reinhard Pointner d5a5b93b3b * introduction of a single unified Rename- and MatchModel
* arbitrary formating using Object (e.g. episode information) and File (e.g. codec information) data
* background formatting (e.g. crc32) and visual indicators in cellrenderer
2009-04-26 13:34:22 +00:00
Reinhard Pointner 2a3f3c7ae8 * added format binding for file extension 2009-04-07 18:33:05 +00:00
Reinhard Pointner 4afc701ff7 * use system laf on Windows and Mac, use Nimbus on all the others (Linux, *BSD, ...)
* visual imrovements under Nimbus LAF
2009-04-05 21:03:40 +00:00
Reinhard Pointner 7e6f485882 * improved episode format and format creation dialog
* differentiate between format errors and format warnings
2009-04-04 19:36:12 +00:00
Reinhard Pointner 90c8af354d * WebRequest: try to use compression
* SubsceneClient: persist languageFilterMap
2009-03-15 17:44:39 +00:00
Reinhard Pointner daa665c00e * fixed annoying layout bug
* remember search engine in episodelist and subtitle panel
2009-03-14 16:02:27 +00:00
Reinhard Pointner 64d8c3c2b4 * refactoring
* don't use global logger
2009-03-14 10:20:59 +00:00
Reinhard Pointner 9ed970de05 * refactoring ...
* changed cmd line args (single panel frame)
* simplified multi panel frame
* changed window icon
* create panels via PanelBuilder
2009-03-14 00:30:24 +00:00
Reinhard Pointner 10a7fd5b4c * added "Edit Format" action to "Fetch Episode List" action popup in rename panel
* add support for episode array transferable to episode list panel and rename panel
* renamed ScriptFormat to ExpressionFormat
* misc. changes
2009-03-12 20:08:42 +00:00
Reinhard Pointner deb15a6e15 * install Format/Validate view between namesList and model.names()
* refactored Preferences wrapper and unit tests
2009-03-08 18:41:11 +00:00
Reinhard Pointner 68968d84e6 * better matching behaviour
* remove trailing newline for string transferables in DefaultClipboardHandler
2009-03-01 13:52:43 +00:00
Reinhard Pointner 02c3d4ef2b * forgot to add icon resource 2009-02-28 18:10:28 +00:00
Reinhard Pointner ab14e07924 * improved auto-completion 2009-02-22 19:52:07 +00:00
Reinhard Pointner d2f5c8e572 * simplify SubsceneSubtitleClient
* use less xpath to speed things up a little bit
2009-02-21 12:48:52 +00:00
Reinhard Pointner e643466653 * little bit of refactoring
* fixed unit-test
2009-02-17 18:11:33 +00:00
Reinhard Pointner 051cf3362b * some refactoring 2009-02-15 21:11:03 +00:00
Reinhard Pointner 53c769321e * more visual feed back for checksum errors and warnings 2009-02-15 17:58:32 +00:00
Reinhard Pointner 87e8d830ce * full support for multiple checksum types (SFV, MD5, SHA-1)
notes:
* updated to MigLayout 3.6.3
* better exception handling in *TransferablePolicy
* added checksum toggle button and artwork
* poperly cancel computation tasks on reset
* better "Total Progress" visibility behaviour
* improved checksum table model classes, better update/repaint behaviour
2009-02-15 12:20:43 +00:00
Reinhard Pointner 9d7af8bd96 * dnd move: cancel background threads when calling BackgroundFileTransferablePolicy.clear()
* added FastFile, which minimizes fs calls by remembering the results
* use File directly (and not the holder FileEntry) in RenamePanel
2009-02-12 22:04:17 +00:00
Reinhard Pointner 5733cfbcdc * move SFV transferable policy, export handler and computation service from table class to higher-level panel class 2009-02-11 18:42:29 +00:00
Reinhard Pointner c3939dcb98 * slightly improved exception handling 2009-02-10 21:51:02 +00:00
Reinhard Pointner dac55956f6 improvement:
* BackgroundFileTransferablePolicy uses ThreadLocal<Worker> now
* support exception handling in BackgroundFileTransferablePolicy
changes:
* ChecksumComputationTask will only calculate one HashType
* added ChecksumRow.dispose()
fix:
* honor convertValueToString() in SelectDialog
2009-02-10 19:37:32 +00:00
Reinhard Pointner 5674173417 * major refactoring of Checksum* Classes (TableModel, ComputationTask, ComputationService)
* SfvTransferablePolicy create one dedicated ComputationTask executor for each drop
* ComputationTask always computes CRC32, MD5 and SHA-1 

* changed TextFileExportHandler to use Formatter instead of PrintWriter
* renamed *Util to *Utilities
* update to GlazedLists 1.8
2009-02-09 20:56:20 +00:00
Reinhard Pointner 684a7512bc * support for SubtitleSource (www.subtitlesource.org)
refactoring:
* renamed XPathUtil
* use ConcurrentMap in LanguageResolver
2009-02-06 17:57:18 +00:00
Reinhard Pointner 7b61757fd7 * improved auto episode list matching 2009-02-03 20:36:57 +00:00
Reinhard Pointner 9fd13dceae * changed static class Factor to proper enum Direction
* some cleanup
2009-01-25 01:27:40 +00:00
Reinhard Pointner ac9473ff07 * automatic episode list download and matching in RenamePanel
* added SeriesNameMatcher
* added SeasonEpisodeMatcher
* access Preferences via new Settings class
* adapt TVDotComClient to site changes (episodes  no longer ordered in reverse)
* added ActionPopup (inspired by the eclipse quickfix popup)

refactoring:
* renamed *Util classes to *Utilities
* renamed HyperlinkLabel to LinkButton as it extends JButton now
* refactored FileBotUtilities and FileUtilities
2009-01-25 00:08:57 +00:00
Reinhard Pointner c217d06eeb * ground up rewrite of the maching algorithm (I lovingly call it n:m multi-pass matching)
* added SeasonEpisodeSimilarityMetric which detects similarity based on known patterns
* moved everything similarity/maching related to net.sourceforge.filebot.similarity

Refactoring:
* refactoring of all the matching-related stuff in rename panel
* remove name2file and file2name maching selection because new maching algorithm works 2-ways from the start and doesn't need that hack
* added console handler to ui logger that will log ui warnings and ui errors to console too
* some refactoring on all SimilarityMetrics
* use Interrupts in analyze tools to abort operation
* refactoring of the rename process, if something goes wrong, we will now revert all already renamed files to their original filenames
* static LINE_SEPARATOR pattern in FileTransferablePolicy
* new maching icon, removed old ones
2009-01-11 21:23:03 +00:00
Reinhard Pointner 54b27e69b7 Changes:
* added TheTVDB support
* added ehcache to libs (now used in TheTVDBClient and TVRageClient)
* Season spinner will remember unlocked value

Refactoring:
* renamed HtmlUtil to WebRequest
* added getDocument() convenience methods to WebRequest
* added lots of static imports (XPathUtil, WebRequest, FileBotUtil, ...)
* TheTVDBClient and TVRageClient will throw SeasonOutOfBoundsException if for illegal season numbers
* XPathUtil will wrap NodeList with NodeListDecorator instead of creating a new ArrayList
* added DOM convenience methods to XPathUtil for performance reasons
* formatting of episode number in EpisodeListClient, EpisodeListRequestProcesser will take care of this
* added initial size to some StringBuilders
2009-01-04 18:28:28 +00:00
Reinhard Pointner 0bed877344 * heavy refactoring of AbstractSearchPanel, EpisodeListPanel and SubtitlePanel and related stuff
* added parameter to method in SubtitleClient interface
* fixed "stutter" issue in ProgressIndicator
* removed loading overlay progress indicator from tabs
* removed animated gifs
2009-01-01 22:27:53 +00:00
Reinhard Pointner 396176c2f6 * visual improvements to FileBotTabComponent
* some refactoring of FileBotUtil and Timer
2008-12-31 11:54:44 +00:00
Reinhard Pointner d7c08bc4ca * add simple Timer
* refactoring
2008-12-30 16:43:37 +00:00
Reinhard Pointner 1dfa8abcfd * fixed potential EDT deadlock in Tool
* display messages via ui logger
* maybe fix layout bug (component gets very small) for LoadingOverlayPane
2008-12-28 20:04:13 +00:00
Reinhard Pointner 931efbdd06 * misc refactoring / small improvements / stuff i haven't committed for ages 2008-12-27 11:58:39 +00:00
Reinhard Pointner 2fc8bb7195 * heavy refactoring of the analyze panel
* added TreeIterator and FilterIterator
* refactored file transferable policies
* refactored loading overlay
2008-12-27 11:35:53 +00:00
Reinhard Pointner 74b6a8c1a9 * improved DownloadTask and ByteBufferOutputStream
* added unit test for ByteBufferOutputStream
2008-11-22 15:30:33 +00:00
Reinhard Pointner 4bb8ff29d8 * improved DownloadTask
* added ByteBufferOutputStream
2008-11-19 16:22:31 +00:00
Reinhard Pointner 4267899842 * root temporary folder is always lower-case
* filename embedded checksum may be enclosed with () or []
2008-10-29 22:54:16 +00:00
Reinhard Pointner 8cb277252b * renamed method name 2008-10-22 22:35:17 +00:00
Reinhard Pointner e6df0141c7 * Each application instance will get its own temp folder now
* moved MessageBus registration of each Panels MessageHandler to FileBotWindow
2008-10-22 22:07:02 +00:00
Reinhard Pointner d0725404ef * use MigLayout in FileTreePanel
* use MigLayout in ValidateNamesDialog
* use MigLayout in SelectDialog
2008-10-21 17:49:08 +00:00
Reinhard Pointner bc0e354a7a * use MigLayout in SFV Panel
* use MigLayout in List Panel
2008-10-19 18:51:45 +00:00
Reinhard Pointner 792c729d54 * renamed TextFileTransferable to LazyTextFileTransferable
* use MigLayout in AnalyzePanel and ProgressDialog
2008-10-19 12:44:55 +00:00
Reinhard Pointner a0a43b0e03 * removed Settings singleton, always use Preferences directly
* simplified HistoryPanel by using MigLayout
* added MigLayout jar to libs
* improved decimal format for file count and size in AnalyzePanel
* put application name and version getters into FileBotUtil
2008-10-11 20:42:03 +00:00
Reinhard Pointner 661e079f2b * made all singleton classes final 2008-10-10 19:20:37 +00:00
Reinhard Pointner e61472c2f4 * moved ResourceManager to net.sourceforge.filebot package
* added "dist" to ignored folders
2008-10-10 18:59:01 +00:00
Reinhard Pointner aefc84085b * split ExportHandler interface into TransferableExportHandler and FileExportHandler
* added string flavour to all text transfer operations
* text file for dnd transfer will only be created on demand

* removed ImportHandler interface

* moved sfv renderer classes to sfv package
* removed sfv renderer package

* rename-lists now titled "Proposed" and "Current"

* DefaultClipboardHandler will export null values as empty string, not "null"
* refactored OpenSubtitlesHasher

* adapted to the new tvrage episode list xml feed syntax
2008-10-06 19:13:58 +00:00
Reinhard Pointner 0c674849d8 * refactored and simplified transfer api
* use more GlazedLists stuff (EventList, AutoCompleteSupport) and remove obsolete classes (SimpleListModel, TextCompletion)
* don't use SearchResultCache in EpisodeListClient (was only done for better ui interactions)
* removed caching from ResourceManager
* some improvements based on FindBugs warnings
* use args4j for improved argument parsing
* updated ant build script
* more general MessageBus/Handler (use Object as message type instead of string)
* ChecksumComputationService is not a singleton anymore
* TemporaryFolder is always recreated if it is deleted by the user, or another instance shutting down
* Notifications flicker less when one window is removed and the others are layouted
* lots of other refactoring
2008-07-30 22:37:01 +00:00
Reinhard Pointner a401a51c75 * changed IconProvider to LabelProvider (provides text and icon)
* Changed EpisodeListClient and SubtitleClient from abstract classes to interfaces
* OpenSubtitlesSubtitleClient: remove shutdownhook if not needed anymore
* some refactoring
2008-07-13 17:59:05 +00:00
Reinhard Pointner c525aa9ea0 * better search->redirect->results handling (subscene, anidb)
* refactoring ...
2008-07-07 23:38:17 +00:00
Reinhard Pointner ea6a839aa8 * switched back to using List as return value for EpisodeList- and SubtitleClients (lazy XPath evaluation not needed anymore, because we are fast enough anyway) 2008-07-05 11:37:03 +00:00
Reinhard Pointner d1775cf1b4 * added number-pattern similarity metric
* improved name-matching, normalizing of names
* unit-test for new similarity metrics
* improved PreferencesList
* added EventList->List synchronizer
* included GlazedLists in build
2008-06-29 17:38:57 +00:00
Reinhard Pointner 2b4218ffce * TVRageClient uses the xml feeds now
* some testcases
2008-06-21 23:31:19 +00:00
Reinhard Pointner adb4d68055 * Lazy XPath evaluation for EpisodeList/Subtitle Clients
* AbstractSearchPanel (used in SubtitlePanel only so far)
* started using GlazedLists
* replaced searchtextfield with customized combobox (will be used for completion in the future)
* renamed FileFormat to FileUtil and move to tuned
* removed ESC shortcut
2008-06-21 19:24:18 +00:00
Reinhard Pointner 21b5dc3fab * added FunctionIterator
* added Preferences Wrapper (Map, List)
2008-06-09 18:36:05 +00:00
Reinhard Pointner 30a54c2cf4 Lots of refactoring:
* Removed TransferablePolicySupport and related refactoring
* OpenSubtitlesClient: ignore logout status code
* Animated-GIF are animated again
* Unrar process will not hang anymore
* Improved Subscene scraper
* Better scaling for ProgressIndicator
* Added \r and \n to invalid characters
* Some work on SubtitlePanel and related stuff
* Setting putMap/List methods clear existing data first
2008-06-02 19:12:28 +00:00
Reinhard Pointner 12d453eff4 * lots of stuff for subtitle support 2008-05-03 20:43:15 +00:00
Reinhard Pointner b59e5dc714 * more accurate matching progress
* added SwingWorkerProgressMonitor and ProgressDialog
2008-04-27 21:11:30 +00:00
Reinhard Pointner b5bee237d6 * refactored matching
* added ProgressDialog for long-running matching
* added delayed invokeLater to TunedUtil
* removed generics from ListEntry (only subclasses where used anyway)
* minor cleanup in notification package
2008-04-27 17:36:27 +00:00
Reinhard Pointner eabe011e9a * fixed scrolling bug for history panels
* ByteBufferInputStream behaves like any other InputStream now
* updated nekohtml
2008-04-26 16:26:16 +00:00
Reinhard Pointner 6bcff92763 * updated Anidb xpaths 2008-04-23 21:47:47 +00:00
Reinhard Pointner 19b99132ad * separated pure OpenSubtitlesClient and SubtitleClient implementation for OpenSubtitles
* improved OpenSubtitlesHasher
2008-04-20 16:03:19 +00:00
Reinhard Pointner b9906b6a0d * created SubtitleDescriptor/Client class hierarchy
* refactoring
2008-03-31 22:53:54 +00:00
Reinhard Pointner aed54eb060 * episode list caches are now case insensitive
* some refactoring
2008-03-29 12:20:01 +00:00
Reinhard Pointner 02057b3056 * Simplyfied BackgroundTransferablePolicy again (no queuing again)
* solves the "add after clear" concurrency problem when adding really lots of files
2008-03-27 21:44:48 +00:00
Reinhard Pointner 2026c60b1d * improved BackgroundTransferablePolicy
* improved ChecksumComputationService
* (... both don't "leak" threads anymore)
2008-03-27 00:28:06 +00:00
Reinhard Pointner ee6dc82d50 * improved utility classes
* nested temporary folders
2008-03-25 21:03:32 +00:00
Reinhard Pointner a1b118d0f6 * rename panel file list will now display file name and file type
*  some minor refactoring
2008-03-24 15:41:10 +00:00
Reinhard Pointner 2b9c8e840a * rewrote the checksum computation stuff to support multiple parallel computation queues
* refactoring
* svn properties
2008-03-23 22:41:25 +00:00
Reinhard Pointner 6d2ff4dfe4 * improved dnd behavour
* refactoring
2008-03-22 21:12:34 +00:00
Reinhard Pointner 824c29fd36 * improved dnd behaviour 2008-03-21 01:45:21 +00:00
Reinhard Pointner 414ab43cc3 * create temporary folder when creating the first temporary file
* use absolute file for relative files used in arguments
2008-03-20 20:11:08 +00:00
Reinhard Pointner a2beab245f * validate default filenames in filechooser
* fixed a typo
2008-03-20 00:51:49 +00:00
Reinhard Pointner 04c4baf9b9 * support for arguments
* better tempfile management
* lots of refactoring
2008-03-19 22:14:38 +00:00
Reinhard Pointner 4b4ca4fc68 * improved ui performance
* proper class visibility
2008-03-16 18:23:12 +00:00
Reinhard Pointner bc1e91ba10 * Updated TVRageClient and AnidbClient
* BackgroundFileTransferablePolicy improved
* lots of misc. changes
2008-03-16 01:05:06 +00:00
Reinhard Pointner 56edac666c * lots of misc. changes/refactoring
* removed create panel (merged into list panel)
* stuff for future subtitle support
* lots of flag icons
2008-03-02 17:02:37 +00:00
Reinhard Pointner 3a91757e3e * improved preferences handling
* SelectButton refactoring
2008-02-29 01:16:52 +00:00
Reinhard Pointner 36c0406ec6 * settings / preferences
* small ui enhancements
* little bit of refactoring
2008-02-28 00:39:49 +00:00
Reinhard Pointner 3edd879d7e * foundation for subtitle support
* added/updated libs
2008-02-13 20:08:06 +00:00
Reinhard Pointner f3d1cc50c0 some refactoring, new icons, imdb search engine 2008-02-09 17:53:08 +00:00
Reinhard Pointner 3c0296d11e disabled namespaces in nekohtml parser 2008-02-07 22:05:59 +00:00
Reinhard Pointner b6b18e89b6 Switched to using nekohtml as html parser, externalized simmetrics (just copied the sourcefiles before), lots of buxfixes and improvements. Also started using an ant. 2007-12-23 19:28:04 +00:00