Example #1
0
void JabberBrowser::go(const QString &url, const QString &node)
{
    setNavigation();
    Command cmd;
    setTitle();
    m_list->clear();
    cmd->id		= CmdBrowseInfo;
    cmd->flags	= COMMAND_DISABLED;
    cmd->param	= this;
    Event eNext(EventCommandDisabled, cmd);
    eNext.process();
    cmd->id		= CmdBrowseSearch;
    cmd->flags	= COMMAND_DISABLED;
    cmd->param	= this;
    eNext.process();
    cmd->id		= CmdRegister;
    cmd->flags	= COMMAND_DISABLED;
    cmd->param	= this;
    eNext.process();
    cmd->id		= CmdBrowseConfigure;
    cmd->flags	= COMMAND_DISABLED;
    cmd->param	= this;
    eNext.process();
    m_bInProcess = true;
    QListViewItem *item = new QListViewItem(m_list);
    item->setText(COL_JID, url);
    item->setText(COL_NAME, url);
    item->setText(COL_NODE, node);
    m_bError = false;
    unsigned mode = 0;
    if (m_client->getBrowseType() & BROWSE_DISCO){
        item->setText(COL_ID_DISCO_ITEMS, m_client->discoItems(url.utf8(), node.utf8()).c_str());
        item->setText(COL_ID_DISCO_INFO, m_client->discoInfo(url.utf8(), node.utf8()).c_str());
        mode = BROWSE_DISCO | BROWSE_INFO;
    }
    if (m_client->getBrowseType() & BROWSE_BROWSE){
        if (node.isEmpty()){
            item->setText(COL_ID_BROWSE, m_client->browse(url.utf8()).c_str());
            mode |= BROWSE_BROWSE;
        }
    }
    item->setText(COL_MODE, QString::number(mode));
    item->setPixmap(COL_NAME, Pict("empty"));
    cmd->id		= CmdUrl;
    cmd->param	= this;
    Event eWidget(EventCommandWidget, cmd);
    CToolCombo *cmbUrl = (CToolCombo*)(eWidget.process());
    if (cmbUrl)
        cmbUrl->setText(url);
    cmd->id		= CmdNode;
    CToolCombo *cmbNode = (CToolCombo*)(eWidget.process());
    if (cmbNode)
        cmbNode->setText(node);
	startProcess();
    if (item->text(COL_ID_DISCO_INFO).isEmpty())
        stop(i18n("Client offline"));
}
Example #2
0
void JabberBrowser::go(const QString &url, const QString &node)
{
    setNavigation();
    Command cmd;
    setTitle();
    m_list->clear();
    m_category	= "";
    m_type		= "";
    m_name      = "";
    m_features	= "";
    cmd->id		= static_cast<JabberPlugin*>(m_client->protocol()->plugin())->CmdInfo;
    cmd->flags	= COMMAND_DISABLED;
    cmd->param	= this;
    Event eNext(EventCommandDisabled, cmd);
    eNext.process();
    cmd->id		= static_cast<JabberPlugin*>(m_client->protocol()->plugin())->CmdSearch;
    cmd->flags	= COMMAND_DISABLED;
    cmd->param	= this;
    eNext.process();
    cmd->id		= static_cast<JabberPlugin*>(m_client->protocol()->plugin())->CmdRegister;
    cmd->flags	= COMMAND_DISABLED;
    cmd->param	= this;
    eNext.process();
    cmd->id		= static_cast<JabberPlugin*>(m_client->protocol()->plugin())->CmdConfigure;
    cmd->flags	= COMMAND_DISABLED;
    cmd->param	= this;
    eNext.process();
    m_id1 = m_client->discoItems(url.utf8(), node.utf8());
    m_id2 = m_client->discoInfo(url.utf8(), node.utf8());
    cmd->id			 = static_cast<JabberPlugin*>(m_client->protocol()->plugin())->CmdUrl;
    cmd->text		 = I18N_NOOP("Stop");
    cmd->icon		 = "cancel";
    cmd->bar_grp	 = 0x2000;
    cmd->flags		 = BTN_COMBO_CHECK;
    cmd->param		 = this;
    Event e(EventCommandChange, cmd);
    e.process();
    cmd->id		= static_cast<JabberPlugin*>(m_client->protocol()->plugin())->CmdUrl;
    cmd->param	= this;
    Event eWidget(EventCommandWidget, cmd);
    CToolCombo *cmbUrl = (CToolCombo*)(eWidget.process());
    if (cmbUrl)
        cmbUrl->setText(url);
    cmd->id		= static_cast<JabberPlugin*>(m_client->protocol()->plugin())->CmdNode;
    CToolCombo *cmbNode = (CToolCombo*)(eWidget.process());
    if (cmbNode)
        cmbNode->setText(node);
    m_status->message(i18n("Process"));
    if (m_id1.empty())
        stop(i18n("Client offline"));
}
Example #3
0
JabberBrowser::JabberBrowser(JabberClient *client)
        : QMainWindow(NULL, NULL, WDestructiveClose)
{
    m_client = client;
    m_info   = NULL;

    SET_WNDPROC("jbrowser")
    setIcon(Pict("Jabber_online"));
    setTitle();
    m_status = statusBar();
    m_list = new ListView(this);
    m_list->addColumn(i18n("Name"));
    m_list->addColumn(i18n("JID"));
    m_list->addColumn(i18n("Node"));
    m_list->setExpandingColumn(0);
    m_list->setMenu(0);
    connect(m_list, SIGNAL(currentChanged(QListViewItem*)), this, SLOT(currentChanged(QListViewItem*)));
    connect(m_list, SIGNAL(dragStart()), this, SLOT(dragStart()));

    BarShow b;
    b.bar_id = BarBrowser;
    b.parent = this;
    Event e(EventShowBar, &b);
    m_bar = (CToolBar*)e.process();
    m_bar->setParam(this);
    restoreToolbar(m_bar, m_client->data.browser_bar);
    m_bar->show();
    setCentralWidget(m_list);
    m_historyPos = -1;

    Command cmd;
    cmd->id		= CmdUrl;
    cmd->param	= this;
    Event eWidget(EventCommandWidget, cmd);
    CToolCombo *cmbUrl = (CToolCombo*)(eWidget.process());
    if (cmbUrl){
        QString h = m_client->getBrowserHistory();
        while (h.length())
            cmbUrl->insertItem(getToken(h, ';'));
        cmbUrl->setText(QString::null);
    }

    m_search = NULL;
    m_reg    = NULL;
    m_config = NULL;
    m_bInProcess = false;
}
Example #4
0
JabberBrowser::JabberBrowser()
{
    m_client = NULL;
    m_info   = NULL;

    m_list = new ListView(this);
    m_list->addColumn(i18n("Name"));
    m_list->addColumn(i18n("JID"));
    m_list->addColumn(i18n("Node"));
    m_list->setExpandingColumn(0);
    m_list->setMenu(0);
    connect(m_list, SIGNAL(currentChanged(QListViewItem*)), this, SLOT(currentChanged(QListViewItem*)));
    connect(m_list, SIGNAL(selectionChanged()), this, SLOT(selectionChanged()));
    connect(m_list, SIGNAL(dragStart()), this, SLOT(dragStart()));

    BarShow b;
    b.bar_id = BarBrowser;
    b.parent = this;
    Event e(EventShowBar, &b);
    m_bar = (CToolBar*)e.process();
    m_bar->setParam(this);
    restoreToolbar(m_bar, JabberPlugin::plugin->data.browser_bar);
    m_bar->show();
    resize(qApp->desktop()->width(), qApp->desktop()->height());
    setCentralWidget(m_list);
    m_historyPos = -1;

    Command cmd;
    cmd->id		= CmdUrl;
    cmd->param	= this;
    Event eWidget(EventCommandWidget, cmd);
    CToolCombo *cmbUrl = (CToolCombo*)(eWidget.process());
    if (cmbUrl){
        QString h = JabberPlugin::plugin->getBrowserHistory();
        while (h.length())
            cmbUrl->insertItem(getToken(h, ';'));
        cmbUrl->setText(QString::null);
    }

    m_reg    = NULL;
    m_config = NULL;
    m_search = NULL;
    m_bInProcess = false;
    m_list->setMenu(MenuSearchItem);
}
HistoryWindow::HistoryWindow(unsigned long id)
{
    m_history_page_count=CorePlugin::m_plugin->getHistoryPage();

    setWFlags(WDestructiveClose);
    m_id = id;
    SET_WNDPROC("history")
    setIcon(Pict("history"));
    setName();
    m_view = new MsgViewBase(this, NULL, id);
    setCentralWidget(m_view);
    BarShow b;
    b.bar_id = BarHistory;
    b.parent = this;
    Event e(EventShowBar, &b);
    m_bar = (CToolBar*)e.process();
    m_bar->setParam((void*)m_id);
    restoreToolbar(m_bar, CorePlugin::m_plugin->data.historyBar);
    connect(this, SIGNAL(toolBarPositionChanged(QToolBar*)), this, SLOT(toolbarChanged(QToolBar*)));
    m_status = statusBar();
    m_progress = NULL;
    m_page = 0;

    Command cmd;
    cmd->id		= CmdHistoryFind;
    cmd->param	= (void*)m_id;
    Event eWidget(EventCommandWidget, cmd);
    CToolCombo *cmbFind = (CToolCombo*)(eWidget.process());
    if (cmbFind){
        QString history = CorePlugin::m_plugin->getHistorySearch();
        while (history.length()){
            cmbFind->insertItem(getToken(history, ';'));
        }
        cmbFind->setText(QString::null);
    }
    m_it	= NULL;
    m_bDirection = CorePlugin::m_plugin->getHistoryDirection();
    m_bar->checkState();
    m_bar->show();
    fill();
}
Example #6
0
JabberBrowser::JabberBrowser(JabberClient *client)
        : QMainWindow(NULL, NULL, WDestructiveClose)
{
    m_client = client;
    m_info   = NULL;

    SET_WNDPROC("jbrowser")
    setIcon(Pict("Jabber_online"));
    setTitle();
    m_status = statusBar();
    m_list = new ListView(this);
    m_list->addColumn(i18n("JID"));
    m_list->addColumn(i18n("Name"));
    m_list->addColumn(i18n("Node"));
    m_list->setExpandingColumn(1);
    connect(m_list, SIGNAL(clickItem(QListViewItem*)), this, SLOT(clickItem(QListViewItem*)));
    connect(m_list, SIGNAL(dragStart()), this, SLOT(dragStart()));

    BarShow b;
    b.bar_id = static_cast<JabberPlugin*>(m_client->protocol()->plugin())->BarBrowser;
    b.parent = this;
    Event e(EventShowBar, &b);
    m_bar = (CToolBar*)e.process();
    m_bar->setParam(this);
    restoreToolbar(m_bar, m_client->data.browser_bar);
    m_bar->show();
    setCentralWidget(m_list);
    m_historyPos = -1;

    Command cmd;
    cmd->id		= static_cast<JabberPlugin*>(m_client->protocol()->plugin())->CmdUrl;
    cmd->param	= this;
    Event eWidget(EventCommandWidget, cmd);
    CToolCombo *cmbFind = (CToolCombo*)(eWidget.process());
    if (cmbFind)
        cmbFind->setText(QString::null);

	m_search = NULL;
	m_reg    = NULL;
}
Example #7
0
HistoryWindow::HistoryWindow(unsigned long id)
: m_status(statusBar())
, m_view(new MsgViewBase(this, NULL, id))
, m_avatar_bar(NULL)
, m_progress(NULL)
, m_it(NULL)
, m_id(id)
, m_page(0)

