SearchDialog::SearchDialog() { SET_WNDPROC("search") setIcon(Pict("find")); setButtonsPict(this); setCaption(i18n("Search")); m_current = NULL; m_currentResult = NULL; m_bAdd = true; m_id = 0; m_result_id = 0; m_active = NULL; m_search = new SearchBase(this); m_update = new QTimer(this); connect(m_update, SIGNAL(timeout()), this, SLOT(update())); setCentralWidget(m_search); m_status = statusBar(); m_result = NULL; setAdd(false); m_search->btnOptions->setIconSet(Icon("1downarrow")); m_search->btnAdd->setIconSet(Icon("add")); m_search->btnNew->setIconSet(Icon("new")); connect(m_search->wndCondition, SIGNAL(aboutToShow(QWidget*)), this, SLOT(aboutToShow(QWidget*))); connect(m_search->wndResult, SIGNAL(aboutToShow(QWidget*)), this, SLOT(resultShow(QWidget*))); fillClients(); connect(m_search->cmbClients, SIGNAL(activated(int)), this, SLOT(clientActivated(int))); m_result = new ListView(m_search->wndResult); m_result->addColumn(i18n("Results")); m_result->setShowSortIndicator(true); m_result->setExpandingColumn(0); m_result->setFrameShadow(QFrame::Sunken); m_result->setLineWidth(1); addResult(m_result); showResult(NULL); aboutToShow(m_search->wndCondition->visibleWidget()); connect(m_search->btnSearch, SIGNAL(clicked()), this, SLOT(searchClick())); m_search->cmbClients->setFocus(); connect(m_search->btnOptions, SIGNAL(clicked()), this, SLOT(optionsClick())); connect(m_search->btnAdd, SIGNAL(clicked()), this, SLOT(addClick())); m_search->btnOptions->setEnabled(false); m_search->btnAdd->setEnabled(false); connect(m_result, SIGNAL(selectionChanged()), this, SLOT(selectionChanged())); connect(m_result, SIGNAL(dragStart()), this, SLOT(dragStart())); connect(m_search->btnNew, SIGNAL(clicked()), this, SLOT(newSearch())); m_result->setMenu(MenuSearchItem); resultShow(m_result); }
ProxyConfig::ProxyConfig(QWidget *parent, ProxyPlugin *plugin, QTabWidget *tab, Client *client) : QWidget( parent) { setupUi( this); m_plugin = plugin; m_client = client; m_current = (unsigned)(-1); cmbType->insertItem(i18n("None")); cmbType->insertItem("SOCKS4"); cmbType->insertItem("SOCKS5"); cmbType->insertItem("HTTP/HTTPS"); if (tab){ tab->addTab(this, i18n("&Proxy")); for (QWidget *p = this; p; p = p->parentWidget()){ QSize s = p->sizeHint(); QSize s1 = QSize(p->width(), p->height()); p->setMinimumSize(s); p->resize(QMAX(s.width(), s1.width()), QMAX(s.height(), s1.height())); if (p->layout()) p->layout()->invalidate(); if (p == topLevelWidget()) break; } } connect(cmbType, SIGNAL(activated(int)), this, SLOT(typeChanged(int))); connect(chkAuth, SIGNAL(toggled(bool)), this, SLOT(authToggled(bool))); if (m_client){ lblClient->hide(); cmbClient->hide(); ProxyData data; plugin->clientData(static_cast<TCPClient*>(m_client), data); fill(&data); }else{ fillClients(); connect(cmbClient, SIGNAL(activated(int)), this, SLOT(clientChanged(int))); clientChanged(0); } }
void *SearchDialog::processEvent(Event *e) { switch (e->type()){ case EventClientsChanged: case EventClientChanged: fillClients(); break; case EventCommandExec:{ if (m_result != m_currentResult) return NULL; CommandDef *cmd = (CommandDef*)(e->param()); if (cmd->menu_id == MenuSearchGroups){ Group *grp = getContacts()->group(cmd->id - CmdContactGroup); if (grp){ Contact *contact = NULL; if ((QWidget*)(cmd->param) == m_search->btnSearch){ if (m_current){ connect(this, SIGNAL(createContact(unsigned,Contact*&)), m_current, SLOT(createContact(unsigned,Contact*&))); emit createContact(CONTACT_TEMP, contact); disconnect(this, SIGNAL(createContact(unsigned,Contact*&)), m_current, SLOT(createContact(unsigned,Contact*&))); } }else{ contact = createContact(CONTACT_TEMP); } if (contact){ if ((contact->getFlags() & CONTACT_TEMP) == 0){ QString err = i18n("%1 already in contact list") .arg(contact->getName()); if ((QWidget*)(cmd->param) == m_search->btnAdd){ BalloonMsg::message(err, m_search->btnAdd); }else if ((QWidget*)(cmd->param) == m_search->btnSearch){ BalloonMsg::message(err, m_search->btnSearch); }else{ BalloonMsg::message(err, m_result); } return e->param(); } contact->setFlags(contact->getFlags() & ~CONTACT_TEMP); contact->setGroup(grp->id()); Event e(EventContactChanged, contact); e.process(); } } return e->param(); } if (cmd->id == CmdSearchInfo){ Contact *contact = createContact(CONTACT_TEMP); if (contact == NULL) return e->param(); Command cmd; cmd->id = CmdInfo; cmd->menu_id = MenuContact; cmd->param = (void*)(contact->id()); CorePlugin::m_plugin->showInfo(cmd); return e->param(); } if (cmd->id == CmdSearchMsg){ Contact *contact = createContact(CONTACT_TEMP); if (contact == NULL) return e->param(); Message *m = new Message(MessageGeneric); m->setContact(contact->id()); Event e(EventOpenMessage, &m); e.process(); delete m; } break; }
void *ProxyConfig::processEvent(Event *e) { if ((m_client == NULL) && (e->type() == EventClientsChanged)) fillClients(); return NULL; }