Instead of returning either null or a topic, use Optional<>.
Change-Id: I9e8723fe0fe2b9209a401d33361f80fb832b9434
Depends-On: If0a0609ab778df22c02b8dc1d349da45b4b5b16f
Reviewed-on: http://gerrit.dmdirc.com/3415
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
plugins:
11ac6fc Chris Smith <chris@dmdirc.com>
Also remove the setting from the UI.
Gerrit: http://gerrit.dmdirc.com/3410fc953d7 Chris Smith <chris@dmdirc.com>
Tidy the FD plugin.
- Remove strict escape option as turning it off seems to offer no
benefit and is a bit scary.
- Switch to using HTML escaping provided by Guava.
- Use an array instead of a crazy inefficient list that's converted.
Gerrit: http://gerrit.dmdirc.com/3409
Change-Id: I80603ed1dda6b7ac4de83e1245aa691d89a3ce3e
This shows dependencies from plugins, which we can use to track
how abstract the core is. (Hah.)
Change-Id: Ia6b8b8abbb9aacd0c2abeddebab6cbb8c4c2464a
Reviewed-on: http://gerrit.dmdirc.com/3407
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Rename confusing method name and add correctly functioning one.
This fixes portable mode when running from a jar only.
Change-Id: I8272e2ff2fe1c6d88d6f6c41c859eb2d2124e04c
Issue: CLIENT-496
Reviewed-on: http://gerrit.dmdirc.com/3401
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Chris Smith <chris@dmdirc.com>
plugins:
25dce6a Chris Smith <chris@dmdirc.com>
Rewrite the entire UI to pass extra deps in.
Conflicts:
src/com/dmdirc/addons/ui_swing/components/TopicBar.java
src/com/dmdirc/addons/ui_swing/components/frames/InputTextFrame.java
src/com/dmdirc/addons/ui_swing/components/frames/TextFrame.java
src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/ChannelSettingsDialog.java
src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/TopicDisplayPane.java
src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/TopicPane.java
src/com/dmdirc/addons/ui_swing/injection/DialogModule.java
Depends-On: Ib0cbe91bec51db7e66d860d65840e784f880e53d
Gerrit: http://gerrit.dmdirc.com/3391
Change-Id: I18e788547cb52e499569223d2f40424a7f24a3ba
These are events which are going to cause a line to be added to a
client window. They allow actions, plugins, or other listeners
to change the formatter line.
Eventually the UI model will just be able to listen for displayable
events on the local event bus to figure out what needs to be displayed.
Change-Id: Ia86c593df66f8bff13574714c45464a2634c02ba
Reviewed-on: http://gerrit.dmdirc.com/3390
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Formatters need to be passed as StringBuffers to actions first.
This allows actions/plugins to change the formatters, e.g. changing
to a highlight formatter.
Change-Id: I98e55a2e2d88d423fd49d33508a225faa91a61b2
Fixes-Issue: CLIENT-486
Reviewed-on: http://gerrit.dmdirc.com/3377
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Use the right method when checking bundled plugins
Certain PluginManager methods will read plugin info from disk,
while others just use cached info. There's no obvious way to
tell which is which, and we ended up calling the wrong one.
Now we actually know about plugins that're installed, we can
extract the bundled ones. Yay.
Change-Id: I995f0a5bec8ef06db887127119d4f0f9209bf4bf
Fixes-Issue: CLIENT-498
Reviewed-on: http://gerrit.dmdirc.com/3374
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
installer:
291a6b1 Chris Smith <chris@dmdirc.com>
Add script to submit plugins to the addons site.
This mirrors the functionality in the build-plugins.xml ant project
in the main repo, but as it's not using ant is an awful lot nicer
and more sane.
We'll use this to submit plugins from teamcity builds.
Gerrit: http://gerrit.dmdirc.com/3355
Change-Id: I911f441f1d1a8e0c15a9bbaeed2c1336b46cb634
We haven't used the output of these in ages - teamcity does everything
better and more promptly - but they're still running every night causing
huge load.
Change-Id: Ia8df990be5b80bbd2f7447a7476dc745ea8b3e63
Reviewed-on: http://gerrit.dmdirc.com/3354
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
installer:
2def3eb Chris Smith <chris@dmdirc.com>
Make the installer package self-contained.
Don't reach out for resources from DMDirc as it doesn't make
much sense when providing a --jar.
Gerrit: http://gerrit.dmdirc.com/3351
Change-Id: I2869d1011f686f1b6cd0011497590229618d6ed8
Handle errors when creating defaults dirs properly
If we can't create the defaults directory it's a Very Bad Sign™, and
we should bail out immediately. It probably means the user is running
from a directory they don't have write access to, and if we can't
write defaults then the client isn't going to work very well at all.
Previous behaviour tried to carry on and failed a precondition check
and died even more painfully.
Change-Id: Id72fb63c014939ac384ee03b9eb0f14baf6e18fe
Fixes-Issue: CLIENT-488
Reviewed-on: http://gerrit.dmdirc.com/3335
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
If we pass required = false then the config manager will happily
return null if it encounters a disabled optional setting. We
don't accept null so that's a bit daft.
Change-Id: I37934ba15877b8c0caf188b5f80e3353c8555134
Fixes-Issue: CLIENT-491
Reviewed-on: http://gerrit.dmdirc.com/3333
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Move error reporting logic from ProgramError into a new ErrorReporter.
Also add methods for reporting on mode alias issues (currently unused).
Issue: CLIENT-476
Change-Id: I23a25e6cc594003cf2afee7cfda714a9082acc3b
Reviewed-on: http://gerrit.dmdirc.com/3332
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
plugins:
e13440e Chris Smith <chris@dmdirc.com>
Remove error status from the error dialog.
We don't populate this with the new error reporting system.
Gerrit: http://gerrit.dmdirc.com/3330
Change-Id: I2d057cdf6cf222d8ca10a6d26318397f77cea65c
Only send errors to Sentry. Pretend ever error is a shiny new one.
We should remove the fixed status at some point.
Change-Id: I1ae79eca54a417182cdf1ecb560b59c1674be549
Fixes-Issue: CLIENT-475
Reviewed-on: http://gerrit.dmdirc.com/3329
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
The current implementation has its own low priority thread pool.
We're already executing it in a thread ourselves, so just send
them right away.
I think this causes us to not log fatal errors to Sentry sometimes.
Change-Id: Ib4a105711e71be254e73b9aad1b244fc59fc79a4
Reviewed-on: http://gerrit.dmdirc.com/3328
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager