summaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.h
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2018-07-27 23:51:12 -0400
committerLibravatarUnit 193 <unit193@ubuntu.com>2018-07-27 23:51:12 -0400
commitfeda8a7db8d1d7c5439aa8f8feef7cc0dd2b59a0 (patch)
tree1e50f5f666f419143f510d5ded00fe2006b7bd85 /SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.h
parentd9aa870e5d509cc7309ab82dd102a937ab58613a (diff)
New upstream version 3.2.1+dfsg1upstream/3.2.1+dfsg1
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.h')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.h30
1 files changed, 25 insertions, 5 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.h b/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.h
index f97e5eb..f72ebda 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.h
+++ b/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.h
@@ -8,6 +8,7 @@
#include "guiSQLiteStudio_global.h"
#include <QDockWidget>
#include <QSet>
+#include <QAtomicInt>
class WidgetCover;
class QAction;
@@ -90,6 +91,8 @@ class GUI_API_EXPORT DbTree : public QDockWidget, public ExtActionContainer
GENERATE_UPDATE,
GENERATE_INSERT,
GENERATE_DELETE,
+ OPEN_DB_DIRECTORY,
+ EXEC_SQL_FROM_FILE,
_separator // Never use it directly, it's just for menu setup
};
@@ -109,10 +112,10 @@ class GUI_API_EXPORT DbTree : public QDockWidget, public ExtActionContainer
void restoreSession(const QVariant& sessionValue);
DbTreeModel* getModel() const;
DbTreeView* getView() const;
- void showWidgetCover();
- void hideWidgetCover();
+ void showRefreshWidgetCover();
+ void hideRefreshWidgetCover();
void setSelectedItem(DbTreeItem* item);
- bool isMimeDataValidForItem(const QMimeData* mimeData, const DbTreeItem* item);
+ bool isMimeDataValidForItem(const QMimeData* mimeData, const DbTreeItem* item, bool forPasting = false);
QToolBar* getToolBar(int toolbar) const;
Db* getSelectedDb();
Db* getSelectedOpenDb();
@@ -149,14 +152,21 @@ class GUI_API_EXPORT DbTree : public QDockWidget, public ExtActionContainer
QString getSelectedViewName() const;
QList<DbTreeItem*> getSelectedItems(DbTreeItem::Type itemType);
QList<DbTreeItem*> getSelectedItems(ItemFilterFunc filterFunc = nullptr);
+ void execFromFileAsync(const QString& path, Db* db, bool ignoreErrors, const QString& codec);
+ bool execQueryFromFile(Db* db, const QString& sql);
+ void handleFileQueryExecution(Db* db, int executed, int attemptedExecutions, bool ok, bool ignoreErrors, int millis);
+ QList<QPair<QString, QString>> executeFileQueries(Db* db, QTextStream& stream, int& executed, int& attemptedExecutions, bool& ok, bool ignoreErrors, qint64 fileSize);
- static bool areDbTreeItemsValidForItem(QList<DbTreeItem*> srcItems, const DbTreeItem* dstItem);
+ static bool areDbTreeItemsValidForItem(QList<DbTreeItem*> srcItems, const DbTreeItem* dstItem, bool forPasting = false);
static bool areUrlsValidForItem(const QList<QUrl>& srcUrls, const DbTreeItem* dstItem);
static void initDndTypes();
Ui::DbTree *ui = nullptr;
DbTreeModel* treeModel = nullptr;
- WidgetCover* widgetCover = nullptr;
+ WidgetCover* treeRefreshWidgetCover = nullptr;
+ WidgetCover* fileExecWidgetCover = nullptr;
+ QAtomicInt executingQueriesFromFile = 0;
+ Db* executingQueriesFromFileDb = nullptr;
static QHash<DbTreeItem::Type,QList<DbTreeItem::Type>> allowedTypesInside;
static QSet<DbTreeItem::Type> draggableTypes;
@@ -221,6 +231,16 @@ class GUI_API_EXPORT DbTree : public QDockWidget, public ExtActionContainer
void generateInsertForTable();
void generateUpdateForTable();
void generateDeleteForTable();
+ void openDbDirectory();
+ void execSqlFromFile();
+ void setFileExecProgress(int newValue);
+ void hideFileExecCover();
+ void showFileExecErrors(const QList<QPair<QString, QString>>& errors, bool rolledBack);
+
+ signals:
+ void updateFileExecProgress(int value);
+ void fileExecCoverToBeClosed();
+ void fileExecErrors(const QList<QPair<QString, QString>>& errors, bool rolledBack);
};
int qHash(DbTree::Action action);