summaryrefslogtreecommitdiffstats
path: root/khotkeys/kcontrol/kcmkhotkeys.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'khotkeys/kcontrol/kcmkhotkeys.cpp')
-rw-r--r--khotkeys/kcontrol/kcmkhotkeys.cpp51
1 files changed, 30 insertions, 21 deletions
diff --git a/khotkeys/kcontrol/kcmkhotkeys.cpp b/khotkeys/kcontrol/kcmkhotkeys.cpp
index cd394a6e6..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");
@@ -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(),