| 340 | | CustomAwayMsgDlg::CustomAwayMsgDlg(unsigned long nUin, QWidget *parent) |
| 341 | | : LicqDialog(parent, "CustomAwayMessageDialog", false, WDestructiveClose) |
| 342 | | { |
| 343 | | m_nUin = nUin; |
| 344 | | |
| 345 | | QBoxLayout* top_lay = new QVBoxLayout(this, 10); |
| 346 | | |
| 347 | | mleAwayMsg = new MLEditWrap(true, this); |
| 348 | | connect(mleAwayMsg, SIGNAL(signal_CtrlEnterPressed()), this, SLOT(slot_ok())); |
| 349 | | top_lay->addWidget(mleAwayMsg); |
| 350 | | |
| 351 | | QBoxLayout* l = new QHBoxLayout(top_lay, 10); |
| 352 | | |
| 353 | | int bw = 75; |
| 354 | | QPushButton *btnHints = new QPushButton(tr("&Hints"), this); |
| 355 | | connect(btnHints, SIGNAL(clicked()), SLOT(slot_hints())); |
| 356 | | QPushButton *btnOk = new QPushButton(tr("&Ok"), this ); |
| 357 | | btnOk->setDefault(true); |
| 358 | | connect( btnOk, SIGNAL(clicked()), SLOT(slot_ok()) ); |
| 359 | | QPushButton *btnClear = new QPushButton(tr("&Clear"), this ); |
| 360 | | connect( btnClear, SIGNAL(clicked()), SLOT(slot_clear()) ); |
| 361 | | QPushButton *btnCancel = new QPushButton(tr("&Cancel"), this ); |
| 362 | | connect( btnCancel, SIGNAL(clicked()), SLOT(close()) ); |
| 363 | | bw = QMAX(bw, btnOk->sizeHint().width()); |
| 364 | | bw = QMAX(bw, btnClear->sizeHint().width()); |
| 365 | | bw = QMAX(bw, btnCancel->sizeHint().width()); |
| 366 | | bw = QMAX(bw, btnHints->sizeHint().width()); |
| 367 | | btnOk->setFixedWidth(bw); |
| 368 | | btnClear->setFixedWidth(bw); |
| 369 | | btnCancel->setFixedWidth(bw); |
| 370 | | btnHints->setFixedWidth(bw); |
| 371 | | |
| 372 | | l->addStretch(1); |
| 373 | | l->addSpacing(30); |
| 374 | | l->addWidget(btnHints); |
| 375 | | l->addSpacing(20); |
| 376 | | l->addWidget(btnOk); |
| 377 | | l->addWidget(btnClear); |
| 378 | | l->addWidget(btnCancel); |
| 379 | | |
| 380 | | ICQUser *u = gUserManager.FetchUser(m_nUin, LOCK_R); |
| 381 | | setCaption(QString(tr("Set Custom Auto Response for %1")) |
| 382 | | .arg(QString::fromUtf8(u->GetAlias()))); |
| 383 | | if (*u->CustomAutoResponse()) |
| 384 | | mleAwayMsg->setText(QString::fromLocal8Bit(u->CustomAutoResponse())); |
| 385 | | else if (u->StatusToUser() != ICQ_STATUS_OFFLINE) |
| 386 | | mleAwayMsg->setText(tr("I am currently %1.\nYou can leave me a message.") |
| 387 | | .arg(Strings::getStatus(u->StatusToUser(), false))); |
| 388 | | |
| 389 | | gUserManager.DropUser(u); |
| 390 | | |
| 391 | | mleAwayMsg->setFocus(); |
| 392 | | QTimer::singleShot(0, mleAwayMsg, SLOT(selectAll())); |
| 393 | | |
| 394 | | show(); |
| 395 | | } |
| 396 | | |
| 397 | | |
| 398 | | // ----------------------------------------------------------------------------- |