Qt: fix selection of folder in UAT dialog
Using getOpenFileName() even with ShowDirsOnly option does not work. Let's use the dedicated getExistingDirectory() method instead. Bug: 11842 Change-Id: Ie22c4c479005467dbf64d9a90a8f3b82d355d495 Reviewed-on: https://code.wireshark.org/review/12384 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
parent
cda450ed59
commit
ea447aad1f
|
@ -253,7 +253,6 @@ void UatDialog::on_uatTreeWidget_itemActivated(QTreeWidgetItem *item, int column
|
||||||
uat_field_t *field = &uat_->fields[column];
|
uat_field_t *field = &uat_->fields[column];
|
||||||
guint row = item->data(0, Qt::UserRole).toUInt();
|
guint row = item->data(0, Qt::UserRole).toUInt();
|
||||||
void *rec = UAT_INDEX_PTR(uat_, row);
|
void *rec = UAT_INDEX_PTR(uat_, row);
|
||||||
QFileDialog::Options fd_opt = QFileDialog::DontConfirmOverwrite;
|
|
||||||
cur_column_ = column;
|
cur_column_ = column;
|
||||||
QWidget *editor = NULL;
|
QWidget *editor = NULL;
|
||||||
|
|
||||||
|
@ -271,12 +270,20 @@ void UatDialog::on_uatTreeWidget_itemActivated(QTreeWidgetItem *item, int column
|
||||||
|
|
||||||
switch(field->mode) {
|
switch(field->mode) {
|
||||||
case PT_TXTMOD_DIRECTORYNAME:
|
case PT_TXTMOD_DIRECTORYNAME:
|
||||||
fd_opt |= QFileDialog::ShowDirsOnly;
|
{
|
||||||
|
QString cur_path = fieldString(row, column);
|
||||||
|
const QByteArray& new_path = QFileDialog::getExistingDirectory(this,
|
||||||
|
field->title, cur_path).toUtf8();
|
||||||
|
field->cb.set(rec, new_path.constData(), (unsigned) new_path.size(), field->cbdata.set, field->fld_data);
|
||||||
|
updateItem(*item);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case PT_TXTMOD_FILENAME:
|
case PT_TXTMOD_FILENAME:
|
||||||
{
|
{
|
||||||
QString cur_path = fieldString(row, column);
|
QString cur_path = fieldString(row, column);
|
||||||
const QByteArray& new_path = QFileDialog::getOpenFileName(this,
|
const QByteArray& new_path = QFileDialog::getOpenFileName(this,
|
||||||
field->title, cur_path, QString(), NULL, fd_opt).toUtf8();
|
field->title, cur_path, QString(), NULL, QFileDialog::DontConfirmOverwrite).toUtf8();
|
||||||
field->cb.set(rec, new_path.constData(), (unsigned) new_path.size(), field->cbdata.set, field->fld_data);
|
field->cb.set(rec, new_path.constData(), (unsigned) new_path.size(), field->cbdata.set, field->fld_data);
|
||||||
updateItem(*item);
|
updateItem(*item);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue