Commit e2736cfe63a2efb14e8c4674d60d3696a6652ed1

Authored by Imanol-Mikel Barba Sabariego
1 parent 795619da

git-svn-id: svn://imanolbarba.net/PAD@34 c2ee353e-ed0d-4329-bf56-03aec153487f

QChatClient/QChatClient.pro
... ... @@ -13,8 +13,22 @@ TEMPLATE = app
13 13  
14 14  
15 15 SOURCES += main.cpp\
16   - chatwindow.cpp
  16 + chatwindow.cpp \
  17 + loginscreen.cpp \
  18 + chatroomselect.cpp \
  19 + chatroom.cpp \
  20 + Socket.cpp \
  21 + client.cpp
17 22  
18   -HEADERS += chatwindow.h
  23 +HEADERS += chatwindow.h \
  24 + loginscreen.h \
  25 + chatroomselect.h \
  26 + chatroom.h \
  27 + SocketException.h \
  28 + Socket.h \
  29 + client.h
19 30  
20   -FORMS += chatwindow.ui
  31 +FORMS += chatwindow.ui \
  32 + loginscreen.ui \
  33 + chatroomselect.ui \
  34 + chatroom.ui
... ...
QChatClient/QChatClient.pro.user
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3   -<!-- Written by QtCreator 2.7.1, 2013-12-10T14:22:09. -->
  3 +<!-- Written by QtCreator 2.7.1, 2013-12-12T01:17:13. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
... ... @@ -15,7 +15,7 @@
15 15 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
16 16 <value type="QByteArray" key="language">Cpp</value>
17 17 <valuemap type="QVariantMap" key="value">
18   - <value type="QString" key="CurrentPreferences">CppGlobal</value>
  18 + <value type="QString" key="CurrentPreferences">qt2</value>
19 19 </valuemap>
20 20 </valuemap>
21 21 <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
... ...
QChatClient/Socket.cpp 0 → 100644
  1 +/** @file
  2 +* \brief Fichero de implementación de la clase Socket
  3 +* \author Imanol Barba Sabariego
  4 +* \date 13/06/2013
  5 +*
  6 +* En este fichero se implementan los métodos de la clase Socket definidos en Socket.h
  7 +*/
  8 +#include "Socket.h"
  9 +
  10 +using namespace std;
  11 +
  12 +Socket::Socket()
  13 +{
  14 + sock = -1;
  15 +}
  16 +
  17 +int Socket::getSock()
  18 +{
  19 + return sock;
  20 +}
  21 +
  22 +void Socket::Create()
  23 +{
  24 + int optval = 1;
  25 + if((sock = socket(AF_INET, SOCK_STREAM, 0)) <= 0)
  26 + {
  27 + throw SocketException ( "TCP: Could not create socket" );
  28 + }
  29 + setsockopt(sock,SOL_SOCKET,SO_KEEPALIVE,&optval,sizeof optval);
  30 + setsockopt(sock, SOL_TCP, TCP_NODELAY, &optval, sizeof optval);
  31 +}
  32 +
  33 +void Socket::Bind(string address, int port)
  34 +{
  35 + sockAddr.sin_family = AF_INET;
  36 + sockAddr.sin_port = htons(port);
  37 + sockAddr.sin_addr.s_addr = inet_addr(address.c_str());
  38 + if(bind(sock, (struct sockaddr *)&sockAddr, sizeof(struct sockaddr)) != 0)
  39 + {
  40 + stringstream sstream;
  41 + sstream << "TCP: Could not bind to address " << address << " on port " << port;
  42 + throw SocketException ( sstream.str() );
  43 + }
  44 +}
  45 +
  46 +void Socket::Listen(int backlog)
  47 +{
  48 + if(listen(sock, backlog) != 0)
  49 + {
  50 + throw SocketException ( "TCP: Could not listen to socket" );
  51 + }
  52 +}
  53 +
  54 +void Socket::Accept(Socket &clientSock)
  55 +{
  56 + int size = sizeof(struct sockaddr);
  57 + clientSock.sock = accept(sock,(struct sockaddr *)&clientSock.sockAddr, (socklen_t *)&size);
  58 + if(clientSock.sock == -1)
  59 + {
  60 + throw SocketException ( "TCP: Could not accept incoming connection" );
  61 + }
  62 +}
  63 +
  64 +void Socket::Connect(string hostname, int port)
  65 +{
  66 + struct in_addr *addr_ptr;
  67 + struct hostent *hostPtr;
  68 + string add;
  69 + hostPtr = gethostbyname(hostname.c_str());
  70 + if(hostPtr == NULL)
  71 + {
  72 + throw SocketException (string("Could not resolve hostname ").append(hostname));
  73 + }
  74 + addr_ptr = (struct in_addr *)*hostPtr->h_addr_list;
  75 + add = inet_ntoa(*addr_ptr);
  76 + if(add == "")
  77 + {
  78 + throw SocketException ( "Invalid address" );
  79 + }
  80 + struct sockaddr_in newSockAddr;
  81 + newSockAddr.sin_family = AF_INET;
  82 + newSockAddr.sin_port = htons(port);
  83 + newSockAddr.sin_addr.s_addr = inet_addr(add.c_str());
  84 + if(connect(sock, (struct sockaddr *)&newSockAddr, sizeof(struct sockaddr)) != 0)
  85 + {
  86 + stringstream sstream;
  87 + sstream << "Could not connect to " << hostname << " on port " << port;
  88 + throw SocketException ( sstream.str());
  89 + }
  90 +}
  91 +
  92 +int Socket::Receive(char *buff, int length)
  93 +{
  94 + int bytes, total = 0;
  95 + while(total != length)
  96 + {
  97 + bytes = recv(sock, buff+total, length-total,0);
  98 + if ( bytes <= 0 )
  99 + {
  100 + throw SocketException ( "TCP: Could not read from socket." );
  101 + }
  102 + total += bytes;
  103 + }
  104 + return total;
  105 +}
  106 +
  107 +int Socket::Send(const char *buff, int length)
  108 +{
  109 + int bytes, total = 0;
  110 + while(total != length)
  111 + {
  112 + bytes = send(sock,buff+total,length-total,0);
  113 + if(bytes == -1)
  114 + {
  115 + throw SocketException ( "TCP: Could not write to socket." );
  116 + }
  117 + total += bytes;
  118 + }
  119 + return total;
  120 +}
  121 +
  122 +void Socket::Close()
  123 +{
  124 + if(sock > 0)
  125 + {
  126 + close(sock);
  127 + sock = 0;
  128 + }
  129 + else
  130 + {
  131 + throw SocketException ( "TCP: Could not close socket." );
  132 + }
  133 +}
  134 +
  135 +const Socket& Socket::operator << ( const std::string& text)
  136 +{
  137 + stringstream sstream;
  138 + int length = text.length();
  139 + if(!length)
  140 + {
  141 + string s = "0";
  142 + Send(s.c_str(), 2);
  143 + return *this;
  144 + }
  145 + sstream << length;
  146 + string len = sstream.str();
  147 + char* msg = new char[len.length() + text.length() + 1];
  148 + strcpy(msg,len.c_str());
  149 + strcpy(msg+len.length()+1,text.c_str());
  150 + Send(msg, text.length() + len.length() + 1);
  151 + delete[] msg;
  152 + return *this;
  153 +}
  154 +
  155 +const Socket& Socket::operator >> ( std::string& text )
  156 +{
  157 + text = "";
  158 + string len;
  159 + int length;
  160 + stringstream sstream;
  161 + char c;
  162 + while(true)
  163 + {
  164 + if( Receive(&c,1) <= 0)
  165 + {
  166 + throw SocketException ( "TCP: Could not read from socket." );
  167 + }
  168 + if(c == '\0')
  169 + {
  170 + break;
  171 + }
  172 + len += c;
  173 + }
  174 + sstream << len;
  175 + sstream >> length;
  176 + if(!length)
  177 + {
  178 + return *this;
  179 + }
  180 + char *message = new char[length];
  181 + Receive(message,length);
  182 + text.append(message,length);
  183 + if(message != NULL)
  184 + {
  185 + delete[] message;
  186 + message = NULL;
  187 + }
  188 + return *this;
  189 +}
0 190 \ No newline at end of file
... ...
QChatClient/Socket.h 0 → 100644
  1 +/** @file
  2 +* \brief Header de la clase Socket
  3 +* \author Imanol Barba Sabariego
  4 +* \date 12/06/2013
  5 +*
  6 +* En este fichero se define la clase Socket, que es la clase que se abstraer toda la comunicación con sockets al programador
  7 +*/
  8 +#ifndef SOCKET_H_
  9 +#define SOCKET_H_
  10 +
  11 +#include <iostream>
  12 +#include <sstream>
  13 +#include "SocketException.h"
  14 +#include <sys/socket.h>
  15 +#include <sys/types.h>
  16 +#include <netinet/in.h>
  17 +#include <netinet/tcp.h>
  18 +#include <arpa/inet.h>
  19 +#include <netdb.h>
  20 +#include <unistd.h>
  21 +#include <cstdlib>
  22 +#include <cstring>
  23 +
  24 +using namespace std;
  25 +
  26 +//! Clase del socket
  27 +/**
  28 +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
  29 +en un entorno UNIX abstrayendo la implementación de sockets y de encriptación al programador.
  30 +*/
  31 +class Socket
  32 +{
  33 + private:
  34 + //! Descriptor del fichero del socket
  35 + /*! Esta variable contiene el file descriptor del socket abierto por el SO. */
  36 + int sock;
  37 + //! Estructura de dirección de socket
  38 + /*! Este struct es usado por el SO para gestionar la dirección del socket abierto. */
  39 + struct sockaddr_in sockAddr;
  40 + //! Método para recibir un mensaje de longitud conocida
  41 + /*! \brief Este método se usa para recibir un mensaje de la longitud que se especifica por argumento y almacenarlo en el buffer
  42 + proporcionado.
  43 +
  44 + _Este método garantiza que todo el mensaje se recibirá entero aunque la red no admita una longitud de paquete tan grande._*/
  45 + int Receive(char *buff/*!<Buffer donde se almacena el mensaje recibido*/, int length/*!<Longitud del mensaje a recibir*/);
  46 + //! Método para enviar un mensaje de longitud conocida
  47 + /*! \brief Este método se usa para enviar un mensaje de la longitud especifidada en el argumento y devuelve el número de bytes
  48 + enviados.
  49 +
  50 + _Este método garantiza que todo el mensaje se enviará entero aunque la red no admita una longitud de paquete tan grande._*/
  51 + int Send(const char *buff/*!<Buffer con el mensaje a enviar*/, int length/*!<Longitud del mensaje*/);
  52 +
  53 + public:
  54 + //! Constructor de la clase Socket
  55 + /*! Inicializa el file descriptor del socket y prepara la memoria donde se almacenarán las llaves públicas. */
  56 + Socket();
  57 + //! Método para crear sockets
  58 + /*! Crea un file descriptor para un socket que por defecto no está conectado ni asignado a ninguna dirección. */
  59 + void Create();
  60 + //! Método para hacer bind a una dirección y puerto
  61 + /*! Este método asigna el socket a una dirección IP (y por tanto, a una interfaz de red en concreto) y un puerto, para que
  62 + posteriormente actúe de servidor escuchando conexiones. */
  63 + void Bind(string address/*!<Dirección IP asignada*/, int port/*!<Puerto asignado*/);
  64 + //! Método para escuchar conexiones
  65 + /*! Este método configura el socket para que se ponga en modo escucha y así pueda atender conexiones entrantes. */
  66 + void Listen(int backlog/*!<Número máximo de conexiones __en espera__*/);
  67 + //! Método para aceptar conexiones
  68 + /*! Este método bloquea el thread que lo ejecuta hasta que recibe una conexión entrante, que almacena como instancia de la clase
  69 + Socket en la referencia proporcionada por argumento. */
  70 + void Accept(Socket &clientSock/*!<Instáncia de Socket que comunica con el cliente entrante*/);
  71 + //! Método para efectuar conexiones
  72 + /*! Este método sirve a los sockets que actúan como cliente para poder efectuar conexiones a otro socket que esté escuchando en la
  73 + dirección y puerto especificados y atienda conexiones. */
  74 + void Connect(string hostname/*!<Hostname al que conectarse*/, int port/*!<Puerto al que conectarse*/);
  75 + //! Método para cerrar sockets
  76 + /*! Este método cierra el socket para que no se pueda escribir ni leer más en él, para liberarlo del kernel y terminar la conexión TCP. */
  77 + void Close();
  78 + //! Getter para el file descriptor del socket
  79 + /*! Este método devuelve el file descriptor del socket. */
  80 + int getSock();
  81 + //! Método para enviar mensajes
  82 + /*! Este método envía el mensaje que se le proporciona a través del Socket con o sin encriptación según
  83 + las \ref defines "opciones de compilación" usando el \ref proto "protocolo" implementado. */
  84 + const Socket& operator << ( const string& /*!<Mensaje a enviar*/);
  85 + //! Método para recibir mensajes
  86 + /*! Este método recibe un mensaje de longitud arbitrária con o sin encriptación según las \ref defines "opciones de compilación" usando
  87 + el \ref proto "protocolo" implementado. */
  88 + const Socket& operator >> ( string& /*!<Mensaje a recibir*/);
  89 +};
  90 +#endif /* SOCKET_H_ */
... ...
QChatClient/SocketException.h 0 → 100644
  1 +/** @file
  2 +* \brief Header de excepción de Sockets
  3 +* \author Imanol Barba Sabariego
  4 +* \date 10/06/2013
  5 +*
  6 +* En este fichero se define la clase SocketException para el control de excepciones producidas por la librería.
  7 +*/
  8 +
  9 +#ifndef SOCKETEXCEPTION_H_
  10 +#define SOCKETEXCEPTION_H_
  11 +
  12 +#include <string>
  13 +
  14 +using namespace std;
  15 +
  16 +//! Clase de Excepción de Sockets
  17 +/**
  18 +Definición de las excepciones lanzadas por la librería de comunicación TCP/IP
  19 +*/
  20 +class SocketException
  21 +{
  22 + public:
  23 + //! Constructor de la clase
  24 + /*! Inicializa el mensaje */
  25 + SocketException ( string m /**< Mensaje inicial */ ) : message ( m ) {};
  26 + ~SocketException (){};
  27 + //! Getter del atributo message
  28 + /*! Devuelve el mensaje asociado a la excepción producida */
  29 + string description() { return message; }
  30 + private:
  31 + //! Mensaje asociado a la excepción producida
  32 + string message;
  33 +};
  34 +#endif /* SOCKETEXCEPTION_H_ */
0 35 \ No newline at end of file
... ...
QChatClient/chatroom.cpp 0 → 100644
  1 +#include "chatroom.h"
  2 +#include "ui_chatroom.h"
  3 +
  4 +Chatroom::Chatroom(QWidget *parent) :
  5 + QMainWindow(parent),
  6 + ui(new Ui::Chatroom)
  7 +{
  8 + ui->setupUi(this);
  9 +}
  10 +
  11 +Chatroom::~Chatroom()
  12 +{
  13 + delete ui;
  14 +}
... ...
QChatClient/chatroom.h 0 → 100644
  1 +#ifndef CHATROOM_H
  2 +#define CHATROOM_H
  3 +
  4 +#include <QMainWindow>
  5 +
  6 +namespace Ui {
  7 +class Chatroom;
  8 +}
  9 +
  10 +class Chatroom : public QMainWindow
  11 +{
  12 + Q_OBJECT
  13 +
  14 +public:
  15 + explicit Chatroom(QWidget *parent = 0);
  16 + ~Chatroom();
  17 +
  18 +private:
  19 + Ui::Chatroom *ui;
  20 +};
  21 +
  22 +#endif // CHATROOM_H
... ...
QChatClient/chatroom.ui 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>Chatroom</class>
  4 + <widget class="QMainWindow" name="Chatroom">
  5 + <property name="geometry">
  6 + <rect>
  7 + <x>0</x>
  8 + <y>0</y>
  9 + <width>800</width>
  10 + <height>600</height>
  11 + </rect>
  12 + </property>
  13 + <property name="windowTitle">
  14 + <string>MainWindow</string>
  15 + </property>
  16 + <widget class="QWidget" name="centralwidget"/>
  17 + <widget class="QStatusBar" name="statusbar"/>
  18 + </widget>
  19 + <resources/>
  20 + <connections/>
  21 +</ui>
... ...
QChatClient/chatroomselect.cpp 0 → 100644
  1 +#include "chatroomselect.h"
  2 +#include "ui_chatroomselect.h"
  3 +
  4 +ChatroomSelect::ChatroomSelect(QWidget *parent) :
  5 + QDialog(parent),
  6 + ui(new Ui::ChatroomSelect)
  7 +{
  8 + ui->setupUi(this);
  9 +}
  10 +
  11 +ChatroomSelect::~ChatroomSelect()
  12 +{
  13 + delete ui;
  14 +}
... ...
QChatClient/chatroomselect.h 0 → 100644
  1 +#ifndef CHATROOMSELECT_H
  2 +#define CHATROOMSELECT_H
  3 +
  4 +#include <QDialog>
  5 +
  6 +namespace Ui {
  7 +class ChatroomSelect;
  8 +}
  9 +
  10 +class ChatroomSelect : public QDialog
  11 +{
  12 + Q_OBJECT
  13 +
  14 +public:
  15 + explicit ChatroomSelect(QWidget *parent = 0);
  16 + ~ChatroomSelect();
  17 +
  18 +private:
  19 + Ui::ChatroomSelect *ui;
  20 +};
  21 +
  22 +#endif // CHATROOMSELECT_H
... ...
QChatClient/chatroomselect.ui 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>ChatroomSelect</class>
  4 + <widget class="QDialog" name="ChatroomSelect">
  5 + <property name="geometry">
  6 + <rect>
  7 + <x>0</x>
  8 + <y>0</y>
  9 + <width>555</width>
  10 + <height>379</height>
  11 + </rect>
  12 + </property>
  13 + <property name="sizePolicy">
  14 + <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
  15 + <horstretch>0</horstretch>
  16 + <verstretch>0</verstretch>
  17 + </sizepolicy>
  18 + </property>
  19 + <property name="windowTitle">
  20 + <string>Dialog</string>
  21 + </property>
  22 + <layout class="QGridLayout" name="gridLayout">
  23 + <item row="2" column="1">
  24 + <spacer name="listVertSpacer">
  25 + <property name="orientation">
  26 + <enum>Qt::Vertical</enum>
  27 + </property>
  28 + <property name="sizeType">
  29 + <enum>QSizePolicy::Fixed</enum>
  30 + </property>
  31 + <property name="sizeHint" stdset="0">
  32 + <size>
  33 + <width>20</width>
  34 + <height>5</height>
  35 + </size>
  36 + </property>
  37 + </spacer>
  38 + </item>
  39 + <item row="5" column="1" colspan="3">
  40 + <widget class="QWidget" name="buttonBox" native="true">
  41 + <layout class="QGridLayout" name="gridLayout_3">
  42 + <item row="0" column="1">
  43 + <widget class="QPushButton" name="okButton">
  44 + <property name="text">
  45 + <string>OK</string>
  46 + </property>
  47 + </widget>
  48 + </item>
  49 + <item row="0" column="2">
  50 + <widget class="QPushButton" name="cancelButton">
  51 + <property name="text">
  52 + <string>Cancel</string>
  53 + </property>
  54 + </widget>
  55 + </item>
  56 + <item row="0" column="0">
  57 + <spacer name="buttonHorizSpacer">
  58 + <property name="orientation">
  59 + <enum>Qt::Horizontal</enum>
  60 + </property>
  61 + <property name="sizeHint" stdset="0">
  62 + <size>
  63 + <width>40</width>
  64 + <height>20</height>
  65 + </size>
  66 + </property>
  67 + </spacer>
  68 + </item>
  69 + </layout>
  70 + </widget>
  71 + </item>
  72 + <item row="0" column="1">
  73 + <spacer name="topSpacer">
  74 + <property name="orientation">
  75 + <enum>Qt::Vertical</enum>
  76 + </property>
  77 + <property name="sizeType">
  78 + <enum>QSizePolicy::Fixed</enum>
  79 + </property>
  80 + <property name="sizeHint" stdset="0">
  81 + <size>
  82 + <width>20</width>
  83 + <height>5</height>
  84 + </size>
  85 + </property>
  86 + </spacer>
  87 + </item>
  88 + <item row="3" column="0">
  89 + <spacer name="leftSpacer">
  90 + <property name="orientation">
  91 + <enum>Qt::Horizontal</enum>
  92 + </property>
  93 + <property name="sizeType">
  94 + <enum>QSizePolicy::Fixed</enum>
  95 + </property>
  96 + <property name="sizeHint" stdset="0">
  97 + <size>
  98 + <width>10</width>
  99 + <height>20</height>
  100 + </size>
  101 + </property>
  102 + </spacer>
  103 + </item>
  104 + <item row="3" column="1">
  105 + <widget class="QColumnView" name="chatroomList"/>
  106 + </item>
  107 + <item row="1" column="1">
  108 + <widget class="QLabel" name="titleLabel">
  109 + <property name="text">
  110 + <string>Select one chatroom from the list:</string>
  111 + </property>
  112 + </widget>
  113 + </item>
  114 + <item row="3" column="3">
  115 + <widget class="QWidget" name="roomButtonBox" native="true">
  116 + <layout class="QGridLayout" name="gridLayout_2">
  117 + <item row="1" column="0">
  118 + <widget class="QPushButton" name="editButton">
  119 + <property name="text">
  120 + <string>Edit</string>
  121 + </property>
  122 + </widget>
  123 + </item>
  124 + <item row="2" column="0">
  125 + <widget class="QPushButton" name="removeButton">
  126 + <property name="text">
  127 + <string>Delete</string>
  128 + </property>
  129 + </widget>
  130 + </item>
  131 + <item row="0" column="0">
  132 + <widget class="QPushButton" name="addButton">
  133 + <property name="text">
  134 + <string>Add</string>
  135 + </property>
  136 + </widget>
  137 + </item>
  138 + <item row="3" column="0">
  139 + <spacer name="buttonVertSpacer">
  140 + <property name="orientation">
  141 + <enum>Qt::Vertical</enum>
  142 + </property>
  143 + <property name="sizeHint" stdset="0">
  144 + <size>
  145 + <width>20</width>
  146 + <height>40</height>
  147 + </size>
  148 + </property>
  149 + </spacer>
  150 + </item>
  151 + </layout>
  152 + </widget>
  153 + </item>
  154 + <item row="3" column="2">
  155 + <spacer name="listHorizSpacer">
  156 + <property name="orientation">
  157 + <enum>Qt::Horizontal</enum>
  158 + </property>
  159 + <property name="sizeType">
  160 + <enum>QSizePolicy::Fixed</enum>
  161 + </property>
  162 + <property name="sizeHint" stdset="0">
  163 + <size>
  164 + <width>5</width>
  165 + <height>20</height>
  166 + </size>
  167 + </property>
  168 + </spacer>
  169 + </item>
  170 + </layout>
  171 + </widget>
  172 + <resources/>
  173 + <connections/>
  174 +</ui>
... ...
QChatClient/chatwindow.ui
  1 +<?xml version="1.0" encoding="UTF-8"?>
