You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdenetwork/ksirc/NewWindowDialog.cpp

74 lines
1.9 KiB

#include <kapplication.h>
#include <kconfig.h>
#include <klocale.h>
#include <kcombobox.h>
#include <tqhbox.h>
#include <tqlabel.h>
#include <tqlineedit.h>
#include <klineedit.h>
#include "NewWindowDialog.h"
NewWindowDialog::NewWindowDialog(const KSircChannel &channelInfo, TQWidget * parent, const char * name)
: KDialogBase(parent, name, true, i18n("New Window For"), Ok|Cancel, Ok, true),
m_channelInfo(channelInfo)
{
TQHBox * w = makeHBoxMainWidget();
TQLabel * l = new TQLabel(i18n("C&hannel/Nick:"), w);
m_combo = new KHistoryCombo(w);
m_combo->setFocus();
// we don't need duplicated channel into the list
m_combo->setDuplicatesEnabled( false );
l->setBuddy(m_combo);
TQLabel * l2 = new TQLabel(i18n("&Key:"), w);
m_le = new KLineEdit(w);
m_le->setEnabled(false);
l2->setBuddy(m_le);
connect(
m_combo, TQT_SIGNAL(activated(const TQString &)),
m_combo, TQT_SLOT(addToHistory(const TQString &)));
connect( m_combo->lineEdit(), TQT_SIGNAL(textChanged ( const TQString & )),
this, TQT_SLOT( slotTextChanged( const TQString &)));
KConfig *kConfig = kapp->config();
KConfigGroupSaver saver(kConfig, "Recent");
m_combo->setHistoryItems(kConfig->readListEntry("Channels"));
slotTextChanged( m_combo->lineEdit()->text());
}
NewWindowDialog::~NewWindowDialog()
{
KConfig *kConfig = kapp->config();
KConfigGroupSaver saver(kConfig, "Recent");
kConfig->writeEntry("Channels", m_combo->historyItems());
}
void NewWindowDialog::slotTextChanged( const TQString &text)
{
enableButtonOK( !text.isEmpty() );
if(text[0] == "#" || text[0] == "&")
m_le->setEnabled(true);
else
m_le->setEnabled(false);
}
void
NewWindowDialog::slotOk()
{
m_channelInfo.setChannel(m_combo->lineEdit()->text().lower());
if(m_le->isEnabled())
m_channelInfo.setKey(m_le->text());
emit(openTopLevel(m_channelInfo));
KDialogBase::slotOk();
}
#include "NewWindowDialog.moc"