diff options
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/common')
6 files changed, 36 insertions, 16 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/common/bindparam.h b/SQLiteStudio3/guiSQLiteStudio/common/bindparam.h new file mode 100644 index 0000000..76cdac1 --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/common/bindparam.h @@ -0,0 +1,15 @@ +#ifndef BINDPARAM_H +#define BINDPARAM_H + +#include <QString> +#include <QVariant> + +struct BindParam +{ + int position = 0; + QString originalName; + QString newName; + QVariant value; +}; + +#endif // BINDPARAM_H diff --git a/SQLiteStudio3/guiSQLiteStudio/common/datawidgetmapper.cpp b/SQLiteStudio3/guiSQLiteStudio/common/datawidgetmapper.cpp index 655a9aa..35e99c8 100644 --- a/SQLiteStudio3/guiSQLiteStudio/common/datawidgetmapper.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/common/datawidgetmapper.cpp @@ -1,6 +1,7 @@ #include "datawidgetmapper.h" #include <QAbstractItemModel> #include <QWidget> +#include <QDebug> DataWidgetMapper::DataWidgetMapper(QObject *parent) : QObject(parent) @@ -121,6 +122,7 @@ void DataWidgetMapper::submit() idx = model->index(currentIndex, entry->columnIndex); value = entry->widget->property(entry->propertyName.toLatin1().constData()); + qDebug() << "copying from form view for idx" << idx << "value:" << value; model->setData(idx, value, Qt::EditRole); } } diff --git a/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp b/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp index 8aaeefd..c67cc73 100644 --- a/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp @@ -80,7 +80,7 @@ void ExtActionContainer::defShortcut(int action, CfgStringEntry *cfgEntry) void ExtActionContainer::setShortcutContext(const QList<qint32> actions, Qt::ShortcutContext context) { - foreach (qint32 act, actions) + for (qint32 act : actions) actionMap[act]->setShortcutContext(context); } @@ -100,6 +100,11 @@ void ExtActionContainer::attachActionInMenu(QAction* parentAction, QAction* chil menu->addAction(childAction); } +void ExtActionContainer::addSeparatorInMenu(int parentAction, QToolBar* toolbar) +{ + addSeparatorInMenu(actionMap[parentAction], toolbar); +} + void ExtActionContainer::addSeparatorInMenu(QAction *parentAction, QToolBar* toolbar) { QMenu* menu = getMenuForAction(parentAction, toolbar); @@ -125,7 +130,7 @@ void ExtActionContainer::createAction(int action, QAction* qAction, const QObjec void ExtActionContainer::deleteActions() { - foreach (QAction* action, actionMap.values()) + for (QAction* action : actionMap.values()) delete action; actionMap.clear(); @@ -133,7 +138,7 @@ void ExtActionContainer::deleteActions() void ExtActionContainer::refreshShortcuts() { - foreach (int action, actionMap.keys()) + for (int action : actionMap.keys()) { if (!shortcuts.contains(action)) continue; diff --git a/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h b/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h index 0c860f7..159d4e5 100644 --- a/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h +++ b/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h @@ -135,6 +135,7 @@ class GUI_API_EXPORT ExtActionContainer void attachActionInMenu(int parentAction, int childAction, QToolBar* toolbar); void attachActionInMenu(int parentAction, QAction* childAction, QToolBar* toolbar); void attachActionInMenu(QAction* parentAction, QAction* childAction, QToolBar* toolbar); + void addSeparatorInMenu(int parentAction, QToolBar* toolbar); void addSeparatorInMenu(QAction* parentAction, QToolBar *toolbar); void updateShortcutTips(); diff --git a/SQLiteStudio3/guiSQLiteStudio/common/userinputfilter.cpp b/SQLiteStudio3/guiSQLiteStudio/common/userinputfilter.cpp index 48ea46e..f3539d5 100644 --- a/SQLiteStudio3/guiSQLiteStudio/common/userinputfilter.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/common/userinputfilter.cpp @@ -1,5 +1,6 @@ #include "userinputfilter.h" #include "common/unused.h" +#include "common/lazytrigger.h" #include <QTimer> #include <QLineEdit> @@ -7,27 +8,23 @@ UserInputFilter::UserInputFilter(QLineEdit* lineEdit, QObject* filterHandler, co QObject(lineEdit), lineEdit(lineEdit) { - timer = new QTimer(this); - timer->setSingleShot(false); - timer->setInterval(200); - connect(lineEdit, SIGNAL(textChanged(QString)), this, SLOT(filterModified(QString))); - connect(timer, SIGNAL(timeout()), this, SLOT(applyFilter())); + trigger = new LazyTrigger(200, this); + connect(lineEdit, SIGNAL(textChanged(QString)), this, SLOT(filterModified())); + connect(trigger, SIGNAL(triggered()), this, SLOT(applyFilter())); connect(this, SIGNAL(applyFilter(QString)), filterHandler, handlerSlot); } void UserInputFilter::setDelay(int msecs) { - timer->setInterval(msecs); + trigger->setDelay(msecs); } -void UserInputFilter::filterModified(const QString& newValue) +void UserInputFilter::filterModified() { - UNUSED(newValue); - timer->start(); + trigger->schedule(); } void UserInputFilter::applyFilter() { - timer->stop(); emit applyFilter(lineEdit->text()); } diff --git a/SQLiteStudio3/guiSQLiteStudio/common/userinputfilter.h b/SQLiteStudio3/guiSQLiteStudio/common/userinputfilter.h index 1b6f7ee..36d54ed 100644 --- a/SQLiteStudio3/guiSQLiteStudio/common/userinputfilter.h +++ b/SQLiteStudio3/guiSQLiteStudio/common/userinputfilter.h @@ -4,8 +4,8 @@ #include "guiSQLiteStudio_global.h" #include <QObject> -class QTimer; class QLineEdit; +class LazyTrigger; class GUI_API_EXPORT UserInputFilter : public QObject { @@ -17,11 +17,11 @@ class GUI_API_EXPORT UserInputFilter : public QObject void setDelay(int msecs); private: - QTimer* timer = nullptr; + LazyTrigger* trigger = nullptr; QLineEdit* lineEdit = nullptr; private slots: - void filterModified(const QString& newValue); + void filterModified(); void applyFilter(); signals: |
