summaryrefslogtreecommitdiff
path: root/noncore/applets/keyhelper/keyhelperapplet/anylnk/LnkWrapper.cpp
Side-by-side diff
Diffstat (limited to 'noncore/applets/keyhelper/keyhelperapplet/anylnk/LnkWrapper.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/keyhelper/keyhelperapplet/anylnk/LnkWrapper.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/noncore/applets/keyhelper/keyhelperapplet/anylnk/LnkWrapper.cpp b/noncore/applets/keyhelper/keyhelperapplet/anylnk/LnkWrapper.cpp
new file mode 100644
index 0000000..39806e5
--- a/dev/null
+++ b/noncore/applets/keyhelper/keyhelperapplet/anylnk/LnkWrapper.cpp
@@ -0,0 +1,32 @@
+#include "LnkWrapper.h"
+
+LnkWrapper::LnkWrapper(const QStringList& params)
+{
+ if(params[0][0] == '/'){
+ qDebug("create DocLnk instance");
+ m_pLnk = new DocLnkWrapper(params);
+ } else if(params[0] == "@exec"){
+ qDebug("create ExecLnk instance");
+ m_pLnk = new ExecLnk(params);
+ } else if(params[0] == "@qcop"){
+ qDebug("create QCopLnk instance");
+ m_pLnk = new QCopLnk(params);
+ } else if(params[0] == "@text"){
+ qDebug("create TextLnk instance");
+ m_pLnk = new TextLnk(params);
+ } else if(params[0] == "@menu"){
+ qDebug("create MenuLnk instance");
+ m_pLnk = new MenuLnk(params);
+ } else {
+ qDebug("create AppLnk instance");
+ m_pLnk = new AppLnkWrapper(params);
+ }
+}
+
+LnkWrapper::~LnkWrapper()
+{
+ if(m_pLnk){
+ delete m_pLnk;
+ }
+}
+