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
f08ffde0
Commit
f08ffde0
authored
Sep 19, 2022
by
Eric Armbruster
🍁
Browse files
Add an action to show the welcome page
parent
e33e807e
Pipeline
#234616
passed with stage
in 7 minutes and 38 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
apps/lib/data/kateui.rc
View file @
f08ffde0
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE gui SYSTEM "kpartgui.dtd">
<gui
name=
"kate"
version=
"9
7
"
translationDomain=
"kate"
>
<gui
name=
"kate"
version=
"9
8
"
translationDomain=
"kate"
>
<MenuBar>
<Menu
name=
"file"
noMerge=
"1"
>
<text>
&
File
</text>
...
...
@@ -130,6 +130,10 @@
<Action
name=
"settings_show_full_path"
append=
"show_merge"
/>
<Action
name=
"settings_show_url_nav_bar"
append=
"show_merge"
/>
</Menu>
<Menu
name=
"help"
>
<text>
&
Help
</text>
<Action
name=
"help_welcome_page"
/>
</Menu>
</MenuBar>
<ToolBar
name=
"mainToolBar"
noMerge=
"1"
>
<text>
Main Toolbar
</text>
...
...
apps/lib/kateviewmanager.cpp
View file @
f08ffde0
...
...
@@ -76,7 +76,7 @@ KateViewManager::KateViewManager(QWidget *parentW, KateMainWindow *parent)
connect
(
KateApp
::
self
()
->
documentManager
(),
&
KateDocManager
::
documentsDeleted
,
this
,
&
KateViewManager
::
documentsDeleted
);
// ensure we have the welcome view if no active view is there
showWelcomeView
();
showWelcomeView
IfNeeded
();
}
KateViewManager
::~
KateViewManager
()
...
...
@@ -237,6 +237,24 @@ void KateViewManager::setupActions()
connect
(
a
,
&
QAction
::
triggered
,
this
,
[
this
]
{
activeViewSpace
()
->
focusNavigationBar
();
});
a
=
m_mainWindow
->
actionCollection
()
->
addAction
(
QStringLiteral
(
"help_welcome_page"
));
a
->
setText
(
i18n
(
"Welcome Page"
));
a
->
setIcon
(
qApp
->
windowIcon
());
connect
(
a
,
&
QAction
::
triggered
,
this
,
[
this
]()
{
if
(
activeViewSpace
())
{
const
auto
widgets
=
activeViewSpace
()
->
widgets
();
for
(
const
auto
&
widget
:
widgets
)
{
// check if there is already a welcome view
if
(
qobject_cast
<
WelcomeView
*>
(
widget
))
{
return
;
}
}
showWelcomeView
();
}
});
a
->
setWhatsThis
(
i18n
(
"Show the welcome page"
));
}
void
KateViewManager
::
updateViewSpaceActions
()
...
...
@@ -1065,7 +1083,7 @@ void KateViewManager::onViewSpaceEmptied(KateViewSpace *vs)
}
// else we want to trigger showing of the welcome view
showWelcomeView
();
showWelcomeView
IfNeeded
();
}
void
KateViewManager
::
setShowUrlNavBar
(
bool
show
)
...
...
@@ -1307,7 +1325,7 @@ void KateViewManager::restoreViewConfiguration(const KConfigGroup &config)
updateViewSpaceActions
();
// ensure we have the welcome view if no active view is there
showWelcomeView
();
showWelcomeView
IfNeeded
();
}
QString
KateViewManager
::
saveSplitterConfig
(
KateSplitter
*
s
,
KConfigBase
*
configBase
,
const
QString
&
viewConfGrp
)
...
...
@@ -1492,15 +1510,20 @@ void KateViewManager::hideWelcomeView(KateViewSpace *vs)
}
}
void
KateViewManager
::
showWelcomeViewIfNeeded
()
{
// we really want to show up only if nothing is in the current view space
// this guard versus double invocation of this function, too
if
(
activeViewSpace
()
&&
(
activeViewSpace
()
->
currentView
()
||
activeViewSpace
()
->
currentWidget
()))
return
;
showWelcomeView
();
}
void
KateViewManager
::
showWelcomeView
()
{
// delay the creation, e.g. used on startup
QTimer
::
singleShot
(
0
,
this
,
[
this
]()
{
// we really want to show up only if nothing is in the current view space
// this guard versus double invocation of this function, too
if
(
activeViewSpace
()
&&
(
activeViewSpace
()
->
currentView
()
||
activeViewSpace
()
->
currentWidget
()))
return
;
auto
welcomeView
=
new
WelcomeView
(
this
);
auto
recentFilesAction
=
mainWindow
()
->
recentFilesAction
();
connect
(
recentFilesAction
,
&
KRecentFilesAction
::
recentListCleared
,
this
,
&
KateViewManager
::
refreshRecentsOnWelcomeView
);
...
...
apps/lib/kateviewmanager.h
View file @
f08ffde0
...
...
@@ -313,6 +313,7 @@ public Q_SLOTS:
bool
showUrlNavBar
()
const
;
void
hideWelcomeView
(
KateViewSpace
*
vs
);
void
showWelcomeViewIfNeeded
();
void
showWelcomeView
();
void
refreshRecentsOnWelcomeView
();
void
forgetRecentItem
(
QUrl
const
&
url
);
...
...
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