From 5344b171164e2973e82720144599cc548f9b179a Mon Sep 17 00:00:00 2001 From: Martin Dvorak Date: Sun, 19 Nov 2023 16:54:52 +0100 Subject: [PATCH] Adding more left-bart tools: bard, github, Python doc, C++ doc, ... --- app/mf-resources.qrc | 4 ++ app/resources/icons/bard.png | Bin 0 -> 3800 bytes app/resources/icons/cpp.png | Bin 0 -> 3820 bytes app/resources/icons/github.png | Bin 0 -> 4503 bytes app/resources/icons/python.png | Bin 0 -> 6194 bytes app/src/qt/dialogs/run_tool_dialog.cpp | 12 +++++- app/src/qt/left_toolbar_view.cpp | 29 +++++++++----- app/src/qt/left_toolbar_view.h | 4 ++ app/src/qt/main_window_presenter.cpp | 52 +++++++++++++++++++++++++ app/src/qt/main_window_presenter.h | 4 ++ lib/src/config/configuration.h | 4 +- 11 files changed, 97 insertions(+), 12 deletions(-) create mode 100644 app/resources/icons/bard.png create mode 100644 app/resources/icons/cpp.png create mode 100644 app/resources/icons/github.png create mode 100644 app/resources/icons/python.png diff --git a/app/mf-resources.qrc b/app/mf-resources.qrc index 75907a22..2358eb23 100644 --- a/app/mf-resources.qrc +++ b/app/mf-resources.qrc @@ -23,6 +23,10 @@ resources/icons/stackoverflow.png resources/icons/duckduckgo.png resources/icons/h2oai.png + resources/icons/github.png + resources/icons/bard.png + resources/icons/python.png + resources/icons/cpp.png resources/qt/translations/mindforger_cs.qm diff --git a/app/resources/icons/bard.png b/app/resources/icons/bard.png new file mode 100644 index 0000000000000000000000000000000000000000..e9250331b652919c26fbe5ae711a7b276351cfb6 GIT binary patch literal 3800 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�pjlW$kbX!A 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 literal 0 HcmV?d00001 diff --git a/app/resources/icons/python.png b/app/resources/icons/python.png new file mode 100644 index 0000000000000000000000000000000000000000..c48d3af7561e1bc07ac9fedae0cfb7db852dbad5 GIT binary patch literal 6194 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 Qi~s-t07*qoM6N<$g25&WjsO4v literal 0 HcmV?d00001 diff --git a/app/src/qt/dialogs/run_tool_dialog.cpp b/app/src/qt/dialogs/run_tool_dialog.cpp index 729b1b1f..7d44a308 100644 --- a/app/src/qt/dialogs/run_tool_dialog.cpp +++ b/app/src/qt/dialogs/run_tool_dialog.cpp @@ -32,7 +32,7 @@ RunToolDialog::RunToolDialog(QWidget* parent) QString{TOOL_DUCKDUCKGO}, QString{TOOL_GOOGLE_BARD}, QString{TOOL_GOOGLE_SEARCH}, - QString{TOOL_GH_PROJECTS}, + QString{TOOL_GH_REPOS}, QString{TOOL_GH_TOPICS}, QString{TOOL_H2O_GPT_WEB}, QString{TOOL_H2O_GPT_API}, @@ -113,6 +113,14 @@ QString RunToolDialog::getTemplateTextForToolName(string selectedTool) const return templateText; } else if(selectedTool == TOOL_DEEPL) { return QString{"https://www.deepl.com/en/translator"}; + } else if(selectedTool == TOOL_DOC_PYTHON) { + QString templateText{"https://docs.python.org/3.10/search.html?q="}; + templateText.append(TOOL_PHRASE); + return templateText; + } else if(selectedTool == TOOL_DOC_CPP) { + QString templateText{"https://duckduckgo.com/?sites=cppreference.com&ia=web&q="}; + templateText.append(TOOL_PHRASE); + return templateText; } else if(selectedTool == TOOL_STACK_OVERFLOW) { QString templateText{"https://stackoverflow.com/search?q="}; templateText.append(TOOL_PHRASE); @@ -126,7 +134,7 @@ QString RunToolDialog::getTemplateTextForToolName(string selectedTool) const QString templateText{"https://www.github.com/search?q="}; templateText.append(TOOL_PHRASE); return templateText; - } else if(selectedTool == TOOL_GH_PROJECTS) { + } else if(selectedTool == TOOL_GH_REPOS) { // TODO fix search URL QString templateText{"https://www.github.com/search?q="}; templateText.append(TOOL_PHRASE); diff --git a/app/src/qt/left_toolbar_view.cpp b/app/src/qt/left_toolbar_view.cpp index 5a56fbeb..5f693407 100644 --- a/app/src/qt/left_toolbar_view.cpp +++ b/app/src/qt/left_toolbar_view.cpp @@ -30,27 +30,38 @@ LeftToolbarView::LeftToolbarView(MainWindowView* mainWindowView) actionLeftToolbarWikipedia = addAction( QIcon(":/icons/wikipedia.png"), - "Open Wikipedia and find entry related to the current context... (Alt-2)"); + "Open Wikipedia and find entries related to the current context... (Alt-2)"); actionLeftToolbarStackOverflow = addAction( QIcon(":/icons/stackoverflow.png"), - "Open StackOverflow and find entry related to the current context... (Alt-3)"); + "Open StackOverflow and find entries related to the current context... (Alt-3)"); actionLeftToolbarH2oGpt= addAction( QIcon(":/icons/h2oai.png"), - "Open h2oGPT and chat about entry related to the current context... (Alt-4)"); + "Open h2oGPT and chat about the current context... (Alt-4)"); actionLeftToolbarDuckDuckGo = addAction( QIcon(":/icons/duckduckgo.png"), - "Open DuckDuckGo and find entry related to the current context... (Alt-5)"); + "Open DuckDuckGo and find entries related to the current context... (Alt-5)"); - // TODO "Open DuckDuckGo and search web for the selected entity..." + actionLeftToolbarGitHub = addAction( + QIcon(":/icons/github.png"), + "Open GitHub and find entries related to the current context... (Alt-6)"); - // TODO "Let chatGPT to explaine in simple terms..." - // TODO "Use Gramarly to check to grammar..." - // TODO "Use Pandoc to convert MindForger's Markdown documents..." - // TODO "Build your web with MindForger's Markdown documents and Docusaurus..." + actionLeftToolbarBard = addAction( + QIcon(":/icons/bard.png"), + "Open Bard and chat about the current context... (Alt-7)"); + + actionLeftToolbarPython = addAction( + QIcon(":/icons/python.png"), + "Open Python documentation and find entries related to the current context... (Alt-8)"); + actionLeftToolbarCpp = addAction( + QIcon(":/icons/cpp.png"), + "Open C++ documentation and find entries related to the current context... (Alt-9)"); + + // TODO "Let chatGPT to explaine in simple terms..." + // TODO "Use Gramarly to check to grammar..." > bard/chatGPT can check grammar } LeftToolbarView::~LeftToolbarView() diff --git a/app/src/qt/left_toolbar_view.h b/app/src/qt/left_toolbar_view.h index 82a44445..e1d69d86 100644 --- a/app/src/qt/left_toolbar_view.h +++ b/app/src/qt/left_toolbar_view.h @@ -39,6 +39,10 @@ class LeftToolbarView : public QToolBar QAction* actionLeftToolbarStackOverflow; QAction* actionLeftToolbarH2oGpt; QAction* actionLeftToolbarDuckDuckGo; + QAction* actionLeftToolbarGitHub; + QAction* actionLeftToolbarBard; + QAction* actionLeftToolbarPython; + QAction* actionLeftToolbarCpp; // IMPORTANT: hide event hidden as it was causing undesired configuration // changes and toolbar hiding on Qt's spontaneous hide/show events. Citation diff --git a/app/src/qt/main_window_presenter.cpp b/app/src/qt/main_window_presenter.cpp index 09cbe135..523a22bc 100644 --- a/app/src/qt/main_window_presenter.cpp +++ b/app/src/qt/main_window_presenter.cpp @@ -211,6 +211,38 @@ MainWindowPresenter::MainWindowPresenter(MainWindowView& view) view.getLeftToolBar()->actionLeftToolbarDuckDuckGo, SIGNAL(triggered()), this, SLOT(doActionDuckDuckGoToolbar()) ); + QObject::connect( + new QShortcut(QKeySequence("Alt+6"), view.getOrloj()), SIGNAL(activated()), + this, SLOT(doActionGitHubToolbar()) + ); + QObject::connect( + view.getLeftToolBar()->actionLeftToolbarGitHub, SIGNAL(triggered()), + this, SLOT(doActionGitHubToolbar()) + ); + QObject::connect( + new QShortcut(QKeySequence("Alt+7"), view.getOrloj()), SIGNAL(activated()), + this, SLOT(doActionBardToolbar()) + ); + QObject::connect( + view.getLeftToolBar()->actionLeftToolbarBard, SIGNAL(triggered()), + this, SLOT(doActionBardToolbar()) + ); + QObject::connect( + new QShortcut(QKeySequence("Alt+8"), view.getOrloj()), SIGNAL(activated()), + this, SLOT(doActionPythonToolbar()) + ); + QObject::connect( + view.getLeftToolBar()->actionLeftToolbarPython, SIGNAL(triggered()), + this, SLOT(doActionPythonToolbar()) + ); + QObject::connect( + new QShortcut(QKeySequence("Alt+9"), view.getOrloj()), SIGNAL(activated()), + this, SLOT(doActionCppToolbar()) + ); + QObject::connect( + view.getLeftToolBar()->actionLeftToolbarCpp, SIGNAL(triggered()), + this, SLOT(doActionCppToolbar()) + ); // wire TOP toolbar signals QObject::connect( view.getToolBar()->actionNewOutlineOrNote, SIGNAL(triggered()), @@ -2120,6 +2152,26 @@ void MainWindowPresenter::doActionDuckDuckGoToolbar() handleLeftToolbarAction(TOOL_DUCKDUCKGO); } +void MainWindowPresenter::doActionGitHubToolbar() +{ + handleLeftToolbarAction(TOOL_GH_REPOS); +} + +void MainWindowPresenter::doActionBardToolbar() +{ + handleLeftToolbarAction(TOOL_GOOGLE_BARD); +} + +void MainWindowPresenter::doActionPythonToolbar() +{ + handleLeftToolbarAction(TOOL_DOC_PYTHON); +} + +void MainWindowPresenter::doActionCppToolbar() +{ + handleLeftToolbarAction(TOOL_DOC_CPP); +} + void MainWindowPresenter::handleLeftToolbarAction(string selectedTool) { // get PHRASE from the active context: diff --git a/app/src/qt/main_window_presenter.h b/app/src/qt/main_window_presenter.h index 5efd84c1..b798eeea 100644 --- a/app/src/qt/main_window_presenter.h +++ b/app/src/qt/main_window_presenter.h @@ -376,6 +376,10 @@ public slots: void doActionStackOverflowToolbar(); void doActionH2oGptToolbar(); void doActionDuckDuckGoToolbar(); + void doActionGitHubToolbar(); + void doActionBardToolbar(); + void doActionPythonToolbar(); + void doActionCppToolbar(); // help void doActionHelpDocumentation(); void doActionHelpWeb(); diff --git a/lib/src/config/configuration.h b/lib/src/config/configuration.h index 5f3ed689..35bbdd58 100644 --- a/lib/src/config/configuration.h +++ b/lib/src/config/configuration.h @@ -105,7 +105,7 @@ constexpr const auto TOOL_ARXIV = "arXiv"; constexpr const auto TOOL_DUCKDUCKGO = "DuckDuckGo"; constexpr const auto TOOL_DEEPL = "DeepL web"; constexpr const auto TOOL_STACK_OVERFLOW = "StackOverflow"; -constexpr const auto TOOL_GH_PROJECTS = "GitHub projects"; +constexpr const auto TOOL_GH_REPOS = "GitHub repositories"; constexpr const auto TOOL_GH_TOPICS = "GitHub topics"; constexpr const auto TOOL_GOOGLE_BARD = "Google Bard"; constexpr const auto TOOL_GOOGLE_SEARCH = "Google Search"; @@ -113,6 +113,8 @@ constexpr const auto TOOL_H2O_GPT_WEB = "h2oGPT web"; constexpr const auto TOOL_H2O_GPT_API = "h2oGPT API"; constexpr const auto TOOL_CHAT_GPT_WEB = "OpenAI chatGPT web"; constexpr const auto TOOL_WIKIPEDIA = "Wikipedia"; +constexpr const auto TOOL_DOC_PYTHON = "Python documentation"; +constexpr const auto TOOL_DOC_CPP = "C++ documentation"; // improve platform/language specific constexpr const auto DEFAULT_NEW_OUTLINE = "# New Markdown File\n\nThis is a new Markdown file created by MindForger.\n\n#Section 1\nThe first section.\n\n";