From e2736cfe63a2efb14e8c4674d60d3696a6652ed1 Mon Sep 17 00:00:00 2001 From: Imanol-Mikel Barba Sabariego Date: Thu, 12 Dec 2013 00:08:16 +0000 Subject: [PATCH] git-svn-id: svn://imanolbarba.net/PAD@34 c2ee353e-ed0d-4329-bf56-03aec153487f --- QChatClient/QChatClient.pro | 20 +++++++++++++++++--- QChatClient/QChatClient.pro.user | 4 ++-- QChatClient/Socket.cpp | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ QChatClient/Socket.h | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ QChatClient/SocketException.h | 34 ++++++++++++++++++++++++++++++++++ QChatClient/chatroom.cpp | 14 ++++++++++++++ QChatClient/chatroom.h | 22 ++++++++++++++++++++++ QChatClient/chatroom.ui | 21 +++++++++++++++++++++ QChatClient/chatroomselect.cpp | 14 ++++++++++++++ QChatClient/chatroomselect.h | 22 ++++++++++++++++++++++ QChatClient/chatroomselect.ui | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ QChatClient/chatwindow.ui | 144 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------- QChatClient/client.cpp | 214 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ QChatClient/client.h | 36 ++++++++++++++++++++++++++++++++++++ QChatClient/loginscreen.cpp | 14 ++++++++++++++ QChatClient/loginscreen.h | 22 ++++++++++++++++++++++ QChatClient/loginscreen.ui | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ QChatClient/main.cpp | 9 +++++---- build-QChatClient-Desktop-Debug/Makefile | 1561 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ build-QChatClient-Desktop-Debug/QChatClient | Bin 0 -> 1082167 bytes build-QChatClient-Desktop-Debug/moc_chatroom.cpp | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ build-QChatClient-Desktop-Debug/moc_chatroomselect.cpp | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ build-QChatClient-Desktop-Debug/moc_chatwindow.cpp | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ build-QChatClient-Desktop-Debug/moc_loginscreen.cpp | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ build-QChatClient-Desktop-Debug/ui_chatroom.h | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ build-QChatClient-Desktop-Debug/ui_chatroomselect.h | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ build-QChatClient-Desktop-Debug/ui_chatwindow.h | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ build-QChatClient-Desktop-Debug/ui_loginscreen.h | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 28 files changed, 3620 insertions(+), 19 deletions(-) create mode 100644 QChatClient/Socket.cpp create mode 100644 QChatClient/Socket.h create mode 100644 QChatClient/SocketException.h create mode 100644 QChatClient/chatroom.cpp create mode 100644 QChatClient/chatroom.h create mode 100644 QChatClient/chatroom.ui create mode 100644 QChatClient/chatroomselect.cpp create mode 100644 QChatClient/chatroomselect.h create mode 100644 QChatClient/chatroomselect.ui create mode 100644 QChatClient/client.cpp create mode 100644 QChatClient/client.h create mode 100644 QChatClient/loginscreen.cpp create mode 100644 QChatClient/loginscreen.h create mode 100644 QChatClient/loginscreen.ui create mode 100644 build-QChatClient-Desktop-Debug/Makefile create mode 100755 build-QChatClient-Desktop-Debug/QChatClient create mode 100644 build-QChatClient-Desktop-Debug/moc_chatroom.cpp create mode 100644 build-QChatClient-Desktop-Debug/moc_chatroomselect.cpp create mode 100644 build-QChatClient-Desktop-Debug/moc_chatwindow.cpp create mode 100644 build-QChatClient-Desktop-Debug/moc_loginscreen.cpp create mode 100644 build-QChatClient-Desktop-Debug/ui_chatroom.h create mode 100644 build-QChatClient-Desktop-Debug/ui_chatroomselect.h create mode 100644 build-QChatClient-Desktop-Debug/ui_chatwindow.h create mode 100644 build-QChatClient-Desktop-Debug/ui_loginscreen.h diff --git a/QChatClient/QChatClient.pro b/QChatClient/QChatClient.pro index 8eb6305..e8759ac 100644 --- a/QChatClient/QChatClient.pro +++ b/QChatClient/QChatClient.pro @@ -13,8 +13,22 @@ TEMPLATE = app SOURCES += main.cpp\ - chatwindow.cpp + chatwindow.cpp \ + loginscreen.cpp \ + chatroomselect.cpp \ + chatroom.cpp \ + Socket.cpp \ + client.cpp -HEADERS += chatwindow.h +HEADERS += chatwindow.h \ + loginscreen.h \ + chatroomselect.h \ + chatroom.h \ + SocketException.h \ + Socket.h \ + client.h -FORMS += chatwindow.ui +FORMS += chatwindow.ui \ + loginscreen.ui \ + chatroomselect.ui \ + chatroom.ui diff --git a/QChatClient/QChatClient.pro.user b/QChatClient/QChatClient.pro.user index 9005d03..d796947 100644 --- a/QChatClient/QChatClient.pro.user +++ b/QChatClient/QChatClient.pro.user @@ -1,6 +1,6 @@ - + ProjectExplorer.Project.ActiveTarget @@ -15,7 +15,7 @@ Cpp - CppGlobal + qt2 diff --git a/QChatClient/Socket.cpp b/QChatClient/Socket.cpp new file mode 100644 index 0000000..440b407 --- /dev/null +++ b/QChatClient/Socket.cpp @@ -0,0 +1,189 @@ +/** @file +* \brief Fichero de implementación de la clase Socket +* \author Imanol Barba Sabariego +* \date 13/06/2013 +* +* En este fichero se implementan los métodos de la clase Socket definidos en Socket.h +*/ +#include "Socket.h" + +using namespace std; + +Socket::Socket() +{ + sock = -1; +} + +int Socket::getSock() +{ + return sock; +} + +void Socket::Create() +{ + int optval = 1; + if((sock = socket(AF_INET, SOCK_STREAM, 0)) <= 0) + { + throw SocketException ( "TCP: Could not create socket" ); + } + setsockopt(sock,SOL_SOCKET,SO_KEEPALIVE,&optval,sizeof optval); + setsockopt(sock, SOL_TCP, TCP_NODELAY, &optval, sizeof optval); +} + +void Socket::Bind(string address, int port) +{ + sockAddr.sin_family = AF_INET; + sockAddr.sin_port = htons(port); + sockAddr.sin_addr.s_addr = inet_addr(address.c_str()); + if(bind(sock, (struct sockaddr *)&sockAddr, sizeof(struct sockaddr)) != 0) + { + stringstream sstream; + sstream << "TCP: Could not bind to address " << address << " on port " << port; + throw SocketException ( sstream.str() ); + } +} + +void Socket::Listen(int backlog) +{ + if(listen(sock, backlog) != 0) + { + throw SocketException ( "TCP: Could not listen to socket" ); + } +} + +void Socket::Accept(Socket &clientSock) +{ + int size = sizeof(struct sockaddr); + clientSock.sock = accept(sock,(struct sockaddr *)&clientSock.sockAddr, (socklen_t *)&size); + if(clientSock.sock == -1) + { + throw SocketException ( "TCP: Could not accept incoming connection" ); + } +} + +void Socket::Connect(string hostname, int port) +{ + struct in_addr *addr_ptr; + struct hostent *hostPtr; + string add; + hostPtr = gethostbyname(hostname.c_str()); + if(hostPtr == NULL) + { + throw SocketException (string("Could not resolve hostname ").append(hostname)); + } + addr_ptr = (struct in_addr *)*hostPtr->h_addr_list; + add = inet_ntoa(*addr_ptr); + if(add == "") + { + throw SocketException ( "Invalid address" ); + } + struct sockaddr_in newSockAddr; + newSockAddr.sin_family = AF_INET; + newSockAddr.sin_port = htons(port); + newSockAddr.sin_addr.s_addr = inet_addr(add.c_str()); + if(connect(sock, (struct sockaddr *)&newSockAddr, sizeof(struct sockaddr)) != 0) + { + stringstream sstream; + sstream << "Could not connect to " << hostname << " on port " << port; + throw SocketException ( sstream.str()); + } +} + +int Socket::Receive(char *buff, int length) +{ + int bytes, total = 0; + while(total != length) + { + bytes = recv(sock, buff+total, length-total,0); + if ( bytes <= 0 ) + { + throw SocketException ( "TCP: Could not read from socket." ); + } + total += bytes; + } + return total; +} + +int Socket::Send(const char *buff, int length) +{ + int bytes, total = 0; + while(total != length) + { + bytes = send(sock,buff+total,length-total,0); + if(bytes == -1) + { + throw SocketException ( "TCP: Could not write to socket." ); + } + total += bytes; + } + return total; +} + +void Socket::Close() +{ + if(sock > 0) + { + close(sock); + sock = 0; + } + else + { + throw SocketException ( "TCP: Could not close socket." ); + } +} + +const Socket& Socket::operator << ( const std::string& text) +{ + stringstream sstream; + int length = text.length(); + if(!length) + { + string s = "0"; + Send(s.c_str(), 2); + return *this; + } + sstream << length; + string len = sstream.str(); + char* msg = new char[len.length() + text.length() + 1]; + strcpy(msg,len.c_str()); + strcpy(msg+len.length()+1,text.c_str()); + Send(msg, text.length() + len.length() + 1); + delete[] msg; + return *this; +} + +const Socket& Socket::operator >> ( std::string& text ) +{ + text = ""; + string len; + int length; + stringstream sstream; + char c; + while(true) + { + if( Receive(&c,1) <= 0) + { + throw SocketException ( "TCP: Could not read from socket." ); + } + if(c == '\0') + { + break; + } + len += c; + } + sstream << len; + sstream >> length; + if(!length) + { + return *this; + } + char *message = new char[length]; + Receive(message,length); + text.append(message,length); + if(message != NULL) + { + delete[] message; + message = NULL; + } + return *this; +} \ No newline at end of file diff --git a/QChatClient/Socket.h b/QChatClient/Socket.h new file mode 100644 index 0000000..49f1a0d --- /dev/null +++ b/QChatClient/Socket.h @@ -0,0 +1,90 @@ +/** @file +* \brief Header de la clase Socket +* \author Imanol Barba Sabariego +* \date 12/06/2013 +* +* En este fichero se define la clase Socket, que es la clase que se abstraer toda la comunicación con sockets al programador +*/ +#ifndef SOCKET_H_ +#define SOCKET_H_ + +#include +#include +#include "SocketException.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace std; + +//! Clase del socket +/** +Esta clase define un objeto con los métodos y atributos necesarios para realizar comunicación encriptada o en texto llano a través de un socket TCP/IP +en un entorno UNIX abstrayendo la implementación de sockets y de encriptación al programador. +*/ +class Socket +{ + private: + //! Descriptor del fichero del socket + /*! Esta variable contiene el file descriptor del socket abierto por el SO. */ + int sock; + //! Estructura de dirección de socket + /*! Este struct es usado por el SO para gestionar la dirección del socket abierto. */ + struct sockaddr_in sockAddr; + //! Método para recibir un mensaje de longitud conocida + /*! \brief Este método se usa para recibir un mensaje de la longitud que se especifica por argumento y almacenarlo en el buffer + proporcionado. + + _Este método garantiza que todo el mensaje se recibirá entero aunque la red no admita una longitud de paquete tan grande._*/ + int Receive(char *buff/*!> ( string& /*! + +using namespace std; + +//! Clase de Excepción de Sockets +/** +Definición de las excepciones lanzadas por la librería de comunicación TCP/IP +*/ +class SocketException +{ + public: + //! Constructor de la clase + /*! Inicializa el mensaje */ + SocketException ( string m /**< Mensaje inicial */ ) : message ( m ) {}; + ~SocketException (){}; + //! Getter del atributo message + /*! Devuelve el mensaje asociado a la excepción producida */ + string description() { return message; } + private: + //! Mensaje asociado a la excepción producida + string message; +}; +#endif /* SOCKETEXCEPTION_H_ */ \ No newline at end of file diff --git a/QChatClient/chatroom.cpp b/QChatClient/chatroom.cpp new file mode 100644 index 0000000..823ea04 --- /dev/null +++ b/QChatClient/chatroom.cpp @@ -0,0 +1,14 @@ +#include "chatroom.h" +#include "ui_chatroom.h" + +Chatroom::Chatroom(QWidget *parent) : + QMainWindow(parent), + ui(new Ui::Chatroom) +{ + ui->setupUi(this); +} + +Chatroom::~Chatroom() +{ + delete ui; +} diff --git a/QChatClient/chatroom.h b/QChatClient/chatroom.h new file mode 100644 index 0000000..213e465 --- /dev/null +++ b/QChatClient/chatroom.h @@ -0,0 +1,22 @@ +#ifndef CHATROOM_H +#define CHATROOM_H + +#include + +namespace Ui { +class Chatroom; +} + +class Chatroom : public QMainWindow +{ + Q_OBJECT + +public: + explicit Chatroom(QWidget *parent = 0); + ~Chatroom(); + +private: + Ui::Chatroom *ui; +}; + +#endif // CHATROOM_H diff --git a/QChatClient/chatroom.ui b/QChatClient/chatroom.ui new file mode 100644 index 0000000..e2cbb71 --- /dev/null +++ b/QChatClient/chatroom.ui @@ -0,0 +1,21 @@ + + + Chatroom + + + + 0 + 0 + 800 + 600 + + + + MainWindow + + + + + + + diff --git a/QChatClient/chatroomselect.cpp b/QChatClient/chatroomselect.cpp new file mode 100644 index 0000000..ab1a51e --- /dev/null +++ b/QChatClient/chatroomselect.cpp @@ -0,0 +1,14 @@ +#include "chatroomselect.h" +#include "ui_chatroomselect.h" + +ChatroomSelect::ChatroomSelect(QWidget *parent) : + QDialog(parent), + ui(new Ui::ChatroomSelect) +{ + ui->setupUi(this); +} + +ChatroomSelect::~ChatroomSelect() +{ + delete ui; +} diff --git a/QChatClient/chatroomselect.h b/QChatClient/chatroomselect.h new file mode 100644 index 0000000..b59a683 --- /dev/null +++ b/QChatClient/chatroomselect.h @@ -0,0 +1,22 @@ +#ifndef CHATROOMSELECT_H +#define CHATROOMSELECT_H + +#include + +namespace Ui { +class ChatroomSelect; +} + +class ChatroomSelect : public QDialog +{ + Q_OBJECT + +public: + explicit ChatroomSelect(QWidget *parent = 0); + ~ChatroomSelect(); + +private: + Ui::ChatroomSelect *ui; +}; + +#endif // CHATROOMSELECT_H diff --git a/QChatClient/chatroomselect.ui b/QChatClient/chatroomselect.ui new file mode 100644 index 0000000..bcfa2d1 --- /dev/null +++ b/QChatClient/chatroomselect.ui @@ -0,0 +1,174 @@ + + + ChatroomSelect + + + + 0 + 0 + 555 + 379 + + + + + 0 + 0 + + + + Dialog + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 5 + + + + + + + + + + + OK + + + + + + + Cancel + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 5 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + + + + + + + + Select one chatroom from the list: + + + + + + + + + + Edit + + + + + + + Delete + + + + + + + Add + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 5 + 20 + + + + + + + + + diff --git a/QChatClient/chatwindow.ui b/QChatClient/chatwindow.ui index 91d3247..3d92454 100644 --- a/QChatClient/chatwindow.ui +++ b/QChatClient/chatwindow.ui @@ -1,24 +1,148 @@ + ChatWindow - - + + 0 0 400 - 300 + 449 - + ChatWindow - - - - + + + true + + + + 0 + 0 + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 5 + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 5 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + + + + + + 0 + 0 + + + + + 0 + 100 + + + + + 16777215 + 100 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 5 + + + + + + + + + + 0 + 0 + 400 + 25 + + + - - + diff --git a/QChatClient/client.cpp b/QChatClient/client.cpp new file mode 100644 index 0000000..ab17560 --- /dev/null +++ b/QChatClient/client.cpp @@ -0,0 +1,214 @@ +/** @file +* \brief Fichero de implementación de un cliente +* \author Imanol Barba Sabariego +* \date 13/06/2013 +* +* En este fichero se implementa un cliente para poder usar con el servidor creado, usando la clase Socket. +* REVISADO EL 10/12/2013 PARA LA APLIACIÓN JCHAT +*/ +#include "client.h" + +using namespace std; + +//! Variable de estado del programa. +bool connected; +//! Variable de estado del programa. +bool finished; + +//! Método de liberación de los argumentos +/*! Este método se encarga de liberar la memoria asignada a los argumentos pasados a los threads que ahora han terminado. */ +void killThread(thread_args *t_arg) +{ + if(t_arg != 0) + { + delete t_arg; + t_arg = 0; + } + pthread_exit(NULL); +} + +//! Método de conexión +/*! Este método conecta el cliente a una sala de chat. */ +bool connect(Socket& s) +{ + string host, nick, response; + int port; + cout << "Hostname: "; + getline(cin,host); + cout << "Port: "; + cin >> port; + cin.ignore(); + cout << "Nickname: "; + getline(cin,nick); + host = "localhost"; + port = 3001; + + try + { + s.Create(); + s.Connect(host,port); + cout << "Connected" << endl; + connected = true; + s << nick; + s >> response; + while(response == "CHATNICKINVALID") + { + cout << "Spaces not allowed in nicknames, please enter another nickname: "; + getline(cin,nick); + s << nick; + s >> response; + } + while(response == "CHATNICKEXIST") + { + cout << "Nickname in use, please enter another nickname: "; + getline(cin,nick); + s << nick; + s >> response; + } + while(response == "CHATFULL") + { + cout << "Chatroom is full, please wait..." << endl; + s.Close(); + return false; + } + if(response != "CHATOK") + { + cout << "Error: " << response << endl; + s.Close(); + return false; + } + } + catch(SocketException& e) + { + cout << e.description() << endl; + exit(-1); + } + return true; +} + +//! Thread de envío de mensajes +/*! Este método es ejecutado por un thread con el objetivo de enviar los mensajes y comandos que el usuario introduce por teclado. */ +void *sendThread(void* args) +{ + string send; + struct thread_args *t_arg = (struct thread_args*)args; + while(connected) + { + cout << "> "; + getline(cin,send); + if(cin.eof()) + { + send = "/exit"; + } + try + { + *(t_arg->s) << send; + if(send == "/disconnect" || send == "/exit") + { + break; + } + } + catch(SocketException& e) + { + cout << e.description() << endl; + } + } + killThread(t_arg); +} + +//! Thread de recepción de mensajes +/*! Este método es ejecutado por un thread con el objetivo de recibir los mensajes por el socket, gestionarlos e imprimirlos por pantalla o tomar las medidas necesarias .*/ +void *recvThread(void* args) +{ + string recv; + struct thread_args *t_arg = (struct thread_args*)args; + while(true) + { + try + { + *(t_arg->s) >> recv; + } + catch(SocketException &e) + { + connected = false; + cout << e.description() << endl; + cout << "Connection lost. Press Enter to retry connection to chatroom. Press CTRL+C to exit." << endl; + pthread_cond_signal(t_arg->condition); + break; + } + if(recv == "DISC_OK") + { + cout << "Disconnecting" << endl; + connected = false; + pthread_cond_signal(t_arg->condition); + break; + } + else if(recv == "EXIT_OK") + { + cout << "Exiting" << endl; + connected = false; + finished = true; + pthread_cond_signal(t_arg->condition); + break; + } + else + { + cout << recv << endl; + } + } + killThread(t_arg); +} + +//! Método principal del cliente +/*! Este método inicializa el Socket, establece la conexión y realiza las acciones que se le hayan programado para comunicarse con el servidor.*/ +/*int main() +{ + //signal(SIGPIPE, exitClient); UNUSED + Socket s; + connected = finished = false; + pthread_mutex_t mutex; + pthread_mutex_init(&mutex,0); + pthread_cond_t condition; + pthread_cond_init(&condition,0); + pthread_t recv, send; + pthread_attr_t attr; + pthread_attr_init(&attr); + pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE); + int retries = 3; + while (!finished) + { + while(!connect(s)) + { + if((--retries) <= 0) + { + cout << "Exiting" << endl; + exit(-1); + } + cout << "Couldn't connect to chatroom, retrying..." << endl; + } + pthread_mutex_lock(&mutex); + thread_args *sArgs = new thread_args; + thread_args *rArgs = new thread_args; + sArgs->mutex = &mutex; + sArgs->condition = &condition; + sArgs->s = &s; + + rArgs->mutex = &mutex; + rArgs->condition = &condition; + rArgs->s = &s; + + pthread_create(&send,&attr,sendThread,(void *)sArgs); + pthread_create(&recv,&attr,recvThread,(void *)rArgs); + + while(connected) + { + pthread_cond_wait(&condition,&mutex); + } + pthread_mutex_unlock(&mutex); + pthread_join(recv,NULL); + pthread_join(send,NULL); + s.Close(); + } + pthread_cond_destroy(&condition); + pthread_mutex_destroy(&mutex); +}*/ diff --git a/QChatClient/client.h b/QChatClient/client.h new file mode 100644 index 0000000..5d6182e --- /dev/null +++ b/QChatClient/client.h @@ -0,0 +1,36 @@ +#ifndef CLIENT_H_ +#define CLIENT_H_ + +#include "Socket.h" +#include +#include "SocketException.h" +#include +#include +#include +#include + +//!Argumentos de los threads +/** +\brief Este struct define los argumentos que recibe un thread abierto por la aplicación servidor al recibir una conexión entrante +\author Imanol Barba Sabariego +\date 11/06/2013 */ +struct thread_args +{ + //! Variable de control de la exclusión mútua entre threads + /** Esta variable se usa para bloquear otros threads en operaciones de exclusion mútua donde se modifican variables compartidas */ + pthread_mutex_t *mutex; + //! Variable de notificación a otros threads + /*! \brief Esta variable se usa para notificar a otros threads cuando deben realizar otras acciones. + + *Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya + quedado bloqueado y no admita más conexiones.* */ + pthread_cond_t *condition; + //! Puntero al socket + /*! \brief Esta variable representa el puntero al socket que proviene de la conexión entrante recibida por el servidor. Con este, el thread + puede recibir y enviar los datos. */ + Socket *s; +}; + + + +#endif /* CLIENT_H_ */ \ No newline at end of file diff --git a/QChatClient/loginscreen.cpp b/QChatClient/loginscreen.cpp new file mode 100644 index 0000000..d62f269 --- /dev/null +++ b/QChatClient/loginscreen.cpp @@ -0,0 +1,14 @@ +#include "loginscreen.h" +#include "ui_loginscreen.h" + +LoginScreen::LoginScreen(QWidget *parent) : + QDialog(parent), + ui(new Ui::LoginScreen) +{ + ui->setupUi(this); +} + +LoginScreen::~LoginScreen() +{ + delete ui; +} diff --git a/QChatClient/loginscreen.h b/QChatClient/loginscreen.h new file mode 100644 index 0000000..b434e15 --- /dev/null +++ b/QChatClient/loginscreen.h @@ -0,0 +1,22 @@ +#ifndef LOGINSCREEN_H +#define LOGINSCREEN_H + +#include + +namespace Ui { +class LoginScreen; +} + +class LoginScreen : public QDialog +{ + Q_OBJECT + +public: + explicit LoginScreen(QWidget *parent = 0); + ~LoginScreen(); + +private: + Ui::LoginScreen *ui; +}; + +#endif // LOGINSCREEN_H diff --git a/QChatClient/loginscreen.ui b/QChatClient/loginscreen.ui new file mode 100644 index 0000000..69c46e0 --- /dev/null +++ b/QChatClient/loginscreen.ui @@ -0,0 +1,162 @@ + + + LoginScreen + + + + 0 + 0 + 402 + 204 + + + + + 0 + 0 + + + + Login + + + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 10 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 10 + 20 + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 5 + + + + + + + + + 0 + 0 + + + + + 16777215 + 20 + + + + Log in to chatroom + + + + + + + + 0 + 0 + + + + + + + Cancel + + + + + + + OK + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 10 + 20 + + + + + + + + + + + + + + + diff --git a/QChatClient/main.cpp b/QChatClient/main.cpp index ed7054b..9e23ff8 100644 --- a/QChatClient/main.cpp +++ b/QChatClient/main.cpp @@ -1,11 +1,12 @@ -#include "chatwindow.h" +#include "loginscreen.h" +#include "chatroom.h" #include int main(int argc, char *argv[]) { QApplication a(argc, argv); - ChatWindow w; - w.show(); - + Chatroom l; + l.show(); + return a.exec(); } diff --git a/build-QChatClient-Desktop-Debug/Makefile b/build-QChatClient-Desktop-Debug/Makefile new file mode 100644 index 0000000..51621e1 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/Makefile @@ -0,0 +1,1561 @@ +############################################################################# +# Makefile for building: QChatClient +# Generated by qmake (3.0) (Qt 5.0.2) on: mié dic 11 19:16:50 2013 +# Project: ../QChatClient/QChatClient.pro +# Template: app +# Command: /usr/lib/x86_64-linux-gnu/qt5/bin/qmake -spec linux-g++-64 CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug -o Makefile ../QChatClient/QChatClient.pro +############################################################################# + +MAKEFILE = Makefile + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB +CFLAGS = -m64 -pipe -g -Wall -W -D_REENTRANT -fPIE $(DEFINES) +CXXFLAGS = -m64 -pipe -g -Wall -W -D_REENTRANT -fPIE $(DEFINES) +INCPATH = -I/usr/share/qt5/mkspecs/linux-g++-64 -I../QChatClient -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I. -I. -I. +LINK = g++ +LFLAGS = -m64 +LIBS = $(SUBLIBS) -L/usr/X11R6/lib64 -lQt5Widgets -L/usr/lib/x86_64-linux-gnu -lQt5Gui -lQt5Core -lGL -lpthread +AR = ar cqs +RANLIB = +QMAKE = /usr/lib/x86_64-linux-gnu/qt5/bin/qmake +TAR = tar -cf +COMPRESS = gzip -9f +COPY = cp -f +SED = sed +COPY_FILE = cp -f +COPY_DIR = cp -f -R +STRIP = strip +INSTALL_FILE = install -m 644 -p +INSTALL_DIR = $(COPY_DIR) +INSTALL_PROGRAM = install -m 755 -p +DEL_FILE = rm -f +SYMLINK = ln -f -s +DEL_DIR = rmdir +MOVE = mv -f +CHK_DIR_EXISTS= test -d +MKDIR = mkdir -p + +####### Output directory + +OBJECTS_DIR = ./ + +####### Files + +SOURCES = ../QChatClient/main.cpp \ + ../QChatClient/chatwindow.cpp \ + ../QChatClient/loginscreen.cpp \ + ../QChatClient/chatroomselect.cpp \ + ../QChatClient/chatroom.cpp \ + ../QChatClient/Socket.cpp \ + ../QChatClient/client.cpp moc_chatwindow.cpp \ + moc_loginscreen.cpp \ + moc_chatroomselect.cpp \ + moc_chatroom.cpp +OBJECTS = main.o \ + chatwindow.o \ + loginscreen.o \ + chatroomselect.o \ + chatroom.o \ + Socket.o \ + client.o \ + moc_chatwindow.o \ + moc_loginscreen.o \ + moc_chatroomselect.o \ + moc_chatroom.o +DIST = /usr/share/qt5/mkspecs/features/spec_pre.prf \ + /usr/share/qt5/mkspecs/common/shell-unix.conf \ + /usr/share/qt5/mkspecs/common/unix.conf \ + /usr/share/qt5/mkspecs/common/linux.conf \ + /usr/share/qt5/mkspecs/common/gcc-base.conf \ + /usr/share/qt5/mkspecs/common/gcc-base-unix.conf \ + /usr/share/qt5/mkspecs/common/g++-base.conf \ + /usr/share/qt5/mkspecs/common/g++-unix.conf \ + /usr/share/qt5/mkspecs/qconfig.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_core.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_gui.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_network.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \ + /usr/share/qt5/mkspecs/features/qt_functions.prf \ + /usr/share/qt5/mkspecs/features/qt_config.prf \ + /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf \ + /usr/share/qt5/mkspecs/features/spec_post.prf \ + /usr/share/qt5/mkspecs/features/exclusive_builds.prf \ + /usr/share/qt5/mkspecs/features/default_pre.prf \ + /usr/share/qt5/mkspecs/features/unix/default_pre.prf \ + /usr/share/qt5/mkspecs/features/resolve_config.prf \ + /usr/share/qt5/mkspecs/features/default_post.prf \ + /usr/share/qt5/mkspecs/features/qml_debug.prf \ + /usr/share/qt5/mkspecs/features/declarative_debug.prf \ + /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \ + /usr/share/qt5/mkspecs/features/warn_on.prf \ + /usr/share/qt5/mkspecs/features/qt.prf \ + /usr/share/qt5/mkspecs/features/resources.prf \ + /usr/share/qt5/mkspecs/features/moc.prf \ + /usr/share/qt5/mkspecs/features/unix/opengl.prf \ + /usr/share/qt5/mkspecs/features/uic.prf \ + /usr/share/qt5/mkspecs/features/unix/thread.prf \ + /usr/share/qt5/mkspecs/features/wayland-scanner.prf \ + /usr/share/qt5/mkspecs/features/testcase_targets.prf \ + /usr/share/qt5/mkspecs/features/exceptions.prf \ + /usr/share/qt5/mkspecs/features/yacc.prf \ + /usr/share/qt5/mkspecs/features/lex.prf \ + ../QChatClient/QChatClient.pro \ + ../QChatClient/QChatClient.pro +QMAKE_TARGET = QChatClient +DESTDIR = +TARGET = QChatClient + + +first: all +####### Implicit rules + +.SUFFIXES: .o .c .cpp .cc .cxx .C + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" + +####### Build rules + +all: Makefile $(TARGET) + +$(TARGET): ui_chatwindow.h ui_loginscreen.h ui_chatroomselect.h ui_chatroom.h $(OBJECTS) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) + { test -n "$(DESTDIR)" && DESTDIR="$(DESTDIR)" || DESTDIR=.; } && test $$(gdb --version | sed -e 's,[^0-9]\+\([0-9]\)\.\([0-9]\).*,\1\2,;q') -gt 72 && gdb --nx --batch --quiet -ex 'set confirm off' -ex "save gdb-index $$DESTDIR" -ex quit '$(TARGET)' && test -f $(TARGET).gdb-index && objcopy --add-section '.gdb_index=$(TARGET).gdb-index' --set-section-flags '.gdb_index=readonly' '$(TARGET)' '$(TARGET)' && rm -f $(TARGET).gdb-index || true + +Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf /usr/share/qt5/mkspecs/features/spec_pre.prf \ + /usr/share/qt5/mkspecs/common/shell-unix.conf \ + /usr/share/qt5/mkspecs/common/unix.conf \ + /usr/share/qt5/mkspecs/common/linux.conf \ + /usr/share/qt5/mkspecs/common/gcc-base.conf \ + /usr/share/qt5/mkspecs/common/gcc-base-unix.conf \ + /usr/share/qt5/mkspecs/common/g++-base.conf \ + /usr/share/qt5/mkspecs/common/g++-unix.conf \ + /usr/share/qt5/mkspecs/qconfig.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_core.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_gui.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_network.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \ + /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \ + /usr/share/qt5/mkspecs/features/qt_functions.prf \ + /usr/share/qt5/mkspecs/features/qt_config.prf \ + /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf \ + /usr/share/qt5/mkspecs/features/spec_post.prf \ + /usr/share/qt5/mkspecs/features/exclusive_builds.prf \ + /usr/share/qt5/mkspecs/features/default_pre.prf \ + /usr/share/qt5/mkspecs/features/unix/default_pre.prf \ + /usr/share/qt5/mkspecs/features/resolve_config.prf \ + /usr/share/qt5/mkspecs/features/default_post.prf \ + /usr/share/qt5/mkspecs/features/qml_debug.prf \ + /usr/share/qt5/mkspecs/features/declarative_debug.prf \ + /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \ + /usr/share/qt5/mkspecs/features/warn_on.prf \ + /usr/share/qt5/mkspecs/features/qt.prf \ + /usr/share/qt5/mkspecs/features/resources.prf \ + /usr/share/qt5/mkspecs/features/moc.prf \ + /usr/share/qt5/mkspecs/features/unix/opengl.prf \ + /usr/share/qt5/mkspecs/features/uic.prf \ + /usr/share/qt5/mkspecs/features/unix/thread.prf \ + /usr/share/qt5/mkspecs/features/wayland-scanner.prf \ + /usr/share/qt5/mkspecs/features/testcase_targets.prf \ + /usr/share/qt5/mkspecs/features/exceptions.prf \ + /usr/share/qt5/mkspecs/features/yacc.prf \ + /usr/share/qt5/mkspecs/features/lex.prf \ + ../QChatClient/QChatClient.pro \ + /usr/lib/x86_64-linux-gnu/libQt5Widgets.prl \ + /usr/lib/x86_64-linux-gnu/libQt5Gui.prl \ + /usr/lib/x86_64-linux-gnu/libQt5Core.prl + $(QMAKE) -spec linux-g++-64 CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug -o Makefile ../QChatClient/QChatClient.pro +/usr/share/qt5/mkspecs/features/spec_pre.prf: +/usr/share/qt5/mkspecs/common/shell-unix.conf: +/usr/share/qt5/mkspecs/common/unix.conf: +/usr/share/qt5/mkspecs/common/linux.conf: +/usr/share/qt5/mkspecs/common/gcc-base.conf: +/usr/share/qt5/mkspecs/common/gcc-base-unix.conf: +/usr/share/qt5/mkspecs/common/g++-base.conf: +/usr/share/qt5/mkspecs/common/g++-unix.conf: +/usr/share/qt5/mkspecs/qconfig.pri: +/usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri: +/usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri: +/usr/share/qt5/mkspecs/modules/qt_lib_core.pri: +/usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri: +/usr/share/qt5/mkspecs/modules/qt_lib_gui.pri: +/usr/share/qt5/mkspecs/modules/qt_lib_network.pri: +/usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri: +/usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri: +/usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri: +/usr/share/qt5/mkspecs/modules/qt_lib_sql.pri: +/usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri: +/usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri: +/usr/share/qt5/mkspecs/modules/qt_lib_xml.pri: +/usr/share/qt5/mkspecs/features/qt_functions.prf: +/usr/share/qt5/mkspecs/features/qt_config.prf: +/usr/share/qt5/mkspecs/linux-g++-64/qmake.conf: +/usr/share/qt5/mkspecs/features/spec_post.prf: +/usr/share/qt5/mkspecs/features/exclusive_builds.prf: +/usr/share/qt5/mkspecs/features/default_pre.prf: +/usr/share/qt5/mkspecs/features/unix/default_pre.prf: +/usr/share/qt5/mkspecs/features/resolve_config.prf: +/usr/share/qt5/mkspecs/features/default_post.prf: +/usr/share/qt5/mkspecs/features/qml_debug.prf: +/usr/share/qt5/mkspecs/features/declarative_debug.prf: +/usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf: +/usr/share/qt5/mkspecs/features/warn_on.prf: +/usr/share/qt5/mkspecs/features/qt.prf: +/usr/share/qt5/mkspecs/features/resources.prf: +/usr/share/qt5/mkspecs/features/moc.prf: +/usr/share/qt5/mkspecs/features/unix/opengl.prf: +/usr/share/qt5/mkspecs/features/uic.prf: +/usr/share/qt5/mkspecs/features/unix/thread.prf: +/usr/share/qt5/mkspecs/features/wayland-scanner.prf: +/usr/share/qt5/mkspecs/features/testcase_targets.prf: +/usr/share/qt5/mkspecs/features/exceptions.prf: +/usr/share/qt5/mkspecs/features/yacc.prf: +/usr/share/qt5/mkspecs/features/lex.prf: +../QChatClient/QChatClient.pro: +/usr/lib/x86_64-linux-gnu/libQt5Widgets.prl: +/usr/lib/x86_64-linux-gnu/libQt5Gui.prl: +/usr/lib/x86_64-linux-gnu/libQt5Core.prl: +qmake: FORCE + @$(QMAKE) -spec linux-g++-64 CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug -o Makefile ../QChatClient/QChatClient.pro + +qmake_all: FORCE + +dist: + @test -d .tmp/QChatClient1.0.0 || mkdir -p .tmp/QChatClient1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/chatwindow.h ../QChatClient/loginscreen.h ../QChatClient/chatroomselect.h ../QChatClient/chatroom.h ../QChatClient/SocketException.h ../QChatClient/Socket.h ../QChatClient/client.h .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/main.cpp ../QChatClient/chatwindow.cpp ../QChatClient/loginscreen.cpp ../QChatClient/chatroomselect.cpp ../QChatClient/chatroom.cpp ../QChatClient/Socket.cpp ../QChatClient/client.cpp .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/chatwindow.ui ../QChatClient/loginscreen.ui ../QChatClient/chatroomselect.ui ../QChatClient/chatroom.ui .tmp/QChatClient1.0.0/ && (cd `dirname .tmp/QChatClient1.0.0` && $(TAR) QChatClient1.0.0.tar QChatClient1.0.0 && $(COMPRESS) QChatClient1.0.0.tar) && $(MOVE) `dirname .tmp/QChatClient1.0.0`/QChatClient1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/QChatClient1.0.0 + + +clean:compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +####### Sub-libraries + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) Makefile + + +mocclean: compiler_moc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_source_make_all + +check: first + +compiler_rcc_make_all: +compiler_rcc_clean: +compiler_wayland-server-header_make_all: +compiler_wayland-server-header_clean: +compiler_wayland-client-header_make_all: +compiler_wayland-client-header_clean: +compiler_moc_header_make_all: moc_chatwindow.cpp moc_loginscreen.cpp moc_chatroomselect.cpp moc_chatroom.cpp +compiler_moc_header_clean: + -$(DEL_FILE) moc_chatwindow.cpp moc_loginscreen.cpp moc_chatroomselect.cpp moc_chatroom.cpp +moc_chatwindow.cpp: /usr/include/qt5/QtWidgets/QMainWindow \ + /usr/include/qt5/QtWidgets/qmainwindow.h \ + /usr/include/qt5/QtWidgets/qwidget.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + /usr/include/qt5/QtCore/qmargins.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtGui/qpalette.h \ + /usr/include/qt5/QtGui/qcolor.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtGui/qbrush.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qpixmap.h \ + /usr/include/qt5/QtCore/qsharedpointer.h \ + /usr/include/qt5/QtCore/qshareddata.h \ + /usr/include/qt5/QtCore/qsharedpointer_impl.h \ + /usr/include/qt5/QtCore/qhash.h \ + /usr/include/qt5/QtGui/qfont.h \ + /usr/include/qt5/QtGui/qfontmetrics.h \ + /usr/include/qt5/QtGui/qfontinfo.h \ + /usr/include/qt5/QtWidgets/qsizepolicy.h \ + /usr/include/qt5/QtGui/qcursor.h \ + /usr/include/qt5/QtGui/qkeysequence.h \ + /usr/include/qt5/QtGui/qevent.h \ + /usr/include/qt5/QtCore/qvariant.h \ + /usr/include/qt5/QtCore/qmap.h \ + /usr/include/qt5/QtCore/qdebug.h \ + /usr/include/qt5/QtCore/qtextstream.h \ + /usr/include/qt5/QtCore/qlocale.h \ + /usr/include/qt5/QtCore/qset.h \ + /usr/include/qt5/QtCore/qcontiguouscache.h \ + /usr/include/qt5/QtCore/qurl.h \ + /usr/include/qt5/QtCore/qurlquery.h \ + /usr/include/qt5/QtCore/qfile.h \ + /usr/include/qt5/QtCore/qfiledevice.h \ + /usr/include/qt5/QtGui/qvector2d.h \ + /usr/include/qt5/QtGui/qtouchdevice.h \ + /usr/include/qt5/QtWidgets/qtabwidget.h \ + /usr/include/qt5/QtGui/qicon.h \ + ../QChatClient/chatwindow.h + /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatwindow.h -o moc_chatwindow.cpp + +moc_loginscreen.cpp: /usr/include/qt5/QtWidgets/QDialog \ + /usr/include/qt5/QtWidgets/qdialog.h \ + /usr/include/qt5/QtWidgets/qwidget.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + /usr/include/qt5/QtCore/qmargins.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtGui/qpalette.h \ + /usr/include/qt5/QtGui/qcolor.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtGui/qbrush.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qpixmap.h \ + /usr/include/qt5/QtCore/qsharedpointer.h \ + /usr/include/qt5/QtCore/qshareddata.h \ + /usr/include/qt5/QtCore/qsharedpointer_impl.h \ + /usr/include/qt5/QtCore/qhash.h \ + /usr/include/qt5/QtGui/qfont.h \ + /usr/include/qt5/QtGui/qfontmetrics.h \ + /usr/include/qt5/QtGui/qfontinfo.h \ + /usr/include/qt5/QtWidgets/qsizepolicy.h \ + /usr/include/qt5/QtGui/qcursor.h \ + /usr/include/qt5/QtGui/qkeysequence.h \ + /usr/include/qt5/QtGui/qevent.h \ + /usr/include/qt5/QtCore/qvariant.h \ + /usr/include/qt5/QtCore/qmap.h \ + /usr/include/qt5/QtCore/qdebug.h \ + /usr/include/qt5/QtCore/qtextstream.h \ + /usr/include/qt5/QtCore/qlocale.h \ + /usr/include/qt5/QtCore/qset.h \ + /usr/include/qt5/QtCore/qcontiguouscache.h \ + /usr/include/qt5/QtCore/qurl.h \ + /usr/include/qt5/QtCore/qurlquery.h \ + /usr/include/qt5/QtCore/qfile.h \ + /usr/include/qt5/QtCore/qfiledevice.h \ + /usr/include/qt5/QtGui/qvector2d.h \ + /usr/include/qt5/QtGui/qtouchdevice.h \ + ../QChatClient/loginscreen.h + /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/loginscreen.h -o moc_loginscreen.cpp + +moc_chatroomselect.cpp: /usr/include/qt5/QtWidgets/QDialog \ + /usr/include/qt5/QtWidgets/qdialog.h \ + /usr/include/qt5/QtWidgets/qwidget.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + /usr/include/qt5/QtCore/qmargins.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtGui/qpalette.h \ + /usr/include/qt5/QtGui/qcolor.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtGui/qbrush.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qpixmap.h \ + /usr/include/qt5/QtCore/qsharedpointer.h \ + /usr/include/qt5/QtCore/qshareddata.h \ + /usr/include/qt5/QtCore/qsharedpointer_impl.h \ + /usr/include/qt5/QtCore/qhash.h \ + /usr/include/qt5/QtGui/qfont.h \ + /usr/include/qt5/QtGui/qfontmetrics.h \ + /usr/include/qt5/QtGui/qfontinfo.h \ + /usr/include/qt5/QtWidgets/qsizepolicy.h \ + /usr/include/qt5/QtGui/qcursor.h \ + /usr/include/qt5/QtGui/qkeysequence.h \ + /usr/include/qt5/QtGui/qevent.h \ + /usr/include/qt5/QtCore/qvariant.h \ + /usr/include/qt5/QtCore/qmap.h \ + /usr/include/qt5/QtCore/qdebug.h \ + /usr/include/qt5/QtCore/qtextstream.h \ + /usr/include/qt5/QtCore/qlocale.h \ + /usr/include/qt5/QtCore/qset.h \ + /usr/include/qt5/QtCore/qcontiguouscache.h \ + /usr/include/qt5/QtCore/qurl.h \ + /usr/include/qt5/QtCore/qurlquery.h \ + /usr/include/qt5/QtCore/qfile.h \ + /usr/include/qt5/QtCore/qfiledevice.h \ + /usr/include/qt5/QtGui/qvector2d.h \ + /usr/include/qt5/QtGui/qtouchdevice.h \ + ../QChatClient/chatroomselect.h + /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatroomselect.h -o moc_chatroomselect.cpp + +moc_chatroom.cpp: /usr/include/qt5/QtWidgets/QMainWindow \ + /usr/include/qt5/QtWidgets/qmainwindow.h \ + /usr/include/qt5/QtWidgets/qwidget.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + /usr/include/qt5/QtCore/qmargins.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtGui/qpalette.h \ + /usr/include/qt5/QtGui/qcolor.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtGui/qbrush.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qpixmap.h \ + /usr/include/qt5/QtCore/qsharedpointer.h \ + /usr/include/qt5/QtCore/qshareddata.h \ + /usr/include/qt5/QtCore/qsharedpointer_impl.h \ + /usr/include/qt5/QtCore/qhash.h \ + /usr/include/qt5/QtGui/qfont.h \ + /usr/include/qt5/QtGui/qfontmetrics.h \ + /usr/include/qt5/QtGui/qfontinfo.h \ + /usr/include/qt5/QtWidgets/qsizepolicy.h \ + /usr/include/qt5/QtGui/qcursor.h \ + /usr/include/qt5/QtGui/qkeysequence.h \ + /usr/include/qt5/QtGui/qevent.h \ + /usr/include/qt5/QtCore/qvariant.h \ + /usr/include/qt5/QtCore/qmap.h \ + /usr/include/qt5/QtCore/qdebug.h \ + /usr/include/qt5/QtCore/qtextstream.h \ + /usr/include/qt5/QtCore/qlocale.h \ + /usr/include/qt5/QtCore/qset.h \ + /usr/include/qt5/QtCore/qcontiguouscache.h \ + /usr/include/qt5/QtCore/qurl.h \ + /usr/include/qt5/QtCore/qurlquery.h \ + /usr/include/qt5/QtCore/qfile.h \ + /usr/include/qt5/QtCore/qfiledevice.h \ + /usr/include/qt5/QtGui/qvector2d.h \ + /usr/include/qt5/QtGui/qtouchdevice.h \ + /usr/include/qt5/QtWidgets/qtabwidget.h \ + /usr/include/qt5/QtGui/qicon.h \ + ../QChatClient/chatroom.h + /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatroom.h -o moc_chatroom.cpp + +compiler_wayland-code_make_all: +compiler_wayland-code_clean: +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_uic_make_all: ui_chatwindow.h ui_loginscreen.h ui_chatroomselect.h ui_chatroom.h +compiler_uic_clean: + -$(DEL_FILE) ui_chatwindow.h ui_loginscreen.h ui_chatroomselect.h ui_chatroom.h +ui_chatwindow.h: ../QChatClient/chatwindow.ui + /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatwindow.ui -o ui_chatwindow.h + +ui_loginscreen.h: ../QChatClient/loginscreen.ui + /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/loginscreen.ui -o ui_loginscreen.h + +ui_chatroomselect.h: ../QChatClient/chatroomselect.ui + /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatroomselect.ui -o ui_chatroomselect.h + +ui_chatroom.h: ../QChatClient/chatroom.ui + /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatroom.ui -o ui_chatroom.h + +compiler_yacc_decl_make_all: +compiler_yacc_decl_clean: +compiler_yacc_impl_make_all: +compiler_yacc_impl_clean: +compiler_lex_make_all: +compiler_lex_clean: +compiler_clean: compiler_moc_header_clean compiler_uic_clean + +####### Compile + +main.o: ../QChatClient/main.cpp ../QChatClient/loginscreen.h \ + /usr/include/qt5/QtWidgets/QDialog \ + /usr/include/qt5/QtWidgets/qdialog.h \ + /usr/include/qt5/QtWidgets/qwidget.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + /usr/include/qt5/QtCore/qmargins.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtGui/qpalette.h \ + /usr/include/qt5/QtGui/qcolor.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtGui/qbrush.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qpixmap.h \ + /usr/include/qt5/QtCore/qsharedpointer.h \ + /usr/include/qt5/QtCore/qshareddata.h \ + /usr/include/qt5/QtCore/qsharedpointer_impl.h \ + /usr/include/qt5/QtCore/qhash.h \ + /usr/include/qt5/QtGui/qfont.h \ + /usr/include/qt5/QtGui/qfontmetrics.h \ + /usr/include/qt5/QtGui/qfontinfo.h \ + /usr/include/qt5/QtWidgets/qsizepolicy.h \ + /usr/include/qt5/QtGui/qcursor.h \ + /usr/include/qt5/QtGui/qkeysequence.h \ + /usr/include/qt5/QtGui/qevent.h \ + /usr/include/qt5/QtCore/qvariant.h \ + /usr/include/qt5/QtCore/qmap.h \ + /usr/include/qt5/QtCore/qdebug.h \ + /usr/include/qt5/QtCore/qtextstream.h \ + /usr/include/qt5/QtCore/qlocale.h \ + /usr/include/qt5/QtCore/qset.h \ + /usr/include/qt5/QtCore/qcontiguouscache.h \ + /usr/include/qt5/QtCore/qurl.h \ + /usr/include/qt5/QtCore/qurlquery.h \ + /usr/include/qt5/QtCore/qfile.h \ + /usr/include/qt5/QtCore/qfiledevice.h \ + /usr/include/qt5/QtGui/qvector2d.h \ + /usr/include/qt5/QtGui/qtouchdevice.h \ + ../QChatClient/chatroom.h \ + /usr/include/qt5/QtWidgets/QMainWindow \ + /usr/include/qt5/QtWidgets/qmainwindow.h \ + /usr/include/qt5/QtWidgets/qtabwidget.h \ + /usr/include/qt5/QtGui/qicon.h \ + /usr/include/qt5/QtWidgets/QApplication \ + /usr/include/qt5/QtWidgets/qapplication.h \ + /usr/include/qt5/QtCore/qcoreapplication.h \ + /usr/include/qt5/QtCore/qeventloop.h \ + /usr/include/qt5/QtWidgets/qdesktopwidget.h \ + /usr/include/qt5/QtGui/qguiapplication.h \ + /usr/include/qt5/QtGui/qinputmethod.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o ../QChatClient/main.cpp + +chatwindow.o: ../QChatClient/chatwindow.cpp ../QChatClient/chatwindow.h \ + /usr/include/qt5/QtWidgets/QMainWindow \ + /usr/include/qt5/QtWidgets/qmainwindow.h \ + /usr/include/qt5/QtWidgets/qwidget.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + /usr/include/qt5/QtCore/qmargins.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtGui/qpalette.h \ + /usr/include/qt5/QtGui/qcolor.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtGui/qbrush.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qpixmap.h \ + /usr/include/qt5/QtCore/qsharedpointer.h \ + /usr/include/qt5/QtCore/qshareddata.h \ + /usr/include/qt5/QtCore/qsharedpointer_impl.h \ + /usr/include/qt5/QtCore/qhash.h \ + /usr/include/qt5/QtGui/qfont.h \ + /usr/include/qt5/QtGui/qfontmetrics.h \ + /usr/include/qt5/QtGui/qfontinfo.h \ + /usr/include/qt5/QtWidgets/qsizepolicy.h \ + /usr/include/qt5/QtGui/qcursor.h \ + /usr/include/qt5/QtGui/qkeysequence.h \ + /usr/include/qt5/QtGui/qevent.h \ + /usr/include/qt5/QtCore/qvariant.h \ + /usr/include/qt5/QtCore/qmap.h \ + /usr/include/qt5/QtCore/qdebug.h \ + /usr/include/qt5/QtCore/qtextstream.h \ + /usr/include/qt5/QtCore/qlocale.h \ + /usr/include/qt5/QtCore/qset.h \ + /usr/include/qt5/QtCore/qcontiguouscache.h \ + /usr/include/qt5/QtCore/qurl.h \ + /usr/include/qt5/QtCore/qurlquery.h \ + /usr/include/qt5/QtCore/qfile.h \ + /usr/include/qt5/QtCore/qfiledevice.h \ + /usr/include/qt5/QtGui/qvector2d.h \ + /usr/include/qt5/QtGui/qtouchdevice.h \ + /usr/include/qt5/QtWidgets/qtabwidget.h \ + /usr/include/qt5/QtGui/qicon.h \ + ui_chatwindow.h \ + /usr/include/qt5/QtCore/QVariant \ + /usr/include/qt5/QtWidgets/QAction \ + /usr/include/qt5/QtWidgets/qaction.h \ + /usr/include/qt5/QtWidgets/qactiongroup.h \ + /usr/include/qt5/QtWidgets/QApplication \ + /usr/include/qt5/QtWidgets/qapplication.h \ + /usr/include/qt5/QtCore/qcoreapplication.h \ + /usr/include/qt5/QtCore/qeventloop.h \ + /usr/include/qt5/QtWidgets/qdesktopwidget.h \ + /usr/include/qt5/QtGui/qguiapplication.h \ + /usr/include/qt5/QtGui/qinputmethod.h \ + /usr/include/qt5/QtWidgets/QButtonGroup \ + /usr/include/qt5/QtWidgets/qbuttongroup.h \ + /usr/include/qt5/QtWidgets/QGridLayout \ + /usr/include/qt5/QtWidgets/qgridlayout.h \ + /usr/include/qt5/QtWidgets/qlayout.h \ + /usr/include/qt5/QtWidgets/qlayoutitem.h \ + /usr/include/qt5/QtWidgets/qboxlayout.h \ + /usr/include/qt5/QtWidgets/QHeaderView \ + /usr/include/qt5/QtWidgets/qheaderview.h \ + /usr/include/qt5/QtWidgets/qabstractitemview.h \ + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \ + /usr/include/qt5/QtWidgets/qframe.h \ + /usr/include/qt5/QtCore/qabstractitemmodel.h \ + /usr/include/qt5/QtCore/qitemselectionmodel.h \ + /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \ + /usr/include/qt5/QtWidgets/qstyleoption.h \ + /usr/include/qt5/QtWidgets/qabstractspinbox.h \ + /usr/include/qt5/QtGui/qvalidator.h \ + /usr/include/qt5/QtWidgets/qslider.h \ + /usr/include/qt5/QtWidgets/qabstractslider.h \ + /usr/include/qt5/QtWidgets/qstyle.h \ + /usr/include/qt5/QtWidgets/qtabbar.h \ + /usr/include/qt5/QtWidgets/qrubberband.h \ + /usr/include/qt5/QtWidgets/QMenuBar \ + /usr/include/qt5/QtWidgets/qmenubar.h \ + /usr/include/qt5/QtWidgets/qmenu.h \ + /usr/include/qt5/QtWidgets/QSpacerItem \ + /usr/include/qt5/QtWidgets/QTextBrowser \ + /usr/include/qt5/QtWidgets/qtextbrowser.h \ + /usr/include/qt5/QtWidgets/qtextedit.h \ + /usr/include/qt5/QtGui/qtextdocument.h \ + /usr/include/qt5/QtGui/qtextoption.h \ + /usr/include/qt5/QtGui/qtextcursor.h \ + /usr/include/qt5/QtGui/qtextformat.h \ + /usr/include/qt5/QtGui/qpen.h \ + /usr/include/qt5/QtWidgets/QTextEdit \ + /usr/include/qt5/QtWidgets/QWidget + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatwindow.o ../QChatClient/chatwindow.cpp + +loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \ + /usr/include/qt5/QtWidgets/QDialog \ + /usr/include/qt5/QtWidgets/qdialog.h \ + /usr/include/qt5/QtWidgets/qwidget.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + /usr/include/qt5/QtCore/qmargins.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtGui/qpalette.h \ + /usr/include/qt5/QtGui/qcolor.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtGui/qbrush.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qpixmap.h \ + /usr/include/qt5/QtCore/qsharedpointer.h \ + /usr/include/qt5/QtCore/qshareddata.h \ + /usr/include/qt5/QtCore/qsharedpointer_impl.h \ + /usr/include/qt5/QtCore/qhash.h \ + /usr/include/qt5/QtGui/qfont.h \ + /usr/include/qt5/QtGui/qfontmetrics.h \ + /usr/include/qt5/QtGui/qfontinfo.h \ + /usr/include/qt5/QtWidgets/qsizepolicy.h \ + /usr/include/qt5/QtGui/qcursor.h \ + /usr/include/qt5/QtGui/qkeysequence.h \ + /usr/include/qt5/QtGui/qevent.h \ + /usr/include/qt5/QtCore/qvariant.h \ + /usr/include/qt5/QtCore/qmap.h \ + /usr/include/qt5/QtCore/qdebug.h \ + /usr/include/qt5/QtCore/qtextstream.h \ + /usr/include/qt5/QtCore/qlocale.h \ + /usr/include/qt5/QtCore/qset.h \ + /usr/include/qt5/QtCore/qcontiguouscache.h \ + /usr/include/qt5/QtCore/qurl.h \ + /usr/include/qt5/QtCore/qurlquery.h \ + /usr/include/qt5/QtCore/qfile.h \ + /usr/include/qt5/QtCore/qfiledevice.h \ + /usr/include/qt5/QtGui/qvector2d.h \ + /usr/include/qt5/QtGui/qtouchdevice.h \ + ui_loginscreen.h \ + /usr/include/qt5/QtCore/QVariant \ + /usr/include/qt5/QtWidgets/QAction \ + /usr/include/qt5/QtWidgets/qaction.h \ + /usr/include/qt5/QtGui/qicon.h \ + /usr/include/qt5/QtWidgets/qactiongroup.h \ + /usr/include/qt5/QtWidgets/QApplication \ + /usr/include/qt5/QtWidgets/qapplication.h \ + /usr/include/qt5/QtCore/qcoreapplication.h \ + /usr/include/qt5/QtCore/qeventloop.h \ + /usr/include/qt5/QtWidgets/qdesktopwidget.h \ + /usr/include/qt5/QtGui/qguiapplication.h \ + /usr/include/qt5/QtGui/qinputmethod.h \ + /usr/include/qt5/QtWidgets/QButtonGroup \ + /usr/include/qt5/QtWidgets/qbuttongroup.h \ + /usr/include/qt5/QtWidgets/QComboBox \ + /usr/include/qt5/QtWidgets/qcombobox.h \ + /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \ + /usr/include/qt5/QtWidgets/qstyleoption.h \ + /usr/include/qt5/QtWidgets/qabstractspinbox.h \ + /usr/include/qt5/QtGui/qvalidator.h \ + /usr/include/qt5/QtWidgets/qslider.h \ + /usr/include/qt5/QtWidgets/qabstractslider.h \ + /usr/include/qt5/QtWidgets/qstyle.h \ + /usr/include/qt5/QtWidgets/qtabbar.h \ + /usr/include/qt5/QtWidgets/qtabwidget.h \ + /usr/include/qt5/QtWidgets/qrubberband.h \ + /usr/include/qt5/QtWidgets/qframe.h \ + /usr/include/qt5/QtCore/qabstractitemmodel.h \ + /usr/include/qt5/QtWidgets/QGridLayout \ + /usr/include/qt5/QtWidgets/qgridlayout.h \ + /usr/include/qt5/QtWidgets/qlayout.h \ + /usr/include/qt5/QtWidgets/qlayoutitem.h \ + /usr/include/qt5/QtWidgets/qboxlayout.h \ + /usr/include/qt5/QtWidgets/QHeaderView \ + /usr/include/qt5/QtWidgets/qheaderview.h \ + /usr/include/qt5/QtWidgets/qabstractitemview.h \ + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \ + /usr/include/qt5/QtCore/qitemselectionmodel.h \ + /usr/include/qt5/QtWidgets/QLabel \ + /usr/include/qt5/QtWidgets/qlabel.h \ + /usr/include/qt5/QtWidgets/QLineEdit \ + /usr/include/qt5/QtWidgets/qlineedit.h \ + /usr/include/qt5/QtGui/qtextcursor.h \ + /usr/include/qt5/QtGui/qtextformat.h \ + /usr/include/qt5/QtGui/qpen.h \ + /usr/include/qt5/QtGui/qtextoption.h \ + /usr/include/qt5/QtWidgets/QPushButton \ + /usr/include/qt5/QtWidgets/qpushbutton.h \ + /usr/include/qt5/QtWidgets/qabstractbutton.h \ + /usr/include/qt5/QtWidgets/QSpacerItem \ + /usr/include/qt5/QtWidgets/QWidget + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o loginscreen.o ../QChatClient/loginscreen.cpp + +chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselect.h \ + /usr/include/qt5/QtWidgets/QDialog \ + /usr/include/qt5/QtWidgets/qdialog.h \ + /usr/include/qt5/QtWidgets/qwidget.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + /usr/include/qt5/QtCore/qmargins.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtGui/qpalette.h \ + /usr/include/qt5/QtGui/qcolor.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtGui/qbrush.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qpixmap.h \ + /usr/include/qt5/QtCore/qsharedpointer.h \ + /usr/include/qt5/QtCore/qshareddata.h \ + /usr/include/qt5/QtCore/qsharedpointer_impl.h \ + /usr/include/qt5/QtCore/qhash.h \ + /usr/include/qt5/QtGui/qfont.h \ + /usr/include/qt5/QtGui/qfontmetrics.h \ + /usr/include/qt5/QtGui/qfontinfo.h \ + /usr/include/qt5/QtWidgets/qsizepolicy.h \ + /usr/include/qt5/QtGui/qcursor.h \ + /usr/include/qt5/QtGui/qkeysequence.h \ + /usr/include/qt5/QtGui/qevent.h \ + /usr/include/qt5/QtCore/qvariant.h \ + /usr/include/qt5/QtCore/qmap.h \ + /usr/include/qt5/QtCore/qdebug.h \ + /usr/include/qt5/QtCore/qtextstream.h \ + /usr/include/qt5/QtCore/qlocale.h \ + /usr/include/qt5/QtCore/qset.h \ + /usr/include/qt5/QtCore/qcontiguouscache.h \ + /usr/include/qt5/QtCore/qurl.h \ + /usr/include/qt5/QtCore/qurlquery.h \ + /usr/include/qt5/QtCore/qfile.h \ + /usr/include/qt5/QtCore/qfiledevice.h \ + /usr/include/qt5/QtGui/qvector2d.h \ + /usr/include/qt5/QtGui/qtouchdevice.h \ + ui_chatroomselect.h \ + /usr/include/qt5/QtCore/QVariant \ + /usr/include/qt5/QtWidgets/QAction \ + /usr/include/qt5/QtWidgets/qaction.h \ + /usr/include/qt5/QtGui/qicon.h \ + /usr/include/qt5/QtWidgets/qactiongroup.h \ + /usr/include/qt5/QtWidgets/QApplication \ + /usr/include/qt5/QtWidgets/qapplication.h \ + /usr/include/qt5/QtCore/qcoreapplication.h \ + /usr/include/qt5/QtCore/qeventloop.h \ + /usr/include/qt5/QtWidgets/qdesktopwidget.h \ + /usr/include/qt5/QtGui/qguiapplication.h \ + /usr/include/qt5/QtGui/qinputmethod.h \ + /usr/include/qt5/QtWidgets/QButtonGroup \ + /usr/include/qt5/QtWidgets/qbuttongroup.h \ + /usr/include/qt5/QtWidgets/QColumnView \ + /usr/include/qt5/QtWidgets/qcolumnview.h \ + /usr/include/qt5/QtWidgets/qabstractitemview.h \ + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \ + /usr/include/qt5/QtWidgets/qframe.h \ + /usr/include/qt5/QtCore/qabstractitemmodel.h \ + /usr/include/qt5/QtCore/qitemselectionmodel.h \ + /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \ + /usr/include/qt5/QtWidgets/qstyleoption.h \ + /usr/include/qt5/QtWidgets/qabstractspinbox.h \ + /usr/include/qt5/QtGui/qvalidator.h \ + /usr/include/qt5/QtWidgets/qslider.h \ + /usr/include/qt5/QtWidgets/qabstractslider.h \ + /usr/include/qt5/QtWidgets/qstyle.h \ + /usr/include/qt5/QtWidgets/qtabbar.h \ + /usr/include/qt5/QtWidgets/qtabwidget.h \ + /usr/include/qt5/QtWidgets/qrubberband.h \ + /usr/include/qt5/QtWidgets/QGridLayout \ + /usr/include/qt5/QtWidgets/qgridlayout.h \ + /usr/include/qt5/QtWidgets/qlayout.h \ + /usr/include/qt5/QtWidgets/qlayoutitem.h \ + /usr/include/qt5/QtWidgets/qboxlayout.h \ + /usr/include/qt5/QtWidgets/QHeaderView \ + /usr/include/qt5/QtWidgets/qheaderview.h \ + /usr/include/qt5/QtWidgets/QLabel \ + /usr/include/qt5/QtWidgets/qlabel.h \ + /usr/include/qt5/QtWidgets/QPushButton \ + /usr/include/qt5/QtWidgets/qpushbutton.h \ + /usr/include/qt5/QtWidgets/qabstractbutton.h \ + /usr/include/qt5/QtWidgets/QSpacerItem \ + /usr/include/qt5/QtWidgets/QWidget + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatroomselect.o ../QChatClient/chatroomselect.cpp + +chatroom.o: ../QChatClient/chatroom.cpp ../QChatClient/chatroom.h \ + /usr/include/qt5/QtWidgets/QMainWindow \ + /usr/include/qt5/QtWidgets/qmainwindow.h \ + /usr/include/qt5/QtWidgets/qwidget.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + /usr/include/qt5/QtCore/qmargins.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtGui/qpalette.h \ + /usr/include/qt5/QtGui/qcolor.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtGui/qbrush.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qpixmap.h \ + /usr/include/qt5/QtCore/qsharedpointer.h \ + /usr/include/qt5/QtCore/qshareddata.h \ + /usr/include/qt5/QtCore/qsharedpointer_impl.h \ + /usr/include/qt5/QtCore/qhash.h \ + /usr/include/qt5/QtGui/qfont.h \ + /usr/include/qt5/QtGui/qfontmetrics.h \ + /usr/include/qt5/QtGui/qfontinfo.h \ + /usr/include/qt5/QtWidgets/qsizepolicy.h \ + /usr/include/qt5/QtGui/qcursor.h \ + /usr/include/qt5/QtGui/qkeysequence.h \ + /usr/include/qt5/QtGui/qevent.h \ + /usr/include/qt5/QtCore/qvariant.h \ + /usr/include/qt5/QtCore/qmap.h \ + /usr/include/qt5/QtCore/qdebug.h \ + /usr/include/qt5/QtCore/qtextstream.h \ + /usr/include/qt5/QtCore/qlocale.h \ + /usr/include/qt5/QtCore/qset.h \ + /usr/include/qt5/QtCore/qcontiguouscache.h \ + /usr/include/qt5/QtCore/qurl.h \ + /usr/include/qt5/QtCore/qurlquery.h \ + /usr/include/qt5/QtCore/qfile.h \ + /usr/include/qt5/QtCore/qfiledevice.h \ + /usr/include/qt5/QtGui/qvector2d.h \ + /usr/include/qt5/QtGui/qtouchdevice.h \ + /usr/include/qt5/QtWidgets/qtabwidget.h \ + /usr/include/qt5/QtGui/qicon.h \ + ui_chatroom.h \ + /usr/include/qt5/QtCore/QVariant \ + /usr/include/qt5/QtWidgets/QAction \ + /usr/include/qt5/QtWidgets/qaction.h \ + /usr/include/qt5/QtWidgets/qactiongroup.h \ + /usr/include/qt5/QtWidgets/QApplication \ + /usr/include/qt5/QtWidgets/qapplication.h \ + /usr/include/qt5/QtCore/qcoreapplication.h \ + /usr/include/qt5/QtCore/qeventloop.h \ + /usr/include/qt5/QtWidgets/qdesktopwidget.h \ + /usr/include/qt5/QtGui/qguiapplication.h \ + /usr/include/qt5/QtGui/qinputmethod.h \ + /usr/include/qt5/QtWidgets/QButtonGroup \ + /usr/include/qt5/QtWidgets/qbuttongroup.h \ + /usr/include/qt5/QtWidgets/QGridLayout \ + /usr/include/qt5/QtWidgets/qgridlayout.h \ + /usr/include/qt5/QtWidgets/qlayout.h \ + /usr/include/qt5/QtWidgets/qlayoutitem.h \ + /usr/include/qt5/QtWidgets/qboxlayout.h \ + /usr/include/qt5/QtWidgets/QHeaderView \ + /usr/include/qt5/QtWidgets/qheaderview.h \ + /usr/include/qt5/QtWidgets/qabstractitemview.h \ + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \ + /usr/include/qt5/QtWidgets/qframe.h \ + /usr/include/qt5/QtCore/qabstractitemmodel.h \ + /usr/include/qt5/QtCore/qitemselectionmodel.h \ + /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \ + /usr/include/qt5/QtWidgets/qstyleoption.h \ + /usr/include/qt5/QtWidgets/qabstractspinbox.h \ + /usr/include/qt5/QtGui/qvalidator.h \ + /usr/include/qt5/QtWidgets/qslider.h \ + /usr/include/qt5/QtWidgets/qabstractslider.h \ + /usr/include/qt5/QtWidgets/qstyle.h \ + /usr/include/qt5/QtWidgets/qtabbar.h \ + /usr/include/qt5/QtWidgets/qrubberband.h \ + /usr/include/qt5/QtWidgets/QListView \ + /usr/include/qt5/QtWidgets/qlistview.h \ + /usr/include/qt5/QtWidgets/QMenuBar \ + /usr/include/qt5/QtWidgets/qmenubar.h \ + /usr/include/qt5/QtWidgets/qmenu.h \ + /usr/include/qt5/QtWidgets/QTextBrowser \ + /usr/include/qt5/QtWidgets/qtextbrowser.h \ + /usr/include/qt5/QtWidgets/qtextedit.h \ + /usr/include/qt5/QtGui/qtextdocument.h \ + /usr/include/qt5/QtGui/qtextoption.h \ + /usr/include/qt5/QtGui/qtextcursor.h \ + /usr/include/qt5/QtGui/qtextformat.h \ + /usr/include/qt5/QtGui/qpen.h \ + /usr/include/qt5/QtWidgets/QTextEdit \ + /usr/include/qt5/QtWidgets/QWidget + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatroom.o ../QChatClient/chatroom.cpp + +Socket.o: ../QChatClient/Socket.cpp ../QChatClient/Socket.h \ + ../QChatClient/SocketException.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Socket.o ../QChatClient/Socket.cpp + +client.o: ../QChatClient/client.cpp ../QChatClient/client.h \ + ../QChatClient/Socket.h \ + ../QChatClient/SocketException.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o client.o ../QChatClient/client.cpp + +moc_chatwindow.o: moc_chatwindow.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatwindow.o moc_chatwindow.cpp + +moc_loginscreen.o: moc_loginscreen.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_loginscreen.o moc_loginscreen.cpp + +moc_chatroomselect.o: moc_chatroomselect.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatroomselect.o moc_chatroomselect.cpp + +moc_chatroom.o: moc_chatroom.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatroom.o moc_chatroom.cpp + +####### Install + +install: FORCE + +uninstall: FORCE + +FORCE: + diff --git a/build-QChatClient-Desktop-Debug/QChatClient b/build-QChatClient-Desktop-Debug/QChatClient new file mode 100755 index 0000000..70b96e5 Binary files /dev/null and b/build-QChatClient-Desktop-Debug/QChatClient differ diff --git a/build-QChatClient-Desktop-Debug/moc_chatroom.cpp b/build-QChatClient-Desktop-Debug/moc_chatroom.cpp new file mode 100644 index 0000000..6456f86 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/moc_chatroom.cpp @@ -0,0 +1,88 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'chatroom.h' +** +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../QChatClient/chatroom.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'chatroom.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.0.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +struct qt_meta_stringdata_Chatroom_t { + QByteArrayData data[1]; + char stringdata[10]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + offsetof(qt_meta_stringdata_Chatroom_t, stringdata) + ofs \ + - idx * sizeof(QByteArrayData) \ + ) +static const qt_meta_stringdata_Chatroom_t qt_meta_stringdata_Chatroom = { + { +QT_MOC_LITERAL(0, 0, 8) + }, + "Chatroom\0" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_Chatroom[] = { + + // content: + 7, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +void Chatroom::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + Q_UNUSED(_o); + Q_UNUSED(_id); + Q_UNUSED(_c); + Q_UNUSED(_a); +} + +const QMetaObject Chatroom::staticMetaObject = { + { &QMainWindow::staticMetaObject, qt_meta_stringdata_Chatroom.data, + qt_meta_data_Chatroom, qt_static_metacall, 0, 0} +}; + + +const QMetaObject *Chatroom::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *Chatroom::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_Chatroom.stringdata)) + return static_cast(const_cast< Chatroom*>(this)); + return QMainWindow::qt_metacast(_clname); +} + +int Chatroom::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QMainWindow::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/build-QChatClient-Desktop-Debug/moc_chatroomselect.cpp b/build-QChatClient-Desktop-Debug/moc_chatroomselect.cpp new file mode 100644 index 0000000..3afdc0f --- /dev/null +++ b/build-QChatClient-Desktop-Debug/moc_chatroomselect.cpp @@ -0,0 +1,88 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'chatroomselect.h' +** +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../QChatClient/chatroomselect.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'chatroomselect.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.0.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +struct qt_meta_stringdata_ChatroomSelect_t { + QByteArrayData data[1]; + char stringdata[16]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + offsetof(qt_meta_stringdata_ChatroomSelect_t, stringdata) + ofs \ + - idx * sizeof(QByteArrayData) \ + ) +static const qt_meta_stringdata_ChatroomSelect_t qt_meta_stringdata_ChatroomSelect = { + { +QT_MOC_LITERAL(0, 0, 14) + }, + "ChatroomSelect\0" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_ChatroomSelect[] = { + + // content: + 7, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +void ChatroomSelect::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + Q_UNUSED(_o); + Q_UNUSED(_id); + Q_UNUSED(_c); + Q_UNUSED(_a); +} + +const QMetaObject ChatroomSelect::staticMetaObject = { + { &QDialog::staticMetaObject, qt_meta_stringdata_ChatroomSelect.data, + qt_meta_data_ChatroomSelect, qt_static_metacall, 0, 0} +}; + + +const QMetaObject *ChatroomSelect::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *ChatroomSelect::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_ChatroomSelect.stringdata)) + return static_cast(const_cast< ChatroomSelect*>(this)); + return QDialog::qt_metacast(_clname); +} + +int ChatroomSelect::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QDialog::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/build-QChatClient-Desktop-Debug/moc_chatwindow.cpp b/build-QChatClient-Desktop-Debug/moc_chatwindow.cpp new file mode 100644 index 0000000..8b57732 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/moc_chatwindow.cpp @@ -0,0 +1,88 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'chatwindow.h' +** +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../QChatClient/chatwindow.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'chatwindow.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.0.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +struct qt_meta_stringdata_ChatWindow_t { + QByteArrayData data[1]; + char stringdata[12]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + offsetof(qt_meta_stringdata_ChatWindow_t, stringdata) + ofs \ + - idx * sizeof(QByteArrayData) \ + ) +static const qt_meta_stringdata_ChatWindow_t qt_meta_stringdata_ChatWindow = { + { +QT_MOC_LITERAL(0, 0, 10) + }, + "ChatWindow\0" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_ChatWindow[] = { + + // content: + 7, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +void ChatWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + Q_UNUSED(_o); + Q_UNUSED(_id); + Q_UNUSED(_c); + Q_UNUSED(_a); +} + +const QMetaObject ChatWindow::staticMetaObject = { + { &QMainWindow::staticMetaObject, qt_meta_stringdata_ChatWindow.data, + qt_meta_data_ChatWindow, qt_static_metacall, 0, 0} +}; + + +const QMetaObject *ChatWindow::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *ChatWindow::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_ChatWindow.stringdata)) + return static_cast(const_cast< ChatWindow*>(this)); + return QMainWindow::qt_metacast(_clname); +} + +int ChatWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QMainWindow::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/build-QChatClient-Desktop-Debug/moc_loginscreen.cpp b/build-QChatClient-Desktop-Debug/moc_loginscreen.cpp new file mode 100644 index 0000000..3d087ac --- /dev/null +++ b/build-QChatClient-Desktop-Debug/moc_loginscreen.cpp @@ -0,0 +1,88 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'loginscreen.h' +** +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../QChatClient/loginscreen.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'loginscreen.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.0.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +struct qt_meta_stringdata_LoginScreen_t { + QByteArrayData data[1]; + char stringdata[13]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + offsetof(qt_meta_stringdata_LoginScreen_t, stringdata) + ofs \ + - idx * sizeof(QByteArrayData) \ + ) +static const qt_meta_stringdata_LoginScreen_t qt_meta_stringdata_LoginScreen = { + { +QT_MOC_LITERAL(0, 0, 11) + }, + "LoginScreen\0" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_LoginScreen[] = { + + // content: + 7, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +void LoginScreen::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + Q_UNUSED(_o); + Q_UNUSED(_id); + Q_UNUSED(_c); + Q_UNUSED(_a); +} + +const QMetaObject LoginScreen::staticMetaObject = { + { &QDialog::staticMetaObject, qt_meta_stringdata_LoginScreen.data, + qt_meta_data_LoginScreen, qt_static_metacall, 0, 0} +}; + + +const QMetaObject *LoginScreen::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *LoginScreen::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_LoginScreen.stringdata)) + return static_cast(const_cast< LoginScreen*>(this)); + return QDialog::qt_metacast(_clname); +} + +int LoginScreen::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QDialog::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/build-QChatClient-Desktop-Debug/ui_chatroom.h b/build-QChatClient-Desktop-Debug/ui_chatroom.h new file mode 100644 index 0000000..95745bd --- /dev/null +++ b/build-QChatClient-Desktop-Debug/ui_chatroom.h @@ -0,0 +1,107 @@ +/******************************************************************************** +** Form generated from reading UI file 'chatroom.ui' +** +** Created by: Qt User Interface Compiler version 5.0.2 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_CHATROOM_H +#define UI_CHATROOM_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Ui_Chatroom +{ +public: + QWidget *centralwidget; + QGridLayout *gridLayout; + QListView *listView; + QTextBrowser *textBrowser; + QTextEdit *textEdit; + QFrame *frame; + QMenuBar *menubar; + + void setupUi(QMainWindow *Chatroom) + { + if (Chatroom->objectName().isEmpty()) + Chatroom->setObjectName(QStringLiteral("Chatroom")); + Chatroom->resize(800, 600); + centralwidget = new QWidget(Chatroom); + centralwidget->setObjectName(QStringLiteral("centralwidget")); + gridLayout = new QGridLayout(centralwidget); + gridLayout->setObjectName(QStringLiteral("gridLayout")); + listView = new QListView(centralwidget); + listView->setObjectName(QStringLiteral("listView")); + QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding); + sizePolicy.setHorizontalStretch(0); + sizePolicy.setVerticalStretch(0); + sizePolicy.setHeightForWidth(listView->sizePolicy().hasHeightForWidth()); + listView->setSizePolicy(sizePolicy); + listView->setMaximumSize(QSize(150, 16777215)); + + gridLayout->addWidget(listView, 0, 2, 1, 1); + + textBrowser = new QTextBrowser(centralwidget); + textBrowser->setObjectName(QStringLiteral("textBrowser")); + + gridLayout->addWidget(textBrowser, 0, 1, 1, 1); + + textEdit = new QTextEdit(centralwidget); + textEdit->setObjectName(QStringLiteral("textEdit")); + QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Fixed); + sizePolicy1.setHorizontalStretch(0); + sizePolicy1.setVerticalStretch(0); + sizePolicy1.setHeightForWidth(textEdit->sizePolicy().hasHeightForWidth()); + textEdit->setSizePolicy(sizePolicy1); + textEdit->setMinimumSize(QSize(0, 100)); + textEdit->setMaximumSize(QSize(16777215, 100)); + + gridLayout->addWidget(textEdit, 2, 1, 1, 2); + + frame = new QFrame(centralwidget); + frame->setObjectName(QStringLiteral("frame")); + frame->setFrameShape(QFrame::StyledPanel); + frame->setFrameShadow(QFrame::Raised); + + gridLayout->addWidget(frame, 1, 1, 1, 1); + + Chatroom->setCentralWidget(centralwidget); + menubar = new QMenuBar(Chatroom); + menubar->setObjectName(QStringLiteral("menubar")); + menubar->setGeometry(QRect(0, 0, 800, 25)); + Chatroom->setMenuBar(menubar); + + retranslateUi(Chatroom); + + QMetaObject::connectSlotsByName(Chatroom); + } // setupUi + + void retranslateUi(QMainWindow *Chatroom) + { + Chatroom->setWindowTitle(QApplication::translate("Chatroom", "MainWindow", 0)); + } // retranslateUi + +}; + +namespace Ui { + class Chatroom: public Ui_Chatroom {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // UI_CHATROOM_H diff --git a/build-QChatClient-Desktop-Debug/ui_chatroomselect.h b/build-QChatClient-Desktop-Debug/ui_chatroomselect.h new file mode 100644 index 0000000..ceef2c6 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/ui_chatroomselect.h @@ -0,0 +1,154 @@ +/******************************************************************************** +** Form generated from reading UI file 'chatroomselect.ui' +** +** Created by: Qt User Interface Compiler version 5.0.2 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_CHATROOMSELECT_H +#define UI_CHATROOMSELECT_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Ui_ChatroomSelect +{ +public: + QGridLayout *gridLayout; + QSpacerItem *listVertSpacer; + QWidget *buttonBox; + QGridLayout *gridLayout_3; + QPushButton *okButton; + QPushButton *cancelButton; + QSpacerItem *buttonHorizSpacer; + QSpacerItem *topSpacer; + QSpacerItem *leftSpacer; + QColumnView *chatroomList; + QLabel *titleLabel; + QWidget *roomButtonBox; + QGridLayout *gridLayout_2; + QPushButton *editButton; + QPushButton *removeButton; + QPushButton *addButton; + QSpacerItem *buttonVertSpacer; + QSpacerItem *listHorizSpacer; + + void setupUi(QDialog *ChatroomSelect) + { + if (ChatroomSelect->objectName().isEmpty()) + ChatroomSelect->setObjectName(QStringLiteral("ChatroomSelect")); + ChatroomSelect->resize(555, 379); + gridLayout = new QGridLayout(ChatroomSelect); + gridLayout->setObjectName(QStringLiteral("gridLayout")); + listVertSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed); + + gridLayout->addItem(listVertSpacer, 2, 1, 1, 1); + + buttonBox = new QWidget(ChatroomSelect); + buttonBox->setObjectName(QStringLiteral("buttonBox")); + gridLayout_3 = new QGridLayout(buttonBox); + gridLayout_3->setObjectName(QStringLiteral("gridLayout_3")); + okButton = new QPushButton(buttonBox); + okButton->setObjectName(QStringLiteral("okButton")); + + gridLayout_3->addWidget(okButton, 0, 1, 1, 1); + + cancelButton = new QPushButton(buttonBox); + cancelButton->setObjectName(QStringLiteral("cancelButton")); + + gridLayout_3->addWidget(cancelButton, 0, 2, 1, 1); + + buttonHorizSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + + gridLayout_3->addItem(buttonHorizSpacer, 0, 0, 1, 1); + + + gridLayout->addWidget(buttonBox, 5, 1, 1, 3); + + topSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed); + + gridLayout->addItem(topSpacer, 0, 1, 1, 1); + + leftSpacer = new QSpacerItem(10, 20, QSizePolicy::Fixed, QSizePolicy::Minimum); + + gridLayout->addItem(leftSpacer, 3, 0, 1, 1); + + chatroomList = new QColumnView(ChatroomSelect); + chatroomList->setObjectName(QStringLiteral("chatroomList")); + + gridLayout->addWidget(chatroomList, 3, 1, 1, 1); + + titleLabel = new QLabel(ChatroomSelect); + titleLabel->setObjectName(QStringLiteral("titleLabel")); + + gridLayout->addWidget(titleLabel, 1, 1, 1, 1); + + roomButtonBox = new QWidget(ChatroomSelect); + roomButtonBox->setObjectName(QStringLiteral("roomButtonBox")); + gridLayout_2 = new QGridLayout(roomButtonBox); + gridLayout_2->setObjectName(QStringLiteral("gridLayout_2")); + editButton = new QPushButton(roomButtonBox); + editButton->setObjectName(QStringLiteral("editButton")); + + gridLayout_2->addWidget(editButton, 1, 0, 1, 1); + + removeButton = new QPushButton(roomButtonBox); + removeButton->setObjectName(QStringLiteral("removeButton")); + + gridLayout_2->addWidget(removeButton, 2, 0, 1, 1); + + addButton = new QPushButton(roomButtonBox); + addButton->setObjectName(QStringLiteral("addButton")); + + gridLayout_2->addWidget(addButton, 0, 0, 1, 1); + + buttonVertSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); + + gridLayout_2->addItem(buttonVertSpacer, 3, 0, 1, 1); + + + gridLayout->addWidget(roomButtonBox, 3, 3, 1, 1); + + listHorizSpacer = new QSpacerItem(5, 20, QSizePolicy::Fixed, QSizePolicy::Minimum); + + gridLayout->addItem(listHorizSpacer, 3, 2, 1, 1); + + + retranslateUi(ChatroomSelect); + + QMetaObject::connectSlotsByName(ChatroomSelect); + } // setupUi + + void retranslateUi(QDialog *ChatroomSelect) + { + ChatroomSelect->setWindowTitle(QApplication::translate("ChatroomSelect", "Dialog", 0)); + okButton->setText(QApplication::translate("ChatroomSelect", "OK", 0)); + cancelButton->setText(QApplication::translate("ChatroomSelect", "Cancel", 0)); + titleLabel->setText(QApplication::translate("ChatroomSelect", "Select one chatroom from the list:", 0)); + editButton->setText(QApplication::translate("ChatroomSelect", "Edit", 0)); + removeButton->setText(QApplication::translate("ChatroomSelect", "Delete", 0)); + addButton->setText(QApplication::translate("ChatroomSelect", "Add", 0)); + } // retranslateUi + +}; + +namespace Ui { + class ChatroomSelect: public Ui_ChatroomSelect {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // UI_CHATROOMSELECT_H diff --git a/build-QChatClient-Desktop-Debug/ui_chatwindow.h b/build-QChatClient-Desktop-Debug/ui_chatwindow.h new file mode 100644 index 0000000..35c3582 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/ui_chatwindow.h @@ -0,0 +1,119 @@ +/******************************************************************************** +** Form generated from reading UI file 'chatwindow.ui' +** +** Created by: Qt User Interface Compiler version 5.0.2 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_CHATWINDOW_H +#define UI_CHATWINDOW_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Ui_ChatWindow +{ +public: + QWidget *centralWidget; + QGridLayout *gridLayout; + QSpacerItem *verticalSpacer; + QTextBrowser *chatText; + QSpacerItem *verticalSpacer_2; + QSpacerItem *horizontalSpacer_2; + QTextEdit *inputText; + QSpacerItem *horizontalSpacer; + QSpacerItem *verticalSpacer_3; + QMenuBar *menuBar; + + void setupUi(QMainWindow *ChatWindow) + { + if (ChatWindow->objectName().isEmpty()) + ChatWindow->setObjectName(QStringLiteral("ChatWindow")); + ChatWindow->resize(400, 449); + centralWidget = new QWidget(ChatWindow); + centralWidget->setObjectName(QStringLiteral("centralWidget")); + centralWidget->setEnabled(true); + QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + sizePolicy.setHorizontalStretch(0); + sizePolicy.setVerticalStretch(0); + sizePolicy.setHeightForWidth(centralWidget->sizePolicy().hasHeightForWidth()); + centralWidget->setSizePolicy(sizePolicy); + gridLayout = new QGridLayout(centralWidget); + gridLayout->setSpacing(6); + gridLayout->setContentsMargins(11, 11, 11, 11); + gridLayout->setObjectName(QStringLiteral("gridLayout")); + verticalSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed); + + gridLayout->addItem(verticalSpacer, 2, 1, 1, 1); + + chatText = new QTextBrowser(centralWidget); + chatText->setObjectName(QStringLiteral("chatText")); + + gridLayout->addWidget(chatText, 1, 1, 1, 1); + + verticalSpacer_2 = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed); + + gridLayout->addItem(verticalSpacer_2, 0, 1, 1, 1); + + horizontalSpacer_2 = new QSpacerItem(10, 20, QSizePolicy::Fixed, QSizePolicy::Minimum); + + gridLayout->addItem(horizontalSpacer_2, 1, 2, 1, 1); + + inputText = new QTextEdit(centralWidget); + inputText->setObjectName(QStringLiteral("inputText")); + QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Fixed); + sizePolicy1.setHorizontalStretch(0); + sizePolicy1.setVerticalStretch(0); + sizePolicy1.setHeightForWidth(inputText->sizePolicy().hasHeightForWidth()); + inputText->setSizePolicy(sizePolicy1); + inputText->setMinimumSize(QSize(0, 100)); + inputText->setMaximumSize(QSize(16777215, 100)); + + gridLayout->addWidget(inputText, 3, 1, 1, 1); + + horizontalSpacer = new QSpacerItem(10, 20, QSizePolicy::Fixed, QSizePolicy::Minimum); + + gridLayout->addItem(horizontalSpacer, 1, 0, 1, 1); + + verticalSpacer_3 = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed); + + gridLayout->addItem(verticalSpacer_3, 4, 1, 1, 1); + + ChatWindow->setCentralWidget(centralWidget); + menuBar = new QMenuBar(ChatWindow); + menuBar->setObjectName(QStringLiteral("menuBar")); + menuBar->setGeometry(QRect(0, 0, 400, 25)); + ChatWindow->setMenuBar(menuBar); + + retranslateUi(ChatWindow); + + QMetaObject::connectSlotsByName(ChatWindow); + } // setupUi + + void retranslateUi(QMainWindow *ChatWindow) + { + ChatWindow->setWindowTitle(QApplication::translate("ChatWindow", "ChatWindow", 0)); + } // retranslateUi + +}; + +namespace Ui { + class ChatWindow: public Ui_ChatWindow {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // UI_CHATWINDOW_H diff --git a/build-QChatClient-Desktop-Debug/ui_loginscreen.h b/build-QChatClient-Desktop-Debug/ui_loginscreen.h new file mode 100644 index 0000000..07e9ccd --- /dev/null +++ b/build-QChatClient-Desktop-Debug/ui_loginscreen.h @@ -0,0 +1,141 @@ +/******************************************************************************** +** Form generated from reading UI file 'loginscreen.ui' +** +** Created by: Qt User Interface Compiler version 5.0.2 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_LOGINSCREEN_H +#define UI_LOGINSCREEN_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Ui_LoginScreen +{ +public: + QGridLayout *gridLayout; + QComboBox *chatroomBox; + QSpacerItem *verticalSpacer; + QSpacerItem *rightSpacer; + QSpacerItem *topSpacer; + QLabel *titleLabel; + QWidget *buttonBox; + QGridLayout *gridLayout_2; + QPushButton *cancelButton; + QPushButton *connectButton; + QSpacerItem *buttonHorizSpacer; + QSpacerItem *leftSpacer; + QLineEdit *userEdit; + QLineEdit *passwordEdit; + + void setupUi(QDialog *LoginScreen) + { + if (LoginScreen->objectName().isEmpty()) + LoginScreen->setObjectName(QStringLiteral("LoginScreen")); + LoginScreen->resize(402, 204); + gridLayout = new QGridLayout(LoginScreen); + gridLayout->setObjectName(QStringLiteral("gridLayout")); + chatroomBox = new QComboBox(LoginScreen); + chatroomBox->setObjectName(QStringLiteral("chatroomBox")); + + gridLayout->addWidget(chatroomBox, 5, 1, 1, 1); + + verticalSpacer = new QSpacerItem(20, 10, QSizePolicy::Minimum, QSizePolicy::Fixed); + + gridLayout->addItem(verticalSpacer, 2, 1, 1, 1); + + rightSpacer = new QSpacerItem(10, 20, QSizePolicy::Minimum, QSizePolicy::Minimum); + + gridLayout->addItem(rightSpacer, 4, 2, 1, 1); + + topSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed); + + gridLayout->addItem(topSpacer, 0, 1, 1, 1); + + titleLabel = new QLabel(LoginScreen); + titleLabel->setObjectName(QStringLiteral("titleLabel")); + QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum); + sizePolicy.setHorizontalStretch(0); + sizePolicy.setVerticalStretch(0); + sizePolicy.setHeightForWidth(titleLabel->sizePolicy().hasHeightForWidth()); + titleLabel->setSizePolicy(sizePolicy); + titleLabel->setMaximumSize(QSize(16777215, 20)); + + gridLayout->addWidget(titleLabel, 1, 1, 1, 1); + + buttonBox = new QWidget(LoginScreen); + buttonBox->setObjectName(QStringLiteral("buttonBox")); + sizePolicy.setHeightForWidth(buttonBox->sizePolicy().hasHeightForWidth()); + buttonBox->setSizePolicy(sizePolicy); + gridLayout_2 = new QGridLayout(buttonBox); + gridLayout_2->setObjectName(QStringLiteral("gridLayout_2")); + cancelButton = new QPushButton(buttonBox); + cancelButton->setObjectName(QStringLiteral("cancelButton")); + + gridLayout_2->addWidget(cancelButton, 0, 2, 1, 1); + + connectButton = new QPushButton(buttonBox); + connectButton->setObjectName(QStringLiteral("connectButton")); + + gridLayout_2->addWidget(connectButton, 0, 1, 1, 1); + + buttonHorizSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + + gridLayout_2->addItem(buttonHorizSpacer, 0, 0, 1, 1); + + + gridLayout->addWidget(buttonBox, 6, 1, 1, 1); + + leftSpacer = new QSpacerItem(10, 20, QSizePolicy::Minimum, QSizePolicy::Minimum); + + gridLayout->addItem(leftSpacer, 3, 0, 1, 1); + + userEdit = new QLineEdit(LoginScreen); + userEdit->setObjectName(QStringLiteral("userEdit")); + + gridLayout->addWidget(userEdit, 3, 1, 1, 1); + + passwordEdit = new QLineEdit(LoginScreen); + passwordEdit->setObjectName(QStringLiteral("passwordEdit")); + + gridLayout->addWidget(passwordEdit, 4, 1, 1, 1); + + + retranslateUi(LoginScreen); + + QMetaObject::connectSlotsByName(LoginScreen); + } // setupUi + + void retranslateUi(QDialog *LoginScreen) + { + LoginScreen->setWindowTitle(QApplication::translate("LoginScreen", "Login", 0)); + chatroomBox->setCurrentText(QString()); + titleLabel->setText(QApplication::translate("LoginScreen", "Log in to chatroom", 0)); + cancelButton->setText(QApplication::translate("LoginScreen", "Cancel", 0)); + connectButton->setText(QApplication::translate("LoginScreen", "OK", 0)); + } // retranslateUi + +}; + +namespace Ui { + class LoginScreen: public Ui_LoginScreen {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // UI_LOGINSCREEN_H -- libgit2 0.22.2