From fca2b293f10e1f24450352e1be754f24db09cda4 Mon Sep 17 00:00:00 2001 From: Sheikah45 Date: Sun, 19 Nov 2023 17:00:27 -0500 Subject: [PATCH] Add classes that can track when a controller root is shown or attached --- build.gradle | 42 +++++----- .../AchievementItemController.java | 8 +- .../com/faforever/client/api/IceServer.java | 3 +- .../chat/AbstractChatTabController.java | 8 +- .../client/chat/ChannelTabController.java | 4 +- .../chat/ChatCategoryItemController.java | 6 +- .../faforever/client/chat/ChatController.java | 11 +-- .../client/chat/ChatUserItemController.java | 8 +- .../client/chat/ChatUserListController.java | 6 +- .../client/chat/KittehChatService.java | 1 + .../chat/MatchmakingChatController.java | 4 +- .../client/chat/PrivateChatTabController.java | 5 +- .../client/chat/TrustEveryoneFactory.java | 3 + .../chat/UserListCustomizationController.java | 6 +- .../chat/emoticons/EmoticonController.java | 4 +- .../emoticons/EmoticonsGroupController.java | 6 +- .../emoticons/EmoticonsWindowController.java | 6 +- .../client/clan/ClanTooltipController.java | 8 +- .../faforever/client/coop/CoopCategory.java | 2 +- .../faforever/client/coop/CoopController.java | 10 ++- .../client/coop/ReplayButtonController.java | 4 +- .../client/fa/relay/ice/IceAdapterImpl.java | 2 + .../filter/AbstractFilterController.java | 7 +- .../filter/AbstractFilterNodeController.java | 4 +- .../AbstractRangeSliderFilterController.java | 2 +- .../filter/FilterMultiCheckboxController.java | 2 +- .../filter/MutableListFilterController.java | 11 +-- ...RangeSliderWithChoiceFilterController.java | 4 +- .../client/fx/AbstractViewController.java | 32 -------- .../com/faforever/client/fx/Controller.java | 2 +- .../client/fx/DualStringListCell.java | 31 ++++---- .../fx/DualStringListCellController.java | 2 +- .../client/fx/IconButtonListCell.java | 12 ++- .../fx/IconButtonListCellController.java | 3 +- .../client/fx/MenuItemController.java | 72 ++++++++++++++++++ .../faforever/client/fx/NodeController.java | 71 +++++++++++++++++ .../client/fx/SimpleChangeListener.java | 1 + .../client/fx/SimpleInvalidationListener.java | 1 + .../faforever/client/fx/TabController.java | 76 +++++++++++++++++++ .../AbstractCustomMenuItemController.java | 4 +- ...ryColorPickerCustomMenuItemController.java | 3 +- ...erColorPickerCustomMenuItemController.java | 2 +- .../client/game/CreateGameController.java | 8 +- .../client/game/CustomGamesController.java | 10 ++- .../client/game/EnterPasswordController.java | 8 +- .../client/game/GameDetailController.java | 7 +- .../faforever/client/game/GameService.java | 1 - .../client/game/GameTileController.java | 8 +- .../client/game/GameTooltipController.java | 8 +- .../client/game/GamesTableController.java | 5 +- .../game/GamesTilesContainerController.java | 7 +- .../client/game/GenerateMapController.java | 8 +- .../client/game/PlayerCardController.java | 7 +- .../com/faforever/client/game/PlayerFill.java | 4 +- .../client/game/TeamCardController.java | 8 +- .../client/headerbar/HeaderBarController.java | 8 +- .../NotificationButtonController.java | 8 +- .../headerbar/UserButtonController.java | 7 +- .../leaderboard/LeaderboardController.java | 8 +- .../leaderboard/LeaderboardsController.java | 8 +- .../leaderboard/SubDivisionTabController.java | 6 +- .../client/login/AnnouncementController.java | 4 +- .../client/login/LoginController.java | 8 +- .../login/OfflineServiceController.java | 4 +- .../login/OfflineServicesController.java | 4 +- .../client/main/LinkDetailController.java | 4 +- .../client/main/LinksAndHelpController.java | 7 +- .../faforever/client/main/MainController.java | 20 ++--- .../client/main/StartTabChooseController.java | 6 +- .../client/map/MapCardController.java | 4 +- .../client/map/MapDetailController.java | 8 +- .../com/faforever/client/map/MapService.java | 1 + .../client/map/MapUploadController.java | 8 +- .../client/map/MapVaultController.java | 7 +- .../management/MapsManagementController.java | 18 ++--- .../map/management/RemovableMapCell.java | 39 ++++++++++ .../RemovableMapCellController.java | 53 ++++++------- .../client/mod/ModCardController.java | 4 +- .../client/mod/ModDetailController.java | 8 +- .../client/mod/ModManagerController.java | 6 +- .../com/faforever/client/mod/ModService.java | 1 + .../client/mod/ModUploadController.java | 8 +- .../client/mod/ModVaultController.java | 7 +- .../faforever/client/news/NewsController.java | 10 +-- .../ImmediateNotificationController.java | 8 +- .../PersistentNotificationController.java | 5 +- .../PersistentNotificationsController.java | 8 +- .../ServerNotificationController.java | 8 +- .../TransientNotificationController.java | 8 +- .../TransientNotificationsController.java | 8 +- .../faforever/client/play/PlayController.java | 16 ++-- .../player/PlayerInfoWindowController.java | 10 ++- .../client/player/PlayerNoteController.java | 6 +- .../PlayerRatingChartTooltipController.java | 4 +- .../player/PrivatePlayerInfoController.java | 7 +- .../player/UserLeaderboardInfoController.java | 6 +- .../preferences/ui/RemovableListCell.java | 47 ++++++++++++ .../ui/RemovableListCellController.java | 29 +++---- .../preferences/ui/SettingsController.java | 14 ++-- .../client/query/BinaryFilterController.java | 12 ++- .../query/CategoryFilterController.java | 14 +++- .../query/DateRangeFilterController.java | 22 ++++-- .../client/query/FilterNodeController.java | 17 ++--- .../client/query/LogicalNodeController.java | 7 +- .../client/query/RangeFilterController.java | 17 ++++- .../client/query/SpecificationController.java | 15 ++-- .../client/query/TextFilterController.java | 15 +++- .../client/query/ToggleFilterController.java | 12 ++- .../client/replay/LiveReplayController.java | 8 +- .../replay/LocalReplayVaultController.java | 7 +- .../replay/OnlineReplayVaultController.java | 7 +- .../client/replay/ReplayCardController.java | 4 +- .../client/replay/ReplayDetailController.java | 7 +- .../client/replay/WatchButtonController.java | 7 +- .../reporting/ReportDialogController.java | 8 +- .../settings/LanguageItemController.java | 6 +- .../faforever/client/steam/SteamService.java | 2 + .../faforever/client/svg/SvgImageLoader.java | 4 +- .../client/task/CompletableTask.java | 1 + .../task/PrioritizedCompletableTask.java | 4 + .../InvitePlayerController.java | 14 ++-- .../MatchmakingQueueItemController.java | 6 +- .../PartyMemberItemController.java | 6 +- .../TeamMatchmakingController.java | 6 +- .../client/theme/DirectoryVisitor.java | 2 +- .../TournamentListItemController.java | 4 +- .../tournament/TournamentsController.java | 8 +- .../TutorialCategoryListItemController.java | 4 +- .../client/tutorial/TutorialController.java | 8 +- .../tutorial/TutorialDetailController.java | 6 +- .../tutorial/TutorialListItemController.java | 4 +- .../com/faforever/client/ui/alert/Alert.java | 1 + .../client/ui/effects/DepthManager.java | 2 +- .../ui/statusbar/StatusBarController.java | 10 ++- .../client/ui/transitions/CacheMemento.java | 4 +- .../client/units/UnitsController.java | 7 +- .../com/faforever/client/update/Version.java | 2 +- .../faforever/client/vault/MapController.java | 8 +- .../faforever/client/vault/ModController.java | 8 +- .../client/vault/ReplayController.java | 10 +-- .../vault/VaultEntityCardController.java | 5 +- .../client/vault/VaultEntityController.java | 10 +-- .../vault/VaultEntityShowRoomController.java | 6 +- .../client/vault/review/ReviewController.java | 7 +- .../vault/review/ReviewsController.java | 7 +- .../client/vault/review/StarController.java | 7 +- .../client/vault/review/StarsController.java | 7 +- .../vault/search/SaveQueryController.java | 4 +- .../vault/search/SavedQueriesController.java | 12 +-- .../client/vault/search/SearchController.java | 7 +- .../resources/theme/statusbar/status_bar.fxml | 4 +- .../builders/ClientConfigurationBuilder.java | 2 + .../LeaderboardsControllerTest.java | 2 +- ...lerTest.java => RemovableMapCellTest.java} | 5 +- .../client/mod/ModDetailControllerTest.java | 8 -- .../ui/SettingsControllerTest.java | 3 +- .../query/DateRangeFilterControllerTest.java | 3 +- .../replay/ReplayFileWriterImplTest.java | 2 +- .../tutorial/TutorialControllerTest.java | 2 +- .../client/util/ReflectionUtilTest.java | 2 +- .../vault/search/SaveQueryControllerTest.java | 4 +- 161 files changed, 943 insertions(+), 538 deletions(-) delete mode 100644 src/main/java/com/faforever/client/fx/AbstractViewController.java create mode 100644 src/main/java/com/faforever/client/fx/MenuItemController.java create mode 100644 src/main/java/com/faforever/client/fx/NodeController.java create mode 100644 src/main/java/com/faforever/client/fx/TabController.java create mode 100644 src/main/java/com/faforever/client/map/management/RemovableMapCell.java create mode 100644 src/main/java/com/faforever/client/preferences/ui/RemovableListCell.java rename src/test/java/com/faforever/client/map/management/{RemovableMapCellControllerTest.java => RemovableMapCellTest.java} (94%) diff --git a/build.gradle b/build.gradle index 47fce33aab..1fd7d5fbf2 100644 --- a/build.gradle +++ b/build.gradle @@ -21,20 +21,20 @@ apply plugin: 'io.spring.dependency-management' // source: https://github.com/mendhak/Gradle-Travis-Colored-Output/blob/master/ColoredOutput.gradle tasks.withType(Test).configureEach { - String ANSI_BOLD_WHITE = "\u001B[0;1m"; - String ANSI_RESET = "\u001B[0m"; - String ANSI_BLACK = "\u001B[30m"; - String ANSI_RED = "\u001B[31m"; - String ANSI_GREEN = "\u001B[32m"; - String ANSI_YELLOW = "\u001B[33m"; - String ANSI_BLUE = "\u001B[34m"; - String ANSI_PURPLE = "\u001B[35m"; - String ANSI_CYAN = "\u001B[36m"; - String ANSI_WHITE = "\u001B[37m"; - String CHECK_MARK = "\u2713"; - String NEUTRAL_FACE = "\u0CA0_\u0CA0"; - String X_MARK = "\u274C"; - String indent = '\t'; + String ANSI_BOLD_WHITE = "\u001B[0;1m" + String ANSI_RESET = "\u001B[0m" + String ANSI_BLACK = "\u001B[30m" + String ANSI_RED = "\u001B[31m" + String ANSI_GREEN = "\u001B[32m" + String ANSI_YELLOW = "\u001B[33m" + String ANSI_BLUE = "\u001B[34m" + String ANSI_PURPLE = "\u001B[35m" + String ANSI_CYAN = "\u001B[36m" + String ANSI_WHITE = "\u001B[37m" + String CHECK_MARK = "\u2713" + String NEUTRAL_FACE = "\u0CA0_\u0CA0" + String X_MARK = "\u274C" + String indent = '\t' def outputCache = new HashMap>() @@ -71,21 +71,21 @@ tasks.withType(Test).configureEach { switch (result.resultType) { case TestResult.ResultType.SUCCESS: - summaryStyle = ANSI_GREEN; - break; + summaryStyle = ANSI_GREEN + break case TestResult.ResultType.FAILURE: - summaryStyle = ANSI_RED; - break; + summaryStyle = ANSI_RED + break } - out.println("--------------------------------------------------------------------------"); + out.println("--------------------------------------------------------------------------") out.println("Results: " + summaryStyle + " ${result.resultType} " + ANSI_RESET + " (${result.testCount} tests, " + ANSI_GREEN + " ${result.successfulTestCount} passed " + ANSI_RESET + ", " + failStyle + " ${result.failedTestCount} failed " + ANSI_RESET + ", " + skipStyle + " ${result.skippedTestCount} skipped " + ANSI_RESET - + ")"); - out.println("--------------------------------------------------------------------------"); + + ")") + out.println("--------------------------------------------------------------------------") } } } diff --git a/src/main/java/com/faforever/client/achievements/AchievementItemController.java b/src/main/java/com/faforever/client/achievements/AchievementItemController.java index 88462131f7..f81d6112dd 100644 --- a/src/main/java/com/faforever/client/achievements/AchievementItemController.java +++ b/src/main/java/com/faforever/client/achievements/AchievementItemController.java @@ -1,7 +1,7 @@ package com.faforever.client.achievements; -import com.faforever.client.fx.Controller; import com.faforever.client.fx.FxApplicationThreadExecutor; +import com.faforever.client.fx.NodeController; import com.faforever.client.i18n.I18n; import com.faforever.client.util.Assert; import com.faforever.commons.api.dto.AchievementDefinition; @@ -24,7 +24,7 @@ @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @RequiredArgsConstructor // TODO this class should not use API objects -public class AchievementItemController implements Controller { +public class AchievementItemController extends NodeController { private final I18n i18n; private final AchievementService achievementService; @@ -39,11 +39,13 @@ public class AchievementItemController implements Controller { public ImageView imageView; private AchievementDefinition achievementDefinition; - public void initialize() { + @Override + protected void onInitialize() { progressBar.managedProperty().bind(progressBar.visibleProperty()); progressLabel.managedProperty().bind(progressLabel.visibleProperty()); } + @Override public Node getRoot() { return achievementItemRoot; } diff --git a/src/main/java/com/faforever/client/api/IceServer.java b/src/main/java/com/faforever/client/api/IceServer.java index 38b24c11cf..48da0e5d02 100644 --- a/src/main/java/com/faforever/client/api/IceServer.java +++ b/src/main/java/com/faforever/client/api/IceServer.java @@ -1,4 +1,3 @@ package com.faforever.client.api; -public record IceServer(String id, String region) { -} +public record IceServer(String id, String region) {} diff --git a/src/main/java/com/faforever/client/chat/AbstractChatTabController.java b/src/main/java/com/faforever/client/chat/AbstractChatTabController.java index f9363c2641..8fb8a9e261 100644 --- a/src/main/java/com/faforever/client/chat/AbstractChatTabController.java +++ b/src/main/java/com/faforever/client/chat/AbstractChatTabController.java @@ -5,11 +5,11 @@ import com.faforever.client.domain.AvatarBean; import com.faforever.client.domain.PlayerBean; import com.faforever.client.exception.AssetLoadException; -import com.faforever.client.fx.Controller; import com.faforever.client.fx.FxApplicationThreadExecutor; import com.faforever.client.fx.JavaFxUtil; import com.faforever.client.fx.SimpleChangeListener; import com.faforever.client.fx.SimpleInvalidationListener; +import com.faforever.client.fx.TabController; import com.faforever.client.fx.WebViewConfigurer; import com.faforever.client.i18n.I18n; import com.faforever.client.main.event.NavigateEvent; @@ -96,7 +96,7 @@ */ @Slf4j @RequiredArgsConstructor -public abstract class AbstractChatTabController implements Controller { +public abstract class AbstractChatTabController extends TabController { static final String CSS_CLASS_CHAT_ONLY = "chat_only"; private static final String MESSAGE_CONTAINER_ID = "chat-container"; @@ -167,7 +167,8 @@ public abstract class AbstractChatTabController implements Controller { @VisibleForTesting Pattern mentionPattern; - public void initialize() { + @Override + protected void onInitialize() { BooleanExpression tabPaneShowing = BooleanExpression.booleanExpression(getRoot().tabPaneProperty() .flatMap( uiService::createShowingProperty)); @@ -263,6 +264,7 @@ protected void setUnread(boolean unread) { } } + @Override public abstract Tab getRoot(); protected void incrementUnreadMessagesCount() { diff --git a/src/main/java/com/faforever/client/chat/ChannelTabController.java b/src/main/java/com/faforever/client/chat/ChannelTabController.java index 719396a656..8321647cb7 100644 --- a/src/main/java/com/faforever/client/chat/ChannelTabController.java +++ b/src/main/java/com/faforever/client/chat/ChannelTabController.java @@ -112,8 +112,8 @@ public ChannelTabController(WebViewConfigurer webViewConfigurer, LoginService lo } @Override - public void initialize() { - super.initialize(); + protected void onInitialize() { + super.onInitialize(); JavaFxUtil.bindManagedToVisible(topicPane, chatUserList, changeTopicTextButton, topicTextField, cancelChangesTopicTextButton, topicText, topicCharactersLimitLabel, chatMessageSearchContainer); diff --git a/src/main/java/com/faforever/client/chat/ChatCategoryItemController.java b/src/main/java/com/faforever/client/chat/ChatCategoryItemController.java index 6b4e0851fb..8152615aee 100644 --- a/src/main/java/com/faforever/client/chat/ChatCategoryItemController.java +++ b/src/main/java/com/faforever/client/chat/ChatCategoryItemController.java @@ -1,7 +1,7 @@ package com.faforever.client.chat; -import com.faforever.client.fx.Controller; import com.faforever.client.fx.JavaFxUtil; +import com.faforever.client.fx.NodeController; import com.faforever.client.fx.contextmenu.ChatCategoryColorPickerCustomMenuItemController; import com.faforever.client.fx.contextmenu.ContextMenuBuilder; import com.faforever.client.i18n.I18n; @@ -31,7 +31,7 @@ @Component @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @RequiredArgsConstructor -public class ChatCategoryItemController implements Controller { +public class ChatCategoryItemController extends NodeController { private final I18n i18n; private final UiService uiService; @@ -49,7 +49,7 @@ public class ChatCategoryItemController implements Controller { public Label userCounterLabel; @Override - public void initialize() { + protected void onInitialize() { bindProperties(); } diff --git a/src/main/java/com/faforever/client/chat/ChatController.java b/src/main/java/com/faforever/client/chat/ChatController.java index 28cccacdf4..b431f550df 100644 --- a/src/main/java/com/faforever/client/chat/ChatController.java +++ b/src/main/java/com/faforever/client/chat/ChatController.java @@ -1,9 +1,9 @@ package com.faforever.client.chat; import com.faforever.client.exception.ProgrammingError; -import com.faforever.client.fx.AbstractViewController; import com.faforever.client.fx.FxApplicationThreadExecutor; import com.faforever.client.fx.JavaFxUtil; +import com.faforever.client.fx.NodeController; import com.faforever.client.main.event.NavigateEvent; import com.faforever.client.net.ConnectionState; import com.faforever.client.theme.UiService; @@ -32,7 +32,7 @@ @Component @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @RequiredArgsConstructor -public class ChatController extends AbstractViewController { +public class ChatController extends NodeController { private final ChatService chatService; private final UiService uiService; @@ -60,8 +60,8 @@ public class ChatController extends AbstractViewController { public TextField channelNameTextField; @Override - public void initialize() { - super.initialize(); + protected void onInitialize() { + super.onInitialize(); BooleanExpression showing = uiService.createShowingProperty(getRoot()); @@ -159,6 +159,7 @@ private void onConnectionStateChange(ConnectionState newValue) { } } + @Override public AnchorPane getRoot() { return chatRoot; } @@ -174,7 +175,7 @@ public void onJoinChannelButtonClicked() { } @Override - protected void onDisplay(NavigateEvent navigateEvent) { + protected void onNavigate(NavigateEvent navigateEvent) { if (tabPane.getTabs().size() > 1) { Tab tab = tabPane.getSelectionModel().getSelectedItem(); Optional.ofNullable(channelToChatTabController.get((ChatChannel) tab.getUserData())) diff --git a/src/main/java/com/faforever/client/chat/ChatUserItemController.java b/src/main/java/com/faforever/client/chat/ChatUserItemController.java index 5e90fb9c10..014bb46b59 100644 --- a/src/main/java/com/faforever/client/chat/ChatUserItemController.java +++ b/src/main/java/com/faforever/client/chat/ChatUserItemController.java @@ -4,9 +4,9 @@ import com.faforever.client.domain.AvatarBean; import com.faforever.client.domain.GameBean; import com.faforever.client.domain.PlayerBean; -import com.faforever.client.fx.Controller; import com.faforever.client.fx.ImageViewHelper; import com.faforever.client.fx.JavaFxUtil; +import com.faforever.client.fx.NodeController; import com.faforever.client.fx.contextmenu.AddEditPlayerNoteMenuItem; import com.faforever.client.fx.contextmenu.AddFoeMenuItem; import com.faforever.client.fx.contextmenu.AddFriendMenuItem; @@ -65,7 +65,7 @@ @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Slf4j @RequiredArgsConstructor -public class ChatUserItemController implements Controller { +public class ChatUserItemController extends NodeController { private final I18n i18n; private final UiService uiService; @@ -95,7 +95,8 @@ public class ChatUserItemController implements Controller { private Tooltip countryTooltip; private Tooltip noteTooltip; - public void initialize() { + @Override + protected void onInitialize() { initializeTooltips(); bindProperties(); } @@ -189,6 +190,7 @@ public void onItemClicked(MouseEvent mouseEvent) { } } + @Override public Pane getRoot() { return root; } diff --git a/src/main/java/com/faforever/client/chat/ChatUserListController.java b/src/main/java/com/faforever/client/chat/ChatUserListController.java index b275e2bb88..f49fd975a9 100644 --- a/src/main/java/com/faforever/client/chat/ChatUserListController.java +++ b/src/main/java/com/faforever/client/chat/ChatUserListController.java @@ -1,9 +1,9 @@ package com.faforever.client.chat; import com.faforever.client.filter.ChatUserFilterController; -import com.faforever.client.fx.Controller; import com.faforever.client.fx.FxApplicationThreadExecutor; import com.faforever.client.fx.JavaFxUtil; +import com.faforever.client.fx.NodeController; import com.faforever.client.game.GameTooltipController; import com.faforever.client.i18n.I18n; import com.faforever.client.preferences.ChatPrefs; @@ -61,7 +61,7 @@ @Component @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @RequiredArgsConstructor -public class ChatUserListController implements Controller { +public class ChatUserListController extends NodeController { private static final Comparator CHAT_LIST_ITEM_COMPARATOR = Comparator.comparing(ChatListItem::category) .thenComparing(ChatListItem::user, Comparator.nullsFirst(Comparator.comparing(ChatChannelUser::getUsername))); @@ -101,7 +101,7 @@ public class ChatUserListController implements Controller { private ChatUserFilterController chatUserFilterController; @Override - public void initialize() { + protected void onInitialize() { ObservableValue showing = uiService.createShowingProperty(getRoot()); hiddenCategories.bind(Bindings.valueAt(chatPrefs.getChannelNameToHiddenCategories(), chatChannel.map(ChatChannel::getName)) diff --git a/src/main/java/com/faforever/client/chat/KittehChatService.java b/src/main/java/com/faforever/client/chat/KittehChatService.java index 64d27c44cb..798e63c705 100644 --- a/src/main/java/com/faforever/client/chat/KittehChatService.java +++ b/src/main/java/com/faforever/client/chat/KittehChatService.java @@ -522,6 +522,7 @@ public void destroy() { close(); } + @Override public void close() { if (client != null) { client.shutdown(); diff --git a/src/main/java/com/faforever/client/chat/MatchmakingChatController.java b/src/main/java/com/faforever/client/chat/MatchmakingChatController.java index 61822bfbb5..280a0e7ebb 100644 --- a/src/main/java/com/faforever/client/chat/MatchmakingChatController.java +++ b/src/main/java/com/faforever/client/chat/MatchmakingChatController.java @@ -74,8 +74,8 @@ public MatchmakingChatController(LoginService loginService, } @Override - public void initialize() { - super.initialize(); + protected void onInitialize() { + super.onInitialize(); ObservableValue showing = getRoot().selectedProperty() .and(BooleanExpression.booleanExpression(getRoot().tabPaneProperty() diff --git a/src/main/java/com/faforever/client/chat/PrivateChatTabController.java b/src/main/java/com/faforever/client/chat/PrivateChatTabController.java index 83525d24c1..8569e25057 100644 --- a/src/main/java/com/faforever/client/chat/PrivateChatTabController.java +++ b/src/main/java/com/faforever/client/chat/PrivateChatTabController.java @@ -78,8 +78,9 @@ public PrivateChatTabController(LoginService loginService, this.audioService = audioService; } - public void initialize() { - super.initialize(); + @Override + protected void onInitialize() { + super.onInitialize(); ObservableValue showing = getRoot().selectedProperty() .and(BooleanExpression.booleanExpression(getRoot().tabPaneProperty() diff --git a/src/main/java/com/faforever/client/chat/TrustEveryoneFactory.java b/src/main/java/com/faforever/client/chat/TrustEveryoneFactory.java index c78a51b51f..5801abb9f2 100644 --- a/src/main/java/com/faforever/client/chat/TrustEveryoneFactory.java +++ b/src/main/java/com/faforever/client/chat/TrustEveryoneFactory.java @@ -25,12 +25,15 @@ protected void engineInit(ManagerFactoryParameters spec) { @Override protected TrustManager[] engineGetTrustManagers() { return new TrustManager[]{new X509TrustManager() { + @Override public void checkClientTrusted(X509Certificate[] chain, String authType) { } + @Override public void checkServerTrusted(X509Certificate[] chain, String authType) { } + @Override public X509Certificate[] getAcceptedIssuers() { return null; } diff --git a/src/main/java/com/faforever/client/chat/UserListCustomizationController.java b/src/main/java/com/faforever/client/chat/UserListCustomizationController.java index 40037e1712..815d5a5ab6 100644 --- a/src/main/java/com/faforever/client/chat/UserListCustomizationController.java +++ b/src/main/java/com/faforever/client/chat/UserListCustomizationController.java @@ -1,6 +1,6 @@ package com.faforever.client.chat; -import com.faforever.client.fx.Controller; +import com.faforever.client.fx.NodeController; import com.faforever.client.preferences.ChatPrefs; import javafx.scene.control.CheckBox; import javafx.scene.layout.VBox; @@ -12,7 +12,7 @@ @Component @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @RequiredArgsConstructor -public class UserListCustomizationController implements Controller { +public class UserListCustomizationController extends NodeController { private final ChatPrefs chatPrefs; @@ -21,7 +21,7 @@ public class UserListCustomizationController implements Controller { public CheckBox showMapPreviewCheckBox; @Override - public void initialize() { + protected void onInitialize() { showMapNameCheckBox.selectedProperty().bindBidirectional(chatPrefs.showMapNameProperty()); showMapPreviewCheckBox.selectedProperty().bindBidirectional(chatPrefs.showMapPreviewProperty()); } diff --git a/src/main/java/com/faforever/client/chat/emoticons/EmoticonController.java b/src/main/java/com/faforever/client/chat/emoticons/EmoticonController.java index c7075ab90d..97e212effb 100644 --- a/src/main/java/com/faforever/client/chat/emoticons/EmoticonController.java +++ b/src/main/java/com/faforever/client/chat/emoticons/EmoticonController.java @@ -1,6 +1,6 @@ package com.faforever.client.chat.emoticons; -import com.faforever.client.fx.Controller; +import com.faforever.client.fx.NodeController; import javafx.scene.control.Tooltip; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; @@ -19,7 +19,7 @@ @Component @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @RequiredArgsConstructor -public class EmoticonController implements Controller { +public class EmoticonController extends NodeController { private final Font shortcodesFont = new Font(14d); diff --git a/src/main/java/com/faforever/client/chat/emoticons/EmoticonsGroupController.java b/src/main/java/com/faforever/client/chat/emoticons/EmoticonsGroupController.java index cf0c4f5e50..fa3cefd082 100644 --- a/src/main/java/com/faforever/client/chat/emoticons/EmoticonsGroupController.java +++ b/src/main/java/com/faforever/client/chat/emoticons/EmoticonsGroupController.java @@ -1,7 +1,7 @@ package com.faforever.client.chat.emoticons; -import com.faforever.client.fx.Controller; import com.faforever.client.fx.JavaFxUtil; +import com.faforever.client.fx.NodeController; import com.faforever.client.fx.PlatformService; import com.faforever.client.theme.UiService; import javafx.scene.control.Hyperlink; @@ -25,7 +25,7 @@ @Component @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @RequiredArgsConstructor -public class EmoticonsGroupController implements Controller { +public class EmoticonsGroupController extends NodeController { private final UiService uiService; private final PlatformService platformService; @@ -37,7 +37,7 @@ public class EmoticonsGroupController implements Controller { public FlowPane emoticonsPane; @Override - public void initialize() { + protected void onInitialize() { JavaFxUtil.bindManagedToVisible(attributionPane); } diff --git a/src/main/java/com/faforever/client/chat/emoticons/EmoticonsWindowController.java b/src/main/java/com/faforever/client/chat/emoticons/EmoticonsWindowController.java index 6c60847a68..fafb1794e6 100644 --- a/src/main/java/com/faforever/client/chat/emoticons/EmoticonsWindowController.java +++ b/src/main/java/com/faforever/client/chat/emoticons/EmoticonsWindowController.java @@ -1,6 +1,6 @@ package com.faforever.client.chat.emoticons; -import com.faforever.client.fx.Controller; +import com.faforever.client.fx.NodeController; import com.faforever.client.theme.UiService; import com.google.common.annotations.VisibleForTesting; import javafx.scene.Node; @@ -21,7 +21,7 @@ @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Slf4j @RequiredArgsConstructor -public class EmoticonsWindowController implements Controller { +public class EmoticonsWindowController extends NodeController { private final EmoticonService emoticonService; private final UiService uiService; @@ -32,7 +32,7 @@ public class EmoticonsWindowController implements Controller { private TextInputControl textInputControl; @Override - public void initialize() { + protected void onInitialize() { List nodes = new ArrayList<>(); emoticonService.getEmoticonsGroups().forEach(group -> { EmoticonsGroupController controller = uiService.loadFxml("theme/chat/emoticons/emoticons_group.fxml"); diff --git a/src/main/java/com/faforever/client/clan/ClanTooltipController.java b/src/main/java/com/faforever/client/clan/ClanTooltipController.java index 26d2ff1e80..12c90185e8 100644 --- a/src/main/java/com/faforever/client/clan/ClanTooltipController.java +++ b/src/main/java/com/faforever/client/clan/ClanTooltipController.java @@ -2,7 +2,7 @@ import com.faforever.client.domain.ClanBean; -import com.faforever.client.fx.Controller; +import com.faforever.client.fx.NodeController; import com.faforever.client.i18n.I18n; import javafx.scene.Node; import javafx.scene.control.Label; @@ -15,7 +15,7 @@ @Component @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) -public class ClanTooltipController implements Controller { +public class ClanTooltipController extends NodeController { public Pane clanTooltipRoot; public Label nameLabel; @@ -25,7 +25,8 @@ public class ClanTooltipController implements Controller { public Label descriptionTitleLabel; private final I18n i18n; - public void initialize() { + @Override + protected void onInitialize() { descriptionLabel.managedProperty().bind(descriptionLabel.visibleProperty()); descriptionTitleLabel.managedProperty().bind(descriptionTitleLabel.visibleProperty()); descriptionLabel.visibleProperty().bind(descriptionLabel.textProperty().isNotEmpty()); @@ -45,6 +46,7 @@ public void setClan(ClanBean clan) { descriptionLabel.setText(Optional.ofNullable(clan.getDescription()).orElse("")); } + @Override public Pane getRoot() { return clanTooltipRoot; } diff --git a/src/main/java/com/faforever/client/coop/CoopCategory.java b/src/main/java/com/faforever/client/coop/CoopCategory.java index 5d77a4d92c..3ff77b2558 100644 --- a/src/main/java/com/faforever/client/coop/CoopCategory.java +++ b/src/main/java/com/faforever/client/coop/CoopCategory.java @@ -1,5 +1,5 @@ package com.faforever.client.coop; public enum CoopCategory { - FA, AEON, CYBRAN, UEF, CUSTOM; + FA, AEON, CYBRAN, UEF, CUSTOM } diff --git a/src/main/java/com/faforever/client/coop/CoopController.java b/src/main/java/com/faforever/client/coop/CoopController.java index 0b7417a25f..813d3d71d6 100644 --- a/src/main/java/com/faforever/client/coop/CoopController.java +++ b/src/main/java/com/faforever/client/coop/CoopController.java @@ -5,11 +5,11 @@ import com.faforever.client.domain.GameBean; import com.faforever.client.domain.ReplayBean; import com.faforever.client.exception.NotifiableException; -import com.faforever.client.fx.AbstractViewController; import com.faforever.client.fx.ControllerTableCell; import com.faforever.client.fx.FxApplicationThreadExecutor; import com.faforever.client.fx.ImageViewHelper; import com.faforever.client.fx.JavaFxUtil; +import com.faforever.client.fx.NodeController; import com.faforever.client.fx.StringCell; import com.faforever.client.fx.StringListCell; import com.faforever.client.fx.WebViewConfigurer; @@ -73,7 +73,7 @@ @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Slf4j @RequiredArgsConstructor -public class CoopController extends AbstractViewController { +public class CoopController extends NodeController { private static final Predicate OPEN_COOP_GAMES_PREDICATE = gameInfoBean -> gameInfoBean.getStatus() == GameStatus.OPEN && gameInfoBean.getGameType() == GameType.COOP; @@ -109,8 +109,9 @@ public class CoopController extends AbstractViewController { public TableColumn timeColumn; public TableColumn replayColumn; - public void initialize() { - super.initialize(); + @Override + protected void onInitialize() { + super.onInitialize(); imageViewHelper.setDefaultPlaceholderImage(mapPreviewImageView, true); missionComboBox.setCellFactory(param -> missionListCell()); @@ -306,6 +307,7 @@ public void onMapPreviewImageClicked() { Optional.ofNullable(mapPreviewImageView.getImage()).ifPresent(PopupUtil::showImagePopup); } + @Override public Node getRoot() { return coopRoot; } diff --git a/src/main/java/com/faforever/client/coop/ReplayButtonController.java b/src/main/java/com/faforever/client/coop/ReplayButtonController.java index 5cf5cad071..708fc9d4ca 100644 --- a/src/main/java/com/faforever/client/coop/ReplayButtonController.java +++ b/src/main/java/com/faforever/client/coop/ReplayButtonController.java @@ -1,6 +1,6 @@ package com.faforever.client.coop; -import com.faforever.client.fx.Controller; +import com.faforever.client.fx.NodeController; import javafx.scene.control.Button; import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.annotation.Scope; @@ -11,7 +11,7 @@ @Component @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) -public class ReplayButtonController implements Controller