Changeset View
Changeset View
Standalone View
Standalone View
kate/session/katesessionsaction.cpp
Show First 20 Lines • Show All 52 Lines • ▼ Show 20 Line(s) | 50 | { | |||
---|---|---|---|---|---|
53 | KateSessionList slist = m_manager->sessionList(); | 53 | KateSessionList slist = m_manager->sessionList(); | ||
54 | std::sort(slist.begin(), slist.end(), KateSession::compareByTimeDesc); | 54 | std::sort(slist.begin(), slist.end(), KateSession::compareByTimeDesc); | ||
55 | 55 | | |||
56 | slist = slist.mid(0, 10); // take first 10 | 56 | slist = slist.mid(0, 10); // take first 10 | ||
57 | 57 | | |||
58 | // sort the reduced list alphabetically (#364089) | 58 | // sort the reduced list alphabetically (#364089) | ||
59 | std::sort(slist.begin(), slist.end(), KateSession::compareByName); | 59 | std::sort(slist.begin(), slist.end(), KateSession::compareByName); | ||
60 | 60 | | |||
61 | foreach(const KateSession::Ptr & session, slist) { | 61 | for (const KateSession::Ptr &session : qAsConst(slist)) { | ||
62 | QString sessionName = session->name(); | 62 | QString sessionName = session->name(); | ||
63 | sessionName.replace(QStringLiteral("&"), QStringLiteral("&&")); | 63 | sessionName.replace(QStringLiteral("&"), QStringLiteral("&&")); | ||
64 | QAction *action = new QAction(sessionName, sessionsGroup); | 64 | QAction *action = new QAction(sessionName, sessionsGroup); | ||
65 | action->setData(QVariant(session->name())); | 65 | action->setData(QVariant(session->name())); | ||
66 | action->setCheckable(true); | ||||
67 | action->setChecked(session == m_manager->activeSession()); | ||||
66 | menu()->addAction(action); | 68 | menu()->addAction(action); | ||
67 | } | 69 | } | ||
68 | } | 70 | } | ||
69 | 71 | | |||
70 | void KateSessionsAction::openSession(QAction *action) | 72 | void KateSessionsAction::openSession(QAction *action) | ||
71 | { | 73 | { | ||
72 | const QString name = action->data().toString(); | 74 | const QString name = action->data().toString(); | ||
73 | m_manager->activateSession(name); | 75 | m_manager->activateSession(name); | ||
74 | } | 76 | } | ||
75 | 77 | | |||
76 | void KateSessionsAction::slotSessionChanged() | 78 | void KateSessionsAction::slotSessionChanged() | ||
77 | { | 79 | { | ||
78 | setDisabled(m_manager->sessionList().size() == 0); | 80 | setDisabled(m_manager->sessionList().size() == 0); | ||
79 | } | 81 | } | ||
80 | 82 | |