/*! \brief constructor
 *
 * initialize layout, attributes, etc.
 */
XletSwitchBoard::XletSwitchBoard(QWidget *parent)
    : XLet(parent), m_drawGrid(false),
      m_trace_box(false), m_group_to_resize(0)
{
    setTitle(tr("Switchboard"));
    m_layout = new PeersLayout(this);
    setObjectName("scroller"); // in order for the style settings to be set accordingly
    setAccessibleName(tr("Switchboard"));
    setAcceptDrops(true);
    reloadGroups();
    reloadExternalPhones();

    connect(b_engine, SIGNAL(userUpdated(UserInfo *)),
            this, SLOT(updateUser(UserInfo *)));
    connect(b_engine, SIGNAL(updatePeerAgent(double, const QString &,
                                             const QString &, const QVariant &)),
            this, SLOT(updatePeerAgent(double, const QString &,
                                       const QString &, const QVariant &)));
    // savePositions() needs m_peerhash to be non-empty in order to be useful,
    // thus we call it before removePeers()
    connect(b_engine, SIGNAL(delogged()),
            this, SLOT(savePositions()));
    connect(b_engine, SIGNAL(delogged()),
            this, SLOT(removePeers()));

    setMouseTracking(true);
}
Esempio n. 2
0
SearchPanel::SearchPanel(QWidget *parent) :
    XLet(parent),
    m_live_reload_enabled(false)
{
    setTitle(tr("Contacts"));
    ChitChatWindow::chitchat_instance = new ChitChatWindow();

    QVBoxLayout *vlayout = new QVBoxLayout(this);
    vlayout->setMargin(0);
    QLabel *lbl = new QLabel(tr("N&ame or number to search :"), this);
    vlayout->addWidget(lbl, 0, Qt::AlignCenter);
    m_input = new ExtendedLineEdit(this);
    lbl->setBuddy(m_input);
    connect(m_input, SIGNAL(textChanged(const QString &)),
            this, SLOT(affTextChanged(const QString &)));
    vlayout->addWidget(m_input);

    m_scrollarea = new QScrollArea(this);
    m_scrollarea->setWidgetResizable(true);
    QWidget *widget = new QWidget(m_scrollarea);
    widget->setObjectName("scroller");
    m_scrollarea->setWidget(widget);
    QVBoxLayout *scrollarealayout = new QVBoxLayout(widget);
    m_peerlayout = new QGridLayout;
    m_peerlayout->setMargin(0);
    m_peerlayout->setSpacing(SearchPanel::peer_spacing);
    scrollarealayout->addLayout(m_peerlayout);
    scrollarealayout->addStretch(10);
    vlayout->addWidget(m_scrollarea);

    m_searchpattern = "";

    // connect signal/slots
    connect(b_engine, SIGNAL(updateUserConfig(const QString &)),
            this, SLOT(updateUserConfig(const QString &)));
    connect(b_engine, SIGNAL(updateUserStatus(const QString &)),
            this, SLOT(updateUserStatus(const QString &)));
    connect(b_engine, SIGNAL(removeUserConfig(const QString &)),
            this, SLOT(removeUserConfig(const QString &)));
    connect(b_engine, SIGNAL(updatePhoneConfig(const QString &)),
            this, SLOT(updatePhoneConfig(const QString &)));
    connect(b_engine, SIGNAL(updatePhoneStatus(const QString &)),
            this, SLOT(updatePhoneStatus(const QString &)));
    connect(b_engine, SIGNAL(removePhoneConfig(const QString &)),
            this, SLOT(removePhoneConfig(const QString &)));

    connect(b_engine, SIGNAL(delogged()),
            this, SLOT(removePeers()));

    connect(b_engine, SIGNAL(settingsChanged()),
            this, SLOT(updateDisplay()));

    connect(b_engine, SIGNAL(initialized()),
            this, SLOT(initializationComplete()));
    connect(b_engine, SIGNAL(initializing()),
            this, SLOT(initializationStarting()));
}
/*! 
 * Save the positions in the grid of the peer widgets.
 */
XletSwitchBoard::~XletSwitchBoard()
{
    savePositions();
    saveGroups();
    removePeers();
}
Esempio n. 4
0
SearchPanel::~SearchPanel()
{
    removePeers();
}