Because of new isTab property there is no need to separate the toolbars
anymore as it can be decided which one to add where based on it.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
In order to differentiate between title and sidebar buttons in sidebar
add isTab property that will place them after separator.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Use same API for ordering title and sidebar and order them in the swing
components and not in events as that is unreliable.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
ConfigChanged is no longer propagated on startup, so colors need to be
loaded explictly for first time.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This simplfies the code and improves performance by only needing to loop
over the menu entries instead of the inventory and checking all types of
inventories.
- Fix exceptions being thrown when losing focus on the client when
searching. There is still an exception when spam clicking, but that was
always there to begin with.
- Fix searching while using the GE window and while using a shop window.
Add support for adding RS widgets to RuneLite overlay system and make
them moveable with persisted positions during restarts.
Depends on #3820 for widget ids
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Use Overlay#getBounds for getting correct bounds in OverlayManager in
case overlay overrides getBounds with custom functionality.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Move initialization of Discord service and EventBus after ClientUI
startup to display the ClientUI sooner
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
- Properly load configuration when first showing ClientUI instead of
waiting for ConfigChanged events.
- Merge open and show to 1 method
- Remove ClientUILoaded as it is no longer necessary
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
- Merge ClientUI.show and ClientUI.init as now applet can be properly
injected
- Change RuneLite to be autocloseable and send it when opening ClientUI
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Instead of exposing static variable provide launch properties to
dependant classes as bound constants in RuneLiteModule.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Instead of requiring to create client from RuneLite just use Guice for
it and separate applet provider.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
- Provide OkHttpClient through Guice instead of using it from static
variable
- Chain the RS classes with Guice and inject ClientLoader to RuneLite
class
- Cleanup RS loading classes a bit
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
SDMM worlds have both `DEADMAN` and `SEASONAL_DEADMAN` types, so we
must check for the latter first to accurately determine the hiscore
lookup endpoint.
When hiding minimap, there are 2 different widget IDs for respective
resizable mode configurations. Find proper one and hide it.
Fixes#976
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>