diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2009-02-23 11:20:47 -0500 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2009-02-23 11:20:47 -0500 |
| commit | 7aff48012c3040a675543a0ff3d23af6cb8a8638 (patch) | |
| tree | 6dd17b90d1f1c6ba9b0b7c5ddc40c2a849c25286 /sigmodr/SpriteUI.cpp | |
| parent | 25ec942048336dde5e1a17e6c75e15e4f8d8290d (diff) | |
| download | sigen-7aff48012c3040a675543a0ff3d23af6cb8a8638.tar.gz sigen-7aff48012c3040a675543a0ff3d23af6cb8a8638.tar.xz sigen-7aff48012c3040a675543a0ff3d23af6cb8a8638.zip | |
Started restructuring how sigmodr is built and moving things into libraries
Diffstat (limited to 'sigmodr/SpriteUI.cpp')
| -rw-r--r-- | sigmodr/SpriteUI.cpp | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/sigmodr/SpriteUI.cpp b/sigmodr/SpriteUI.cpp deleted file mode 100644 index acd249bb..00000000 --- a/sigmodr/SpriteUI.cpp +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 2008 Ben Boeckel <MathStuf@gmail.com> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -// Header include -#include "SpriteUI.h" - -// Sigmod includes -#include "../sigmod/Sigmod.h" -#include "../sigmod/Sprite.h" - -// KDE includes -#include <KFileDialog> -#include <KImageFilePreview> -#include <KMessageBox> -#include <KIO/NetAccess> - -Sigmodr::SpriteUI::SpriteUI(Sigmod::Sprite* sprite, QWidget* parent) : - ObjectUI(parent) -{ - setupUi(this); - setObjects(sprite, new Sigmod::Sprite(*sprite)); -} - -Sigmodr::SpriteUI::~SpriteUI() -{ -} - -void Sigmodr::SpriteUI::initGui() -{ - buttonBrowse->setIcon(KIcon("document-open")); -} - -void Sigmodr::SpriteUI::setGui() -{ - varName->setText(qobject_cast<Sigmod::Sprite*>(modified())->name()); - QPixmap icon; - icon.loadFromData(qobject_cast<Sigmod::Sprite*>(modified())->sprite()); - varSprite->setPixmap(icon); -} - -void Sigmodr::SpriteUI::apply() -{ - *qobject_cast<Sigmod::Sprite*>(original()) = *qobject_cast<Sigmod::Sprite*>(modified()); - emit(changed(false)); -} - -void Sigmodr::SpriteUI::discard() -{ - *qobject_cast<Sigmod::Sprite*>(modified()) = *qobject_cast<Sigmod::Sprite*>(original()); - setGui(); - emit(changed(false)); -} - -void Sigmodr::SpriteUI::on_varName_textChanged(const QString& name) -{ - const int cursor = varName->cursorPosition(); - qobject_cast<Sigmod::Sprite*>(modified())->setName(name); - varName->setCursorPosition(cursor); -} - -void Sigmodr::SpriteUI::on_buttonBrowse_pressed() -{ - KFileDialog* dialog = new KFileDialog(KUrl("kfiledialog:///image"), "image/png image/jpeg image/tiff image/bmp image/gif", this); - dialog->setCaption("Use Image File"); - dialog->setOperationMode(KFileDialog::Opening); - dialog->setPreviewWidget(new KImageFilePreview); - if (dialog->exec() == QDialog::Accepted) - { - KUrl url = dialog->selectedFile(); - if (url.isValid()) - { - QString path; - bool load = true; - bool removeTempFile = false; - if (url.isLocalFile()) - path = url.path(); - else - { - if (KIO::NetAccess::download(url, path, this)) - removeTempFile = true; - else - { - KMessageBox::error(this, KIO::NetAccess::lastErrorString(), "KIO Error"); - load = false; - } - } - if (load) - { - QImage image(url.path()); - QByteArray bytes; - QBuffer buffer(&bytes); - buffer.open(QIODevice::WriteOnly); - image.save(&buffer); - qobject_cast<Sigmod::Sprite*>(modified())->setSprite(bytes); - setGui(); - } - if (removeTempFile) - KIO::NetAccess::removeTempFile(path); - } - else - KMessageBox::error(this, "The URL is not valid", "Malformed URL"); - } - delete dialog; -} |
