Files
raDIYo/swsetupcontrol.cpp
2025-08-05 22:36:00 +02:00

83 lines
2.3 KiB
C++

/***************************************************************************
source::worx raDIYo
Copyright © 2020-2022 c.holzheuer
chris@sourceworx.org
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
***************************************************************************/
#include <QDebug>
#include <QFileDialog>
#include <QInputDialog>
#include <swsetupcontrol.h>
#include <raDIYo.h>
SWSetupControl::SWSetupControl( QWidget* parent, QSettings* settings )
: SWBaseControl( parent, settings )
{
Ui_SWSetup::setupUi( this );
setHeaderText( "Setup" );
connect( _buttonSongs, SIGNAL( clicked() ), this, SLOT( onSongsClicked() ) );
connect( _buttonSender, SIGNAL( clicked() ), this, SLOT( onSenderClicked() ) );
}
void SWSetupControl::onShow()
{
QString dirName = settings().value( raDIYo::KeySongsPath ).toString();
_labelSongs->setText( dirName );
QString senderList = settings().value( raDIYo::KeySenderPath ).toString();
_labelSender->setText( senderList );
}
void SWSetupControl::onSongsClicked()
{
QString defName = _settings->value( raDIYo::KeySongsPath ).toString();
QDir defDir( defName );
if( !defDir.exists() )
defName = QDir::homePath();
defName = QFileDialog::getExistingDirectory( this, tr("Songs Directory"),
defName,
QFileDialog::ShowDirsOnly
| QFileDialog::DontResolveSymlinks );
if( defName.isEmpty() )
return;
settings().setValue( raDIYo::KeySongsPath,defName );
_labelSongs->setText( defName );
}
void SWSetupControl::onSenderClicked()
{
QString defName = QFileDialog::getOpenFileName(this, tr("Open Sender File"),
QDir::homePath(),
tr("List (*.csv)"));
if( defName.isEmpty() )
return;
settings().setValue( raDIYo::KeySenderPath, defName );
_labelSender->setText( defName );
}