kconfig: qconf: use QString to store path to configuration file

This is the native type used by the file dialogs and avoids any hassle with
filename encoding when converting this back and forth to a character array.

Signed-off-by: Rolf Eike Beer <eb@emlix.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
Rolf Eike Beer 2024-10-23 08:31:46 +02:00 committed by Masahiro Yamada
parent cdb1e767c8
commit cdb37fe66f
2 changed files with 7 additions and 19 deletions

View File

@ -1381,7 +1381,7 @@ ConfigMainWindow::ConfigMainWindow(void)
conf_set_changed_callback(conf_changed);
configname = xstrdup(conf_get_configname());
configname = conf_get_configname();
QAction *saveAsAction = new QAction("Save &As...", this);
connect(saveAsAction, &QAction::triggered,
@ -1520,28 +1520,22 @@ ConfigMainWindow::ConfigMainWindow(void)
void ConfigMainWindow::loadConfig(void)
{
QString str;
QByteArray ba;
const char *name;
str = QFileDialog::getOpenFileName(this, "", configname);
if (str.isNull())
return;
ba = str.toLocal8Bit();
name = ba.data();
if (conf_read(name))
if (conf_read(str.toLocal8Bit().constData()))
QMessageBox::information(this, "qconf", "Unable to load configuration!");
free(configname);
configname = xstrdup(name);
configname = str;
ConfigList::updateListAllForAll();
}
bool ConfigMainWindow::saveConfig(void)
{
if (conf_write(configname)) {
if (conf_write(configname.toLocal8Bit().constData())) {
QMessageBox::information(this, "qconf", "Unable to save configuration!");
return false;
}
@ -1553,23 +1547,17 @@ bool ConfigMainWindow::saveConfig(void)
void ConfigMainWindow::saveConfigAs(void)
{
QString str;
QByteArray ba;
const char *name;
str = QFileDialog::getSaveFileName(this, "", configname);
if (str.isNull())
return;
ba = str.toLocal8Bit();
name = ba.data();
if (conf_write(name)) {
if (conf_write(str.toLocal8Bit().constData())) {
QMessageBox::information(this, "qconf", "Unable to save configuration!");
}
conf_write_autoconf(0);
free(configname);
configname = xstrdup(name);
configname = str;
}
void ConfigMainWindow::searchConfig(void)

View File

@ -237,7 +237,7 @@ public slots:
class ConfigMainWindow : public QMainWindow {
Q_OBJECT
char *configname;
QString configname;
static QAction *saveAction;
static void conf_changed(bool);
public: