|
|
|
#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 * tqparent, const char * name)
|
|
|
|
: KDialogBase(tqparent, 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"
|
|
|
|
|