void ClientThread::process() { m_tcpSocket = new QTcpSocket(); if (!m_tcpSocket->setSocketDescriptor(m_socket)) return; connect(&m_serverPackageManager, SIGNAL(readySend()), SLOT(readySend())); connect(m_tcpSocket, SIGNAL(readyRead()), SLOT(readyRead())); connect(m_tcpSocket, SIGNAL(disconnected()), SLOT(disconnected())); }
void LoginPage::login(){ QString badnick = "ser*ver"; QString str =""; QString log =""; QString pass =""; if(t_login->text()!="" && t_pass->text()!="" )//если не пустые { log = t_login->text(); pass = t_pass->text(); if(log!=badnick && log.length()<15 && log[0] != '#' && log.contains('*',Qt::CaseInsensitive) == false) //имя не=ser*ver, не больше 15 символов и первый симовл не # ,не содержит * а пароль меньше 10 симолов { if(pass.length()<10){ str ="#type/log#o/login#id/" + log + "#p/" + pass+"#/"; //отправляем сформированную строку-сообщение emit readySend(str); } else{ MMessageBox* r=new MMessageBox("Error!","Incorrect password",M::OkButton);//сообщение некорректный пароль r->appear(); } } else { MMessageBox* r=new MMessageBox("Error!","Incorrect login",M::OkButton);//сообщение некорректный логин r->appear(); } } else { MMessageBox* r=new MMessageBox("Error!","Please fill in all fields",M::OkButton);//сообшение не заполнили все поля r->appear(); } }
MainWindow::MainWindow():MApplicationWindow() { QString IPaddr="127.0.0.1"; int port=3425; page1=new HomePage(this); page2 =new LoginPage(this); page3=new RegistrationPage(this); page4=new SettingPage(this); page5 =new InfoPage(this); page6 = new ContactlistPage(); page7=new DialogPage(this); sock=QSharedPointer<QTcpSocket>( new QTcpSocket()); sock->connectToHost(IPaddr,port); thread1=new SendThread(sock); thread2=new RecvThread(sock); thread1->start(); thread2->start(); page1->appear(); //переходы со страницы home на все остальные QObject::connect(page1,SIGNAL(goLoginPage()),this,SLOT(GoLoginPage())); QObject::connect(page1,SIGNAL(exiting()),this,SLOT(close())); QObject::connect(page1,SIGNAL(goRegistrationPage()),page3,SLOT(appear())); QObject::connect(page1,SIGNAL(goSettingPage()),page4,SLOT(appear())); QObject::connect(page1,SIGNAL(goContactListPage()),this,SLOT(GoContactListPage())); QObject::connect(page2,SIGNAL(goHomePage()),this,SLOT(GoHomePage())); QObject::connect(page1,SIGNAL(goInfoPage()),page5,SLOT(appear())); QObject::connect(page2,SIGNAL(readySend(QString)),thread1,SLOT(writeToServer(QString))); QObject::connect(page3,SIGNAL(readySend(QString)),thread1,SLOT(writeToServer(QString))); QObject::connect(page7,SIGNAL(readySend(QString)),thread1,SLOT(writeToServer(QString))); QObject::connect(page4,SIGNAL(changeSettings()),this,SLOT(ApplyNewSettings())); QObject::connect(thread2,SIGNAL(readyMessage(QSharedPointer<IMessage>)),this,SLOT(ListenServer(QSharedPointer<IMessage>))); QObject::connect(page6,SIGNAL(goDialogPage(QString)),this,SLOT(GoDialogPage(QString))); //***Signal incomingMessage(QString) should be replaced real signal about incoming message for user.*** QObject::connect(this, SIGNAL(incomingMessage(QString)),page6, SLOT(displayMessage(QString))); //***************************************************************************************************** }
void RegistrationPage::tryToReg() { QString str1,str2; QString badnick = "ser*ver"; str1=t_repeat->text(); str2=t_pass->text(); if(str1==str2) { log=t_login->text(); pass=t_pass->text(); if(log!="" && pass!="" )//если не пустые { if(log!=badnick &&log.length()<15 && log[0] != '#' && log.contains('*',Qt::CaseInsensitive) == false) //имя не=ser*ver, не больше 15 символов и первый симовл не # ,не содержит * а пароль меньше 10 симолов { if(pass.length()<10){ str1="#type/log#o/registration#l/"+log+"#p/"+pass+"#/"; //отправляем сформированную строку-сообщение emit readySend(str1); } else{ MMessageBox* r=new MMessageBox("Error!","Incorrect password",M::OkButton);//сообщение некорректный пароль r->appear(); } } else { MMessageBox* r=new MMessageBox("Error!","Incorrect login",M::OkButton);//сообщение некорректный логин r->appear(); } } else { MMessageBox* r=new MMessageBox("Error!","Please fill in all fields",M::OkButton); //сообшение не заполнили все поля r->appear(); } } else { log=""; pass=""; emit loadInfoPage(3); } badnick.clear(); str1.clear(); t_login->clear(); t_pass->clear(); t_repeat->clear(); }