forked from blue/squawk
minor fixes, form to join MUC
This commit is contained in:
parent
5f8d38bd9a
commit
c295fa1c1d
@ -1002,19 +1002,7 @@ void Core::Account::bookmarksReceived(const QXmppBookmarkSet& bookmarks)
|
||||
QString jid = c.jid();
|
||||
std::map<QString, Conference*>::const_iterator cItr = conferences.find(jid);
|
||||
if (cItr == conferences.end()) {
|
||||
QXmppMucRoom* room = mm->addRoom(jid);
|
||||
QString nick = c.nickName();
|
||||
Conference* conf = new Conference(jid, getName(), c.autoJoin(), c.name(), nick == "" ? getName() : nick, room);
|
||||
conferences.insert(std::make_pair(jid, conf));
|
||||
|
||||
handleNewConference(conf);
|
||||
|
||||
emit addRoom(jid, {
|
||||
{"autoJoin", conf->getAutoJoin()},
|
||||
{"joined", conf->getJoined()},
|
||||
{"nick", conf->getNick()},
|
||||
{"name", conf->getName()}
|
||||
});
|
||||
addNewRoom(jid, c.nickName(), c.name(), c.autoJoin());
|
||||
} else {
|
||||
qDebug() << "Received a bookmark to a MUC " << jid << " which is already booked by another bookmark, skipping";
|
||||
}
|
||||
@ -1133,6 +1121,33 @@ void Core::Account::removeRoomRequest(const QString& jid)
|
||||
storeConferences();
|
||||
}
|
||||
|
||||
void Core::Account::addRoomRequest(const QString& jid, const QString& nick, bool autoJoin)
|
||||
void Core::Account::addRoomRequest(const QString& jid, const QString& nick, const QString& password, bool autoJoin)
|
||||
{
|
||||
std::map<QString, Conference*>::const_iterator cItr = conferences.find(jid);
|
||||
if (cItr == conferences.end()) {
|
||||
addNewRoom(jid, nick, "", autoJoin);
|
||||
storeConferences();
|
||||
} else {
|
||||
qDebug() << "An attempt to add a MUC " << jid << " which is already present in the rester, skipping";
|
||||
}
|
||||
}
|
||||
|
||||
void Core::Account::addNewRoom(const QString& jid, const QString& nick, const QString& roomName, bool autoJoin)
|
||||
{
|
||||
QXmppMucRoom* room = mm->addRoom(jid);
|
||||
QString lNick = nick;
|
||||
if (lNick.size() == 0) {
|
||||
lNick = getName();
|
||||
}
|
||||
Conference* conf = new Conference(jid, getName(), autoJoin, roomName, lNick, room);
|
||||
conferences.insert(std::make_pair(jid, conf));
|
||||
|
||||
handleNewConference(conf);
|
||||
|
||||
emit addRoom(jid, {
|
||||
{"autoJoin", conf->getAutoJoin()},
|
||||
{"joined", conf->getJoined()},
|
||||
{"nick", conf->getNick()},
|
||||
{"name", conf->getName()}
|
||||
});
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ public:
|
||||
void setRoomJoined(const QString& jid, bool joined);
|
||||
void setRoomAutoJoin(const QString& jid, bool joined);
|
||||
void removeRoomRequest(const QString& jid);
|
||||
void addRoomRequest(const QString& jid, const QString& nick, bool autoJoin);
|
||||
void addRoomRequest(const QString& jid, const QString& nick, const QString& password, bool autoJoin);
|
||||
|
||||
signals:
|
||||
void connectionStateChanged(int);
|
||||
@ -164,6 +164,7 @@ private:
|
||||
void handleNewConference(Conference* contact);
|
||||
bool handleChatMessage(const QXmppMessage& msg, bool outgoing = false, bool forwarded = false, bool guessing = false);
|
||||
bool handleGroupMessage(const QXmppMessage& msg, bool outgoing = false, bool forwarded = false, bool guessing = false);
|
||||
void addNewRoom(const QString& jid, const QString& nick, const QString& roomName, bool autoJoin);
|
||||
void addToGroup(const QString& jid, const QString& group);
|
||||
void removeFromGroup(const QString& jid, const QString& group);
|
||||
void initializeMessage(Shared::Message& target, const QXmppMessage& source, bool outgoing = false, bool forwarded = false, bool guessing = false) const;
|
||||
|
@ -474,3 +474,14 @@ void Core::Squawk::removeRoomRequest(const QString& account, const QString& jid)
|
||||
}
|
||||
itr->second->removeRoomRequest(jid);
|
||||
}
|
||||
|
||||
void Core::Squawk::addRoomRequest(const QString& account, const QString& jid, const QString& nick, const QString& password, bool autoJoin)
|
||||
{
|
||||
AccountsMap::const_iterator itr = amap.find(account);
|
||||
if (itr == amap.end()) {
|
||||
qDebug() << "An attempt to add the room" << jid << "to non existing account" << account << ", skipping";
|
||||
return;
|
||||
}
|
||||
itr->second->addRoomRequest(jid, nick, password, autoJoin);
|
||||
}
|
||||
|
||||
|
@ -79,6 +79,7 @@ public slots:
|
||||
void addContactRequest(const QString& account, const QString& jid, const QString& name, const QSet<QString>& groups);
|
||||
void setRoomJoined(const QString& account, const QString& jid, bool joined);
|
||||
void setRoomAutoJoin(const QString& account, const QString& jid, bool joined);
|
||||
void addRoomRequest(const QString& account, const QString& jid, const QString& nick, const QString& password, bool autoJoin);
|
||||
void removeRoomRequest(const QString& account, const QString& jid);
|
||||
|
||||
private:
|
||||
|
2
main.cpp
2
main.cpp
@ -85,6 +85,8 @@ int main(int argc, char *argv[])
|
||||
|
||||
QObject::connect(&w, SIGNAL(removeRoomRequest(const QString&, const QString&)),
|
||||
squawk, SLOT(removeRoomRequest(const QString&, const QString&)));
|
||||
QObject::connect(&w, SIGNAL(addRoomRequest(const QString&, const QString&, const QString&, const QString&, bool)),
|
||||
squawk, SLOT(addRoomRequest(const QString&, const QString&, const QString&, const QString&, bool)));
|
||||
|
||||
QObject::connect(squawk, SIGNAL(newAccount(const QMap<QString, QVariant>&)), &w, SLOT(newAccount(const QMap<QString, QVariant>&)));
|
||||
QObject::connect(squawk, SIGNAL(addContact(const QString&, const QString&, const QString&, const QMap<QString, QVariant>&)),
|
||||
|
@ -12,8 +12,6 @@ find_package(Qt5DBus CONFIG REQUIRED)
|
||||
|
||||
set(squawkUI_SRC
|
||||
squawk.cpp
|
||||
accounts.cpp
|
||||
account.cpp
|
||||
models/accounts.cpp
|
||||
models/roster.cpp
|
||||
models/item.cpp
|
||||
@ -28,7 +26,10 @@ set(squawkUI_SRC
|
||||
widgets/chat.cpp
|
||||
widgets/room.cpp
|
||||
widgets/messageline.cpp
|
||||
newcontact.cpp
|
||||
widgets/newcontact.cpp
|
||||
widgets/accounts.cpp
|
||||
widgets/account.cpp
|
||||
widgets/joinconference.cpp
|
||||
)
|
||||
|
||||
# Tell CMake to create the helloworld executable
|
||||
|
@ -90,15 +90,17 @@ void Models::Accounts::addAccount(Account* account)
|
||||
|
||||
void Models::Accounts::onAccountChanged(Item* item, int row, int col)
|
||||
{
|
||||
Account* acc = getAccount(row);
|
||||
if (item != acc) {
|
||||
return; //it means the signal is emitted by one of accounts' children, not exactly him, this model has no interest in that
|
||||
if (row < accs.size()) {
|
||||
Account* acc = getAccount(row);
|
||||
if (item != acc) {
|
||||
return; //it means the signal is emitted by one of accounts' children, not exactly him, this model has no interest in that
|
||||
}
|
||||
|
||||
if (col < columnCount(QModelIndex())) {
|
||||
emit dataChanged(createIndex(row, col, this), createIndex(row, col, this));
|
||||
}
|
||||
emit changed();
|
||||
}
|
||||
|
||||
if (col < columnCount(QModelIndex())) {
|
||||
emit dataChanged(createIndex(row, col, this), createIndex(row, col, this));
|
||||
}
|
||||
emit changed();
|
||||
}
|
||||
|
||||
Models::Account * Models::Accounts::getAccount(int index)
|
||||
|
@ -153,7 +153,7 @@ QVariant Models::Roster::data (const QModelIndex& index, int role) const
|
||||
if (mc > 0) {
|
||||
str += QString("New messages: ") + std::to_string(mc).c_str() + "\n";
|
||||
}
|
||||
str += "Jabber ID: " + contact->getJid();
|
||||
str += "Jabber ID: " + contact->getJid() + "\n";
|
||||
Shared::SubscriptionState ss = contact->getState();
|
||||
if (ss == Shared::both) {
|
||||
Shared::Availability av = contact->getAvailability();
|
||||
|
@ -42,6 +42,7 @@ Squawk::Squawk(QWidget *parent) :
|
||||
|
||||
connect(m_ui->actionAccounts, SIGNAL(triggered()), this, SLOT(onAccounts()));
|
||||
connect(m_ui->actionAddContact, SIGNAL(triggered()), this, SLOT(onNewContact()));
|
||||
connect(m_ui->actionAddConference, SIGNAL(triggered()), this, SLOT(onNewConference()));
|
||||
connect(m_ui->comboBox, SIGNAL(activated(int)), this, SLOT(onComboboxActivated(int)));
|
||||
connect(m_ui->roster, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT(onRosterItemDoubleClicked(const QModelIndex&)));
|
||||
connect(m_ui->roster, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(onRosterContextMenu(const QPoint&)));
|
||||
@ -78,8 +79,10 @@ void Squawk::onAccountsSizeChanged(unsigned int size)
|
||||
{
|
||||
if (size > 0) {
|
||||
m_ui->actionAddContact->setEnabled(true);
|
||||
m_ui->actionAddConference->setEnabled(true);
|
||||
} else {
|
||||
m_ui->actionAddContact->setEnabled(false);
|
||||
m_ui->actionAddConference->setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -93,6 +96,16 @@ void Squawk::onNewContact()
|
||||
nc->exec();
|
||||
}
|
||||
|
||||
void Squawk::onNewConference()
|
||||
{
|
||||
JoinConference* jc = new JoinConference(rosterModel.accountsModel, this);
|
||||
|
||||
connect(jc, SIGNAL(accepted()), this, SLOT(onJoinConferenceAccepted()));
|
||||
connect(jc, SIGNAL(rejected()), jc, SLOT(deleteLater()));
|
||||
|
||||
jc->exec();
|
||||
}
|
||||
|
||||
void Squawk::onNewContactAccepted()
|
||||
{
|
||||
NewContact* nc = static_cast<NewContact*>(sender());
|
||||
@ -103,6 +116,16 @@ void Squawk::onNewContactAccepted()
|
||||
nc->deleteLater();
|
||||
}
|
||||
|
||||
void Squawk::onJoinConferenceAccepted()
|
||||
{
|
||||
JoinConference* jc = static_cast<JoinConference*>(sender());
|
||||
JoinConference::Data value = jc->value();
|
||||
|
||||
emit addRoomRequest(value.account, value.jid, value.nick, value.password, value.autoJoin);
|
||||
|
||||
jc->deleteLater();
|
||||
}
|
||||
|
||||
void Squawk::closeEvent(QCloseEvent* event)
|
||||
{
|
||||
if (accounts != 0) {
|
||||
|
@ -27,11 +27,12 @@
|
||||
#include <map>
|
||||
#include <list>
|
||||
|
||||
#include "accounts.h"
|
||||
#include "widgets/accounts.h"
|
||||
#include "widgets/chat.h"
|
||||
#include "widgets/room.h"
|
||||
#include "widgets/newcontact.h"
|
||||
#include "widgets/joinconference.h"
|
||||
#include "models/roster.h"
|
||||
#include "newcontact.h"
|
||||
|
||||
#include "../global.h"
|
||||
|
||||
@ -62,6 +63,7 @@ signals:
|
||||
void addContactRequest(const QString& account, const QString& jid, const QString& name, const QSet<QString>& groups);
|
||||
void setRoomJoined(const QString& account, const QString& jid, bool joined);
|
||||
void setRoomAutoJoin(const QString& account, const QString& jid, bool joined);
|
||||
void addRoomRequest(const QString& account, const QString& jid, const QString& nick, const QString& password, bool autoJoin);
|
||||
void removeRoomRequest(const QString& account, const QString& jid);
|
||||
|
||||
public slots:
|
||||
@ -103,7 +105,9 @@ protected:
|
||||
private slots:
|
||||
void onAccounts();
|
||||
void onNewContact();
|
||||
void onNewConference();
|
||||
void onNewContactAccepted();
|
||||
void onJoinConferenceAccepted();
|
||||
void onAccountsSizeChanged(unsigned int size);
|
||||
void onAccountsClosed(QObject* parent = 0);
|
||||
void onConversationClosed(QObject* parent = 0);
|
||||
|
17
ui/squawk.ui
17
ui/squawk.ui
@ -78,9 +78,10 @@
|
||||
</widget>
|
||||
<widget class="QMenu" name="menuFile">
|
||||
<property name="title">
|
||||
<string>File</string>
|
||||
<string>Squawk</string>
|
||||
</property>
|
||||
<addaction name="actionAddContact"/>
|
||||
<addaction name="actionAddConference"/>
|
||||
<addaction name="actionQuit"/>
|
||||
</widget>
|
||||
<addaction name="menuFile"/>
|
||||
@ -109,12 +110,24 @@
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="list-add-user"/>
|
||||
<iconset theme="list-add-user">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Add contact</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionAddConference">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="resource-group-new"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Add conference</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include <QItemSelection>
|
||||
|
||||
#include "account.h"
|
||||
#include "models/accounts.h"
|
||||
#include "../models/accounts.h"
|
||||
|
||||
namespace Ui
|
||||
{
|
79
ui/widgets/joinconference.cpp
Normal file
79
ui/widgets/joinconference.cpp
Normal file
@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Squawk messenger.
|
||||
* Copyright (C) 2019 Yury Gubich <blue@macaw.me>
|
||||
*
|
||||
* This program is free 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.
|
||||
*
|
||||
* This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "joinconference.h"
|
||||
#include "ui_joinconference.h"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
JoinConference::JoinConference(const Models::Accounts* accounts, QWidget* parent):
|
||||
QDialog(parent),
|
||||
m_ui(new Ui::JoinConference())
|
||||
{
|
||||
m_ui->setupUi ( this );
|
||||
std::deque<QString> names = accounts->getNames();
|
||||
|
||||
for (std::deque<QString>::const_iterator i = names.begin(), end = names.end(); i != end; i++) {
|
||||
m_ui->account->addItem(*i);
|
||||
}
|
||||
|
||||
m_ui->account->setCurrentIndex(0);
|
||||
}
|
||||
|
||||
JoinConference::JoinConference(const QString& acc, const Models::Accounts* accounts, QWidget* parent):
|
||||
QDialog(parent),
|
||||
m_ui(new Ui::JoinConference())
|
||||
{
|
||||
m_ui->setupUi ( this );
|
||||
std::deque<QString> names = accounts->getNames();
|
||||
|
||||
int index = 0;
|
||||
bool found = false;
|
||||
for (std::deque<QString>::const_iterator i = names.begin(), end = names.end(); i != end; i++) {
|
||||
const QString& name = *i;
|
||||
m_ui->account->addItem(name);
|
||||
if (!found) {
|
||||
if (name == acc) {
|
||||
found = true;
|
||||
} else {
|
||||
index++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!found) {
|
||||
qDebug() << "Couldn't find a correct account among available accounts creating JoinConference dialog, setting to 0";
|
||||
}
|
||||
|
||||
m_ui->account->setCurrentIndex(index);
|
||||
}
|
||||
|
||||
JoinConference::~JoinConference()
|
||||
{
|
||||
}
|
||||
|
||||
JoinConference::Data JoinConference::value() const
|
||||
{
|
||||
return {
|
||||
m_ui->jid->text(),
|
||||
m_ui->nick->text(),
|
||||
m_ui->account->currentText(),
|
||||
m_ui->autoJoin->isChecked(),
|
||||
""
|
||||
};
|
||||
}
|
57
ui/widgets/joinconference.h
Normal file
57
ui/widgets/joinconference.h
Normal file
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* Squawk messenger.
|
||||
* Copyright (C) 2019 Yury Gubich <blue@macaw.me>
|
||||
*
|
||||
* This program is free 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.
|
||||
*
|
||||
* This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef JOINCONFERENCE_H
|
||||
#define JOINCONFERENCE_H
|
||||
|
||||
#include <QDialog>
|
||||
#include <QScopedPointer>
|
||||
|
||||
#include "../models/accounts.h"
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class JoinConference;
|
||||
}
|
||||
|
||||
/**
|
||||
* @todo write docs
|
||||
*/
|
||||
class JoinConference : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
struct Data {
|
||||
QString jid;
|
||||
QString nick;
|
||||
QString account;
|
||||
bool autoJoin;
|
||||
QString password;
|
||||
};
|
||||
|
||||
JoinConference(const Models::Accounts* accounts, QWidget* parent = 0);
|
||||
JoinConference(const QString& acc, const Models::Accounts* accounts, QWidget* parent = 0);
|
||||
~JoinConference();
|
||||
|
||||
Data value() const;
|
||||
|
||||
private:
|
||||
QScopedPointer<Ui::JoinConference> m_ui;
|
||||
};
|
||||
|
||||
#endif // JOINCONFERENCE_H
|
142
ui/widgets/joinconference.ui
Normal file
142
ui/widgets/joinconference.ui
Normal file
@ -0,0 +1,142 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>JoinConference</class>
|
||||
<widget class="QDialog" name="JoinConference">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>324</width>
|
||||
<height>189</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Join new conference</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,1,0">
|
||||
<item>
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>JID</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="jid">
|
||||
<property name="toolTip">
|
||||
<string>Room JID</string>
|
||||
</property>
|
||||
<property name="placeholderText">
|
||||
<string>identifier@conference.server.org</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Account</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="account"/>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Join on login</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QCheckBox" name="autoJoin">
|
||||
<property name="toolTip">
|
||||
<string>If checked Squawk will try to join this conference on login</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Nick name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="nick">
|
||||
<property name="toolTip">
|
||||
<string>Your nick name for that conference. If you leave this field empty your account name will be used as a nick name</string>
|
||||
</property>
|
||||
<property name="placeholderText">
|
||||
<string>John</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>JoinConference</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>JoinConference</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
@ -23,7 +23,7 @@
|
||||
#include <QScopedPointer>
|
||||
#include <QSet>
|
||||
|
||||
#include "models/accounts.h"
|
||||
#include "../models/accounts.h"
|
||||
|
||||
namespace Ui
|
||||
{
|
@ -11,7 +11,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>NewContact</string>
|
||||
<string>Add new contact</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,1,0">
|
||||
<item>
|
Loading…
Reference in New Issue
Block a user