1 2 <ui version="4.0">
2 3 <class>ChatWindow</class>
3   - <widget class="QMainWindow" name="ChatWindow" >
4   - <property name="geometry" >
  4 + <widget class="QMainWindow" name="ChatWindow">
  5 + <property name="geometry">
5 6 <rect>
6 7 <x>0</x>
7 8 <y>0</y>
8 9 <width>400</width>
9   - <height>300</height>
  10 + <height>449</height>
10 11 </rect>
11 12 </property>
12   - <property name="windowTitle" >
  13 + <property name="windowTitle">
13 14 <string>ChatWindow</string>
14 15 </property>
15   - <widget class="QMenuBar" name="menuBar" />
16   - <widget class="QToolBar" name="mainToolBar" />
17   - <widget class="QWidget" name="centralWidget" />
18   - <widget class="QStatusBar" name="statusBar" />
  16 + <widget class="QWidget" name="centralWidget">
  17 + <property name="enabled">
  18 + <bool>true</bool>
  19 + </property>
  20 + <property name="sizePolicy">
  21 + <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
  22 + <horstretch>0</horstretch>
  23 + <verstretch>0</verstretch>
  24 + </sizepolicy>
  25 + </property>
  26 + <layout class="QGridLayout" name="gridLayout">
  27 + <item row="2" column="1">
  28 + <spacer name="verticalSpacer">
  29 + <property name="orientation">
  30 + <enum>Qt::Vertical</enum>
  31 + </property>
  32 + <property name="sizeType">
  33 + <enum>QSizePolicy::Fixed</enum>
  34 + </property>
  35 + <property name="sizeHint" stdset="0">
  36 + <size>
  37 + <width>20</width>
  38 + <height>5</height>
  39 + </size>
  40 + </property>
  41 + </spacer>
  42 + </item>
  43 + <item row="1" column="1">
  44 + <widget class="QTextBrowser" name="chatText"/>
  45 + </item>
  46 + <item row="0" column="1">
  47 + <spacer name="verticalSpacer_2">
  48 + <property name="orientation">
  49 + <enum>Qt::Vertical</enum>
  50 + </property>
  51 + <property name="sizeType">
  52 + <enum>QSizePolicy::Fixed</enum>
  53 + </property>
  54 + <property name="sizeHint" stdset="0">
  55 + <size>
  56 + <width>20</width>
  57 + <height>5</height>
  58 + </size>
  59 + </property>
  60 + </spacer>
  61 + </item>
  62 + <item row="1" column="2">
  63 + <spacer name="horizontalSpacer_2">
  64 + <property name="orientation">
  65 + <enum>Qt::Horizontal</enum>
  66 + </property>
  67 + <property name="sizeType">
  68 + <enum>QSizePolicy::Fixed</enum>
  69 + </property>
  70 + <property name="sizeHint" stdset="0">
  71 + <size>
  72 + <width>10</width>
  73 + <height>20</height>
  74 + </size>
  75 + </property>
  76 + </spacer>
  77 + </item>
  78 + <item row="3" column="1">
  79 + <widget class="QTextEdit" name="inputText">
  80 + <property name="sizePolicy">
  81 + <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
  82 + <horstretch>0</horstretch>
  83 + <verstretch>0</verstretch>
  84 + </sizepolicy>
  85 + </property>
  86 + <property name="minimumSize">
  87 + <size>
  88 + <width>0</width>
  89 + <height>100</height>
  90 + </size>
  91 + </property>
  92 + <property name="maximumSize">
  93 + <size>
  94 + <width>16777215</width>
  95 + <height>100</height>
  96 + </size>
  97 + </property>
  98 + </widget>
  99 + </item>
  100 + <item row="1" column="0">
  101 + <spacer name="horizontalSpacer">
  102 + <property name="orientation">
  103 + <enum>Qt::Horizontal</enum>
  104 + </property>
  105 + <property name="sizeType">
  106 + <enum>QSizePolicy::Fixed</enum>
  107 + </property>
  108 + <property name="sizeHint" stdset="0">
  109 + <size>
  110 + <width>10</width>
  111 + <height>20</height>
  112 + </size>
  113 + </property>
  114 + </spacer>
  115 + </item>
  116 + <item row="4" column="1">
  117 + <spacer name="verticalSpacer_3">
  118 + <property name="orientation">
  119 + <enum>Qt::Vertical</enum>
  120 + </property>
  121 + <property name="sizeType">
  122 + <enum>QSizePolicy::Fixed</enum>
  123 + </property>
  124 + <property name="sizeHint" stdset="0">
  125 + <size>
  126 + <width>20</width>
  127 + <height>5</height>
  128 + </size>
  129 + </property>
  130 + </spacer>
  131 + </item>
  132 + </layout>
  133 + </widget>
  134 + <widget class="QMenuBar" name="menuBar">
  135 + <property name="geometry">
  136 + <rect>
  137 + <x>0</x>
  138 + <y>0</y>
  139 + <width>400</width>
  140 + <height>25</height>
  141 + </rect>
  142 + </property>
  143 + </widget>
19 144 </widget>
20   - <layoutDefault spacing="6" margin="11" />
21   - <pixmapfunction></pixmapfunction>
  145 + <layoutdefault spacing="6" margin="11"/>
22 146 <resources/>
23 147 <connections/>
24 148 </ui>
... ...
QChatClient/client.cpp 0 → 100644
  1 +/** @file
  2 +* \brief Fichero de implementación de un cliente
  3 +* \author Imanol Barba Sabariego
  4 +* \date 13/06/2013
  5 +*
  6 +* En este fichero se implementa un cliente para poder usar con el servidor creado, usando la clase Socket.
  7 +* REVISADO EL 10/12/2013 PARA LA APLIACIÓN JCHAT
  8 +*/
  9 +#include "client.h"
  10 +
  11 +using namespace std;
  12 +
  13 +//! Variable de estado del programa.
  14 +bool connected;
  15 +//! Variable de estado del programa.
  16 +bool finished;
  17 +
  18 +//! Método de liberación de los argumentos
  19 +/*! Este método se encarga de liberar la memoria asignada a los argumentos pasados a los threads que ahora han terminado. */
  20 +void killThread(thread_args *t_arg)
  21 +{
  22 + if(t_arg != 0)
  23 + {
  24 + delete t_arg;
  25 + t_arg = 0;
  26 + }
  27 + pthread_exit(NULL);
  28 +}
  29 +
  30 +//! Método de conexión
  31 +/*! Este método conecta el cliente a una sala de chat. */
  32 +bool connect(Socket& s)
  33 +{
  34 + string host, nick, response;
  35 + int port;
  36 + cout << "Hostname: ";
  37 + getline(cin,host);
  38 + cout << "Port: ";
  39 + cin >> port;
  40 + cin.ignore();
  41 + cout << "Nickname: ";
  42 + getline(cin,nick);
  43 + host = "localhost";
  44 + port = 3001;
  45 +
  46 + try
  47 + {
  48 + s.Create();
  49 + s.Connect(host,port);
  50 + cout << "Connected" << endl;
  51 + connected = true;
  52 + s << nick;
  53 + s >> response;
  54 + while(response == "CHATNICKINVALID")
  55 + {
  56 + cout << "Spaces not allowed in nicknames, please enter another nickname: ";
  57 + getline(cin,nick);
  58 + s << nick;
  59 + s >> response;
  60 + }
  61 + while(response == "CHATNICKEXIST")
  62 + {
  63 + cout << "Nickname in use, please enter another nickname: ";
  64 + getline(cin,nick);
  65 + s << nick;
  66 + s >> response;
  67 + }
  68 + while(response == "CHATFULL")
  69 + {
  70 + cout << "Chatroom is full, please wait..." << endl;
  71 + s.Close();
  72 + return false;
  73 + }
  74 + if(response != "CHATOK")
  75 + {
  76 + cout << "Error: " << response << endl;
  77 + s.Close();
  78 + return false;
  79 + }
  80 + }
  81 + catch(SocketException& e)
  82 + {
  83 + cout << e.description() << endl;
  84 + exit(-1);
  85 + }
  86 + return true;
  87 +}
  88 +
  89 +//! Thread de envío de mensajes
  90 +/*! Este método es ejecutado por un thread con el objetivo de enviar los mensajes y comandos que el usuario introduce por teclado. */
  91 +void *sendThread(void* args)
  92 +{
  93 + string send;
  94 + struct thread_args *t_arg = (struct thread_args*)args;
  95 + while(connected)
  96 + {
  97 + cout << "> ";
  98 + getline(cin,send);
  99 + if(cin.eof())
  100 + {
  101 + send = "/exit";
  102 + }
  103 + try
  104 + {
  105 + *(t_arg->s) << send;
  106 + if(send == "/disconnect" || send == "/exit")
  107 + {
  108 + break;
  109 + }
  110 + }
  111 + catch(SocketException& e)
  112 + {
  113 + cout << e.description() << endl;
  114 + }
  115 + }
  116 + killThread(t_arg);
  117 +}
  118 +
  119 +//! Thread de recepción de mensajes
  120 +/*! 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 .*/
  121 +void *recvThread(void* args)
  122 +{
  123 + string recv;
  124 + struct thread_args *t_arg = (struct thread_args*)args;
  125 + while(true)
  126 + {
  127 + try
  128 + {
  129 + *(t_arg->s) >> recv;
  130 + }
  131 + catch(SocketException &e)
  132 + {
  133 + connected = false;
  134 + cout << e.description() << endl;
  135 + cout << "Connection lost. Press Enter to retry connection to chatroom. Press CTRL+C to exit." << endl;
  136 + pthread_cond_signal(t_arg->condition);
  137 + break;
  138 + }
  139 + if(recv == "DISC_OK")
  140 + {
  141 + cout << "Disconnecting" << endl;
  142 + connected = false;
  143 + pthread_cond_signal(t_arg->condition);
  144 + break;
  145 + }
  146 + else if(recv == "EXIT_OK")
  147 + {
  148 + cout << "Exiting" << endl;
  149 + connected = false;
  150 + finished = true;
  151 + pthread_cond_signal(t_arg->condition);
  152 + break;
  153 + }
  154 + else
  155 + {
  156 + cout << recv << endl;
  157 + }
  158 + }
  159 + killThread(t_arg);
  160 +}
  161 +
  162 +//! Método principal del cliente
  163 +/*! Este método inicializa el Socket, establece la conexión y realiza las acciones que se le hayan programado para comunicarse con el servidor.*/
  164 +/*int main()
  165 +{
  166 + //signal(SIGPIPE, exitClient); UNUSED
  167 + Socket s;
  168 + connected = finished = false;
  169 + pthread_mutex_t mutex;
  170 + pthread_mutex_init(&mutex,0);
  171 + pthread_cond_t condition;
  172 + pthread_cond_init(&condition,0);
  173 + pthread_t recv, send;
  174 + pthread_attr_t attr;
  175 + pthread_attr_init(&attr);
  176 + pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
  177 + int retries = 3;
  178 + while (!finished)
  179 + {
  180 + while(!connect(s))
  181 + {
  182 + if((--retries) <= 0)
  183 + {
  184 + cout << "Exiting" << endl;
  185 + exit(-1);
  186 + }
  187 + cout << "Couldn't connect to chatroom, retrying..." << endl;
  188 + }
  189 + pthread_mutex_lock(&mutex);
  190 + thread_args *sArgs = new thread_args;
  191 + thread_args *rArgs = new thread_args;
  192 + sArgs->mutex = &mutex;
  193 + sArgs->condition = &condition;
  194 + sArgs->s = &s;
  195 +
  196 + rArgs->mutex = &mutex;
  197 + rArgs->condition = &condition;
  198 + rArgs->s = &s;
  199 +
  200 + pthread_create(&send,&attr,sendThread,(void *)sArgs);
  201 + pthread_create(&recv,&attr,recvThread,(void *)rArgs);
  202 +
  203 + while(connected)
  204 + {
  205 + pthread_cond_wait(&condition,&mutex);
  206 + }
  207 + pthread_mutex_unlock(&mutex);
  208 + pthread_join(recv,NULL);
  209 + pthread_join(send,NULL);
  210 + s.Close();
  211 + }
  212 + pthread_cond_destroy(&condition);
  213 + pthread_mutex_destroy(&mutex);
  214 +}*/
... ...
QChatClient/client.h 0 → 100644
  1 +#ifndef CLIENT_H_
  2 +#define CLIENT_H_
  3 +
  4 +#include "Socket.h"
  5 +#include <iostream>
  6 +#include "SocketException.h"
  7 +#include <sstream>
  8 +#include <signal.h>
  9 +#include <cstdlib>
  10 +#include <sys/time.h>
  11 +
  12 +//!Argumentos de los threads
  13 +/**
  14 +\brief Este struct define los argumentos que recibe un thread abierto por la aplicación servidor al recibir una conexión entrante
  15 +\author Imanol Barba Sabariego
  16 +\date 11/06/2013 */
  17 +struct thread_args
  18 +{
  19 + //! Variable de control de la exclusión mútua entre threads
  20 + /** Esta variable se usa para bloquear otros threads en operaciones de exclusion mútua donde se modifican variables compartidas */
  21 + pthread_mutex_t *mutex;
  22 + //! Variable de notificación a otros threads
  23 + /*! \brief Esta variable se usa para notificar a otros threads cuando deben realizar otras acciones.
  24 +
  25 + *Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya
  26 + quedado bloqueado y no admita más conexiones.* */
  27 + pthread_cond_t *condition;
  28 + //! Puntero al socket
  29 + /*! \brief Esta variable representa el puntero al socket que proviene de la conexión entrante recibida por el servidor. Con este, el thread
  30 + puede recibir y enviar los datos. */
  31 + Socket *s;
  32 +};
  33 +
  34 +
  35 +
  36 +#endif /* CLIENT_H_ */
0 37 \ No newline at end of file
... ...
QChatClient/loginscreen.cpp 0 → 100644
  1 +#include "loginscreen.h"
  2 +#include "ui_loginscreen.h"
  3 +
  4 +LoginScreen::LoginScreen(QWidget *parent) :
  5 + QDialog(parent),
  6 + ui(new Ui::LoginScreen)
  7 +{
  8 + ui->setupUi(this);
  9 +}
  10 +
  11 +LoginScreen::~LoginScreen()
  12 +{
  13 + delete ui;
  14 +}
... ...
QChatClient/loginscreen.h 0 → 100644
  1 +#ifndef LOGINSCREEN_H
  2 +#define LOGINSCREEN_H
  3 +
  4 +#include <QDialog>
  5 +
  6 +namespace Ui {
  7 +class LoginScreen;
  8 +}
  9 +
  10 +class LoginScreen : public QDialog
  11 +{
  12 + Q_OBJECT
  13 +
  14 +public:
  15 + explicit LoginScreen(QWidget *parent = 0);
  16 + ~LoginScreen();
  17 +
  18 +private:
  19 + Ui::LoginScreen *ui;
  20 +};
  21 +
  22 +#endif // LOGINSCREEN_H
... ...
QChatClient/loginscreen.ui 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>LoginScreen</class>
  4 + <widget class="QDialog" name="LoginScreen">
  5 + <property name="geometry">
  6 + <rect>
  7 + <x>0</x>
  8 + <y>0</y>
  9 + <width>402</width>
  10 + <height>204</height>
  11 + </rect>
  12 + </property>
  13 + <property name="sizePolicy">
  14 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  15 + <horstretch>0</horstretch>
  16 + <verstretch>0</verstretch>
  17 + </sizepolicy>
  18 + </property>
  19 + <property name="windowTitle">
  20 + <string>Login</string>
  21 + </property>
  22 + <layout class="QGridLayout" name="gridLayout">
  23 + <item row="5" column="1">
  24 + <widget class="QComboBox" name="chatroomBox">
  25 + <property name="currentText">
  26 + <string/>
  27 + </property>
  28 + </widget>
  29 + </item>
  30 + <item row="2" column="1">
  31 + <spacer name="verticalSpacer">
  32 + <property name="orientation">
  33 + <enum>Qt::Vertical</enum>
  34 + </property>
  35 + <property name="sizeType">
  36 + <enum>QSizePolicy::Fixed</enum>
  37 + </property>
  38 + <property name="sizeHint" stdset="0">
  39 + <size>
  40 + <width>20</width>
  41 + <height>10</height>
  42 + </size>
  43 + </property>
  44 + </spacer>
  45 + </item>
  46 + <item row="4" column="2">
  47 + <spacer name="rightSpacer">
  48 + <property name="orientation">
  49 + <enum>Qt::Horizontal</enum>
  50 + </property>
  51 + <property name="sizeType">
  52 + <enum>QSizePolicy::Minimum</enum>
  53 + </property>
  54 + <property name="sizeHint" stdset="0">
  55 + <size>
  56 + <width>10</width>
  57 + <height>20</height>
  58 + </size>
  59 + </property>
  60 + </spacer>
  61 + </item>
  62 + <item row="0" column="1">
  63 + <spacer name="topSpacer">
  64 + <property name="orientation">
  65 + <enum>Qt::Vertical</enum>
  66 + </property>
  67 + <property name="sizeType">
  68 + <enum>QSizePolicy::Fixed</enum>
  69 + </property>
  70 + <property name="sizeHint" stdset="0">
  71 + <size>
  72 + <width>20</width>
  73 + <height>5</height>
  74 + </size>
  75 + </property>
  76 + </spacer>
  77 + </item>
  78 + <item row="1" column="1">
  79 + <widget class="QLabel" name="titleLabel">
  80 + <property name="sizePolicy">
  81 + <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
  82 + <horstretch>0</horstretch>
  83 + <verstretch>0</verstretch>
  84 + </sizepolicy>
  85 + </property>
  86 + <property name="maximumSize">
  87 + <size>
  88 + <width>16777215</width>
  89 + <height>20</height>
  90 + </size>
  91 + </property>
  92 + <property name="text">
  93 + <string>Log in to chatroom</string>
  94 + </property>
  95 + </widget>
  96 + </item>
  97 + <item row="6" column="1">
  98 + <widget class="QWidget" name="buttonBox" native="true">
  99 + <property name="sizePolicy">
  100 + <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
  101 + <horstretch>0</horstretch>
  102 + <verstretch>0</verstretch>
  103 + </sizepolicy>
  104 + </property>
  105 + <layout class="QGridLayout" name="gridLayout_2">
  106 + <item row="0" column="2">
  107 + <widget class="QPushButton" name="cancelButton">
  108 + <property name="text">
  109 + <string>Cancel</string>
  110 + </property>
  111 + </widget>
  112 + </item>
  113 + <item row="0" column="1">
  114 + <widget class="QPushButton" name="connectButton">
  115 + <property name="text">
  116 + <string>OK</string>
  117 + </property>
  118 + </widget>
  119 + </item>
  120 + <item row="0" column="0">
  121 + <spacer name="buttonHorizSpacer">
  122 + <property name="orientation">
  123 + <enum>Qt::Horizontal</enum>
  124 + </property>
  125 + <property name="sizeHint" stdset="0">
  126 + <size>
  127 + <width>40</width>
  128 + <height>20</height>
  129 + </size>
  130 + </property>
  131 + </spacer>
  132 + </item>
  133 + </layout>
  134 + </widget>
  135 + </item>
  136 + <item row="3" column="0">
  137 + <spacer name="leftSpacer">
  138 + <property name="orientation">
  139 + <enum>Qt::Horizontal</enum>
  140 + </property>
  141 + <property name="sizeType">
  142 + <enum>QSizePolicy::Minimum</enum>
  143 + </property>
  144 + <property name="sizeHint" stdset="0">
  145 + <size>
  146 + <width>10</width>
  147 + <height>20</height>
  148 + </size>
  149 + </property>
  150 + </spacer>
  151 + </item>
  152 + <item row="3" column="1">
  153 + <widget class="QLineEdit" name="userEdit"/>
  154 + </item>
  155 + <item row="4" column="1">
  156 + <widget class="QLineEdit" name="passwordEdit"/>
  157 + </item>
  158 + </layout>
  159 + </widget>
  160 + <resources/>
  161 + <connections/>
  162 +</ui>
... ...
QChatClient/main.cpp
1   -#include "chatwindow.h"
  1 +#include "loginscreen.h"
  2 +#include "chatroom.h"
