summaryrefslogtreecommitdiffstats
path: root/kexi/main/kexinewstuff.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kexi/main/kexinewstuff.cpp')
-rw-r--r--kexi/main/kexinewstuff.cpp81
1 files changed, 81 insertions, 0 deletions
diff --git a/kexi/main/kexinewstuff.cpp b/kexi/main/kexinewstuff.cpp
new file mode 100644
index 00000000..adc0fc83
--- /dev/null
+++ b/kexi/main/kexinewstuff.cpp
@@ -0,0 +1,81 @@
+/* This file is part of the KDE project
+ Copyright (C) 2004 Cedric Pasteur <cedric.pasteur@free.fr>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+*/
+
+#ifdef HAVE_KNEWSTUFF
+
+#include <kdebug.h>
+#include <ktar.h>
+#include <qdir.h>
+#include <kaction.h>
+#include <kapplication.h>
+#include <kfiledialog.h>
+#include <klocale.h>
+#include <kdeversion.h>
+
+#include "kexinewstuff.h"
+
+KexiNewStuff::KexiNewStuff(QWidget *parent)
+ : KNewStuff( "kexi/template"
+#if KDE_IS_VERSION(3,3,0)
+ , "http://download.kde.org/khotnewstuff/kexi-providers.xml"
+#endif
+ , parent)
+{
+ // Prevent GHNS to deny downloading a second time. If GHNS
+ // fails to download something, it still marks the thing as
+ // successfully downloaded and therefore we arn't able to
+ // download it again :-/
+ KGlobal::config()->deleteGroup("KNewStuffStatus");
+}
+
+KexiNewStuff::~KexiNewStuff()
+{
+}
+
+bool
+KexiNewStuff::install(const QString &fileName)
+{
+ kdDebug() << "KexiNewStuff::install(): " << fileName << endl;
+
+ KTar archive( fileName );
+ if ( !archive.open( IO_ReadOnly ) ) {
+ kdDebug() << QString("KexiNewStuff::install: Failed to open archivefile \"%1\"").arg(fileName) << endl;
+ return false;
+ }
+ const KArchiveDirectory *archiveDir = archive.directory();
+ const QString destDir = KFileDialog::getExistingDirectory(
+ ":DownloadExampleDatabases", parentWidget(),
+ i18n("Choose Directory Where to Install Example Database"));
+ if (destDir.isEmpty()) {
+ kdDebug() << QString("KexiNewStuff::install: Destination-directory is empty.") << endl;
+ return false;
+ }
+ archiveDir->copyTo(destDir);
+ archive.close();
+
+ return true;
+}
+
+bool
+KexiNewStuff::createUploadFile(const QString &)
+{
+ return true;
+}
+
+#endif