Changeset View
Changeset View
Standalone View
Standalone View
src/Part.cpp
Show All 36 Lines | |||||
37 | #include "EditProfileDialog.h" | 37 | #include "EditProfileDialog.h" | ||
38 | #include "Emulation.h" | 38 | #include "Emulation.h" | ||
39 | #include "Session.h" | 39 | #include "Session.h" | ||
40 | #include "SessionController.h" | 40 | #include "SessionController.h" | ||
41 | #include "SessionManager.h" | 41 | #include "SessionManager.h" | ||
42 | #include "ProfileManager.h" | 42 | #include "ProfileManager.h" | ||
43 | #include "TerminalDisplay.h" | 43 | #include "TerminalDisplay.h" | ||
44 | #include "ViewManager.h" | 44 | #include "ViewManager.h" | ||
45 | #include "ViewContainer.h" | ||||
45 | #include "KonsoleSettings.h" | 46 | #include "KonsoleSettings.h" | ||
46 | #include "settings/PartInfo.h" | 47 | #include "settings/PartInfo.h" | ||
47 | #include "settings/ProfileSettings.h" | 48 | #include "settings/ProfileSettings.h" | ||
48 | 49 | | |||
49 | using namespace Konsole; | 50 | using namespace Konsole; | ||
50 | 51 | | |||
51 | K_PLUGIN_FACTORY_WITH_JSON(KonsolePartFactory, | 52 | K_PLUGIN_FACTORY_WITH_JSON(KonsolePartFactory, | ||
52 | "konsolepart.json", | 53 | "konsolepart.json", | ||
53 | registerPlugin<Konsole::Part>();) | 54 | registerPlugin<Konsole::Part>();) | ||
54 | 55 | | |||
55 | Part::Part(QWidget *parentWidget, QObject *parent, const QVariantList &) : | 56 | Part::Part(QWidget *parentWidget, QObject *parent, const QVariantList &) : | ||
56 | KParts::ReadOnlyPart(parent), | 57 | KParts::ReadOnlyPart(parent), | ||
57 | _viewManager(nullptr), | 58 | _viewManager(nullptr), | ||
58 | _pluggedController(nullptr) | 59 | _pluggedController(nullptr) | ||
59 | { | 60 | { | ||
60 | // create view widget | 61 | // create view widget | ||
61 | _viewManager = new ViewManager(this, actionCollection()); | 62 | _viewManager = new ViewManager(this, actionCollection()); | ||
62 | _viewManager->setNavigationMethod(ViewManager::NoNavigation); | 63 | _viewManager->setNavigationMethod(ViewManager::NoNavigation); | ||
63 | 64 | | |||
64 | connect(_viewManager, &Konsole::ViewManager::activeViewChanged, this, | 65 | connect(_viewManager, &Konsole::ViewManager::activeViewChanged, this, | ||
65 | &Konsole::Part::activeViewChanged); | 66 | &Konsole::Part::activeViewChanged); | ||
66 | connect(_viewManager, &Konsole::ViewManager::empty, this, &Konsole::Part::terminalExited); | 67 | connect(_viewManager, &Konsole::ViewManager::empty, this, &Konsole::Part::terminalExited); | ||
67 | connect(_viewManager, | 68 | connect(_viewManager, &Konsole::ViewManager::newViewRequest, this, &Konsole::Part::newTab); | ||
68 | static_cast<void (ViewManager::*)()>(&Konsole::ViewManager::newViewRequest), this, | | |||
69 | &Konsole::Part::newTab); | | |||
70 | 69 | | |||
71 | _viewManager->widget()->setParent(parentWidget); | 70 | _viewManager->widget()->setParent(parentWidget); | ||
72 | 71 | | |||
73 | setWidget(_viewManager->widget()); | 72 | setWidget(_viewManager->widget()); | ||
74 | actionCollection()->addAssociatedWidget(_viewManager->widget()); | 73 | actionCollection()->addAssociatedWidget(_viewManager->widget()); | ||
75 | foreach (QAction *action, actionCollection()->actions()) { | 74 | foreach (QAction *action, actionCollection()->actions()) { | ||
76 | action->setShortcutContext(Qt::WidgetWithChildrenShortcut); | 75 | action->setShortcutContext(Qt::WidgetWithChildrenShortcut); | ||
77 | } | 76 | } | ||
▲ Show 20 Lines • Show All 131 Lines • ▼ Show 20 Line(s) | 201 | { | |||
209 | 208 | | |||
210 | Session *session = SessionManager::instance()->createSession(profile); | 209 | Session *session = SessionManager::instance()->createSession(profile); | ||
211 | 210 | | |||
212 | // override the default directory specified in the profile | 211 | // override the default directory specified in the profile | ||
213 | if (!directory.isEmpty() && profile->startInCurrentSessionDir()) { | 212 | if (!directory.isEmpty() && profile->startInCurrentSessionDir()) { | ||
214 | session->setInitialWorkingDirectory(directory); | 213 | session->setInitialWorkingDirectory(directory); | ||
215 | } | 214 | } | ||
216 | 215 | | |||
217 | _viewManager->createView(session); | 216 | _viewManager->createView(_viewManager->activeContainer(), session); | ||
218 | } | 217 | } | ||
219 | 218 | | |||
220 | void Part::activeViewChanged(SessionController *controller) | 219 | void Part::activeViewChanged(SessionController *controller) | ||
221 | { | 220 | { | ||
222 | Q_ASSERT(controller); | 221 | Q_ASSERT(controller); | ||
223 | Q_ASSERT(controller->view()); | 222 | Q_ASSERT(controller->view()); | ||
224 | 223 | | |||
225 | // remove existing controller | 224 | // remove existing controller | ||
▲ Show 20 Lines • Show All 166 Lines • Show Last 20 Lines |