2 3 #include <QApplication>
3 4  
4 5 int main(int argc, char *argv[])
5 6 {
6 7 QApplication a(argc, argv);
7   - ChatWindow w;
8   - w.show();
9   -
  8 + Chatroom l;
  9 + l.show();
  10 +
10 11 return a.exec();
11 12 }
... ...
build-QChatClient-Desktop-Debug/Makefile 0 → 100644
  1 +#############################################################################
  2 +# Makefile for building: QChatClient
  3 +# Generated by qmake (3.0) (Qt 5.0.2) on: mié dic 11 19:16:50 2013
  4 +# Project: ../QChatClient/QChatClient.pro
  5 +# Template: app
  6 +# 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
  7 +#############################################################################
  8 +
  9 +MAKEFILE = Makefile
  10 +
  11 +####### Compiler, tools and options
  12 +
  13 +CC = gcc
  14 +CXX = g++
  15 +DEFINES = -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
  16 +CFLAGS = -m64 -pipe -g -Wall -W -D_REENTRANT -fPIE $(DEFINES)
  17 +CXXFLAGS = -m64 -pipe -g -Wall -W -D_REENTRANT -fPIE $(DEFINES)
  18 +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.
  19 +LINK = g++
  20 +LFLAGS = -m64
  21 +LIBS = $(SUBLIBS) -L/usr/X11R6/lib64 -lQt5Widgets -L/usr/lib/x86_64-linux-gnu -lQt5Gui -lQt5Core -lGL -lpthread
  22 +AR = ar cqs
  23 +RANLIB =
  24 +QMAKE = /usr/lib/x86_64-linux-gnu/qt5/bin/qmake
  25 +TAR = tar -cf
  26 +COMPRESS = gzip -9f
  27 +COPY = cp -f
  28 +SED = sed
  29 +COPY_FILE = cp -f
  30 +COPY_DIR = cp -f -R
  31 +STRIP = strip
  32 +INSTALL_FILE = install -m 644 -p
  33 +INSTALL_DIR = $(COPY_DIR)
  34 +INSTALL_PROGRAM = install -m 755 -p
  35 +DEL_FILE = rm -f
  36 +SYMLINK = ln -f -s
  37 +DEL_DIR = rmdir
  38 +MOVE = mv -f
  39 +CHK_DIR_EXISTS= test -d
  40 +MKDIR = mkdir -p
  41 +
  42 +####### Output directory
  43 +
  44 +OBJECTS_DIR = ./
  45 +
  46 +####### Files
  47 +
  48 +SOURCES = ../QChatClient/main.cpp \
  49 + ../QChatClient/chatwindow.cpp \
  50 + ../QChatClient/loginscreen.cpp \
  51 + ../QChatClient/chatroomselect.cpp \
  52 + ../QChatClient/chatroom.cpp \
  53 + ../QChatClient/Socket.cpp \
  54 + ../QChatClient/client.cpp moc_chatwindow.cpp \
  55 + moc_loginscreen.cpp \
  56 + moc_chatroomselect.cpp \
  57 + moc_chatroom.cpp
  58 +OBJECTS = main.o \
  59 + chatwindow.o \
  60 + loginscreen.o \
  61 + chatroomselect.o \
  62 + chatroom.o \
  63 + Socket.o \
  64 + client.o \
  65 + moc_chatwindow.o \
  66 + moc_loginscreen.o \
  67 + moc_chatroomselect.o \
  68 + moc_chatroom.o
  69 +DIST = /usr/share/qt5/mkspecs/features/spec_pre.prf \
  70 + /usr/share/qt5/mkspecs/common/shell-unix.conf \
  71 + /usr/share/qt5/mkspecs/common/unix.conf \
  72 + /usr/share/qt5/mkspecs/common/linux.conf \
  73 + /usr/share/qt5/mkspecs/common/gcc-base.conf \
  74 + /usr/share/qt5/mkspecs/common/gcc-base-unix.conf \
  75 + /usr/share/qt5/mkspecs/common/g++-base.conf \
  76 + /usr/share/qt5/mkspecs/common/g++-unix.conf \
  77 + /usr/share/qt5/mkspecs/qconfig.pri \
  78 + /usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri \
  79 + /usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri \
  80 + /usr/share/qt5/mkspecs/modules/qt_lib_core.pri \
  81 + /usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri \
  82 + /usr/share/qt5/mkspecs/modules/qt_lib_gui.pri \
  83 + /usr/share/qt5/mkspecs/modules/qt_lib_network.pri \
  84 + /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \
  85 + /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \
  86 + /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \
  87 + /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \
  88 + /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \
  89 + /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \
  90 + /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \
  91 + /usr/share/qt5/mkspecs/features/qt_functions.prf \
  92 + /usr/share/qt5/mkspecs/features/qt_config.prf \
  93 + /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf \
  94 + /usr/share/qt5/mkspecs/features/spec_post.prf \
  95 + /usr/share/qt5/mkspecs/features/exclusive_builds.prf \
  96 + /usr/share/qt5/mkspecs/features/default_pre.prf \
  97 + /usr/share/qt5/mkspecs/features/unix/default_pre.prf \
  98 + /usr/share/qt5/mkspecs/features/resolve_config.prf \
  99 + /usr/share/qt5/mkspecs/features/default_post.prf \
  100 + /usr/share/qt5/mkspecs/features/qml_debug.prf \
  101 + /usr/share/qt5/mkspecs/features/declarative_debug.prf \
  102 + /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \
  103 + /usr/share/qt5/mkspecs/features/warn_on.prf \
  104 + /usr/share/qt5/mkspecs/features/qt.prf \
  105 + /usr/share/qt5/mkspecs/features/resources.prf \
  106 + /usr/share/qt5/mkspecs/features/moc.prf \
  107 + /usr/share/qt5/mkspecs/features/unix/opengl.prf \
  108 + /usr/share/qt5/mkspecs/features/uic.prf \
  109 + /usr/share/qt5/mkspecs/features/unix/thread.prf \
  110 + /usr/share/qt5/mkspecs/features/wayland-scanner.prf \
  111 + /usr/share/qt5/mkspecs/features/testcase_targets.prf \
  112 + /usr/share/qt5/mkspecs/features/exceptions.prf \
  113 + /usr/share/qt5/mkspecs/features/yacc.prf \
  114 + /usr/share/qt5/mkspecs/features/lex.prf \
  115 + ../QChatClient/QChatClient.pro \
  116 + ../QChatClient/QChatClient.pro
  117 +QMAKE_TARGET = QChatClient
  118 +DESTDIR =
  119 +TARGET = QChatClient
  120 +
  121 +
  122 +first: all
  123 +####### Implicit rules
  124 +
  125 +.SUFFIXES: .o .c .cpp .cc .cxx .C
  126 +
  127 +.cpp.o:
  128 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
  129 +
  130 +.cc.o:
  131 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
  132 +
  133 +.cxx.o:
  134 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
  135 +
  136 +.C.o:
  137 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
  138 +
  139 +.c.o:
  140 + $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
  141 +
  142 +####### Build rules
  143 +
  144 +all: Makefile $(TARGET)
  145 +
  146 +$(TARGET): ui_chatwindow.h ui_loginscreen.h ui_chatroomselect.h ui_chatroom.h $(OBJECTS)
  147 + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
  148 + { 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
  149 +
  150 +Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf /usr/share/qt5/mkspecs/features/spec_pre.prf \
  151 + /usr/share/qt5/mkspecs/common/shell-unix.conf \
  152 + /usr/share/qt5/mkspecs/common/unix.conf \
  153 + /usr/share/qt5/mkspecs/common/linux.conf \
  154 + /usr/share/qt5/mkspecs/common/gcc-base.conf \
  155 + /usr/share/qt5/mkspecs/common/gcc-base-unix.conf \
  156 + /usr/share/qt5/mkspecs/common/g++-base.conf \
  157 + /usr/share/qt5/mkspecs/common/g++-unix.conf \
  158 + /usr/share/qt5/mkspecs/qconfig.pri \
  159 + /usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri \
  160 + /usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri \
  161 + /usr/share/qt5/mkspecs/modules/qt_lib_core.pri \
  162 + /usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri \
  163 + /usr/share/qt5/mkspecs/modules/qt_lib_gui.pri \
  164 + /usr/share/qt5/mkspecs/modules/qt_lib_network.pri \
  165 + /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \
  166 + /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \
  167 + /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \
  168 + /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \
  169 + /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \
  170 + /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \
  171 + /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \
  172 + /usr/share/qt5/mkspecs/features/qt_functions.prf \
  173 + /usr/share/qt5/mkspecs/features/qt_config.prf \
  174 + /usr/share/qt5/mkspecs/linux-g++-64/qmake.conf \
  175 + /usr/share/qt5/mkspecs/features/spec_post.prf \
  176 + /usr/share/qt5/mkspecs/features/exclusive_builds.prf \
  177 + /usr/share/qt5/mkspecs/features/default_pre.prf \
  178 + /usr/share/qt5/mkspecs/features/unix/default_pre.prf \
  179 + /usr/share/qt5/mkspecs/features/resolve_config.prf \
  180 + /usr/share/qt5/mkspecs/features/default_post.prf \
  181 + /usr/share/qt5/mkspecs/features/qml_debug.prf \
  182 + /usr/share/qt5/mkspecs/features/declarative_debug.prf \
  183 + /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \
  184 + /usr/share/qt5/mkspecs/features/warn_on.prf \
  185 + /usr/share/qt5/mkspecs/features/qt.prf \
  186 + /usr/share/qt5/mkspecs/features/resources.prf \
  187 + /usr/share/qt5/mkspecs/features/moc.prf \
  188 + /usr/share/qt5/mkspecs/features/unix/opengl.prf \
  189 + /usr/share/qt5/mkspecs/features/uic.prf \
  190 + /usr/share/qt5/mkspecs/features/unix/thread.prf \
  191 + /usr/share/qt5/mkspecs/features/wayland-scanner.prf \
  192 + /usr/share/qt5/mkspecs/features/testcase_targets.prf \
  193 + /usr/share/qt5/mkspecs/features/exceptions.prf \
  194 + /usr/share/qt5/mkspecs/features/yacc.prf \
  195 + /usr/share/qt5/mkspecs/features/lex.prf \
  196 + ../QChatClient/QChatClient.pro \
  197 + /usr/lib/x86_64-linux-gnu/libQt5Widgets.prl \
  198 + /usr/lib/x86_64-linux-gnu/libQt5Gui.prl \
  199 + /usr/lib/x86_64-linux-gnu/libQt5Core.prl
  200 + $(QMAKE) -spec linux-g++-64 CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug -o Makefile ../QChatClient/QChatClient.pro
  201 +/usr/share/qt5/mkspecs/features/spec_pre.prf:
  202 +/usr/share/qt5/mkspecs/common/shell-unix.conf:
  203 +/usr/share/qt5/mkspecs/common/unix.conf:
  204 +/usr/share/qt5/mkspecs/common/linux.conf:
  205 +/usr/share/qt5/mkspecs/common/gcc-base.conf:
  206 +/usr/share/qt5/mkspecs/common/gcc-base-unix.conf:
  207 +/usr/share/qt5/mkspecs/common/g++-base.conf:
  208 +/usr/share/qt5/mkspecs/common/g++-unix.conf:
  209 +/usr/share/qt5/mkspecs/qconfig.pri:
  210 +/usr/share/qt5/mkspecs/modules/qt_lib_bootstrap.pri:
  211 +/usr/share/qt5/mkspecs/modules/qt_lib_concurrent.pri:
  212 +/usr/share/qt5/mkspecs/modules/qt_lib_core.pri:
  213 +/usr/share/qt5/mkspecs/modules/qt_lib_dbus.pri:
  214 +/usr/share/qt5/mkspecs/modules/qt_lib_gui.pri:
  215 +/usr/share/qt5/mkspecs/modules/qt_lib_network.pri:
  216 +/usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri:
  217 +/usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri:
  218 +/usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri:
  219 +/usr/share/qt5/mkspecs/modules/qt_lib_sql.pri:
  220 +/usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri:
  221 +/usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri:
  222 +/usr/share/qt5/mkspecs/modules/qt_lib_xml.pri:
  223 +/usr/share/qt5/mkspecs/features/qt_functions.prf:
  224 +/usr/share/qt5/mkspecs/features/qt_config.prf:
  225 +/usr/share/qt5/mkspecs/linux-g++-64/qmake.conf:
  226 +/usr/share/qt5/mkspecs/features/spec_post.prf:
  227 +/usr/share/qt5/mkspecs/features/exclusive_builds.prf:
  228 +/usr/share/qt5/mkspecs/features/default_pre.prf:
  229 +/usr/share/qt5/mkspecs/features/unix/default_pre.prf:
  230 +/usr/share/qt5/mkspecs/features/resolve_config.prf:
  231 +/usr/share/qt5/mkspecs/features/default_post.prf:
  232 +/usr/share/qt5/mkspecs/features/qml_debug.prf:
  233 +/usr/share/qt5/mkspecs/features/declarative_debug.prf:
  234 +/usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf:
  235 +/usr/share/qt5/mkspecs/features/warn_on.prf:
  236 +/usr/share/qt5/mkspecs/features/qt.prf:
  237 +/usr/share/qt5/mkspecs/features/resources.prf:
  238 +/usr/share/qt5/mkspecs/features/moc.prf:
  239 +/usr/share/qt5/mkspecs/features/unix/opengl.prf:
  240 +/usr/share/qt5/mkspecs/features/uic.prf:
  241 +/usr/share/qt5/mkspecs/features/unix/thread.prf:
  242 +/usr/share/qt5/mkspecs/features/wayland-scanner.prf:
  243 +/usr/share/qt5/mkspecs/features/testcase_targets.prf:
  244 +/usr/share/qt5/mkspecs/features/exceptions.prf:
  245 +/usr/share/qt5/mkspecs/features/yacc.prf:
  246 +/usr/share/qt5/mkspecs/features/lex.prf:
  247 +../QChatClient/QChatClient.pro:
  248 +/usr/lib/x86_64-linux-gnu/libQt5Widgets.prl:
  249 +/usr/lib/x86_64-linux-gnu/libQt5Gui.prl:
  250 +/usr/lib/x86_64-linux-gnu/libQt5Core.prl:
  251 +qmake: FORCE
  252 + @$(QMAKE) -spec linux-g++-64 CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug -o Makefile ../QChatClient/QChatClient.pro
  253 +
  254 +qmake_all: FORCE
  255 +
  256 +dist:
  257 + @test -d .tmp/QChatClient1.0.0 || mkdir -p .tmp/QChatClient1.0.0
  258 + $(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
  259 +
  260 +
  261 +clean:compiler_clean
  262 + -$(DEL_FILE) $(OBJECTS)
  263 + -$(DEL_FILE) *~ core *.core
  264 +
  265 +
  266 +####### Sub-libraries
  267 +
  268 +distclean: clean
  269 + -$(DEL_FILE) $(TARGET)
  270 + -$(DEL_FILE) Makefile
  271 +
  272 +
  273 +mocclean: compiler_moc_header_clean compiler_moc_source_clean
  274 +
  275 +mocables: compiler_moc_header_make_all compiler_moc_source_make_all
  276 +
  277 +check: first
  278 +
  279 +compiler_rcc_make_all:
  280 +compiler_rcc_clean:
  281 +compiler_wayland-server-header_make_all:
  282 +compiler_wayland-server-header_clean:
  283 +compiler_wayland-client-header_make_all:
  284 +compiler_wayland-client-header_clean:
  285 +compiler_moc_header_make_all: moc_chatwindow.cpp moc_loginscreen.cpp moc_chatroomselect.cpp moc_chatroom.cpp
  286 +compiler_moc_header_clean:
  287 + -$(DEL_FILE) moc_chatwindow.cpp moc_loginscreen.cpp moc_chatroomselect.cpp moc_chatroom.cpp
  288 +moc_chatwindow.cpp: /usr/include/qt5/QtWidgets/QMainWindow \
  289 + /usr/include/qt5/QtWidgets/qmainwindow.h \
  290 + /usr/include/qt5/QtWidgets/qwidget.h \
  291 + /usr/include/qt5/QtGui/qwindowdefs.h \
  292 + /usr/include/qt5/QtCore/qglobal.h \
  293 + /usr/include/qt5/QtCore/qconfig.h \
  294 + /usr/include/qt5/QtCore/qfeatures.h \
  295 + /usr/include/qt5/QtCore/qsystemdetection.h \
  296 + /usr/include/qt5/QtCore/qcompilerdetection.h \
  297 + /usr/include/qt5/QtCore/qprocessordetection.h \
  298 + /usr/include/qt5/QtCore/qlogging.h \
  299 + /usr/include/qt5/QtCore/qflags.h \
  300 + /usr/include/qt5/QtCore/qtypeinfo.h \
  301 + /usr/include/qt5/QtCore/qtypetraits.h \
  302 + /usr/include/qt5/QtCore/qsysinfo.h \
  303 + /usr/include/qt5/QtCore/qobjectdefs.h \
  304 + /usr/include/qt5/QtCore/qnamespace.h \
  305 + /usr/include/qt5/QtCore/qobjectdefs_impl.h \
  306 + /usr/include/qt5/QtGui/qwindowdefs_win.h \
  307 + /usr/include/qt5/QtCore/qobject.h \
  308 + /usr/include/qt5/QtCore/qstring.h \
  309 + /usr/include/qt5/QtCore/qchar.h \
  310 + /usr/include/qt5/QtCore/qbytearray.h \
  311 + /usr/include/qt5/QtCore/qrefcount.h \
  312 + /usr/include/qt5/QtCore/qatomic.h \
  313 + /usr/include/qt5/QtCore/qbasicatomic.h \
  314 + /usr/include/qt5/QtCore/qatomic_bootstrap.h \
  315 + /usr/include/qt5/QtCore/qgenericatomic.h \
  316 + /usr/include/qt5/QtCore/qatomic_msvc.h \
  317 + /usr/include/qt5/QtCore/qatomic_integrity.h \
  318 + /usr/include/qt5/QtCore/qoldbasicatomic.h \
  319 + /usr/include/qt5/QtCore/qatomic_vxworks.h \
  320 + /usr/include/qt5/QtCore/qatomic_power.h \
  321 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
  322 + /usr/include/qt5/QtCore/qatomic_alpha.h \
  323 + /usr/include/qt5/QtCore/qatomic_armv7.h \
  324 + /usr/include/qt5/QtCore/qatomic_armv6.h \
  325 + /usr/include/qt5/QtCore/qatomic_armv5.h \
  326 + /usr/include/qt5/QtCore/qatomic_bfin.h \
  327 + /usr/include/qt5/QtCore/qatomic_ia64.h \
  328 + /usr/include/qt5/QtCore/qatomic_mips.h \
  329 + /usr/include/qt5/QtCore/qatomic_s390.h \
  330 + /usr/include/qt5/QtCore/qatomic_sh4a.h \
  331 + /usr/include/qt5/QtCore/qatomic_sparc.h \
  332 + /usr/include/qt5/QtCore/qatomic_x86.h \
  333 + /usr/include/qt5/QtCore/qatomic_cxx11.h \
  334 + /usr/include/qt5/QtCore/qatomic_gcc.h \
  335 + /usr/include/qt5/QtCore/qatomic_unix.h \
  336 + /usr/include/qt5/QtCore/qarraydata.h \
  337 + /usr/include/qt5/QtCore/qstringbuilder.h \
  338 + /usr/include/qt5/QtCore/qlist.h \
  339 + /usr/include/qt5/QtCore/qalgorithms.h \
  340 + /usr/include/qt5/QtCore/qiterator.h \
  341 + /usr/include/qt5/QtCore/qcoreevent.h \
  342 + /usr/include/qt5/QtCore/qscopedpointer.h \
  343 + /usr/include/qt5/QtCore/qmetatype.h \
  344 + /usr/include/qt5/QtCore/qvarlengtharray.h \
  345 + /usr/include/qt5/QtCore/qcontainerfwd.h \
  346 + /usr/include/qt5/QtCore/qisenum.h \
  347 + /usr/include/qt5/QtCore/qobject_impl.h \
  348 + /usr/include/qt5/QtCore/qmargins.h \
  349 + /usr/include/qt5/QtGui/qpaintdevice.h \
  350 + /usr/include/qt5/QtCore/qrect.h \
  351 + /usr/include/qt5/QtCore/qsize.h \
  352 + /usr/include/qt5/QtCore/qpoint.h \
  353 + /usr/include/qt5/QtGui/qpalette.h \
  354 + /usr/include/qt5/QtGui/qcolor.h \
  355 + /usr/include/qt5/QtGui/qrgb.h \
  356 + /usr/include/qt5/QtCore/qstringlist.h \
  357 + /usr/include/qt5/QtCore/qdatastream.h \
  358 + /usr/include/qt5/QtCore/qiodevice.h \
  359 + /usr/include/qt5/QtCore/qpair.h \
  360 + /usr/include/qt5/QtCore/qregexp.h \
  361 + /usr/include/qt5/QtCore/qstringmatcher.h \
  362 + /usr/include/qt5/QtGui/qbrush.h \
  363 + /usr/include/qt5/QtCore/qvector.h \
  364 + /usr/include/qt5/QtGui/qmatrix.h \
  365 + /usr/include/qt5/QtGui/qpolygon.h \
  366 + /usr/include/qt5/QtGui/qregion.h \
  367 + /usr/include/qt5/QtCore/qline.h \
  368 + /usr/include/qt5/QtGui/qtransform.h \
  369 + /usr/include/qt5/QtGui/qpainterpath.h \
  370 + /usr/include/qt5/QtGui/qimage.h \
  371 + /usr/include/qt5/QtGui/qpixmap.h \
  372 + /usr/include/qt5/QtCore/qsharedpointer.h \
  373 + /usr/include/qt5/QtCore/qshareddata.h \
  374 + /usr/include/qt5/QtCore/qsharedpointer_impl.h \
  375 + /usr/include/qt5/QtCore/qhash.h \
  376 + /usr/include/qt5/QtGui/qfont.h \
  377 + /usr/include/qt5/QtGui/qfontmetrics.h \
  378 + /usr/include/qt5/QtGui/qfontinfo.h \
  379 + /usr/include/qt5/QtWidgets/qsizepolicy.h \
  380 + /usr/include/qt5/QtGui/qcursor.h \
  381 + /usr/include/qt5/QtGui/qkeysequence.h \
  382 + /usr/include/qt5/QtGui/qevent.h \
  383 + /usr/include/qt5/QtCore/qvariant.h \
  384 + /usr/include/qt5/QtCore/qmap.h \
  385 + /usr/include/qt5/QtCore/qdebug.h \
  386 + /usr/include/qt5/QtCore/qtextstream.h \
  387 + /usr/include/qt5/QtCore/qlocale.h \
  388 + /usr/include/qt5/QtCore/qset.h \
  389 + /usr/include/qt5/QtCore/qcontiguouscache.h \
  390 + /usr/include/qt5/QtCore/qurl.h \
  391 + /usr/include/qt5/QtCore/qurlquery.h \
  392 + /usr/include/qt5/QtCore/qfile.h \
  393 + /usr/include/qt5/QtCore/qfiledevice.h \
  394 + /usr/include/qt5/QtGui/qvector2d.h \
  395 + /usr/include/qt5/QtGui/qtouchdevice.h \
  396 + /usr/include/qt5/QtWidgets/qtabwidget.h \
  397 + /usr/include/qt5/QtGui/qicon.h \
  398 + ../QChatClient/chatwindow.h
  399 + /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatwindow.h -o moc_chatwindow.cpp
  400 +
  401 +moc_loginscreen.cpp: /usr/include/qt5/QtWidgets/QDialog \
  402 + /usr/include/qt5/QtWidgets/qdialog.h \
  403 + /usr/include/qt5/QtWidgets/qwidget.h \
  404 + /usr/include/qt5/QtGui/qwindowdefs.h \
  405 + /usr/include/qt5/QtCore/qglobal.h \
  406 + /usr/include/qt5/QtCore/qconfig.h \
  407 + /usr/include/qt5/QtCore/qfeatures.h \
  408 + /usr/include/qt5/QtCore/qsystemdetection.h \
  409 + /usr/include/qt5/QtCore/qcompilerdetection.h \
  410 + /usr/include/qt5/QtCore/qprocessordetection.h \
  411 + /usr/include/qt5/QtCore/qlogging.h \
  412 + /usr/include/qt5/QtCore/qflags.h \
  413 + /usr/include/qt5/QtCore/qtypeinfo.h \
  414 + /usr/include/qt5/QtCore/qtypetraits.h \
  415 + /usr/include/qt5/QtCore/qsysinfo.h \
  416 + /usr/include/qt5/QtCore/qobjectdefs.h \
  417 + /usr/include/qt5/QtCore/qnamespace.h \
  418 + /usr/include/qt5/QtCore/qobjectdefs_impl.h \
  419 + /usr/include/qt5/QtGui/qwindowdefs_win.h \
  420 + /usr/include/qt5/QtCore/qobject.h \
  421 + /usr/include/qt5/QtCore/qstring.h \
  422 + /usr/include/qt5/QtCore/qchar.h \
  423 + /usr/include/qt5/QtCore/qbytearray.h \
  424 + /usr/include/qt5/QtCore/qrefcount.h \
  425 + /usr/include/qt5/QtCore/qatomic.h \
  426 + /usr/include/qt5/QtCore/qbasicatomic.h \
  427 + /usr/include/qt5/QtCore/qatomic_bootstrap.h \
  428 + /usr/include/qt5/QtCore/qgenericatomic.h \
  429 + /usr/include/qt5/QtCore/qatomic_msvc.h \
  430 + /usr/include/qt5/QtCore/qatomic_integrity.h \
  431 + /usr/include/qt5/QtCore/qoldbasicatomic.h \
  432 + /usr/include/qt5/QtCore/qatomic_vxworks.h \
  433 + /usr/include/qt5/QtCore/qatomic_power.h \
  434 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
  435 + /usr/include/qt5/QtCore/qatomic_alpha.h \
  436 + /usr/include/qt5/QtCore/qatomic_armv7.h \
  437 + /usr/include/qt5/QtCore/qatomic_armv6.h \
  438 + /usr/include/qt5/QtCore/qatomic_armv5.h \
  439 + /usr/include/qt5/QtCore/qatomic_bfin.h \
  440 + /usr/include/qt5/QtCore/qatomic_ia64.h \
  441 + /usr/include/qt5/QtCore/qatomic_mips.h \
  442 + /usr/include/qt5/QtCore/qatomic_s390.h \
  443 + /usr/include/qt5/QtCore/qatomic_sh4a.h \
  444 + /usr/include/qt5/QtCore/qatomic_sparc.h \
  445 + /usr/include/qt5/QtCore/qatomic_x86.h \
  446 + /usr/include/qt5/QtCore/qatomic_cxx11.h \
  447 + /usr/include/qt5/QtCore/qatomic_gcc.h \
  448 + /usr/include/qt5/QtCore/qatomic_unix.h \
  449 + /usr/include/qt5/QtCore/qarraydata.h \
  450 + /usr/include/qt5/QtCore/qstringbuilder.h \
  451 + /usr/include/qt5/QtCore/qlist.h \
  452 + /usr/include/qt5/QtCore/qalgorithms.h \
  453 + /usr/include/qt5/QtCore/qiterator.h \
  454 + /usr/include/qt5/QtCore/qcoreevent.h \
  455 + /usr/include/qt5/QtCore/qscopedpointer.h \
  456 + /usr/include/qt5/QtCore/qmetatype.h \
  457 + /usr/include/qt5/QtCore/qvarlengtharray.h \
  458 + /usr/include/qt5/QtCore/qcontainerfwd.h \
  459 + /usr/include/qt5/QtCore/qisenum.h \
  460 + /usr/include/qt5/QtCore/qobject_impl.h \
  461 + /usr/include/qt5/QtCore/qmargins.h \
  462 + /usr/include/qt5/QtGui/qpaintdevice.h \
  463 + /usr/include/qt5/QtCore/qrect.h \
  464 + /usr/include/qt5/QtCore/qsize.h \
  465 + /usr/include/qt5/QtCore/qpoint.h \
  466 + /usr/include/qt5/QtGui/qpalette.h \
  467 + /usr/include/qt5/QtGui/qcolor.h \
  468 + /usr/include/qt5/QtGui/qrgb.h \
  469 + /usr/include/qt5/QtCore/qstringlist.h \
  470 + /usr/include/qt5/QtCore/qdatastream.h \
  471 + /usr/include/qt5/QtCore/qiodevice.h \
  472 + /usr/include/qt5/QtCore/qpair.h \
  473 + /usr/include/qt5/QtCore/qregexp.h \
  474 + /usr/include/qt5/QtCore/qstringmatcher.h \
  475 + /usr/include/qt5/QtGui/qbrush.h \
  476 + /usr/include/qt5/QtCore/qvector.h \
  477 + /usr/include/qt5/QtGui/qmatrix.h \
  478 + /usr/include/qt5/QtGui/qpolygon.h \
  479 + /usr/include/qt5/QtGui/qregion.h \
  480 + /usr/include/qt5/QtCore/qline.h \
  481 + /usr/include/qt5/QtGui/qtransform.h \
  482 + /usr/include/qt5/QtGui/qpainterpath.h \
  483 + /usr/include/qt5/QtGui/qimage.h \
  484 + /usr/include/qt5/QtGui/qpixmap.h \
  485 + /usr/include/qt5/QtCore/qsharedpointer.h \
  486 + /usr/include/qt5/QtCore/qshareddata.h \
  487 + /usr/include/qt5/QtCore/qsharedpointer_impl.h \
  488 + /usr/include/qt5/QtCore/qhash.h \
  489 + /usr/include/qt5/QtGui/qfont.h \
  490 + /usr/include/qt5/QtGui/qfontmetrics.h \
  491 + /usr/include/qt5/QtGui/qfontinfo.h \
  492 + /usr/include/qt5/QtWidgets/qsizepolicy.h \
  493 + /usr/include/qt5/QtGui/qcursor.h \
  494 + /usr/include/qt5/QtGui/qkeysequence.h \
  495 + /usr/include/qt5/QtGui/qevent.h \
  496 + /usr/include/qt5/QtCore/qvariant.h \
  497 + /usr/include/qt5/QtCore/qmap.h \
  498 + /usr/include/qt5/QtCore/qdebug.h \
  499 + /usr/include/qt5/QtCore/qtextstream.h \
  500 + /usr/include/qt5/QtCore/qlocale.h \
  501 + /usr/include/qt5/QtCore/qset.h \
  502 + /usr/include/qt5/QtCore/qcontiguouscache.h \
  503 + /usr/include/qt5/QtCore/qurl.h \
  504 + /usr/include/qt5/QtCore/qurlquery.h \
  505 + /usr/include/qt5/QtCore/qfile.h \
  506 + /usr/include/qt5/QtCore/qfiledevice.h \
  507 + /usr/include/qt5/QtGui/qvector2d.h \
  508 + /usr/include/qt5/QtGui/qtouchdevice.h \
  509 + ../QChatClient/loginscreen.h
  510 + /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/loginscreen.h -o moc_loginscreen.cpp
  511 +
  512 +moc_chatroomselect.cpp: /usr/include/qt5/QtWidgets/QDialog \
  513 + /usr/include/qt5/QtWidgets/qdialog.h \
  514 + /usr/include/qt5/QtWidgets/qwidget.h \
  515 + /usr/include/qt5/QtGui/qwindowdefs.h \
  516 + /usr/include/qt5/QtCore/qglobal.h \
  517 + /usr/include/qt5/QtCore/qconfig.h \
  518 + /usr/include/qt5/QtCore/qfeatures.h \
  519 + /usr/include/qt5/QtCore/qsystemdetection.h \
  520 + /usr/include/qt5/QtCore/qcompilerdetection.h \
  521 + /usr/include/qt5/QtCore/qprocessordetection.h \
  522 + /usr/include/qt5/QtCore/qlogging.h \
  523 + /usr/include/qt5/QtCore/qflags.h \
  524 + /usr/include/qt5/QtCore/qtypeinfo.h \
  525 + /usr/include/qt5/QtCore/qtypetraits.h \
  526 + /usr/include/qt5/QtCore/qsysinfo.h \
  527 + /usr/include/qt5/QtCore/qobjectdefs.h \
  528 + /usr/include/qt5/QtCore/qnamespace.h \
  529 + /usr/include/qt5/QtCore/qobjectdefs_impl.h \
  530 + /usr/include/qt5/QtGui/qwindowdefs_win.h \
  531 + /usr/include/qt5/QtCore/qobject.h \
  532 + /usr/include/qt5/QtCore/qstring.h \
  533 + /usr/include/qt5/QtCore/qchar.h \
  534 + /usr/include/qt5/QtCore/qbytearray.h \
  535 + /usr/include/qt5/QtCore/qrefcount.h \
  536 + /usr/include/qt5/QtCore/qatomic.h \
  537 + /usr/include/qt5/QtCore/qbasicatomic.h \
  538 + /usr/include/qt5/QtCore/qatomic_bootstrap.h \
  539 + /usr/include/qt5/QtCore/qgenericatomic.h \
  540 + /usr/include/qt5/QtCore/qatomic_msvc.h \
  541 + /usr/include/qt5/QtCore/qatomic_integrity.h \
  542 + /usr/include/qt5/QtCore/qoldbasicatomic.h \
  543 + /usr/include/qt5/QtCore/qatomic_vxworks.h \
  544 + /usr/include/qt5/QtCore/qatomic_power.h \
  545 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
  546 + /usr/include/qt5/QtCore/qatomic_alpha.h \
  547 + /usr/include/qt5/QtCore/qatomic_armv7.h \
  548 + /usr/include/qt5/QtCore/qatomic_armv6.h \
  549 + /usr/include/qt5/QtCore/qatomic_armv5.h \
  550 + /usr/include/qt5/QtCore/qatomic_bfin.h \
  551 + /usr/include/qt5/QtCore/qatomic_ia64.h \
  552 + /usr/include/qt5/QtCore/qatomic_mips.h \
  553 + /usr/include/qt5/QtCore/qatomic_s390.h \
  554 + /usr/include/qt5/QtCore/qatomic_sh4a.h \
  555 + /usr/include/qt5/QtCore/qatomic_sparc.h \
  556 + /usr/include/qt5/QtCore/qatomic_x86.h \
  557 + /usr/include/qt5/QtCore/qatomic_cxx11.h \
  558 + /usr/include/qt5/QtCore/qatomic_gcc.h \
  559 + /usr/include/qt5/QtCore/qatomic_unix.h \
  560 + /usr/include/qt5/QtCore/qarraydata.h \
  561 + /usr/include/qt5/QtCore/qstringbuilder.h \
  562 + /usr/include/qt5/QtCore/qlist.h \
  563 + /usr/include/qt5/QtCore/qalgorithms.h \
  564 + /usr/include/qt5/QtCore/qiterator.h \
  565 + /usr/include/qt5/QtCore/qcoreevent.h \
  566 + /usr/include/qt5/QtCore/qscopedpointer.h \
  567 + /usr/include/qt5/QtCore/qmetatype.h \
  568 + /usr/include/qt5/QtCore/qvarlengtharray.h \
  569 + /usr/include/qt5/QtCore/qcontainerfwd.h \
  570 + /usr/include/qt5/QtCore/qisenum.h \
  571 + /usr/include/qt5/QtCore/qobject_impl.h \
  572 + /usr/include/qt5/QtCore/qmargins.h \
  573 + /usr/include/qt5/QtGui/qpaintdevice.h \
  574 + /usr/include/qt5/QtCore/qrect.h \
  575 + /usr/include/qt5/QtCore/qsize.h \
  576 + /usr/include/qt5/QtCore/qpoint.h \
  577 + /usr/include/qt5/QtGui/qpalette.h \
  578 + /usr/include/qt5/QtGui/qcolor.h \
  579 + /usr/include/qt5/QtGui/qrgb.h \
  580 + /usr/include/qt5/QtCore/qstringlist.h \
  581 + /usr/include/qt5/QtCore/qdatastream.h \
  582 + /usr/include/qt5/QtCore/qiodevice.h \
  583 + /usr/include/qt5/QtCore/qpair.h \
  584 + /usr/include/qt5/QtCore/qregexp.h \
  585 + /usr/include/qt5/QtCore/qstringmatcher.h \
  586 + /usr/include/qt5/QtGui/qbrush.h \
  587 + /usr/include/qt5/QtCore/qvector.h \
  588 + /usr/include/qt5/QtGui/qmatrix.h \
  589 + /usr/include/qt5/QtGui/qpolygon.h \
  590 + /usr/include/qt5/QtGui/qregion.h \
  591 + /usr/include/qt5/QtCore/qline.h \
  592 + /usr/include/qt5/QtGui/qtransform.h \
  593 + /usr/include/qt5/QtGui/qpainterpath.h \
  594 + /usr/include/qt5/QtGui/qimage.h \
  595 + /usr/include/qt5/QtGui/qpixmap.h \
  596 + /usr/include/qt5/QtCore/qsharedpointer.h \
  597 + /usr/include/qt5/QtCore/qshareddata.h \
  598 + /usr/include/qt5/QtCore/qsharedpointer_impl.h \
  599 + /usr/include/qt5/QtCore/qhash.h \
  600 + /usr/include/qt5/QtGui/qfont.h \
  601 + /usr/include/qt5/QtGui/qfontmetrics.h \
  602 + /usr/include/qt5/QtGui/qfontinfo.h \
  603 + /usr/include/qt5/QtWidgets/qsizepolicy.h \
  604 + /usr/include/qt5/QtGui/qcursor.h \
  605 + /usr/include/qt5/QtGui/qkeysequence.h \
  606 + /usr/include/qt5/QtGui/qevent.h \
  607 + /usr/include/qt5/QtCore/qvariant.h \
  608 + /usr/include/qt5/QtCore/qmap.h \
  609 + /usr/include/qt5/QtCore/qdebug.h \
  610 + /usr/include/qt5/QtCore/qtextstream.h \
  611 + /usr/include/qt5/QtCore/qlocale.h \
  612 + /usr/include/qt5/QtCore/qset.h \
  613 + /usr/include/qt5/QtCore/qcontiguouscache.h \
  614 + /usr/include/qt5/QtCore/qurl.h \
  615 + /usr/include/qt5/QtCore/qurlquery.h \
  616 + /usr/include/qt5/QtCore/qfile.h \
  617 + /usr/include/qt5/QtCore/qfiledevice.h \
  618 + /usr/include/qt5/QtGui/qvector2d.h \
  619 + /usr/include/qt5/QtGui/qtouchdevice.h \
  620 + ../QChatClient/chatroomselect.h
  621 + /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatroomselect.h -o moc_chatroomselect.cpp
  622 +
  623 +moc_chatroom.cpp: /usr/include/qt5/QtWidgets/QMainWindow \
  624 + /usr/include/qt5/QtWidgets/qmainwindow.h \
  625 + /usr/include/qt5/QtWidgets/qwidget.h \
  626 + /usr/include/qt5/QtGui/qwindowdefs.h \
  627 + /usr/include/qt5/QtCore/qglobal.h \
  628 + /usr/include/qt5/QtCore/qconfig.h \
  629 + /usr/include/qt5/QtCore/qfeatures.h \
  630 + /usr/include/qt5/QtCore/qsystemdetection.h \
  631 + /usr/include/qt5/QtCore/qcompilerdetection.h \
  632 + /usr/include/qt5/QtCore/qprocessordetection.h \
  633 + /usr/include/qt5/QtCore/qlogging.h \
  634 + /usr/include/qt5/QtCore/qflags.h \
  635 + /usr/include/qt5/QtCore/qtypeinfo.h \
  636 + /usr/include/qt5/QtCore/qtypetraits.h \
  637 + /usr/include/qt5/QtCore/qsysinfo.h \
  638 + /usr/include/qt5/QtCore/qobjectdefs.h \
  639 + /usr/include/qt5/QtCore/qnamespace.h \
  640 + /usr/include/qt5/QtCore/qobjectdefs_impl.h \
  641 + /usr/include/qt5/QtGui/qwindowdefs_win.h \
  642 + /usr/include/qt5/QtCore/qobject.h \
  643 + /usr/include/qt5/QtCore/qstring.h \
  644 + /usr/include/qt5/QtCore/qchar.h \
  645 + /usr/include/qt5/QtCore/qbytearray.h \
  646 + /usr/include/qt5/QtCore/qrefcount.h \
  647 + /usr/include/qt5/QtCore/qatomic.h \
  648 + /usr/include/qt5/QtCore/qbasicatomic.h \
  649 + /usr/include/qt5/QtCore/qatomic_bootstrap.h \
  650 + /usr/include/qt5/QtCore/qgenericatomic.h \
  651 + /usr/include/qt5/QtCore/qatomic_msvc.h \
  652 + /usr/include/qt5/QtCore/qatomic_integrity.h \
  653 + /usr/include/qt5/QtCore/qoldbasicatomic.h \
  654 + /usr/include/qt5/QtCore/qatomic_vxworks.h \
  655 + /usr/include/qt5/QtCore/qatomic_power.h \
  656 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
  657 + /usr/include/qt5/QtCore/qatomic_alpha.h \
  658 + /usr/include/qt5/QtCore/qatomic_armv7.h \
  659 + /usr/include/qt5/QtCore/qatomic_armv6.h \
  660 + /usr/include/qt5/QtCore/qatomic_armv5.h \
  661 + /usr/include/qt5/QtCore/qatomic_bfin.h \
  662 + /usr/include/qt5/QtCore/qatomic_ia64.h \
  663 + /usr/include/qt5/QtCore/qatomic_mips.h \
  664 + /usr/include/qt5/QtCore/qatomic_s390.h \
  665 + /usr/include/qt5/QtCore/qatomic_sh4a.h \
  666 + /usr/include/qt5/QtCore/qatomic_sparc.h \
  667 + /usr/include/qt5/QtCore/qatomic_x86.h \
  668 + /usr/include/qt5/QtCore/qatomic_cxx11.h \
  669 + /usr/include/qt5/QtCore/qatomic_gcc.h \
  670 + /usr/include/qt5/QtCore/qatomic_unix.h \
  671 + /usr/include/qt5/QtCore/qarraydata.h \
  672 + /usr/include/qt5/QtCore/qstringbuilder.h \
  673 + /usr/include/qt5/QtCore/qlist.h \
  674 + /usr/include/qt5/QtCore/qalgorithms.h \
  675 + /usr/include/qt5/QtCore/qiterator.h \
  676 + /usr/include/qt5/QtCore/qcoreevent.h \
  677 + /usr/include/qt5/QtCore/qscopedpointer.h \
  678 + /usr/include/qt5/QtCore/qmetatype.h \
  679 + /usr/include/qt5/QtCore/qvarlengtharray.h \
  680 + /usr/include/qt5/QtCore/qcontainerfwd.h \
  681 + /usr/include/qt5/QtCore/qisenum.h \
  682 + /usr/include/qt5/QtCore/qobject_impl.h \
  683 + /usr/include/qt5/QtCore/qmargins.h \
  684 + /usr/include/qt5/QtGui/qpaintdevice.h \
  685 + /usr/include/qt5/QtCore/qrect.h \
  686 + /usr/include/qt5/QtCore/qsize.h \
  687 + /usr/include/qt5/QtCore/qpoint.h \
  688 + /usr/include/qt5/QtGui/qpalette.h \
  689 + /usr/include/qt5/QtGui/qcolor.h \
  690 + /usr/include/qt5/QtGui/qrgb.h \
  691 + /usr/include/qt5/QtCore/qstringlist.h \
  692 + /usr/include/qt5/QtCore/qdatastream.h \
  693 + /usr/include/qt5/QtCore/qiodevice.h \
  694 + /usr/include/qt5/QtCore/qpair.h \
  695 + /usr/include/qt5/QtCore/qregexp.h \
  696 + /usr/include/qt5/QtCore/qstringmatcher.h \
  697 + /usr/include/qt5/QtGui/qbrush.h \
  698 + /usr/include/qt5/QtCore/qvector.h \
  699 + /usr/include/qt5/QtGui/qmatrix.h \
  700 + /usr/include/qt5/QtGui/qpolygon.h \
  701 + /usr/include/qt5/QtGui/qregion.h \
  702 + /usr/include/qt5/QtCore/qline.h \
  703 + /usr/include/qt5/QtGui/qtransform.h \
  704 + /usr/include/qt5/QtGui/qpainterpath.h \
  705 + /usr/include/qt5/QtGui/qimage.h \
  706 + /usr/include/qt5/QtGui/qpixmap.h \
  707 + /usr/include/qt5/QtCore/qsharedpointer.h \
  708 + /usr/include/qt5/QtCore/qshareddata.h \
  709 + /usr/include/qt5/QtCore/qsharedpointer_impl.h \
  710 + /usr/include/qt5/QtCore/qhash.h \
  711 + /usr/include/qt5/QtGui/qfont.h \
  712 + /usr/include/qt5/QtGui/qfontmetrics.h \
  713 + /usr/include/qt5/QtGui/qfontinfo.h \
  714 + /usr/include/qt5/QtWidgets/qsizepolicy.h \
  715 + /usr/include/qt5/QtGui/qcursor.h \
  716 + /usr/include/qt5/QtGui/qkeysequence.h \
  717 + /usr/include/qt5/QtGui/qevent.h \
  718 + /usr/include/qt5/QtCore/qvariant.h \
  719 + /usr/include/qt5/QtCore/qmap.h \
  720 + /usr/include/qt5/QtCore/qdebug.h \
  721 + /usr/include/qt5/QtCore/qtextstream.h \
  722 + /usr/include/qt5/QtCore/qlocale.h \
  723 + /usr/include/qt5/QtCore/qset.h \
  724 + /usr/include/qt5/QtCore/qcontiguouscache.h \
  725 + /usr/include/qt5/QtCore/qurl.h \
  726 + /usr/include/qt5/QtCore/qurlquery.h \
  727 + /usr/include/qt5/QtCore/qfile.h \
  728 + /usr/include/qt5/QtCore/qfiledevice.h \
  729 + /usr/include/qt5/QtGui/qvector2d.h \
  730 + /usr/include/qt5/QtGui/qtouchdevice.h \
  731 + /usr/include/qt5/QtWidgets/qtabwidget.h \
  732 + /usr/include/qt5/QtGui/qicon.h \
  733 + ../QChatClient/chatroom.h
  734 + /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatroom.h -o moc_chatroom.cpp
  735 +
  736 +compiler_wayland-code_make_all:
  737 +compiler_wayland-code_clean:
  738 +compiler_moc_source_make_all:
  739 +compiler_moc_source_clean:
  740 +compiler_uic_make_all: ui_chatwindow.h ui_loginscreen.h ui_chatroomselect.h ui_chatroom.h
  741 +compiler_uic_clean:
  742 + -$(DEL_FILE) ui_chatwindow.h ui_loginscreen.h ui_chatroomselect.h ui_chatroom.h
  743 +ui_chatwindow.h: ../QChatClient/chatwindow.ui
  744 + /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatwindow.ui -o ui_chatwindow.h
  745 +
  746 +ui_loginscreen.h: ../QChatClient/loginscreen.ui
  747 + /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/loginscreen.ui -o ui_loginscreen.h
  748 +
  749 +ui_chatroomselect.h: ../QChatClient/chatroomselect.ui
  750 + /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatroomselect.ui -o ui_chatroomselect.h
  751 +
  752 +ui_chatroom.h: ../QChatClient/chatroom.ui
  753 + /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatroom.ui -o ui_chatroom.h
  754 +
  755 +compiler_yacc_decl_make_all:
  756 +compiler_yacc_decl_clean:
  757 +compiler_yacc_impl_make_all:
  758 +compiler_yacc_impl_clean:
  759 +compiler_lex_make_all:
  760 +compiler_lex_clean:
  761 +compiler_clean: compiler_moc_header_clean compiler_uic_clean
  762 +
  763 +####### Compile
  764 +
  765 +main.o: ../QChatClient/main.cpp ../QChatClient/loginscreen.h \
  766 + /usr/include/qt5/QtWidgets/QDialog \
  767 + /usr/include/qt5/QtWidgets/qdialog.h \
  768 + /usr/include/qt5/QtWidgets/qwidget.h \
  769 + /usr/include/qt5/QtGui/qwindowdefs.h \
  770 + /usr/include/qt5/QtCore/qglobal.h \
  771 + /usr/include/qt5/QtCore/qconfig.h \
  772 + /usr/include/qt5/QtCore/qfeatures.h \
  773 + /usr/include/qt5/QtCore/qsystemdetection.h \
  774 + /usr/include/qt5/QtCore/qcompilerdetection.h \
  775 + /usr/include/qt5/QtCore/qprocessordetection.h \
  776 + /usr/include/qt5/QtCore/qlogging.h \
  777 + /usr/include/qt5/QtCore/qflags.h \
  778 + /usr/include/qt5/QtCore/qtypeinfo.h \
  779 + /usr/include/qt5/QtCore/qtypetraits.h \
  780 + /usr/include/qt5/QtCore/qsysinfo.h \
  781 + /usr/include/qt5/QtCore/qobjectdefs.h \
  782 + /usr/include/qt5/QtCore/qnamespace.h \
  783 + /usr/include/qt5/QtCore/qobjectdefs_impl.h \
  784 + /usr/include/qt5/QtGui/qwindowdefs_win.h \
  785 + /usr/include/qt5/QtCore/qobject.h \
  786 + /usr/include/qt5/QtCore/qstring.h \
  787 + /usr/include/qt5/QtCore/qchar.h \
  788 + /usr/include/qt5/QtCore/qbytearray.h \
  789 + /usr/include/qt5/QtCore/qrefcount.h \
  790 + /usr/include/qt5/QtCore/qatomic.h \
  791 + /usr/include/qt5/QtCore/qbasicatomic.h \
  792 + /usr/include/qt5/QtCore/qatomic_bootstrap.h \
  793 + /usr/include/qt5/QtCore/qgenericatomic.h \
  794 + /usr/include/qt5/QtCore/qatomic_msvc.h \
  795 + /usr/include/qt5/QtCore/qatomic_integrity.h \
  796 + /usr/include/qt5/QtCore/qoldbasicatomic.h \
  797 + /usr/include/qt5/QtCore/qatomic_vxworks.h \
  798 + /usr/include/qt5/QtCore/qatomic_power.h \
  799 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
  800 + /usr/include/qt5/QtCore/qatomic_alpha.h \
  801 + /usr/include/qt5/QtCore/qatomic_armv7.h \
  802 + /usr/include/qt5/QtCore/qatomic_armv6.h \
  803 + /usr/include/qt5/QtCore/qatomic_armv5.h \
  804 + /usr/include/qt5/QtCore/qatomic_bfin.h \
  805 + /usr/include/qt5/QtCore/qatomic_ia64.h \
  806 + /usr/include/qt5/QtCore/qatomic_mips.h \
  807 + /usr/include/qt5/QtCore/qatomic_s390.h \
  808 + /usr/include/qt5/QtCore/qatomic_sh4a.h \
  809 + /usr/include/qt5/QtCore/qatomic_sparc.h \
  810 + /usr/include/qt5/QtCore/qatomic_x86.h \
  811 + /usr/include/qt5/QtCore/qatomic_cxx11.h \
  812 + /usr/include/qt5/QtCore/qatomic_gcc.h \
  813 + /usr/include/qt5/QtCore/qatomic_unix.h \
  814 + /usr/include/qt5/QtCore/qarraydata.h \
  815 + /usr/include/qt5/QtCore/qstringbuilder.h \
  816 + /usr/include/qt5/QtCore/qlist.h \
  817 + /usr/include/qt5/QtCore/qalgorithms.h \
  818 + /usr/include/qt5/QtCore/qiterator.h \
  819 + /usr/include/qt5/QtCore/qcoreevent.h \
  820 + /usr/include/qt5/QtCore/qscopedpointer.h \
  821 + /usr/include/qt5/QtCore/qmetatype.h \
  822 + /usr/include/qt5/QtCore/qvarlengtharray.h \
  823 + /usr/include/qt5/QtCore/qcontainerfwd.h \
  824 + /usr/include/qt5/QtCore/qisenum.h \
  825 + /usr/include/qt5/QtCore/qobject_impl.h \
  826 + /usr/include/qt5/QtCore/qmargins.h \
  827 + /usr/include/qt5/QtGui/qpaintdevice.h \
  828 + /usr/include/qt5/QtCore/qrect.h \
  829 + /usr/include/qt5/QtCore/qsize.h \
  830 + /usr/include/qt5/QtCore/qpoint.h \
  831 + /usr/include/qt5/QtGui/qpalette.h \
  832 + /usr/include/qt5/QtGui/qcolor.h \
  833 + /usr/include/qt5/QtGui/qrgb.h \
  834 + /usr/include/qt5/QtCore/qstringlist.h \
  835 + /usr/include/qt5/QtCore/qdatastream.h \
  836 + /usr/include/qt5/QtCore/qiodevice.h \
  837 + /usr/include/qt5/QtCore/qpair.h \
  838 + /usr/include/qt5/QtCore/qregexp.h \
  839 + /usr/include/qt5/QtCore/qstringmatcher.h \
  840 + /usr/include/qt5/QtGui/qbrush.h \
  841 + /usr/include/qt5/QtCore/qvector.h \
  842 + /usr/include/qt5/QtGui/qmatrix.h \
  843 + /usr/include/qt5/QtGui/qpolygon.h \
  844 + /usr/include/qt5/QtGui/qregion.h \
  845 + /usr/include/qt5/QtCore/qline.h \
  846 + /usr/include/qt5/QtGui/qtransform.h \
  847 + /usr/include/qt5/QtGui/qpainterpath.h \
  848 + /usr/include/qt5/QtGui/qimage.h \
  849 + /usr/include/qt5/QtGui/qpixmap.h \
  850 + /usr/include/qt5/QtCore/qsharedpointer.h \
  851 + /usr/include/qt5/QtCore/qshareddata.h \
  852 + /usr/include/qt5/QtCore/qsharedpointer_impl.h \
  853 + /usr/include/qt5/QtCore/qhash.h \
  854 + /usr/include/qt5/QtGui/qfont.h \
  855 + /usr/include/qt5/QtGui/qfontmetrics.h \
  856 + /usr/include/qt5/QtGui/qfontinfo.h \
  857 + /usr/include/qt5/QtWidgets/qsizepolicy.h \
  858 + /usr/include/qt5/QtGui/qcursor.h \
  859 + /usr/include/qt5/QtGui/qkeysequence.h \
  860 + /usr/include/qt5/QtGui/qevent.h \
  861 + /usr/include/qt5/QtCore/qvariant.h \
  862 + /usr/include/qt5/QtCore/qmap.h \
  863 + /usr/include/qt5/QtCore/qdebug.h \
  864 + /usr/include/qt5/QtCore/qtextstream.h \
  865 + /usr/include/qt5/QtCore/qlocale.h \
  866 + /usr/include/qt5/QtCore/qset.h \
  867 + /usr/include/qt5/QtCore/qcontiguouscache.h \
  868 + /usr/include/qt5/QtCore/qurl.h \
  869 + /usr/include/qt5/QtCore/qurlquery.h \
  870 + /usr/include/qt5/QtCore/qfile.h \
  871 + /usr/include/qt5/QtCore/qfiledevice.h \
  872 + /usr/include/qt5/QtGui/qvector2d.h \
  873 + /usr/include/qt5/QtGui/qtouchdevice.h \
  874 + ../QChatClient/chatroom.h \
  875 + /usr/include/qt5/QtWidgets/QMainWindow \
  876 + /usr/include/qt5/QtWidgets/qmainwindow.h \
  877 + /usr/include/qt5/QtWidgets/qtabwidget.h \
  878 + /usr/include/qt5/QtGui/qicon.h \
  879 + /usr/include/qt5/QtWidgets/QApplication \
  880 + /usr/include/qt5/QtWidgets/qapplication.h \
  881 + /usr/include/qt5/QtCore/qcoreapplication.h \
  882 + /usr/include/qt5/QtCore/qeventloop.h \
  883 + /usr/include/qt5/QtWidgets/qdesktopwidget.h \
  884 + /usr/include/qt5/QtGui/qguiapplication.h \
  885 + /usr/include/qt5/QtGui/qinputmethod.h
  886 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o ../QChatClient/main.cpp
  887 +
  888 +chatwindow.o: ../QChatClient/chatwindow.cpp ../QChatClient/chatwindow.h \
  889 + /usr/include/qt5/QtWidgets/QMainWindow \
  890 + /usr/include/qt5/QtWidgets/qmainwindow.h \
  891 + /usr/include/qt5/QtWidgets/qwidget.h \
  892 + /usr/include/qt5/QtGui/qwindowdefs.h \
  893 + /usr/include/qt5/QtCore/qglobal.h \
  894 + /usr/include/qt5/QtCore/qconfig.h \
  895 + /usr/include/qt5/QtCore/qfeatures.h \
  896 + /usr/include/qt5/QtCore/qsystemdetection.h \
  897 + /usr/include/qt5/QtCore/qcompilerdetection.h \
  898 + /usr/include/qt5/QtCore/qprocessordetection.h \
  899 + /usr/include/qt5/QtCore/qlogging.h \
  900 + /usr/include/qt5/QtCore/qflags.h \
  901 + /usr/include/qt5/QtCore/qtypeinfo.h \
  902 + /usr/include/qt5/QtCore/qtypetraits.h \
  903 + /usr/include/qt5/QtCore/qsysinfo.h \
  904 + /usr/include/qt5/QtCore/qobjectdefs.h \
  905 + /usr/include/qt5/QtCore/qnamespace.h \
  906 + /usr/include/qt5/QtCore/qobjectdefs_impl.h \
  907 + /usr/include/qt5/QtGui/qwindowdefs_win.h \
  908 + /usr/include/qt5/QtCore/qobject.h \
  909 + /usr/include/qt5/QtCore/qstring.h \
  910 + /usr/include/qt5/QtCore/qchar.h \
  911 + /usr/include/qt5/QtCore/qbytearray.h \
  912 + /usr/include/qt5/QtCore/qrefcount.h \
  913 + /usr/include/qt5/QtCore/qatomic.h \
  914 + /usr/include/qt5/QtCore/qbasicatomic.h \
  915 + /usr/include/qt5/QtCore/qatomic_bootstrap.h \
  916 + /usr/include/qt5/QtCore/qgenericatomic.h \
  917 + /usr/include/qt5/QtCore/qatomic_msvc.h \
  918 + /usr/include/qt5/QtCore/qatomic_integrity.h \
  919 + /usr/include/qt5/QtCore/qoldbasicatomic.h \
  920 + /usr/include/qt5/QtCore/qatomic_vxworks.h \
  921 + /usr/include/qt5/QtCore/qatomic_power.h \
  922 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
  923 + /usr/include/qt5/QtCore/qatomic_alpha.h \
  924 + /usr/include/qt5/QtCore/qatomic_armv7.h \
  925 + /usr/include/qt5/QtCore/qatomic_armv6.h \
  926 + /usr/include/qt5/QtCore/qatomic_armv5.h \
  927 + /usr/include/qt5/QtCore/qatomic_bfin.h \
  928 + /usr/include/qt5/QtCore/qatomic_ia64.h \
  929 + /usr/include/qt5/QtCore/qatomic_mips.h \
  930 + /usr/include/qt5/QtCore/qatomic_s390.h \
  931 + /usr/include/qt5/QtCore/qatomic_sh4a.h \
  932 + /usr/include/qt5/QtCore/qatomic_sparc.h \
  933 + /usr/include/qt5/QtCore/qatomic_x86.h \
  934 + /usr/include/qt5/QtCore/qatomic_cxx11.h \
  935 + /usr/include/qt5/QtCore/qatomic_gcc.h \
  936 + /usr/include/qt5/QtCore/qatomic_unix.h \
  937 + /usr/include/qt5/QtCore/qarraydata.h \
  938 + /usr/include/qt5/QtCore/qstringbuilder.h \
  939 + /usr/include/qt5/QtCore/qlist.h \
  940 + /usr/include/qt5/QtCore/qalgorithms.h \
  941 + /usr/include/qt5/QtCore/qiterator.h \
  942 + /usr/include/qt5/QtCore/qcoreevent.h \
  943 + /usr/include/qt5/QtCore/qscopedpointer.h \
  944 + /usr/include/qt5/QtCore/qmetatype.h \
  945 + /usr/include/qt5/QtCore/qvarlengtharray.h \
  946 + /usr/include/qt5/QtCore/qcontainerfwd.h \
  947 + /usr/include/qt5/QtCore/qisenum.h \
  948 + /usr/include/qt5/QtCore/qobject_impl.h \
  949 + /usr/include/qt5/QtCore/qmargins.h \
  950 + /usr/include/qt5/QtGui/qpaintdevice.h \
  951 + /usr/include/qt5/QtCore/qrect.h \
  952 + /usr/include/qt5/QtCore/qsize.h \
  953 + /usr/include/qt5/QtCore/qpoint.h \
  954 + /usr/include/qt5/QtGui/qpalette.h \
  955 + /usr/include/qt5/QtGui/qcolor.h \
  956 + /usr/include/qt5/QtGui/qrgb.h \
  957 + /usr/include/qt5/QtCore/qstringlist.h \
  958 + /usr/include/qt5/QtCore/qdatastream.h \
  959 + /usr/include/qt5/QtCore/qiodevice.h \
  960 + /usr/include/qt5/QtCore/qpair.h \
  961 + /usr/include/qt5/QtCore/qregexp.h \
  962 + /usr/include/qt5/QtCore/qstringmatcher.h \
  963 + /usr/include/qt5/QtGui/qbrush.h \
  964 + /usr/include/qt5/QtCore/qvector.h \
  965 + /usr/include/qt5/QtGui/qmatrix.h \
  966 + /usr/include/qt5/QtGui/qpolygon.h \
  967 + /usr/include/qt5/QtGui/qregion.h \
  968 + /usr/include/qt5/QtCore/qline.h \
  969 + /usr/include/qt5/QtGui/qtransform.h \
  970 + /usr/include/qt5/QtGui/qpainterpath.h \
  971 + /usr/include/qt5/QtGui/qimage.h \
  972 + /usr/include/qt5/QtGui/qpixmap.h \
  973 + /usr/include/qt5/QtCore/qsharedpointer.h \
  974 + /usr/include/qt5/QtCore/qshareddata.h \
  975 + /usr/include/qt5/QtCore/qsharedpointer_impl.h \
  976 + /usr/include/qt5/QtCore/qhash.h \
  977 + /usr/include/qt5/QtGui/qfont.h \
  978 + /usr/include/qt5/QtGui/qfontmetrics.h \
  979 + /usr/include/qt5/QtGui/qfontinfo.h \
  980 + /usr/include/qt5/QtWidgets/qsizepolicy.h \
  981 + /usr/include/qt5/QtGui/qcursor.h \
  982 + /usr/include/qt5/QtGui/qkeysequence.h \
  983 + /usr/include/qt5/QtGui/qevent.h \
  984 + /usr/include/qt5/QtCore/qvariant.h \
  985 + /usr/include/qt5/QtCore/qmap.h \
  986 + /usr/include/qt5/QtCore/qdebug.h \
  987 + /usr/include/qt5/QtCore/qtextstream.h \
  988 + /usr/include/qt5/QtCore/qlocale.h \
  989 + /usr/include/qt5/QtCore/qset.h \
  990 + /usr/include/qt5/QtCore/qcontiguouscache.h \
  991 + /usr/include/qt5/QtCore/qurl.h \
  992 + /usr/include/qt5/QtCore/qurlquery.h \
  993 + /usr/include/qt5/QtCore/qfile.h \
  994 + /usr/include/qt5/QtCore/qfiledevice.h \
  995 + /usr/include/qt5/QtGui/qvector2d.h \
  996 + /usr/include/qt5/QtGui/qtouchdevice.h \
  997 + /usr/include/qt5/QtWidgets/qtabwidget.h \
  998 + /usr/include/qt5/QtGui/qicon.h \
  999 + ui_chatwindow.h \
  1000 + /usr/include/qt5/QtCore/QVariant \
  1001 + /usr/include/qt5/QtWidgets/QAction \
  1002 + /usr/include/qt5/QtWidgets/qaction.h \
  1003 + /usr/include/qt5/QtWidgets/qactiongroup.h \
  1004 + /usr/include/qt5/QtWidgets/QApplication \
  1005 + /usr/include/qt5/QtWidgets/qapplication.h \
  1006 + /usr/include/qt5/QtCore/qcoreapplication.h \
  1007 + /usr/include/qt5/QtCore/qeventloop.h \
  1008 + /usr/include/qt5/QtWidgets/qdesktopwidget.h \
  1009 + /usr/include/qt5/QtGui/qguiapplication.h \
  1010 + /usr/include/qt5/QtGui/qinputmethod.h \
  1011 + /usr/include/qt5/QtWidgets/QButtonGroup \
  1012 + /usr/include/qt5/QtWidgets/qbuttongroup.h \
  1013 + /usr/include/qt5/QtWidgets/QGridLayout \
  1014 + /usr/include/qt5/QtWidgets/qgridlayout.h \
  1015 + /usr/include/qt5/QtWidgets/qlayout.h \
  1016 + /usr/include/qt5/QtWidgets/qlayoutitem.h \
  1017 + /usr/include/qt5/QtWidgets/qboxlayout.h \
  1018 + /usr/include/qt5/QtWidgets/QHeaderView \
  1019 + /usr/include/qt5/QtWidgets/qheaderview.h \
  1020 + /usr/include/qt5/QtWidgets/qabstractitemview.h \
  1021 + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
  1022 + /usr/include/qt5/QtWidgets/qframe.h \
  1023 + /usr/include/qt5/QtCore/qabstractitemmodel.h \
  1024 + /usr/include/qt5/QtCore/qitemselectionmodel.h \
  1025 + /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \
  1026 + /usr/include/qt5/QtWidgets/qstyleoption.h \
  1027 + /usr/include/qt5/QtWidgets/qabstractspinbox.h \
  1028 + /usr/include/qt5/QtGui/qvalidator.h \
  1029 + /usr/include/qt5/QtWidgets/qslider.h \
  1030 + /usr/include/qt5/QtWidgets/qabstractslider.h \
  1031 + /usr/include/qt5/QtWidgets/qstyle.h \
  1032 + /usr/include/qt5/QtWidgets/qtabbar.h \
  1033 + /usr/include/qt5/QtWidgets/qrubberband.h \
  1034 + /usr/include/qt5/QtWidgets/QMenuBar \
  1035 + /usr/include/qt5/QtWidgets/qmenubar.h \
  1036 + /usr/include/qt5/QtWidgets/qmenu.h \
  1037 + /usr/include/qt5/QtWidgets/QSpacerItem \
  1038 + /usr/include/qt5/QtWidgets/QTextBrowser \
  1039 + /usr/include/qt5/QtWidgets/qtextbrowser.h \
  1040 + /usr/include/qt5/QtWidgets/qtextedit.h \
  1041 + /usr/include/qt5/QtGui/qtextdocument.h \
  1042 + /usr/include/qt5/QtGui/qtextoption.h \
  1043 + /usr/include/qt5/QtGui/qtextcursor.h \
  1044 + /usr/include/qt5/QtGui/qtextformat.h \
  1045 + /usr/include/qt5/QtGui/qpen.h \
  1046 + /usr/include/qt5/QtWidgets/QTextEdit \
  1047 + /usr/include/qt5/QtWidgets/QWidget
  1048 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatwindow.o ../QChatClient/chatwindow.cpp
  1049 +
  1050 +loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \
  1051 + /usr/include/qt5/QtWidgets/QDialog \
  1052 + /usr/include/qt5/QtWidgets/qdialog.h \
  1053 + /usr/include/qt5/QtWidgets/qwidget.h \
  1054 + /usr/include/qt5/QtGui/qwindowdefs.h \
  1055 + /usr/include/qt5/QtCore/qglobal.h \
  1056 + /usr/include/qt5/QtCore/qconfig.h \
  1057 + /usr/include/qt5/QtCore/qfeatures.h \
  1058 + /usr/include/qt5/QtCore/qsystemdetection.h \
  1059 + /usr/include/qt5/QtCore/qcompilerdetection.h \
  1060 + /usr/include/qt5/QtCore/qprocessordetection.h \
  1061 + /usr/include/qt5/QtCore/qlogging.h \
  1062 + /usr/include/qt5/QtCore/qflags.h \
  1063 + /usr/include/qt5/QtCore/qtypeinfo.h \
  1064 + /usr/include/qt5/QtCore/qtypetraits.h \
  1065 + /usr/include/qt5/QtCore/qsysinfo.h \
  1066 + /usr/include/qt5/QtCore/qobjectdefs.h \
  1067 + /usr/include/qt5/QtCore/qnamespace.h \
  1068 + /usr/include/qt5/QtCore/qobjectdefs_impl.h \
  1069 + /usr/include/qt5/QtGui/qwindowdefs_win.h \
  1070 + /usr/include/qt5/QtCore/qobject.h \
  1071 + /usr/include/qt5/QtCore/qstring.h \
  1072 + /usr/include/qt5/QtCore/qchar.h \
  1073 + /usr/include/qt5/QtCore/qbytearray.h \
  1074 + /usr/include/qt5/QtCore/qrefcount.h \
  1075 + /usr/include/qt5/QtCore/qatomic.h \
  1076 + /usr/include/qt5/QtCore/qbasicatomic.h \
  1077 + /usr/include/qt5/QtCore/qatomic_bootstrap.h \
  1078 + /usr/include/qt5/QtCore/qgenericatomic.h \
  1079 + /usr/include/qt5/QtCore/qatomic_msvc.h \
  1080 + /usr/include/qt5/QtCore/qatomic_integrity.h \
  1081 + /usr/include/qt5/QtCore/qoldbasicatomic.h \
  1082 + /usr/include/qt5/QtCore/qatomic_vxworks.h \
  1083 + /usr/include/qt5/QtCore/qatomic_power.h \
  1084 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
  1085 + /usr/include/qt5/QtCore/qatomic_alpha.h \
  1086 + /usr/include/qt5/QtCore/qatomic_armv7.h \
  1087 + /usr/include/qt5/QtCore/qatomic_armv6.h \
  1088 + /usr/include/qt5/QtCore/qatomic_armv5.h \
  1089 + /usr/include/qt5/QtCore/qatomic_bfin.h \
  1090 + /usr/include/qt5/QtCore/qatomic_ia64.h \
  1091 + /usr/include/qt5/QtCore/qatomic_mips.h \
  1092 + /usr/include/qt5/QtCore/qatomic_s390.h \
  1093 + /usr/include/qt5/QtCore/qatomic_sh4a.h \
  1094 + /usr/include/qt5/QtCore/qatomic_sparc.h \
  1095 + /usr/include/qt5/QtCore/qatomic_x86.h \
  1096 + /usr/include/qt5/QtCore/qatomic_cxx11.h \
  1097 + /usr/include/qt5/QtCore/qatomic_gcc.h \
  1098 + /usr/include/qt5/QtCore/qatomic_unix.h \
  1099 + /usr/include/qt5/QtCore/qarraydata.h \
  1100 + /usr/include/qt5/QtCore/qstringbuilder.h \
  1101 + /usr/include/qt5/QtCore/qlist.h \
  1102 + /usr/include/qt5/QtCore/qalgorithms.h \
  1103 + /usr/include/qt5/QtCore/qiterator.h \
  1104 + /usr/include/qt5/QtCore/qcoreevent.h \
  1105 + /usr/include/qt5/QtCore/qscopedpointer.h \
  1106 + /usr/include/qt5/QtCore/qmetatype.h \
  1107 + /usr/include/qt5/QtCore/qvarlengtharray.h \
  1108 + /usr/include/qt5/QtCore/qcontainerfwd.h \
  1109 + /usr/include/qt5/QtCore/qisenum.h \
  1110 + /usr/include/qt5/QtCore/qobject_impl.h \
  1111 + /usr/include/qt5/QtCore/qmargins.h \
  1112 + /usr/include/qt5/QtGui/qpaintdevice.h \
  1113 + /usr/include/qt5/QtCore/qrect.h \
  1114 + /usr/include/qt5/QtCore/qsize.h \
  1115 + /usr/include/qt5/QtCore/qpoint.h \
  1116 + /usr/include/qt5/QtGui/qpalette.h \
  1117 + /usr/include/qt5/QtGui/qcolor.h \
  1118 + /usr/include/qt5/QtGui/qrgb.h \
  1119 + /usr/include/qt5/QtCore/qstringlist.h \
  1120 + /usr/include/qt5/QtCore/qdatastream.h \
  1121 + /usr/include/qt5/QtCore/qiodevice.h \
  1122 + /usr/include/qt5/QtCore/qpair.h \
  1123 + /usr/include/qt5/QtCore/qregexp.h \
  1124 + /usr/include/qt5/QtCore/qstringmatcher.h \
  1125 + /usr/include/qt5/QtGui/qbrush.h \
  1126 + /usr/include/qt5/QtCore/qvector.h \
  1127 + /usr/include/qt5/QtGui/qmatrix.h \
  1128 + /usr/include/qt5/QtGui/qpolygon.h \
  1129 + /usr/include/qt5/QtGui/qregion.h \
  1130 + /usr/include/qt5/QtCore/qline.h \
  1131 + /usr/include/qt5/QtGui/qtransform.h \
  1132 + /usr/include/qt5/QtGui/qpainterpath.h \
  1133 + /usr/include/qt5/QtGui/qimage.h \
  1134 + /usr/include/qt5/QtGui/qpixmap.h \
  1135 + /usr/include/qt5/QtCore/qsharedpointer.h \
  1136 + /usr/include/qt5/QtCore/qshareddata.h \
  1137 + /usr/include/qt5/QtCore/qsharedpointer_impl.h \
  1138 + /usr/include/qt5/QtCore/qhash.h \
  1139 + /usr/include/qt5/QtGui/qfont.h \
  1140 + /usr/include/qt5/QtGui/qfontmetrics.h \
  1141 + /usr/include/qt5/QtGui/qfontinfo.h \
  1142 + /usr/include/qt5/QtWidgets/qsizepolicy.h \
  1143 + /usr/include/qt5/QtGui/qcursor.h \
  1144 + /usr/include/qt5/QtGui/qkeysequence.h \
  1145 + /usr/include/qt5/QtGui/qevent.h \
  1146 + /usr/include/qt5/QtCore/qvariant.h \
  1147 + /usr/include/qt5/QtCore/qmap.h \
  1148 + /usr/include/qt5/QtCore/qdebug.h \
  1149 + /usr/include/qt5/QtCore/qtextstream.h \
  1150 + /usr/include/qt5/QtCore/qlocale.h \
  1151 + /usr/include/qt5/QtCore/qset.h \
  1152 + /usr/include/qt5/QtCore/qcontiguouscache.h \
  1153 + /usr/include/qt5/QtCore/qurl.h \
  1154 + /usr/include/qt5/QtCore/qurlquery.h \
  1155 + /usr/include/qt5/QtCore/qfile.h \
  1156 + /usr/include/qt5/QtCore/qfiledevice.h \
  1157 + /usr/include/qt5/QtGui/qvector2d.h \
  1158 + /usr/include/qt5/QtGui/qtouchdevice.h \
  1159 + ui_loginscreen.h \
  1160 + /usr/include/qt5/QtCore/QVariant \
  1161 + /usr/include/qt5/QtWidgets/QAction \
  1162 + /usr/include/qt5/QtWidgets/qaction.h \
  1163 + /usr/include/qt5/QtGui/qicon.h \
  1164 + /usr/include/qt5/QtWidgets/qactiongroup.h \
  1165 + /usr/include/qt5/QtWidgets/QApplication \
  1166 + /usr/include/qt5/QtWidgets/qapplication.h \
  1167 + /usr/include/qt5/QtCore/qcoreapplication.h \
  1168 + /usr/include/qt5/QtCore/qeventloop.h \
  1169 + /usr/include/qt5/QtWidgets/qdesktopwidget.h \
  1170 + /usr/include/qt5/QtGui/qguiapplication.h \
  1171 + /usr/include/qt5/QtGui/qinputmethod.h \
  1172 + /usr/include/qt5/QtWidgets/QButtonGroup \
  1173 + /usr/include/qt5/QtWidgets/qbuttongroup.h \
  1174 + /usr/include/qt5/QtWidgets/QComboBox \
  1175 + /usr/include/qt5/QtWidgets/qcombobox.h \
  1176 + /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \
  1177 + /usr/include/qt5/QtWidgets/qstyleoption.h \
  1178 + /usr/include/qt5/QtWidgets/qabstractspinbox.h \
  1179 + /usr/include/qt5/QtGui/qvalidator.h \
  1180 + /usr/include/qt5/QtWidgets/qslider.h \
  1181 + /usr/include/qt5/QtWidgets/qabstractslider.h \
  1182 + /usr/include/qt5/QtWidgets/qstyle.h \
  1183 + /usr/include/qt5/QtWidgets/qtabbar.h \
  1184 + /usr/include/qt5/QtWidgets/qtabwidget.h \
  1185 + /usr/include/qt5/QtWidgets/qrubberband.h \
  1186 + /usr/include/qt5/QtWidgets/qframe.h \
  1187 + /usr/include/qt5/QtCore/qabstractitemmodel.h \
  1188 + /usr/include/qt5/QtWidgets/QGridLayout \
  1189 + /usr/include/qt5/QtWidgets/qgridlayout.h \
  1190 + /usr/include/qt5/QtWidgets/qlayout.h \
  1191 + /usr/include/qt5/QtWidgets/qlayoutitem.h \
  1192 + /usr/include/qt5/QtWidgets/qboxlayout.h \
  1193 + /usr/include/qt5/QtWidgets/QHeaderView \
  1194 + /usr/include/qt5/QtWidgets/qheaderview.h \
  1195 + /usr/include/qt5/QtWidgets/qabstractitemview.h \
  1196 + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
  1197 + /usr/include/qt5/QtCore/qitemselectionmodel.h \
  1198 + /usr/include/qt5/QtWidgets/QLabel \
  1199 + /usr/include/qt5/QtWidgets/qlabel.h \
  1200 + /usr/include/qt5/QtWidgets/QLineEdit \
  1201 + /usr/include/qt5/QtWidgets/qlineedit.h \
  1202 + /usr/include/qt5/QtGui/qtextcursor.h \
  1203 + /usr/include/qt5/QtGui/qtextformat.h \
  1204 + /usr/include/qt5/QtGui/qpen.h \
  1205 + /usr/include/qt5/QtGui/qtextoption.h \
  1206 + /usr/include/qt5/QtWidgets/QPushButton \
  1207 + /usr/include/qt5/QtWidgets/qpushbutton.h \
  1208 + /usr/include/qt5/QtWidgets/qabstractbutton.h \
  1209 + /usr/include/qt5/QtWidgets/QSpacerItem \
  1210 + /usr/include/qt5/QtWidgets/QWidget
  1211 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o loginscreen.o ../QChatClient/loginscreen.cpp
  1212 +
  1213 +chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselect.h \
  1214 + /usr/include/qt5/QtWidgets/QDialog \
  1215 + /usr/include/qt5/QtWidgets/qdialog.h \
  1216 + /usr/include/qt5/QtWidgets/qwidget.h \
  1217 + /usr/include/qt5/QtGui/qwindowdefs.h \
  1218 + /usr/include/qt5/QtCore/qglobal.h \
  1219 + /usr/include/qt5/QtCore/qconfig.h \
  1220 + /usr/include/qt5/QtCore/qfeatures.h \
  1221 + /usr/include/qt5/QtCore/qsystemdetection.h \
  1222 + /usr/include/qt5/QtCore/qcompilerdetection.h \
  1223 + /usr/include/qt5/QtCore/qprocessordetection.h \
  1224 + /usr/include/qt5/QtCore/qlogging.h \
  1225 + /usr/include/qt5/QtCore/qflags.h \
  1226 + /usr/include/qt5/QtCore/qtypeinfo.h \
  1227 + /usr/include/qt5/QtCore/qtypetraits.h \
  1228 + /usr/include/qt5/QtCore/qsysinfo.h \
  1229 + /usr/include/qt5/QtCore/qobjectdefs.h \
  1230 + /usr/include/qt5/QtCore/qnamespace.h \
  1231 + /usr/include/qt5/QtCore/qobjectdefs_impl.h \
  1232 + /usr/include/qt5/QtGui/qwindowdefs_win.h \
  1233 + /usr/include/qt5/QtCore/qobject.h \
  1234 + /usr/include/qt5/QtCore/qstring.h \
  1235 + /usr/include/qt5/QtCore/qchar.h \
  1236 + /usr/include/qt5/QtCore/qbytearray.h \
  1237 + /usr/include/qt5/QtCore/qrefcount.h \
  1238 + /usr/include/qt5/QtCore/qatomic.h \
  1239 + /usr/include/qt5/QtCore/qbasicatomic.h \
  1240 + /usr/include/qt5/QtCore/qatomic_bootstrap.h \
  1241 + /usr/include/qt5/QtCore/qgenericatomic.h \
  1242 + /usr/include/qt5/QtCore/qatomic_msvc.h \
  1243 + /usr/include/qt5/QtCore/qatomic_integrity.h \
  1244 + /usr/include/qt5/QtCore/qoldbasicatomic.h \
  1245 + /usr/include/qt5/QtCore/qatomic_vxworks.h \
  1246 + /usr/include/qt5/QtCore/qatomic_power.h \
  1247 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
  1248 + /usr/include/qt5/QtCore/qatomic_alpha.h \
  1249 + /usr/include/qt5/QtCore/qatomic_armv7.h \
  1250 + /usr/include/qt5/QtCore/qatomic_armv6.h \
  1251 + /usr/include/qt5/QtCore/qatomic_armv5.h \
  1252 + /usr/include/qt5/QtCore/qatomic_bfin.h \
  1253 + /usr/include/qt5/QtCore/qatomic_ia64.h \
  1254 + /usr/include/qt5/QtCore/qatomic_mips.h \
  1255 + /usr/include/qt5/QtCore/qatomic_s390.h \
  1256 + /usr/include/qt5/QtCore/qatomic_sh4a.h \
  1257 + /usr/include/qt5/QtCore/qatomic_sparc.h \
  1258 + /usr/include/qt5/QtCore/qatomic_x86.h \
  1259 + /usr/include/qt5/QtCore/qatomic_cxx11.h \
  1260 + /usr/include/qt5/QtCore/qatomic_gcc.h \
  1261 + /usr/include/qt5/QtCore/qatomic_unix.h \
  1262 + /usr/include/qt5/QtCore/qarraydata.h \
  1263 + /usr/include/qt5/QtCore/qstringbuilder.h \
  1264 + /usr/include/qt5/QtCore/qlist.h \
  1265 + /usr/include/qt5/QtCore/qalgorithms.h \
  1266 + /usr/include/qt5/QtCore/qiterator.h \
  1267 + /usr/include/qt5/QtCore/qcoreevent.h \
  1268 + /usr/include/qt5/QtCore/qscopedpointer.h \
  1269 + /usr/include/qt5/QtCore/qmetatype.h \
  1270 + /usr/include/qt5/QtCore/qvarlengtharray.h \
  1271 + /usr/include/qt5/QtCore/qcontainerfwd.h \
  1272 + /usr/include/qt5/QtCore/qisenum.h \
  1273 + /usr/include/qt5/QtCore/qobject_impl.h \
  1274 + /usr/include/qt5/QtCore/qmargins.h \
  1275 + /usr/include/qt5/QtGui/qpaintdevice.h \
  1276 + /usr/include/qt5/QtCore/qrect.h \
  1277 + /usr/include/qt5/QtCore/qsize.h \
  1278 + /usr/include/qt5/QtCore/qpoint.h \
  1279 + /usr/include/qt5/QtGui/qpalette.h \
  1280 + /usr/include/qt5/QtGui/qcolor.h \
  1281 + /usr/include/qt5/QtGui/qrgb.h \
  1282 + /usr/include/qt5/QtCore/qstringlist.h \
  1283 + /usr/include/qt5/QtCore/qdatastream.h \
  1284 + /usr/include/qt5/QtCore/qiodevice.h \
  1285 + /usr/include/qt5/QtCore/qpair.h \
  1286 + /usr/include/qt5/QtCore/qregexp.h \
  1287 + /usr/include/qt5/QtCore/qstringmatcher.h \
  1288 + /usr/include/qt5/QtGui/qbrush.h \
  1289 + /usr/include/qt5/QtCore/qvector.h \
  1290 + /usr/include/qt5/QtGui/qmatrix.h \
  1291 + /usr/include/qt5/QtGui/qpolygon.h \
  1292 + /usr/include/qt5/QtGui/qregion.h \
  1293 + /usr/include/qt5/QtCore/qline.h \
  1294 + /usr/include/qt5/QtGui/qtransform.h \
  1295 + /usr/include/qt5/QtGui/qpainterpath.h \
  1296 + /usr/include/qt5/QtGui/qimage.h \
  1297 + /usr/include/qt5/QtGui/qpixmap.h \
  1298 + /usr/include/qt5/QtCore/qsharedpointer.h \
  1299 + /usr/include/qt5/QtCore/qshareddata.h \
  1300 + /usr/include/qt5/QtCore/qsharedpointer_impl.h \
  1301 + /usr/include/qt5/QtCore/qhash.h \
  1302 + /usr/include/qt5/QtGui/qfont.h \
  1303 + /usr/include/qt5/QtGui/qfontmetrics.h \
  1304 + /usr/include/qt5/QtGui/qfontinfo.h \
  1305 + /usr/include/qt5/QtWidgets/qsizepolicy.h \
  1306 + /usr/include/qt5/QtGui/qcursor.h \
  1307 + /usr/include/qt5/QtGui/qkeysequence.h \
  1308 + /usr/include/qt5/QtGui/qevent.h \
  1309 + /usr/include/qt5/QtCore/qvariant.h \
  1310 + /usr/include/qt5/QtCore/qmap.h \
  1311 + /usr/include/qt5/QtCore/qdebug.h \
  1312 + /usr/include/qt5/QtCore/qtextstream.h \
  1313 + /usr/include/qt5/QtCore/qlocale.h \
  1314 + /usr/include/qt5/QtCore/qset.h \
  1315 + /usr/include/qt5/QtCore/qcontiguouscache.h \
  1316 + /usr/include/qt5/QtCore/qurl.h \
  1317 + /usr/include/qt5/QtCore/qurlquery.h \
  1318 + /usr/include/qt5/QtCore/qfile.h \
  1319 + /usr/include/qt5/QtCore/qfiledevice.h \
  1320 + /usr/include/qt5/QtGui/qvector2d.h \
  1321 + /usr/include/qt5/QtGui/qtouchdevice.h \
  1322 + ui_chatroomselect.h \
  1323 + /usr/include/qt5/QtCore/QVariant \
  1324 + /usr/include/qt5/QtWidgets/QAction \
  1325 + /usr/include/qt5/QtWidgets/qaction.h \
  1326 + /usr/include/qt5/QtGui/qicon.h \
  1327 + /usr/include/qt5/QtWidgets/qactiongroup.h \
  1328 + /usr/include/qt5/QtWidgets/QApplication \
  1329 + /usr/include/qt5/QtWidgets/qapplication.h \
  1330 + /usr/include/qt5/QtCore/qcoreapplication.h \
  1331 + /usr/include/qt5/QtCore/qeventloop.h \
  1332 + /usr/include/qt5/QtWidgets/qdesktopwidget.h \
  1333 + /usr/include/qt5/QtGui/qguiapplication.h \
  1334 + /usr/include/qt5/QtGui/qinputmethod.h \
  1335 + /usr/include/qt5/QtWidgets/QButtonGroup \
  1336 + /usr/include/qt5/QtWidgets/qbuttongroup.h \
  1337 + /usr/include/qt5/QtWidgets/QColumnView \
  1338 + /usr/include/qt5/QtWidgets/qcolumnview.h \
  1339 + /usr/include/qt5/QtWidgets/qabstractitemview.h \
  1340 + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
  1341 + /usr/include/qt5/QtWidgets/qframe.h \
  1342 + /usr/include/qt5/QtCore/qabstractitemmodel.h \
  1343 + /usr/include/qt5/QtCore/qitemselectionmodel.h \
  1344 + /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \
  1345 + /usr/include/qt5/QtWidgets/qstyleoption.h \
  1346 + /usr/include/qt5/QtWidgets/qabstractspinbox.h \
  1347 + /usr/include/qt5/QtGui/qvalidator.h \
  1348 + /usr/include/qt5/QtWidgets/qslider.h \
  1349 + /usr/include/qt5/QtWidgets/qabstractslider.h \
  1350 + /usr/include/qt5/QtWidgets/qstyle.h \
  1351 + /usr/include/qt5/QtWidgets/qtabbar.h \
  1352 + /usr/include/qt5/QtWidgets/qtabwidget.h \
  1353 + /usr/include/qt5/QtWidgets/qrubberband.h \
  1354 + /usr/include/qt5/QtWidgets/QGridLayout \
  1355 + /usr/include/qt5/QtWidgets/qgridlayout.h \
  1356 + /usr/include/qt5/QtWidgets/qlayout.h \
  1357 + /usr/include/qt5/QtWidgets/qlayoutitem.h \
  1358 + /usr/include/qt5/QtWidgets/qboxlayout.h \
  1359 + /usr/include/qt5/QtWidgets/QHeaderView \
  1360 + /usr/include/qt5/QtWidgets/qheaderview.h \
  1361 + /usr/include/qt5/QtWidgets/QLabel \
  1362 + /usr/include/qt5/QtWidgets/qlabel.h \
  1363 + /usr/include/qt5/QtWidgets/QPushButton \
  1364 + /usr/include/qt5/QtWidgets/qpushbutton.h \
  1365 + /usr/include/qt5/QtWidgets/qabstractbutton.h \
  1366 + /usr/include/qt5/QtWidgets/QSpacerItem \
  1367 + /usr/include/qt5/QtWidgets/QWidget
  1368 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatroomselect.o ../QChatClient/chatroomselect.cpp
  1369 +
  1370 +chatroom.o: ../QChatClient/chatroom.cpp ../QChatClient/chatroom.h \
  1371 + /usr/include/qt5/QtWidgets/QMainWindow \
  1372 + /usr/include/qt5/QtWidgets/qmainwindow.h \
  1373 + /usr/include/qt5/QtWidgets/qwidget.h \
  1374 + /usr/include/qt5/QtGui/qwindowdefs.h \
  1375 + /usr/include/qt5/QtCore/qglobal.h \
  1376 + /usr/include/qt5/QtCore/qconfig.h \
  1377 + /usr/include/qt5/QtCore/qfeatures.h \
  1378 + /usr/include/qt5/QtCore/qsystemdetection.h \
  1379 + /usr/include/qt5/QtCore/qcompilerdetection.h \
  1380 + /usr/include/qt5/QtCore/qprocessordetection.h \
  1381 + /usr/include/qt5/QtCore/qlogging.h \
  1382 + /usr/include/qt5/QtCore/qflags.h \
  1383 + /usr/include/qt5/QtCore/qtypeinfo.h \
  1384 + /usr/include/qt5/QtCore/qtypetraits.h \
  1385 + /usr/include/qt5/QtCore/qsysinfo.h \
  1386 + /usr/include/qt5/QtCore/qobjectdefs.h \
  1387 + /usr/include/qt5/QtCore/qnamespace.h \
  1388 + /usr/include/qt5/QtCore/qobjectdefs_impl.h \
  1389 + /usr/include/qt5/QtGui/qwindowdefs_win.h \
  1390 + /usr/include/qt5/QtCore/qobject.h \
  1391 + /usr/include/qt5/QtCore/qstring.h \
  1392 + /usr/include/qt5/QtCore/qchar.h \
  1393 + /usr/include/qt5/QtCore/qbytearray.h \
  1394 + /usr/include/qt5/QtCore/qrefcount.h \
  1395 + /usr/include/qt5/QtCore/qatomic.h \
  1396 + /usr/include/qt5/QtCore/qbasicatomic.h \
  1397 + /usr/include/qt5/QtCore/qatomic_bootstrap.h \
  1398 + /usr/include/qt5/QtCore/qgenericatomic.h \
  1399 + /usr/include/qt5/QtCore/qatomic_msvc.h \
  1400 + /usr/include/qt5/QtCore/qatomic_integrity.h \
  1401 + /usr/include/qt5/QtCore/qoldbasicatomic.h \
  1402 + /usr/include/qt5/QtCore/qatomic_vxworks.h \
  1403 + /usr/include/qt5/QtCore/qatomic_power.h \
  1404 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
  1405 + /usr/include/qt5/QtCore/qatomic_alpha.h \
  1406 + /usr/include/qt5/QtCore/qatomic_armv7.h \
  1407 + /usr/include/qt5/QtCore/qatomic_armv6.h \
  1408 + /usr/include/qt5/QtCore/qatomic_armv5.h \
  1409 + /usr/include/qt5/QtCore/qatomic_bfin.h \
  1410 + /usr/include/qt5/QtCore/qatomic_ia64.h \
  1411 + /usr/include/qt5/QtCore/qatomic_mips.h \
  1412 + /usr/include/qt5/QtCore/qatomic_s390.h \
  1413 + /usr/include/qt5/QtCore/qatomic_sh4a.h \
  1414 + /usr/include/qt5/QtCore/qatomic_sparc.h \
  1415 + /usr/include/qt5/QtCore/qatomic_x86.h \
  1416 + /usr/include/qt5/QtCore/qatomic_cxx11.h \
  1417 + /usr/include/qt5/QtCore/qatomic_gcc.h \
  1418 + /usr/include/qt5/QtCore/qatomic_unix.h \
  1419 + /usr/include/qt5/QtCore/qarraydata.h \
  1420 + /usr/include/qt5/QtCore/qstringbuilder.h \
  1421 + /usr/include/qt5/QtCore/qlist.h \
  1422 + /usr/include/qt5/QtCore/qalgorithms.h \
  1423 + /usr/include/qt5/QtCore/qiterator.h \
  1424 + /usr/include/qt5/QtCore/qcoreevent.h \
  1425 + /usr/include/qt5/QtCore/qscopedpointer.h \
  1426 + /usr/include/qt5/QtCore/qmetatype.h \
  1427 + /usr/include/qt5/QtCore/qvarlengtharray.h \
  1428 + /usr/include/qt5/QtCore/qcontainerfwd.h \
  1429 + /usr/include/qt5/QtCore/qisenum.h \
  1430 + /usr/include/qt5/QtCore/qobject_impl.h \
  1431 + /usr/include/qt5/QtCore/qmargins.h \
  1432 + /usr/include/qt5/QtGui/qpaintdevice.h \
  1433 + /usr/include/qt5/QtCore/qrect.h \
  1434 + /usr/include/qt5/QtCore/qsize.h \
  1435 + /usr/include/qt5/QtCore/qpoint.h \
  1436 + /usr/include/qt5/QtGui/qpalette.h \
  1437 + /usr/include/qt5/QtGui/qcolor.h \
  1438 + /usr/include/qt5/QtGui/qrgb.h \
  1439 + /usr/include/qt5/QtCore/qstringlist.h \
  1440 + /usr/include/qt5/QtCore/qdatastream.h \
  1441 + /usr/include/qt5/QtCore/qiodevice.h \
  1442 + /usr/include/qt5/QtCore/qpair.h \
  1443 + /usr/include/qt5/QtCore/qregexp.h \
  1444 + /usr/include/qt5/QtCore/qstringmatcher.h \
  1445 + /usr/include/qt5/QtGui/qbrush.h \
  1446 + /usr/include/qt5/QtCore/qvector.h \
  1447 + /usr/include/qt5/QtGui/qmatrix.h \
  1448 + /usr/include/qt5/QtGui/qpolygon.h \
  1449 + /usr/include/qt5/QtGui/qregion.h \
  1450 + /usr/include/qt5/QtCore/qline.h \
  1451 + /usr/include/qt5/QtGui/qtransform.h \
  1452 + /usr/include/qt5/QtGui/qpainterpath.h \
  1453 + /usr/include/qt5/QtGui/qimage.h \
  1454 + /usr/include/qt5/QtGui/qpixmap.h \
  1455 + /usr/include/qt5/QtCore/qsharedpointer.h \
  1456 + /usr/include/qt5/QtCore/qshareddata.h \
  1457 + /usr/include/qt5/QtCore/qsharedpointer_impl.h \
  1458 + /usr/include/qt5/QtCore/qhash.h \
  1459 + /usr/include/qt5/QtGui/qfont.h \
  1460 + /usr/include/qt5/QtGui/qfontmetrics.h \
  1461 + /usr/include/qt5/QtGui/qfontinfo.h \
  1462 + /usr/include/qt5/QtWidgets/qsizepolicy.h \
  1463 + /usr/include/qt5/QtGui/qcursor.h \
  1464 + /usr/include/qt5/QtGui/qkeysequence.h \
  1465 + /usr/include/qt5/QtGui/qevent.h \
  1466 + /usr/include/qt5/QtCore/qvariant.h \
  1467 + /usr/include/qt5/QtCore/qmap.h \
  1468 + /usr/include/qt5/QtCore/qdebug.h \
  1469 + /usr/include/qt5/QtCore/qtextstream.h \
  1470 + /usr/include/qt5/QtCore/qlocale.h \
  1471 + /usr/include/qt5/QtCore/qset.h \
  1472 + /usr/include/qt5/QtCore/qcontiguouscache.h \
  1473 + /usr/include/qt5/QtCore/qurl.h \
  1474 + /usr/include/qt5/QtCore/qurlquery.h \
  1475 + /usr/include/qt5/QtCore/qfile.h \
  1476 + /usr/include/qt5/QtCore/qfiledevice.h \
  1477 + /usr/include/qt5/QtGui/qvector2d.h \
  1478 + /usr/include/qt5/QtGui/qtouchdevice.h \
  1479 + /usr/include/qt5/QtWidgets/qtabwidget.h \
  1480 + /usr/include/qt5/QtGui/qicon.h \
  1481 + ui_chatroom.h \
  1482 + /usr/include/qt5/QtCore/QVariant \
  1483 + /usr/include/qt5/QtWidgets/QAction \
  1484 + /usr/include/qt5/QtWidgets/qaction.h \
  1485 + /usr/include/qt5/QtWidgets/qactiongroup.h \
  1486 + /usr/include/qt5/QtWidgets/QApplication \
  1487 + /usr/include/qt5/QtWidgets/qapplication.h \
  1488 + /usr/include/qt5/QtCore/qcoreapplication.h \
  1489 + /usr/include/qt5/QtCore/qeventloop.h \
  1490 + /usr/include/qt5/QtWidgets/qdesktopwidget.h \
  1491 + /usr/include/qt5/QtGui/qguiapplication.h \
  1492 + /usr/include/qt5/QtGui/qinputmethod.h \
  1493 + /usr/include/qt5/QtWidgets/QButtonGroup \
  1494 + /usr/include/qt5/QtWidgets/qbuttongroup.h \
  1495 + /usr/include/qt5/QtWidgets/QGridLayout \
  1496 + /usr/include/qt5/QtWidgets/qgridlayout.h \
  1497 + /usr/include/qt5/QtWidgets/qlayout.h \
  1498 + /usr/include/qt5/QtWidgets/qlayoutitem.h \
  1499 + /usr/include/qt5/QtWidgets/qboxlayout.h \
  1500 + /usr/include/qt5/QtWidgets/QHeaderView \
  1501 + /usr/include/qt5/QtWidgets/qheaderview.h \
  1502 + /usr/include/qt5/QtWidgets/qabstractitemview.h \
  1503 + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
  1504 + /usr/include/qt5/QtWidgets/qframe.h \
  1505 + /usr/include/qt5/QtCore/qabstractitemmodel.h \
  1506 + /usr/include/qt5/QtCore/qitemselectionmodel.h \
  1507 + /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \
  1508 + /usr/include/qt5/QtWidgets/qstyleoption.h \
  1509 + /usr/include/qt5/QtWidgets/qabstractspinbox.h \
  1510 + /usr/include/qt5/QtGui/qvalidator.h \
  1511 + /usr/include/qt5/QtWidgets/qslider.h \
  1512 + /usr/include/qt5/QtWidgets/qabstractslider.h \
  1513 + /usr/include/qt5/QtWidgets/qstyle.h \
  1514 + /usr/include/qt5/QtWidgets/qtabbar.h \
  1515 + /usr/include/qt5/QtWidgets/qrubberband.h \
  1516 + /usr/include/qt5/QtWidgets/QListView \
  1517 + /usr/include/qt5/QtWidgets/qlistview.h \
  1518 + /usr/include/qt5/QtWidgets/QMenuBar \
  1519 + /usr/include/qt5/QtWidgets/qmenubar.h \
  1520 + /usr/include/qt5/QtWidgets/qmenu.h \
  1521 + /usr/include/qt5/QtWidgets/QTextBrowser \
  1522 + /usr/include/qt5/QtWidgets/qtextbrowser.h \
  1523 + /usr/include/qt5/QtWidgets/qtextedit.h \
  1524 + /usr/include/qt5/QtGui/qtextdocument.h \
  1525 + /usr/include/qt5/QtGui/qtextoption.h \
  1526 + /usr/include/qt5/QtGui/qtextcursor.h \
  1527 + /usr/include/qt5/QtGui/qtextformat.h \
  1528 + /usr/include/qt5/QtGui/qpen.h \
  1529 + /usr/include/qt5/QtWidgets/QTextEdit \
  1530 + /usr/include/qt5/QtWidgets/QWidget
  1531 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatroom.o ../QChatClient/chatroom.cpp
  1532 +
  1533 +Socket.o: ../QChatClient/Socket.cpp ../QChatClient/Socket.h \
  1534 + ../QChatClient/SocketException.h
  1535 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Socket.o ../QChatClient/Socket.cpp
  1536 +
  1537 +client.o: ../QChatClient/client.cpp ../QChatClient/client.h \
  1538 + ../QChatClient/Socket.h \
  1539 + ../QChatClient/SocketException.h
  1540 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o client.o ../QChatClient/client.cpp
  1541 +
  1542 +moc_chatwindow.o: moc_chatwindow.cpp
  1543 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatwindow.o moc_chatwindow.cpp
  1544 +
  1545 +moc_loginscreen.o: moc_loginscreen.cpp
  1546 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_loginscreen.o moc_loginscreen.cpp
  1547 +
  1548 +moc_chatroomselect.o: moc_chatroomselect.cpp
  1549 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatroomselect.o moc_chatroomselect.cpp
  1550 +
  1551 +moc_chatroom.o: moc_chatroom.cpp
  1552 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatroom.o moc_chatroom.cpp
  1553 +
  1554 +####### Install
  1555 +
  1556 +install: FORCE
  1557 +
  1558 +uninstall: FORCE
  1559 +
  1560 +FORCE:
  1561 +
... ...
build-QChatClient-Desktop-Debug/QChatClient 0 → 100755
No preview for this file type
build-QChatClient-Desktop-Debug/moc_chatroom.cpp 0 → 100644
  1 +/****************************************************************************
  2 +** Meta object code from reading C++ file 'chatroom.h'
  3 +**
  4 +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2)
  5 +**
  6 +** WARNING! All changes made in this file will be lost!
  7 +*****************************************************************************/
  8 +
  9 +#include "../QChatClient/chatroom.h"
  10 +#include <QtCore/qbytearray.h>
  11 +#include <QtCore/qmetatype.h>
  12 +#if !defined(Q_MOC_OUTPUT_REVISION)
  13 +#error "The header file 'chatroom.h' doesn't include <QObject>."
  14 +#elif Q_MOC_OUTPUT_REVISION != 67
  15 +#error "This file was generated using the moc from 5.0.2. It"
  16 +#error "cannot be used with the include files from this version of Qt."
  17 +#error "(The moc has changed too much.)"
  18 +#endif
  19 +
  20 +QT_BEGIN_MOC_NAMESPACE
  21 +struct qt_meta_stringdata_Chatroom_t {
  22 + QByteArrayData data[1];
  23 + char stringdata[10];
  24 +};
  25 +#define QT_MOC_LITERAL(idx, ofs, len) \
  26 + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
  27 + offsetof(qt_meta_stringdata_Chatroom_t, stringdata) + ofs \
  28 + - idx * sizeof(QByteArrayData) \
  29 + )
  30 +static const qt_meta_stringdata_Chatroom_t qt_meta_stringdata_Chatroom = {
  31 + {
  32 +QT_MOC_LITERAL(0, 0, 8)
  33 + },
  34 + "Chatroom\0"
  35 +};
  36 +#undef QT_MOC_LITERAL
  37 +
  38 +static const uint qt_meta_data_Chatroom[] = {
  39 +
  40 + // content:
  41 + 7, // revision
  42 + 0, // classname
  43 + 0, 0, // classinfo
  44 + 0, 0, // methods
  45 + 0, 0, // properties
  46 + 0, 0, // enums/sets
  47 + 0, 0, // constructors
  48 + 0, // flags
  49 + 0, // signalCount
  50 +
  51 + 0 // eod
  52 +};
  53 +
  54 +void Chatroom::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
  55 +{
  56 + Q_UNUSED(_o);
  57 + Q_UNUSED(_id);
  58 + Q_UNUSED(_c);
  59 + Q_UNUSED(_a);
  60 +}
  61 +
  62 +const QMetaObject Chatroom::staticMetaObject = {
  63 + { &QMainWindow::staticMetaObject, qt_meta_stringdata_Chatroom.data,
  64 + qt_meta_data_Chatroom, qt_static_metacall, 0, 0}
  65 +};
  66 +
  67 +
  68 +const QMetaObject *Chatroom::metaObject() const
  69 +{
  70 + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
  71 +}
  72 +
  73 +void *Chatroom::qt_metacast(const char *_clname)
  74 +{
  75 + if (!_clname) return 0;
  76 + if (!strcmp(_clname, qt_meta_stringdata_Chatroom.stringdata))
  77 + return static_cast<void*>(const_cast< Chatroom*>(this));
  78 + return QMainWindow::qt_metacast(_clname);
  79 +}
  80 +
  81 +int Chatroom::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
  82 +{
  83 + _id = QMainWindow::qt_metacall(_c, _id, _a);
  84 + if (_id < 0)
  85 + return _id;
  86 + return _id;
  87 +}
  88 +QT_END_MOC_NAMESPACE
... ...
build-QChatClient-Desktop-Debug/moc_chatroomselect.cpp 0 → 100644
  1 +/****************************************************************************
  2 +** Meta object code from reading C++ file 'chatroomselect.h'
  3 +**
  4 +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2)
  5 +**
  6 +** WARNING! All changes made in this file will be lost!
  7 +*****************************************************************************/
  8 +
  9 +#include "../QChatClient/chatroomselect.h"
  10 +#include <QtCore/qbytearray.h>
  11 +#include <QtCore/qmetatype.h>
  12 +#if !defined(Q_MOC_OUTPUT_REVISION)
  13 +#error "The header file 'chatroomselect.h' doesn't include <QObject>."
  14 +#elif Q_MOC_OUTPUT_REVISION != 67
  15 +#error "This file was generated using the moc from 5.0.2. It"
  16 +#error "cannot be used with the include files from this version of Qt."
  17 +#error "(The moc has changed too much.)"
  18 +#endif
  19 +
  20 +QT_BEGIN_MOC_NAMESPACE
  21 +struct qt_meta_stringdata_ChatroomSelect_t {
  22 + QByteArrayData data[1];
  23 + char stringdata[16];
  24 +};
  25 +#define QT_MOC_LITERAL(idx, ofs, len) \
  26 + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
  27 + offsetof(qt_meta_stringdata_ChatroomSelect_t, stringdata) + ofs \
  28 + - idx * sizeof(QByteArrayData) \
  29 + )
  30 +static const qt_meta_stringdata_ChatroomSelect_t qt_meta_stringdata_ChatroomSelect = {
  31 + {
  32 +QT_MOC_LITERAL(0, 0, 14)
  33 + },
  34 + "ChatroomSelect\0"
  35 +};
  36 +#undef QT_MOC_LITERAL
  37 +
  38 +static const uint qt_meta_data_ChatroomSelect[] = {
  39 +
  40 + // content:
  41 + 7, // revision
  42 + 0, // classname
  43 + 0, 0, // classinfo
  44 + 0, 0, // methods
  45 + 0, 0, // properties
  46 + 0, 0, // enums/sets
  47 + 0, 0, // constructors
  48 + 0, // flags
  49 + 0, // signalCount
  50 +
  51 + 0 // eod
  52 +};
  53 +
  54 +void ChatroomSelect::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
  55 +{
  56 + Q_UNUSED(_o);
  57 + Q_UNUSED(_id);
  58 + Q_UNUSED(_c);
  59 + Q_UNUSED(_a);
  60 +}
  61 +
  62 +const QMetaObject ChatroomSelect::staticMetaObject = {
  63 + { &QDialog::staticMetaObject, qt_meta_stringdata_ChatroomSelect.data,
  64 + qt_meta_data_ChatroomSelect, qt_static_metacall, 0, 0}
  65 +};
  66 +
  67 +
  68 +const QMetaObject *ChatroomSelect::metaObject() const
  69 +{
  70 + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
  71 +}
  72 +
  73 +void *ChatroomSelect::qt_metacast(const char *_clname)
  74 +{
  75 + if (!_clname) return 0;
  76 + if (!strcmp(_clname, qt_meta_stringdata_ChatroomSelect.stringdata))
  77 + return static_cast<void*>(const_cast< ChatroomSelect*>(this));
  78 + return QDialog::qt_metacast(_clname);
  79 +}
  80 +
  81 +int ChatroomSelect::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
  82 +{
  83 + _id = QDialog::qt_metacall(_c, _id, _a);
  84 + if (_id < 0)
  85 + return _id;
  86 + return _id;
  87 +}
  88 +QT_END_MOC_NAMESPACE
