From f7558bb6867216a8b30554f18e98734988c62a20 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Mon, 17 Jul 2017 23:49:32 +0300 Subject: [PATCH] enable Switch button in the layouts window --- app/layoutconfigdialog.cpp | 32 ++++++++++++++++++++++++++++++++ app/layoutconfigdialog.h | 3 +++ 2 files changed, 35 insertions(+) diff --git a/app/layoutconfigdialog.cpp b/app/layoutconfigdialog.cpp index 3800a8d34..02225b02d 100644 --- a/app/layoutconfigdialog.cpp +++ b/app/layoutconfigdialog.cpp @@ -55,6 +55,8 @@ LayoutConfigDialog::LayoutConfigDialog(QWidget *parent, LayoutManager *manager) ui->layoutsView->setModel(m_model); + connect(m_manager, &LayoutManager::currentLayoutNameChanged, this, &LayoutConfigDialog::currentLayoutNameChanged); + loadLayouts(); } @@ -159,5 +161,35 @@ void LayoutConfigDialog::loadLayouts() } } +void LayoutConfigDialog::on_switchButton_clicked() +{ + QString sRec = "not valid column"; + QVariant value = m_model->data(ui->layoutsView->currentIndex(), 2); + + if (value.isValid()) { + m_manager->switchToLayout(value.toString()); + } +} + +void LayoutConfigDialog::currentLayoutNameChanged() +{ + for (int i = 0; i < m_model->rowCount(); ++i) { + QModelIndex nameIndex = m_model->index(i, 2); + QVariant value = m_model->data(nameIndex); + + if (value.isValid()) { + QFont font; + + if (m_manager->currentLayoutName() == value.toString()) { + font.setBold(true); + } else { + font.setBold(false); + } + + m_model->setData(nameIndex, font, Qt::FontRole); + } + } +} + }//end of namespace diff --git a/app/layoutconfigdialog.h b/app/layoutconfigdialog.h index 3270b68b7..8a83276d3 100644 --- a/app/layoutconfigdialog.h +++ b/app/layoutconfigdialog.h @@ -49,6 +49,7 @@ private slots: // auto connections void on_copyButton_clicked(); void on_removeButton_clicked(); + void on_switchButton_clicked(); void on_importButton_clicked(); void on_exportButton_clicked(); @@ -57,6 +58,8 @@ private slots: void apply(); void restoreDefaults(); + void currentLayoutNameChanged(); + private: void loadLayouts();