2021-07-31 16:15:43 +02:00
|
|
|
#include "NicknamesPage.hpp"
|
|
|
|
|
|
|
|
#include "controllers/nicknames/NicknamesModel.hpp"
|
|
|
|
#include "singletons/Settings.hpp"
|
|
|
|
#include "singletons/WindowManager.hpp"
|
|
|
|
#include "util/LayoutCreator.hpp"
|
|
|
|
#include "widgets/Window.hpp"
|
|
|
|
#include "widgets/helper/EditableModelView.hpp"
|
|
|
|
|
|
|
|
#include <QTableView>
|
|
|
|
|
|
|
|
#include <QHeaderView>
|
|
|
|
|
|
|
|
namespace chatterino {
|
|
|
|
|
|
|
|
NicknamesPage::NicknamesPage()
|
|
|
|
{
|
|
|
|
LayoutCreator<NicknamesPage> layoutCreator(this);
|
|
|
|
auto layout = layoutCreator.setLayoutType<QVBoxLayout>();
|
|
|
|
|
|
|
|
layout.emplace<QLabel>(
|
|
|
|
"Nicknames do not work with features such as search or user highlights."
|
|
|
|
"\nWith those features you will still need to use the user's original "
|
|
|
|
"name.");
|
|
|
|
EditableModelView *view =
|
|
|
|
layout
|
|
|
|
.emplace<EditableModelView>(
|
|
|
|
(new NicknamesModel(nullptr))
|
|
|
|
->initialized(&getSettings()->nicknames))
|
|
|
|
.getElement();
|
|
|
|
|
2021-08-29 15:06:07 +02:00
|
|
|
view->setTitles({"Username", "Nickname", "Enable regex", "Case-sensitive"});
|
2021-07-31 16:15:43 +02:00
|
|
|
view->getTableView()->horizontalHeader()->setSectionResizeMode(
|
2021-08-22 13:30:17 +02:00
|
|
|
QHeaderView::Fixed);
|
|
|
|
view->getTableView()->horizontalHeader()->setSectionResizeMode(
|
|
|
|
0, QHeaderView::Stretch);
|
2021-07-31 16:15:43 +02:00
|
|
|
view->getTableView()->horizontalHeader()->setSectionResizeMode(
|
|
|
|
1, QHeaderView::Stretch);
|
|
|
|
|
|
|
|
view->addButtonPressed.connect([] {
|
2021-08-22 13:30:17 +02:00
|
|
|
getSettings()->nicknames.append(
|
|
|
|
Nickname{"Username", "Nickname", false, false});
|
2021-07-31 16:15:43 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
QTimer::singleShot(1, [view] {
|
|
|
|
view->getTableView()->resizeColumnsToContents();
|
2021-08-22 13:30:17 +02:00
|
|
|
view->getTableView()->setColumnWidth(0, 200);
|
2021-07-31 16:15:43 +02:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
} // namespace chatterino
|