... ...
build-QChatClient-Desktop-Debug/moc_chatwindow.cpp 0 → 100644
  1 +/****************************************************************************
  2 +** Meta object code from reading C++ file 'chatwindow.h'
  3 +**
  4 +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2)
  5 +**
  6 +** WARNING! All changes made in this file will be lost!
  7 +*****************************************************************************/
  8 +
  9 +#include "../QChatClient/chatwindow.h"
  10 +#include <QtCore/qbytearray.h>
  11 +#include <QtCore/qmetatype.h>
  12 +#if !defined(Q_MOC_OUTPUT_REVISION)
  13 +#error "The header file 'chatwindow.h' doesn't include <QObject>."
  14 +#elif Q_MOC_OUTPUT_REVISION != 67
  15 +#error "This file was generated using the moc from 5.0.2. It"
  16 +#error "cannot be used with the include files from this version of Qt."
  17 +#error "(The moc has changed too much.)"
  18 +#endif
  19 +
  20 +QT_BEGIN_MOC_NAMESPACE
  21 +struct qt_meta_stringdata_ChatWindow_t {
  22 + QByteArrayData data[1];
  23 + char stringdata[12];
  24 +};
  25 +#define QT_MOC_LITERAL(idx, ofs, len) \
  26 + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
  27 + offsetof(qt_meta_stringdata_ChatWindow_t, stringdata) + ofs \
  28 + - idx * sizeof(QByteArrayData) \
  29 + )
  30 +static const qt_meta_stringdata_ChatWindow_t qt_meta_stringdata_ChatWindow = {
  31 + {
  32 +QT_MOC_LITERAL(0, 0, 10)
  33 + },
  34 + "ChatWindow\0"
  35 +};
  36 +#undef QT_MOC_LITERAL
  37 +
  38 +static const uint qt_meta_data_ChatWindow[] = {
  39 +
  40 + // content:
  41 + 7, // revision
  42 + 0, // classname
  43 + 0, 0, // classinfo
  44 + 0, 0, // methods
  45 + 0, 0, // properties
  46 + 0, 0, // enums/sets
  47 + 0, 0, // constructors
  48 + 0, // flags
  49 + 0, // signalCount
  50 +
  51 + 0 // eod
  52 +};
  53 +
  54 +void ChatWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
  55 +{
  56 + Q_UNUSED(_o);
  57 + Q_UNUSED(_id);
  58 + Q_UNUSED(_c);
  59 + Q_UNUSED(_a);
  60 +}
  61 +
  62 +const QMetaObject ChatWindow::staticMetaObject = {
  63 + { &QMainWindow::staticMetaObject, qt_meta_stringdata_ChatWindow.data,
  64 + qt_meta_data_ChatWindow, qt_static_metacall, 0, 0}
  65 +};
  66 +
  67 +
  68 +const QMetaObject *ChatWindow::metaObject() const
  69 +{
  70 + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
  71 +}
  72 +
  73 +void *ChatWindow::qt_metacast(const char *_clname)
  74 +{
  75 + if (!_clname) return 0;
  76 + if (!strcmp(_clname, qt_meta_stringdata_ChatWindow.stringdata))
  77 + return static_cast<void*>(const_cast< ChatWindow*>(this));
  78 + return QMainWindow::qt_metacast(_clname);
  79 +}
  80 +
  81 +int ChatWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
  82 +{
  83 + _id = QMainWindow::qt_metacall(_c, _id, _a);
  84 + if (_id < 0)
  85 + return _id;
  86 + return _id;
  87 +}
  88 +QT_END_MOC_NAMESPACE
