Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Utilities
Kate
Commits
518f74da
Commit
518f74da
authored
Sep 17, 2022
by
Christoph Cullmann
🍨
Committed by
Eric Armbruster
Sep 19, 2022
Browse files
dynamic view space lookup
parent
6b7207a9
Changes
3
Hide whitespace changes
Inline
Side-by-side
apps/lib/katemainwindow.cpp
View file @
518f74da
...
...
@@ -1502,6 +1502,6 @@ void KateMainWindow::showWelcomeViewIfNeeded()
QTimer
::
singleShot
(
0
,
this
,
[
this
]()
{
if
(
activeView
())
return
;
addWidget
(
new
KateWelcomeView
(
m_viewManager
->
activeViewSpace
(),
nullptr
));
addWidget
(
new
KateWelcomeView
());
});
}
apps/lib/katewelcomeview.cpp
View file @
518f74da
...
...
@@ -12,22 +12,19 @@
#include
<QPushButton>
#include
<QTimer>
KateWelcomeView
::
KateWelcomeView
(
KateViewSpace
*
viewSpace
,
QWidget
*
parent
)
:
QWidget
(
parent
)
,
m_viewSpace
(
viewSpace
)
KateWelcomeView
::
KateWelcomeView
()
{
// setup ui & ensure proper title for tab & co.
m_ui
.
setupUi
(
this
);
// ensure proper title for tab & co.
setWindowTitle
(
i18n
(
"Welcome"
));
// new file action, closes welcome after creating a new document
m_ui
.
fileNew
->
setText
(
i18n
(
"New File"
));
m_ui
.
fileNew
->
setIcon
(
QIcon
::
fromTheme
(
QStringLiteral
(
"file-new"
)));
connect
(
m_ui
.
fileNew
,
&
QPushButton
::
clicked
,
this
,
[
this
]()
{
m_
viewSpace
->
viewManager
()
->
slotDocumentNew
();
viewSpace
()
->
viewManager
()
->
slotDocumentNew
();
QTimer
::
singleShot
(
0
,
this
,
[
this
]()
{
m_
viewSpace
->
viewManager
()
->
mainWindow
()
->
removeWidget
(
this
);
viewSpace
()
->
viewManager
()
->
mainWindow
()
->
removeWidget
(
this
);
});
});
...
...
@@ -35,9 +32,23 @@ KateWelcomeView::KateWelcomeView(KateViewSpace *viewSpace, QWidget *parent)
m_ui
.
fileOpen
->
setText
(
i18n
(
"Open File..."
));
m_ui
.
fileOpen
->
setIcon
(
QIcon
::
fromTheme
(
QStringLiteral
(
"file-open"
)));
connect
(
m_ui
.
fileOpen
,
&
QPushButton
::
clicked
,
this
,
[
this
]()
{
m_
viewSpace
->
viewManager
()
->
slotDocumentOpen
();
viewSpace
()
->
viewManager
()
->
slotDocumentOpen
();
QTimer
::
singleShot
(
0
,
this
,
[
this
]()
{
m_
viewSpace
->
viewManager
()
->
mainWindow
()
->
removeWidget
(
this
);
viewSpace
()
->
viewManager
()
->
mainWindow
()
->
removeWidget
(
this
);
});
});
}
KateViewSpace
*
KateWelcomeView
::
viewSpace
()
{
// this view can be re-parented, search upwards the current view space
auto
p
=
parent
();
while
(
p
)
{
if
(
auto
vs
=
qobject_cast
<
KateViewSpace
*>
(
p
))
{
return
vs
;
}
p
=
p
->
parent
();
}
Q_ASSERT
(
false
);
return
nullptr
;
}
apps/lib/katewelcomeview.h
View file @
518f74da
...
...
@@ -21,14 +21,13 @@ class KateWelcomeView : public QWidget
public:
/**
* Construct new output, we do that once per main window
* @param viewSpace parent view space
* @param parent parent widget
*/
KateWelcomeView
(
KateViewSpace
*
viewSpace
,
QWidget
*
parent
);
KateWelcomeView
();
public
Q_SLOTS
:
/**
* Welcome view can always be closed.
* @return can always be closed
*/
bool
shouldClose
()
{
...
...
@@ -36,9 +35,14 @@ public Q_SLOTS:
}
private:
// our viewspace we belong to
KateViewSpace
*
const
m_viewSpace
=
nullptr
;
/**
* Get the view space we belong to.
* As we can in principle be dragged around.
* @return view space we belong to
*/
KateViewSpace
*
viewSpace
();
private:
// designer UI for this widget
Ui
::
WelcomeViewWidget
m_ui
;
};
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment