--- src/psicon.cpp~	2007-09-18 23:52:39.634880000 +0400
+++ src/psicon.cpp	2007-08-28 00:22:59.044532800 +0400
@@ -1424,24 +1425,61 @@ PsiActionList *PsiCon::actionList() cons
 /**
  * Prompts user to create new account, if none are currently present in system.
  */
+#include <QRadioButton>
+#include <QDialogButtonBox>
 void PsiCon::promptUserToCreateAccount()
 {
-	QMessageBox msgBox(QMessageBox::Question,tr("Account setup"),tr("You need to set up an account to start. Would you like to register a new account, or use an existing account?"));
-	QPushButton *registerButton = msgBox.addButton(tr("Register new account"), QMessageBox::AcceptRole);
-	QPushButton *existingButton = msgBox.addButton(tr("Use existing account"),QMessageBox::AcceptRole);
-	msgBox.addButton(QMessageBox::Cancel);
-	msgBox.exec();
-	if (msgBox.clickedButton() ==  existingButton) {
+    QDialog msgBox;
+    msgBox.setWindowTitle(tr("Account setup"));
+
+    QGroupBox *group = new QGroupBox(tr("Account setup"), &msgBox);
+    QLabel *icon = new QLabel(group);
+    icon->setPixmap(QApplication::style()->standardPixmap(QStyle::SP_MessageBoxQuestion));
+    QLabel *txt = new QLabel(group);
+    txt->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::MinimumExpanding);
+    txt->setWordWrap(true);
+    txt->setText(tr("You need to set up an account to start. Would you like to register a new account, or use an existing account?"));
+
+    QRadioButton *register_new = new QRadioButton(tr("Register new account"), group);
+    register_new->setChecked(true);
+    QRadioButton *use_existing = new QRadioButton(tr("Use existing account"), group);
+
+    QDialogButtonBox *btnbox = new QDialogButtonBox(&msgBox);
+    btnbox->addButton(QDialogButtonBox::Ok);
+    btnbox->addButton(QDialogButtonBox::Cancel);
+
+    QHBoxLayout *ghbox = new QHBoxLayout;
+    ghbox->addWidget(icon);
+    ghbox->addWidget(txt);
+    QVBoxLayout *gvbox = new QVBoxLayout;
+    gvbox->addLayout(ghbox);
+    gvbox->addWidget(register_new);
+    gvbox->addWidget(use_existing);
+    group->setLayout(gvbox);
+    QVBoxLayout *vbox = new QVBoxLayout;
+    vbox->addWidget(group);
+    vbox->addWidget(btnbox);
+    msgBox.setLayout(vbox);
+
+    QObject::connect(btnbox, SIGNAL(accepted()), &msgBox, SLOT(accept()));
+    QObject::connect(btnbox, SIGNAL(rejected()), &msgBox, SLOT(reject()));
+
+    if( msgBox.exec() == QDialog::Accepted )
+    {
+	if( use_existing->isChecked() )
+	{
 		AccountModifyDlg w(this);
 		w.exec();
 	}
-	else if (msgBox.clickedButton() ==  registerButton) {
+	else if( register_new->isChecked() )
+	{
 		AccountRegDlg w(proxy());
 		int n = w.exec();
 		if (n == QDialog::Accepted) {
 			contactList()->createAccount(w.jid().node(),w.jid(),w.pass(),w.useHost(),w.host(),w.port(),w.legacySSLProbe(),w.ssl(),w.proxy(),false);
 		}
 	}
+    }
 }
 
 
