Quark  0.1
FileDialogBuilder.h++
Go to the documentation of this file.
1 // -*- mode: c++; -*-
2 
3 #ifndef __libquark_gui_FileDialogBuilder_hxx
4 #define __libquark_gui_FileDialogBuilder_hxx
5 
6 #include <QFileDialog>
7 #include <QString>
8 #include <QStringList>
9 
10 #include <quark/DialogBuilder.h++>
11 
12 namespace quark {
13 namespace gui {
14 
22 {
23  public:
24 
26  enum Type
27  {
33  Directory
34  };
35 
42  FileDialogBuilder(QWidget *parent, Type type, const QString &message);
43 
45  virtual ~FileDialogBuilder();
46 
48  FileDialogBuilder& setFeature(const QString &feature);
49 
51  FileDialogBuilder& setStartingDir(const QString &dir);
52 
54  FileDialogBuilder& setNameFilter(const QString &filter);
55 
57  FileDialogBuilder& setNameFilters(const QStringList &filters);
58 
60  FileDialogBuilder& setOption(QFileDialog::Option option, bool on);
61 
68  FileDialogBuilder& setSlot(QObject *target, const char *slot);
69 
76  FileDialogBuilder& setSlot(const char *slot)
77  { return(setSlot(NULL, slot)); }
78 
88  template<typename T>
90  {
91  closure()->addSlotArg(QVariant::fromValue(arg));
92  return(*this);
93  }
94 
95  private:
96 
97  QFileDialog *_dialog;
98 
99  Q_DISABLE_COPY(FileDialogBuilder);
100 };
101 
102 } // namespace gui
103 } // namespace quark
104 
105 #endif // __libquark_gui_FileDialogBuilder_hxx
FileDialogBuilder & addSlotArg(const T &arg)
Adds an argument to be passed to the slot when the dialog is accepted.
Definition: FileDialogBuilder.h++:89
Type
File dialog types.
Definition: FileDialogBuilder.h++:26
Save file dialog.
Definition: FileDialogBuilder.h++:31
Definition: BarChartView.h++:6
A builder object for constructing file dialogs, such as "Open" and "Save As" dialogs.
Definition: FileDialogBuilder.h++:21
An abstract base class for dialog builders.
Definition: DialogBuilder.h++:23
#define LIBQUARK_API
Definition: Quark.h++:18
FileDialogBuilder & setSlot(const char *slot)
Specifies a slot of the dialog&#39;s parent widget to be invoked when the dialog is accepted.
Definition: FileDialogBuilder.h++:76
Open file dialog.
Definition: FileDialogBuilder.h++:29