PageRenderTime 11ms CodeModel.GetById 5ms RepoModel.GetById 0ms app.codeStats 0ms

/src/org/bitbucket/connectors/jetbrains/ui/BitbucketSettingsConfigurable.java

https://bitbucket.org/atlassian/jetbrains-bitbucket-connector/
Java | 76 lines | 56 code | 15 blank | 5 comment | 8 complexity | cf60d208e759c41568d9e357166ac07e MD5 | raw file
  1. package org.bitbucket.connectors.jetbrains.ui;
  2. import com.intellij.openapi.options.ConfigurationException;
  3. import com.intellij.openapi.options.SearchableConfigurable;
  4. import org.bitbucket.connectors.jetbrains.BitbucketSettings;
  5. import org.bitbucket.connectors.jetbrains.BitbucketUtil;
  6. import org.jetbrains.annotations.NotNull;
  7. import javax.swing.*;
  8. /**
  9. * User: leha2000
  10. * Date: Apr 7, 2011
  11. * Time: 2:01:11 PM
  12. */
  13. public class BitbucketSettingsConfigurable implements SearchableConfigurable {
  14. private BitbucketSettingsPanel mySettingsPane;
  15. private final BitbucketSettings mySettings;
  16. public BitbucketSettingsConfigurable() {
  17. mySettings = BitbucketSettings.getInstance();
  18. }
  19. public String getDisplayName() {
  20. return BitbucketUtil.BITBUCKET;
  21. }
  22. public Icon getIcon() {
  23. return BitbucketUtil.ICON;
  24. }
  25. public String getHelpTopic() {
  26. return "settings.bitbucket";
  27. }
  28. public JComponent createComponent() {
  29. if (mySettingsPane == null) {
  30. mySettingsPane = new BitbucketSettingsPanel();
  31. }
  32. reset();
  33. return mySettingsPane.getPanel();
  34. }
  35. public boolean isModified() {
  36. return mySettingsPane == null || !mySettings.getLogin().equals(mySettingsPane.getLogin()) ||
  37. !mySettings.getPassword().equals(mySettingsPane.getPassword());
  38. }
  39. public void apply() throws ConfigurationException {
  40. if (mySettingsPane != null) {
  41. mySettings.setLogin(mySettingsPane.getLogin());
  42. mySettings.setPassword(mySettingsPane.getPassword());
  43. }
  44. }
  45. public void reset() {
  46. if (mySettingsPane != null) {
  47. mySettingsPane.setLogin(mySettings.getLogin());
  48. mySettingsPane.setPassword(mySettings.getPassword());
  49. }
  50. }
  51. public void disposeUIResources() {
  52. mySettingsPane = null;
  53. }
  54. @NotNull
  55. public String getId() {
  56. return getHelpTopic();
  57. }
  58. public Runnable enableSearch(String option) {
  59. return null;
  60. }
  61. }