With numeric formatting gone, all output is either added direct
to a window (which will be changed soon) or done through
displayable events. Message sinks are now completely unused,
as they don't affect displayable events.
Issue #426
Instead of passing them in to the FrameContainer ctor, create
them afterwards.
This means the reference in FrameContainer can't be final but
removes the horrible setOwner() kludge that was previously in
CommandParser, and cuts down the deps needed to pass in to the
FrameContainer ctor.
The entire client may break, this does seem to do quite a lot.
Change-Id: Iba95186773bc8f79907a051d0eaad78cb1849e37
Reviewed-on: http://gerrit.dmdirc.com/3783
Reviewed-by: Chris Smith <chris@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Pass FrameContainer their parents when constructed
There's no reason for the parent to ever change, and this simplifies
a lot of things going forward.
Change-Id: I0dc9f767840ce0989739ea28f08254c78ef0d565
Depends-On: I3c0dc4b6cf42b5c6b69a499ac11195271c0aa846
Reviewed-on: http://gerrit.dmdirc.com/3466
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Where commands are executed globally, pass in a GlobalWindow.
Make the GlobalWindow a singleton that persists, and is simply
added/removed from the WindowManager when the user wants to
show/hide it.
Change-Id: Iac94848487442509bdbf8ec98f67983e313ed743
Reviewed-on: http://gerrit.dmdirc.com/3451
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Move the functionality down into just FrameContainer. Callers can use
isWritable() to determine if the FrameContainer is writable, instead
of horrible instanceof/casting logic.
Change-Id: Iab58f1d2b9275ee3fc60d79e433e158bae784911
Depends-On: I52a09d5f5ad69c2bebafa58582a173f706515fa6
Reviewed-on: http://gerrit.dmdirc.com/3426
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
There's no sane reason for this to be an abstract method - instead
just create the tab completer and pass it up to WritableFrameContainer.
Change-Id: Ifa80de021c22d2e302d4b66514923cd08c91cac4
Depends-On: I15ab9677fdbcb510ab87a69a07ce8ecb3a994f7f
Reviewed-on: http://gerrit.dmdirc.com/3422
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
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>
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>
- Don't have FrameContainers add themselves to the WindowManager in
the constructor.
- Don't make FrameContainers keep a reference to WindowManager just
to remove themselves when they're closed
- Instead have WindowManager register a FrameClosed listener and use
that to remove windows itself.
Change-Id: Iadbca8a28f7ef3372df7fda722a3cbba2a0fbad6
Depends-On: I0f60ac23438313cab49cdb86c089938f5ee44abc
Reviewed-on: http://gerrit.dmdirc.com/2842
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
This removes some static references and simplifies the
constructors of some of our model classes quite a bit.
Change-Id: Ic1644412a4956aa01b67e1129be47420c7a47b46
Reviewed-on: http://gerrit.dmdirc.com/2832
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Don't manually iterate servers and look up the global window,
instead just use the WindowManager to find writable root windows.
This also fixes a bug whereby aliases were never removed from
the global window.
Change-Id: I8e009e03b1d48646a01b683d20712fd042628349
Reviewed-on: http://gerrit.dmdirc.com/2834
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Remove the remaining WindowManager singleton refs.
Add a GlobalWindowManager to keep state and references, rather than
use static methods on GlobalWindow.
Minor tidying.
Change-Id: I65b84082f0a07cdc9e4c05263f6c5c77282e9b04
Reviewed-on: http://gerrit.dmdirc.com/2818
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Take in a ConfigManager, instead of using a singleton IdentityManager.
This also means that tab completer settings such as case-sensitivity and
allowing empty results can be set per-window rather than globally.
Change-Id: I75d668e954c22186a2d15d917a7c66ccef04f342
Reviewed-on: http://gerrit.dmdirc.com/2749
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Sprinkle some annotations over the CommandManager
More fiddling with NB7.1 settings
Change-Id: I2a0b751798249d4cc3e527f6d2e5525d1936f0e1
Reviewed-on: http://gerrit.dmdirc.com/2278
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager