kractionbase.cpp

来自「LINUX 下, 以 QT/KDE 写的档案管理员」· C++ 代码 · 共 78 行

CPP
78
字号
//// C++ Implementation: kractionbase//// Description: ////// Author: Shie Erlich and Rafi Yanai <>, (C) 2006//// Copyright: See COPYING file that comes with this distribution////#include <kinputdialog.h>#include <klocale.h>#include <qerrormessage.h>#include "kraction.h"#include "expander.h"#include "kractionbase.h"KrActionBase::~KrActionBase(){}void KrActionBase::exec() {	KrActionProc *proc;   // replace %% and prepare string	QStringList commandList;	if(doSubstitution()) {		Expander exp;		exp.expand(command(),acceptURLs());		if(exp.error()) {			handleError(exp.error());			return;		}		commandList=exp.result();	} else		commandList=command();   //TODO: query expander for status and may skip the rest of the function   // stop here if the commandline is empty   if ( commandList.count() == 1 && commandList[0].stripWhiteSpace().isEmpty() )       return;   if ( confirmExecution() ) {       for ( QStringList::iterator it = commandList.begin(); it != commandList.end(); ++it ) {           bool exec = true;           *it = KInputDialog::getText(        i18n( "Confirm execution" ),        i18n( "Command being executed:" ),        *it,        &exec, 0      );      if ( exec ) {        proc = actionProcFactoryMethod();        proc->start( *it );      }    } //for  } // if ( _properties->confirmExecution() )  else {    proc = actionProcFactoryMethod();    proc->start( commandList );  }}void KrActionBase::handleError(const Error& err){	QErrorMessage::qtHandler()->message(err.what());}KrActionProc* KrActionBase::actionProcFactoryMethod(){	return new KrActionProc(this);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?