summaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2023-04-30 18:30:36 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2023-04-30 18:30:36 -0400
commit3565aad630864ecdbe53fdaa501ea708555b3c7c (patch)
treec743e4ad0bad39ebdb2f514c7cc52d34a257ebbe /SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.cpp
parent1fdc150116cad39aae5c5da407c3312b47a59e3a (diff)
New upstream version 3.4.4+dfsg.upstream/3.4.4+dfsg
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.cpp25
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();