Review Request 122249: libksysguard: add Kill Window to End Process button and show correct keyboard shortcut

Gregor Mi codestruct at posteo.org
Sun Mar 8 10:14:27 GMT 2015



> On March 2, 2015, 7:47 a.m., Martin Gräßlin wrote:
> > processui/keyboardshortcututil.cpp, line 46
> > <https://git.reviewboard.kde.org/r/122249/diff/6/?file=351945#file351945line46>
> >
> >     This looks to complicated. It should be much easier to do with the KGlobalAccel API:
> >     * create a KActionCollection for component "kwin"
> >     * add a QAction with the shortcut name you want
> >     * ask KGlobalAccel to load the shortcut for it.

Thanks for the hint but I am not sure of how to use the API in such a way. I tried two things:

1)
    org::kde::KGlobalAccel kglobalaccel("org.kde.kglobalaccel", "/kglobalaccel", bus);

    auto kwinActions = kglobalaccel.allActionsForComponent(QStringList("kwin"));
    Q_FOREACH(auto aaa, kwinActions.value()) {
        //qDebug() << aaa; // ("kwin", "Kill Window", "KWin", "Kill Window")
    }
Then I wonder how to feed the QStringList to a KActionCollection.

2)
    KActionCollection ac(nullptr, QString());
    ac.setComponentName("kwin");
    // ac.importGlobalShortcuts();
    Q_FOREACH(auto bbb, ac.actions()) {
        if (bbb->text() == "Kill Window") {
            qDebug() << bbb;
        }
    }
But the ac.actions() list is empty.

Which of the two ways should be used?


- Gregor


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/122249/#review76861
-----------------------------------------------------------


On Feb. 27, 2015, 1:18 a.m., Gregor Mi wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/122249/
> -----------------------------------------------------------
> 
> (Updated Feb. 27, 2015, 1:18 a.m.)
> 
> 
> Review request for KDE Base Apps, Martin Gräßlin and John Tapsell.
> 
> 
> Repository: libksysguard
> 
> 
> Description
> -------
> 
> Current situation:
> The "End Process..." button has a tooltip which says "To target a specific window to kill, press Ctrl+Alt+Esc at any time." The keyboard shortcut is hardcoded.
> 
> RR:
> Add a drop down menu to the "End Process..." button with one action:
> i18n("Kill a specific window... (Global shortcut: %1)", killWindowShortcut)
> 
> 
> Diffs
> -----
> 
>   processui/CMakeLists.txt 7f87b85e0201e63d69070a71203bbb34851a79c6 
>   processui/ProcessWidgetUI.ui e50f55cf1813b00d49b1716023df487ffbd536e3 
>   processui/keyboardshortcututil.h PRE-CREATION 
>   processui/keyboardshortcututil.cpp PRE-CREATION 
>   processui/ksysguardprocesslist.cpp 450ca600b8aed7ca611ec638610b6c524c96080c 
>   tests/CMakeLists.txt 967b03fae1e460bfb22e1a07ef05cf7b49412546 
>   tests/keyboardshortcututiltest.h PRE-CREATION 
>   tests/keyboardshortcututiltest.cpp PRE-CREATION 
> 
> Diff: https://git.reviewboard.kde.org/r/122249/diff/
> 
> 
> Testing
> -------
> 
> 
> File Attachments
> ----------------
> 
> New End Process button with drop down arrow
>   https://git.reviewboard.kde.org/media/uploaded/files/2015/01/28/16301e88-e21b-4358-9a63-a85dae5722bd__screenshot_default1.png
> Drop down shows Kill Window
>   https://git.reviewboard.kde.org/media/uploaded/files/2015/01/28/58df12c5-7350-4bb0-b602-c5716caa9836__screenshot_default2.png
> 
> 
> Thanks,
> 
> Gregor Mi
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20150308/d8bb55fd/attachment.htm>


More information about the kde-core-devel mailing list