Skip to content
Snippets Groups Projects
Commit 2c18ab31 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

+ ActionFactory::createRemoveAction etc

parent c1dd0e37
No related branches found
No related tags found
1 merge request!2387unify code for list views
......@@ -27,6 +27,7 @@
#include "GUI/View/Layout/ApplicationSettings.h"
#include "GUI/View/Loader/Legacy1dDialog.h"
#include "GUI/View/Manager/ProjectManager.h"
#include "GUI/View/Setup/FrameActions.h"
#include "GUI/View/Widget/ListItemDelegate.h"
#include "GUI/View/Widget/StyledToolbar.h"
#include <QBoxLayout>
......@@ -107,10 +108,7 @@ DatafilesSelector::DatafilesSelector(StackedDataFrames* data_frames)
m_rename_data_action->setToolTip("Rename data");
connect(m_rename_data_action, &QAction::triggered, this, &DatafilesSelector::renameCurrentItem);
m_remove_data_action->setText("Remove");
m_remove_data_action->setIcon(QIcon(":/images/delete.svg"));
m_remove_data_action->setIconText("Remove");
m_remove_data_action->setToolTip("Remove selected data");
m_remove_data_action = ActionFactory::createRemoveAction("data file");
connect(m_remove_data_action, &QAction::triggered, this, &DatafilesSelector::removeCurrentItem);
// m_qview->setAttribute(Qt::WA_MacShowFocusRect, false); // TODO/Mac: needed?
......
......@@ -21,6 +21,7 @@
#include "GUI/Support/Data/JobStatus.h"
#include "GUI/View/Job/JobProgressDelegate.h"
#include "GUI/View/Job/JobsQModel.h"
#include "GUI/View/Setup/FrameActions.h"
#include "GUI/View/Widget/StyledToolbar.h"
#include <QVBoxLayout>
......@@ -65,9 +66,7 @@ JobsListing::JobsListing(QWidget* parent, Qt::WindowFlags f)
connect(m_cancel_action, &QAction::triggered, this, &JobsListing::onCancel);
addAction(m_cancel_action);
m_remove_action = new QAction("Remove", this);
m_remove_action->setIcon(QIcon(":/images/delete.svg"));
m_remove_action->setToolTip("Remove currently selected jobs");
m_remove_action = ActionFactory::createRemoveAction("job");
connect(m_remove_action, &QAction::triggered, this, &JobsListing::onRemove);
addAction(m_remove_action);
......
......@@ -19,6 +19,7 @@
#include "GUI/Model/Sample/SamplesSet.h"
#include "GUI/View/Layout/ApplicationSettings.h"
#include "GUI/View/List/SamplesQModel.h"
#include "GUI/View/Setup/FrameActions.h"
#include "GUI/View/Widget/ListItemDelegate.h"
#include <QAction>
#include <QMenu>
......@@ -91,9 +92,7 @@ void SamplesQListView::copySample(SampleItem* item)
QAction* SamplesQListView::createRemoveAction(QObject* parent, SampleItem* item)
{
auto* removeAction = new QAction("Remove", parent);
removeAction->setIcon(QIcon(":/images/delete.svg"));
removeAction->setToolTip("Remove this sample");
QAction* removeAction = ActionFactory::createRemoveAction("sample", parent);
connect(removeAction, &QAction::triggered, [this, item] { removeSample(item); });
return removeAction;
......@@ -101,9 +100,7 @@ QAction* SamplesQListView::createRemoveAction(QObject* parent, SampleItem* item)
QAction* SamplesQListView::createCopyAction(QObject* parent, SampleItem* item)
{
auto* copyAction = new QAction("Clone", parent);
copyAction->setIcon(QIcon(":/images/content-copy.svg"));
copyAction->setToolTip("Clone this sample");
auto* copyAction = ActionFactory::createCopyAction("sample", parent);
connect(copyAction, &QAction::triggered, [this, item] { copySample(item); });
return copyAction;
......
......@@ -21,6 +21,7 @@
#include "GUI/View/Layout/ApplicationSettings.h"
#include "GUI/View/Material/MaterialsQModel.h"
#include "GUI/View/Numeric/DoubleSpinBox.h"
#include "GUI/View/Setup/FrameActions.h"
#include "GUI/View/Widget/StyledToolbar.h"
#include <QAction>
#include <QColorDialog>
......@@ -213,9 +214,7 @@ MaterialEditorDialog::MaterialEditorDialog(SampleItem* sample, const QString& id
addSldMaterialAction->setToolTip("Add new material");
connect(addSldMaterialAction, &QAction::triggered, this, &MaterialEditorDialog::addSldMaterial);
m_remove_material_action = new QAction("Remove");
m_remove_material_action->setIcon(QIcon(":/images/delete.svg"));
m_remove_material_action->setToolTip("Remove selected material");
m_remove_material_action = ActionFactory::createRemoveAction("material");
connect(m_remove_material_action, &QAction::triggered, this,
&MaterialEditorDialog::removeCurrentMaterial);
......
......@@ -14,6 +14,23 @@
#include "GUI/View/Setup/FrameActions.h"
QAction* ActionFactory::createCopyAction(const QString& type, QObject* parent)
{
auto* result = new QAction("Copy", parent);
result->setIcon(QIcon(":/images/content-copy.svg"));
result->setToolTip("Clone current " + type);
return result;
}
QAction* ActionFactory::createRemoveAction(const QString& type, QObject* parent)
{
auto* result = new QAction("Remove", parent);
result->setIcon(QIcon(":/images/delete.svg"));
result->setToolTip("Remove current " + type);
return result;
}
FrameActions* gActions; //<! Global pointer to single instance.
FrameActions::FrameActions()
......@@ -75,13 +92,8 @@ FrameActions::FrameActions()
new_depthprobe_instrument->setIcon(QIcon(":/images/shape-square-plus.svg"));
new_depthprobe_instrument->setToolTip("Add new depth probe instrument with default settings");
remove_instrument = new QAction("Remove");
remove_instrument->setIcon(QIcon(":/images/delete.svg"));
remove_instrument->setToolTip("Remove selected instrument");
copy_instrument = new QAction("Copy");
copy_instrument->setIcon(QIcon(":/images/content-copy.svg"));
copy_instrument->setToolTip("Make a copy of the selected instrument");
remove_instrument = ActionFactory::createRemoveAction("instrument");
copy_instrument = ActionFactory::createCopyAction("instrument");
store_in_library_instrument = new QAction("Store in library");
store_in_library_instrument->setIcon(QIcon(":/images/library.svg"));
......
......@@ -16,6 +16,14 @@
#define BORNAGAIN_GUI_VIEW_SETUP_FRAMEACTIONS_H
#include <QAction>
#include <QString>
namespace ActionFactory {
QAction* createCopyAction(const QString& type, QObject* parent = nullptr);
QAction* createRemoveAction(const QString& type, QObject* parent = nullptr);
} // namespace ActionFactory
//! Actions for use in GUI top-level frames. Accessible through global gActions.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment