From bca652a75f8a497a69b1fbc1c7eaa353f6b4eef8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Wed, 19 Apr 2017 12:56:45 +0100 Subject: [PATCH] Fixes a FTBFS with CMake v3.8 CMake v3.8 AUTOUIC changed the directory where the file is generated to: /_autogen/include. The changes makes us fail. The change is actually just an sympton and not a root cause. We shouldn't include a ui generated file in public header. Closes https://github.com/lxde/lxqt/issues/1277 --- liblxqt-config-cursor/selectwnd.cpp | 64 ++++++++++++++++++++----------------- liblxqt-config-cursor/selectwnd.h | 9 ++++-- 2 files changed, 41 insertions(+), 32 deletions(-) diff --git a/liblxqt-config-cursor/selectwnd.cpp b/liblxqt-config-cursor/selectwnd.cpp index e76840b..8a1fa18 100644 --- a/liblxqt-config-cursor/selectwnd.cpp +++ b/liblxqt-config-cursor/selectwnd.cpp @@ -13,6 +13,7 @@ #include #include "selectwnd.h" +#include "ui_selectwnd.h" #include #include @@ -37,22 +38,24 @@ #define HOME_ICON_DIR QDir::homePath() + "/.icons" -SelectWnd::SelectWnd(LXQt::Settings* settings, QWidget *parent) : QWidget(parent), mSettings(settings) +SelectWnd::SelectWnd(LXQt::Settings* settings, QWidget *parent) + : QWidget(parent), + mSettings(settings), + ui(new Ui::SelectWnd) { - setupUi(this); - - warningLabel->hide(); + ui->setupUi(this); + ui->warningLabel->hide(); mModel = new XCursorThemeModel(this); int size = style()->pixelMetric(QStyle::PM_LargeIconSize); - lbThemes->setModel(mModel); - lbThemes->setItemDelegate(new ItemDelegate(this)); - lbThemes->setIconSize(QSize(size, size)); - lbThemes->setSelectionMode(QAbstractItemView::SingleSelection); + ui->lbThemes->setModel(mModel); + ui->lbThemes->setItemDelegate(new ItemDelegate(this)); + ui->lbThemes->setIconSize(QSize(size, size)); + ui->lbThemes->setSelectionMode(QAbstractItemView::SingleSelection); // Make sure we find out about selection changes - connect(lbThemes->selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)), + connect(ui->lbThemes->selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)), SLOT(currentChanged(const QModelIndex &, const QModelIndex &))); // display/hide warning label connect(mModel, SIGNAL(modelReset()), @@ -62,15 +65,15 @@ SelectWnd::SelectWnd(LXQt::Settings* settings, QWidget *parent) : QWidget(parent connect(mModel, SIGNAL(rowsRemoved(const QModelIndex&, int, int)), this, SLOT(handleWarning())); - connect(warningLabel, SIGNAL(showDirInfo()), + connect(ui->warningLabel, SIGNAL(showDirInfo()), this, SLOT(showDirInfo())); // Disable the install button if we can't install new themes to ~/.icons, // or Xcursor isn't set up to look for cursor themes there - btInstall->setEnabled(mModel->searchPaths().contains(HOME_ICON_DIR) && iconsIsWritable()); + ui->btInstall->setEnabled(mModel->searchPaths().contains(HOME_ICON_DIR) && iconsIsWritable()); // TODO/FIXME: btInstall functionality - btInstall->hide(); - btRemove->hide(); + ui->btInstall->hide(); + ui->btRemove->hide(); //QTimer::singleShot(0, this, SLOT(setCurrent())); @@ -80,11 +83,12 @@ SelectWnd::SelectWnd(LXQt::Settings* settings, QWidget *parent) : QWidget(parent SelectWnd::~SelectWnd() { + delete ui; } void SelectWnd::setCurrent() { - lbThemes->selectionModel()->clear(); + ui->lbThemes->selectionModel()->clear(); QString ct = getCurrentTheme(); mAppliedIndex = mModel->defaultIndex(); @@ -97,9 +101,9 @@ void SelectWnd::setCurrent() const XCursorThemeData *theme = mModel->theme(mAppliedIndex); // Select the current theme selectRow(mAppliedIndex); - lbThemes->scrollTo(mAppliedIndex, QListView::PositionAtCenter); + ui->lbThemes->scrollTo(mAppliedIndex, QListView::PositionAtCenter); // Update the preview widget as well - if (theme) preview->setTheme(*theme);// else preview->clearTheme(); + if (theme) ui->preview->setTheme(*theme);// else ui->preview->clearTheme(); } } @@ -123,8 +127,8 @@ void SelectWnd::selectRow(int row) const QModelIndex from = mModel->index(row, 0); QModelIndex to = mModel->index(row, mModel->columnCount()-1); QItemSelection selection(from, to); - lbThemes->selectionModel()->select(selection, QItemSelectionModel::Select); - lbThemes->selectionModel()->setCurrentIndex(mAppliedIndex, QItemSelectionModel::NoUpdate); + ui->lbThemes->selectionModel()->select(selection, QItemSelectionModel::Select); + ui->lbThemes->selectionModel()->setCurrentIndex(mAppliedIndex, QItemSelectionModel::NoUpdate); } void SelectWnd::currentChanged(const QModelIndex ¤t, const QModelIndex &previous) @@ -133,16 +137,16 @@ void SelectWnd::currentChanged(const QModelIndex ¤t, const QModelIndex &pr if (current.isValid()) { const XCursorThemeData *theme = mModel->theme(current); if (theme) { - preview->setTheme(*theme); - btRemove->setEnabled(theme->isWritable()); + ui->preview->setTheme(*theme); + ui->btRemove->setEnabled(theme->isWritable()); } else { - preview->clearTheme(); + ui->preview->clearTheme(); } // directly apply the current settings applyCurrent(); } else { - preview->clearTheme(); + ui->preview->clearTheme(); } //emit changed(mAppliedIndex != current); } @@ -155,7 +159,7 @@ void SelectWnd::on_btInstall_clicked() void SelectWnd::applyCurrent() { //qDebug() << "'set' clicked"; - const XCursorThemeData *theme = mModel->theme(lbThemes->currentIndex()); + const XCursorThemeData *theme = mModel->theme(ui->lbThemes->currentIndex()); if (!theme) return; applyTheme(*theme); fixXDefaults(theme->name()); @@ -200,7 +204,7 @@ void SelectWnd::applyCurrent() void SelectWnd::on_btRemove_clicked() { qDebug() << "'remove' clicked"; - const XCursorThemeData *theme = mModel->theme(lbThemes->currentIndex()); + const XCursorThemeData *theme = mModel->theme(ui->lbThemes->currentIndex()); if (!theme) return; QString ct = getCurrentTheme(); if (ct == theme->name()) @@ -210,20 +214,20 @@ void SelectWnd::on_btRemove_clicked() return; } QDir d(theme->path()); - preview->clearTheme(); - mModel->removeTheme(lbThemes->currentIndex()); + ui->preview->clearTheme(); + mModel->removeTheme(ui->lbThemes->currentIndex()); removeXCursorTheme(d); } void SelectWnd::handleWarning() { bool empty = mModel->rowCount(); - warningLabel->setVisible(!empty); - preview->setVisible(empty); - infoLabel->setVisible(empty); + ui->warningLabel->setVisible(!empty); + ui->preview->setVisible(empty); + ui->infoLabel->setVisible(empty); } void SelectWnd::showDirInfo() { - QToolTip::showText(mapToGlobal(warningLabel->buttonPos()), mModel->searchPaths().join("\n")); + QToolTip::showText(mapToGlobal(ui->warningLabel->buttonPos()), mModel->searchPaths().join("\n")); } diff --git a/liblxqt-config-cursor/selectwnd.h b/liblxqt-config-cursor/selectwnd.h index c9bc428..200cfa0 100644 --- a/liblxqt-config-cursor/selectwnd.h +++ b/liblxqt-config-cursor/selectwnd.h @@ -15,16 +15,20 @@ #include #include +#include #include namespace LXQt { class Settings; } +namespace Ui { +class SelectWnd; +} + class XCursorThemeModel; -#include "ui_selectwnd.h" -class LXQT_API SelectWnd : public QWidget, private Ui_SelectWnd +class LXQT_API SelectWnd : public QWidget { Q_OBJECT @@ -55,6 +59,7 @@ private slots: XCursorThemeModel *mModel; QPersistentModelIndex mAppliedIndex; LXQt::Settings* mSettings; + Ui::SelectWnd *ui; }; #endif