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
6bb0e485
Commit
6bb0e485
authored
Jul 26, 2022
by
Pablo Rauzy
Committed by
Christoph Cullmann
Aug 14, 2022
Browse files
[WIP] renaming plugin to Keyboard Macros (plural)
parent
7963a630
Changes
9
Hide whitespace changes
Inline
Side-by-side
addons/CMakeLists.txt
View file @
6bb0e485
...
...
@@ -33,4 +33,4 @@ ecm_optional_add_subdirectory(textfilter) # Pipe text through some external comm
ecm_optional_add_subdirectory
(
xmlcheck
)
# XML Validation plugin
ecm_optional_add_subdirectory
(
xmltools
)
# XML completion
ecm_optional_add_subdirectory
(
cmake-tools
)
ecm_optional_add_subdirectory
(
keyboardmacro
)
ecm_optional_add_subdirectory
(
keyboardmacro
s
)
addons/keyboardmacro/CMakeLists.txt
deleted
100644 → 0
View file @
7963a630
kate_add_plugin
(
keyboardmacroplugin
)
target_compile_definitions
(
keyboardmacroplugin PRIVATE TRANSLATION_DOMAIN=
"katekeyboardmacro"
)
target_link_libraries
(
keyboardmacroplugin PRIVATE KF5::I18n KF5::TextEditor
)
target_sources
(
keyboardmacroplugin
PRIVATE
plugin_katekeyboardmacro.cpp
plugin.qrc
)
addons/keyboardmacros/CMakeLists.txt
0 → 100644
View file @
6bb0e485
kate_add_plugin
(
keyboardmacrosplugin
)
target_compile_definitions
(
keyboardmacrosplugin PRIVATE TRANSLATION_DOMAIN=
"katekeyboardmacros"
)
target_link_libraries
(
keyboardmacrosplugin PRIVATE KF5::I18n KF5::TextEditor
)
target_sources
(
keyboardmacrosplugin
PRIVATE
keyboardmacrosplugin.cpp
plugin.qrc
)
addons/keyboardmacro/Messages.sh
→
addons/keyboardmacro
s
/Messages.sh
View file @
6bb0e485
#! /bin/sh
$EXTRACTRC
*
.rc
*
.ui
>>
rc.cpp
$XGETTEXT
*
.cpp
-o
$podir
/katekeyboardmacro.pot
$XGETTEXT
*
.cpp
-o
$podir
/katekeyboardmacro
s
.pot
addons/keyboardmacro/
plugin_kate
keyboardmacro.cpp
→
addons/keyboardmacro
s
/keyboardmacro
splugin
.cpp
View file @
6bb0e485
...
...
@@ -3,7 +3,7 @@
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#include
"
plugin_kate
keyboardmacro.h"
#include
"keyboardmacro
splugin
.h"
#include
<QAction>
#include
<QCoreApplication>
...
...
@@ -15,35 +15,35 @@
#include
<KTextEditor/Editor>
#include
<KTextEditor/Message>
#include
<KLocalizedString>
#include
<KActionCollection>
#include
<KLocalizedString>
#include
<KPluginFactory>
#include
<KXMLGUIFactory>
#include
<iostream>
#include
<qevent.h>
K_PLUGIN_FACTORY_WITH_JSON
(
KeyboardMacroPluginFactory
,
"keyboardmacroplugin.json"
,
registerPlugin
<
PluginKate
KeyboardMacro
>
();)
K_PLUGIN_FACTORY_WITH_JSON
(
KeyboardMacro
s
PluginFactory
,
"keyboardmacro
s
plugin.json"
,
registerPlugin
<
KeyboardMacro
sPlugin
>
();)
PluginKate
KeyboardMacro
::
Plugin
Kate
KeyboardMacro
(
QObject
*
parent
,
const
QList
<
QVariant
>
&
)
KeyboardMacro
s
Plugin
::
KeyboardMacro
sPlugin
(
QObject
*
parent
,
const
QList
<
QVariant
>
&
)
:
KTextEditor
::
Plugin
(
parent
)
{
// register "recmac" and "runmac" commands
m_recCommand
=
new
PluginKate
KeyboardMacroRecordCommand
(
this
);
m_runCommand
=
new
PluginKate
KeyboardMacroRunCommand
(
this
);
m_recCommand
=
new
KeyboardMacro
sPlugin
RecordCommand
(
this
);
m_runCommand
=
new
KeyboardMacro
sPlugin
RunCommand
(
this
);
}
PluginKate
KeyboardMacro
::~
Plugin
Kate
KeyboardMacro
()
KeyboardMacro
s
Plugin
::~
KeyboardMacro
sPlugin
()
{
delete
m_recCommand
;
delete
m_runCommand
;
reset
();
}
QObject
*
PluginKate
KeyboardMacro
::
createView
(
KTextEditor
::
MainWindow
*
mainWindow
)
QObject
*
KeyboardMacro
sPlugin
::
createView
(
KTextEditor
::
MainWindow
*
mainWindow
)
{
m_mainWindow
=
mainWindow
;
return
new
PluginViewKate
KeyboardMacro
(
this
,
mainWindow
);
return
new
KeyboardMacro
sPluginView
(
this
,
mainWindow
);
}
// https://doc.qt.io/qt-6/eventsandfilters.html
...
...
@@ -54,7 +54,7 @@ QObject *PluginKateKeyboardMacro::createView(KTextEditor::MainWindow *mainWindow
// file:///usr/share/qt5/doc/qtcore/qcoreapplication.html#sendEvent
// also see postEvent, sendPostedEvents, etc
bool
PluginKate
KeyboardMacro
::
eventFilter
(
QObject
*
obj
,
QEvent
*
event
)
bool
KeyboardMacro
sPlugin
::
eventFilter
(
QObject
*
obj
,
QEvent
*
event
)
{
if
(
event
->
type
()
==
QEvent
::
KeyPress
)
{
QKeyEvent
*
keyEvent
=
new
QKeyEvent
(
*
static_cast
<
QKeyEvent
*>
(
event
));
...
...
@@ -69,13 +69,13 @@ bool PluginKateKeyboardMacro::eventFilter(QObject *obj, QEvent *event)
}
}
void
PluginKate
KeyboardMacro
::
reset
()
void
KeyboardMacro
sPlugin
::
reset
()
{
qDeleteAll
(
m_keyEvents
.
begin
(),
m_keyEvents
.
end
());
m_keyEvents
.
clear
();
}
bool
PluginKate
KeyboardMacro
::
record
(
KTextEditor
::
View
*
)
bool
KeyboardMacro
sPlugin
::
record
(
KTextEditor
::
View
*
)
{
if
(
m_recording
)
{
// end recording
// KTextEditor::Editor::instance()->application()->activeMainWindow()->window()->removeEventFilter(this);
...
...
@@ -99,7 +99,7 @@ bool PluginKateKeyboardMacro::record(KTextEditor::View *)
return
true
;
}
bool
PluginKate
KeyboardMacro
::
run
(
KTextEditor
::
View
*
view
)
bool
KeyboardMacro
sPlugin
::
run
(
KTextEditor
::
View
*
view
)
{
if
(
m_recording
)
{
// end recording before running macro
...
...
@@ -118,12 +118,12 @@ bool PluginKateKeyboardMacro::run(KTextEditor::View *view)
return
true
;
}
bool
PluginKate
KeyboardMacro
::
isRecording
()
bool
KeyboardMacro
sPlugin
::
isRecording
()
{
return
m_recording
;
}
void
PluginKate
KeyboardMacro
::
slotRecord
()
void
KeyboardMacro
sPlugin
::
slotRecord
()
{
if
(
!
KTextEditor
::
Editor
::
instance
()
->
application
()
->
activeMainWindow
())
{
return
;
...
...
@@ -137,7 +137,7 @@ void PluginKateKeyboardMacro::slotRecord()
record
(
view
);
}
void
PluginKate
KeyboardMacro
::
slotRun
()
void
KeyboardMacro
sPlugin
::
slotRun
()
{
if
(
!
KTextEditor
::
Editor
::
instance
()
->
application
()
->
activeMainWindow
())
{
return
;
...
...
@@ -153,25 +153,25 @@ void PluginKateKeyboardMacro::slotRun()
// BEGIN Plugin view to add our actions to the gui
PluginViewKate
KeyboardMacro
::
PluginView
Kate
KeyboardMacro
(
Plugin
Kate
KeyboardMacro
*
plugin
,
KTextEditor
::
MainWindow
*
mainwindow
)
KeyboardMacro
s
PluginView
::
KeyboardMacro
s
Plugin
View
(
KeyboardMacro
sPlugin
*
plugin
,
KTextEditor
::
MainWindow
*
mainwindow
)
:
QObject
(
mainwindow
)
,
m_mainWindow
(
mainwindow
)
{
// setup xml gui
KXMLGUIClient
::
setComponentName
(
QStringLiteral
(
"keyboardmacro"
),
i18n
(
"Keyboard Macro"
));
KXMLGUIClient
::
setComponentName
(
QStringLiteral
(
"keyboardmacro
s
"
),
i18n
(
"Keyboard Macro
s
"
));
setXMLFile
(
QStringLiteral
(
"ui.rc"
));
// create record action
QAction
*
rec
=
actionCollection
()
->
addAction
(
QStringLiteral
(
"record_macro"
));
rec
->
setText
(
i18n
(
"Record &Macro..."
));
actionCollection
()
->
setDefaultShortcut
(
rec
,
Qt
::
CTRL
|
Qt
::
SHIFT
|
Qt
::
Key_K
);
connect
(
rec
,
&
QAction
::
triggered
,
plugin
,
&
PluginKate
KeyboardMacro
::
slotRecord
);
connect
(
rec
,
&
QAction
::
triggered
,
plugin
,
&
KeyboardMacro
sPlugin
::
slotRecord
);
// create run action
QAction
*
run
=
actionCollection
()
->
addAction
(
QStringLiteral
(
"run_macro"
));
run
->
setText
(
i18n
(
"&Run Macro"
));
actionCollection
()
->
setDefaultShortcut
(
run
,
Qt
::
CTRL
|
Qt
::
ALT
|
Qt
::
Key_K
);
connect
(
run
,
&
QAction
::
triggered
,
plugin
,
&
PluginKate
KeyboardMacro
::
slotRun
);
connect
(
run
,
&
QAction
::
triggered
,
plugin
,
&
KeyboardMacro
sPlugin
::
slotRun
);
// TODO: make an entire "Keyboard Macros" submenu with "record", "run", "save as", "run saved"
...
...
@@ -179,7 +179,7 @@ PluginViewKateKeyboardMacro::PluginViewKateKeyboardMacro(PluginKateKeyboardMacro
mainwindow
->
guiFactory
()
->
addClient
(
this
);
}
PluginViewKate
KeyboardMacro
::~
PluginView
Kate
KeyboardMacro
()
KeyboardMacro
s
PluginView
::~
KeyboardMacro
sPluginView
()
{
// remove us from the gui
m_mainWindow
->
guiFactory
()
->
removeClient
(
this
);
...
...
@@ -189,13 +189,13 @@ PluginViewKateKeyboardMacro::~PluginViewKateKeyboardMacro()
// BEGIN commands
PluginKate
KeyboardMacroRecordCommand
::
PluginKate
KeyboardMacroRecordCommand
(
PluginKate
KeyboardMacro
*
plugin
)
KeyboardMacro
sPlugin
RecordCommand
::
KeyboardMacro
sPlugin
RecordCommand
(
KeyboardMacro
sPlugin
*
plugin
)
:
KTextEditor
::
Command
(
QStringList
()
<<
QStringLiteral
(
"recmac"
),
plugin
)
,
m_plugin
(
plugin
)
{
}
bool
PluginKate
KeyboardMacroRecordCommand
::
exec
(
KTextEditor
::
View
*
view
,
const
QString
&
,
QString
&
,
const
KTextEditor
::
Range
&
)
bool
KeyboardMacro
sPlugin
RecordCommand
::
exec
(
KTextEditor
::
View
*
view
,
const
QString
&
,
QString
&
,
const
KTextEditor
::
Range
&
)
{
if
(
m_plugin
->
isRecording
())
{
// remove from the recording the call to this command…
...
...
@@ -206,19 +206,19 @@ bool PluginKateKeyboardMacroRecordCommand::exec(KTextEditor::View *view, const Q
return
true
;
}
bool
PluginKate
KeyboardMacroRecordCommand
::
help
(
KTextEditor
::
View
*
,
const
QString
&
,
QString
&
msg
)
bool
KeyboardMacro
sPlugin
RecordCommand
::
help
(
KTextEditor
::
View
*
,
const
QString
&
,
QString
&
msg
)
{
msg
=
i18n
(
"<qt><p>Usage: <code>recmac</code></p><p>Start/stop recording a keyboard macro.</p></qt>"
);
return
true
;
}
PluginKate
KeyboardMacroRunCommand
::
PluginKate
KeyboardMacroRunCommand
(
PluginKate
KeyboardMacro
*
plugin
)
KeyboardMacro
sPlugin
RunCommand
::
KeyboardMacro
sPlugin
RunCommand
(
KeyboardMacro
sPlugin
*
plugin
)
:
KTextEditor
::
Command
(
QStringList
()
<<
QStringLiteral
(
"runmac"
),
plugin
)
,
m_plugin
(
plugin
)
{
}
bool
PluginKate
KeyboardMacroRunCommand
::
exec
(
KTextEditor
::
View
*
view
,
const
QString
&
,
QString
&
,
const
KTextEditor
::
Range
&
)
bool
KeyboardMacro
sPlugin
RunCommand
::
exec
(
KTextEditor
::
View
*
view
,
const
QString
&
,
QString
&
,
const
KTextEditor
::
Range
&
)
{
if
(
!
m_plugin
->
run
(
view
))
{
// display fail in toolview
...
...
@@ -227,7 +227,7 @@ bool PluginKateKeyboardMacroRunCommand::exec(KTextEditor::View *view, const QStr
// TODO: allow the command to take a name as an argument to run a saved macro (default to the last recorded one)
}
bool
PluginKate
KeyboardMacroRunCommand
::
help
(
KTextEditor
::
View
*
,
const
QString
&
,
QString
&
msg
)
bool
KeyboardMacro
sPlugin
RunCommand
::
help
(
KTextEditor
::
View
*
,
const
QString
&
,
QString
&
msg
)
{
msg
=
i18n
(
"<qt><p>Usage: <code>runmac</code></p><p>Run recorded keyboard macro.</p></qt>"
);
return
true
;
...
...
@@ -237,5 +237,5 @@ bool PluginKateKeyboardMacroRunCommand::help(KTextEditor::View *, const QString
// END
// required for KeyboardMacroPluginFactory vtable
#include
"
plugin_kate
keyboardmacro.moc"
// required for KeyboardMacro
s
PluginFactory vtable
#include
"keyboardmacro
splugin
.moc"
addons/keyboardmacro/
plugin_kate
keyboardmacro.h
→
addons/keyboardmacro
s
/keyboardmacro
splugin
.h
View file @
6bb0e485
...
...
@@ -15,17 +15,17 @@
#include
<KTextEditor/Plugin>
#include
<KTextEditor/View>
class
PluginKate
KeyboardMacroRecordCommand
;
class
PluginKate
KeyboardMacroRunCommand
;
class
KeyboardMacro
sPlugin
RecordCommand
;
class
KeyboardMacro
sPlugin
RunCommand
;
class
PluginKate
KeyboardMacro
:
public
KTextEditor
::
Plugin
class
KeyboardMacro
sPlugin
:
public
KTextEditor
::
Plugin
{
Q_OBJECT
public:
explicit
PluginKate
KeyboardMacro
(
QObject
*
parent
=
nullptr
,
const
QList
<
QVariant
>
&
=
QList
<
QVariant
>
());
explicit
KeyboardMacro
sPlugin
(
QObject
*
parent
=
nullptr
,
const
QList
<
QVariant
>
&
=
QList
<
QVariant
>
());
~
PluginKate
KeyboardMacro
()
override
;
~
KeyboardMacro
sPlugin
()
override
;
QObject
*
createView
(
KTextEditor
::
MainWindow
*
mainWindow
)
override
;
...
...
@@ -42,8 +42,8 @@ private:
bool
m_recording
=
false
;
QList
<
QKeyEvent
*>
m_keyEvents
;
PluginKate
KeyboardMacroRecordCommand
*
m_recCommand
;
PluginKate
KeyboardMacroRunCommand
*
m_runCommand
;
KeyboardMacro
sPlugin
RecordCommand
*
m_recCommand
;
KeyboardMacro
sPlugin
RunCommand
*
m_runCommand
;
public
Q_SLOTS
:
void
slotRecord
();
...
...
@@ -53,13 +53,13 @@ public Q_SLOTS:
/**
* Plugin view to add our actions to the gui
*/
class
PluginViewKate
KeyboardMacro
:
public
QObject
,
public
KXMLGUIClient
class
KeyboardMacro
sPluginView
:
public
QObject
,
public
KXMLGUIClient
{
Q_OBJECT
public:
explicit
PluginViewKate
KeyboardMacro
(
Plugin
Kate
KeyboardMacro
*
plugin
,
KTextEditor
::
MainWindow
*
mainwindow
);
~
PluginViewKate
KeyboardMacro
()
override
;
explicit
KeyboardMacro
s
Plugin
View
(
KeyboardMacro
sPlugin
*
plugin
,
KTextEditor
::
MainWindow
*
mainwindow
);
~
KeyboardMacro
sPluginView
()
override
;
private:
KTextEditor
::
MainWindow
*
m_mainWindow
;
...
...
@@ -68,33 +68,33 @@ private:
/**
* recmac command
*/
class
PluginKate
KeyboardMacroRecordCommand
:
public
KTextEditor
::
Command
class
KeyboardMacro
sPlugin
RecordCommand
:
public
KTextEditor
::
Command
{
Q_OBJECT
public:
PluginKate
KeyboardMacroRecordCommand
(
PluginKate
KeyboardMacro
*
plugin
);
KeyboardMacro
sPlugin
RecordCommand
(
KeyboardMacro
sPlugin
*
plugin
);
bool
exec
(
KTextEditor
::
View
*
view
,
const
QString
&
,
QString
&
,
const
KTextEditor
::
Range
&
=
KTextEditor
::
Range
::
invalid
())
override
;
bool
help
(
KTextEditor
::
View
*
view
,
const
QString
&
,
QString
&
msg
)
override
;
private:
PluginKate
KeyboardMacro
*
m_plugin
;
KeyboardMacro
sPlugin
*
m_plugin
;
};
/**
* runmac command
*/
class
PluginKate
KeyboardMacroRunCommand
:
public
KTextEditor
::
Command
class
KeyboardMacro
sPlugin
RunCommand
:
public
KTextEditor
::
Command
{
Q_OBJECT
public:
PluginKate
KeyboardMacroRunCommand
(
PluginKate
KeyboardMacro
*
plugin
);
KeyboardMacro
sPlugin
RunCommand
(
KeyboardMacro
sPlugin
*
plugin
);
bool
exec
(
KTextEditor
::
View
*
view
,
const
QString
&
,
QString
&
,
const
KTextEditor
::
Range
&
=
KTextEditor
::
Range
::
invalid
())
override
;
bool
help
(
KTextEditor
::
View
*
view
,
const
QString
&
,
QString
&
msg
)
override
;
private:
PluginKate
KeyboardMacro
*
m_plugin
;
KeyboardMacro
sPlugin
*
m_plugin
;
};
#endif
addons/keyboardmacro/keyboardmacroplugin.json
→
addons/keyboardmacro
s
/keyboardmacro
s
plugin.json
View file @
6bb0e485
{
"KPlugin"
:
{
"Description"
:
"Record and run
any
keyboard action sequence"
,
"Name"
:
"Keyboard Macro"
,
"Description"
:
"Record and run keyboard action sequence
s
"
,
"Name"
:
"Keyboard Macro
s
"
,
"ServiceTypes"
:
[
"KTextEditor/Plugin"
]
...
...
addons/keyboardmacro/plugin.qrc
→
addons/keyboardmacro
s
/plugin.qrc
View file @
6bb0e485
<!DOCTYPE RCC>
<RCC
version=
"1.0"
>
<qresource
prefix=
"/kxmlgui5/keyboardmacro"
>
<qresource
prefix=
"/kxmlgui5/keyboardmacro
s
"
>
<file>
ui.rc
</file>
</qresource>
</RCC>
addons/keyboardmacro/ui.rc
→
addons/keyboardmacro
s
/ui.rc
View file @
6bb0e485
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE gui SYSTEM "kpartgui.dtd">
<gui
name=
"
kate
keyboardmacro"
library=
"libk
atek
eyboardmacroplugin"
version=
"5"
translationDomain=
"katekeyboardmacro"
>
<gui
name=
"keyboardmacro
splugin
"
library=
"libkeyboardmacro
s
plugin"
version=
"5"
translationDomain=
"katekeyboardmacro
s
"
>
<MenuBar>
<Menu
name=
"tools"
>
<text>
&
Tools
</text>
...
...
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