diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2008-04-17 23:34:36 +0000 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2008-04-17 23:34:36 +0000 |
| commit | 6679f5cffa9d35a23b76605ddfbf3257f882b6ee (patch) | |
| tree | c8e41854a60b64e8569939bca6b827807175ef9a /pokemodr/FileDialog.cpp | |
| parent | 05980e883719b1c8ebde1bd2fcbf4f8c16df7ad6 (diff) | |
| download | sigen-6679f5cffa9d35a23b76605ddfbf3257f882b6ee.tar.gz sigen-6679f5cffa9d35a23b76605ddfbf3257f882b6ee.tar.xz sigen-6679f5cffa9d35a23b76605ddfbf3257f882b6ee.zip | |
[FIX] Frac -> Fraction
[FIX] ImageCache and Ini removed
[FIX] Fraction/Point widgets moved to pokemodr
[FIX] Copy ctors made for pokemod classes
[FIX] Ctors in pokemod fixed
[FIX] Copyright headers fixed in pokemodr
[FIX] PokeModr updated to new API and fixed in some places
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@99 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemodr/FileDialog.cpp')
| -rw-r--r-- | pokemodr/FileDialog.cpp | 70 |
1 files changed, 31 insertions, 39 deletions
diff --git a/pokemodr/FileDialog.cpp b/pokemodr/FileDialog.cpp index 858fbaab..3261bd9b 100644 --- a/pokemodr/FileDialog.cpp +++ b/pokemodr/FileDialog.cpp @@ -1,66 +1,58 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: pokegen/FileDialog.cpp -// Purpose: Dialog to open files -// Author: Ben Boeckel -// Modified by: Ben Boeckel -// Created: Fri Feb 1 08:34:34 2008 -// Copyright: ©2007-2008 Ben Boeckel and Nerdy Productions -// Licence: -// 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/>. -///////////////////////////////////////////////////////////////////////////// +/* + * 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/>. + */ +// KDE includes #include <kdiroperator.h> #include <kfilewidget.h> #include <kimagefilepreview.h> +// Qt includes #include <QDir> -#include <QImage> +#include <QPixmap> #include <QStringList> +// Header include #include "FileDialog.h" -KUrl FileDialog::latestDir = KUrl(); - -FileDialog::FileDialog(const QString& filter, const QSize& imgSize) : - QObject(NULL), - dlg(NULL) +FileDialog::FileDialog(const QSize& size) : + KFileDialog(KUrl("kfiledialog:///image"), "", NULL) { - if (latestDir == "") - latestDir = KUrl(QString("%1/.kde/share/apps/pokegen/images").arg(QDir::homePath())); - size = imgSize; - dlg = new KFileDialog(latestDir, filter, NULL); - dlg->setOperationMode(KFileDialog::Opening); - if (size.isValid()) + m_size = size; + setOperationMode(KFileDialog::Opening); + if (m_size.isValid()) { - dlg->setPreviewWidget(new KImageFilePreview()); - connect(static_cast<KFileWidget*>(dlg->fileWidget())->findChild<KDirOperator*>(), SIGNAL(dirActivated(const KFileItem&)), this, SLOT(sizeFilter(const FileItem&))); + setPreviewWidget(new KImageFilePreview()); + // FIXME: KDirOperator is failing here on linking :( +// connect(findChild<KDirOperator*>(), SIGNAL(dirActivated(const KFileItem&)), this, SLOT(sizeFilter(const FileItem&))); } } void FileDialog::sizeFilter(const KFileItem& item) { QString filter; - QStringList files(QDir(item.url().path()).entryList(QStringList() << "*.png", QDir::Files)); + QStringList files(QDir(item.url().path()).entryList(QStringList() << "*.png" << "*.jpg" << "*.jpeg", QDir::Files)); for (int i = 0; i < files.size(); ++i) { - if (QImage(files.at(i)).size() == size) + if (QPixmap(files.at(i)).size() == m_size) { if (filter.length()) filter.append(" "); filter.append(files.at(i)); } } - filter.append("|Valid PNG Files"); - dlg->setFilter(filter); + setFilter(QString("%1|Valid files").arg(filter)); } |
