void LogWindow :: setConnection(){ connect( calculateAction, SIGNAL( triggered() ), this, SLOT( showCalc() ) ); connect( openAction, SIGNAL( triggered() ), this, SLOT( fileOpen() ) ); connect( saveAction, SIGNAL( triggered() ), this, SLOT( fileSave() ) ); connect( revertAction, SIGNAL( triggered() ), this, SLOT( fileRevert() ) ); connect( myCalcDialog, SIGNAL( newExpr( QString, double ) ),this, SLOT( outputCalculation( QString, double ) ) ); }
int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); clNetCalc netcalc; int listArg = 1; while (listArg < argc) { if(QString(argv[listArg]) == QString("--help") || QString(argv[listArg]) == QString("-h")) { usage(); return 0; } if(QString(argv[listArg]) == QString("--version") || QString(argv[listArg]) == QString("-v")) { QString version = "Network calculator 1.0 (Aleksandr)\r\n"; fprintf(stderr, version.toLocal8Bit()); return 0; } if(QString(argv[listArg]) == QString("--test") || QString(argv[listArg]) == QString("-t")) { netcalc.test(); return 0; } if(QString(argv[listArg]) == QString("--mask") || QString(argv[listArg]) == QString("-m")) { int lenMask = netcalc.getLenMask(QString(argv[listArg+1])); if(lenMask != -1) { fprintf(stderr, print(QString::fromUtf8("Префикс сети:\t\t/%d\r\n"), Normal, White), lenMask); } else { fprintf(stderr, print(QString::fromUtf8("Неправильная маска сети\r\n"), Normal, White)); } return 0; } if(QString(argv[listArg]) == QString("--prefix") || QString(argv[listArg]) == QString("-p")) { QString mask = netcalc.getMask(QString(argv[listArg+1]).toInt()); if(!mask.isEmpty()) { fprintf(stderr, print(QString::fromUtf8("Маска подсети:\t\t%s\r\n"), Normal, White), mask.toLocal8Bit().data()); } else { fprintf(stderr, print(QString::fromUtf8("Неверный префикс сети\r\n"), Normal, White)); } return 0; } ++listArg; } if(argc == 3) { QString ip = QString(argv[1]); QString mask = QString(argv[2]); int error = netcalc.calc(ip, mask); if(error > 0) { switch(error) { case 1: fprintf(stderr, print(QString::fromUtf8("Неправильно указан IP-адрес\r\n"), Normal, White)); break; case 2: fprintf(stderr, print(QString::fromUtf8("Неправильно указана маска сети\r\n"), Normal, White)); break; default: break; } return 0; } else { showCalc(netcalc); return 0; } } else if(argc == 2) { QString ip_mask = QString(argv[1]); if(ip_mask.contains("/")) { QStringList lip_mask = ip_mask.split("/"); QString ip = lip_mask.at(0); int error = netcalc.calc(ip, lip_mask.at(1).toInt()); if(error == 0) { showCalc(netcalc); return 0; } switch(error) { case 1: fprintf(stderr, print(QString::fromUtf8("Неправильно указан IP-адрес\r\n"), Normal, White)); break; case 2: fprintf(stderr, print(QString::fromUtf8("Неправильно указан префикс сети\r\n"), Normal, White)); break; default: break; } return 0; } fprintf(stderr, print(QString::fromUtf8("Неверное использование\r\n\r\n"), Normal, White)); usage(); return 0; } else { usage(); return 0; } return a.exec(); }