• Ivica Bukvic's avatar
    Dialog and other GUI improvements · f03e0459
    Ivica Bukvic authored and Albert Gräf's avatar Albert Gräf committed
    * Created new and hopefully improved dialogs that should work on all
      three OSs. These include improved margins, optimal sizes that account
      for OS-specific idiosyncrasies, use of non-native toplevel window
      titlebars that cause bunch of issues (e.g. ability to maximize a
      dialog window since nw.js, at least in the earlier versions, has
      spotty support for disabling those), fixed window sizes with minimal
      scrollbars where appropriate, proper spacing between items, better
      positioning of the checkbox and radio buttons, etc.
    
    * Enabled CTRL+W for the search dialog.
    
    * Improved and consistent find bar appearance on all windows (console,
      patch, search).
    
    * Refined activated box to match different zoom levels and font
      sizes. Small discrepancies still exist when using both custom fonts
      and zoom levels, but these are now no more than pixel off, whereas
      before it was all over the place.
    
    * Made sure that patch windows on all OSs are exactly the same size,
      even when using custom zoom levels and fonts.
    
    * Replaced the use of the legacy font menu with the native sub-menu and
      adjusted its behavior accordingly, including updating its values at
      patch open (the same method may prove useful in dealing with the
      undo/redo and other options not being registered properly because they
      may be running before the menu has been created).
    
    * Refined the scrollbar behavior by providing a grab cursor when
      hovering and clicking on them. Also added dynamic updates to scrollbar
      colors (normal, hover, and click).
    
    * Epic hack for making message boxes consistent size when activated.
    
    * Made redrect on a GOP subpatch appear and disappear intelligently when
      dealing with subpatches populated exclusively with scalars. For
      instance, creating an empty object does not create a redrect yet
      because the user may be instantiating another instance of a
      scalar (e.g. a pony). However, once a non-data object has been created
      that wants to be displayed on the parent window inside GOP of the
      subpatch it is a part of, it toggles on. Similarly, once every
      non-scalar object has been deleted, the redrect disappears. There is
      still a lingering question why would one want to do this, but hey, who
      am I to judge?
    
    * Fixed problem where a non-GOP text object got diagonal and y resize
      arrows that triggered consistency check.
    
    * Fixed consistency check where resizing a GOP on the parent window
      using bottom-right corner cursor hotspots, triggered an error when the
      subpatch is also open. Now, everything resizes as it should
      concurrently, regardless of whether this is done on the subpatch or
      the parent window. As a bonus, the properties window reflects changed
      values regardless how they are being changed.
    
    * Better iemgui number2 text offset across different font sizes and zoom
      levels.
    
    * I think that is about it, although I may have missed something...
    f03e0459