예제 #1
0
void PanelKMenu::slotPopulateSessions()
{
    int p = 0;
    DM dm;

    sessionsMenu->clear();
    if (kapp->authorize("start_new_session") && (p = dm.numReserve()) >= 0)
    {
        if (kapp->authorize("lock_screen"))
	  sessionsMenu->insertItem(/*SmallIconSet("lockfork"),*/ i18n("Lock Current && Start New Session"), 100 );
        sessionsMenu->insertItem(SmallIconSet("fork"), i18n("Start New Session"), 101 );
        if (!p) {
            sessionsMenu->setItemEnabled( 100, false );
            sessionsMenu->setItemEnabled( 101, false );
        }
        sessionsMenu->insertSeparator();
    }
    SessList sess;
    if (dm.localSessions( sess ))
        for (SessList::ConstIterator it = sess.begin(); it != sess.end(); ++it) {
            int id = sessionsMenu->insertItem( DM::sess2Str( *it ), (*it).vt );
            if (!(*it).vt)
                sessionsMenu->setItemEnabled( id, false );
            if ((*it).self)
                sessionsMenu->setItemChecked( id, true );
        }
}
예제 #2
0
void MenuActions::slotPopulateSessions()
{
    int p = 0;
    DM dm;

    m_sessionsMenu->clear();

    if (kapp->authorize("start_new_session") && (p = dm.numReserve()) >= 0)
    {
        if (kapp->authorize("lock_screen"))
            m_sessionsMenu->insertItem( /*SmallIconSet("lockfork"),*/
                                      i18n("Lock Current && Start New Session"),
                                     100);

        m_sessionsMenu->insertItem( SmallIconSet("fork"),
                                  i18n("Start New Session"),
                                  101);

        if (!p)
        {
            m_sessionsMenu->setItemEnabled(100, false);
            m_sessionsMenu->setItemEnabled(101, false);
        }
        m_sessionsMenu->insertSeparator();
    }
    SessList sess;

    if (dm.localSessions(sess))
    {
        for (SessList::ConstIterator it = sess.begin(); it != sess.end(); ++it)
        {
            //int id = m_sessionsMenu->insertItem(DM::sess2Str(*it), (*it).vt);
            DM::sess2Str(*it);
            int id = m_sessionsMenu->insertItem(i18n("%1 - CTRL+ALT+%2").arg((*it).user).arg((*it).vt), (*it).vt);
            if (!(*it).vt)
                m_sessionsMenu->setItemEnabled(id,false);
            if (!(*it).self)
                m_sessionsMenu->setItemChecked(id,false);
        }
    }
}