VCS: file changed remotely hint
[fedora-idea.git] / vcs-impl / src / com / intellij / openapi / vcs / CheckRemoteStatusCheckinHandlerFactory.java
blob97168a196c3806c910febe76bbfff904d224581f
1 package com.intellij.openapi.vcs;
3 import com.intellij.openapi.vcs.checkin.CheckinHandler;
4 import com.intellij.openapi.vcs.checkin.CheckinHandlerFactory;
5 import com.intellij.openapi.vcs.ui.RefreshableOnComponent;
6 import org.jetbrains.annotations.NotNull;
8 import javax.swing.*;
9 import java.awt.*;
11 public class CheckRemoteStatusCheckinHandlerFactory extends CheckinHandlerFactory {
12 @NotNull
13 @Override
14 public CheckinHandler createHandler(final CheckinProjectPanel panel) {
15 return new MyCheckinHandler(panel);
18 private static class MyCheckinHandler extends CheckinHandler {
19 private final CheckinProjectPanel myPanel;
20 private VcsConfiguration myVcsConfiguration;
22 private MyCheckinHandler(final CheckinProjectPanel panel) {
23 myPanel = panel;
24 myVcsConfiguration = VcsConfiguration.getInstance(myPanel.getProject());
27 @Override
28 public RefreshableOnComponent getBeforeCheckinConfigurationPanel() {
29 final JCheckBox checkUpToDate = new JCheckBox(VcsBundle.message("checkbox.checkin.options.check.files.up.to.date"));
31 return new RefreshableOnComponent() {
32 public JComponent getComponent() {
33 final JPanel panel = new JPanel(new BorderLayout());
34 panel.add(checkUpToDate, BorderLayout.WEST);
35 return panel;
38 public void refresh() {
41 public void saveState() {
42 myVcsConfiguration.CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT = checkUpToDate.isSelected();
45 public void restoreState() {
46 checkUpToDate.setSelected(myVcsConfiguration.CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT);
51 @Override
52 public void includedChangesChanged() {
53 // todo recalculate message
56 private void doCheck() {
57 myPanel.getFiles();