2015-06-06 09:40:08 +08:00
|
|
|
/*
|
|
|
|
Copyright © 2015 by The qTox Project
|
|
|
|
|
|
|
|
This file is part of qTox, a Qt-based graphical interface for Tox.
|
|
|
|
|
|
|
|
qTox is libre software: you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
qTox is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
2015-02-06 19:28:49 +08:00
|
|
|
#include "androidgui.h"
|
2015-02-07 19:46:55 +08:00
|
|
|
#include "ui_android.h"
|
|
|
|
#include "friendlistwidget.h"
|
|
|
|
#include "maskablepixmapwidget.h"
|
2015-04-24 08:32:09 +08:00
|
|
|
#include "src/core/core.h"
|
2015-02-07 19:46:55 +08:00
|
|
|
#include "src/friend.h"
|
|
|
|
#include "src/friendlist.h"
|
|
|
|
#include "src/group.h"
|
|
|
|
#include "src/grouplist.h"
|
2015-06-06 07:44:47 +08:00
|
|
|
#include "src/persistence/settings.h"
|
2015-02-07 19:46:55 +08:00
|
|
|
#include "src/misc/style.h"
|
|
|
|
#include "src/nexus.h"
|
|
|
|
#include "src/widget/friendwidget.h"
|
|
|
|
#include "src/widget/groupwidget.h"
|
2015-02-23 02:08:18 +08:00
|
|
|
#include <QDebug>
|
|
|
|
#include <QKeyEvent>
|
2015-02-06 19:28:49 +08:00
|
|
|
#include <QLabel>
|
2015-02-07 19:46:55 +08:00
|
|
|
#include <QMenu>
|
2015-02-23 06:32:14 +08:00
|
|
|
#include <QFontDatabase>
|
|
|
|
#include <QFont>
|
2015-02-06 19:28:49 +08:00
|
|
|
|
|
|
|
AndroidGUI::AndroidGUI(QWidget *parent) :
|
2015-02-07 19:46:55 +08:00
|
|
|
QWidget(parent),
|
|
|
|
ui{new Ui::Android}
|
2015-02-06 19:28:49 +08:00
|
|
|
{
|
2015-02-07 19:46:55 +08:00
|
|
|
ui->setupUi(this);
|
|
|
|
|
2015-02-23 06:32:14 +08:00
|
|
|
QFontDatabase::addApplicationFont(":/res/android/Roboto-Bold.ttf");
|
|
|
|
QFont font("Roboto1200310", 24);
|
|
|
|
qDebug() << "Font: "<<font.family();
|
|
|
|
ui->headTitle->setFont(font);
|
2015-02-07 19:46:55 +08:00
|
|
|
|
2015-02-23 06:32:14 +08:00
|
|
|
Q_INIT_RESOURCE(android);
|
2015-02-06 19:28:49 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
AndroidGUI::~AndroidGUI()
|
|
|
|
{
|
2015-02-23 06:32:14 +08:00
|
|
|
|
2015-02-07 19:46:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
void AndroidGUI::reloadTheme()
|
|
|
|
{
|
2015-02-23 06:32:14 +08:00
|
|
|
|
2015-02-07 19:46:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
void AndroidGUI::onSelfAvatarLoaded(const QPixmap& pic)
|
|
|
|
{
|
2015-02-23 06:32:14 +08:00
|
|
|
|
2015-02-07 19:46:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
void AndroidGUI::onConnected()
|
|
|
|
{
|
|
|
|
if (beforeDisconnect == Status::Offline)
|
|
|
|
emit statusSet(Status::Online);
|
|
|
|
else
|
|
|
|
emit statusSet(beforeDisconnect);
|
|
|
|
}
|
|
|
|
|
|
|
|
void AndroidGUI::onDisconnected()
|
|
|
|
{
|
|
|
|
emit statusSet(Status::Offline);
|
|
|
|
}
|
|
|
|
|
|
|
|
void AndroidGUI::onUsernameChanged(const QString& newUsername, const QString& oldUsername)
|
|
|
|
{
|
|
|
|
setUsername(oldUsername); // restore old username until Core tells us to set it
|
|
|
|
Nexus::getCore()->setUsername(newUsername);
|
|
|
|
}
|
|
|
|
|
|
|
|
void AndroidGUI::setUsername(const QString& username)
|
|
|
|
{
|
|
|
|
QString sanename = username;
|
|
|
|
sanename.remove(QRegExp("[\\t\\n\\v\\f\\r\\x0000]"));
|
|
|
|
nameMention = QRegExp("\\b" + QRegExp::escape(username) + "\\b", Qt::CaseInsensitive);
|
|
|
|
sanitizedNameMention = QRegExp("\\b" + QRegExp::escape(sanename) + "\\b", Qt::CaseInsensitive);
|
2015-02-06 19:28:49 +08:00
|
|
|
}
|
2015-02-07 19:46:55 +08:00
|
|
|
|
|
|
|
void AndroidGUI::onStatusMessageChanged(const QString& newStatusMessage, const QString& oldStatusMessage)
|
|
|
|
{
|
|
|
|
Nexus::getCore()->setStatusMessage(newStatusMessage);
|
|
|
|
}
|
|
|
|
|
|
|
|
void AndroidGUI::setStatusMessage(const QString &statusMessage)
|
|
|
|
{
|
2015-02-23 06:32:14 +08:00
|
|
|
|
2015-02-07 19:46:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
void AndroidGUI::onStatusSet(Status status)
|
|
|
|
{
|
2015-02-23 06:32:14 +08:00
|
|
|
|
2015-02-07 19:46:55 +08:00
|
|
|
}
|
|
|
|
|
2015-02-23 02:08:18 +08:00
|
|
|
void AndroidGUI::keyPressEvent(QKeyEvent* event)
|
|
|
|
{
|
|
|
|
if (event->key() == Qt::Key_Back)
|
|
|
|
{
|
2015-05-11 20:54:03 +08:00
|
|
|
qDebug() << "Back key pressed, quitting";
|
2015-02-23 02:08:18 +08:00
|
|
|
qApp->exit(0);
|
|
|
|
}
|
|
|
|
else if (event->key() == Qt::Key_Menu)
|
|
|
|
{
|
2015-05-11 20:54:03 +08:00
|
|
|
qDebug() << "Menu key pressed";
|
2015-02-23 02:08:18 +08:00
|
|
|
}
|
|
|
|
}
|