Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

questionDialog.cpp

Go to the documentation of this file.
00001 //==============================================
00002 //  copyright            : (C) 2003-2005 by Will Stokes
00003 //==============================================
00004 //  This program is free software; you can redistribute it
00005 //  and/or modify it under the terms of the GNU General
00006 //  Public License as published by the Free Software
00007 //  Foundation; either version 2 of the License, or
00008 //  (at your option) any later version.
00009 //==============================================
00010 
00011 //Systemwide includes
00012 #include <qdialog.h>
00013 #include <qlayout.h>
00014 #include <qlabel.h>
00015 #include <qtextedit.h>
00016 #include <qfont.h>
00017 #include <qpushbutton.h>
00018 #include <qpixmap.h>
00019 
00020 //Projectwide includes
00021 #include "questionDialog.h"
00022 #include "../../config.h"
00023 
00024 //==============================================
00025 QuestionDialog::QuestionDialog( QString question,
00026                                               QString message,
00027                                               QString questionIconName,
00028                                               QWidget* parent,
00029                                               const char* name ) :
00030                                               QDialog(parent, name, true )
00031 {
00032   //-------------------------------
00033   //create widgets
00034   topFrame = new QFrame( this );
00035 
00036   questionText = new QLabel( topFrame );
00037   questionText->setText( question );
00038   questionText->setFont( QFont( "Times", 12, QFont::Bold ) );
00039 
00040   questionIcon = new QPixmap(QString(IMAGE_PATH)+questionIconName);
00041   questionIconLabel = new QLabel( topFrame );
00042   questionIconLabel->setPixmap( *questionIcon );
00043 
00044   messageText = new QTextEdit( this );
00045   messageText->setReadOnly(true);
00046   messageText->setText( message );
00047   messageText->setFont( QFont( "Times", 12, QFont::Normal ) );
00048 
00049   bottomFrame = new QFrame( this );
00050 
00051   okButton = new QPushButton( tr("Yes"), bottomFrame );
00052   okButton->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed );
00053   okButton->setDefault(true);
00054   okButton->setFocus();
00055 
00056   connect( okButton, SIGNAL(clicked()), SLOT(accept()) );
00057 
00058   cancelButton = new QPushButton( tr("No"), bottomFrame );
00059   cancelButton->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed );
00060   connect( cancelButton, SIGNAL(clicked()), SLOT(reject()) );
00061   //-------------------------------
00062   //create grid and place widgets
00063   gridTop     = new QGridLayout( topFrame, 1, 2, 0);
00064   gridTop->addWidget( questionText, 0, 0 );
00065   gridTop->addWidget( questionIconLabel, 0, 1, Qt::AlignRight );
00066 
00067   gridBottom  = new QGridLayout( bottomFrame, 1, 2, 0);
00068   gridBottom->addWidget( okButton, 0, 0 );
00069   gridBottom->addWidget( cancelButton, 0, 1);
00070 
00071   gridFull    = new QGridLayout( this, 3, 1, 0);
00072   gridFull->addWidget( topFrame, 0, 0);
00073   gridFull->addWidget( messageText, 1, 0);
00074   gridFull->addWidget( bottomFrame, 2, 0);
00075 
00076   gridFull->setRowStretch( 1, 1 );
00077   gridFull->setResizeMode( QLayout::FreeResize );
00078   gridFull->setMargin(WIDGET_SPACING);
00079   gridFull->setSpacing(WIDGET_SPACING);
00080 
00081   setMinimumWidth(300);
00082   setMaximumWidth(300);
00083   //-------------------------------
00084   //setup window title bar
00085   setCaption( question );
00086   //-------------------------------
00087   //set window to not be resizeable
00088   this->show();
00089   setFixedSize(size());
00090   //-------------------------------
00091 }
00092 //==============================================
00093 QuestionDialog::~QuestionDialog()
00094 {
00095   delete questionIcon;
00096 }
00097 //==============================================

Generated on Sat Apr 2 05:44:04 2005 for AlbumShaper by  doxygen 1.3.9.1