// View
coll->addAction("ManageBufferViews", new Action(SmallIcon("view-tree"), tr("&Manage Buffer Views..."), coll,
this, SLOT(on_actionManageViews_triggered())));
- Action *lockAct = coll->addAction("LockDockPositions", new Action(tr("&Lock Dock Positions"), coll));
+ QAction *lockAct = coll->addAction("LockDockPositions", new Action(tr("&Lock Dock Positions"), coll));
lockAct->setCheckable(true);
connect(lockAct, SIGNAL(toggled(bool)), SLOT(on_actionLockDockPositions_toggled(bool)));
* 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, const QObject *receiver, const char *slot, const QKeySequence &shortcut)
-: QWidgetAction(parent) {
+#ifdef HAVE_KDE
+: KAction(parent)
+#else
+: QWidgetAction(parent)
+#endif
+{
init();
setText(text);
setShortcut(shortcut);
}
Action::Action(const QIcon &icon, const QString &text, QObject *parent, const QObject *receiver, const char *slot, const QKeySequence &shortcut)
-: QWidgetAction(parent) {
+#ifdef HAVE_KDE
+: KAction(parent)
+#else
+: QWidgetAction(parent)
+#endif
+{
init();
setIcon(icon);
setText(text);
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 */
#ifndef ACTION_H_
#define ACTION_H_
+#ifndef HAVE_KDE
+
#include <QShortcut>
#include <QWidgetAction>
Q_DECLARE_OPERATORS_FOR_FLAGS(Action::ShortcutTypes)
+#else /* HAVE_KDE */
+#include <KAction>
+
+class Action : public KAction {
+ Q_OBJECT
+
+ public:
+ explicit Action(QObject *parent);
+ Action(const QString &text, QObject *parent, const QObject *receiver = 0, const char *slot = 0, const QKeySequence &shortcut = 0);
+ Action(const QIcon &icon, const QString &text, QObject *parent, const QObject *receiver = 0, const char *slot = 0, const QKeySequence &shortcut = 0);
+
+ private:
+ void init();
+};
+#endif
+
#endif
* Parts of this implementation are based on KDE's KActionCollection. *
***************************************************************************/
+#ifndef HAVE_KDE
+
#include <QAction>
#include <QDebug>
return true;
}
+
+#endif /* HAVE_KDE */
#ifndef ACTIONCOLLECTION_H_
#define ACTIONCOLLECTION_H_
+#ifndef HAVE_KDE
+
#include <QDebug>
#include <QList>
#include <QMap>
int ActionCollection::count() const { return actions().count(); }
bool ActionCollection::isEmpty() const { return actions().count(); }
+#else /* HAVE_KDE */
+
+#include <KActionCollection>
+
+class ActionCollection : public KActionCollection {
+ Q_OBJECT
+
+ public:
+ explicit ActionCollection(QObject *parent) : KActionCollection(parent) {};
+
+};
+#endif
#endif