diff options
| author | 2016-06-13 18:42:42 -0400 | |
|---|---|---|
| committer | 2016-06-13 18:42:42 -0400 | |
| commit | 5d9314f134ddd3dc4c853e398ac90ba247fb2e4f (patch) | |
| tree | 5c457fc188036988d7abd29a3eb09931e406510f /SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.h | |
| parent | 8e640722c62692818ab840d50b3758f89a41a54e (diff) | |
Imported Upstream version 3.1.0upstream/3.1.0
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.h')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.h | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.h b/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.h index 2f5583e..ea415a4 100644 --- a/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.h +++ b/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtree.h @@ -7,6 +7,7 @@ #include "dbtree/dbtreeitem.h" #include "guiSQLiteStudio_global.h" #include <QDockWidget> +#include <QSet> class WidgetCover; class QAction; @@ -85,6 +86,10 @@ class GUI_API_EXPORT DbTree : public QDockWidget, public ExtActionContainer CREATE_SIMILAR_TABLE, RESET_AUTOINCREMENT, ERASE_TABLE_DATA, + GENERATE_SELECT, + GENERATE_UPDATE, + GENERATE_INSERT, + GENERATE_DELETE, _separator // Never use it directly, it's just for menu setup }; @@ -111,6 +116,7 @@ class GUI_API_EXPORT DbTree : public QDockWidget, public ExtActionContainer QToolBar* getToolBar(int toolbar) const; Db* getSelectedDb(); Db* getSelectedOpenDb(); + QSet<Db*> getSelectedDatabases(); static bool isItemDraggable(const DbTreeItem* item); @@ -120,6 +126,8 @@ class GUI_API_EXPORT DbTree : public QDockWidget, public ExtActionContainer void closeEvent(QCloseEvent* e); private: + typedef std::function<bool(DbTreeItem*)> ItemFilterFunc; + void setActionEnabled(int action, bool enabled); TableWindow* openTable(DbTreeItem* item); TableWindow* openTable(Db* db, const QString& database, const QString& table); @@ -133,9 +141,16 @@ class GUI_API_EXPORT DbTree : public QDockWidget, public ExtActionContainer void filterUndeletableItems(QList<DbTreeItem*>& items); void filterItemsWithParentInList(QList<DbTreeItem*>& items); void deleteItem(DbTreeItem* item); + void deleteSelected(DbTreeItem::Type itemType); + QHash<Db*, QList<DbTreeItem*>> groupByDb(const QList<DbTreeItem*> items); + QStringList itemsToNames(const QList<DbTreeItem*>& items); + QString getSelectedTableName() const; + QString getSelectedIndexName() const; + QString getSelectedTriggerName() const; + QString getSelectedViewName() const; + static bool areDbTreeItemsValidForItem(QList<DbTreeItem*> srcItems, const DbTreeItem* dstItem); static bool areUrlsValidForItem(const QList<QUrl>& srcUrls, const DbTreeItem* dstItem); - static void initDndTypes(); Ui::DbTree *ui = nullptr; @@ -194,13 +209,17 @@ class GUI_API_EXPORT DbTree : public QDockWidget, public ExtActionContainer void editColumn(DbTreeItem* item); void delColumn(DbTreeItem* item); void currentChanged(const QModelIndex & current, const QModelIndex & previous); - void deleteSelected(); + void deleteSelected(ItemFilterFunc filterFunc = nullptr); void deleteItems(const QList<DbTreeItem*>& itemsToDelete); void refreshSchema(); void dbConnected(Db* db); void dbDisconnected(Db* db); void updateDbIcon(Db* db); void refreshFont(); + void generateSelectForTable(); + void generateInsertForTable(); + void generateUpdateForTable(); + void generateDeleteForTable(); }; int qHash(DbTree::Action action); |
