mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 06:30:26 +00:00
mobile UI: make the text of the undo/redo action available to QML
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
41072cf48f
commit
8e6cc9b8d0
2 changed files with 32 additions and 1 deletions
|
@ -16,6 +16,7 @@
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QtConcurrent>
|
#include <QtConcurrent>
|
||||||
#include <QFuture>
|
#include <QFuture>
|
||||||
|
#include <QUndoStack>
|
||||||
|
|
||||||
#include <QBluetoothLocalDevice>
|
#include <QBluetoothLocalDevice>
|
||||||
|
|
||||||
|
@ -269,6 +270,10 @@ QMLManager::QMLManager() : m_locationServiceEnabled(false),
|
||||||
// careful - changing verbose at runtime isn't enough (of course that could be added if we want it)
|
// careful - changing verbose at runtime isn't enough (of course that could be added if we want it)
|
||||||
if (verbose)
|
if (verbose)
|
||||||
connect(&diveListNotifier, &DiveListNotifier::divesChanged, this, &QMLManager::divesChanged);
|
connect(&diveListNotifier, &DiveListNotifier::divesChanged, this, &QMLManager::divesChanged);
|
||||||
|
|
||||||
|
// get updates to the undo/redo texts
|
||||||
|
connect(Command::getUndoStack(), &QUndoStack::undoTextChanged, this, &QMLManager::undoTextChanged);
|
||||||
|
connect(Command::getUndoStack(), &QUndoStack::redoTextChanged, this, &QMLManager::redoTextChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QMLManager::applicationStateChanged(Qt::ApplicationState state)
|
void QMLManager::applicationStateChanged(Qt::ApplicationState state)
|
||||||
|
@ -1392,7 +1397,13 @@ void QMLManager::saveChangesCloud(bool forceRemoteSync)
|
||||||
|
|
||||||
void QMLManager::undoDelete(int)
|
void QMLManager::undoDelete(int)
|
||||||
{
|
{
|
||||||
undoAction->activate(QAction::Trigger);
|
Command::getUndoStack()->undo();
|
||||||
|
changesNeedSaving();
|
||||||
|
}
|
||||||
|
|
||||||
|
void QMLManager::redo()
|
||||||
|
{
|
||||||
|
Command::getUndoStack()->redo();
|
||||||
changesNeedSaving();
|
changesNeedSaving();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2199,3 +2210,15 @@ void QMLManager::divesChanged(const QVector<dive *> &dives, DiveField field)
|
||||||
// invalidate_dive_cache(d);
|
// invalidate_dive_cache(d);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString QMLManager::getUndoText() const
|
||||||
|
{
|
||||||
|
QString undoText = Command::getUndoStack()->undoText();
|
||||||
|
return undoText;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString QMLManager::getRedoText() const
|
||||||
|
{
|
||||||
|
QString redoText = Command::getUndoStack()->redoText();
|
||||||
|
return redoText;
|
||||||
|
}
|
||||||
|
|
|
@ -51,6 +51,8 @@ class QMLManager : public QObject {
|
||||||
Q_PROPERTY(QString pluggedInDeviceName MEMBER m_pluggedInDeviceName NOTIFY pluggedInDeviceNameChanged)
|
Q_PROPERTY(QString pluggedInDeviceName MEMBER m_pluggedInDeviceName NOTIFY pluggedInDeviceNameChanged)
|
||||||
Q_PROPERTY(bool showNonDiveComputers MEMBER m_showNonDiveComputers WRITE setShowNonDiveComputers NOTIFY showNonDiveComputersChanged)
|
Q_PROPERTY(bool showNonDiveComputers MEMBER m_showNonDiveComputers WRITE setShowNonDiveComputers NOTIFY showNonDiveComputersChanged)
|
||||||
Q_PROPERTY(qPrefCloudStorage::cloud_status oldStatus MEMBER m_oldStatus WRITE setOldStatus NOTIFY oldStatusChanged)
|
Q_PROPERTY(qPrefCloudStorage::cloud_status oldStatus MEMBER m_oldStatus WRITE setOldStatus NOTIFY oldStatusChanged)
|
||||||
|
Q_PROPERTY(QString undoText READ getUndoText NOTIFY undoTextChanged) // this is a read-only property
|
||||||
|
Q_PROPERTY(QString redoText READ getRedoText NOTIFY redoTextChanged) // this is a read-only property
|
||||||
|
|
||||||
public:
|
public:
|
||||||
QMLManager();
|
QMLManager();
|
||||||
|
@ -98,6 +100,9 @@ public:
|
||||||
int DC_deviceId() const;
|
int DC_deviceId() const;
|
||||||
void DC_setDeviceId(int deviceId);
|
void DC_setDeviceId(int deviceId);
|
||||||
|
|
||||||
|
QString getUndoText() const;
|
||||||
|
QString getRedoText() const;
|
||||||
|
|
||||||
Q_INVOKABLE QStringList getProductListFromVendor(const QString& vendor);
|
Q_INVOKABLE QStringList getProductListFromVendor(const QString& vendor);
|
||||||
Q_INVOKABLE int getMatchingAddress(const QString &vendor, const QString &product);
|
Q_INVOKABLE int getMatchingAddress(const QString &vendor, const QString &product);
|
||||||
Q_INVOKABLE int getDetectedVendorIndex();
|
Q_INVOKABLE int getDetectedVendorIndex();
|
||||||
|
@ -191,6 +196,7 @@ public slots:
|
||||||
bool toggleCylinders(bool toggle);
|
bool toggleCylinders(bool toggle);
|
||||||
bool toggleWeights(bool toggle);
|
bool toggleWeights(bool toggle);
|
||||||
void undoDelete(int id);
|
void undoDelete(int id);
|
||||||
|
void redo();
|
||||||
int addDive();
|
int addDive();
|
||||||
void applyGpsData();
|
void applyGpsData();
|
||||||
void populateGpsData();
|
void populateGpsData();
|
||||||
|
@ -286,6 +292,8 @@ signals:
|
||||||
void showNonDiveComputersChanged();
|
void showNonDiveComputersChanged();
|
||||||
void DC_ForceDownloadChanged();
|
void DC_ForceDownloadChanged();
|
||||||
void oldStatusChanged();
|
void oldStatusChanged();
|
||||||
|
void undoTextChanged();
|
||||||
|
void redoTextChanged();
|
||||||
|
|
||||||
// From upload process
|
// From upload process
|
||||||
void uploadFinish(bool success, const QString &text);
|
void uploadFinish(bool success, const QString &text);
|
||||||
|
|
Loading…
Reference in a new issue