summaryrefslogtreecommitdiffstats
path: root/pokemodr/PokemodrUI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pokemodr/PokemodrUI.cpp')
-rw-r--r--pokemodr/PokemodrUI.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/pokemodr/PokemodrUI.cpp b/pokemodr/PokemodrUI.cpp
index 1d6dfd8f..3f7532e8 100644
--- a/pokemodr/PokemodrUI.cpp
+++ b/pokemodr/PokemodrUI.cpp
@@ -51,6 +51,7 @@
#include <KUrl>
#include <KXMLGUIFactory>
#include <KIO/NetAccess>
+#include <KNS/Engine>
Pokemodr::PokemodrUI::PokemodrUI(QWidget* parent) :
KXmlGuiWindow(parent),
@@ -247,6 +248,39 @@ void Pokemodr::PokemodrUI::saveAsPokemod(const Pokemod::Pokemod* pokemod)
}
}
+void Pokemodr::PokemodrUI::downloadPokemod()
+{
+ KNS::Engine engine(this);
+ if (engine.init("pokemod.knsrc"))
+ engine.downloadDialogModal();
+}
+
+void Pokemodr::PokemodrUI::uploadPokemod()
+{
+ uploadPokemod(treePokemod->currentPokemod());
+}
+
+void Pokemodr::PokemodrUI::uploadPokemod(const Pokemod::Pokemod* pokemod)
+{
+ KUrl url = treePokemod->url(pokemod);
+ if (url == KUrl())
+ {
+ KMessageBox::error(this, QString::fromUtf8("The Pokémod has not been saved!"), "Upload error");
+ return;
+ }
+ if (!url.isLocalFile())
+ {
+ KMessageBox::error(this, QString::fromUtf8("The Pokémod is not local!"), "Upload error");
+ return;
+ }
+ KNS::Engine engine(this);
+ if (engine.init("pokemod.knsrc"))
+ {
+ if (!engine.uploadDialogModal(url.path()))
+ KMessageBox::error(this, QString::fromUtf8("An error occured attempting to upload!"), "Upload error");
+ }
+}
+
void Pokemodr::PokemodrUI::closePokemod()
{
closePokemod(treePokemod->currentPokemod());
@@ -395,6 +429,17 @@ void Pokemodr::PokemodrUI::setupActions()
KStandardAction::cut(actionCollection());
KStandardAction::copy(actionCollection());
KStandardAction::paste(actionCollection());
+ KAction* download = actionCollection()->addAction("download_pokemod");
+ download->setText(i18n("Download"));
+ download->setIcon(KIcon("arrow-down-double"));
+ download->setShortcut(Qt::CTRL + Qt::Key_D);
+ connect(download, SIGNAL(triggered()), this, SLOT(downloadPokemod()));
+ KAction* upload = actionCollection()->addAction("upload_pokemod");
+ upload->setText(i18n("Upload"));
+ upload->setIcon(KIcon("arrow-up-double"));
+ upload->setShortcut(Qt::CTRL + Qt::Key_U);
+ upload->setEnabled(false);
+ connect(upload, SIGNAL(triggered()), this, SLOT(uploadPokemod()));
KStandardAction::showMenubar(this, SLOT(toggleMenubar()), actionCollection());
KStandardAction::configureToolbars(this, SLOT(configureToolbars()), actionCollection());
createStandardStatusBarAction();