diff options
| author | 2023-04-30 18:31:18 -0400 | |
|---|---|---|
| committer | 2023-04-30 18:31:18 -0400 | |
| commit | 4de57f628bc74f00ba1885e91c84ea07c5405d8f (patch) | |
| tree | 5d91900751e826d491ff1b2ebc571a787e84f864 /SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.cpp | |
| parent | 74d881cefa9097e58e129e37b9c44d680d8c7dfe (diff) | |
| parent | 3565aad630864ecdbe53fdaa501ea708555b3c7c (diff) | |
Update upstream source from tag 'upstream/3.4.4+dfsg'
Update to upstream version '3.4.4+dfsg'
with Debian dir 482614bd23f0ef52dabc9803477204ad88e917ed
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.cpp')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.cpp | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.cpp b/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.cpp index 0f965cd..b3ee1ee 100644 --- a/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.cpp @@ -1,4 +1,5 @@ #include "multieditor.h" +#include "multieditor/multieditorfk.h" #include "multieditortext.h" #include "multieditornumeric.h" #include "multieditordatetime.h" @@ -7,15 +8,15 @@ #include "multieditorbool.h" #include "multieditorhex.h" #include "mainwindow.h" -#include "common/unused.h" +#include "iconmanager.h" #include "services/notifymanager.h" #include "services/pluginmanager.h" #include "multieditorwidgetplugin.h" #include "uiconfig.h" #include "dialogs/configdialog.h" -#include "formview.h" #include "themetuner.h" #include "common/compatibility.h" +#include "datagrid/sqlquerymodelcolumn.h" #include <QVBoxLayout> #include <QHBoxLayout> #include <QTabWidget> @@ -191,7 +192,6 @@ void MultiEditor::addEditor(MultiEditorWidget* editorWidget) connect(editorWidget, SIGNAL(valueModified()), this, SLOT(invalidateValue())); editors << editorWidget; tabs->addTab(editorWidget, editorWidget->getTabLabel().replace("&", "&&")); - THEME_TUNER->manageCompactLayout(editorWidget); editorWidget->installEventFilter(this); connect(editorWidget, &MultiEditorWidget::aboutToBeDeleted, [this, editorWidget]() @@ -280,7 +280,7 @@ void MultiEditor::setDataType(const DataType& dataType) { this->dataType = dataType; - for (MultiEditorWidget* editorWidget : getEditorTypes(dataType)) + for (MultiEditorWidget*& editorWidget : getEditorTypes(dataType)) addEditor(editorWidget); showTab(0); @@ -288,6 +288,14 @@ void MultiEditor::setDataType(const DataType& dataType) configBtn->setEnabled(true); } +void MultiEditor::enableFk(Db* db, SqlQueryModelColumn* column) +{ + MultiEditorFk* fkEditor = new MultiEditorFk(); + fkEditor->initFkCombo(db, column); + fkEditor->setTabLabel(tr("Foreign Key")); + addEditor(fkEditor); +} + void MultiEditor::focusThisEditor() { MultiEditorWidget* w = dynamic_cast<MultiEditorWidget*>(tabs->currentWidget()); @@ -324,14 +332,15 @@ QList<MultiEditorWidget*> MultiEditor::getEditorTypes(const DataType& dataType) if (editorsOrder.contains(typeStr)) { MultiEditorWidgetPlugin* plugin = nullptr; - for (const QString& editorPluginName : editorsOrder[typeStr].toStringList()) + for (QString& editorPluginName : editorsOrder[typeStr].toStringList()) { plugin = dynamic_cast<MultiEditorWidgetPlugin*>(PLUGINS->getLoadedPlugin(editorPluginName)); if (!plugin) { if (!missingEditorPluginsAlreadyWarned.contains(editorPluginName)) { - notifyWarn(tr("Data editor plugin '%1' not loaded, while it is defined for editing '%1' data type.")); + notifyWarn(tr("Data editor plugin '%1' not loaded, while it is defined for editing '%2' data type.") + .arg(editorPluginName, typeStr)); missingEditorPluginsAlreadyWarned[editorPluginName] = true; } continue; @@ -371,7 +380,7 @@ QList<MultiEditorWidget*> MultiEditor::getEditorTypes(const DataType& dataType) return ed1.first < ed2.first; }); - for (const EditorWithPriority& e : sortedEditors) + for (EditorWithPriority& e : sortedEditors) editors << e.second; return editors; @@ -439,7 +448,7 @@ QVariant MultiEditor::getValueOmmitNull() const void MultiEditor::initAddTabMenu() { addTabMenu = new QMenu(addTabBtn); - for (MultiEditorWidgetPlugin* plugin : PLUGINS->getLoadedPlugins<MultiEditorWidgetPlugin>()) + for (MultiEditorWidgetPlugin*& plugin : PLUGINS->getLoadedPlugins<MultiEditorWidgetPlugin>()) addPluginToMenu(plugin); sortAddTabMenu(); |
