🤑 SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now
Toolbar restore bug
-
I noticed this comment in the Sandbox Tools script:
<span class="syntaxdefault"><br />state </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> tb</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">get_last_state <br />if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">state </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> TB_VISIBLE</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> tb</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">restore<br /> </span><span class="syntaxcomment"># Per bug 2902434, adding a timer call to restore the toolbar. This<br /></span><span class="syntaxdefault"> </span><span class="syntaxcomment"># fixes a toolbar resizing regression on PC as the restore() call<br /></span><span class="syntaxdefault"> </span><span class="syntaxcomment"># does not seem to work as the script is first loading.<br /></span><span class="syntaxdefault"> UI</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">start_timer</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">0.1</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> false</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> tb</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">restore<br /> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">end<br /></span>
I always use SU with small toolbars - so I never really noticed this issue, but toolbars with large icons doesn't open correctly.
Doing that little trickery refreshes the toolbars to correct size.It can even br done to existing ruby toolbars.
I started SU with large toolbars and Selection Toys toolbar visible. I typedUI::Toolbar.new('Selection Toys').restore
Wish the API docs would mention this...
-
I talked about this in another toolbar topic.
I wonder if it would help if the 0.1 sec delay was just "cooked into" the restore() method itself ?? Then you would not need to modify a bunch of plugins and re-release them.
<span class="syntaxdefault"><br />class UI</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">Toolbar<br /> alias_method</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">;</span><span class="syntaxdefault">orig_restore</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">;</span><span class="syntaxdefault">restore </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> def restore</span><span class="syntaxkeyword">()<br /></span><span class="syntaxdefault"> UI</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">start_timer</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">0.1</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> false</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> orig_restore<br /> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> end </span><span class="syntaxcomment">#def<br /></span><span class="syntaxdefault">end </span><span class="syntaxcomment">#class<br /></span><span class="syntaxdefault"> </span>
Advertisement