... ...
build-QChatClient-Desktop-Debug/moc_loginscreen.cpp 0 → 100644
  1 +/****************************************************************************
  2 +** Meta object code from reading C++ file 'loginscreen.h'
  3 +**
  4 +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2)
  5 +**
  6 +** WARNING! All changes made in this file will be lost!
  7 +*****************************************************************************/
  8 +
  9 +#include "../QChatClient/loginscreen.h"
  10 +#include <QtCore/qbytearray.h>
  11 +#include <QtCore/qmetatype.h>
  12 +#if !defined(Q_MOC_OUTPUT_REVISION)
  13 +#error "The header file 'loginscreen.h' doesn't include <QObject>."
  14 +#elif Q_MOC_OUTPUT_REVISION != 67
  15 +#error "This file was generated using the moc from 5.0.2. It"
  16 +#error "cannot be used with the include files from this version of Qt."
  17 +#error "(The moc has changed too much.)"
  18 +#endif
  19 +
  20 +QT_BEGIN_MOC_NAMESPACE
  21 +struct qt_meta_stringdata_LoginScreen_t {
  22 + QByteArrayData data[1];
  23 + char stringdata[13];
  24 +};
  25 +#define QT_MOC_LITERAL(idx, ofs, len) \
  26 + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
  27 + offsetof(qt_meta_stringdata_LoginScreen_t, stringdata) + ofs \
  28 + - idx * sizeof(QByteArrayData) \
  29 + )
  30 +static const qt_meta_stringdata_LoginScreen_t qt_meta_stringdata_LoginScreen = {
  31 + {
  32 +QT_MOC_LITERAL(0, 0, 11)
  33 + },
  34 + "LoginScreen\0"
  35 +};
  36 +#undef QT_MOC_LITERAL
  37 +
  38 +static const uint qt_meta_data_LoginScreen[] = {
  39 +
  40 + // content:
  41 + 7, // revision
  42 + 0, // classname
  43 + 0, 0, // classinfo
  44 + 0, 0, // methods
  45 + 0, 0, // properties
  46 + 0, 0, // enums/sets
  47 + 0, 0, // constructors
  48 + 0, // flags
  49 + 0, // signalCount
  50 +
  51 + 0 // eod
  52 +};
  53 +
  54 +void LoginScreen::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
  55 +{
  56 + Q_UNUSED(_o);
  57 + Q_UNUSED(_id);
  58 + Q_UNUSED(_c);
  59 + Q_UNUSED(_a);
  60 +}
  61 +
  62 +const QMetaObject LoginScreen::staticMetaObject = {
  63 + { &QDialog::staticMetaObject, qt_meta_stringdata_LoginScreen.data,
  64 + qt_meta_data_LoginScreen, qt_static_metacall, 0, 0}
  65 +};
  66 +
  67 +
  68 +const QMetaObject *LoginScreen::metaObject() const
  69 +{
  70 + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
  71 +}
  72 +
  73 +void *LoginScreen::qt_metacast(const char *_clname)
  74 +{
  75 + if (!_clname) return 0;
  76 + if (!strcmp(_clname, qt_meta_stringdata_LoginScreen.stringdata))
  77 + return static_cast<void*>(const_cast< LoginScreen*>(this));
  78 + return QDialog::qt_metacast(_clname);
  79 +}
  80 +
  81 +int LoginScreen::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
  82 +{
  83 + _id = QDialog::qt_metacall(_c, _id, _a);
  84 + if (_id < 0)
  85 + return _id;
  86 + return _id;
  87 +}
  88 +QT_END_MOC_NAMESPACE
