public KeymapPanel()

in idea-plugin/src/main/java/com/jetbrains/ide/streamdeck/keymap/KeymapPanel.java [84:131]


  public KeymapPanel(boolean showOnlyConflicts) {
    myShowOnlyConflicts = showOnlyConflicts;
    setLayout(new BorderLayout());
    JPanel keymapPanel = new JPanel(new BorderLayout());
    keymapPanel.add(myManager.getSchemesPanel(), BorderLayout.NORTH);
    keymapPanel.add(createKeymapSettingsPanel(), BorderLayout.CENTER);

    IdeFrame ideFrame = IdeFocusManager.getGlobalInstance().getLastFocusedFrame();
    if (ideFrame != null && NationalKeyboardSupport.isSupportedKeyboardLayout(ideFrame.getComponent())) {
      nationalKeyboardsSupport = new JCheckBox(
        new AbstractAction(KeyMapBundle.message(NationalKeyboardSupport.getKeymapBundleKey())) {
          @Override
          public void actionPerformed(ActionEvent e) {
            NationalKeyboardSupport.getInstance().setEnabled(nationalKeyboardsSupport.isSelected());
            try {
              VMOptions.setProperty(NationalKeyboardSupport.getVMOption(), Boolean.toString(NationalKeyboardSupport.getInstance().getEnabled()));
              ApplicationManager.getApplication().invokeLater(
                () -> ApplicationManager.getApplication().restart(),
                ModalityState.nonModal()
              );
            }
            catch (IOException x) {
              Messages.showErrorDialog(keymapPanel, IoErrorText.message(x), OptionsBundle.message("cannot.save.settings.default.dialog.title"));
            }
          }
        });
      nationalKeyboardsSupport.setSelected(NationalKeyboardSupport.getInstance().getEnabled());
      nationalKeyboardsSupport.setBorder(JBUI.Borders.empty());
      keymapPanel.add(nationalKeyboardsSupport, BorderLayout.SOUTH);
    }

    add(keymapPanel, BorderLayout.CENTER);
    addPropertyChangeListener(new PropertyChangeListener() {
      @Override
      public void propertyChange(final @NotNull PropertyChangeEvent evt) {
        if (evt.getPropertyName().equals("ancestor") && evt.getNewValue() != null && evt.getOldValue() == null && myQuickListsModified) {
          currentKeymapChanged();
          myQuickListsModified = false;
        }
      }
    });
    myFilteringPanel.addPropertyChangeListener("shortcut", new PropertyChangeListener() {
      @Override
      public void propertyChange(PropertyChangeEvent event) {
        filterTreeByShortcut(myFilteringPanel.getShortcut());
      }
    });
  }