3 ** Copyright 2010 Mikko Keinänen
5 ** This file is part of EmuFront.
8 ** EmuFront is free software: you can redistribute it and/or modify
9 ** it under the terms of the GNU General Public License version 2 as published by
10 ** the Free Software Foundation and appearing in the file gpl.txt included in the
11 ** packaging of this file.
13 ** EmuFront is distributed in the hope that it will be useful,
14 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ** GNU General Public License for more details.
18 ** You should have received a copy of the GNU General Public License
19 ** along with EmuFront. If not, see <http://www.gnu.org/licenses/>.
22 #include "filepathselectorwidget.h"
24 FilePathSelectorWidget::FilePathSelectorWidget(QWidget *parent) :
27 filePathLabel = new QLabel;
28 filePathButton = new QPushButton(tr("&Browse"));
29 QHBoxLayout *layout = new QHBoxLayout;
30 layout->addWidget(filePathButton);
31 layout->addWidget(filePathLabel);
36 void FilePathSelectorWidget::connectSignals()
38 connect(filePathButton, SIGNAL(clicked()), this, SLOT(browseFilePath()));
41 void FilePathSelectorWidget::browseFilePath()
43 qDebug() << "FilePathSelectorWidget::browseFilePath()";
44 QString startPath = filePathLabel->text().isEmpty() ?
45 QDir::homePath() : filePathLabel->text();
47 QString fpath = QFileDialog::getExistingDirectory(this,
48 tr("Select a directory"), startPath,
49 QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
52 if (d.exists() && d.isReadable()) {
53 filePathLabel->setText(d.path());
54 if (d.path() != startPath)
55 emit filePathUpdated();
59 void FilePathSelectorWidget::setFilePath(QString &path)
61 filePathLabel->setText(path);
64 QString FilePathSelectorWidget::getFilePath() const
66 return filePathLabel->text();