AlbumShaper
1.0a3
|
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 00039 QFont questionFont = questionText->font(); 00040 questionFont.setWeight(QFont::Bold); 00041 questionText->setFont( questionFont ); 00042 00043 questionIcon = new QPixmap(QString(IMAGE_PATH)+questionIconName); 00044 questionIconLabel = new QLabel( topFrame ); 00045 questionIconLabel->setPixmap( *questionIcon ); 00046 00047 messageText = new QTextEdit( this ); 00048 messageText->setReadOnly(true); 00049 messageText->setText( message ); 00050 00051 00052 bottomFrame = new QFrame( this ); 00053 00054 okButton = new QPushButton( tr("Yes"), bottomFrame ); 00055 okButton->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed ); 00056 okButton->setDefault(true); 00057 okButton->setFocus(); 00058 00059 connect( okButton, SIGNAL(clicked()), SLOT(accept()) ); 00060 00061 cancelButton = new QPushButton( tr("No"), bottomFrame ); 00062 cancelButton->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed ); 00063 connect( cancelButton, SIGNAL(clicked()), SLOT(reject()) ); 00064 //------------------------------- 00065 //create grid and place widgets 00066 gridTop = new QGridLayout( topFrame, 1, 2, 0); 00067 gridTop->addWidget( questionText, 0, 0 ); 00068 gridTop->addWidget( questionIconLabel, 0, 1, Qt::AlignRight ); 00069 00070 gridBottom = new QGridLayout( bottomFrame, 1, 2, 0); 00071 gridBottom->addWidget( okButton, 0, 0 ); 00072 gridBottom->addWidget( cancelButton, 0, 1); 00073 00074 gridFull = new QGridLayout( this, 3, 1, 0); 00075 gridFull->addWidget( topFrame, 0, 0); 00076 gridFull->addWidget( messageText, 1, 0); 00077 gridFull->addWidget( bottomFrame, 2, 0); 00078 00079 gridFull->setRowStretch( 1, 1 ); 00080 gridFull->setResizeMode( QLayout::FreeResize ); 00081 gridFull->setMargin(WIDGET_SPACING); 00082 gridFull->setSpacing(WIDGET_SPACING); 00083 00084 //------------------------------- 00085 //setup window title bar 00086 setCaption( question ); 00087 //------------------------------- 00088 //set window to not be resizeable 00089 setMinimumWidth(300); 00090 this->show(); 00091 setFixedSize(size()); 00092 //------------------------------- 00093 } 00094 //============================================== 00095 QuestionDialog::~QuestionDialog() 00096 { 00097 delete questionIcon; 00098 } 00099 //==============================================