Changeset View
Changeset View
Standalone View
Standalone View
app/sessionstack.cpp
Context not available. | |||||
64 | 64 | | |||
---|---|---|---|---|---|
65 | m_sessions.insert(session->id(), session); | 65 | m_sessions.insert(session->id(), session); | ||
66 | 66 | | |||
67 | if (Settings::dynamicTabTitles()) | 67 | if(Settings::dynamicTabTitles()) | ||
68 | emit sessionAdded(session->id(), session->title()); | 68 | emit sessionAdded(session->id(), session->title()); | ||
69 | else | 69 | else | ||
70 | emit sessionAdded(session->id(), QString()); | 70 | emit sessionAdded(session->id(), QString()); | ||
Context not available. | |||||
94 | 94 | | |||
95 | void SessionStack::raiseSession(int sessionId) | 95 | void SessionStack::raiseSession(int sessionId) | ||
96 | { | 96 | { | ||
97 | if (sessionId == -1 || !m_sessions.contains(sessionId)) return; | 97 | if(sessionId == -1 || !m_sessions.contains(sessionId)) return; | ||
98 | Session* session = m_sessions.value(sessionId); | 98 | Session* session = m_sessions.value(sessionId); | ||
99 | 99 | | |||
100 | if (!m_visualEventOverlay->isHidden()) | 100 | if(!m_visualEventOverlay->isHidden()) | ||
101 | m_visualEventOverlay->hide(); | 101 | m_visualEventOverlay->hide(); | ||
102 | 102 | | |||
103 | if (m_activeSessionId != -1 && m_sessions.contains(m_activeSessionId)) | 103 | if(m_activeSessionId != -1 && m_sessions.contains(m_activeSessionId)) | ||
104 | { | 104 | { | ||
105 | Session* oldActiveSession = m_sessions.value(m_activeSessionId); | 105 | Session* oldActiveSession = m_sessions.value(m_activeSessionId); | ||
106 | 106 | | |||
Context not available. | |||||
118 | 118 | | |||
119 | setCurrentWidget(session->widget()); | 119 | setCurrentWidget(session->widget()); | ||
120 | 120 | | |||
121 | if (session->widget()->focusWidget()) | 121 | if(session->widget()->focusWidget()) | ||
122 | session->widget()->focusWidget()->setFocus(); | 122 | session->widget()->focusWidget()->setFocus(); | ||
123 | 123 | | |||
124 | if (session->hasTerminalsWithKeyboardInputDisabled()) | 124 | if(session->hasTerminalsWithKeyboardInputDisabled()) | ||
125 | m_visualEventOverlay->show(); | 125 | m_visualEventOverlay->show(); | ||
126 | 126 | | |||
127 | connect(this, SIGNAL(closeTerminal()), session, SLOT(closeTerminal())); | 127 | connect(this, SIGNAL(closeTerminal()), session, SLOT(closeTerminal())); | ||
Context not available. | |||||
137 | 137 | | |||
138 | void SessionStack::removeSession(int sessionId) | 138 | void SessionStack::removeSession(int sessionId) | ||
139 | { | 139 | { | ||
140 | if (sessionId == -1) sessionId = m_activeSessionId; | 140 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
141 | if (sessionId == -1) return; | 141 | if(sessionId == -1) return; | ||
142 | if (!m_sessions.contains(sessionId)) return; | 142 | if(!m_sessions.contains(sessionId)) return; | ||
143 | 143 | | |||
144 | if (queryClose(sessionId, QueryCloseSession)) | 144 | if(queryClose(sessionId, QueryCloseSession)) | ||
145 | m_sessions.value(sessionId)->deleteLater(); | 145 | m_sessions.value(sessionId)->deleteLater(); | ||
146 | } | 146 | } | ||
147 | 147 | | |||
Context not available. | |||||
149 | { | 149 | { | ||
150 | int sessionId = sessionIdForTerminalId(terminalId); | 150 | int sessionId = sessionIdForTerminalId(terminalId); | ||
151 | 151 | | |||
152 | if (terminalId == -1) | 152 | if(terminalId == -1) | ||
153 | { | 153 | { | ||
154 | if (m_activeSessionId == -1) return; | 154 | if(m_activeSessionId == -1) return; | ||
155 | if (!m_sessions.contains(m_activeSessionId)) return; | 155 | if(!m_sessions.contains(m_activeSessionId)) return; | ||
156 | 156 | | |||
157 | if (m_sessions.value(m_activeSessionId)->closable()) | 157 | if(m_sessions.value(m_activeSessionId)->closable()) | ||
158 | m_sessions.value(m_activeSessionId)->closeTerminal(); | 158 | m_sessions.value(m_activeSessionId)->closeTerminal(); | ||
159 | } | 159 | } | ||
160 | else | 160 | else | ||
161 | { | 161 | { | ||
162 | if (m_sessions.value(sessionId)->closable()) | 162 | if(m_sessions.value(sessionId)->closable()) | ||
163 | m_sessions.value(sessionId)->closeTerminal(terminalId); | 163 | m_sessions.value(sessionId)->closeTerminal(terminalId); | ||
164 | } | 164 | } | ||
165 | } | 165 | } | ||
166 | 166 | | |||
167 | void SessionStack::closeActiveTerminal(int sessionId) | 167 | void SessionStack::closeActiveTerminal(int sessionId) | ||
168 | { | 168 | { | ||
169 | if (sessionId == -1) sessionId = m_activeSessionId; | 169 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
170 | if (sessionId == -1) return; | 170 | if(sessionId == -1) return; | ||
171 | if (!m_sessions.contains(sessionId)) return; | 171 | if(!m_sessions.contains(sessionId)) return; | ||
172 | 172 | | |||
173 | if (queryClose(sessionId, QueryCloseTerminal)) | 173 | if(queryClose(sessionId, QueryCloseTerminal)) | ||
174 | m_sessions.value(sessionId)->closeTerminal(); | 174 | m_sessions.value(sessionId)->closeTerminal(); | ||
175 | } | 175 | } | ||
176 | 176 | | |||
177 | 177 | | |||
178 | void SessionStack::cleanup(int sessionId) | 178 | void SessionStack::cleanup(int sessionId) | ||
179 | { | 179 | { | ||
180 | if (sessionId == m_activeSessionId) m_activeSessionId = -1; | 180 | if(sessionId == m_activeSessionId) m_activeSessionId = -1; | ||
181 | 181 | | |||
182 | m_sessions.remove(sessionId); | 182 | m_sessions.remove(sessionId); | ||
183 | 183 | | |||
Context not available. | |||||
186 | 186 | | |||
187 | int SessionStack::activeTerminalId() | 187 | int SessionStack::activeTerminalId() | ||
188 | { | 188 | { | ||
189 | if (!m_sessions.contains(m_activeSessionId)) return -1; | 189 | if(!m_sessions.contains(m_activeSessionId)) return -1; | ||
190 | 190 | | |||
191 | return m_sessions.value(m_activeSessionId)->activeTerminalId(); | 191 | return m_sessions.value(m_activeSessionId)->activeTerminalId(); | ||
192 | } | 192 | } | ||
Context not available. | |||||
222 | 222 | | |||
223 | const QString SessionStack::terminalIdsForSessionId(int sessionId) | 223 | const QString SessionStack::terminalIdsForSessionId(int sessionId) | ||
224 | { | 224 | { | ||
225 | if (!m_sessions.contains(sessionId)) return QString::number(-1); | 225 | if(!m_sessions.contains(sessionId)) return QString::number(-1); | ||
226 | 226 | | |||
227 | return m_sessions.value(sessionId)->terminalIdList(); | 227 | return m_sessions.value(sessionId)->terminalIdList(); | ||
228 | } | 228 | } | ||
Context not available. | |||||
237 | { | 237 | { | ||
238 | it.next(); | 238 | it.next(); | ||
239 | 239 | | |||
240 | if (it.value()->hasTerminal(terminalId)) | 240 | if(it.value()->hasTerminal(terminalId)) | ||
241 | { | 241 | { | ||
242 | sessionId = it.key(); | 242 | sessionId = it.key(); | ||
243 | 243 | | |||
Context not available. | |||||
251 | static void warnAboutDBus() | 251 | static void warnAboutDBus() | ||
252 | { | 252 | { | ||
253 | #if !defined(REMOVE_SENDTEXT_RUNCOMMAND_DBUS_METHODS) | 253 | #if !defined(REMOVE_SENDTEXT_RUNCOMMAND_DBUS_METHODS) | ||
254 | if (show_disallow_certain_dbus_methods_message) { | 254 | if(show_disallow_certain_dbus_methods_message) { | ||
255 | KNotification::event(KNotification::Warning, QStringLiteral("Yakuake D-Bus Warning"), | 255 | KNotification::event(KNotification::Warning, QStringLiteral("Yakuake D-Bus Warning"), | ||
256 | i18n("The D-Bus method runCommand was just used. There are security concerns about allowing these methods to be public. If desired, these methods can be changed to internal use only by re-compiling Yakuake. <p>This warning will only show once for this Yakuake instance.</p>")); | 256 | i18n("The D-Bus method runCommand was just used. There are security concerns about allowing these methods to be public. If desired, these methods can be changed to internal use only by re-compiling Yakuake. <p>This warning will only show once for this Yakuake instance.</p>")); | ||
257 | show_disallow_certain_dbus_methods_message = false; | 257 | show_disallow_certain_dbus_methods_message = false; | ||
Context not available. | |||||
263 | { | 263 | { | ||
264 | warnAboutDBus(); | 264 | warnAboutDBus(); | ||
265 | 265 | | |||
266 | if (m_activeSessionId == -1) return; | 266 | if(m_activeSessionId == -1) return; | ||
267 | if (!m_sessions.contains(m_activeSessionId)) return; | 267 | if(!m_sessions.contains(m_activeSessionId)) return; | ||
268 | 268 | | |||
269 | m_sessions.value(m_activeSessionId)->runCommand(command); | 269 | m_sessions.value(m_activeSessionId)->runCommand(command); | ||
270 | } | 270 | } | ||
Context not available. | |||||
285 | 285 | | |||
286 | bool SessionStack::isSessionClosable(int sessionId) | 286 | bool SessionStack::isSessionClosable(int sessionId) | ||
287 | { | 287 | { | ||
288 | if (sessionId == -1) sessionId = m_activeSessionId; | 288 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
289 | if (sessionId == -1) return false; | 289 | if(sessionId == -1) return false; | ||
290 | if (!m_sessions.contains(sessionId)) return false; | 290 | if(!m_sessions.contains(sessionId)) return false; | ||
291 | 291 | | |||
292 | return m_sessions.value(sessionId)->closable(); | 292 | return m_sessions.value(sessionId)->closable(); | ||
293 | } | 293 | } | ||
294 | 294 | | |||
295 | void SessionStack::setSessionClosable(int sessionId, bool closable) | 295 | void SessionStack::setSessionClosable(int sessionId, bool closable) | ||
296 | { | 296 | { | ||
297 | if (sessionId == -1) sessionId = m_activeSessionId; | 297 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
298 | if (sessionId == -1) return; | 298 | if(sessionId == -1) return; | ||
299 | if (!m_sessions.contains(sessionId)) return; | 299 | if(!m_sessions.contains(sessionId)) return; | ||
300 | 300 | | |||
301 | m_sessions.value(sessionId)->setClosable(closable); | 301 | m_sessions.value(sessionId)->setClosable(closable); | ||
302 | } | 302 | } | ||
Context not available. | |||||
309 | { | 309 | { | ||
310 | it.next(); | 310 | it.next(); | ||
311 | 311 | | |||
312 | if (!it.value()->closable()) | 312 | if(!it.value()->closable()) | ||
313 | return true; | 313 | return true; | ||
314 | } | 314 | } | ||
315 | 315 | | |||
Context not available. | |||||
318 | 318 | | |||
319 | bool SessionStack::isSessionKeyboardInputEnabled(int sessionId) | 319 | bool SessionStack::isSessionKeyboardInputEnabled(int sessionId) | ||
320 | { | 320 | { | ||
321 | if (sessionId == -1) sessionId = m_activeSessionId; | 321 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
322 | if (sessionId == -1) return false; | 322 | if(sessionId == -1) return false; | ||
323 | if (!m_sessions.contains(sessionId)) return false; | 323 | if(!m_sessions.contains(sessionId)) return false; | ||
324 | 324 | | |||
325 | return m_sessions.value(sessionId)->keyboardInputEnabled(); | 325 | return m_sessions.value(sessionId)->keyboardInputEnabled(); | ||
326 | } | 326 | } | ||
327 | 327 | | |||
328 | void SessionStack::setSessionKeyboardInputEnabled(int sessionId, bool enabled) | 328 | void SessionStack::setSessionKeyboardInputEnabled(int sessionId, bool enabled) | ||
329 | { | 329 | { | ||
330 | if (sessionId == -1) sessionId = m_activeSessionId; | 330 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
331 | if (sessionId == -1) return; | 331 | if(sessionId == -1) return; | ||
332 | if (!m_sessions.contains(sessionId)) return; | 332 | if(!m_sessions.contains(sessionId)) return; | ||
333 | 333 | | |||
334 | m_sessions.value(sessionId)->setKeyboardInputEnabled(enabled); | 334 | m_sessions.value(sessionId)->setKeyboardInputEnabled(enabled); | ||
335 | 335 | | |||
336 | if (sessionId == m_activeSessionId) | 336 | if(sessionId == m_activeSessionId) | ||
337 | { | 337 | { | ||
338 | if (enabled) | 338 | if(enabled) | ||
339 | m_visualEventOverlay->hide(); | 339 | m_visualEventOverlay->hide(); | ||
340 | else | 340 | else | ||
341 | m_visualEventOverlay->show(); | 341 | m_visualEventOverlay->show(); | ||
Context not available. | |||||
345 | bool SessionStack::isTerminalKeyboardInputEnabled(int terminalId) | 345 | bool SessionStack::isTerminalKeyboardInputEnabled(int terminalId) | ||
346 | { | 346 | { | ||
347 | int sessionId = sessionIdForTerminalId(terminalId); | 347 | int sessionId = sessionIdForTerminalId(terminalId); | ||
348 | if (sessionId == -1) return false; | 348 | if(sessionId == -1) return false; | ||
349 | if (!m_sessions.contains(sessionId)) return false; | 349 | if(!m_sessions.contains(sessionId)) return false; | ||
350 | 350 | | |||
351 | return m_sessions.value(sessionId)->keyboardInputEnabled(terminalId); | 351 | return m_sessions.value(sessionId)->keyboardInputEnabled(terminalId); | ||
352 | } | 352 | } | ||
Context not available. | |||||
354 | void SessionStack::setTerminalKeyboardInputEnabled(int terminalId, bool enabled) | 354 | void SessionStack::setTerminalKeyboardInputEnabled(int terminalId, bool enabled) | ||
355 | { | 355 | { | ||
356 | int sessionId = sessionIdForTerminalId(terminalId); | 356 | int sessionId = sessionIdForTerminalId(terminalId); | ||
357 | if (sessionId == -1) return; | 357 | if(sessionId == -1) return; | ||
358 | if (!m_sessions.contains(sessionId)) return; | 358 | if(!m_sessions.contains(sessionId)) return; | ||
359 | 359 | | |||
360 | m_sessions.value(sessionId)->setKeyboardInputEnabled(terminalId, enabled); | 360 | m_sessions.value(sessionId)->setKeyboardInputEnabled(terminalId, enabled); | ||
361 | 361 | | |||
362 | if (sessionId == m_activeSessionId) | 362 | if(sessionId == m_activeSessionId) | ||
363 | { | 363 | { | ||
364 | if (enabled) | 364 | if(enabled) | ||
365 | m_visualEventOverlay->hide(); | 365 | m_visualEventOverlay->hide(); | ||
366 | else | 366 | else | ||
367 | m_visualEventOverlay->show(); | 367 | m_visualEventOverlay->show(); | ||
Context not available. | |||||
370 | 370 | | |||
371 | bool SessionStack::hasTerminalsWithKeyboardInputEnabled(int sessionId) | 371 | bool SessionStack::hasTerminalsWithKeyboardInputEnabled(int sessionId) | ||
372 | { | 372 | { | ||
373 | if (sessionId == -1) sessionId = m_activeSessionId; | 373 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
374 | if (sessionId == -1) return false; | 374 | if(sessionId == -1) return false; | ||
375 | if (!m_sessions.contains(sessionId)) return false; | 375 | if(!m_sessions.contains(sessionId)) return false; | ||
376 | 376 | | |||
377 | return m_sessions.value(sessionId)->hasTerminalsWithKeyboardInputEnabled(); | 377 | return m_sessions.value(sessionId)->hasTerminalsWithKeyboardInputEnabled(); | ||
378 | } | 378 | } | ||
379 | 379 | | |||
380 | bool SessionStack::hasTerminalsWithKeyboardInputDisabled(int sessionId) | 380 | bool SessionStack::hasTerminalsWithKeyboardInputDisabled(int sessionId) | ||
381 | { | 381 | { | ||
382 | if (sessionId == -1) sessionId = m_activeSessionId; | 382 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
383 | if (sessionId == -1) return false; | 383 | if(sessionId == -1) return false; | ||
384 | if (!m_sessions.contains(sessionId)) return false; | 384 | if(!m_sessions.contains(sessionId)) return false; | ||
385 | 385 | | |||
386 | return m_sessions.value(sessionId)->hasTerminalsWithKeyboardInputDisabled(); | 386 | return m_sessions.value(sessionId)->hasTerminalsWithKeyboardInputDisabled(); | ||
387 | } | 387 | } | ||
388 | 388 | | |||
389 | bool SessionStack::isSessionMonitorActivityEnabled(int sessionId) | 389 | bool SessionStack::isSessionMonitorActivityEnabled(int sessionId) | ||
390 | { | 390 | { | ||
391 | if (sessionId == -1) sessionId = m_activeSessionId; | 391 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
392 | if (sessionId == -1) return false; | 392 | if(sessionId == -1) return false; | ||
393 | if (!m_sessions.contains(sessionId)) return false; | 393 | if(!m_sessions.contains(sessionId)) return false; | ||
394 | 394 | | |||
395 | return m_sessions.value(sessionId)->monitorActivityEnabled(); | 395 | return m_sessions.value(sessionId)->monitorActivityEnabled(); | ||
396 | } | 396 | } | ||
397 | 397 | | |||
398 | void SessionStack::setSessionMonitorActivityEnabled(int sessionId, bool enabled) | 398 | void SessionStack::setSessionMonitorActivityEnabled(int sessionId, bool enabled) | ||
399 | { | 399 | { | ||
400 | if (sessionId == -1) sessionId = m_activeSessionId; | 400 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
401 | if (sessionId == -1) return; | 401 | if(sessionId == -1) return; | ||
402 | if (!m_sessions.contains(sessionId)) return; | 402 | if(!m_sessions.contains(sessionId)) return; | ||
403 | 403 | | |||
404 | m_sessions.value(sessionId)->setMonitorActivityEnabled(enabled); | 404 | m_sessions.value(sessionId)->setMonitorActivityEnabled(enabled); | ||
405 | } | 405 | } | ||
Context not available. | |||||
407 | bool SessionStack::isTerminalMonitorActivityEnabled(int terminalId) | 407 | bool SessionStack::isTerminalMonitorActivityEnabled(int terminalId) | ||
408 | { | 408 | { | ||
409 | int sessionId = sessionIdForTerminalId(terminalId); | 409 | int sessionId = sessionIdForTerminalId(terminalId); | ||
410 | if (sessionId == -1) return false; | 410 | if(sessionId == -1) return false; | ||
411 | if (!m_sessions.contains(sessionId)) return false; | 411 | if(!m_sessions.contains(sessionId)) return false; | ||
412 | 412 | | |||
413 | return m_sessions.value(sessionId)->monitorActivityEnabled(terminalId); | 413 | return m_sessions.value(sessionId)->monitorActivityEnabled(terminalId); | ||
414 | } | 414 | } | ||
Context not available. | |||||
416 | void SessionStack::setTerminalMonitorActivityEnabled(int terminalId, bool enabled) | 416 | void SessionStack::setTerminalMonitorActivityEnabled(int terminalId, bool enabled) | ||
417 | { | 417 | { | ||
418 | int sessionId = sessionIdForTerminalId(terminalId); | 418 | int sessionId = sessionIdForTerminalId(terminalId); | ||
419 | if (sessionId == -1) return; | 419 | if(sessionId == -1) return; | ||
420 | if (!m_sessions.contains(sessionId)) return; | 420 | if(!m_sessions.contains(sessionId)) return; | ||
421 | 421 | | |||
422 | m_sessions.value(sessionId)->setMonitorActivityEnabled(terminalId, enabled); | 422 | m_sessions.value(sessionId)->setMonitorActivityEnabled(terminalId, enabled); | ||
423 | } | 423 | } | ||
424 | 424 | | |||
425 | bool SessionStack::hasTerminalsWithMonitorActivityEnabled(int sessionId) | 425 | bool SessionStack::hasTerminalsWithMonitorActivityEnabled(int sessionId) | ||
426 | { | 426 | { | ||
427 | if (sessionId == -1) sessionId = m_activeSessionId; | 427 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
428 | if (sessionId == -1) return false; | 428 | if(sessionId == -1) return false; | ||
429 | if (!m_sessions.contains(sessionId)) return false; | 429 | if(!m_sessions.contains(sessionId)) return false; | ||
430 | 430 | | |||
431 | return m_sessions.value(sessionId)->hasTerminalsWithMonitorActivityEnabled(); | 431 | return m_sessions.value(sessionId)->hasTerminalsWithMonitorActivityEnabled(); | ||
432 | } | 432 | } | ||
433 | 433 | | |||
434 | bool SessionStack::hasTerminalsWithMonitorActivityDisabled(int sessionId) | 434 | bool SessionStack::hasTerminalsWithMonitorActivityDisabled(int sessionId) | ||
435 | { | 435 | { | ||
436 | if (sessionId == -1) sessionId = m_activeSessionId; | 436 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
437 | if (sessionId == -1) return false; | 437 | if(sessionId == -1) return false; | ||
438 | if (!m_sessions.contains(sessionId)) return false; | 438 | if(!m_sessions.contains(sessionId)) return false; | ||
439 | 439 | | |||
440 | return m_sessions.value(sessionId)->hasTerminalsWithMonitorActivityDisabled(); | 440 | return m_sessions.value(sessionId)->hasTerminalsWithMonitorActivityDisabled(); | ||
441 | } | 441 | } | ||
442 | 442 | | |||
443 | bool SessionStack::isSessionMonitorSilenceEnabled(int sessionId) | 443 | bool SessionStack::isSessionMonitorSilenceEnabled(int sessionId) | ||
444 | { | 444 | { | ||
445 | if (sessionId == -1) sessionId = m_activeSessionId; | 445 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
446 | if (sessionId == -1) return false; | 446 | if(sessionId == -1) return false; | ||
447 | if (!m_sessions.contains(sessionId)) return false; | 447 | if(!m_sessions.contains(sessionId)) return false; | ||
448 | 448 | | |||
449 | return m_sessions.value(sessionId)->monitorSilenceEnabled(); | 449 | return m_sessions.value(sessionId)->monitorSilenceEnabled(); | ||
450 | } | 450 | } | ||
451 | 451 | | |||
452 | void SessionStack::setSessionMonitorSilenceEnabled(int sessionId, bool enabled) | 452 | void SessionStack::setSessionMonitorSilenceEnabled(int sessionId, bool enabled) | ||
453 | { | 453 | { | ||
454 | if (sessionId == -1) sessionId = m_activeSessionId; | 454 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
455 | if (sessionId == -1) return; | 455 | if(sessionId == -1) return; | ||
456 | if (!m_sessions.contains(sessionId)) return; | 456 | if(!m_sessions.contains(sessionId)) return; | ||
457 | 457 | | |||
458 | m_sessions.value(sessionId)->setMonitorSilenceEnabled(enabled); | 458 | m_sessions.value(sessionId)->setMonitorSilenceEnabled(enabled); | ||
459 | } | 459 | } | ||
Context not available. | |||||
461 | bool SessionStack::isTerminalMonitorSilenceEnabled(int terminalId) | 461 | bool SessionStack::isTerminalMonitorSilenceEnabled(int terminalId) | ||
462 | { | 462 | { | ||
463 | int sessionId = sessionIdForTerminalId(terminalId); | 463 | int sessionId = sessionIdForTerminalId(terminalId); | ||
464 | if (sessionId == -1) return false; | 464 | if(sessionId == -1) return false; | ||
465 | if (!m_sessions.contains(sessionId)) return false; | 465 | if(!m_sessions.contains(sessionId)) return false; | ||
466 | 466 | | |||
467 | return m_sessions.value(sessionId)->monitorSilenceEnabled(terminalId); | 467 | return m_sessions.value(sessionId)->monitorSilenceEnabled(terminalId); | ||
468 | } | 468 | } | ||
Context not available. | |||||
470 | void SessionStack::setTerminalMonitorSilenceEnabled(int terminalId, bool enabled) | 470 | void SessionStack::setTerminalMonitorSilenceEnabled(int terminalId, bool enabled) | ||
471 | { | 471 | { | ||
472 | int sessionId = sessionIdForTerminalId(terminalId); | 472 | int sessionId = sessionIdForTerminalId(terminalId); | ||
473 | if (sessionId == -1) return; | 473 | if(sessionId == -1) return; | ||
474 | if (!m_sessions.contains(sessionId)) return; | 474 | if(!m_sessions.contains(sessionId)) return; | ||
475 | 475 | | |||
476 | m_sessions.value(sessionId)->setMonitorSilenceEnabled(terminalId, enabled); | 476 | m_sessions.value(sessionId)->setMonitorSilenceEnabled(terminalId, enabled); | ||
477 | } | 477 | } | ||
478 | 478 | | |||
479 | bool SessionStack::hasTerminalsWithMonitorSilenceEnabled(int sessionId) | 479 | bool SessionStack::hasTerminalsWithMonitorSilenceEnabled(int sessionId) | ||
480 | { | 480 | { | ||
481 | if (sessionId == -1) sessionId = m_activeSessionId; | 481 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
482 | if (sessionId == -1) return false; | 482 | if(sessionId == -1) return false; | ||
483 | if (!m_sessions.contains(sessionId)) return false; | 483 | if(!m_sessions.contains(sessionId)) return false; | ||
484 | 484 | | |||
485 | return m_sessions.value(sessionId)->hasTerminalsWithMonitorSilenceEnabled(); | 485 | return m_sessions.value(sessionId)->hasTerminalsWithMonitorSilenceEnabled(); | ||
486 | } | 486 | } | ||
487 | 487 | | |||
488 | bool SessionStack::hasTerminalsWithMonitorSilenceDisabled(int sessionId) | 488 | bool SessionStack::hasTerminalsWithMonitorSilenceDisabled(int sessionId) | ||
489 | { | 489 | { | ||
490 | if (sessionId == -1) sessionId = m_activeSessionId; | 490 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
491 | if (sessionId == -1) return false; | 491 | if(sessionId == -1) return false; | ||
492 | if (!m_sessions.contains(sessionId)) return false; | 492 | if(!m_sessions.contains(sessionId)) return false; | ||
493 | 493 | | |||
494 | return m_sessions.value(sessionId)->hasTerminalsWithMonitorSilenceDisabled(); | 494 | return m_sessions.value(sessionId)->hasTerminalsWithMonitorSilenceDisabled(); | ||
495 | } | 495 | } | ||
496 | 496 | | |||
497 | void SessionStack::editProfile(int sessionId) | 497 | void SessionStack::editProfile(int sessionId) | ||
498 | { | 498 | { | ||
499 | if (sessionId == -1) sessionId = m_activeSessionId; | 499 | if(sessionId == -1) sessionId = m_activeSessionId; | ||
500 | if (sessionId == -1) return; | 500 | if(sessionId == -1) return; | ||
501 | if (!m_sessions.contains(sessionId)) return; | 501 | if(!m_sessions.contains(sessionId)) return; | ||
502 | 502 | | |||
503 | m_sessions.value(sessionId)->editProfile(); | 503 | m_sessions.value(sessionId)->editProfile(); | ||
504 | } | 504 | } | ||
505 | 505 | | |||
506 | int SessionStack::splitSessionLeftRight(int sessionId) | 506 | int SessionStack::splitSessionLeftRight(int sessionId) | ||
507 | { | 507 | { | ||
508 | if (sessionId == -1) return -1; | 508 | if(sessionId == -1) return -1; | ||
509 | if (!m_sessions.contains(sessionId)) return -1; | 509 | if(!m_sessions.contains(sessionId)) return -1; | ||
510 | 510 | | |||
511 | return m_sessions.value(sessionId)->splitLeftRight(); | 511 | return m_sessions.value(sessionId)->splitLeftRight(); | ||
512 | } | 512 | } | ||
513 | 513 | | |||
514 | int SessionStack::splitSessionTopBottom(int sessionId) | 514 | int SessionStack::splitSessionTopBottom(int sessionId) | ||
515 | { | 515 | { | ||
516 | if (sessionId == -1) return -1; | 516 | if(sessionId == -1) return -1; | ||
517 | if (!m_sessions.contains(sessionId)) return -1; | 517 | if(!m_sessions.contains(sessionId)) return -1; | ||
518 | 518 | | |||
519 | return m_sessions.value(sessionId)->splitTopBottom(); | 519 | return m_sessions.value(sessionId)->splitTopBottom(); | ||
520 | } | 520 | } | ||
Context not available. | |||||
523 | { | 523 | { | ||
524 | int sessionId = sessionIdForTerminalId(terminalId); | 524 | int sessionId = sessionIdForTerminalId(terminalId); | ||
525 | 525 | | |||
526 | if (sessionId == -1) return -1; | 526 | if(sessionId == -1) return -1; | ||
527 | 527 | | |||
528 | return m_sessions.value(sessionId)->splitLeftRight(terminalId); | 528 | return m_sessions.value(sessionId)->splitLeftRight(terminalId); | ||
529 | } | 529 | } | ||
Context not available. | |||||
532 | { | 532 | { | ||
533 | int sessionId = sessionIdForTerminalId(terminalId); | 533 | int sessionId = sessionIdForTerminalId(terminalId); | ||
534 | 534 | | |||
535 | if (sessionId == -1) return -1; | 535 | if(sessionId == -1) return -1; | ||
536 | 536 | | |||
537 | return m_sessions.value(sessionId)->splitTopBottom(terminalId); | 537 | return m_sessions.value(sessionId)->splitTopBottom(terminalId); | ||
538 | } | 538 | } | ||
Context not available. | |||||
541 | { | 541 | { | ||
542 | int sessionId = sessionIdForTerminalId(terminalId); | 542 | int sessionId = sessionIdForTerminalId(terminalId); | ||
543 | 543 | | |||
544 | if (sessionId == -1) return -1; | 544 | if(sessionId == -1) return -1; | ||
545 | 545 | | |||
546 | return m_sessions.value(sessionId)->tryGrowTerminal(terminalId, Session::Right, pixels); | 546 | return m_sessions.value(sessionId)->tryGrowTerminal(terminalId, Session::Right, pixels); | ||
547 | } | 547 | } | ||
Context not available. | |||||
550 | { | 550 | { | ||
551 | int sessionId = sessionIdForTerminalId(terminalId); | 551 | int sessionId = sessionIdForTerminalId(terminalId); | ||
552 | 552 | | |||
553 | if (sessionId == -1) return -1; | 553 | if(sessionId == -1) return -1; | ||
554 | 554 | | |||
555 | return m_sessions.value(sessionId)->tryGrowTerminal(terminalId, Session::Left, pixels); | 555 | return m_sessions.value(sessionId)->tryGrowTerminal(terminalId, Session::Left, pixels); | ||
556 | } | 556 | } | ||
Context not available. | |||||
559 | { | 559 | { | ||
560 | int sessionId = sessionIdForTerminalId(terminalId); | 560 | int sessionId = sessionIdForTerminalId(terminalId); | ||
561 | 561 | | |||
562 | if (sessionId == -1) return -1; | 562 | if(sessionId == -1) return -1; | ||
563 | 563 | | |||
564 | return m_sessions.value(sessionId)->tryGrowTerminal(terminalId, Session::Up, pixels); | 564 | return m_sessions.value(sessionId)->tryGrowTerminal(terminalId, Session::Up, pixels); | ||
565 | } | 565 | } | ||
Context not available. | |||||
568 | { | 568 | { | ||
569 | int sessionId = sessionIdForTerminalId(terminalId); | 569 | int sessionId = sessionIdForTerminalId(terminalId); | ||
570 | 570 | | |||
571 | if (sessionId == -1) return -1; | 571 | if(sessionId == -1) return -1; | ||
572 | 572 | | |||
573 | return m_sessions.value(sessionId)->tryGrowTerminal(terminalId, Session::Down, pixels); | 573 | return m_sessions.value(sessionId)->tryGrowTerminal(terminalId, Session::Down, pixels); | ||
574 | } | 574 | } | ||
Context not available. | |||||
585 | 585 | | |||
586 | title = it.value()->title(); | 586 | title = it.value()->title(); | ||
587 | 587 | | |||
588 | if (!title.isEmpty()) | 588 | if(!title.isEmpty()) | ||
589 | emit titleChanged(it.value()->id(), title); | 589 | emit titleChanged(it.value()->id(), title); | ||
590 | } | 590 | } | ||
591 | } | 591 | } | ||
592 | 592 | | |||
593 | bool SessionStack::requiresVisualEventOverlay() | 593 | bool SessionStack::requiresVisualEventOverlay() | ||
594 | { | 594 | { | ||
595 | if (m_activeSessionId == -1) return false; | 595 | if(m_activeSessionId == -1) return false; | ||
596 | if (!m_sessions.contains(m_activeSessionId)) return false; | 596 | if(!m_sessions.contains(m_activeSessionId)) return false; | ||
597 | 597 | | |||
598 | return m_sessions.value(m_activeSessionId)->hasTerminalsWithKeyboardInputDisabled(); | 598 | return m_sessions.value(m_activeSessionId)->hasTerminalsWithKeyboardInputDisabled(); | ||
599 | } | 599 | } | ||
Context not available. | |||||
610 | 610 | | |||
611 | terminal = it.value()->getTerminal(terminalId); | 611 | terminal = it.value()->getTerminal(terminalId); | ||
612 | 612 | | |||
613 | if (terminal && it.value()->id() == m_activeSessionId) | 613 | if(terminal && it.value()->id() == m_activeSessionId) | ||
614 | { | 614 | { | ||
615 | m_visualEventOverlay->highlightTerminal(terminal, true); | 615 | m_visualEventOverlay->highlightTerminal(terminal, true); | ||
616 | 616 | | |||
Context not available. | |||||
623 | { | 623 | { | ||
624 | Q_UNUSED(event) | 624 | Q_UNUSED(event) | ||
625 | 625 | | |||
626 | if (m_activeSessionId == -1) return; | 626 | if(m_activeSessionId == -1) return; | ||
627 | if (!m_sessions.contains(m_activeSessionId)) return; | 627 | if(!m_sessions.contains(m_activeSessionId)) return; | ||
628 | 628 | | |||
629 | Terminal *terminal = m_sessions.value(m_activeSessionId)->getTerminal(activeTerminalId()); | 629 | Terminal *terminal = m_sessions.value(m_activeSessionId)->getTerminal(activeTerminalId()); | ||
630 | 630 | | |||
631 | if (terminal) { | 631 | if(terminal) { | ||
632 | QWidget* terminalWidget = terminal->terminalWidget(); | 632 | QWidget* terminalWidget = terminal->terminalWidget(); | ||
633 | if (terminalWidget) terminalWidget->setFocus(); | 633 | if(terminalWidget) terminalWidget->setFocus(); | ||
634 | } | 634 | } | ||
635 | } | 635 | } | ||
636 | 636 | | |||
637 | void SessionStack::handleManualTerminalActivation(Terminal* terminal) | 637 | void SessionStack::handleManualTerminalActivation(Terminal* terminal) | ||
638 | { | 638 | { | ||
639 | if (!Settings::terminalHighlightOnManualActivation()) | 639 | if(!Settings::terminalHighlightOnManualActivation()) | ||
640 | return; | 640 | return; | ||
641 | 641 | | |||
642 | Session* session = qobject_cast<Session*>(QObject::sender()); | 642 | Session* session = qobject_cast<Session*>(QObject::sender()); | ||
643 | 643 | | |||
644 | if (session->terminalCount() > 1) | 644 | if(session->terminalCount() > 1) | ||
645 | m_visualEventOverlay->highlightTerminal(terminal, false); | 645 | m_visualEventOverlay->highlightTerminal(terminal, false); | ||
646 | } | 646 | } | ||
647 | 647 | | |||
648 | bool SessionStack::queryClose(int sessionId, QueryCloseType type) | 648 | bool SessionStack::queryClose(int sessionId, QueryCloseType type) | ||
649 | { | 649 | { | ||
650 | if (!m_sessions.contains(sessionId)) return false; | 650 | if(!m_sessions.contains(sessionId)) return false; | ||
651 | 651 | | |||
652 | if (!m_sessions.value(sessionId)->closable()) | 652 | if(!m_sessions.value(sessionId)->closable()) | ||
653 | { | 653 | { | ||
654 | QString closeQuestionIntro = xi18nc("@info", "<warning>You have locked this session to prevent accidental closing of terminals.</warning>"); | 654 | QString closeQuestionIntro = xi18nc("@info", "<warning>You have locked this session to prevent accidental closing of terminals.</warning>"); | ||
655 | QString closeQuestion; | 655 | QString closeQuestion; | ||
656 | 656 | | |||
657 | if (type == QueryCloseSession) | 657 | if(type == QueryCloseSession) | ||
658 | closeQuestion = xi18nc("@info", "Are you sure you want to close this session?"); | 658 | closeQuestion = xi18nc("@info", "Are you sure you want to close this session?"); | ||
659 | else if (type == QueryCloseTerminal) | 659 | else if(type == QueryCloseTerminal) | ||
660 | closeQuestion = xi18nc("@info", "Are you sure you want to close this terminal?"); | 660 | closeQuestion = xi18nc("@info", "Are you sure you want to close this terminal?"); | ||
661 | 661 | | |||
662 | int result = KMessageBox::warningContinueCancel(this, | 662 | int result = KMessageBox::warningContinueCancel(this, | ||
663 | closeQuestionIntro + QStringLiteral("<br/><br/>") + closeQuestion, | 663 | closeQuestionIntro + QStringLiteral("<br/><br/>") + closeQuestion, | ||
664 | xi18nc("@title:window", "Really Close?"), KStandardGuiItem::close(), KStandardGuiItem::cancel()); | 664 | xi18nc("@title:window", "Really Close?"), KStandardGuiItem::close(), KStandardGuiItem::cancel()); | ||
665 | 665 | | |||
666 | if (result != KMessageBox::Continue) | 666 | if(result != KMessageBox::Continue) | ||
667 | return false; | 667 | return false; | ||
668 | } | 668 | } | ||
669 | 669 | | |||
Context not available. |