Add initial auto-type implementation.

The platform dependent bits are separated in plugins.
A plugin for X11 using Xlib is already done.
This commit is contained in:
Felix Geyer
2012-07-12 22:33:20 +02:00
parent 073f3f9dfc
commit bc207714da
18 changed files with 1905 additions and 0 deletions

View File

@@ -0,0 +1,93 @@
/*
* Copyright (C) 2012 Felix Geyer <debfx@fobos.de>
*
* 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 or (at your option)
* version 3 of the License.
*
* 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, see <http://www.gnu.org/licenses/>.
*/
#include "AutoTypeAction.h"
#include "core/Tools.h"
AutoTypeChar::AutoTypeChar(const QChar& character)
: character(character)
{
}
AutoTypeAction* AutoTypeChar::clone()
{
return new AutoTypeChar(character);
}
void AutoTypeChar::accept(AutoTypeExecutor* executor)
{
executor->execChar(this);
}
AutoTypeKey::AutoTypeKey(Qt::Key key)
: key(key)
{
}
AutoTypeAction* AutoTypeKey::clone()
{
return new AutoTypeKey(key);
}
void AutoTypeKey::accept(AutoTypeExecutor* executor)
{
executor->execKey(this);
}
AutoTypeDelay::AutoTypeDelay(int delayMs)
: delayMs(delayMs)
{
}
AutoTypeAction* AutoTypeDelay::clone()
{
return new AutoTypeDelay(delayMs);
}
void AutoTypeDelay::accept(AutoTypeExecutor* executor)
{
executor->execDelay(this);
}
AutoTypeClearField::AutoTypeClearField()
{
}
AutoTypeAction* AutoTypeClearField::clone()
{
return new AutoTypeClearField();
}
void AutoTypeClearField::accept(AutoTypeExecutor* executor)
{
executor->execClearField(this);
}
void AutoTypeExecutor::execDelay(AutoTypeDelay* action)
{
Tools::wait(action->delayMs);
}
void AutoTypeExecutor::execClearField(AutoTypeClearField* action)
{
// TODO: implement
}