/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel Project *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* Parts of this implementation are taken from KDE's kaction.cpp *
***************************************************************************/
-#include <QApplication>
-
#include "action.h"
-Action::Action(QObject *parent) : QWidgetAction(parent) {
+#include <QApplication>
+
+Action::Action(QObject *parent)
+#ifdef HAVE_KDE
+: KAction(parent)
+#else
+: QWidgetAction(parent)
+#endif
+{
init();
}
-Action::Action(const QString &text, QObject *parent) : QWidgetAction(parent) {
+Action::Action(const QString &text, QObject *parent, const QObject *receiver, const char *slot, const QKeySequence &shortcut)
+#ifdef HAVE_KDE
+: KAction(parent)
+#else
+: QWidgetAction(parent)
+#endif
+{
init();
setText(text);
+ setShortcut(shortcut);
+ if(receiver && slot)
+ connect(this, SIGNAL(triggered()), receiver, slot);
}
-Action::Action(const QIcon &icon, const QString &text, QObject *parent) : QWidgetAction(parent) {
+Action::Action(const QIcon &icon, const QString &text, QObject *parent, const QObject *receiver, const char *slot, const QKeySequence &shortcut)
+#ifdef HAVE_KDE
+: KAction(parent)
+#else
+: QWidgetAction(parent)
+#endif
+{
init();
setIcon(icon);
setText(text);
+ setShortcut(shortcut);
+ if(receiver && slot)
+ connect(this, SIGNAL(triggered()), receiver, slot);
}
+#ifdef HAVE_KDE
+void Action::init() { }
+#else
void Action::init() {
connect(this, SIGNAL(triggered(bool)), this, SLOT(slotTriggered()));
if(type & ActiveShortcut)
QAction::setShortcut(key);
}
+
+#endif /* HAVE_KDE */