222 lines
7.9 KiB
Diff
222 lines
7.9 KiB
Diff
From bca652a75f8a497a69b1fbc1c7eaa353f6b4eef8 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= <luis.artur.pereira@gmail.com>
|
|
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:
|
|
<CMAKE_CURRENT_BINARY_DIR>/<TARGETNAME>_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 <QDebug>
|
|
|
|
#include "selectwnd.h"
|
|
+#include "ui_selectwnd.h"
|
|
|
|
#include <QKeyEvent>
|
|
#include <QMessageBox>
|
|
@@ -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 <QObject>
|
|
#include <QWidget>
|
|
+#include <QPersistentModelIndex>
|
|
#include <lxqtglobals.h>
|
|
|
|
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
|