/* * This file is a part of VyQChat. * * Copyright (C) 2002-2004 Pawel Stolowski * * VyQChat is free software; you can redestribute it and/or modify it * under terms of GNU General Public License by Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY. See GPL for more details. */ #include "chatlinehist.h" #include #include #include #include ChatLineHistory::ChatLineHistory(QWidget *parent, const QStringList &hist): QWidget(parent)/*{{{*/ { setWFlags(Qt::WDestructiveClose | Qt::WShowModal | getWFlags()); setCaption(tr("Commands history")); resize(260, 400); QBoxLayout *l1 = new QVBoxLayout(this); QVBox *box1 = new QVBox(this); l1->addWidget(box1); hlb = new QListBox(box1); hlb->setSelectionMode(QListBox::Single); hlb->insertStringList(hist); hlb->setFocus(); connect(hlb, SIGNAL(selected(QListBoxItem *)), this, SLOT(clicked(QListBoxItem *))); connect(hlb, SIGNAL(selected(QListBoxItem *)), this, SLOT(close())); QBoxLayout *l2 = new QHBoxLayout(l1); b_use = new QPushButton(tr("Use"), this); if (hist.count() == 0) b_use->setDisabled(true); QPushButton *b_close = new QPushButton(tr("Close"), this); connect(b_close, SIGNAL(clicked()), this, SLOT(close())); connect(b_use, SIGNAL(clicked()), this, SLOT(clickedUseButton())); connect(b_use, SIGNAL(clicked()), this, SLOT(close())); l2->addWidget(b_use); l2->addStretch(20); l2->addWidget(b_close); }/*}}}*/ ChatLineHistory::~ChatLineHistory()/*{{{*/ { }/*}}}*/ void ChatLineHistory::clicked(QListBoxItem *item)/*{{{*/ { emit clicked(item->text()); }/*}}}*/ void ChatLineHistory::clickedUseButton()/*{{{*/ { emit clicked(hlb->currentText()); }/*}}}*/