private JPanel buildButtonPanel() {
		JPanel buttonPanel = new JPanel(new BorderLayout());
		buttonPanel.getAccessibleContext().setAccessibleName("Buttons");
		changeConvertButton = new JButton(repository != null ? CHANGE : CONVERT);
		changeConvertButton.getAccessibleContext().setAccessibleName("Change Convert");
		changeConvertButton.addActionListener(e -> {
			if (changeConvertButton.getText().equals(CONVERT)) {
				convertToShared();
			}
			else {
				updateSharedProjectInfo();
			}
		});

		HelpService help = Help.getHelpService();
		String tag = repository != null ? "Change_Shared_Project_Info" : "Convert_to_Shared";
		help.registerHelp(changeConvertButton, new HelpLocation(GenericHelpTopics.FRONT_END, tag));

		String toolTipForChange = "Change server information or specify another repository.";
		String toolTipForConvert = "Convert project to be a shared project.";
		changeConvertButton
				.setToolTipText(repository != null ? toolTipForChange : toolTipForConvert);

		Class<? extends LocalFileSystem> fsClass = project.getProjectData().getLocalStorageClass();
		String convertStorageButtonLabel = null;
		if (IndexedLocalFileSystem.class.equals(fsClass)) {
			convertStorageButtonLabel = "Upgrade Project Storage Index...";
		}
		else if (MangledLocalFileSystem.class.equals(fsClass)) {
			convertStorageButtonLabel = "Convert Project Storage to Indexed...";
		}

		if (convertStorageButtonLabel != null) {
			convertStorageButton = new JButton(convertStorageButtonLabel);
			convertStorageButton.addActionListener(e -> convertToIndexedFilesystem());
			help.registerHelp(changeConvertButton,
				new HelpLocation(GenericHelpTopics.FRONT_END, "Convert_Project_Storage"));
			convertStorageButton
					.setToolTipText("Convert/Upgrade project storage to latest Indexed Filesystem");
			convertStorageButton.getAccessibleContext().setAccessibleName("Convert Storage");
		}

		JPanel p = new JPanel(new FlowLayout());
		p.getAccessibleContext().setAccessibleName("Convert Storage");
		p.add(changeConvertButton);
		if (convertStorageButton != null) {
			p.add(convertStorageButton);
		}
		buttonPanel.add(p);

		return buttonPanel;
	}
Called from the project action manager when the connection state changes on the
repository.
Ghidra/Framework/Project/src/main/java/ghidra/framework/main/ProjectInfoDialog.java