aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/dataview.h
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2018-07-27 23:54:15 -0400
committerLibravatarUnit 193 <unit193@ubuntu.com>2018-07-27 23:54:15 -0400
commit6d3d39356473078c6b47e03b8a7616e4b34de928 (patch)
treefe5be2e6a08e4cfc73207746aba4c9fccfecfa10 /SQLiteStudio3/guiSQLiteStudio/dataview.h
parentf98e49169a40876bcf1df832de6e908d1b350193 (diff)
parentfeda8a7db8d1d7c5439aa8f8feef7cc0dd2b59a0 (diff)
Update upstream source from tag 'upstream/3.2.1+dfsg1'
Update to upstream version '3.2.1+dfsg1' with Debian dir 5ea0333565de4dc898c062cc0ff4ba1153e2c1e4
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/dataview.h')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dataview.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/dataview.h b/SQLiteStudio3/guiSQLiteStudio/dataview.h
index 73ccfe7..55c7895 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dataview.h
+++ b/SQLiteStudio3/guiSQLiteStudio/dataview.h
@@ -15,6 +15,8 @@ class ExtLineEdit;
class QLabel;
class IntValidator;
class WidgetCover;
+class QScrollArea;
+class QLineEdit;
CFG_KEY_LIST(DataView, QObject::tr("Data view (both grid and form)"),
CFG_KEY_ENTRY(REFRESH_DATA, Qt::Key_F5, QObject::tr("Refresh data"))
@@ -46,6 +48,7 @@ class GUI_API_EXPORT DataView : public QTabWidget, public ExtActionContainer
FILTER_STRING,
FILTER_SQL,
FILTER_REGEXP,
+ FILTER_PER_COLUMN,
GRID_TOTAL_ROWS,
SELECTIVE_COMMIT,
SELECTIVE_ROLLBACK,
@@ -123,6 +126,7 @@ class GUI_API_EXPORT DataView : public QTabWidget, public ExtActionContainer
void initPageEdit();
void initWidgetCover();
void createContents();
+ void createFilterPanel();
void goToFormRow(IndexModifier idxMod);
void setNavigationState(bool enabled);
void updateNavigationState();
@@ -133,15 +137,16 @@ class GUI_API_EXPORT DataView : public QTabWidget, public ExtActionContainer
void updateCurrentFormViewRow();
void setFormViewEnabled(bool enabled);
void readData();
- void updateFilterIcon();
void initFormViewForNewRow();
void formViewFocusFirstEditor();
+ void recreateFilterInputs();
+ void createFilteringActions();
- static FilterMode filterMode;
static TabsPosition tabsPosition;
static QHash<Action,QAction*> staticActions;
static QHash<ActionGroup,QActionGroup*> staticActionGroups;
+ FilterMode filterMode = FilterMode::STRING;
QToolBar* gridToolBar = nullptr;
QToolBar* formToolBar = nullptr;
SqlQueryView* gridView = nullptr;
@@ -149,6 +154,9 @@ class GUI_API_EXPORT DataView : public QTabWidget, public ExtActionContainer
FormView* formView = nullptr;
QWidget* gridWidget = nullptr;
QWidget* formWidget = nullptr;
+ QScrollArea* perColumnFilterArea = nullptr;
+ QWidget* perColumnWidget = nullptr;
+ QWidget* perColumnAreaParent = nullptr;
ExtLineEdit* filterEdit = nullptr;
QLabel* rowCountLabel = nullptr;
QLabel* formViewRowCountLabel = nullptr;
@@ -161,6 +169,10 @@ class GUI_API_EXPORT DataView : public QTabWidget, public ExtActionContainer
bool uncommittedGrid = false;
bool uncommittedForm = false;
WidgetCover* widgetCover = nullptr;
+ QList<QLineEdit*> filterInputs;
+ QStringList filterValues;
+ QWidget* filterLeftSpacer = nullptr;
+ QWidget* filterRightSpacer = nullptr;
signals:
@@ -205,6 +217,9 @@ class GUI_API_EXPORT DataView : public QTabWidget, public ExtActionContainer
void updateGridCommitCover(int value);
void hideGridCommitCover();
void adjustColumnWidth(SqlQueryItem* item);
+ void syncFilterScrollPosition();
+ void resizeFilter(int section, int oldSize, int newSize);
+ void togglePerColumnFiltering();
};
int qHash(DataView::ActionGroup action);