added ubuntu support
diff --git a/plugin.xml b/plugin.xml
index 8450c17..1600a85 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -37,6 +37,12 @@
         <source-file src="src/android/SplashScreen.java" target-dir="src/org/apache/cordova/splashscreen" />
     </platform>
     
+    <!-- ubuntu -->
+    <platform name="ubuntu">
+        <header-file src="src/ubuntu/splashscreen.h" />
+        <source-file src="src/ubuntu/splashscreen.cpp" />
+    </platform>
+
     <!-- ios -->
     <platform name="ios">
         <config-file target="config.xml" parent="/*">
diff --git a/src/ubuntu/splashscreen.cpp b/src/ubuntu/splashscreen.cpp
new file mode 100644
index 0000000..1c9ecac
--- /dev/null
+++ b/src/ubuntu/splashscreen.cpp
@@ -0,0 +1,42 @@
+/*
+ *
+ * Copyright 2013 Canonical Ltd.
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+#include <QQuickItem>
+
+#include "splashscreen.h"
+#include <cordova.h>
+
+#define SPLASHSCREEN_STATE_NAME "splashscreen"
+
+Splashscreen::Splashscreen(Cordova *cordova): CPlugin(cordova) {
+}
+
+void Splashscreen::show(int, int) {
+    m_cordova->rootObject()->setProperty("splashscreenPath", m_cordova->getSplashscreenPath());
+
+    m_cordova->pushViewState(SPLASHSCREEN_STATE_NAME);
+}
+
+void Splashscreen::hide(int, int) {
+    m_cordova->popViewState(SPLASHSCREEN_STATE_NAME);
+}
diff --git a/src/ubuntu/splashscreen.h b/src/ubuntu/splashscreen.h
new file mode 100644
index 0000000..1d437f8
--- /dev/null
+++ b/src/ubuntu/splashscreen.h
@@ -0,0 +1,52 @@
+/*
+ *
+ * Copyright 2013 Canonical Ltd.
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+#ifndef SPLASHSCREEN_H
+#define SPLASHSCREEN_H
+
+#include <QtCore>
+#include <cplugin.h>
+
+class Splashscreen: public CPlugin {
+    Q_OBJECT
+public:
+    explicit Splashscreen(Cordova *cordova);
+
+    virtual const QString fullName() override {
+        return Splashscreen::fullID();
+    }
+
+    virtual const QString shortName() override {
+        return "SplashScreen";
+    }
+
+    static const QString fullID() {
+        return "SplashScreen";
+    }
+
+public slots:
+    void show(int, int);
+    void hide(int, int);
+};
+
+#endif // SPLASHSCREEN_H