void Identity::copy(const Identity& original) { setName(original.getName()); setRealName(original.getRealName()); setIdent(original.getIdent()); setNicknameList(original.getNicknameList()); setAuthType(original.getAuthType()); setAuthPassword(original.getAuthPassword()); setNickservNickname(original.getNickservNickname()); setNickservCommand(original.getNickservCommand()); setSaslAccount(original.getSaslAccount()); setPemClientCertFile(original.getPemClientCertFile()); setQuitReason(original.getQuitReason()); setPartReason(original.getPartReason()); setKickReason(original.getKickReason()); setInsertRememberLineOnAway(original.getInsertRememberLineOnAway()); setRunAwayCommands(original.getRunAwayCommands()); setAwayCommand(original.getAwayCommand()); setAwayMessage(original.getAwayMessage()); setAwayNickname(original.getAwayNickname()); setReturnCommand(original.getReturnCommand()); setAutomaticAway(original.getAutomaticAway()); setAwayInactivity(original.getAwayInactivity()); setAutomaticUnaway(original.getAutomaticUnaway()); setShellCommand(original.getShellCommand()); setCodecName(original.getCodecName()); }
ClipCommandProcess::ClipCommandProcess(const ClipAction& action, const ClipCommand& command, const QString& clip, History* history, const HistoryItem* original_item) : KProcess(), m_history(history), m_historyItem(original_item), m_newhistoryItem() { QHash<QChar,QString> map; map.insert( 's', clip ); // support %u, %U (indicates url param(s)) and %f, %F (file param(s)) map.insert( 'u', clip ); map.insert( 'U', clip ); map.insert( 'f', clip ); map.insert( 'F', clip ); const QStringList matches = action.regExpMatches(); // support only %0 and the first 9 matches... const int numMatches = qMin(10, matches.count()); for ( int i = 0; i < numMatches; ++i ) { map.insert( QChar( '0' + i ), matches.at( i ) ); } setOutputChannelMode(OnlyStdoutChannel); setShellCommand(KMacroExpander::expandMacrosShellQuote( command.command, map ).trimmed()); connect(this, SIGNAL(finished(int,QProcess::ExitStatus)), SLOT(slotFinished(int,QProcess::ExitStatus))); if (command.output != ClipCommand::IGNORE) { connect(this, SIGNAL(readyRead()), SLOT(slotStdOutputAvailable())); } if (command.output != ClipCommand::REPLACE) { m_historyItem = 0L; // Don't replace } }
/** * Executes the back-end process. * @param sName The name of the process (for error messages) * @param slArgs A list containing the command-line arguments * @param sWorkDir (Optional) working directory * @param bBlock (Optional) true to block, false otherwise * @return true if the process was executed successfully, false otherwise */ bool Frontend::run(const QString& sName, const QStringList& slArgs, const QString& incDirs, const QString& srcDirs, const QString& sWorkDir, bool bBlock) { // Cannot start if another controlled process is currently running if (QProcess::state() == QProcess::Running) { m_sError = i18n("Cannot restart while another process is still " "running"); return false; } // Reset variables m_nRecords = 0; m_bKilled = false; // Setup the command-line arguments clearProgram(); if (m_bUseShell) // Execute inside a shell; join all arguments in a single QString setShellCommand(slArgs.join(" ")); else // Or setup args directly setProgram(slArgs); // Set the working directory, if requested if (!sWorkDir.isEmpty()) setWorkingDirectory(sWorkDir); // Set environment variables (INCLUDEDIRS & SOURCEDIRS) if required if (! incDirs.isEmpty()) { setEnv("INCLUDEDIRS", incDirs); } if (! srcDirs.isEmpty()) { setEnv("SOURCEDIRS", srcDirs); } // Execute the child process setOutputChannelMode( KProcess::SeparateChannels ); start(); if (! ( bBlock ? waitForFinished( -1 ) : waitForStarted ( -1 ))) { m_sError = sName + i18n(": Failed to start process"); return false; } m_sError = i18n("No error"); return true; }
void Identity::copy(const Identity& original) { setName(original.getName()); setRealName(original.getRealName()); setIdent(original.getIdent()); setNicknameList(original.getNicknameList()); setBot(original.getBot()); setPassword(original.getPassword()); setQuitReason(original.getQuitReason()); setPartReason(original.getPartReason()); setKickReason(original.getKickReason()); setInsertRememberLineOnAway(original.getInsertRememberLineOnAway()); setShowAwayMessage(original.getShowAwayMessage()); setAwayMessage(original.getAwayMessage()); setAwayNick(original.getAwayNick()); setReturnMessage(original.getReturnMessage()); setAutomaticAway(original.getAutomaticAway()); setAwayInactivity(original.getAwayInactivity()); setAutomaticUnaway(original.getAutomaticUnaway()); setShellCommand(original.getShellCommand()); setCodecName(original.getCodecName()); }