... ...
build-QChatClient-Desktop-Debug/ui_chatroom.h 0 → 100644
  1 +/********************************************************************************
  2 +** Form generated from reading UI file 'chatroom.ui'
  3 +**
  4 +** Created by: Qt User Interface Compiler version 5.0.2
  5 +**
  6 +** WARNING! All changes made in this file will be lost when recompiling UI file!
  7 +********************************************************************************/
  8 +
  9 +#ifndef UI_CHATROOM_H
  10 +#define UI_CHATROOM_H
  11 +
  12 +#include <QtCore/QVariant>
  13 +#include <QtWidgets/QAction>
  14 +#include <QtWidgets/QApplication>
  15 +#include <QtWidgets/QButtonGroup>
  16 +#include <QtWidgets/QFrame>
  17 +#include <QtWidgets/QGridLayout>
  18 +#include <QtWidgets/QHeaderView>
  19 +#include <QtWidgets/QListView>
  20 +#include <QtWidgets/QMainWindow>
  21 +#include <QtWidgets/QMenuBar>
  22 +#include <QtWidgets/QTextBrowser>
  23 +#include <QtWidgets/QTextEdit>
  24 +#include <QtWidgets/QWidget>
  25 +
  26 +QT_BEGIN_NAMESPACE
  27 +
  28 +class Ui_Chatroom
  29 +{
  30 +public:
  31 + QWidget *centralwidget;
  32 + QGridLayout *gridLayout;
  33 + QListView *listView;
  34 + QTextBrowser *textBrowser;
  35 + QTextEdit *textEdit;
  36 + QFrame *frame;
  37 + QMenuBar *menubar;
  38 +
  39 + void setupUi(QMainWindow *Chatroom)
  40 + {
  41 + if (Chatroom->objectName().isEmpty())
  42 + Chatroom->setObjectName(QStringLiteral("Chatroom"));
  43 + Chatroom->resize(800, 600);
  44 + centralwidget = new QWidget(Chatroom);
  45 + centralwidget->setObjectName(QStringLiteral("centralwidget"));
  46 + gridLayout = new QGridLayout(centralwidget);
  47 + gridLayout->setObjectName(QStringLiteral("gridLayout"));
  48 + listView = new QListView(centralwidget);
  49 + listView->setObjectName(QStringLiteral("listView"));
  50 + QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
  51 + sizePolicy.setHorizontalStretch(0);
  52 + sizePolicy.setVerticalStretch(0);
  53 + sizePolicy.setHeightForWidth(listView->sizePolicy().hasHeightForWidth());
  54 + listView->setSizePolicy(sizePolicy);
  55 + listView->setMaximumSize(QSize(150, 16777215));
  56 +
  57 + gridLayout->addWidget(listView, 0, 2, 1, 1);
  58 +
  59 + textBrowser = new QTextBrowser(centralwidget);
  60 + textBrowser->setObjectName(QStringLiteral("textBrowser"));
  61 +
  62 + gridLayout->addWidget(textBrowser, 0, 1, 1, 1);
  63 +
  64 + textEdit = new QTextEdit(centralwidget);
  65 + textEdit->setObjectName(QStringLiteral("textEdit"));
  66 + QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Fixed);
  67 + sizePolicy1.setHorizontalStretch(0);
  68 + sizePolicy1.setVerticalStretch(0);
  69 + sizePolicy1.setHeightForWidth(textEdit->sizePolicy().hasHeightForWidth());
  70 + textEdit->setSizePolicy(sizePolicy1);
  71 + textEdit->setMinimumSize(QSize(0, 100));
  72 + textEdit->setMaximumSize(QSize(16777215, 100));
  73 +
  74 + gridLayout->addWidget(textEdit, 2, 1, 1, 2);
  75 +
  76 + frame = new QFrame(centralwidget);
  77 + frame->setObjectName(QStringLiteral("frame"));
  78 + frame->setFrameShape(QFrame::StyledPanel);
  79 + frame->setFrameShadow(QFrame::Raised);
  80 +
  81 + gridLayout->addWidget(frame, 1, 1, 1, 1);
  82 +
  83 + Chatroom->setCentralWidget(centralwidget);
  84 + menubar = new QMenuBar(Chatroom);
  85 + menubar->setObjectName(QStringLiteral("menubar"));
  86 + menubar->setGeometry(QRect(0, 0, 800, 25));
  87 + Chatroom->setMenuBar(menubar);
  88 +
  89 + retranslateUi(Chatroom);
  90 +
  91 + QMetaObject::connectSlotsByName(Chatroom);
  92 + } // setupUi
  93 +
  94 + void retranslateUi(QMainWindow *Chatroom)
  95 + {
  96 + Chatroom->setWindowTitle(QApplication::translate("Chatroom", "MainWindow", 0));
  97 + } // retranslateUi
  98 +
  99 +};
  100 +
  101 +namespace Ui {
  102 + class Chatroom: public Ui_Chatroom {};
  103 +} // namespace Ui
  104 +
  105 +QT_END_NAMESPACE
  106 +
  107 +#endif // UI_CHATROOM_H
