Modified the license text comment type.
[emufront] / src / widgets / filepathselectorwidget.cpp
1 /*
2 ** EmuFront
3 ** Copyright 2010 Mikko Keinänen
4 **
5 ** This file is part of EmuFront.
6 **
7 **
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.
12 **
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.
17 **
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/>.
20 */
21 #include <QtGui>
22 #include "filepathselectorwidget.h"
23
24 FilePathSelectorWidget::FilePathSelectorWidget(QWidget *parent) :
25     QWidget(parent)
26 {
27     filePathLabel = new QLabel;
28     filePathButton = new QPushButton(tr("&Browse"));
29     QHBoxLayout *layout = new QHBoxLayout;
30     layout->addWidget(filePathButton);
31     layout->addWidget(filePathLabel);
32     setLayout(layout);
33     connectSignals();
34 }
35
36 void FilePathSelectorWidget::connectSignals()
37 {
38     connect(filePathButton, SIGNAL(clicked()), this, SLOT(browseFilePath()));
39 }
40
41 void FilePathSelectorWidget::browseFilePath()
42 {
43     qDebug() << "FilePathSelectorWidget::browseFilePath()";
44     QString startPath = filePathLabel->text().isEmpty() ?
45         QDir::homePath() : filePathLabel->text();
46
47     QString fpath = QFileDialog::getExistingDirectory(this,
48         tr("Select a directory"), startPath,
49         QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
50             QDir d(fpath);
51
52     if (d.exists() && d.isReadable()) {
53         filePathLabel->setText(d.path());
54         if (d.path() != startPath)
55             emit filePathUpdated();
56     }
57 }
58
59 void FilePathSelectorWidget::setFilePath(QString &path)
60 {
61     filePathLabel->setText(path);
62 }
63
64 QString FilePathSelectorWidget::getFilePath() const
65 {
66     return filePathLabel->text();
67 }