{
    m_history_page_count=CorePlugin::instance()->value("HistoryPage").toUInt();

    setAttribute(Qt::WA_DeleteOnClose, true);
    setWindowIcon(Icon("history"));
    setName();
    setCentralWidget(m_view);

    setIconSize(QSize(16,16));

    EventToolbar eHistoryBar(ToolBarHistory, this);
    eHistoryBar.process();

    m_bar=eHistoryBar.toolBar();
    m_bar->setParam((void*)m_id); //UAAARGH turns my stomach, Fixme

    //restoreToolbar(m_bar, CorePlugin::instance()->data.HistoryBar);
    connect(m_bar, SIGNAL(movableChanged(bool)), this, SLOT(toolbarChanged(bool)));
    addToolBar(m_bar);

    Command cmdHistory;
    cmdHistory->id	= CmdHistoryFind;
    cmdHistory->param	= (void*)m_id; //Fixme ...
    EventCommandWidget eHistoryWidget(cmdHistory);
    eHistoryWidget.process();

    CToolCombo *cmbFind = qobject_cast<CToolCombo*>(eHistoryWidget.widget());
    if(cmbFind)
    {
        const QStringList history = CorePlugin::instance()->value("HistorySearch").toString().split(';');
        cmbFind->addItems(history);
        cmbFind->setText(QString());
    }

    m_bDirection = CorePlugin::instance()->value("HistoryDirection").toBool();
    m_bar->checkState();
    m_bar->show();

    if(CorePlugin::instance()->value("ShowAvatarInHistory").toBool())
    {
        unsigned j = 0;
        QImage img;
        while(j < getContacts()->nClients())
        {
            Client *client = getContacts()->getClient(j++);
            img = client->userPicture(id);
            if (!img.isNull())
                break;
        }

        if(!img.isNull())
        {
            EventToolbar(ToolBarHistoryAvatar, EventToolbar::eAdd).process();
            EventToolbar e(ToolBarHistoryAvatar, this);
            e.process();
            m_avatar_bar = e.toolBar();
            m_avatar_bar->setOrientation(Qt::Vertical);
            addToolBar(m_avatar_bar);

            //m_avatar_bar->setHorizontalStretchable(false);
            //m_avatar_bar->setVerticalStretchable(false);
            m_avatar_bar->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
            //restoreToolbar(m_avatar_bar, CorePlugin::instance()->data.HistoryAvatarBar);

            Command cmd;
            cmd->id = CmdHistoryAvatar;
            cmd->bar_id = ToolBarHistoryAvatar;
            cmd->bar_grp	 = 0x2000;
            cmd->text = QString::null;
            cmd->icon = "empty";
            cmd->flags = BTN_LABEL;

            EventCommandCreate(cmd).process();

            Command cmdw;
            cmdw->id	= CmdHistoryAvatar;
            EventCommandWidget eWidget(cmdw);
            eWidget.process();
            CToolLabel *lblAvatar = qobject_cast<CToolLabel*>(eWidget.widget());

            if(lblAvatar)
            {
                lblAvatar->setPixmap(QPixmap::fromImage(img));
            }
            m_avatar_bar->checkState();
            m_avatar_bar->show();
            //m_avatar_bar->area()->moveDockWindow(m_avatar_bar, 0);
        }
    }

    fill();
}