Receive the activity list as a const reference

This is mainly to make that coherent with common coding style in other
places.
This commit is contained in:
Kevin Ottens 2021-03-05 09:34:04 +01:00 committed by Kevin Ottens
parent 0eb37563e9
commit 391b7e023e
4 changed files with 12 additions and 12 deletions

View file

@ -2789,7 +2789,7 @@ void AbstractClient::evaluateWindowRules()
applyWindowRules();
}
void AbstractClient::setOnActivities(QStringList newActivitiesList)
void AbstractClient::setOnActivities(const QStringList &newActivitiesList)
{
Q_UNUSED(newActivitiesList)
}

View file

@ -537,7 +537,7 @@ public:
virtual bool userCanSetFullScreen() const;
virtual bool userCanSetNoBorder() const;
virtual void checkNoBorder();
virtual void setOnActivities(QStringList newActivitiesList);
virtual void setOnActivities(const QStringList &newActivitiesList);
virtual void setOnAllActivities(bool set) = 0;
const WindowRules* rules() const {
return &m_rules;

View file

@ -1911,37 +1911,37 @@ void X11Client::setOnActivity(const QString &activity, bool enable)
/**
* set exactly which activities this client is on
*/
void X11Client::setOnActivities(QStringList newActivitiesList)
void X11Client::setOnActivities(const QStringList &newActivitiesList)
{
#ifdef KWIN_BUILD_ACTIVITIES
if (!Activities::self()) {
return;
}
newActivitiesList = rules()->checkActivity(newActivitiesList);
auto activitiesList = rules()->checkActivity(newActivitiesList);
QStringList allActivities = Activities::self()->all();
auto it = newActivitiesList.begin();
while (it != newActivitiesList.end()) {
auto it = activitiesList.begin();
while (it != activitiesList.end()) {
if (! allActivities.contains(*it)) {
it = newActivitiesList.erase(it);
it = activitiesList.erase(it);
} else {
it++;
}
}
if (// If we got the request to be on all activities explicitly
newActivitiesList.isEmpty() || newActivitiesList.contains(Activities::nullUuid()) ||
activitiesList.isEmpty() || activitiesList.contains(Activities::nullUuid()) ||
// If we got a list of activities that covers all activities
(newActivitiesList.count() > 1 && newActivitiesList.count() == allActivities.count())) {
(activitiesList.count() > 1 && activitiesList.count() == allActivities.count())) {
activityList.clear();
const QByteArray nullUuid = Activities::nullUuid().toUtf8();
m_client.changeProperty(atoms->activities, XCB_ATOM_STRING, 8, nullUuid.length(), nullUuid.constData());
} else {
QByteArray joined = newActivitiesList.join(QStringLiteral(",")).toLatin1();
activityList = newActivitiesList;
QByteArray joined = activitiesList.join(QStringLiteral(",")).toLatin1();
activityList = activitiesList;
m_client.changeProperty(atoms->activities, XCB_ATOM_STRING, 8, joined.length(), joined.constData());
}

View file

@ -124,7 +124,7 @@ public:
QStringList activities() const override;
void setOnActivity(const QString &activity, bool enable);
void setOnAllActivities(bool set) override;
void setOnActivities(QStringList newActivitiesList) override;
void setOnActivities(const QStringList &newActivitiesList) override;
void updateActivities(bool includeTransients);
void blockActivityUpdates(bool b = true) override;