... ...
build-QChatClient-Desktop-Debug/ui_chatroomselect.h 0 → 100644
  1 +/********************************************************************************
  2 +** Form generated from reading UI file 'chatroomselect.ui'
  3 +**
  4 +** Created by: Qt User Interface Compiler version 5.0.2
  5 +**
  6 +** WARNING! All changes made in this file will be lost when recompiling UI file!
  7 +********************************************************************************/
  8 +
  9 +#ifndef UI_CHATROOMSELECT_H
  10 +#define UI_CHATROOMSELECT_H
  11 +
  12 +#include <QtCore/QVariant>
  13 +#include <QtWidgets/QAction>
  14 +#include <QtWidgets/QApplication>
  15 +#include <QtWidgets/QButtonGroup>
  16 +#include <QtWidgets/QColumnView>
  17 +#include <QtWidgets/QDialog>
  18 +#include <QtWidgets/QGridLayout>
  19 +#include <QtWidgets/QHeaderView>
  20 +#include <QtWidgets/QLabel>
  21 +#include <QtWidgets/QPushButton>
  22 +#include <QtWidgets/QSpacerItem>
  23 +#include <QtWidgets/QWidget>
  24 +
  25 +QT_BEGIN_NAMESPACE
  26 +
  27 +class Ui_ChatroomSelect
  28 +{
  29 +public:
  30 + QGridLayout *gridLayout;
  31 + QSpacerItem *listVertSpacer;
  32 + QWidget *buttonBox;
  33 + QGridLayout *gridLayout_3;
  34 + QPushButton *okButton;
  35 + QPushButton *cancelButton;
  36 + QSpacerItem *buttonHorizSpacer;
  37 + QSpacerItem *topSpacer;
  38 + QSpacerItem *leftSpacer;
  39 + QColumnView *chatroomList;
  40 + QLabel *titleLabel;
  41 + QWidget *roomButtonBox;
  42 + QGridLayout *gridLayout_2;
  43 + QPushButton *editButton;
  44 + QPushButton *removeButton;
  45 + QPushButton *addButton;
  46 + QSpacerItem *buttonVertSpacer;
  47 + QSpacerItem *listHorizSpacer;
  48 +
  49 + void setupUi(QDialog *ChatroomSelect)
  50 + {
  51 + if (ChatroomSelect->objectName().isEmpty())
  52 + ChatroomSelect->setObjectName(QStringLiteral("ChatroomSelect"));
  53 + ChatroomSelect->resize(555, 379);
  54 + gridLayout = new QGridLayout(ChatroomSelect);
  55 + gridLayout->setObjectName(QStringLiteral("gridLayout"));
  56 + listVertSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed);
  57 +
  58 + gridLayout->addItem(listVertSpacer, 2, 1, 1, 1);
  59 +
  60 + buttonBox = new QWidget(ChatroomSelect);
  61 + buttonBox->setObjectName(QStringLiteral("buttonBox"));
  62 + gridLayout_3 = new QGridLayout(buttonBox);
  63 + gridLayout_3->setObjectName(QStringLiteral("gridLayout_3"));
  64 + okButton = new QPushButton(buttonBox);
  65 + okButton->setObjectName(QStringLiteral("okButton"));
  66 +
  67 + gridLayout_3->addWidget(okButton, 0, 1, 1, 1);
  68 +
  69 + cancelButton = new QPushButton(buttonBox);
  70 + cancelButton->setObjectName(QStringLiteral("cancelButton"));
  71 +
  72 + gridLayout_3->addWidget(cancelButton, 0, 2, 1, 1);
  73 +
  74 + buttonHorizSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
  75 +
  76 + gridLayout_3->addItem(buttonHorizSpacer, 0, 0, 1, 1);
  77 +
  78 +
  79 + gridLayout->addWidget(buttonBox, 5, 1, 1, 3);
  80 +
  81 + topSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed);
  82 +
  83 + gridLayout->addItem(topSpacer, 0, 1, 1, 1);
  84 +
  85 + leftSpacer = new QSpacerItem(10, 20, QSizePolicy::Fixed, QSizePolicy::Minimum);
  86 +
  87 + gridLayout->addItem(leftSpacer, 3, 0, 1, 1);
  88 +
  89 + chatroomList = new QColumnView(ChatroomSelect);
  90 + chatroomList->setObjectName(QStringLiteral("chatroomList"));
  91 +
  92 + gridLayout->addWidget(chatroomList, 3, 1, 1, 1);
  93 +
  94 + titleLabel = new QLabel(ChatroomSelect);
  95 + titleLabel->setObjectName(QStringLiteral("titleLabel"));
  96 +
  97 + gridLayout->addWidget(titleLabel, 1, 1, 1, 1);
  98 +
  99 + roomButtonBox = new QWidget(ChatroomSelect);
  100 + roomButtonBox->setObjectName(QStringLiteral("roomButtonBox"));
  101 + gridLayout_2 = new QGridLayout(roomButtonBox);
  102 + gridLayout_2->setObjectName(QStringLiteral("gridLayout_2"));
  103 + editButton = new QPushButton(roomButtonBox);
  104 + editButton->setObjectName(QStringLiteral("editButton"));
  105 +
  106 + gridLayout_2->addWidget(editButton, 1, 0, 1, 1);
  107 +
  108 + removeButton = new QPushButton(roomButtonBox);
  109 + removeButton->setObjectName(QStringLiteral("removeButton"));
  110 +
  111 + gridLayout_2->addWidget(removeButton, 2, 0, 1, 1);
  112 +
  113 + addButton = new QPushButton(roomButtonBox);
  114 + addButton->setObjectName(QStringLiteral("addButton"));
  115 +
  116 + gridLayout_2->addWidget(addButton, 0, 0, 1, 1);
  117 +
  118 + buttonVertSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
  119 +
  120 + gridLayout_2->addItem(buttonVertSpacer, 3, 0, 1, 1);
  121 +
  122 +
  123 + gridLayout->addWidget(roomButtonBox, 3, 3, 1, 1);
  124 +
  125 + listHorizSpacer = new QSpacerItem(5, 20, QSizePolicy::Fixed, QSizePolicy::Minimum);
  126 +
  127 + gridLayout->addItem(listHorizSpacer, 3, 2, 1, 1);
  128 +
  129 +
  130 + retranslateUi(ChatroomSelect);
  131 +
  132 + QMetaObject::connectSlotsByName(ChatroomSelect);
  133 + } // setupUi
  134 +
  135 + void retranslateUi(QDialog *ChatroomSelect)
  136 + {
  137 + ChatroomSelect->setWindowTitle(QApplication::translate("ChatroomSelect", "Dialog", 0));
  138 + okButton->setText(QApplication::translate("ChatroomSelect", "OK", 0));
  139 + cancelButton->setText(QApplication::translate("ChatroomSelect", "Cancel", 0));
  140 + titleLabel->setText(QApplication::translate("ChatroomSelect", "Select one chatroom from the list:", 0));
  141 + editButton->setText(QApplication::translate("ChatroomSelect", "Edit", 0));
  142 + removeButton->setText(QApplication::translate("ChatroomSelect", "Delete", 0));
  143 + addButton->setText(QApplication::translate("ChatroomSelect", "Add", 0));
  144 + } // retranslateUi
  145 +
  146 +};
  147 +
  148 +namespace Ui {
  149 + class ChatroomSelect: public Ui_ChatroomSelect {};
  150 +} // namespace Ui
  151 +
  152 +QT_END_NAMESPACE
  153 +
  154 +#endif // UI_CHATROOMSELECT_H
