diff options
author | Darrell Anderson <humanreadable@yahoo.com> | 2013-05-17 12:45:40 -0500 |
---|---|---|
committer | Darrell Anderson <humanreadable@yahoo.com> | 2013-05-17 12:45:40 -0500 |
commit | 359294c33620c8328d61f67635046d7cc060530c (patch) | |
tree | f2ac08fdad8860f7bc1ac76203e31013a799fda7 /kdelirc/kcmlirc/editaction.cpp | |
parent | 7be7990fc5770d2cbcd937772e8239167b5900c6 (diff) | |
download | tdeutils-359294c33620c8328d61f67635046d7cc060530c.tar.gz tdeutils-359294c33620c8328d61f67635046d7cc060530c.zip |
Rename kdessh -> tdessh and kdelirc -> tdelirc.
Diffstat (limited to 'kdelirc/kcmlirc/editaction.cpp')
-rw-r--r-- | kdelirc/kcmlirc/editaction.cpp | 362 |
1 files changed, 0 insertions, 362 deletions
diff --git a/kdelirc/kcmlirc/editaction.cpp b/kdelirc/kcmlirc/editaction.cpp deleted file mode 100644 index 8d8a0cb..0000000 --- a/kdelirc/kcmlirc/editaction.cpp +++ /dev/null @@ -1,362 +0,0 @@ -// -// -// C++ Implementation: $MODULE$ -// -// Description: -// -// -// Author: Gav Wood <gav@kde.org>, (C) 2003 -// -// Copyright: See COPYING file that comes with this distribution -// -// -#include <tqregexp.h> -#include <tqlabel.h> -#include <tqradiobutton.h> -#include <tqcombobox.h> -#include <tqcheckbox.h> -#include <tqwidgetstack.h> -#include <tqbuttongroup.h> - -#include <kdebug.h> -#include <klineedit.h> -#include <tdelistview.h> -#include <tdeapplication.h> -#include <tdemessagebox.h> -#include <knuminput.h> -#include <keditlistbox.h> - -#include <dcopclient.h> -#include <irkick_stub.h> - -#include "prototype.h" -#include "profileserver.h" -#include "remoteserver.h" -#include "editaction.h" -#include "addaction.h" - -EditAction::EditAction(IRAIt action, TQWidget *parent, const char *name) : EditActionBase(parent, name) -{ - theAction = action; - - updateApplications(); - updateDCOPApplications(); -} - -EditAction::~EditAction() -{ -} - -void EditAction::readFrom() -{ - theRepeat->setChecked((*theAction).repeat()); - theAutoStart->setChecked((*theAction).autoStart()); - theDoBefore->setChecked((*theAction).doBefore()); - theDoAfter->setChecked((*theAction).doAfter()); - theDontSend->setChecked((*theAction).ifMulti() == IM_DONTSEND); - theSendToTop->setChecked((*theAction).ifMulti() == IM_SENDTOTOP); - theSendToBottom->setChecked((*theAction).ifMulti() == IM_SENDTOBOTTOM); - theSendToAll->setChecked((*theAction).ifMulti() == IM_SENDTOALL); - - if((*theAction).isModeChange()) - { // change mode - theChangeMode->setChecked(true); - if((*theAction).object().isEmpty()) - theModes->setCurrentText(i18n("[Exit current mode]")); - else - theModes->setCurrentText((*theAction).object()); - } - else if((*theAction).isJustStart()) - { // profile action - theUseProfile->setChecked(true); - const Profile *p = ProfileServer::profileServer()->profiles()[(*theAction).program()]; - theApplications->setCurrentText(p->name()); - updateFunctions(); - updateArguments(); - theJustStart->setChecked(true); - } - else if(ProfileServer::profileServer()->getAction((*theAction).program(), (*theAction).object(), (*theAction).method().prototype())) - { // profile action - theUseProfile->setChecked(true); - const ProfileAction *a = ProfileServer::profileServer()->getAction((*theAction).program(), (*theAction).object(), (*theAction).method().prototype()); - theApplications->setCurrentText(a->profile()->name()); - updateFunctions(); - theFunctions->setCurrentText(a->name()); - arguments = (*theAction).arguments(); - updateArguments(); - theNotJustStart->setChecked(true); - } - else - { // dcop action - theUseDCOP->setChecked(true); - theDCOPApplications->setCurrentText((*theAction).program()); - updateDCOPObjects(); - theDCOPObjects->setCurrentText((*theAction).object()); - updateDCOPFunctions(); - theDCOPFunctions->setCurrentText((*theAction).method().prototype()); - arguments = (*theAction).arguments(); - updateArguments(); - } - updateOptions(); -} - -void EditAction::writeBack() -{ - if(theChangeMode->isChecked()) - { - (*theAction).setProgram(""); - if(theModes->currentText() == i18n("[Exit current mode]")) - (*theAction).setObject(""); - else - (*theAction).setObject(theModes->currentText()); - (*theAction).setDoBefore(theDoBefore->isChecked()); - (*theAction).setDoAfter(theDoAfter->isChecked()); - } - else if(theUseProfile->isChecked() && ( - ProfileServer::profileServer()->getAction(applicationMap[theApplications->currentText()], functionMap[theFunctions->currentText()]) - || - theJustStart->isChecked() && ProfileServer::profileServer()->profiles()[theApplications->currentText()] - ) - ) - { if(theJustStart->isChecked()) - { (*theAction).setProgram(ProfileServer::profileServer()->profiles()[applicationMap[theApplications->currentText()]]->id()); - (*theAction).setObject(""); - } - else - { const ProfileAction *a = ProfileServer::profileServer()->getAction(applicationMap[theApplications->currentText()], functionMap[theFunctions->currentText()]); - (*theAction).setProgram(ProfileServer::profileServer()->profiles()[applicationMap[theApplications->currentText()]]->id()); - (*theAction).setObject(a->objId()); - (*theAction).setMethod(a->prototype()); - (*theAction).setArguments(arguments); - } - } - else - { - (*theAction).setProgram(program);//theDCOPApplications->currentText()); - (*theAction).setObject(theDCOPObjects->currentText()); - (*theAction).setMethod(theDCOPFunctions->currentText()); - (*theAction).setArguments(arguments); - } - (*theAction).setRepeat(theRepeat->isChecked()); - (*theAction).setAutoStart(theAutoStart->isChecked()); - (*theAction).setUnique(isUnique); - (*theAction).setIfMulti(theDontSend->isChecked() ? IM_DONTSEND : theSendToTop->isChecked() ? IM_SENDTOTOP : theSendToBottom->isChecked() ? IM_SENDTOBOTTOM : IM_SENDTOALL); -} - -void EditAction::updateArguments() -{ - kdDebug() << k_funcinfo << endl; - if(theUseProfile->isChecked()) - { - theArguments->clear(); - const ProfileAction *a = ProfileServer::profileServer()->getAction(applicationMap[theApplications->currentText()], functionMap[theFunctions->currentText()]); - if(!a) { arguments.clear(); return; } - const TQValueList<ProfileActionArgument> &p = a->arguments(); - if(p.count() != arguments.count()) - { arguments.clear(); - for(unsigned i = 0; i < p.count(); i++) - arguments.append(TQVariant("")); - } - theArguments->setEnabled(p.count()); - for(unsigned i = 0; i < p.count(); i++) - { theArguments->insertItem(p[i].comment() + " (" + p[i].type() + ")"); - arguments[i].cast(TQVariant::nameToType(p[i].type().utf8())); - } - if(p.count()) updateArgument(0); else updateArgument(-1); - } - else if(theUseDCOP->isChecked()) - { - theArguments->clear(); - Prototype p(theDCOPFunctions->currentText()); - if(p.count() != arguments.count()) - { arguments.clear(); - for(unsigned i = 0; i < p.count(); i++) - arguments.append(TQVariant("")); - } - theArguments->setEnabled(p.count()); - for(unsigned i = 0; i < p.count(); i++) - { theArguments->insertItem(TQString(TQString().setNum(i + 1) + ": " + (p.name(i).isEmpty() ? p.type(i) : p.name(i) + " (" + p.type(i) + ")"))); - arguments[i].cast(TQVariant::nameToType(p.type(i).utf8())); - } - if(p.count()) updateArgument(0); else updateArgument(-1); - } -} - -void EditAction::updateOptions() -{ - if (theUseProfile->isChecked()) - { - ProfileServer *theServer = ProfileServer::profileServer(); - if(!theApplications->currentItem()) return; - const Profile *p = theServer->profiles()[applicationMap[theApplications->currentText()]]; - isUnique = p->unique(); - } - else if (theUseDCOP->isChecked()) - { - if(theDCOPApplications->currentText().isNull() || theDCOPApplications->currentText().isEmpty()) return; - program = theDCOPApplications->currentText(); - isUnique = uniqueProgramMap[theDCOPApplications->currentText()]; - } - else - isUnique = true; - - theIMLabel->setEnabled(!isUnique); - theIMGroup->setEnabled(!isUnique); - theDontSend->setEnabled(!isUnique); - theSendToTop->setEnabled(!isUnique); - theSendToBottom->setEnabled(!isUnique); - theSendToAll->setEnabled(!isUnique); -} - -// called when the textbox/checkbox/whatever changes value -void EditAction::slotParameterChanged() -{ - kdDebug() << "in: " << arguments[theArguments->currentItem()].toString() << endl; - int type = arguments[theArguments->currentItem()].type(); - kdDebug() << type << endl; - switch(type) - { - case TQVariant::Int: case TQVariant::UInt: - arguments[theArguments->currentItem()].asInt() = theValueIntNumInput->value(); - break; - case TQVariant::Double: - arguments[theArguments->currentItem()].asDouble() = theValueDoubleNumInput->value(); - break; - case TQVariant::Bool: - arguments[theArguments->currentItem()].asBool() = theValueCheckBox->isChecked(); - break; - case TQVariant::StringList: - arguments[theArguments->currentItem()].asStringList() = theValueEditListBox->items(); - break; - default: - arguments[theArguments->currentItem()].asString() = theValueLineEdit->text(); - } - arguments[theArguments->currentItem()].cast(TQVariant::Type(type)); - kdDebug() << "out: " << arguments[theArguments->currentItem()].toString() << endl; - -} - -void EditAction::updateArgument(int index) -{ - kdDebug() << k_funcinfo << " i: " << index << endl; - if(index >= 0) - { switch(arguments[index].type()) - { - case TQVariant::Int: case TQVariant::UInt: - theValue->raiseWidget(2); - theValueIntNumInput->setValue(arguments[index].toInt()); - break; - case TQVariant::Double: - theValue->raiseWidget(3); - theValueDoubleNumInput->setValue(arguments[index].toDouble()); - break; - case TQVariant::Bool: - theValue->raiseWidget(1); - theValueCheckBox->setChecked(arguments[index].toBool()); - break; - case TQVariant::StringList: - { theValue->raiseWidget(4); - TQStringList backup = arguments[index].toStringList(); - // backup needed because calling clear will kill what ever has been saved. - theValueEditListBox->clear(); - theValueEditListBox->insertStringList(backup); - arguments[index].asStringList() = backup; - break; - } - default: - theValue->raiseWidget(0); - theValueLineEdit->setText(arguments[index].toString()); - } - theValue->setEnabled(true); - } - else - { theValueLineEdit->setText(""); - theValueCheckBox->setChecked(false); - theValueIntNumInput->setValue(0); - theValueDoubleNumInput->setValue(0.0); - theValue->setEnabled(false); - } -} - -void EditAction::updateApplications() -{ - ProfileServer *theServer = ProfileServer::profileServer(); - theApplications->clear(); - applicationMap.clear(); - - TQDict<Profile> dict = theServer->profiles(); - TQDictIterator<Profile> i(dict); - for(; i.current(); ++i) - { theApplications->insertItem(i.current()->name()); - applicationMap[i.current()->name()] = i.currentKey(); - } - updateFunctions(); -} - -void EditAction::updateFunctions() -{ - ProfileServer *theServer = ProfileServer::profileServer(); - theFunctions->clear(); - functionMap.clear(); - if(theApplications->currentText().isNull() || theApplications->currentText().isEmpty()) return; - - const Profile *p = theServer->profiles()[applicationMap[theApplications->currentText()]]; - - TQDict<ProfileAction> dict = p->actions(); - for(TQDictIterator<ProfileAction> i(dict); i.current(); ++i) - { theFunctions->insertItem(i.current()->name()); - functionMap[i.current()->name()] = i.currentKey(); - } - updateArguments(); -} - -void EditAction::updateDCOPApplications() -{ - TQStringList names; - - theDCOPApplications->clear(); - DCOPClient *theClient = TDEApplication::kApplication()->dcopClient(); - QCStringList theApps = theClient->registeredApplications(); - for(QCStringList::iterator i = theApps.begin(); i != theApps.end(); ++i) - { - if(!TQString(*i).find("anonymous")) continue; - TQRegExp r("(.*)-[0-9]+"); - TQString name = r.exactMatch(TQString(*i)) ? r.cap(1) : *i; - if(names.contains(name)) continue; - names += name; - - theDCOPApplications->insertItem(name); - uniqueProgramMap[name] = name == TQString(*i); - nameProgramMap[name] = *i; - - - } - updateDCOPObjects(); -} - -void EditAction::updateDCOPObjects() -{ - theDCOPObjects->clear(); - DCOPClient *theClient = TDEApplication::kApplication()->dcopClient(); - if(theDCOPApplications->currentText().isNull() || theDCOPApplications->currentText().isEmpty()) return; - QCStringList theObjects = theClient->remoteObjects(nameProgramMap[theDCOPApplications->currentText()].utf8()); - if(!theObjects.size() && theDCOPApplications->currentText() == (*theAction).program()) theDCOPObjects->insertItem((*theAction).object()); - for(QCStringList::iterator j = theObjects.begin(); j != theObjects.end(); ++j) - if(*j != "tdesycoca" && *j != "qt" && AddAction::getFunctions(nameProgramMap[theDCOPApplications->currentText()], *j).count()) - theDCOPObjects->insertItem(TQString::fromUtf8(*j)); - updateDCOPFunctions(); -} - -void EditAction::updateDCOPFunctions() -{ - theDCOPFunctions->clear(); - if(theDCOPApplications->currentText().isNull() || theDCOPApplications->currentText().isEmpty()) return; - TQStringList functions = AddAction::getFunctions(nameProgramMap[theDCOPApplications->currentText()], theDCOPObjects->currentText()); - if(!functions.size() && theDCOPApplications->currentText() == (*theAction).program()) theDCOPFunctions->insertItem((*theAction).method().prototype()); - for(TQStringList::iterator i = functions.begin(); i != functions.end(); ++i) - theDCOPFunctions->insertItem(*i); - updateArguments(); -} - - -#include "editaction.moc" |