diff options
Diffstat (limited to 'khotkeys/kcontrol/kcmkhotkeys.cpp')
-rw-r--r-- | khotkeys/kcontrol/kcmkhotkeys.cpp | 53 |
1 files changed, 31 insertions, 22 deletions
diff --git a/khotkeys/kcontrol/kcmkhotkeys.cpp b/khotkeys/kcontrol/kcmkhotkeys.cpp index 85dbaaaa8..80c50d56c 100644 --- a/khotkeys/kcontrol/kcmkhotkeys.cpp +++ b/khotkeys/kcontrol/kcmkhotkeys.cpp @@ -32,7 +32,7 @@ #include <kdebug.h> #include <tdemessagebox.h> #include <tdeglobal.h> -#include <ksimpleconfig.h> +#include <tdesimpleconfig.h> #include <tdefiledialog.h> #include <dcopref.h> #include <klibloader.h> @@ -48,7 +48,7 @@ extern "C" { - KDE_EXPORT TDECModule* create_khotkeys( TQWidget* parent_P, const char* name_P ) + TDE_EXPORT TDECModule* create_khotkeys( TQWidget* parent_P, const char* name_P ) { // sleep( 20 ); // CHECKME DEBUG TDEGlobal::locale()->insertCatalogue("khotkeys"); @@ -67,7 +67,7 @@ Module::Module( TQWidget* parent_P, const char* ) { setButtons( Help | Cancel | Apply | Ok ); module = this; - init_global_data( false, TQT_TQOBJECT(this) ); // don't grab keys + init_global_data( false, this ); // don't grab keys init_arts(); TQVBoxLayout* vbox = new TQVBoxLayout( this ); vbox->setSpacing( 6 ); @@ -78,12 +78,12 @@ Module::Module( TQWidget* parent_P, const char* ) vbox->addWidget( splt ); buttons_widget = new Main_buttons_widget( this ); vbox->addWidget( buttons_widget ); - connect( actions_listview_widget, TQT_SIGNAL( current_action_changed()), - TQT_SLOT( listview_current_action_changed())); - connect( buttons_widget, TQT_SIGNAL( new_action_pressed()), TQT_SLOT( new_action())); - connect( buttons_widget, TQT_SIGNAL( new_action_group_pressed()), TQT_SLOT( new_action_group())); - connect( buttons_widget, TQT_SIGNAL( delete_action_pressed()), TQT_SLOT( delete_action())); - connect( buttons_widget, TQT_SIGNAL( global_settings_pressed()), TQT_SLOT( global_settings())); + connect( actions_listview_widget, TQ_SIGNAL( current_action_changed()), + TQ_SLOT( listview_current_action_changed())); + connect( buttons_widget, TQ_SIGNAL( new_action_pressed()), TQ_SLOT( new_action())); + connect( buttons_widget, TQ_SIGNAL( new_action_group_pressed()), TQ_SLOT( new_action_group())); + connect( buttons_widget, TQ_SIGNAL( delete_action_pressed()), TQ_SLOT( delete_action())); + connect( buttons_widget, TQ_SIGNAL( global_settings_pressed()), TQ_SLOT( global_settings())); // listview_current_action_changed(); // init TDEAboutData* about = new TDEAboutData("kcmkhotkeys", I18N_NOOP("KHotKeys"), KHOTKEYS_VERSION, @@ -122,24 +122,33 @@ void Module::save() tab_widget->save_current_action_changes(); settings.actions = _actions_root; settings.write_settings(); - if( daemon_disabled()) + if(tdeApp->dcopClient()->isApplicationRegistered( "khotkeys" )) { + // khotkeys running as a standalone application TQByteArray data; - kapp->dcopClient()->send( "khotkeys*", "khotkeys", "quit()", data ); - kdDebug( 1217 ) << "disabling khotkeys daemon" << endl; + kdDebug( 1217 ) << "telling khotkeys standalone application to reread configuration" << endl; + tdeApp->dcopClient()->send( "khotkeys", "khotkeys", "reread_configuration()", data ); } else { - if( !kapp->dcopClient()->isApplicationRegistered( "khotkeys" )) + TQCString replyType; + TQByteArray replyData; + if (tdeApp->dcopClient()->call("kded", "kded", "loadedModules()", + TQByteArray(), replyType, replyData)) { - kdDebug( 1217 ) << "launching new khotkeys daemon" << endl; - TDEApplication::tdeinitExec( "khotkeys" ); - } - else - { - TQByteArray data; - kapp->dcopClient()->send( "khotkeys*", "khotkeys", "reread_configuration()", data ); - kdDebug( 1217 ) << "telling khotkeys daemon to reread configuration" << endl; + if (replyType == "QCStringList") + { + TQDataStream reply(replyData, IO_ReadOnly); + QCStringList modules; + reply >> modules; + if (modules.contains("khotkeys")) + { + // khotkeys running as a kded service + TQByteArray data; + kdDebug( 1217 ) << "telling khotkeys kded daemon to reread configuration" << endl; + tdeApp->dcopClient()->send( "kded", "khotkeys", "reread_configuration()", data ); + } + } } } emit TDECModule::changed( false ); @@ -276,7 +285,7 @@ void Module::import() i18n( "Select File with Actions to Be Imported" )); if( file.isEmpty()) return; - KSimpleConfig cfg( file, true ); + TDESimpleConfig cfg( file, true ); if( !settings.import( cfg, true )) { KMessageBox::error( topLevelWidget(), |