1// Aseprite
2// Copyright (C) 2001-2017 David Capello
3//
4// This program is distributed under the terms of
5// the End-User License Agreement for Aseprite.
6
7#ifdef HAVE_CONFIG_H
8#include "config.h"
9#endif
10
11#include "app/app.h"
12#include "app/commands/command.h"
13#include "app/context_access.h"
14#include "app/ui/timeline/timeline.h"
15#include "ui/base.h"
16
17namespace app {
18
19class CopyCelCommand : public Command {
20public:
21 CopyCelCommand();
22
23protected:
24 bool onEnabled(Context* context) override;
25 void onExecute(Context* context) override;
26};
27
28CopyCelCommand::CopyCelCommand()
29 : Command(CommandId::CopyCel(), CmdUIOnlyFlag)
30{
31}
32
33bool CopyCelCommand::onEnabled(Context* context)
34{
35 return App::instance()->timeline()->isMovingCel();
36}
37
38void CopyCelCommand::onExecute(Context* context)
39{
40 App::instance()->timeline()->dropRange(Timeline::kCopy);
41}
42
43Command* CommandFactory::createCopyCelCommand()
44{
45 return new CopyCelCommand;
46}
47
48} // namespace app
49