View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0015552 | Scribus | Usability | public | 2019-01-24 10:29 | 2019-07-30 21:27 |
Reporter | ale | Assigned To | ale | ||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Product Version | 1.5.5.svn | ||||
Fixed in Version | 1.5.5.svn | ||||
Summary | 0015552: Add possibility to search through scribus actions | ||||
Description | probono asked for a / command that would allow to search through the scribus actions (like in olive or gimp). i've created a plugin for it and will upload a tar ball soon... or just get it from https://github.com/aoloe/scribus-plugin-actionSearch as soon as i write a note that it's ready : - ) | ||||
Additional Information | i would be glad if the plugin is committed "as is". if modifications are needed please comment on github and / or make pull requests. | ||||
Tags | patch | ||||
Patch | No | ||||
|
patch attached or, even better, get the code from https://github.com/aoloe/scribus-plugin-actionSearch |
|
I've worked on that patch so as to integrate it into main code. When possible the "menu path" is now also displayed into the action search window. 15552_action_search.patch (25,784 bytes)
Index: Scribus.pro =================================================================== --- Scribus.pro (revision 23086) +++ Scribus.pro (working copy) @@ -20,6 +20,7 @@ # Input HEADERS += scribus/actionmanager.h \ + scribus/actionsearch.h \ scribus/annotation.h \ scribus/appmodehelper.h \ scribus/appmodes.h \ @@ -394,6 +395,7 @@ scribus/text/textsource.h \ scribus/ui/about.h \ scribus/ui/aboutplugins.h \ + scribus/ui/actionsearchdialog.h \ scribus/ui/AdapterWidget.h \ scribus/ui/adjustcmsdialog.h \ scribus/ui/aligndistribute.h \ @@ -1022,7 +1024,9 @@ scribus/plugins/tools/2geomtools/meshdistortion/meshdistortiondialog.h \ scribus/plugins/tools/2geomtools/pathalongpath/pathalongpath.h \ scribus/plugins/tools/2geomtools/pathalongpath/pathdialog.h + FORMS += scribus/ui/aboutplugins.ui \ + scribus/ui/actionsearchdialog.ui \ scribus/ui/aligndistribute.ui \ scribus/ui/annot.ui \ scribus/ui/arcvectorbase.ui \ @@ -1178,7 +1182,9 @@ scribus/plugins/scripter/python/sceditor/mainwindow.ui \ scribus/plugins/tools/2geomtools/meshdistortion/meshdistortiondialog.ui \ scribus/plugins/tools/2geomtools/pathalongpath/pathdialogbase.ui + SOURCES += scribus/actionmanager.cpp \ + scribus/actionsearch.cpp \ scribus/appmodehelper.cpp \ scribus/canvas.cpp \ scribus/canvasgesture_cellselect.cpp \ @@ -1514,6 +1520,7 @@ scribus/text/textsource.cpp \ scribus/ui/about.cpp \ scribus/ui/aboutplugins.cpp \ + scribus/ui/actionsearchdialog.cpp \ scribus/ui/AdapterWidget.cpp \ scribus/ui/adjustcmsdialog.cpp \ scribus/ui/aligndistribute.cpp \ Index: scribus/actionmanager.cpp =================================================================== --- scribus/actionmanager.cpp (revision 23086) +++ scribus/actionmanager.cpp (working copy) @@ -991,6 +991,8 @@ name="helpAboutQt"; scrActions->insert(name, new ScrAction("", defaultKey(name), mainWindow)); (*scrActions)[name]->setMenuRole(QAction::AboutQtRole); + name="helpActionSearch"; + scrActions->insert(name, new ScrAction("", defaultKey(name), mainWindow)); name="helpTooltips"; scrActions->insert(name, new ScrAction("", defaultKey(name), mainWindow)); name="helpManual"; @@ -1014,6 +1016,7 @@ connect( (*scrActions)["helpAboutScribus"], SIGNAL(triggered()), mainWindow, SLOT(slotHelpAbout()) ); connect( (*scrActions)["helpAboutPlugins"], SIGNAL(triggered()), mainWindow, SLOT(slotHelpAboutPlugins()) ); connect( (*scrActions)["helpAboutQt"], SIGNAL(triggered()), mainWindow, SLOT(slotHelpAboutQt()) ); + connect( (*scrActions)["helpActionSearch"], SIGNAL(triggered()), mainWindow, SLOT(slotHelpActionSearch()) ); connect( (*scrActions)["helpTooltips"], SIGNAL(triggered()), mainWindow, SLOT(ToggleTips()) ); connect( (*scrActions)["helpManual"], SIGNAL(triggered()), mainWindow, SLOT(slotOnlineHelp()) ); connect( (*scrActions)["helpCheckUpdates"], SIGNAL(triggered()), mainWindow, SLOT(slotHelpCheckUpdates()) ); @@ -1744,6 +1747,7 @@ (*scrActions)["helpAboutScribus"]->setTexts( tr("&About Scribus")); (*scrActions)["helpAboutPlugins"]->setTexts( tr("&About Plugins")); (*scrActions)["helpAboutQt"]->setTexts( tr("About &Qt")); + (*scrActions)["helpActionSearch"]->setTexts( tr("Action &Search")); (*scrActions)["helpTooltips"]->setTexts( tr("Toolti&ps")); (*scrActions)["showMouseCoordinates"]->setTexts( tr("Move/Resize Value Indicator")); (*scrActions)["helpManual"]->setTexts( tr("Scribus &Manual...")); @@ -1968,6 +1972,7 @@ //Extras Menu //Windows Menu //Help Menu + defKeys.insert("helpActionSearch", Qt::CTRL+Qt::Key_Slash); defKeys.insert("helpManual", Qt::Key_F1); //GUI and specials Index: scribus/actionsearch.cpp =================================================================== --- scribus/actionsearch.cpp (nonexistent) +++ scribus/actionsearch.cpp (working copy) @@ -0,0 +1,77 @@ +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#include "actionsearch.h" + +#include <QAction> +#include <QDebug> +#include <QList> +#include <QMenuBar> +#include <QMenu> +#include <QStringList> + +ActionSearch::ActionSearch(QMenuBar *menuBar) + : menuBar{menuBar} +{ + +} + +void ActionSearch::update() +{ + m_actions.clear(); + + for (auto menuAction: menuBar->actions()) + readMenuActions(menuAction->menu()); +} + +void ActionSearch::execute(QString actionName) +{ + if (!m_actions.contains(actionName)) + return; + + QAction* action = m_actions[actionName]; + if (!action->isEnabled()) + return; + action->trigger(); +} + +void ActionSearch::readMenuActions(QMenu* menu) +{ + // TODO: check why menu can be null + if (menu == nullptr) + return; + + QStringList menus; + QMenu* currentMenu = menu; + while (currentMenu != nullptr) + { + QString title = currentMenu->title().replace("&", ""); + menus.prepend(title); + currentMenu = dynamic_cast<QMenu*>(currentMenu->parentWidget()); + } + QString menuName = menus.join(" > "); + + for (auto action: menu->actions()) + { + if (action->menu() != nullptr) + { + readMenuActions(action->menu()); + continue; + } + + QString actionName = action->text().replace("&", ""); + if (actionName.isEmpty() || !action->isEnabled()) + continue; + + // TODO: we might want to have a multilevel menuName + if (!menuName.isEmpty()) + actionName += " (" + menuName +")"; + m_actions.insert(actionName, action); + } +} Index: scribus/actionsearch.h =================================================================== --- scribus/actionsearch.h (nonexistent) +++ scribus/actionsearch.h (working copy) @@ -0,0 +1,41 @@ +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef ACTIONSEARCH_H +#define ACTIONSEARCH_H + +class QAction; +class QMenu; +class QMenuBar; + +#include <QList> +#include <QHash> + +#include "scribusapi.h" + +class SCRIBUS_API ActionSearch +{ +public: + ActionSearch(QMenuBar *menuBar); + ~ActionSearch() {} + + QList<QString> getActionNames() const { return m_actions.keys(); } + + void update(); + void execute(QString actionName); + +private: + QMenuBar* menuBar; + + void readMenuActions(QMenu* menu); + + QHash<QString, QAction*> m_actions; // std::unordered_map +}; + +#endif Index: scribus/CMakeLists.txt =================================================================== --- scribus/CMakeLists.txt (revision 23086) +++ scribus/CMakeLists.txt (working copy) @@ -88,6 +88,7 @@ set(SCRIBUS_UI_SRC ui/aboutplugins.ui + ui/actionsearchdialog.ui ui/aligndistribute.ui ui/annot.ui ui/arcvectorbase.ui @@ -307,6 +308,7 @@ urllauncher.h ui/about.h ui/aboutplugins.h + ui/actionsearchdialog.h ui/adjustcmsdialog.h ui/aligndistribute.h ui/alignselect.h @@ -564,6 +566,7 @@ set(SCRIBUS_SOURCES actionmanager.cpp + actionsearch.cpp appmodehelper.cpp canvas.cpp canvasgesture_cellselect.cpp @@ -808,6 +811,7 @@ third_party/fparser/fparser.cc ui/about.cpp ui/aboutplugins.cpp + ui/actionsearchdialog.cpp ui/adjustcmsdialog.cpp ui/aligndistribute.cpp ui/alignselect.cpp Index: scribus/scribus.cpp =================================================================== --- scribus/scribus.cpp (revision 23086) +++ scribus/scribus.cpp (working copy) @@ -95,6 +95,7 @@ #include "actionmanager.h" +#include "actionsearch.h" #include "appmodehelper.h" #include "appmodes.h" #include "canvasmode.h" @@ -156,6 +157,7 @@ #include "tocgenerator.h" #include "ui/about.h" #include "ui/aboutplugins.h" +#include "ui/actionsearchdialog.h" #include "ui/adjustcmsdialog.h" #include "ui/aligndistribute.h" #include "ui/annot.h" @@ -1151,6 +1153,7 @@ scrMenuMgr->addMenuItemString("helpManual", "Help"); scrMenuMgr->addMenuItemString("helpChat", "Help"); scrMenuMgr->addMenuItemString("SEPARATOR", "Help"); + scrMenuMgr->addMenuItemString("helpActionSearch", "Help"); scrMenuMgr->addMenuItemString("helpTooltips", "Help"); scrMenuMgr->addMenuItemString("SEPARATOR", "Help"); scrMenuMgr->addMenuItemString("helpOnlineWWW", "Help"); @@ -5222,6 +5225,24 @@ ScMessageBox::aboutQt(this, tr("About Qt")); } +void ScribusMainWindow::slotHelpActionSearch() +{ + ActionSearch actionSearch(this->menuBar()); + actionSearch.update(); + + QScopedPointer<ActionSearchDialog> dialog(new ActionSearchDialog(this, actionSearch.getActionNames())); + dialog->setModal(true); + + int result = dialog->exec(); + if (result != QDialog::Accepted) + return; + + QString actionName = dialog->getActionName(); + if (actionName.isEmpty()) + return; + actionSearch.execute(actionName); +} + void ScribusMainWindow::slotHelpCheckUpdates() { About dia(this, About::CheckUpdates); Index: scribus/scribus.h =================================================================== --- scribus/scribus.h (revision 23086) +++ scribus/scribus.h (working copy) @@ -390,6 +390,7 @@ void slotHelpAbout(); void slotHelpAboutPlugins(); void slotHelpAboutQt(); + void slotHelpActionSearch(); void slotHelpCheckUpdates(); void slotRaiseOnlineHelp(); void slotOnlineHelp(const QString & jumpToSection=QString(), const QString & jumpToFile=QString()); Index: scribus/ui/actionsearchdialog.cpp =================================================================== --- scribus/ui/actionsearchdialog.cpp (nonexistent) +++ scribus/ui/actionsearchdialog.cpp (working copy) @@ -0,0 +1,144 @@ +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#include <QDebug> +#include <QMainWindow> +#include <QString> +#include <QEvent> +#include <QKeyEvent> + +#include "actionsearchdialog.h" +#include "ui_actionsearchdialog.h" + +ActionSearchDialog::ActionSearchDialog(QMainWindow *parent, QList<QString> actionNames) : + QDialog{parent}, + ui{new Ui::ActionSearchDialog}, + m_actionNames{actionNames} +{ + ui->setupUi(this); + + ui->filterLineEdit->installEventFilter(this); + installEventFilter(this); + + connect(ui->filterLineEdit, &QLineEdit::textChanged, this, &ActionSearchDialog::updateList); + connect(this, &ActionSearchDialog::keyArrowUpPressed, this, &ActionSearchDialog::moveSelectionUp); + connect(this, &ActionSearchDialog::keyArrowDownPressed, this, &ActionSearchDialog::moveSelectionDown); + connect(ui->actionsListWidget, &QListWidget::itemDoubleClicked, this, &QDialog::accept); +} + +ActionSearchDialog::~ActionSearchDialog() +{ + delete ui; +} + +QString ActionSearchDialog::getActionName() const +{ + if (ui->actionsListWidget->count() == 0) + return QString(); + + return ui->actionsListWidget->currentItem()->text(); +} + +/** + * @brief capture return, arrow keys, and tab + */ +bool ActionSearchDialog::eventFilter(QObject *obj, QEvent *event) +{ + if (obj == ui->filterLineEdit) { + if (event->type() == QEvent::KeyPress) { + return filterLineEditKeyPress(static_cast<QKeyEvent*>(event)); + } + } + return false; +} + +bool ActionSearchDialog::filterLineEditKeyPress(QKeyEvent * event) +{ + switch (event->key()) + { + case Qt::Key_Enter: + case Qt::Key_Return: + this->accept(); + return true; + case Qt::Key_Up: + emit keyArrowUpPressed(); + return true; + case Qt::Key_Down: + case Qt::Key_Tab: + emit keyArrowDownPressed(); + return true; + default: + return false; + } +} + +void ActionSearchDialog::moveSelectionUp() +{ + int i = ui->actionsListWidget->currentRow(); + if (i > 0) + { + ui->actionsListWidget->setCurrentRow(i - 1); + } +} + +void ActionSearchDialog::moveSelectionDown() +{ + int i = ui->actionsListWidget->currentRow(); + if (i < ui->actionsListWidget->count() - 1) + ui->actionsListWidget->setCurrentRow(i + 1); +} + + +/** + * Fill the list with all actions that match the filter. + * If the filter contains multiple words, acceppts all actions that + * contain all the words + */ +void ActionSearchDialog::updateList() +{ + ui->actionsListWidget->clear(); + + const auto filter = ui->filterLineEdit->text().trimmed(); + if (filter.isEmpty()) + return; + + if (!filter.contains(" ")) + { + for (const auto& name: m_actionNames) + { + if (name.contains(filter, Qt::CaseInsensitive)) + { + ui->actionsListWidget->addItem(name); + } + } + } + else + { + auto words = filter.split(" "); + for (const auto& name: m_actionNames) + { + bool matches(true); + for (const auto& word: words) + { + if (!name.contains(word, Qt::CaseInsensitive)) + { + matches = false; + break; + } + } + + if (!matches) + continue; + ui->actionsListWidget->addItem(name); + } + } + + if (ui->actionsListWidget->count() > 0) + ui->actionsListWidget->setCurrentRow(0); +} Index: scribus/ui/actionsearchdialog.h =================================================================== --- scribus/ui/actionsearchdialog.h (nonexistent) +++ scribus/ui/actionsearchdialog.h (working copy) @@ -0,0 +1,52 @@ +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef ACTIONSEARCHDIALOG_H +#define ACTIONSEARCHDIALOG_H + +class QKeyEvent; +class QMainWindow; +class QString; +class QEvent; + +#include <QDialog> +#include <QList> + +namespace Ui { class ActionSearchDialog; } + +class ActionSearchDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ActionSearchDialog(QMainWindow *parent, QList<QString> actionNames); + ~ActionSearchDialog(); + + QString getActionName() const; + +protected: + bool eventFilter(QObject *obj, QEvent *ev); + +private: + Ui::ActionSearchDialog *ui; + QList<QString> m_actionNames; + + bool filterLineEditKeyPress(QKeyEvent * event); + +private slots: + void moveSelectionUp(); + void moveSelectionDown(); + void updateList(); + +signals: + void keyArrowUpPressed(); + void keyArrowDownPressed(); +}; + +#endif Index: scribus/ui/actionsearchdialog.ui =================================================================== --- scribus/ui/actionsearchdialog.ui (nonexistent) +++ scribus/ui/actionsearchdialog.ui (working copy) @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>ActionSearchDialog</class> + <widget class="QDialog" name="ActionSearchDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>300</height> + </rect> + </property> + <property name="windowTitle"> + <string>Action Search</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QLineEdit" name="filterLineEdit"> + <property name="placeholderText"> + <string>Search for action...</string> + </property> + </widget> + </item> + <item> + <widget class="QListWidget" name="actionsListWidget"/> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui> Index: win32/msvc2013/scribus-main/Scribus.vcxproj =================================================================== --- win32/msvc2013/scribus-main/Scribus.vcxproj (revision 23086) +++ win32/msvc2013/scribus-main/Scribus.vcxproj (working copy) @@ -236,6 +236,7 @@ </ItemDefinitionGroup> <ItemGroup> <moc Include="..\..\..\scribus\appmodehelper.h" /> + <ClInclude Include="..\..\..\scribus\actionsearch.h" /> <ClInclude Include="..\..\..\scribus\appmodes.h" /> <ClInclude Include="..\..\..\scribus\collapsedtablepainterex.h" /> <ClInclude Include="..\..\..\scribus\colormgmt\scciedata.h" /> @@ -605,6 +606,7 @@ <moc Include="..\..\..\scribus\ui\pdfversionmodel.h" /> <moc Include="..\..\..\scribus\ui\cxfimportdialog.h" /> <moc Include="..\..\..\scribus\ui\numformatcombo.h" /> + <moc Include="..\..\..\scribus\ui\actionsearchdialog.h" /> <ClInclude Include="..\..\..\scribus\ui\propertywidgetbase.h" /> <moc Include="..\..\..\scribus\pslib.h" /> <moc Include="..\..\..\scribus\ui\query.h" /> @@ -843,6 +845,7 @@ <ClInclude Include="..\..\..\scribus\colormgmt\sclcms2colortransformimpl.h" /> </ItemGroup> <ItemGroup> + <ClCompile Include="..\..\..\scribus\actionsearch.cpp" /> <ClCompile Include="..\..\..\scribus\appmodehelper.cpp" /> <ClCompile Include="..\..\..\scribus\collapsedtablepainterex.cpp" /> <ClCompile Include="..\..\..\scribus\colormgmt\scciedata.cpp" /> @@ -902,6 +905,7 @@ <ClCompile Include="..\..\..\scribus\ui\about.cpp" /> <ClCompile Include="..\..\..\scribus\ui\aboutplugins.cpp" /> <ClCompile Include="..\..\..\scribus\actionmanager.cpp" /> + <ClCompile Include="..\..\..\scribus\ui\actionsearchdialog.cpp" /> <ClCompile Include="..\..\..\scribus\ui\adjustcmsdialog.cpp" /> <ClCompile Include="..\..\..\scribus\ui\aligndistribute.cpp" /> <ClCompile Include="..\..\..\scribus\ui\alignselect.cpp" /> @@ -1528,6 +1532,7 @@ </ItemGroup> <ItemGroup> <uic Include="..\..\..\scribus\ui\aboutplugins.ui" /> + <uic Include="..\..\..\scribus\ui\actionsearchdialog.ui" /> <uic Include="..\..\..\scribus\ui\aligndistribute.ui" /> <uic Include="..\..\..\scribus\ui\annot.ui" /> <uic Include="..\..\..\scribus\ui\arcvectorbase.ui" /> Index: win32/msvc2013/scribus-main/Scribus.vcxproj.filters =================================================================== --- win32/msvc2013/scribus-main/Scribus.vcxproj.filters (revision 23086) +++ win32/msvc2013/scribus-main/Scribus.vcxproj.filters (working copy) @@ -797,10 +797,10 @@ <ClInclude Include="..\..\..\scribus\sccolorstructs.h"> <Filter>Header Files</Filter> </ClInclude> - <ClInclude Include="..\..\..\scribus\ui\numformatcombo.h"> + <ClInclude Include="..\..\..\scribus\actionsearch.h"> <Filter>Header Files</Filter> </ClInclude> - <ClInclude Include="..\..\..\scribus\ui\smnumformatcombo.h"> + <ClInclude Include="..\..\..\scribus\ui\actionsearchdialog.h"> <Filter>Header Files</Filter> </ClInclude> </ItemGroup> @@ -2488,6 +2488,12 @@ <ClCompile Include="..\..\..\scribus\ui\smnumformatcombo.cpp"> <Filter>Source Files</Filter> </ClCompile> + <ClCompile Include="..\..\..\scribus\actionsearch.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\scribus\ui\actionsearchdialog.cpp"> + <Filter>Source Files</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ResourceCompile Include="Scribus.rc"> @@ -2866,6 +2872,9 @@ <uic Include="..\..\..\scribus\ui\cxfimportdialogbase.ui"> <Filter>Form Files</Filter> </uic> + <uic Include="..\..\..\scribus\ui\actionsearchdialog.ui"> + <Filter>Form Files</Filter> + </uic> </ItemGroup> <ItemGroup> <lrelease Include="..\..\..\resources\translations\scribus.af.ts"> @@ -4103,6 +4112,12 @@ <moc Include="..\..\..\scribus\ui\cxfimportdialog.h"> <Filter>Header Files</Filter> </moc> + <moc Include="..\..\..\scribus\ui\numformatcombo.h"> + <Filter>Header Files</Filter> + </moc> + <moc Include="..\..\..\scribus\ui\smnumformatcombo.h"> + <Filter>Header Files</Filter> + </moc> </ItemGroup> <ItemGroup> <CustomBuild Include="..\..\..\scribus\color.h"> Index: win32/msvc2015/scribus-main/Scribus.vcxproj =================================================================== --- win32/msvc2015/scribus-main/Scribus.vcxproj (revision 23086) +++ win32/msvc2015/scribus-main/Scribus.vcxproj (working copy) @@ -236,6 +236,7 @@ </ItemDefinitionGroup> <ItemGroup> <moc Include="..\..\..\scribus\appmodehelper.h" /> + <ClInclude Include="..\..\..\scribus\actionsearch.h" /> <ClInclude Include="..\..\..\scribus\appmodes.h" /> <ClInclude Include="..\..\..\scribus\collapsedtablepainterex.h" /> <ClInclude Include="..\..\..\scribus\colormgmt\scciedata.h" /> @@ -605,6 +606,7 @@ <moc Include="..\..\..\scribus\ui\pdfversionmodel.h" /> <moc Include="..\..\..\scribus\ui\cxfimportdialog.h" /> <moc Include="..\..\..\scribus\ui\numformatcombo.h" /> + <moc Include="..\..\..\scribus\ui\actionsearchdialog.h" /> <ClInclude Include="..\..\..\scribus\ui\propertywidgetbase.h" /> <moc Include="..\..\..\scribus\pslib.h" /> <moc Include="..\..\..\scribus\ui\query.h" /> @@ -843,6 +845,7 @@ <ClInclude Include="..\..\..\scribus\colormgmt\sclcms2colortransformimpl.h" /> </ItemGroup> <ItemGroup> + <ClCompile Include="..\..\..\scribus\actionsearch.cpp" /> <ClCompile Include="..\..\..\scribus\appmodehelper.cpp" /> <ClCompile Include="..\..\..\scribus\collapsedtablepainterex.cpp" /> <ClCompile Include="..\..\..\scribus\colormgmt\scciedata.cpp" /> @@ -902,6 +905,7 @@ <ClCompile Include="..\..\..\scribus\ui\about.cpp" /> <ClCompile Include="..\..\..\scribus\ui\aboutplugins.cpp" /> <ClCompile Include="..\..\..\scribus\actionmanager.cpp" /> + <ClCompile Include="..\..\..\scribus\ui\actionsearchdialog.cpp" /> <ClCompile Include="..\..\..\scribus\ui\adjustcmsdialog.cpp" /> <ClCompile Include="..\..\..\scribus\ui\aligndistribute.cpp" /> <ClCompile Include="..\..\..\scribus\ui\alignselect.cpp" /> @@ -1528,6 +1532,7 @@ </ItemGroup> <ItemGroup> <uic Include="..\..\..\scribus\ui\aboutplugins.ui" /> + <uic Include="..\..\..\scribus\ui\actionsearchdialog.ui" /> <uic Include="..\..\..\scribus\ui\aligndistribute.ui" /> <uic Include="..\..\..\scribus\ui\annot.ui" /> <uic Include="..\..\..\scribus\ui\arcvectorbase.ui" /> Index: win32/msvc2015/scribus-main/Scribus.vcxproj.filters =================================================================== --- win32/msvc2015/scribus-main/Scribus.vcxproj.filters (revision 23086) +++ win32/msvc2015/scribus-main/Scribus.vcxproj.filters (working copy) @@ -797,10 +797,10 @@ <ClInclude Include="..\..\..\scribus\sccolorstructs.h"> <Filter>Header Files</Filter> </ClInclude> - <ClInclude Include="..\..\..\scribus\ui\numformatcombo.h"> + <ClInclude Include="..\..\..\scribus\actionsearch.h"> <Filter>Header Files</Filter> </ClInclude> - <ClInclude Include="..\..\..\scribus\ui\smnumformatcombo.h"> + <ClInclude Include="..\..\..\scribus\ui\actionsearchdialog.h"> <Filter>Header Files</Filter> </ClInclude> </ItemGroup> @@ -2488,6 +2488,12 @@ <ClCompile Include="..\..\..\scribus\ui\smnumformatcombo.cpp"> <Filter>Source Files</Filter> </ClCompile> + <ClCompile Include="..\..\..\scribus\actionsearch.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\scribus\ui\actionsearchdialog.cpp"> + <Filter>Source Files</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ResourceCompile Include="Scribus.rc"> @@ -2866,6 +2872,9 @@ <uic Include="..\..\..\scribus\ui\cxfimportdialogbase.ui"> <Filter>Form Files</Filter> </uic> + <uic Include="..\..\..\scribus\ui\actionsearchdialog.ui"> + <Filter>Form Files</Filter> + </uic> </ItemGroup> <ItemGroup> <lrelease Include="..\..\..\resources\translations\scribus.af.ts"> @@ -4103,6 +4112,12 @@ <moc Include="..\..\..\scribus\ui\cxfimportdialog.h"> <Filter>Header Files</Filter> </moc> + <moc Include="..\..\..\scribus\ui\numformatcombo.h"> + <Filter>Header Files</Filter> + </moc> + <moc Include="..\..\..\scribus\ui\smnumformatcombo.h"> + <Filter>Header Files</Filter> + </moc> </ItemGroup> <ItemGroup> <CustomBuild Include="..\..\..\scribus\color.h"> |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-01-24 10:29 | ale | New Issue | |
2019-01-24 14:35 | ale | File Added: actionSearch.tar | |
2019-01-24 14:35 | ale | Note Added: 0045854 | |
2019-01-24 14:35 | ale | Assigned To | => ale |
2019-01-24 14:35 | ale | Status | new => assigned |
2019-01-24 14:35 | ale | Tag Attached: patch | |
2019-01-24 14:35 | ale | Summary | / to search through the scribus actions => [Patch] / to search through the scribus actions |
2019-07-25 21:35 | jghali | File Added: 15552_action_search.patch | |
2019-07-25 21:35 | jghali | Note Added: 0046423 | |
2019-07-27 23:10 | jghali | Summary | [Patch] / to search through the scribus actions => Add possibility to search through scribus actions |
2019-07-27 23:17 | jghali | Status | assigned => resolved |
2019-07-27 23:17 | jghali | Resolution | open => fixed |
2019-07-27 23:17 | jghali | Fixed in Version | => 1.5.5.svn |
2019-07-30 21:27 | cbradney | Status | resolved => closed |