- Correct key usage.
- Forget global shortcut svn path=/trunk/KDE/kdebase/workspace/; revision=866436
This commit is contained in:
parent
6c04eb4a6a
commit
11bd92b381
1 changed files with 14 additions and 7 deletions
|
@ -410,24 +410,31 @@ void Workspace::setupWindowShortcutDone( bool ok )
|
||||||
|
|
||||||
void Workspace::clientShortcutUpdated( Client* c )
|
void Workspace::clientShortcutUpdated( Client* c )
|
||||||
{
|
{
|
||||||
QString key = QString::number( c->window());
|
QString key = QString( "_k_session:%1" ).arg(c->window());
|
||||||
QAction* action = client_keys->action( key.toLatin1().constData() );
|
QAction* action = client_keys->action( key.toLatin1().constData() );
|
||||||
if( !c->shortcut().isEmpty())
|
if( !c->shortcut().isEmpty())
|
||||||
{
|
{
|
||||||
if( action == NULL ) // new shortcut
|
if( action == NULL ) // new shortcut
|
||||||
{
|
{
|
||||||
action = client_keys->addAction(QString("session:clientShortcut %1").arg(key));
|
action = client_keys->addAction(QString( key ));
|
||||||
action->setText(i18n("Activate Window (%1)", c->caption()));
|
action->setText( i18n("Activate Window (%1)", c->caption()) );
|
||||||
connect( action, SIGNAL(triggered(bool)), c, SLOT(shortcutActivated()));
|
connect( action, SIGNAL(triggered(bool)), c, SLOT(shortcutActivated()) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
KAction *kaction = qobject_cast<KAction*>( action );
|
||||||
// no autoloading, since it's configured explicitly here and is not meant to be reused
|
// no autoloading, since it's configured explicitly here and is not meant to be reused
|
||||||
// (the key is the window id anyway, which is kind of random)
|
// (the key is the window id anyway, which is kind of random)
|
||||||
qobject_cast< KAction* >( action )->setGlobalShortcut(
|
kaction->setGlobalShortcut(
|
||||||
c->shortcut(), KAction::ActiveShortcut, KAction::NoAutoloading );
|
c->shortcut(), KAction::ActiveShortcut, KAction::NoAutoloading );
|
||||||
action->setEnabled( true );
|
kaction->setEnabled( true );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
KAction *kaction = qobject_cast<KAction*>( action );
|
||||||
|
if( kaction )
|
||||||
|
{
|
||||||
|
kaction->forgetGlobalShortcut();
|
||||||
|
}
|
||||||
delete action;
|
delete action;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue