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

Gregor Mi codestruct at posteo.org
Mon Mar 9 17:43:37 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.
> 
> Gregor Mi wrote:
>     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?
> 
> Thomas Lübking wrote:
>     tried this?
>     -----------
>     KActionCollection ac(this, "kwin");
>     ac.setConfigGlobal(true);
>     QAction *act  = ac.action("Kill Window");

I have no QObject* as parent. Can this be the cause?

KActionCollection ac(nullptr, "kwin");
ac.setConfigGlobal(true);
auto killWindowAction  = ac.action("Kill Window");
qDebug() << ac.actions().count();
qDebug() << killWindowAction;
/*
RESULT:
0
QObject(0x0)
*/


- 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/20150309/3931698f/attachment.htm>


More information about the kde-core-devel mailing list