Deuglify channel state icons
[quassel.git] / src / uisupport / action.cpp
index 700cce5..665a5e1 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   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()));
 
@@ -79,3 +106,5 @@ void Action::setShortcut(const QKeySequence &key, ShortcutTypes type) {
   if(type & ActiveShortcut)
     QAction::setShortcut(key);
 }
+
+#endif /* HAVE_KDE */