Browse Source

refactor: Add using IFriendSettings in AboutFriend model

reviewable/pr4624/r15
Diadlo 8 years ago
parent
commit
b53569c362
No known key found for this signature in database
GPG Key ID: 5AF9F2E29107C727
  1. 40
      src/model/about/aboutfriend.cpp
  2. 6
      src/model/about/aboutfriend.h
  3. 2
      src/widget/about/aboutfriendform.h
  4. 2
      src/widget/friendwidget.cpp

40
src/model/about/aboutfriend.cpp

@ -3,23 +3,23 @@
#include "src/model/friend.h" #include "src/model/friend.h"
#include "src/nexus.h" #include "src/nexus.h"
#include "src/persistence/profile.h" #include "src/persistence/profile.h"
#include "src/persistence/settings.h" #include "src/persistence/ifriendsettings.h"
AboutFriend::AboutFriend(const Friend* f) AboutFriend::AboutFriend(const Friend* f, IFriendSettings* const s)
: f{f} : f{f}
, settings{s}
{ {
Settings* s = &Settings::getInstance(); s->connectTo_contactNoteChanged([=](const ToxPk& pk, const QString& note) {
connect(s, &Settings::contactNoteChanged, [=](const ToxPk& pk, const QString& note) {
emit noteChanged(note); emit noteChanged(note);
}); });
connect(s, &Settings::autoAcceptCallChanged, s->connectTo_autoAcceptCallChanged(
[=](const ToxPk& pk, IFriendSettings::AutoAcceptCallFlags flag) { [=](const ToxPk& pk, IFriendSettings::AutoAcceptCallFlags flag) {
emit autoAcceptCallChanged(flag); emit autoAcceptCallChanged(flag);
}); });
connect(s, &Settings::autoAcceptDirChanged, [=](const ToxPk& pk, const QString& dir) { s->connectTo_autoAcceptDirChanged([=](const ToxPk& pk, const QString& dir) {
emit autoAcceptDirChanged(dir); emit autoAcceptDirChanged(dir);
}); });
connect(s, &Settings::autoGroupInviteChanged, [=](const ToxPk& pk, bool enable) { s->connectTo_autoGroupInviteChanged([=](const ToxPk& pk, bool enable) {
emit autoGroupInviteChanged(enable); emit autoGroupInviteChanged(enable);
}); });
} }
@ -50,53 +50,53 @@ QPixmap AboutFriend::getAvatar() const
QString AboutFriend::getNote() const QString AboutFriend::getNote() const
{ {
const ToxPk pk = f->getPublicKey(); const ToxPk pk = f->getPublicKey();
return Settings::getInstance().getContactNote(pk); return settings->getContactNote(pk);
} }
void AboutFriend::setNote(const QString& note) void AboutFriend::setNote(const QString& note)
{ {
const ToxPk pk = f->getPublicKey(); const ToxPk pk = f->getPublicKey();
Settings::getInstance().setContactNote(pk, note); settings->setContactNote(pk, note);
Settings::getInstance().savePersonal(); settings->saveFriendSettings(pk);
} }
QString AboutFriend::getAutoAcceptDir() const QString AboutFriend::getAutoAcceptDir() const
{ {
const ToxPk pk = f->getPublicKey(); const ToxPk pk = f->getPublicKey();
return Settings::getInstance().getAutoAcceptDir(pk); return settings->getAutoAcceptDir(pk);
} }
void AboutFriend::setAutoAcceptDir(const QString& path) void AboutFriend::setAutoAcceptDir(const QString& path)
{ {
const ToxPk pk = f->getPublicKey(); const ToxPk pk = f->getPublicKey();
Settings::getInstance().setAutoAcceptDir(pk, path); settings->setAutoAcceptDir(pk, path);
Settings::getInstance().savePersonal(); settings->saveFriendSettings(pk);
} }
IFriendSettings::AutoAcceptCallFlags AboutFriend::getAutoAcceptCall() const IFriendSettings::AutoAcceptCallFlags AboutFriend::getAutoAcceptCall() const
{ {
const ToxPk pk = f->getPublicKey(); const ToxPk pk = f->getPublicKey();
return Settings::getInstance().getAutoAcceptCall(pk); return settings->getAutoAcceptCall(pk);
} }
void AboutFriend::setAutoAcceptCall(IFriendSettings::AutoAcceptCallFlags flag) void AboutFriend::setAutoAcceptCall(IFriendSettings::AutoAcceptCallFlags flag)
{ {
const ToxPk pk = f->getPublicKey(); const ToxPk pk = f->getPublicKey();
Settings::getInstance().setAutoAcceptCall(pk, flag); settings->setAutoAcceptCall(pk, flag);
Settings::getInstance().savePersonal(); settings->saveFriendSettings(pk);
} }
bool AboutFriend::getAutoGroupInvite() const bool AboutFriend::getAutoGroupInvite() const
{ {
const ToxPk pk = f->getPublicKey(); const ToxPk pk = f->getPublicKey();
return Settings::getInstance().getAutoGroupInvite(pk); return settings->getAutoGroupInvite(pk);
} }
void AboutFriend::setAutoGroupInvite(bool enabled) void AboutFriend::setAutoGroupInvite(bool enabled)
{ {
const ToxPk pk = f->getPublicKey(); const ToxPk pk = f->getPublicKey();
Settings::getInstance().setAutoGroupInvite(pk, enabled); settings->setAutoGroupInvite(pk, enabled);
Settings::getInstance().savePersonal(); settings->saveFriendSettings(pk);
} }
bool AboutFriend::clearHistory() bool AboutFriend::clearHistory()

