#include #include #include #include "bugcommand.h" TQString BugCommand::name() { return i18n("Unknown"); } TQString BugCommand::details() { return TQString(); } BugCommand *BugCommand::load( TDEConfig *config, const TQString &type ) { TQString bugNumber = config->group(); // ### this sucks. we better let Bug implement proper persistance, // because this way of instantiating a bug object doesn't bring back // properties like title, package, etc. (Simon) Bug bug = Bug::fromNumber( bugNumber ); Package pkg = Package(); // hack if ( type == "Close" ) { return new BugCommandClose( bug, config->readEntry( type ), pkg ); } else if ( type == "Reopen" ) { return new BugCommandReopen( bug, pkg ); } else if ( type == "Merge" ) { return new BugCommandMerge( config->readListEntry( type ), pkg ); } else if ( type == "Unmerge" ) { return new BugCommandUnmerge( bug, pkg ); } else if ( type == "Reassign" ) { return new BugCommandReassign( bug, config->readEntry( type ), pkg ); } else if ( type == "Retitle" ) { return new BugCommandRetitle( bug, config->readEntry( type ), pkg ); } else if ( type == "Severity" ) { return new BugCommandSeverity( bug, config->readEntry( type ), pkg ); } else if ( type == "Reply" ) { return new BugCommandReply( bug, config->readEntry( type ), config->readNumEntry("Recipient",Normal) ); } else if ( type == "ReplyPrivate" ) { TQStringList args = config->readListEntry( type ); if ( args.count() != 2 ) return 0; return new BugCommandReplyPrivate( bug, *(args.at(0)), *(args.at(1)) ); } else { kdDebug() << "Warning! Unknown bug command '" << type << "'" << endl; return 0; } } ///////////////////// Close ///////////////////// TQString BugCommandClose::controlString() const { if (m_message.isEmpty()) { return "close " + m_bug.number(); } else { return TQString(); } } TQString BugCommandClose::mailAddress() const { kdDebug() << "BugCommandClose::mailAddress(): number: " << m_bug.number() << endl; if (m_message.isEmpty()) { return TQString(); } else { return m_bug.number() + "-done@bugs.trinitydesktop.org"; } } TQString BugCommandClose::mailText() const { if (m_message.isEmpty()) { return TQString(); } else { return m_message; } } TQString BugCommandClose::name() { return i18n("Close"); } TQString BugCommandClose::details() const { return m_message; } void BugCommandClose::save( TDEConfig *config ) { config->writeEntry( "Close",m_message ); } ///////////////////// Close Silently ///////////////////// TQString BugCommandCloseSilently::controlString() const { return "done " + m_bug.number(); } TQString BugCommandCloseSilently::name() { return i18n("Close Silently"); } void BugCommandCloseSilently::save( TDEConfig *config ) { config->writeEntry( "CloseSilently", true ); } ///////////////////// Reopen ///////////////////// TQString BugCommandReopen::controlString() const { return "reopen " + m_bug.number(); } TQString BugCommandReopen::name() { return i18n("Reopen"); } void BugCommandReopen::save( TDEConfig *config ) { config->writeEntry( "Reopen", true ); } ///////////////////// Retitle ///////////////////// TQString BugCommandRetitle::controlString() const { return "retitle " + m_bug.number() + " " + m_title; } TQString BugCommandRetitle::name() { return i18n("Retitle"); } TQString BugCommandRetitle::details() const { return m_title; } void BugCommandRetitle::save( TDEConfig *config ) { config->writeEntry( "Retitle", m_title ); } ///////////////////// Merge ///////////////////// TQString BugCommandMerge::controlString() const { return "merge " + m_bugNumbers.join(" "); } TQString BugCommandMerge::name() { return i18n("Merge"); } TQString BugCommandMerge::details() const { return m_bugNumbers.join(", "); } void BugCommandMerge::save( TDEConfig *config ) { config->writeEntry( "Merge", m_bugNumbers ); } ///////////////////// Unmerge ///////////////////// TQString BugCommandUnmerge::controlString() const { return "unmerge " + m_bug.number(); } TQString BugCommandUnmerge::name() { return i18n("Unmerge"); } void BugCommandUnmerge::save( TDEConfig *config ) { config->writeEntry( "Unmerge", true ); } ///////////////////// Reply ///////////////////// TQString BugCommandReply::mailAddress() const { return m_bug.number() + "@bugs.trinitydesktop.org"; #if 0 switch ( m_recipient ) { case Normal: return m_bug.number() + "@bugs.trinitydesktop.org"; case Maintonly: return m_bug.number() + "-maintonly@bugs.trinitydesktop.org"; case Quiet: return m_bug.number() + "-quiet@bugs.trinitydesktop.org"; } return TQString(); #endif } TQString BugCommandReply::mailText() const { return m_message; } TQString BugCommandReply::name() { return i18n("Reply"); #if 0 switch ( m_recipient ) { case Normal: return i18n("Reply"); case Maintonly: return i18n("Reply (Maintonly)"); case Quiet: return i18n("Reply (Quiet)"); } return TQString(); #endif } TQString BugCommandReply::details() const { return m_message; } void BugCommandReply::save( TDEConfig *config ) { config->writeEntry( "Reply", m_message ); #if 0 config->writeEntry( "Recipient", m_recipient ); #endif } ///////////////////// Reply Private ///////////////////// TQString BugCommandReplyPrivate::mailAddress() const { return m_address; } TQString BugCommandReplyPrivate::mailText() const { return m_message; } TQString BugCommandReplyPrivate::name() { return i18n("Private Reply"); } TQString BugCommandReplyPrivate::details() const { return m_message; } void BugCommandReplyPrivate::save( TDEConfig *config ) { TQStringList args; args << m_address; args << m_message; config->writeEntry( "ReplyPrivate", args ); } ///////////////////// Severity ///////////////////// TQString BugCommandSeverity::controlString() const { return "severity " + m_bug.number() + " " + m_severity.lower(); } TQString BugCommandSeverity::name() { return i18n("Severity"); } TQString BugCommandSeverity::details() const { return m_severity; } void BugCommandSeverity::save( TDEConfig *config ) { config->writeEntry( "Severity", m_severity ); } ///////////////////// Reassign ///////////////////// TQString BugCommandReassign::controlString() const { return "reassign " + m_bug.number() + " " + m_package; } TQString BugCommandReassign::name() { return i18n("Reassign"); } TQString BugCommandReassign::details() const { return m_package; } void BugCommandReassign::save( TDEConfig *config ) { config->writeEntry( "Reassign", m_package ); }