summaryrefslogtreecommitdiff
path: root/CliParser.cpp
diff options
context:
space:
mode:
authorThomas Preud'homme <robotux@celest.fr>2018-02-23 23:49:48 +0000
committerThomas Preud'homme <robotux@celest.fr>2018-02-23 23:49:48 +0000
commitbd56579c7d9de94c17287adefa118290e6b7ba33 (patch)
tree666d7d0b6945b442573b7a3145969f66a53aa460 /CliParser.cpp
parentb3c8bdcc0d1e4b2ab298847a7902b6d60410a5bc (diff)
New upstream version 1.4.0.3
Diffstat (limited to 'CliParser.cpp')
-rw-r--r--CliParser.cpp83
1 files changed, 49 insertions, 34 deletions
diff --git a/CliParser.cpp b/CliParser.cpp
index e2a9780..7d375ac 100644
--- a/CliParser.cpp
+++ b/CliParser.cpp
@@ -4,50 +4,65 @@
\licence GPL3, see the file COPYING */
#include "CliParser.h"
+#include "cpp11addition.h"
+#include "Core.h"
#include <QDebug>
CliParser::CliParser(QObject *parent) :
QObject(parent)
{
+ //this->core=core;
}
/** \brief method to parse the ultracopier arguments
\param ultracopierArguments the argument list
\param external true if the arguments come from other instance of ultracopier
*/
-void CliParser::cli(const QStringList &ultracopierArguments,const bool &external,const bool &onlyCheck)
+void CliParser::cli(const std::vector<std::string> &ultracopierArguments,const bool &external,const bool &onlyCheck)
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("ultracopierArguments: ")+ultracopierArguments.join(QStringLiteral(";")));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"ultracopierArguments: "+stringimplode(ultracopierArguments,';'));
if(ultracopierArguments.size()==1)
{
if(external)
- QMessageBox::warning(NULL,tr("Warning"),tr("Ultracopier is already running, right click on its system tray icon (near the clock) to use it"));
+ {
+ //if(!core->startNewTransferOneUniqueCopyEngine())
+ {
+ #ifdef Q_OS_WIN32
+ QString message(tr("Ultracopier is already running, right click on its system tray icon (near the clock) to use it or just copy and paste"));
+ #else
+ QString message(tr("Ultracopier is already running, view all notification area icons (near the clock), right click on its system tray icon to use it or just copy and paste"));
+ #endif
+
+ QMessageBox::warning(NULL,tr("Warning"),message);
+ showSystrayMessage(message.toStdString());
+ }
+ }
// else do nothing, is normal starting without arguements
return;
}
else if(ultracopierArguments.size()==2)
{
- if(ultracopierArguments.last()==QStringLiteral("quit"))
+ if(ultracopierArguments.back()=="quit")
{
if(onlyCheck)
return;
QCoreApplication::exit();
return;
}
- else if(ultracopierArguments.last()==QStringLiteral("--help"))
+ else if(ultracopierArguments.back()=="--help")
{
showHelp(false);
return;
}
- else if(ultracopierArguments.last()==QStringLiteral("--options"))
+ else if(ultracopierArguments.back()=="--options")
{
emit showOptions();
return;
}
- else if(ultracopierArguments.last().endsWith(QStringLiteral(".urc")))
+ else if(stringEndsWith(ultracopierArguments.back(),".urc"))
{
- tryLoadPlugin(ultracopierArguments.last());
+ tryLoadPlugin(ultracopierArguments.back());
return;
}
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Command line not understand");
@@ -56,41 +71,41 @@ void CliParser::cli(const QStringList &ultracopierArguments,const bool &external
}
else if(ultracopierArguments.size()==3)
{
- if(ultracopierArguments.at(1)==QStringLiteral("Transfer-list"))
+ if(ultracopierArguments.at(1)=="Transfer-list")
{
if(onlyCheck)
return;
- QFile transferFile(ultracopierArguments.last());
+ QFile transferFile(QString::fromStdString(ultracopierArguments.back()));
if(transferFile.open(QIODevice::ReadOnly))
{
QString content;
QByteArray data=transferFile.readLine(64);
if(data.size()<=0)
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("Problem reading file, or file size is 0"));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Problem reading file, or file size is 0");
QMessageBox::warning(NULL,tr("Warning"),tr("Problem reading file, or file size is 0"));
transferFile.close();
return;
}
content=QString::fromUtf8(data);
- QStringList transferListArguments=content.split(';');
- transferListArguments[3].remove('\n');
+ std::vector<std::string> transferListArguments=stringsplit(content.toStdString(),';');
+ transferListArguments[3].erase(std::remove(transferListArguments[3].begin(), transferListArguments[3].end(),'\n'),transferListArguments[3].end());
if(transferListArguments.at(0)!="Ultracopier" ||
transferListArguments.at(1)!="Transfer-list" ||
(transferListArguments.at(2)!="Transfer" && transferListArguments.at(2)!="Copy" && transferListArguments.at(2)!="Move")
)
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QString("This file is not supported transfer list"));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"This file is not supported transfer list");
QMessageBox::warning(NULL,tr("Warning"),tr("This file is not supported transfer list"));
transferFile.close();
return;
}
transferFile.close();
- emit newTransferList(transferListArguments.at(3),transferListArguments.at(2),ultracopierArguments.last());
+ emit newTransferList(transferListArguments.at(3),transferListArguments.at(2),ultracopierArguments.back());
}
else
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QString("Unable to open the transfer list file: %1").arg(transferFile.errorString()));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to open the transfer list file: "+transferFile.errorString().toStdString());
QMessageBox::warning(NULL,tr("Warning"),tr("Unable to open the transfer list file"));
return;
}
@@ -102,51 +117,51 @@ void CliParser::cli(const QStringList &ultracopierArguments,const bool &external
}
else if(ultracopierArguments.size()>3)
{
- if(ultracopierArguments.at(1)==QStringLiteral("Copy") || ultracopierArguments.at(1)==QStringLiteral("cp"))
+ if(ultracopierArguments.at(1)=="Copy" || ultracopierArguments.at(1)=="cp")
{
if(onlyCheck)
return;
- QStringList transferList=ultracopierArguments;
- transferList.removeFirst();
- transferList.removeFirst();
- if(transferList.last()=="?")
+ std::vector<std::string> transferList=ultracopierArguments;
+ transferList.erase(transferList.cbegin());
+ transferList.erase(transferList.cbegin());
+ if(transferList.back()=="?")
{
- transferList.removeLast();
+ transferList.erase(transferList.cbegin());
emit newCopyWithoutDestination(transferList);
}
else
{
- QString destination=transferList.last();
- transferList.removeLast();
+ std::string destination=transferList.back();
+ transferList.erase(transferList.cbegin());
emit newCopy(transferList,destination);
}
return;
}
- else if(ultracopierArguments.at(1)==QStringLiteral("Move") || ultracopierArguments.at(1)==QStringLiteral("mv"))
+ else if(ultracopierArguments.at(1)=="Move" || ultracopierArguments.at(1)=="mv")
{
if(onlyCheck)
return;
- QStringList transferList=ultracopierArguments;
- transferList.removeFirst();
- transferList.removeFirst();
- if(transferList.last()=="?")
+ std::vector<std::string> transferList=ultracopierArguments;
+ transferList.erase(transferList.cbegin());
+ transferList.erase(transferList.cbegin());
+ if(transferList.back()=="?")
{
- transferList.removeLast();
+ transferList.erase(transferList.cbegin());
emit newMoveWithoutDestination(transferList);
}
else
{
- QString destination=transferList.last();
- transferList.removeLast();
+ std::string destination=transferList.back();
+ transferList.erase(transferList.cbegin());
emit newMove(transferList,destination);
}
return;
}
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("Command line not understand"));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Command line not understand");
showHelp();
return;
}
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("Command line not understand"));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Command line not understand");
showHelp();
}