From b292d8266145b63c1081e0aa221c92e6c0024729 Mon Sep 17 00:00:00 2001 From: lsv Date: Fri, 24 Apr 2026 16:37:53 +0500 Subject: [PATCH] Added the Set keywords menu item to add server search keywords MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавлена возможность через контекстное меню сервера добавлять ключевые слова. Требуется перезапуск приложения для применения изменений. --- include/schema/pgServer.h | 7 +++++++ schema/pgServer.cpp | 31 +++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/include/schema/pgServer.h b/include/schema/pgServer.h index 0be391d..6acf206 100644 --- a/include/schema/pgServer.h +++ b/include/schema/pgServer.h @@ -687,6 +687,13 @@ public: wxWindow *StartDialog(frmMain *form, pgObject *obj); bool CheckEnable(pgObject *obj); }; +class keywordsServerFactory : public contextActionFactory +{ +public: + keywordsServerFactory(menuFactoryList *list, wxMenu *mnu, ctlMenuToolbar *toolbar); + wxWindow *StartDialog(frmMain *form, pgObject *obj); + bool CheckEnable(pgObject *obj); +}; class disconnectServerFactoryAll : public contextActionFactory diff --git a/schema/pgServer.cpp b/schema/pgServer.cpp index 413c5a9..ae42347 100644 --- a/schema/pgServer.cpp +++ b/schema/pgServer.cpp @@ -2111,6 +2111,37 @@ bool stopServiceFactory::CheckEnable(pgObject *obj) } return false; } +keywordsServerFactory::keywordsServerFactory(menuFactoryList *list, wxMenu *mnu, ctlMenuToolbar *toolbar) : contextActionFactory(list) +{ + mnu->Append(id, _("&Set keywords"), _("Set keywords list the selected server.")); +} + + +wxWindow *keywordsServerFactory::StartDialog(frmMain *form, pgObject *obj) +{ + pgServer *server = (pgServer *)obj; + wxString kw=server->GetKeywords(); + wxTextEntryDialog dialog(form, + _("Please enter keywords\n") + , + _("Keywords server"), + kw, + wxOK | wxCANCEL); //setName( dlg.GetValue().wc_str() ); + if (dialog.ShowModal() == wxID_OK) { + kw = dialog.GetValue(); + server->iSetKeywords(kw); + } + return 0; +} + + +bool keywordsServerFactory::CheckEnable(pgObject *obj) +{ + if (obj && obj->IsCreatedBy(serverFactory)) + return true; + + return false; +} connectServerFactory::connectServerFactory(menuFactoryList *list, wxMenu *mnu, ctlMenuToolbar *toolbar) : contextActionFactory(list)