From 866f986d04e7605b79a0b282e302f47d082bc1f0 Mon Sep 17 00:00:00 2001 From: apprb Date: Mon, 6 Oct 2014 01:30:31 +0900 Subject: [PATCH] small fixes --- widget/form/settings/genericsettings.h | 9 +-------- widget/form/settings/identityform.cpp | 10 ++++------ widget/form/settings/identityform.h | 2 +- widget/form/settingswidget.cpp | 9 ++++++++- widget/form/settingswidget.h | 5 +++++ 5 files changed, 19 insertions(+), 16 deletions(-) diff --git a/widget/form/settings/genericsettings.h b/widget/form/settings/genericsettings.h index e3852ee28..e79ec7b06 100644 --- a/widget/form/settings/genericsettings.h +++ b/widget/form/settings/genericsettings.h @@ -27,14 +27,7 @@ public: GenericForm(const QString &name, const QPixmap &icon) : formName(name), formIcon(icon) {;} ~GenericForm() {;} - virtual void show(SettingsWidget& sw) - { -// sw.body->layout()->addWidget(&body); -// body.show(); -// sw.head->layout()->addWidget(&head); -// head.show(); - } - + virtual void updateContent() {;} QString getFormName() {return formName;} QPixmap getFormIcon() {return formIcon;} diff --git a/widget/form/settings/identityform.cpp b/widget/form/settings/identityform.cpp index bfc231c33..c2dac21b0 100644 --- a/widget/form/settings/identityform.cpp +++ b/widget/form/settings/identityform.cpp @@ -14,6 +14,7 @@ See the COPYING file for more details. */ +#include "core.h" #include "ui_identitysettings.h" #include "identityform.h" #include "widget/form/settingswidget.h" @@ -65,20 +66,17 @@ void IdentityForm::copyIdClicked() void IdentityForm::onUserNameEdited() { - emit userNameChanged(bodyUI->userName->text()); + Core::getInstance()->setUsername(bodyUI->userName->text()); } void IdentityForm::onStatusMessageEdited() { - emit statusMessageChanged(bodyUI->statusMessage->text()); + Core::getInstance()->setStatusMessage(bodyUI->statusMessage->text()); } -void IdentityForm::show(SettingsWidget& sw) +void IdentityForm::updateContent() { - bodyUI->userName->setText(Core::getInstance()->getUsername()); - bodyUI->statusMessage->setText(Core::getInstance()->getStatusMessage()); toxId->setText(Core::getInstance()->getSelfId().toString()); - GenericForm::show(sw); } void IdentityForm::setUserName(const QString &name) diff --git a/widget/form/settings/identityform.h b/widget/form/settings/identityform.h index 0cacb4dc7..c5505e6ea 100644 --- a/widget/form/settings/identityform.h +++ b/widget/form/settings/identityform.h @@ -50,7 +50,7 @@ public: void setUserName(const QString &name); void setStatusMessage(const QString &msg); - void show(SettingsWidget& sw); + virtual void updateContent(); signals: void userNameChanged(QString); diff --git a/widget/form/settingswidget.cpp b/widget/form/settingswidget.cpp index 047c5aaac..b4d208f61 100644 --- a/widget/form/settingswidget.cpp +++ b/widget/form/settingswidget.cpp @@ -33,7 +33,7 @@ SettingsWidget::SettingsWidget(Camera* cam, QWidget* parent) QVBoxLayout *bodyLayout = new QVBoxLayout(); body->setLayout(bodyLayout); - QTabWidget *settingsTabs = new QTabWidget(); + settingsTabs = new QTabWidget(); bodyLayout->addWidget(settingsTabs); GeneralForm *gfrm = new GeneralForm; @@ -46,6 +46,8 @@ SettingsWidget::SettingsWidget(Camera* cam, QWidget* parent) { settingsTabs->addTab(cfgForm, cfgForm->getFormIcon(), cfgForm->getFormName()); } + + connect(settingsTabs, SIGNAL(currentChanged(int)), this, SLOT(onTabChanged(int))); } SettingsWidget::~SettingsWidget() @@ -59,3 +61,8 @@ void SettingsWidget::show(Ui::MainWindow& ui) body->show(); head->show(); } + +void SettingsWidget::onTabChanged(int index) +{ + static_cast(this->settingsTabs->widget(index))->updateContent(); +} diff --git a/widget/form/settingswidget.h b/widget/form/settingswidget.h index 552af5104..713eddde8 100644 --- a/widget/form/settingswidget.h +++ b/widget/form/settingswidget.h @@ -25,6 +25,7 @@ class GeneralForm; class IdentityForm; class PrivacyForm; class AVForm; +class QTabWidget; namespace Ui {class MainWindow;} @@ -38,9 +39,13 @@ public: void show(Ui::MainWindow &ui); IdentityForm *getIdentityForm() {return ifrm;} +private slots: + void onTabChanged(int); + private: QWidget *head, *body; // keep the others private IdentityForm *ifrm; + QTabWidget *settingsTabs; }; #endif // SETTINGSWIDGET_H