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
plugins:
e118b28 Chris Smith <chris@dmdirc.com>
Add preferences meta-data.
This is a conversion of all the current swing pref settings to
a new meta-data format. The plan is for the core/plugin system
to be able to parse this and generate the necessary model for
the prefs system.
Gerrit: http://gerrit.dmdirc.com/3321
Change-Id: I38182dd2aefcf62cdaa328204af2cb64f3c54687
plugins:
bee928c Greg Holmes <greg@dmdirc.com>
Move window management into seperate class.
This also changes the behaviour of the look and feel and
textpane font and size preferences and they now require a
restart.
Gerrit: http://gerrit.dmdirc.com/3308
Change-Id: I8fe99fb98f88a6bf34a8e87464423b30bd97262d
plugins:
d137347 Greg Holmes <greg@dmdirc.com>
Remove some controllers.
Also close CSD when channel closes as with SSD to prevent NPEs.
Gerrit: http://gerrit.dmdirc.com/3292
Change-Id: If2e8ccb930c03210750133ca7afd8b8389773434
plugins:
31dc4b5 Chris Smith <chris@dmdirc.com>
Use services for frame managers.
To add a frame manager, a plugin must export a FrameManagerProvider instance.
This will drop users back to using a treeview as their previous config setting
will be wrong (it needs to point to the Provider class now), and I don't think
it's worth adding migration code given we know of 0 users of the buttonbar.
This also enables us to dependency inject the frame managers.
Gerrit: http://gerrit.dmdirc.com/3283
Change-Id: I4e70428f7941bb0cb3c01f300723ef8b3da75e24
If callers specify an implementation then it's the return type they're
concerned about, not the class providing it.
Change-Id: I9d2aa23de47373323cabb362042995f822cd9311
Reviewed-on: http://gerrit.dmdirc.com/3284
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
plugins:
686521d Chris Smith <chris@dmdirc.com>
Kill unused method.
Gerrit: http://gerrit.dmdirc.com/32812f855ed Chris Smith <chris@dmdirc.com>
Remove some deprecations.
This also fixes the param mode panel incorrectly using the global config.
Up until now it was using the global config, so only default mode aliases
would have been available, not ircd/network-specific ones.
Fortunately there aren't many param modes...
Fixes-issue: CLIENT-481
Gerrit: http://gerrit.dmdirc.com/3280
Change-Id: I2f301f0ee0a7f96d46d8ce1e754b8998f9275e70