[kwin] Do not use a KActionCollection for Workspace's global shortcut actions
The ActionCollection was only used for two features: * setting the object name * finding the action for retrieving it's shortcut This can also be achieved by just setting the object name and searching for the children of the Workspace singleton.
This commit is contained in:
parent
edeb8051e9
commit
a6f32bf3e8
5 changed files with 5 additions and 25 deletions
|
@ -420,7 +420,7 @@ void Compositor::toggleCompositing()
|
|||
slotToggleCompositing(); // TODO only operate on script level here?
|
||||
if (m_suspended) {
|
||||
// when disabled show a shortcut how the user can get back compositing
|
||||
const auto shortcuts = KGlobalAccel::self()->shortcut(workspace()->actionCollection()->action(QStringLiteral("Suspend Compositing")));
|
||||
const auto shortcuts = KGlobalAccel::self()->shortcut(workspace()->findChild<QAction*>(QStringLiteral("Suspend Compositing")));
|
||||
if (!shortcuts.isEmpty()) {
|
||||
// display notification only if there is the shortcut
|
||||
const QString message = i18n("Desktop effects have been suspended by another application.<br/>"
|
||||
|
|
|
@ -37,17 +37,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
initShortcut(QStringLiteral(name).arg(value), i18n(name, value), key, &Workspace::fnSlot, value);
|
||||
|
||||
|
||||
a = actionCollection->addAction(QStringLiteral("Program:kwin"));
|
||||
a->setText(i18n("System"));
|
||||
|
||||
a = actionCollection->addAction(QStringLiteral("Group:Navigation"));
|
||||
a->setText(i18n("Navigation"));
|
||||
DEF(I18N_NOOP("Walk Through Window Tabs"), 0, slotActivateNextTab);
|
||||
DEF(I18N_NOOP("Walk Through Window Tabs (Reverse)"), 0, slotActivatePrevTab);
|
||||
DEF(I18N_NOOP("Remove Window From Group"), 0, slotUntab);
|
||||
|
||||
a = actionCollection->addAction(QStringLiteral("Group:Windows"));
|
||||
a->setText(i18n("Windows"));
|
||||
DEF(I18N_NOOP("Window Operations Menu"),
|
||||
Qt::ALT + Qt::Key_F3, slotWindowOperations);
|
||||
DEF2("Window Close", I18N_NOOP("Close Window"),
|
||||
|
@ -125,8 +118,6 @@ DEF2("Increase Opacity", I18N_NOOP("Increase Opacity of Active Window by 5 %"),
|
|||
DEF2("Decrease Opacity", I18N_NOOP("Decrease Opacity of Active Window by 5 %"),
|
||||
0, slotLowerWindowOpacity);
|
||||
|
||||
a = actionCollection->addAction(QStringLiteral("Group:Window Desktop"));
|
||||
a->setText(i18n("Window & Desktop"));
|
||||
DEF2("Window On All Desktops", I18N_NOOP("Keep Window on All Desktops"),
|
||||
0, slotWindowOnAllDesktops);
|
||||
|
||||
|
@ -154,8 +145,6 @@ for (int i = 0; i < 8; ++i) {
|
|||
DEF(I18N_NOOP("Switch to Next Screen"), 0, slotSwitchToNextScreen);
|
||||
DEF(I18N_NOOP("Switch to Previous Screen"), 0, slotSwitchToPrevScreen);
|
||||
|
||||
a = actionCollection->addAction(QStringLiteral("Group:Miscellaneous"));
|
||||
a->setText(i18n("Miscellaneous"));
|
||||
DEF(I18N_NOOP("Kill Window"), Qt::CTRL + Qt::ALT + Qt::Key_Escape, slotKillWindow);
|
||||
DEF(I18N_NOOP("Suspend Compositing"), Qt::SHIFT + Qt::ALT + Qt::Key_F12, slotToggleCompositing);
|
||||
DEF(I18N_NOOP("Invert Screen Colors"), 0, slotInvertScreen);
|
||||
|
|
|
@ -183,8 +183,7 @@ void UserActionsMenu::helperDialog(const QString& message, const QWeakPointer<Cl
|
|||
QStringList args;
|
||||
QString type;
|
||||
auto shortcut = [](const QString &name) {
|
||||
KActionCollection *keys = Workspace::self()->actionCollection();
|
||||
QAction* action = keys->action(name);
|
||||
QAction* action = Workspace::self()->findChild<QAction*>(name);
|
||||
assert(action != NULL);
|
||||
const auto shortcuts = KGlobalAccel::self()->shortcut(action);
|
||||
return QStringLiteral("%1 (%2)").arg(action->text())
|
||||
|
@ -268,7 +267,7 @@ void UserActionsMenu::init()
|
|||
});
|
||||
|
||||
auto setShortcut = [](QAction *action, const QString &actionName) {
|
||||
const auto shortcuts = KGlobalAccel::self()->shortcut(Workspace::self()->actionCollection()->action(actionName));
|
||||
const auto shortcuts = KGlobalAccel::self()->shortcut(Workspace::self()->findChild<QAction*>(actionName));
|
||||
if (!shortcuts.isEmpty()) {
|
||||
action->setShortcut(shortcuts.first());
|
||||
}
|
||||
|
@ -940,7 +939,8 @@ void Workspace::closeActivePopup()
|
|||
template <typename Slot>
|
||||
void Workspace::initShortcut(const QString &actionName, const QString &description, const QKeySequence &shortcut, Slot slot, const QVariant &data)
|
||||
{
|
||||
QAction *a = keys->addAction(actionName);
|
||||
QAction *a = new QAction(this);
|
||||
a->setObjectName(actionName);
|
||||
a->setText(description);
|
||||
if (data.isValid()) {
|
||||
a->setData(data);
|
||||
|
@ -955,10 +955,6 @@ void Workspace::initShortcut(const QString &actionName, const QString &descripti
|
|||
*/
|
||||
void Workspace::initShortcuts()
|
||||
{
|
||||
keys = new KActionCollection(this);
|
||||
KActionCollection* actionCollection = keys;
|
||||
QAction* a = 0L;
|
||||
|
||||
#define IN_KWIN
|
||||
#include "kwinbindings.cpp"
|
||||
#ifdef KWIN_BUILD_TABBOX
|
||||
|
|
|
@ -147,7 +147,6 @@ Workspace::Workspace(bool restore)
|
|||
, session_saving(false)
|
||||
, block_focus(0)
|
||||
, m_userActionsMenu(new UserActionsMenu(this))
|
||||
, keys(0)
|
||||
, client_keys(NULL)
|
||||
, client_keys_dialog(NULL)
|
||||
, client_keys_client(NULL)
|
||||
|
|
|
@ -191,9 +191,6 @@ public:
|
|||
int oldDisplayWidth() const;
|
||||
int oldDisplayHeight() const;
|
||||
|
||||
KActionCollection* actionCollection() const {
|
||||
return keys;
|
||||
}
|
||||
KActionCollection* clientKeys() const {
|
||||
return client_keys;
|
||||
}
|
||||
|
@ -507,7 +504,6 @@ private:
|
|||
|
||||
void modalActionsSwitch(bool enabled);
|
||||
|
||||
KActionCollection* keys;
|
||||
KActionCollection* client_keys;
|
||||
ShortcutDialog* client_keys_dialog;
|
||||
Client* client_keys_client;
|
||||
|
|
Loading…
Reference in a new issue