Stop swimming against the tide and accept what most of the rest of
the world does.
While it adds an annoying depth to the actual source code, it makes
the root directory nicer (no more 'test-res' dirs), means we don't
have to override the gradle config, and makes it nicer to work in
IDEA 2016.1.
This introduces a CachingDocument which wraps around an IRCDocument
and allows UI-specific caching of UI-specific styled lines (so, e.g.
the web UI could cache HTML versions if it wanted).
Also adds a delegating message maker and attributed string maker,
which incorporates the old "make a StyledDoc then change it into
an AttributedString" logic found in ui.core.util.Utils.
Hopefully this should mean all the the swing stuff can be punted
into the swing UI. The delegated maker will also allow colouring
of the new events to be done sensibly, I think.
Any formattable DisplayableEvent received on a frame container's
event bus is now automatically added to the IRC Document.
Current problems:
1) Every time this happens the old path still executes, so you
end up with two lines
2) Every event on a channel's event bus gets passed to the
server's, so the lines appear there as well.
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>
Highlights:
- FrameContainers are now generic, according to their window type
- Writable frame containers now handle their tab completers
- Redirect plugin works again
- Windows are no longer actively requested from the UI; the UI
creates and adds them in response to events from the WindowManager
fixes issue 3997, fixes issue 4000, fixes issue 4012, fixes issue 4030
fixes issue 4027, fixes issue 4028, fixes issue 4029, fixes issue 4031
fixes issue 4032, fixes issue 4033
Change-Id: Ife307728e46bd3b6dcd189be6886ab8b6fbd9212
Reviewed-on: http://gerrit.dmdirc.com/1144
Reviewed-by: Gregory Holmes <greg@dmdirc.com>
Automatic-Compile: Gregory Holmes <greg@dmdirc.com>
UpdateCopyright.sh now works out the year automatically.
UpdateCopyright.sh now ignores .git aswell as .svn
UpdateCopyright.sh now excludes Binary Files from being matched during the initial search, rather than as an afterthought.
Change-Id: I2cfc56851a4217a4c85cbc7361c7a90421aae717
Reviewed-on: http://gerrit.dmdirc.com/202
Reviewed-by: Shane Mc Cormack <shane@dmdirc.com>
Tested-by: Shane Mc Cormack <shane@dmdirc.com>