Changed: Declare CCmdArgs outside of main() to be able to use it in other files

--HG--
branch : develop
This commit is contained in:
kervala 2016-03-12 14:47:13 +01:00
parent 13851e3df5
commit 21a84a3ed4
2 changed files with 13 additions and 8 deletions

View file

@ -31,6 +31,10 @@
#include <QtGui> #include <QtGui>
#include <QMessageBox> #include <QMessageBox>
#include "nel/misc/cmd_args.h"
extern NLMISC::CCmdArgs Args;
CClientConfigDialog::CClientConfigDialog( QWidget *parent ) : CClientConfigDialog::CClientConfigDialog( QWidget *parent ) :
QDialog( parent ) QDialog( parent )
{ {

View file

@ -37,6 +37,8 @@
#endif #endif
NLMISC::CCmdArgs Args;
int main(sint32 argc, char **argv) int main(sint32 argc, char **argv)
{ {
NLMISC::CApplicationContext applicationContext; NLMISC::CApplicationContext applicationContext;
@ -44,11 +46,10 @@ int main(sint32 argc, char **argv)
QApplication app(argc, argv); QApplication app(argc, argv);
// parse command-line arguments // parse command-line arguments
NLMISC::CCmdArgs args; Args.setDescription("Ryzom Configuration");
args.setDescription("Ryzom Configuration"); Args.addArg("p", "profile", "id", "Use this profile to determine what directory to use by default");
args.addArg("p", "profile", "id", "Use this profile to determine what directory to use by default");
if (!args.parse(argc, argv)) return 1; if (!Args.parse(argc, argv)) return 1;
QApplication::setWindowIcon(QIcon(":/resources/welcome_icon.png")); QApplication::setWindowIcon(QIcon(":/resources/welcome_icon.png"));
QPixmap pixmap(":/resources/splash_screen.png" ); QPixmap pixmap(":/resources/splash_screen.png" );
@ -82,16 +83,16 @@ int main(sint32 argc, char **argv)
// default paths // default paths
std::string ryzomDir = NLMISC::CPath::standardizePath(NLMISC::CPath::getApplicationDirectory("Ryzom")); std::string ryzomDir = NLMISC::CPath::standardizePath(NLMISC::CPath::getApplicationDirectory("Ryzom"));
std::string currentDir = args.getStartupPath(); std::string currentDir = Args.getStartupPath();
std::string executableDir = args.getProgramPath(); std::string executableDir = Args.getProgramPath();
std::string configFilename = "client.cfg"; std::string configFilename = "client.cfg";
std::string configPath; std::string configPath;
// search client.cfg file in config directory (Ryzom Installer) // search client.cfg file in config directory (Ryzom Installer)
if (args.haveArg("p")) if (Args.haveArg("p"))
{ {
ryzomDir = NLMISC::CPath::standardizePath(ryzomDir + args.getArg("p").front()); ryzomDir = NLMISC::CPath::standardizePath(ryzomDir + Args.getArg("p").front());
// client.cfg is always in profile directory if using -p argument // client.cfg is always in profile directory if using -p argument
configPath = ryzomDir + configFilename; configPath = ryzomDir + configFilename;