mirror-chatterino2/src/widgets/settingspages/AccountsPage.cpp

72 lines
2.3 KiB
C++
Raw Normal View History

2018-01-12 23:09:05 +01:00
#include "accountspage.hpp"
#include "application.hpp"
2018-01-12 23:09:05 +01:00
#include "const.hpp"
#include "controllers/accounts/accountcontroller.hpp"
#include "controllers/accounts/accountmodel.hpp"
2018-01-12 23:09:05 +01:00
#include "util/layoutcreator.hpp"
#include "widgets/helper/editablemodelview.hpp"
2018-01-12 23:09:05 +01:00
#include "widgets/logindialog.hpp"
#include <QDialogButtonBox>
#include <QHeaderView>
#include <QTableView>
#include <QVBoxLayout>
2018-06-21 22:02:35 +02:00
#include <algorithm>
2018-01-12 23:09:05 +01:00
namespace chatterino {
namespace widgets {
namespace settingspages {
2018-01-12 23:09:05 +01:00
AccountsPage::AccountsPage()
: SettingsPage("Accounts", ":/images/accounts.svg")
{
auto *app = getApp();
2018-01-12 23:09:05 +01:00
util::LayoutCreator<AccountsPage> layoutCreator(this);
2018-01-12 23:09:05 +01:00
auto layout = layoutCreator.emplace<QVBoxLayout>().withoutMargin();
helper::EditableModelView *view =
layout.emplace<helper::EditableModelView>(app->accounts->createModel(nullptr)).getElement();
2018-05-28 08:34:54 +02:00
view->getTableView()->horizontalHeader()->setVisible(false);
view->getTableView()->horizontalHeader()->setStretchLastSection(true);
2018-05-27 03:17:33 +02:00
view->addButtonPressed.connect([] {
static auto loginWidget = new LoginWidget();
2018-05-28 08:34:54 +02:00
2018-05-27 03:17:33 +02:00
loginWidget->show();
loginWidget->raise();
2018-05-27 03:17:33 +02:00
});
2018-05-28 08:34:54 +02:00
view->getTableView()->setStyleSheet("background: #333");
// auto buttons = layout.emplace<QDialogButtonBox>();
// {
// this->addButton = buttons->addButton("Add", QDialogButtonBox::YesRole);
// this->removeButton = buttons->addButton("Remove", QDialogButtonBox::NoRole);
// }
// layout.emplace<AccountSwitchWidget>(this).assign(&this->accSwitchWidget);
2018-01-12 23:09:05 +01:00
// ----
// QObject::connect(this->addButton, &QPushButton::clicked, []() {
// static auto loginWidget = new LoginWidget();
// loginWidget->show();
// });
// QObject::connect(this->removeButton, &QPushButton::clicked, [this] {
// auto selectedUser = this->accSwitchWidget->currentItem()->text();
// if (selectedUser == ANONYMOUS_USERNAME_LABEL) {
// // Do nothing
// return;
// }
// getApp()->accounts->Twitch.removeUser(selectedUser);
// });
2018-01-12 23:09:05 +01:00
}
2018-01-12 23:09:05 +01:00
} // namespace settingspages
} // namespace widgets
} // namespace chatterino