package com.niklim.clicktrace.controller.operation.screenshot; import com.google.inject.Inject; import com.niklim.clicktrace.controller.ActiveSession; import com.niklim.clicktrace.controller.operation.AbstractOperation; import com.niklim.clicktrace.dialog.description.DescriptionDialog; import com.niklim.clicktrace.dialog.description.DescriptionDialogCallback; import com.niklim.clicktrace.model.ScreenShot; public class ChangeScreenShotDescriptionOperation extends AbstractOperation { @Inject private DescriptionDialog descriptionEditor; @Inject private ActiveSession activeSession; @Inject private SaveScreenShotDescriptionOperation saveScreenShotDescriptionOperation; @Override public void perform() { final ScreenShot activeShot = activeSession.getActiveShot(); if (activeShot != null) { descriptionEditor.open(new DescriptionDialogCallback() { @Override public void setText(String text) { activeShot.setDescription(text); saveScreenShotDescriptionOperation.perform(); } @Override public String getTitle() { return activeShot + " - description"; } @Override public String getText() { return activeShot.getDescription(); } }); } } }