Work on plugin mechanism
Context actions have become normal actions in the pluginwidget so the widget knows abot them and can easily do things like enable/disable.
This commit is contained in:
parent
eca8841427
commit
a704332342
24 changed files with 239 additions and 267 deletions
|
|
@ -11,7 +11,7 @@ void QueryToolModule::init()
|
|||
std::string slot_name = SLOT(QueryTool::execute());
|
||||
{
|
||||
StaticAction ma("New SQL", [this] (IPluginContentWidgetContext* context)
|
||||
{ menuAction_new(context); });
|
||||
{ staticAction_new(context); });
|
||||
ma.setMenuLocation(MenuPath("File/New"));
|
||||
ma.setToolbarLocation(ToolbarLocation("main", "new"));
|
||||
ma.setIcon(QIcon(":/icons/new_query_tab.png"));
|
||||
|
|
@ -20,91 +20,22 @@ void QueryToolModule::init()
|
|||
}
|
||||
{
|
||||
StaticAction ma("Open SQL", [this] (IPluginContentWidgetContext* context)
|
||||
{ menuAction_open(context); });
|
||||
{ staticAction_open(context); });
|
||||
ma.setMenuLocation(MenuPath("File/Open"));
|
||||
ma.setToolbarLocation(ToolbarLocation("main", "open"));
|
||||
ma.setIcon(QIcon(":/icons/folder.png"));
|
||||
registerStaticAction(ma);
|
||||
}
|
||||
{
|
||||
LContextAction wa("Save SQL", SLOT(save()));
|
||||
wa.setMenuLocation("File/Save");
|
||||
wa.setToolbarLocation(ToolbarLocation("main", "save"));
|
||||
wa.setIcon(":/icons/script_save.png");
|
||||
wa.setShortcut(QKeySequence(Qt::CTRL + Qt::Key_S));
|
||||
registerContextAction(wa);
|
||||
}
|
||||
{
|
||||
LContextAction wa("Save SQL as", SLOT(saveAs()));
|
||||
wa.setMenuLocation("File/Save");
|
||||
wa.setToolbarLocation(ToolbarLocation("main", "save"));
|
||||
wa.setIcon(":/icons/script_save.png");
|
||||
registerContextAction(wa);
|
||||
}
|
||||
{
|
||||
LContextAction wa("Save copy of SQL as", SLOT(saveCopyAs()));
|
||||
wa.setMenuLocation("File/Save");
|
||||
wa.setToolbarLocation(ToolbarLocation("main", "save"));
|
||||
//wa.setIcon(":/icons/script_save.png");
|
||||
registerContextAction(wa);
|
||||
}
|
||||
{
|
||||
LContextAction wa("&Export data", SLOT(exportData()));
|
||||
wa.setMenuLocation("File/Export");
|
||||
wa.setToolbarLocation(ToolbarLocation("main", "save"));
|
||||
wa.setIcon(":/icons/table_save.png");
|
||||
registerContextAction(wa);
|
||||
}
|
||||
{
|
||||
LContextAction wa("Copy as C string", SLOT(copyQueryAsCString()));
|
||||
wa.setMenuLocation("Edit/Copy");
|
||||
wa.setToolbarLocation(ToolbarLocation("edit", "copy"));
|
||||
wa.setIcon(":/icons/token_shortland_character.png");
|
||||
registerContextAction(wa);
|
||||
}
|
||||
{
|
||||
LContextAction wa("Copy as raw C++ string", SLOT(copyQueryAsRawCppString()));
|
||||
wa.setMenuLocation("Edit/Copy");
|
||||
wa.setIcon(":/icons/token_shortland_character.png");
|
||||
registerContextAction(wa);
|
||||
}
|
||||
{
|
||||
LContextAction wa("Execute", SLOT(execute()));
|
||||
wa.setMenuLocation("Query/1");
|
||||
wa.setIcon(":/icons/script_go.png");
|
||||
wa.setShortcut(QKeySequence(Qt::Key_F5));
|
||||
registerContextAction(wa);
|
||||
}
|
||||
{
|
||||
LContextAction wa("Explain", SLOT(explain()));
|
||||
wa.setMenuLocation("Query/2");
|
||||
wa.setIcon(":/icons/lightbulb_off.png");
|
||||
wa.setShortcut(QKeySequence(Qt::Key_F7));
|
||||
registerContextAction(wa);
|
||||
}
|
||||
{
|
||||
LContextAction wa("Analyze", SLOT(analyze()));
|
||||
wa.setMenuLocation("Query/1");
|
||||
wa.setIcon(":/icons/lightbulb.png");
|
||||
wa.setShortcut(QKeySequence(Qt::SHIFT + Qt::Key_F7));
|
||||
registerContextAction(wa);
|
||||
}
|
||||
{
|
||||
LContextAction wa("Cancel", SLOT(cancel()));
|
||||
wa.setMenuLocation("Query/1");
|
||||
wa.setIcon(":/icons/script_delete.png");
|
||||
registerContextAction(wa);
|
||||
}
|
||||
}
|
||||
|
||||
void QueryToolModule::menuAction_new(IPluginContentWidgetContext* context)
|
||||
void QueryToolModule::staticAction_new(IPluginContentWidgetContext* context)
|
||||
{
|
||||
auto *ct = new QueryTool(context, nullptr);
|
||||
context->addContentWidget(this, ct);
|
||||
ct->newdoc();
|
||||
}
|
||||
|
||||
void QueryToolModule::menuAction_open(IPluginContentWidgetContext* context)
|
||||
void QueryToolModule::staticAction_open(IPluginContentWidgetContext* context)
|
||||
{
|
||||
QString home_dir = QStandardPaths::locate(QStandardPaths::HomeLocation, "", QStandardPaths::LocateDirectory);
|
||||
QString file_name = QFileDialog::getOpenFileName(context->container(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue