Songbook-Client  0.7
This application is a manager of customguitar songbooks
 All Classes Files Functions Variables Enumerations Enumerator Pages
file-chooser.hh
Go to the documentation of this file.
1 // Copyright (C) 2009-2011, Romain Goffe <romain.goffe@gmail.com>
2 // Copyright (C) 2009-2011, Alexandre Dupas <alexandre.dupas@gmail.com>
3 //
4 // This program is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU General Public License as
6 // published by the Free Software Foundation; either version 2 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful, but
10 // WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17 // 02110-1301, USA.
18 //******************************************************************************
19 
20 #ifndef __FILE_CHOOSER_HH__
21 #define __FILE_CHOOSER_HH__
22 
23 #include <QWidget>
24 #include <QString>
25 #include <QDir>
26 #include <QFileDialog>
27 
28 class QLineEdit;
29 class QPushButton;
30 
41 class CFileChooser : public QWidget
42 {
43  Q_OBJECT
44 
45 public:
47  CFileChooser(QWidget *parent=0);
48 
50  ~CFileChooser();
51 
56  void readSettings();
57 
62  void writeSettings();
63 
68  QFileDialog::Options options() const;
69 
74  void setOptions(const QFileDialog::Options &);
75 
80  QString filter() const;
81 
86  void setFilter(const QString &filter);
87 
92  QString caption() const;
93 
98  void setCaption(const QString &caption);
99 
104  QString directory() const;
105 
110  void setDirectory(const QString &directory);
111 
116  void setDirectory(const QDir &directory);
117 
122  QString path() const;
123 
124 public slots:
129  void setPath(const QString &path);
130 
131 signals:
136  void pathChanged(const QString &path);
137 
138 private slots:
139  void browse();
140 
141 
142 private:
143  QLineEdit* m_lineEdit;
144  QPushButton* m_button;
145  QString m_caption;
146  QString m_directory;
147  QString m_filter;
148  QFileDialog::Options m_options;
149 };
150 
151 #endif // __FILE_CHOOSER_HH__