File indexing completed on 2024-04-28 05:46:31

0001 /*
0002     SPDX-FileCopyrightText: 2010 Volker Lanz <vl@fidra.de>
0003     SPDX-FileCopyrightText: 2014-2018 Andrius Štikonas <andrius@stikonas.eu>
0004 
0005     SPDX-License-Identifier: GPL-3.0-or-later
0006 */
0007 
0008 #include "gui/editmountoptionsdialog.h"
0009 #include "gui/editmountoptionsdialogwidget.h"
0010 
0011 #include <QDialogButtonBox>
0012 #include <QStringList>
0013 
0014 #include <KConfigGroup>
0015 #include <KLocalizedString>
0016 #include <KSharedConfig>
0017 
0018 EditMountOptionsDialog::EditMountOptionsDialog(QWidget* parent, const QStringList& options) :
0019     QDialog(parent),
0020     m_DialogWidget(new EditMountOptionsDialogWidget(this, options))
0021 {
0022     QVBoxLayout *mainLayout = new QVBoxLayout(this);
0023     setLayout(mainLayout);
0024     mainLayout->addWidget(&widget());
0025     setWindowTitle(xi18nc("@title:window", "Edit additional mount options"));
0026 
0027     KConfigGroup kcg(KSharedConfig::openConfig(), QStringLiteral("editMountOptionsDialog"));
0028     restoreGeometry(kcg.readEntry<QByteArray>("Geometry", QByteArray()));
0029 
0030     QDialogButtonBox* dbb = new QDialogButtonBox( QDialogButtonBox::Ok | QDialogButtonBox::Cancel,
0031                                                   Qt::Horizontal,
0032                                                   this );
0033     mainLayout->addWidget(dbb);
0034     connect(dbb, &QDialogButtonBox::accepted, this, &EditMountOptionsDialog::accept);
0035     connect(dbb, &QDialogButtonBox::rejected, this, &EditMountOptionsDialog::reject);
0036 }
0037 
0038 /** Destroys an EditMOuntOptionsDialog instance */
0039 EditMountOptionsDialog::~EditMountOptionsDialog()
0040 {
0041     KConfigGroup kcg(KSharedConfig::openConfig(), QStringLiteral("editMountOptionsDialog"));
0042     kcg.writeEntry("Geometry", saveGeometry());
0043 }
0044 
0045 QStringList EditMountOptionsDialog::options()
0046 {
0047     QStringList rval;
0048     const QStringList lines = widget().editOptions().toPlainText().split(QLatin1Char('\n'));
0049     for (const auto &line : lines)
0050         rval.append(line.simplified().toLower());
0051     return rval;
0052 }