Previously /mode #channel failed with an exception trying to
get the arguments. Now it works as expected.
Also fix an issue with silence chars not being propagated to
channel command - /.topic #channel will now work silently.
Change-Id: Ifa314b0daf81a30003d5879b9484e759668bc763
Fixes-Issue: CLIENT-455
Reviewed-on: http://gerrit.dmdirc.com/3208
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
This happens if everything goes OK, but either the constructor
can't be injected or the constructor lobs an exception.
Both of these are some kind of app error, rather than user error.
Change-Id: I90ba613b9ecbbad0bf64df2b325667a0fa0076d1
Fixes-Issue: CLIENT-444
Reviewed-on: http://gerrit.dmdirc.com/3180
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
This allows plugin modules to define their own directory types
while still using the @DirectoryType qualifier, rather than having
to define a new qualifier.
Change-Id: I4809c94303a10a9e412615be4f8d10a086ace92b
Reviewed-on: http://gerrit.dmdirc.com/3176
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
- Don't grab an IdentityManager, instead pass one in as soon as it's created.
- Pass config into ProgramError instead of pulling from a singleton.
- Ensure errors created before the IdentityManager is ready are sent/saved
per the user's config.
Change-Id: I4793f2a030d2d341ce8f04db47ae3614a1de076c
Reviewed-on: http://gerrit.dmdirc.com/3129
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Introduce a new util class for getting client info
This replaces the old ui.core.util.Info class, and allows access
to the version information without going through the config
system.
Change-Id: I4b372b62f6fd5adcfa21f0793ec73df7bf2633b6
Reviewed-on: http://gerrit.dmdirc.com/3120
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
- Upgrade to the latest version, fix compilation errors.
- Include the raven build properties file so it knows its version
- Set up a factory when we initialise the Error Manager
(in debug builds this works because of a SPI entry in the raven jar)
- Bundle more bits of guava used by raven
Change-Id: I3c858936b62e4a089b19b358a5d8930c1fc54b04
Reviewed-on: http://gerrit.dmdirc.com/3119
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Makes more sense to just bite the bullet and have FrameContainers
require a URLBuilder so they can make an IconManager, rather than
have every caller pass one in.
Also removes the silly map which would've only ever had one entry,
and stops us making 19 million icon managers for giggles.
Change-Id: I3b95185db3f7e6ef09a6c4f91cd28c88d2c601ba
Depends-On: Ida8887d4065db2f26080986a4c426c6de700d65c
Reviewed-on: http://gerrit.dmdirc.com/3107
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
The highest level command parser now generates the context, regardless of
who executes it. So a global command executed in a channel window will get
a ChannelCommandContext, whereas before it got a plain CommandContext.
Commands that don't expect other contexts will work as before, because the
inheritence tree of contexts mirorrs the command parser (e.g., if a
ServerCommandParser executes a command, you can guarantee its context will
be a sublcass of ServerCommandContext).
This fixes the /set command never allowing --channel.
Change-Id: I86e3c9f0bfedecb5c6b538e2309528c9e71f5eb3
Fixes-issue: CLIENT-424
Reviewed-on: http://gerrit.dmdirc.com/3085
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Make the IdentityManager responsible for adding the initial
identities to a ConfigManager.
Change-Id: I91520e208b06d40385729b4d7adee8bb7f1141cb
Reviewed-on: http://gerrit.dmdirc.com/3083
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
This allows things to create ConfigManagers without being exposed
to the underlying implementation.
Change-Id: I50e916909d83c6bd95dfbd1d61c446caade3ec02
Reviewed-on: http://gerrit.dmdirc.com/3079
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
I think this fixes plugins not updating - the PluginManager was
using an UpdateManager while the rest of the client used a
CachingUpdateManager, which because of the way the bindings are
implemented were backed by different DMDircUpdateManagers.
Change-Id: Ic609631f7152475a0370326197fe25b82efc377e
Reviewed-on: http://gerrit.dmdirc.com/3067
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
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>