Skip to content

Commit 28ae741

Browse files
committed
Change tabbed table browisng to use docks instead
This changes the different tabs in the Browse Data tab to docks. Docks can be tabbed as well (which is also the default now) but also allow free floating windows or split views. See issues #756, #1465, #1905, #2229, #2283.
1 parent b24c1f0 commit 28ae741

16 files changed

Lines changed: 300 additions & 248 deletions

CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ set(SQLB_MOC_HDR
174174
src/RemoteLocalFilesModel.h
175175
src/RemoteCommitsModel.h
176176
src/RemoteNetwork.h
177+
src/TableBrowserDock.h
177178
)
178179

179180
set(SQLB_SRC
@@ -236,6 +237,7 @@ set(SQLB_SRC
236237
src/RemoteLocalFilesModel.cpp
237238
src/RemoteCommitsModel.cpp
238239
src/RemoteNetwork.cpp
240+
src/TableBrowserDock.cpp
239241
)
240242

241243
set(SQLB_FORMS

src/DbStructureModel.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,6 @@ void DbStructureModel::reloadData()
152152
if(!m_db.isOpen())
153153
{
154154
endResetModel();
155-
emit structureUpdated();
156155
return;
157156
}
158157

@@ -197,7 +196,6 @@ void DbStructureModel::reloadData()
197196

198197
// Refresh the view
199198
endResetModel();
200-
emit structureUpdated();
201199
}
202200

203201
QStringList DbStructureModel::mimeTypes() const

src/DbStructureModel.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,6 @@ public slots:
4242
void setDropQualifiedNames(bool value) { m_dropQualifiedNames = value; }
4343
void setDropEnquotedNames(bool value) { m_dropEnquotedNames = value; }
4444

45-
signals:
46-
void structureUpdated();
47-
4845
private:
4946
DBBrowserDB& m_db;
5047
QTreeWidgetItem* rootItem;

src/ExtendedTableWidget.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ ExtendedTableWidgetEditorDelegate::ExtendedTableWidgetEditorDelegate(QObject* pa
127127

128128
QWidget* ExtendedTableWidgetEditorDelegate::createEditor(QWidget* parent, const QStyleOptionViewItem& /*option*/, const QModelIndex& index) const
129129
{
130+
emit dataAboutToBeEdited(index);
130131

131132
SqliteTableModel* m = qobject_cast<SqliteTableModel*>(const_cast<QAbstractItemModel*>(index.model()));
132133
sqlb::ForeignKeyClause fk = m->getForeignKeyClause(static_cast<size_t>(index.column()-1));
@@ -294,6 +295,7 @@ ExtendedTableWidget::ExtendedTableWidget(QWidget* parent) :
294295
// Create and set up delegate
295296
m_editorDelegate = new ExtendedTableWidgetEditorDelegate(this);
296297
setItemDelegate(m_editorDelegate);
298+
connect(m_editorDelegate, &ExtendedTableWidgetEditorDelegate::dataAboutToBeEdited, this, &ExtendedTableWidget::dataAboutToBeEdited);
297299

298300
// This is only for displaying the shortcut in the context menu.
299301
// An entry in keyPressEvent is still needed.

src/ExtendedTableWidget.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ class ExtendedTableWidgetEditorDelegate : public QStyledItemDelegate
4040
void setEditorData(QWidget* editor, const QModelIndex& index) const override;
4141
void setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const override;
4242
void updateEditorGeometry(QWidget* editor, const QStyleOptionViewItem& option, const QModelIndex& index) const override;
43+
44+
signals:
45+
void dataAboutToBeEdited(QModelIndex index) const;
4346
};
4447

4548
class ExtendedTableWidget : public QTableView
@@ -75,6 +78,7 @@ public slots:
7578
void selectedRowsToBeDeleted();
7679
void editCondFormats(int column);
7780
void currentIndexChanged(const QModelIndex &current, const QModelIndex &previous);
81+
void dataAboutToBeEdited(const QModelIndex& index);
7882
void requestUrlOrFileOpen(const QString& urlString);
7983

8084
private:

0 commit comments

Comments
 (0)