Simplified the new goToUser function.

This commit is contained in:
Dimitar Dobrev 2014-03-28 18:44:06 +02:00
parent 3907c563df
commit 6fd1bf7edb
4 changed files with 20 additions and 33 deletions

View file

@ -113,18 +113,18 @@
<context>
<name>Menu</name>
<message>
<location filename="src/Menu.cpp" line="458"/>
<location filename="src/Menu.cpp" line="456"/>
<source>Open .ini config file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/Menu.cpp" line="460"/>
<location filename="src/Menu.cpp" line="472"/>
<location filename="src/Menu.cpp" line="458"/>
<location filename="src/Menu.cpp" line="470"/>
<source>Text files (*.ini)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/Menu.cpp" line="470"/>
<location filename="src/Menu.cpp" line="468"/>
<source>Save .ini config file</source>
<translation type="unfinished"></translation>
</message>

View file

@ -20,8 +20,6 @@
#include <QMainWindow>
#include <QMenuBar>
#include <QMessageBox>
#include <QParallelAnimationGroup>
#include <QPropertyAnimation>
#include <QShortcut>
#include <QSlider>
#include <QStandardPaths>
@ -925,19 +923,18 @@ void Menu::goTo() {
gotoDialog.resize(gotoDialog.parentWidget()->size().width() * DIALOG_RATIO_OF_WINDOW, gotoDialog.size().height());
int dialogReturn = gotoDialog.exec();
goToUser(dialogReturn == QDialog::Accepted && !gotoDialog.textValue().isEmpty(),
gotoDialog.textValue());
}
void Menu::goToUser(bool go, const QString& user) {
if (go) {
LocationManager* manager = &LocationManager::getInstance();
manager->goTo(user);
connect(manager, &LocationManager::multipleDestinationsFound, this, &Menu::multipleDestinationsDecision);
if (dialogReturn == QDialog::Accepted && !gotoDialog.textValue().isEmpty()) {
goToUser(gotoDialog.textValue());
}
sendFakeEnterEvent();
}
void Menu::goToUser(const QString& user) {
LocationManager* manager = &LocationManager::getInstance();
manager->goTo(user);
connect(manager, &LocationManager::multipleDestinationsFound, this, &Menu::multipleDestinationsDecision);
}
void Menu::multipleDestinationsDecision(const QJsonObject& userData, const QJsonObject& placeData) {
QMessageBox msgBox;
msgBox.setText("Both user and location exists with same name");
@ -1105,23 +1102,13 @@ void Menu::showMetavoxelEditor() {
}
void Menu::showChat() {
QMainWindow* mainWindow = Application::getInstance()->getWindow();
if (!_chatWindow) {
mainWindow->addDockWidget(Qt::NoDockWidgetArea, _chatWindow = new ChatWindow());
}
if (!_chatWindow->toggleViewAction()->isChecked()) {
int width = _chatWindow->width();
int y = qMax((mainWindow->height() - _chatWindow->height()) / 2, 0);
_chatWindow->move(mainWindow->width(), y);
_chatWindow->resize(0, _chatWindow->height());
_chatWindow->toggleViewAction()->trigger();
QPropertyAnimation* slideAnimation = new QPropertyAnimation(_chatWindow, "geometry", _chatWindow);
slideAnimation->setStartValue(_chatWindow->geometry());
slideAnimation->setEndValue(QRect(mainWindow->width() - width, _chatWindow->y(),
width, _chatWindow->height()));
slideAnimation->setDuration(250);
slideAnimation->start(QAbstractAnimation::DeleteWhenStopped);
Application::getInstance()->getWindow()->addDockWidget(Qt::RightDockWidgetArea, _chatWindow = new ChatWindow());
} else {
if (!_chatWindow->toggleViewAction()->isChecked()) {
_chatWindow->toggleViewAction()->trigger();
}
}
}

View file

@ -122,7 +122,7 @@ public slots:
void importSettings();
void exportSettings();
void goTo();
void goToUser(bool go, const QString& user);
void goToUser(const QString& user);
void pasteToVoxel();
void toggleLoginMenuItem();

View file

@ -117,7 +117,7 @@ bool ChatWindow::eventFilter(QObject* sender, QEvent* event) {
return false;
}
QString user = sender->property("user").toString();
Menu::getInstance()->goToUser(true, user);
Menu::getInstance()->goToUser(user);
}
return false;
}