... ...
build-QChatClient-Desktop-Debug/ui_chatwindow.h 0 → 100644
  1 +/********************************************************************************
  2 +** Form generated from reading UI file 'chatwindow.ui'
  3 +**
  4 +** Created by: Qt User Interface Compiler version 5.0.2
  5 +**
  6 +** WARNING! All changes made in this file will be lost when recompiling UI file!
  7 +********************************************************************************/
  8 +
  9 +#ifndef UI_CHATWINDOW_H
  10 +#define UI_CHATWINDOW_H
  11 +
  12 +#include <QtCore/QVariant>
  13 +#include <QtWidgets/QAction>
  14 +#include <QtWidgets/QApplication>
  15 +#include <QtWidgets/QButtonGroup>
  16 +#include <QtWidgets/QGridLayout>
  17 +#include <QtWidgets/QHeaderView>
  18 +#include <QtWidgets/QMainWindow>
  19 +#include <QtWidgets/QMenuBar>
  20 +#include <QtWidgets/QSpacerItem>
  21 +#include <QtWidgets/QTextBrowser>
  22 +#include <QtWidgets/QTextEdit>
  23 +#include <QtWidgets/QWidget>
  24 +
  25 +QT_BEGIN_NAMESPACE
  26 +
  27 +class Ui_ChatWindow
  28 +{
  29 +public:
  30 + QWidget *centralWidget;
  31 + QGridLayout *gridLayout;
  32 + QSpacerItem *verticalSpacer;
  33 + QTextBrowser *chatText;
  34 + QSpacerItem *verticalSpacer_2;
  35 + QSpacerItem *horizontalSpacer_2;
  36 + QTextEdit *inputText;
  37 + QSpacerItem *horizontalSpacer;
  38 + QSpacerItem *verticalSpacer_3;
  39 + QMenuBar *menuBar;
  40 +
  41 + void setupUi(QMainWindow *ChatWindow)
  42 + {
  43 + if (ChatWindow->objectName().isEmpty())
  44 + ChatWindow->setObjectName(QStringLiteral("ChatWindow"));
  45 + ChatWindow->resize(400, 449);
  46 + centralWidget = new QWidget(ChatWindow);
  47 + centralWidget->setObjectName(QStringLiteral("centralWidget"));
  48 + centralWidget->setEnabled(true);
  49 + QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
  50 + sizePolicy.setHorizontalStretch(0);
  51 + sizePolicy.setVerticalStretch(0);
  52 + sizePolicy.setHeightForWidth(centralWidget->sizePolicy().hasHeightForWidth());
  53 + centralWidget->setSizePolicy(sizePolicy);
  54 + gridLayout = new QGridLayout(centralWidget);
  55 + gridLayout->setSpacing(6);
  56 + gridLayout->setContentsMargins(11, 11, 11, 11);
  57 + gridLayout->setObjectName(QStringLiteral("gridLayout"));
  58 + verticalSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed);
  59 +
  60 + gridLayout->addItem(verticalSpacer, 2, 1, 1, 1);
  61 +
  62 + chatText = new QTextBrowser(centralWidget);
  63 + chatText->setObjectName(QStringLiteral("chatText"));
  64 +
  65 + gridLayout->addWidget(chatText, 1, 1, 1, 1);
  66 +
  67 + verticalSpacer_2 = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed);
  68 +
  69 + gridLayout->addItem(verticalSpacer_2, 0, 1, 1, 1);
  70 +
  71 + horizontalSpacer_2 = new QSpacerItem(10, 20, QSizePolicy::Fixed, QSizePolicy::Minimum);
  72 +
  73 + gridLayout->addItem(horizontalSpacer_2, 1, 2, 1, 1);
  74 +
  75 + inputText = new QTextEdit(centralWidget);
  76 + inputText->setObjectName(QStringLiteral("inputText"));
  77 + QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Fixed);
  78 + sizePolicy1.setHorizontalStretch(0);
  79 + sizePolicy1.setVerticalStretch(0);
  80 + sizePolicy1.setHeightForWidth(inputText->sizePolicy().hasHeightForWidth());
  81 + inputText->setSizePolicy(sizePolicy1);
  82 + inputText->setMinimumSize(QSize(0, 100));
  83 + inputText->setMaximumSize(QSize(16777215, 100));
  84 +
  85 + gridLayout->addWidget(inputText, 3, 1, 1, 1);
  86 +
  87 + horizontalSpacer = new QSpacerItem(10, 20, QSizePolicy::Fixed, QSizePolicy::Minimum);
  88 +
  89 + gridLayout->addItem(horizontalSpacer, 1, 0, 1, 1);
  90 +
  91 + verticalSpacer_3 = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed);
  92 +
  93 + gridLayout->addItem(verticalSpacer_3, 4, 1, 1, 1);
  94 +
  95 + ChatWindow->setCentralWidget(centralWidget);
  96 + menuBar = new QMenuBar(ChatWindow);
  97 + menuBar->setObjectName(QStringLiteral("menuBar"));
  98 + menuBar->setGeometry(QRect(0, 0, 400, 25));
  99 + ChatWindow->setMenuBar(menuBar);
  100 +
  101 + retranslateUi(ChatWindow);
  102 +
  103 + QMetaObject::connectSlotsByName(ChatWindow);
  104 + } // setupUi
  105 +
  106 + void retranslateUi(QMainWindow *ChatWindow)
  107 + {
  108 + ChatWindow->setWindowTitle(QApplication::translate("ChatWindow", "ChatWindow", 0));
  109 + } // retranslateUi
  110 +
  111 +};
  112 +
  113 +namespace Ui {
  114 + class ChatWindow: public Ui_ChatWindow {};
  115 +} // namespace Ui
  116 +
  117 +QT_END_NAMESPACE
  118 +
  119 +#endif // UI_CHATWINDOW_H
... ...
build-QChatClient-Desktop-Debug/ui_loginscreen.h 0 → 100644
  1 +/********************************************************************************
  2 +** Form generated from reading UI file 'loginscreen.ui'
  3 +**
  4 +** Created by: Qt User Interface Compiler version 5.0.2
  5 +**
  6 +** WARNING! All changes made in this file will be lost when recompiling UI file!
  7 +********************************************************************************/
  8 +
  9 +#ifndef UI_LOGINSCREEN_H
  10 +#define UI_LOGINSCREEN_H
  11 +
  12 +#include <QtCore/QVariant>
  13 +#include <QtWidgets/QAction>
  14 +#include <QtWidgets/QApplication>
  15 +#include <QtWidgets/QButtonGroup>
  16 +#include <QtWidgets/QComboBox>
  17 +#include <QtWidgets/QDialog>
  18 +#include <QtWidgets/QGridLayout>
  19 +#include <QtWidgets/QHeaderView>
  20 +#include <QtWidgets/QLabel>
  21 +#include <QtWidgets/QLineEdit>
  22 +#include <QtWidgets/QPushButton>
  23 +#include <QtWidgets/QSpacerItem>
  24 +#include <QtWidgets/QWidget>
  25 +
  26 +QT_BEGIN_NAMESPACE
  27 +
  28 +class Ui_LoginScreen
  29 +{
  30 +public:
  31 + QGridLayout *gridLayout;
  32 + QComboBox *chatroomBox;
  33 + QSpacerItem *verticalSpacer;
  34 + QSpacerItem *rightSpacer;
  35 + QSpacerItem *topSpacer;
  36 + QLabel *titleLabel;
  37 + QWidget *buttonBox;
  38 + QGridLayout *gridLayout_2;
  39 + QPushButton *cancelButton;
  40 + QPushButton *connectButton;
  41 + QSpacerItem *buttonHorizSpacer;
  42 + QSpacerItem *leftSpacer;
  43 + QLineEdit *userEdit;
  44 + QLineEdit *passwordEdit;
  45 +
  46 + void setupUi(QDialog *LoginScreen)
  47 + {
  48 + if (LoginScreen->objectName().isEmpty())
  49 + LoginScreen->setObjectName(QStringLiteral("LoginScreen"));
  50 + LoginScreen->resize(402, 204);
  51 + gridLayout = new QGridLayout(LoginScreen);
  52 + gridLayout->setObjectName(QStringLiteral("gridLayout"));
  53 + chatroomBox = new QComboBox(LoginScreen);
  54 + chatroomBox->setObjectName(QStringLiteral("chatroomBox"));
  55 +
  56 + gridLayout->addWidget(chatroomBox, 5, 1, 1, 1);
  57 +
  58 + verticalSpacer = new QSpacerItem(20, 10, QSizePolicy::Minimum, QSizePolicy::Fixed);
  59 +
  60 + gridLayout->addItem(verticalSpacer, 2, 1, 1, 1);
  61 +
  62 + rightSpacer = new QSpacerItem(10, 20, QSizePolicy::Minimum, QSizePolicy::Minimum);
  63 +
  64 + gridLayout->addItem(rightSpacer, 4, 2, 1, 1);
  65 +
  66 + topSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed);
  67 +
  68 + gridLayout->addItem(topSpacer, 0, 1, 1, 1);
  69 +
  70 + titleLabel = new QLabel(LoginScreen);
  71 + titleLabel->setObjectName(QStringLiteral("titleLabel"));
  72 + QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum);
  73 + sizePolicy.setHorizontalStretch(0);
  74 + sizePolicy.setVerticalStretch(0);
  75 + sizePolicy.setHeightForWidth(titleLabel->sizePolicy().hasHeightForWidth());
  76 + titleLabel->setSizePolicy(sizePolicy);
  77 + titleLabel->setMaximumSize(QSize(16777215, 20));
  78 +
  79 + gridLayout->addWidget(titleLabel, 1, 1, 1, 1);
  80 +
  81 + buttonBox = new QWidget(LoginScreen);
  82 + buttonBox->setObjectName(QStringLiteral("buttonBox"));
  83 + sizePolicy.setHeightForWidth(buttonBox->sizePolicy().hasHeightForWidth());
  84 + buttonBox->setSizePolicy(sizePolicy);
  85 + gridLayout_2 = new QGridLayout(buttonBox);
  86 + gridLayout_2->setObjectName(QStringLiteral("gridLayout_2"));
  87 + cancelButton = new QPushButton(buttonBox);
  88 + cancelButton->setObjectName(QStringLiteral("cancelButton"));
  89 +
  90 + gridLayout_2->addWidget(cancelButton, 0, 2, 1, 1);
  91 +
  92 + connectButton = new QPushButton(buttonBox);
  93 + connectButton->setObjectName(QStringLiteral("connectButton"));
  94 +
  95 + gridLayout_2->addWidget(connectButton, 0, 1, 1, 1);
  96 +
  97 + buttonHorizSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
  98 +
  99 + gridLayout_2->addItem(buttonHorizSpacer, 0, 0, 1, 1);
  100 +
  101 +
  102 + gridLayout->addWidget(buttonBox, 6, 1, 1, 1);
  103 +
  104 + leftSpacer = new QSpacerItem(10, 20, QSizePolicy::Minimum, QSizePolicy::Minimum);
  105 +
  106 + gridLayout->addItem(leftSpacer, 3, 0, 1, 1);
  107 +
  108 + userEdit = new QLineEdit(LoginScreen);
  109 + userEdit->setObjectName(QStringLiteral("userEdit"));
  110 +
  111 + gridLayout->addWidget(userEdit, 3, 1, 1, 1);
  112 +
  113 + passwordEdit = new QLineEdit(LoginScreen);
  114 + passwordEdit->setObjectName(QStringLiteral("passwordEdit"));
  115 +
  116 + gridLayout->addWidget(passwordEdit, 4, 1, 1, 1);
  117 +
  118 +
  119 + retranslateUi(LoginScreen);
  120 +
  121 + QMetaObject::connectSlotsByName(LoginScreen);
  122 + } // setupUi
  123 +
  124 + void retranslateUi(QDialog *LoginScreen)
  125 + {
  126 + LoginScreen->setWindowTitle(QApplication::translate("LoginScreen", "Login", 0));
  127 + chatroomBox->setCurrentText(QString());
  128 + titleLabel->setText(QApplication::translate("LoginScreen", "Log in to chatroom", 0));
  129 + cancelButton->setText(QApplication::translate("LoginScreen", "Cancel", 0));
  130 + connectButton->setText(QApplication::translate("LoginScreen", "OK", 0));
  131 + } // retranslateUi
  132 +
  133 +};
  134 +
  135 +namespace Ui {
  136 + class LoginScreen: public Ui_LoginScreen {};
  137 +} // namespace Ui
  138 +
  139 +QT_END_NAMESPACE
  140 +
  141 +#endif // UI_LOGINSCREEN_H
... ...