Keep the existing hackery until the plugins that call it are updated.
Change-Id: Ia7e89f9d3de662451ccbec04eabf453478e256c1
Reviewed-on: http://gerrit.dmdirc.com/3028
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Replace core windowClosing impls with just close()
The base implementation of close() fires listeners then immediately
calls windowClosing(). There's no point in doing that, so we can
just override close() and free our resources after calling the super
method.
Change-Id: I87b6df3128026c77d6015f8146061aa56627e50d
Reviewed-on: http://gerrit.dmdirc.com/3011
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Use a listener for the GlobalWindow manager (which allows it to
hold the singleton instance itself, which makes a lot more sense).
Don't pointlessly null parsers.
Change-Id: Ifebce78cbd524bfffd72a6c5bcea2926c7483cf1
Reviewed-on: http://gerrit.dmdirc.com/3009
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
These are a hold-over from when the core had to have a back-and-forth with
the UI in order to close a window.
Provide stub implementations in FrameContainer, deprecate them, and remove
any unecessary overrides in the core.
Change-Id: Icf9bfc6bc40b66135d161a5047d01d46b2171234
Reviewed-on: http://gerrit.dmdirc.com/3008
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
There's no need to clear the server reference - if the channel has
been removed then it will be eligible for GC. If the whole server
is going then the whole group of objects will be eligible for GC.
Update to latest version of findbugs and depend on jsr305 to get
@Nonnull annotation and apply it to the methods which are now
guaranteeing non-null returns.
Change-Id: Ibdcf43e64910440ba5efeb7e090edb72afd858e3
Reviewed-on: http://gerrit.dmdirc.com/2982
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Add some caching of IconManagers to combat issue #CLIENT-419 somewhat until we have a real fix.
With this code, starting up my test DMDirc (which loads a global window, and attempts to connect to a twitter:// server with a raw window) goes from creating to 30 IconManagers on startup and 4 every reconnect, to 8 on startup and none when reconnecting which is a start at least.
Change-Id: I9523a0165731bf294cb874ad9e088413d17882b8
Reviewed-on: http://gerrit.dmdirc.com/2972
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Fix URIParser (has apparently been broken forever).
Add unit tests URI Parser.
Change-Id: I329f958024f70288f42862c02f9b2d7a4ff072ea
Reviewed-on: http://gerrit.dmdirc.com/2967
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Chris Smith <chris@dmdirc.com>
Doesn't make much sense having things calling static methods on a
random command.
This removes the long-deprecated "--ssl" flag for the newserver
command.
Change-Id: Ie75658c3bcf5c495dcc8b0548f080e1a12ac4a52
Reviewed-on: http://gerrit.dmdirc.com/2966
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Use Guava's Preconditions instead, which throw appropriate exceptions
rather than AssertionErrors (whose idea was that?!)
Also fix weirdness in CommandArguments where start was allowed to be
1 greater than end when getting words.
Change-Id: Icce38e36da6507f645fb8b3b872dfe2c60c43ea7
Reviewed-on: http://gerrit.dmdirc.com/2961
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Swing UI + Apple is too tangled up to do it using nice DI atm :(
Change-Id: Ie06dc705e78b6475cda01cfc1850dcb732ebcdcc
Reviewed-on: http://gerrit.dmdirc.com/2957
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Anywhere that doesn't just work with a Connection, cast back to a Server for
now. These can be tidied up later.
Change-Id: I02a54b0bcfaef08d5757cc015c356f9779ec0371
Depends-On: Id55c3611173be7ed79fae8f9e976996d713b8646
Reviewed-on: http://gerrit.dmdirc.com/2950
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Move Updater-based providers into a separate module, and inject
the actual dependencies into the DMDircUpdateManager instead of
various 2nd degree dependencies so it can make them itself.
This should make it easier to add other strategies/download
sites/etc.
Change-Id: Id8a7871fbf7d383b05c5fd08e31dea3bd3703444
Reviewed-on: http://gerrit.dmdirc.com/2932
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Why throw a ClassNotFoundException that the caller is expecting,
when you can completely break the ClassLoader contract and return
null? YAY. </snark>
Change-Id: I1d2aff71db8d0efde8d15f87e50edad962a2c52b
Reviewed-on: http://gerrit.dmdirc.com/2931
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Remove ctor that was only used in tests.
Use Connection interface rather than requiring a Server.
Change-Id: Id7fa18cab27302045f60c32b478173de99a5df4d
Reviewed-on: http://gerrit.dmdirc.com/2925
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
This allows them to be injected with all their dependencies, removing
some deprecated singleton methods or constructor usages.
Change-Id: Ie2960171e29fa4069747ca9a6cd8b427ffc73003
Depends-On: I06b391f62bf6e72b0f24d2dda91e36242564fdff
Reviewed-on: http://gerrit.dmdirc.com/2915
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>