/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
/*
 * Copyright (c) 2013, Regents of the University of California
 *                     Yingdi Yu
 *
 * BSD license, See the LICENSE file for more information
 *
 * Author: Yingdi Yu <yingdi@cs.ucla.edu>
 */

#ifndef CHRONOCHAT_H
#define CHRONOCHAT_H

#include <QDialog>

namespace Ui {
class ChronoChat;
}

class ChronoChat : public QDialog
{
    Q_OBJECT

public:
    explicit ChronoChat(QWidget *parent = 0);
    ~ChronoChat();

private:
    Ui::ChronoChat *ui;
};

#endif // CHRONOCHAT_H
