Add command to switch onion skin visibility

This commit is contained in:
David Capello 2014-05-08 08:47:45 -03:00
parent a6d900fc2c
commit 391a5c0bf4
4 changed files with 72 additions and 0 deletions

View File

@ -76,6 +76,7 @@
<key command="Preview" shortcut="F8" />
<key command="ShowGrid" shortcut="Shift+G" />
<key command="SnapToGrid" shortcut="Shift+S" />
<key command="ShowOnionSkin" shortcut="F3" />
<key command="Timeline" shortcut="Tab">
<param name="switch" value="true" />
</key>
@ -375,6 +376,8 @@
<item command="SnapToGrid" text="&amp;Snap to Grid" />
<item command="GridSettings" text="Gri&amp;d Settings" />
<separator />
<item command="ShowOnionSkin" text="Show &amp;Onion Skin" />
<separator />
<item command="Timeline" text="&amp;Timeline">
<param name="switch" value="true" />
</item>

View File

@ -56,6 +56,7 @@ add_library(app-lib
commands/cmd_new_frame.cpp
commands/cmd_new_layer.cpp
commands/cmd_new_layer_set.cpp
commands/cmd_onionskin.cpp
commands/cmd_open_file.cpp
commands/cmd_open_in_folder.cpp
commands/cmd_open_with_app.cpp

View File

@ -0,0 +1,67 @@
/* Aseprite
* Copyright (C) 2001-2014 David Capello
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "app/app.h"
#include "app/commands/command.h"
#include "app/context.h"
#include "app/settings/document_settings.h"
#include "app/settings/settings.h"
#include "base/compiler_specific.h"
namespace app {
using namespace ui;
using namespace gfx;
class ShowOnionSkinCommand : public Command {
public:
ShowOnionSkinCommand()
: Command("ShowOnionSkin",
"Show Onion Skin",
CmdUIOnlyFlag)
{
}
Command* clone() const OVERRIDE { return new ShowOnionSkinCommand(*this); }
protected:
bool onChecked(Context* context)
{
IDocumentSettings* docSettings = context->getSettings()->getDocumentSettings(context->getActiveDocument());
return docSettings->getUseOnionskin();
}
void onExecute(Context* context)
{
IDocumentSettings* docSettings = context->getSettings()->getDocumentSettings(context->getActiveDocument());
docSettings->setUseOnionskin(docSettings->getUseOnionskin() ? false: true);
}
};
Command* CommandFactory::createShowOnionSkinCommand()
{
return new ShowOnionSkinCommand;
}
} // namespace app

View File

@ -99,6 +99,7 @@ FOR_EACH_COMMAND(SavePalette)
FOR_EACH_COMMAND(Scroll)
FOR_EACH_COMMAND(SetPalette)
FOR_EACH_COMMAND(ShowGrid)
FOR_EACH_COMMAND(ShowOnionSkin)
FOR_EACH_COMMAND(SnapToGrid)
FOR_EACH_COMMAND(SplitEditorHorizontally)
FOR_EACH_COMMAND(SplitEditorVertically)