Commit 6a0651d9 authored by albert-github's avatar albert-github
Browse files

Showing error message on windows in case on error on startup

On case, on windows, more than 1 argument is given doxywizard stops without showing a message even though a printf is present.
In this patch the message is show (for all platforms) by means of a message box, furthermore in case the argument --help is given the usage message is given in a message box.
parent c7e36ca9
Loading
Loading
Loading
Loading
+23 −8
Original line number Original line Diff line number Diff line
#include <QtGui>
#include <QtGui>
#include <QImageReader>
#include "doxywizard.h"
#include "doxywizard.h"
#include "version.h"
#include "version.h"
#include "expert.h"
#include "expert.h"
@@ -624,20 +625,34 @@ bool MainWindow::discardUnsavedChanges(bool saveOption)
}
}


//-----------------------------------------------------------------------
//-----------------------------------------------------------------------

int main(int argc,char **argv)
int main(int argc,char **argv)
{
{
  QApplication a(argc,argv);
  QApplication a(argc,argv);
  MainWindow &main = MainWindow::instance();
  if (argc == 2)
  if (argc==2 && argv[1][0]!='-') // name of config file as an argument
  {
  {
    main.loadConfigFromFile(QString::fromLocal8Bit(argv[1]));
    if (!qstrcmp(argv[1],"--help"))
    {
      QMessageBox msgBox;
      msgBox.setText(QString().sprintf("Usage: %s [config file]",argv[0]));
      msgBox.exec();
      exit(0);
    }
  }
  }
  else if (argc>1)
  if (argc > 2)
  {
  {
    printf("Usage: %s [config file]\n",argv[0]);
    QMessageBox msgBox;
    msgBox.setText(QString().sprintf("Too many arguments specified\n\nUsage: %s [config file]",argv[0]));
    msgBox.exec();
    exit(1);
    exit(1);
  }
  }
  else
  {
    MainWindow &main = MainWindow::instance();
    if (argc==2 && argv[1][0]!='-') // name of config file as an argument
    {
      main.loadConfigFromFile(QString::fromLocal8Bit(argv[1]));
    }
    main.show();
    main.show();
    return a.exec();
    return a.exec();
  }
  }
}