These don't make any sense at all. I think I was on something.
Change-Id: I494a2956eb5b1812cbe7bcc29507316ab36758af
Reviewed-on: http://gerrit.dmdirc.com/3245
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Add a new ServiceLocator and legacy implementation
ServiceLocator allows plugins to provide services really
conveniently.
The LegacyServiceLocator is backed by the PluginManager, and checks
for any compatible @Exported methods in loaded plugins. It will not
try to load any plugins that aren't currently loaded.
Issue: CLIENT-445
Change-Id: I61274dbb0b910509e0e170600e473eb23234bb6f
Reviewed-on: http://gerrit.dmdirc.com/3244
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
This is the first phase of migrating to an event bus based system.
See the migration doc here: http://s.dmdirc.com/actions-eventbus
The CLIENT_OPENED event is now triggered exclusively through the
event bus (and still works).
Issue: CLIENT-448
Change-Id: I3fb41a51a7c767558c72921241c9aa12fcae65d4
Reviewed-on: http://gerrit.dmdirc.com/3233
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
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