6
src/model/about/aboutfriend.h

@ -3,16 +3,19 @@
#include "iaboutfriend.h" #include "iaboutfriend.h"
#include "src/persistence/ifriendsettings.h"
#include <QObject> #include <QObject>
class Friend; class Friend;
class IFriendSettings;
class AboutFriend : public IAboutFriend class AboutFriend : public IAboutFriend
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit AboutFriend(const Friend* f); AboutFriend(const Friend* f, IFriendSettings* const settings);
QString getName() const override; QString getName() const override;
QString getStatusMessage() const override; QString getStatusMessage() const override;
@ -47,6 +50,7 @@ public:
private: private:
const Friend* const f; const Friend* const f;
IFriendSettings* const settings;
}; };
#endif // ABOUT_FRIEND_H #endif // ABOUT_FRIEND_H

2
src/widget/about/aboutfriendform.h

@ -15,7 +15,7 @@ class AboutFriendForm : public QDialog
Q_OBJECT Q_OBJECT
public: public:
explicit AboutFriendForm(QPointer<IAboutFriend> about, QWidget* parent = 0); AboutFriendForm(QPointer<IAboutFriend> about, QWidget* parent = 0);
~AboutFriendForm(); ~AboutFriendForm();
private: private:

2
src/widget/friendwidget.cpp

@ -230,7 +230,7 @@ void FriendWidget::onContextMenuCalled(QContextMenuEvent* event)
} }
} else if (selectedItem == aboutWindow) { } else if (selectedItem == aboutWindow) {
const Friend* const f = FriendList::findFriend(friendId); const Friend* const f = FriendList::findFriend(friendId);
const QPointer<IAboutFriend> about = new AboutFriend(f); const QPointer<IAboutFriend> about = new AboutFriend(f, &Settings::getInstance());
AboutFriendForm* aboutUser = new AboutFriendForm(about, Widget::getInstance()); AboutFriendForm* aboutUser = new AboutFriendForm(about, Widget::getInstance());
aboutUser->show(); aboutUser->show();
} else if (selectedItem == newGroupAction) { } else if (selectedItem == newGroupAction) {

Loading…
Cancel
Save