Files
miniCashAll/libMiniCash/mcloaddialog.cpp
2025-08-05 22:37:51 +02:00

95 lines
2.3 KiB
C++

/***************************************************************************
libMiniCash
Copyright © 2013-2022 christoph holzheuer
c.holzheuer@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 3 of the License, or
(at your option) any later version.
***************************************************************************/
#include <QMessageBox>
#include <QPushButton>
#include <mcloaddialog.h>
#include <ui_mcloaddialog.h>
/**
* @brief Dialogfenster das das Laden der Kassendateien anzeigt.
*
* @param parent Elternfenster
* Die Namen der Kassendateien werden aufgelistet und nach erfolgreichem
* Ladevorgang abgehakt.
*/
MCLoadDialog::MCLoadDialog( QWidget* parent )
: QDialog(parent), _ui{new Ui::MCLoadDialog}, _firstTime( true )
{
_ui->setupUi( this );
connect( _ui->_OkButton, SIGNAL(clicked()), this, SLOT( accept() ) );
}
MCLoadDialog::~MCLoadDialog()
{
delete _ui;
}
/**
* @brief Einen Dateinamen in die Liste schreiben
* @param entry der Dateiname
*/
void MCLoadDialog::appendEntry( const QString& entry )
{
_ui->_listWidget->addItem( entry );
}
/**
* @brief Statusmeldung an einen Dateinamen der Liste anhängen.
*
* @param idx der Index des Dateinnamens
* @param text der Zusatztext: 'OK' oder 'Fehler'.
*/
void MCLoadDialog::updateEntry( int idx, const QString& text )
{
const QString& txt = _ui->_listWidget->item( idx )->text();
QIcon icon( ":/images/button_ok.png" );
// text ändern
QListWidgetItem& itm = *_ui->_listWidget->item( idx );
itm.setIcon( icon );
itm.setText( txt + text );
}
/**
* @brief Startet das einlesen der Kassendateien.
*
* Beim ersten Klick auf 'OK' (Anzeige 'Einlesen') werden die Ergebnisse
* angezeigt und der Text geändert. Beim zweiten 'OK' (Anzeige: 'Weiter' )
* werden die Texte zurückgesetzt und es geht tatsächlich weiter.
*/
void MCLoadDialog::accept()
{
if( _firstTime )
{
_firstTime = false;
// Murx, FIX! das sollte über den Translator gehen
//buttonBox->button( QDialogButtonBox::Ok )->setText( "Weiter" );
_ui->_label1->setText( "verkaufte Artikel:" );
}
return QDialog::accept();
}