-
Notifications
You must be signed in to change notification settings - Fork 0
/
FileSaveDialog.cpp
67 lines (56 loc) · 1.77 KB
/
FileSaveDialog.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <QFileDialog>
#include <QPushButton>
#include <QDebug>
#include <QGridLayout>
#include <QDialogButtonBox>
#include <QCheckBox>
#include <QApplication>
#include "FileSaveDialog.h"
#include "ui_filedialogextension.h"
FileSaveDialog::FileSaveDialog (QWidget *parent,
const QString &caption,
const QString &directory,
const QString &filter) : QFileDialog(parent, caption, directory, filter)
{
// connect to signal when user changes filter
connect (this, SIGNAL(filterSelected(const QString &)), this, SLOT(onFilterSelected(const QString &)));
// // bring in the options form
// ui = new Ui::Form();
// ui->setupUi(this);
}
void FileSaveDialog::onFilterSelected(const QString &filter)
{
// user changed filter.
// prevent them from using the separator
// Qt: is there a better way to do this?
if (filter.compare(m_separator)==0)
{
disconnect (this, SIGNAL(filterSelected(const QString &)), this, SLOT(onFilterSelected(const QString &)));
this->selectNameFilter(m_fallback);
connect (this, SIGNAL(filterSelected(const QString &)), this, SLOT(onFilterSelected(const QString &)));
}
// if (filter.contains("*.ps"))
// {
// ui->verticalLayoutWidget->setVisible(true);
// }
// else
// {
// ui->verticalLayoutWidget->setVisible(false);
// }
}
void FileSaveDialog::show()
{
// // customize the dialog
// this->layout()->addWidget(ui->verticalLayoutWidget);
// ui->verticalLayoutWidget->setVisible(false);
// show it
QFileDialog::show();
}
void FileSaveDialog::setSeparatorFilter(QString val)
{
m_separator = val;
}
void FileSaveDialog::setFallbackFilter(QString val)
{
m_fallback = val;
}