* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
-#include "qt4.hpp"
#include "dialogs/errors.hpp"
#include "dialogs/interaction.hpp"
-#include "util/qvlcframe.hpp"
+#include "main_interface.hpp"
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QProgressBar>
#include <QMessageBox>
+#include <QDialogButtonBox>
#include <assert.h>
}
else if( p_dialog->i_flags & DIALOG_NONBLOCKING_ERROR )
{
- if( config_GetInt( p_intf, "errors-dialog" ) != 0 )
+ if( config_GetInt( p_intf, "qt-error-dialogs" ) != 0 )
ErrorsDialog::getInstance( p_intf )->addError(
qfu( p_dialog->psz_title ), qfu( p_dialog->psz_description ) );
i_ret = 0;
}
else if( p_dialog->i_flags & DIALOG_WARNING )
{
- if( config_GetInt( p_intf, "errors-dialog" ) != 0 )
+ if( config_GetInt( p_intf, "qt-error-dialogs" ) != 0 )
ErrorsDialog::getInstance( p_intf )->addWarning(
qfu( p_dialog->psz_title ),qfu( p_dialog->psz_description ) );
i_ret = 0;
grid->addWidget( new QLabel( qtr("Password") ), 2, 0);
passwordEdit = new QLineEdit;
+ passwordEdit->setEchoMode( QLineEdit::Password );
grid->addWidget( passwordEdit, 2, 1 );
panel->setLayout( grid );
layout->addWidget( panel );
}
- else if( p_dialog->i_flags & DIALOG_USER_PROGRESS ||
- /* TEMPORARY ! */ p_dialog->i_flags & DIALOG_INTF_PROGRESS )
+ else if( p_dialog->i_flags & DIALOG_USER_PROGRESS )
{
dialog = new QWidget( 0 );layout = new QVBoxLayout( dialog );
layout->setMargin( 2 );
progressBar = new QProgressBar;
progressBar->setMaximum( 1000 );
progressBar->setTextVisible( true );
- progressBar->setOrientation(Qt::Horizontal);
+ progressBar->setOrientation( Qt::Horizontal );
layout->addWidget( progressBar );
}
+ else if( p_dialog->i_flags & DIALOG_INTF_PROGRESS )
+ {
+ progressBar = p_intf->p_sys->p_mi->pgBar;
+ progressBar->show();
+ }
else if( p_dialog->i_flags & DIALOG_PSZ_INPUT_OK_CANCEL )
{
dialog = new QWidget( 0 );layout = new QVBoxLayout( dialog );
else
/* Custom box, finish it */
{
- QVLCFrame::doButtons( dialog, layout,
- &defaultButton, p_dialog->psz_default_button,
- &altButton, p_dialog->psz_alternate_button,
- &otherButton, p_dialog->psz_other_button );
+ QDialogButtonBox *buttonBox = new QDialogButtonBox;
+
+ if( p_dialog->psz_default_button )
+ {
+ defaultButton = new QPushButton;
+ defaultButton->setFocus();
+ defaultButton->setText( qfu( p_dialog->psz_default_button ) );
+ buttonBox->addButton( defaultButton, QDialogButtonBox::AcceptRole );
+ }
+ if( p_dialog->psz_alternate_button )
+ {
+ altButton = new QPushButton;
+ altButton->setText( qfu( p_dialog->psz_alternate_button ) );
+ buttonBox->addButton( altButton, QDialogButtonBox::RejectRole );
+ }
+ if( p_dialog->psz_other_button )
+ {
+ otherButton = new QPushButton;
+ otherButton->setText( qfu( p_dialog->psz_other_button ) );
+ buttonBox->addButton( otherButton, QDialogButtonBox::ActionRole );
+ }
+ layout->addWidget( buttonBox );
if( p_dialog->psz_default_button )
BUTTONACT( defaultButton, defaultB() );
if( p_dialog->psz_alternate_button )
void InteractionDialog::update()
{
- if( p_dialog->i_flags & DIALOG_USER_PROGRESS )
+ if( p_dialog->i_flags & DIALOG_USER_PROGRESS ||
+ p_dialog->i_flags & DIALOG_INTF_PROGRESS )
{
assert( progressBar );
- progressBar->setValue( (int)(p_dialog->val.f_float*1000) );
- fprintf (stderr, "Setting progress to %i\n", progressBar->value() );
+ progressBar->setValue( (int)( p_dialog->val.f_float * 10 ) );
+ description->setText( qfu( p_dialog->psz_description ) );
}
+
+ if( ( p_dialog->i_flags & DIALOG_INTF_PROGRESS ) &&
+ ( p_dialog->val.f_float >= 100.0 ) )
+ progressBar->hide();
+ if( ( p_dialog->i_flags & DIALOG_USER_PROGRESS ) &&
+ ( p_dialog->val.f_float >= 100.0 ) )
+ altButton->setText( qtr( "&Close" ) );
}
InteractionDialog::~InteractionDialog()
{
-// if( panel ) delete panel;
- if( dialog ) delete dialog;
+// delete panel;
+ delete dialog;
}
void InteractionDialog::defaultB()
void InteractionDialog::Finish( int i_ret )
{
- vlc_mutex_lock( &p_dialog->p_interaction->object_lock );
+ vlc_object_lock( p_dialog->p_interaction );
if( p_dialog->i_flags & DIALOG_LOGIN_PW_OK_CANCEL )
{
}
p_dialog->i_status = ANSWERED_DIALOG;
p_dialog->i_return = i_ret;
+
+ /* Alert the Dialog_*_Progress that the user had clicked on "cancel" */
+ if( p_dialog->i_flags & DIALOG_USER_PROGRESS ||
+ p_dialog->i_flags & DIALOG_INTF_PROGRESS )
+ p_dialog->b_cancelled = true;
+
hide();
- vlc_mutex_unlock( &p_dialog->p_interaction->object_lock );
+ vlc_object_unlock( p_dialog->p_interaction );
playlist_Signal( THEPL );
}
+