Merge pull request #3051 from ImTheTom/copy-column-name

Add copy column name action to data browser.
This commit is contained in:
Manuel
2022-06-28 22:15:51 +02:00
committed by GitHub
3 changed files with 21 additions and 0 deletions

View File

@@ -12,6 +12,7 @@
#include "sqlitetablemodel.h"
#include "ui_TableBrowser.h"
#include <QClipboard>
#include <QInputDialog>
#include <QMenu>
#include <QMessageBox>
@@ -67,6 +68,8 @@ TableBrowser::TableBrowser(DBBrowserDB* _db, QWidget* parent) :
popupHeaderMenu->addSeparator();
popupHeaderMenu->addAction(ui->actionSetTableEncoding);
popupHeaderMenu->addAction(ui->actionSetAllTablesEncoding);
popupHeaderMenu->addSeparator();
popupHeaderMenu->addAction(ui->actionCopyColumnName);
connect(ui->actionSelectColumn, &QAction::triggered, this, [this]() {
ui->dataTable->selectColumn(ui->actionBrowseTableEditDisplayFormat->property("clicked_column").toInt());
@@ -1501,6 +1504,15 @@ void TableBrowser::setDefaultTableEncoding()
setTableEncoding(true);
}
void TableBrowser::copyColumnName(){
sqlb::ObjectIdentifier current_table = currentlyBrowsedTableName();
int col_index = ui->actionBrowseTableEditDisplayFormat->property("clicked_column").toInt();
QString field_name = QString::fromStdString(db->getTableByName(current_table)->fields.at(col_index - 1).name());
QClipboard *clipboard = QApplication::clipboard();
clipboard->setText(field_name);
}
void TableBrowser::jumpToRow(const sqlb::ObjectIdentifier& table, std::string column, const QByteArray& value)
{
// First check if table exists

View File

@@ -136,6 +136,7 @@ private slots:
void saveFilterAsView();
void setTableEncoding(bool forAllTables = false);
void setDefaultTableEncoding();
void copyColumnName();
void fetchedData();
private:

View File

@@ -749,6 +749,14 @@
<string>Change the default encoding assumed for all tables in the database</string>
</property>
</action>
<action name="actionCopyColumnName">
<property name="text">
<string>Copy column name</string>
</property>
<property name="toolTip">
<string>Copy the database table column name to your clipboard</string>
</property>
</action>
<action name="actionClearFilters">
<property name="icon">
<iconset resource="icons/icons.qrc">