Changeset 5151 in josm


Ignore:
Timestamp:
2012-04-01T18:56:23+02:00 (7 years ago)
Author:
simon04
Message:

see #6964 - hide toolbar action text when background image loading finishe

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java

    r5079 r5151  
    1717import java.awt.event.ActionListener;
    1818import java.awt.event.InputEvent;
     19import java.beans.PropertyChangeEvent;
     20import java.beans.PropertyChangeListener;
    1921import java.io.IOException;
    2022import java.util.ArrayList;
     
    945947                control.addSeparator();
    946948            } else {
    947                 JButton b = control.add(action.getParametrizedAction());
     949                final JButton b = control.add(action.getParametrizedAction());
    948950                String tt = action.getDisplayTooltip();
    949951                if (tt != null && !tt.isEmpty())
    950952                    b.setToolTipText(tt);
    951953                Icon i = action.getDisplayIcon();
    952                 if (i != null)
     954                if (i != null) {
    953955                    b.setIcon(i);
     956                } else {
     957                    // hide action text if an icon is set later (necessary for delayed/background image loading)
     958                    action.getParametrizedAction().addPropertyChangeListener(new PropertyChangeListener() {
     959
     960                        @Override
     961                        public void propertyChange(PropertyChangeEvent evt) {
     962                            if (Action.SMALL_ICON.equals(evt.getPropertyName())) {
     963                                b.setHideActionText(evt.getNewValue() != null);
     964                            }
     965                        }
     966                    });
     967                }
    954968                b.addMouseListener(new PopupMenuLauncher( new ToolbarPopupMenu(action)));
    955969            }
Note: See TracChangeset for help on using the changeset viewer.