Changeset View
Changeset View
Standalone View
Standalone View
abstract_client.cpp
Show First 20 Lines • Show All 316 Lines • ▼ Show 20 Line(s) | |||||
317 | } | 317 | } | ||
318 | 318 | | |||
319 | void AbstractClient::setKeepAbove(bool b) | 319 | void AbstractClient::setKeepAbove(bool b) | ||
320 | { | 320 | { | ||
321 | b = rules()->checkKeepAbove(b); | 321 | b = rules()->checkKeepAbove(b); | ||
322 | if (b && !rules()->checkKeepBelow(false)) | 322 | if (b && !rules()->checkKeepBelow(false)) | ||
323 | setKeepBelow(false); | 323 | setKeepBelow(false); | ||
324 | if (b == keepAbove()) { | 324 | if (b == keepAbove()) { | ||
325 | // force hint change if different | | |||
326 | if (info && bool(info->state() & NET::KeepAbove) != keepAbove()) | | |||
327 | info->setState(keepAbove() ? NET::KeepAbove : NET::States(), NET::KeepAbove); | | |||
328 | return; | 325 | return; | ||
329 | } | 326 | } | ||
330 | m_keepAbove = b; | 327 | m_keepAbove = b; | ||
331 | if (info) { | 328 | doSetKeepAbove(); | ||
332 | info->setState(keepAbove() ? NET::KeepAbove : NET::States(), NET::KeepAbove); | | |||
333 | } | | |||
334 | workspace()->updateClientLayer(this); | 329 | workspace()->updateClientLayer(this); | ||
335 | updateWindowRules(Rules::Above); | 330 | updateWindowRules(Rules::Above); | ||
336 | 331 | | |||
337 | doSetKeepAbove(); | | |||
338 | emit keepAboveChanged(m_keepAbove); | 332 | emit keepAboveChanged(m_keepAbove); | ||
339 | } | 333 | } | ||
340 | 334 | | |||
341 | void AbstractClient::doSetKeepAbove() | 335 | void AbstractClient::doSetKeepAbove() | ||
342 | { | 336 | { | ||
343 | } | 337 | } | ||
344 | 338 | | |||
345 | void AbstractClient::setKeepBelow(bool b) | 339 | void AbstractClient::setKeepBelow(bool b) | ||
346 | { | 340 | { | ||
347 | b = rules()->checkKeepBelow(b); | 341 | b = rules()->checkKeepBelow(b); | ||
348 | if (b && !rules()->checkKeepAbove(false)) | 342 | if (b && !rules()->checkKeepAbove(false)) | ||
349 | setKeepAbove(false); | 343 | setKeepAbove(false); | ||
350 | if (b == keepBelow()) { | 344 | if (b == keepBelow()) { | ||
351 | // force hint change if different | | |||
352 | if (info && bool(info->state() & NET::KeepBelow) != keepBelow()) | | |||
353 | info->setState(keepBelow() ? NET::KeepBelow : NET::States(), NET::KeepBelow); | | |||
354 | return; | 345 | return; | ||
355 | } | 346 | } | ||
356 | m_keepBelow = b; | 347 | m_keepBelow = b; | ||
357 | if (info) { | 348 | doSetKeepBelow(); | ||
358 | info->setState(keepBelow() ? NET::KeepBelow : NET::States(), NET::KeepBelow); | | |||
359 | } | | |||
360 | workspace()->updateClientLayer(this); | 349 | workspace()->updateClientLayer(this); | ||
361 | updateWindowRules(Rules::Below); | 350 | updateWindowRules(Rules::Below); | ||
362 | 351 | | |||
363 | doSetKeepBelow(); | | |||
364 | emit keepBelowChanged(m_keepBelow); | 352 | emit keepBelowChanged(m_keepBelow); | ||
365 | } | 353 | } | ||
366 | 354 | | |||
367 | void AbstractClient::doSetKeepBelow() | 355 | void AbstractClient::doSetKeepBelow() | ||
368 | { | 356 | { | ||
369 | } | 357 | } | ||
370 | 358 | | |||
371 | void AbstractClient::startAutoRaise() | 359 | void AbstractClient::startAutoRaise() | ||
▲ Show 20 Lines • Show All 2762 Lines • Show Last 20 Lines |