summaryrefslogtreecommitdiffstats
path: root/pokemodr/FileDialog.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-04-17 23:34:36 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-04-17 23:34:36 +0000
commit6679f5cffa9d35a23b76605ddfbf3257f882b6ee (patch)
treec8e41854a60b64e8569939bca6b827807175ef9a /pokemodr/FileDialog.cpp
parent05980e883719b1c8ebde1bd2fcbf4f8c16df7ad6 (diff)
downloadsigen-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.cpp70
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));
}