keepassxc/src/gui/Application.cpp
Felix Geyer bc207714da Add initial auto-type implementation.
The platform dependent bits are separated in plugins.
A plugin for X11 using Xlib is already done.
2012-07-12 22:33:20 +02:00

56 lines
1.5 KiB
C++

/*
* Copyright (C) 2012 Tobias Tangemann
* 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 "Application.h"
#include <QtGui/QFileOpenEvent>
#include "autotype/AutoType.h"
Application::Application(int& argc, char** argv)
: QApplication(argc, argv)
{
}
bool Application::event(QEvent* event)
{
// Handle Apple QFileOpenEvent from finder (double click on .kdbx file)
if (event->type() == QEvent::FileOpen) {
Q_EMIT openFile(static_cast<QFileOpenEvent*>(event)->file());
return true;
}
return QApplication::event(event);
}
#ifdef Q_WS_X11
bool Application::x11EventFilter(XEvent* event)
{
int retCode = autoType()->callEventFilter(event);
if (retCode == 0) {
return false;
}
else if (retCode == 1) {
return true;
}
return QApplication::x11EventFilter(event);
}
#endif