Commit Graph

226 Commits

Author SHA1 Message Date
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 54bf7c2ca3 * refactoring of ExpressionFormat and related classes 2009-04-25 07:59:08 +00:00
Reinhard Pointner 09a1e0b731 * updated tv.com page scraper (will now target episode guide page, instead of episode list page)
* add season-links to IMDbClient
* don't resolve & TVRageClient episode title
2009-04-25 07:57:14 +00:00
Reinhard Pointner 82bd7fa3b1 * use non-jdk rhino in ExpressionFormat
* add rhino to lib and include it in builds
2009-04-11 23:27:10 +00:00
Reinhard Pointner cc6b4959e7 * specify bootclasspath explicitly so we can compile code that depends on sun.* classes (AssociativeScriptObject) 2009-04-11 22:26:02 +00:00
Reinhard Pointner 2a3f3c7ae8 * added format binding for file extension 2009-04-07 18:33:05 +00:00
Reinhard Pointner 2793e1d454 * exclude hash algorithm information when writing .md5 files 2009-04-06 20:58:27 +00:00
Reinhard Pointner e6b785df63 * intuitive access for all map bindings in episode expression format (e.g. video.width or video['width'])
* added AssociativeScriptObject
* enable table sorting in MediaInfoComponent
2009-04-06 20:34:33 +00:00
Reinhard Pointner 912bf0464f * fixed visual issues with SeasonSpinnerEditor 2009-04-05 21:20:54 +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 d7a5b58c32 * improved LinkageError handling 2009-04-05 17:43:32 +00:00
Reinhard Pointner 49d0ca648d * added progress indicator to format dialog 2009-04-05 15:07:51 +00:00
Reinhard Pointner 23dc93bf20 * display error message if MediaInfo native library is missing
* include jna in fatjar
2009-04-05 10:08:00 +00:00
Reinhard Pointner 4388f47317 * tuned name similarity ranking 2009-04-05 09:31:02 +00:00
Reinhard Pointner 53dd17d93a * improved generic episode name matching
* added convenience function "space" in expression formatter
2009-04-04 21:30:06 +00:00
Reinhard Pointner 335cd401e1 * adjusted to changes in TV.com's html (episode list page) 2009-04-04 20:19:03 +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 c83d4132ec * added wrapper for MediaInfo native library 2009-03-27 15:22:08 +00:00
Reinhard Pointner 480c848bda * less code duplication, renamed interfaces *Client to *Provider 2009-03-18 20:09:45 +00:00
Reinhard Pointner df143e0305 * added episode list support for IMDb 2009-03-17 21:59:19 +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 384e75576a * updated TVDotComClient client because of site changes in the search result page
* resolve & in TVRage xml feed titles
2009-03-14 10:23:41 +00:00
Reinhard Pointner 64d8c3c2b4 * refactoring
* don't use global logger
2009-03-14 10:20:59 +00:00
Reinhard Pointner 902930ff52 * fix dnd rendering issue 2009-03-14 01:01:01 +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 bfe459b50c * updated miglayout, nekohtml, args4j and junit
* fixed layout issues that came with the new miglayout
2009-03-13 14:22:36 +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 2de1b8a1b0 * added ScriptFormat and format configuration dialog
* added names view (did miss it last commit)
2009-03-08 19:55:05 +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 3689f65612 * fix episode number padding 2009-02-26 10:01:18 +00:00
Reinhard Pointner c8303655bf * use SeriesNameMatcher in ListPanel 2009-02-26 09:43:16 +00:00
Reinhard Pointner ab14e07924 * improved auto-completion 2009-02-22 19:52:07 +00:00
Reinhard Pointner 4346a6e05b * improve search history by using common word sequence of query and search result name
* ignore aka titles in OpenSubtitles search
2009-02-22 14:32:52 +00:00
Reinhard Pointner b7f0529d88 * find probable show using name similarity in auto-matching 2009-02-22 12:38:25 +00:00
Reinhard Pointner a9f5570dbe * improved automatic search result selection and allow manual selection in RenamePanel auto-matching 2009-02-22 11:55:21 +00:00
Reinhard Pointner 214399f13c * add persistent search history to episodelist to enable completion
* make tabbed panes look better in Nimbus LAF
2009-02-22 10:45:41 +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 e06c5971b8 * improved cellrenderers a need full row update an state change 2009-02-16 19:08:55 +00:00
Reinhard Pointner c5f499b47f * highlight embedded checksum in bold red on warning and error 2009-02-16 17:03:38 +00:00
Reinhard Pointner 051cf3362b * some refactoring 2009-02-15 21:11:03 +00:00
Reinhard Pointner 4c94679a64 * account for sorting/filtering when removing rows 2009-02-15 18:22:08 +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 90f58b06ff * renamed AutoEpisodeListMatcher to AutoFetchEpisodeListMatcher
* fixed memory leak by not using FunctionList (would need to be disposed)
2009-02-06 13:11:54 +00:00
Reinhard Pointner 7b61757fd7 * improved auto episode list matching 2009-02-03 20:36:57 +00:00
Reinhard Pointner f7fdc5b5db * improved SeriesNameMatcher
* slightly modified season episode regex
* added ehcache to fatjar build
2009-02-02 20:50:04 +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 c5c12513fa * encapsulate the two rename Eventlists into RenameModel
* improved NameSimilarityMetric
* mostly refactoring
2009-01-17 11:03:09 +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 4c85cdce4a * moved Main and AllTests into from default to net.sourceforge.filebot package
* removed version identifier from lib jars
2008-12-31 20:11:27 +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 1cf51ae179 * remove analyze.tools package (refactor and move to analyze) 2008-12-27 11:30:35 +00:00
Reinhard Pointner 036cf30d3e * ability to calculate osdb hash from any InputStream, not just files 2008-12-21 13:01:48 +00:00
Reinhard Pointner 857a550939 * account for latest tv.com stupidity: "reverse episode lists"
* account for another tv.com disimprovement: "no season drop-down"
2008-12-09 18:49:02 +00:00
Reinhard Pointner 74b6a8c1a9 * improved DownloadTask and ByteBufferOutputStream
* added unit test for ByteBufferOutputStream
2008-11-22 15:30:33 +00:00
Reinhard Pointner 892ada4df4 * forgot to commit SubsceneSubtitleDescriptor in last commit
* comments in other files
2008-11-19 16:28:59 +00:00
Reinhard Pointner 4bb8ff29d8 * improved DownloadTask
* added ByteBufferOutputStream
2008-11-19 16:22:31 +00:00
Reinhard Pointner e0d52fb515 * more general checksum highlighter 2008-11-07 13:19:45 +00:00
Reinhard Pointner 66cf786b19 * unified embedded checksum handling 2008-11-01 13:54: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 a77ff635da * use MigLayout in RenamePanel
* some layout improvements in other panels
2008-10-20 18:42:52 +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 4bbb189df6 * little refactoring of the cellrenderer that highlights crc32 patterns, made it more reusable 2008-10-14 17:33:38 +00:00
Reinhard Pointner 192da2cb17 * improved HistoryPanel layout
* TVRageClient.EpisodeListFeed will not fail, if XML does not contain an episode list
2008-10-12 20:14:41 +00:00
Reinhard Pointner 197bfd1b42 * renamed package "search" to "episodelist"
* renamed class "EpisodeListPanel" to "EpisodeListTab"
* renamed class "SearchPanel" to "EpisodeListPanel"
* renamed panel.search.png to panel.episodelist.png
2008-10-12 15:46:45 +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 58d0244668 * some refactoring in ChecksumTableSaveAction 2008-10-07 18:35:26 +00:00
Reinhard Pointner 1ad60f8e97 * improved CRC32 highlighting 2008-10-06 20:15:43 +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 074e103ddf * updated TVRage icon
* renamed flag icon
2008-10-06 18:21:04 +00:00
Reinhard Pointner 0972017fd6 * adapted TV.com scraper to the new layout (which sucks by the way) 2008-09-20 19:25:26 +00:00
Reinhard Pointner c7757e1474 * fixed annoying "selection instead of drag" behaviour of sfv table 2008-09-14 13:19:21 +00:00
Reinhard Pointner 4ebbcaeebc * don't wrap html labels in sfv table
* don't paint focus border of cells in sfv table
2008-09-07 18:49:20 +00:00
Reinhard Pointner da0e730243 * always use UTF-8 when reading and writing sfv files, lists, ...
* checksums in filenames are now highlighted in SFV panel
2008-09-06 18:41:08 +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 a341922a30 * don't select invalid nodes (tag links)
* test case for that
2008-07-12 20:47:37 +00:00