LibrePCB Developers Documentation
Loading...
Searching...
No Matches
outputjobsdialog.h
Go to the documentation of this file.
1/*
2 * LibrePCB - Professional EDA for everyone!
3 * Copyright (C) 2013 LibrePCB Developers, see AUTHORS.md for contributors.
4 * https://librepcb.org/
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef LIBREPCB_EDITOR_OUTPUTJOBSDIALOG_H
21#define LIBREPCB_EDITOR_OUTPUTJOBSDIALOG_H
22
23/*******************************************************************************
24 * Includes
25 ******************************************************************************/
27
28#include <QtCore>
29#include <QtWidgets>
30
31/*******************************************************************************
32 * Namespace / Forward Declarations
33 ******************************************************************************/
34namespace librepcb {
35
36class Project;
37class Workspace;
38
39namespace editor {
40
41class LibraryElementCache;
42class UndoStack;
43
44namespace Ui {
45class OutputJobsDialog;
46}
47
48/*******************************************************************************
49 * Class OutputJobsDialog
50 ******************************************************************************/
51
55class OutputJobsDialog final : public QDialog {
56 Q_OBJECT
57
58public:
59 // Constructors / Destructor
60 OutputJobsDialog() = delete;
61 OutputJobsDialog(const OutputJobsDialog& other) = delete;
62 explicit OutputJobsDialog(Workspace& ws, const LibraryElementCache& libCache,
63 Project& project, UndoStack& undoStack,
64 QWidget* parent = nullptr) noexcept;
65 ~OutputJobsDialog() noexcept;
66
67 // General Methods
68 void preselectJobByType(const QString& typeName) noexcept;
69 virtual void reject() noexcept override;
70
71 // Operator Overloads
72 OutputJobsDialog& operator=(const OutputJobsDialog& rhs) = delete;
73
74signals:
76
77private: // Methods
78 void addClicked() noexcept;
79 void copyClicked() noexcept;
80 void moveUpClicked() noexcept;
81 void moveDownClicked() noexcept;
82 void removeClicked() noexcept;
83 void openOutputDirectory() noexcept;
84 void removeUnknownFiles() noexcept;
85 void runJob(std::shared_ptr<OutputJob> job, bool open = false) noexcept;
86 void currentItemChanged(QListWidgetItem* current,
87 QListWidgetItem* previous) noexcept;
88 void buttonBoxClicked(QAbstractButton* button) noexcept;
89 bool applyChanges() noexcept;
90 void updateJobsList() noexcept;
91 void jobListEdited(const OutputJobList& list, int index,
92 const std::shared_ptr<const OutputJob>& obj,
93 OutputJobList::Event event) noexcept;
94 void writeTitleLine(const QString& msg) noexcept;
95 void writeOutputFileLine(const FilePath& fp) noexcept;
96 void writeUnknownFileLine(const FilePath& fp) noexcept;
97 void writeStrikeThroughLine(const QString& msg) noexcept;
98 void writeWarningLine(const QString& msg) noexcept;
99 void writeErrorLine(const QString& msg) noexcept;
100 void writeSuccessLine() noexcept;
101 void writeLogLine(const QString& line) noexcept;
102
103private: // Data
109 QScopedPointer<Ui::OutputJobsDialog> mUi;
110
111 // Slots
113};
114
115/*******************************************************************************
116 * End of File
117 ******************************************************************************/
118
119} // namespace editor
120} // namespace librepcb
121
122#endif
This class represents absolute, well-formatted paths to files or directories.
Definition filepath.h:127
Base class for all output job types.
Definition outputjob.h:50
The Project class represents a whole (opened) project with all its content.
Definition project.h:71
The Workspace class represents a workspace with all its data (library, projects, settings,...
Definition workspace.h:54
Cache for fast access to library elements.
Definition libraryelementcache.h:56
The OutputJobsDialog class.
Definition outputjobsdialog.h:55
void writeLogLine(const QString &line) noexcept
Definition outputjobsdialog.cpp:873
void removeClicked() noexcept
Definition outputjobsdialog.cpp:477
void removeUnknownFiles() noexcept
Definition outputjobsdialog.cpp:499
void writeStrikeThroughLine(const QString &msg) noexcept
Definition outputjobsdialog.cpp:852
void writeWarningLine(const QString &msg) noexcept
Definition outputjobsdialog.cpp:856
void copyClicked() noexcept
Definition outputjobsdialog.cpp:444
void addClicked() noexcept
Definition outputjobsdialog.cpp:305
void writeSuccessLine() noexcept
Definition outputjobsdialog.cpp:867
void writeTitleLine(const QString &msg) noexcept
Definition outputjobsdialog.cpp:833
OutputJobList mJobs
Definition outputjobsdialog.h:108
Workspace & mWs
Definition outputjobsdialog.h:104
QScopedPointer< Ui::OutputJobsDialog > mUi
Definition outputjobsdialog.h:109
const LibraryElementCache & mLibCache
Definition outputjobsdialog.h:105
void writeOutputFileLine(const FilePath &fp) noexcept
Definition outputjobsdialog.cpp:838
void writeUnknownFileLine(const FilePath &fp) noexcept
Definition outputjobsdialog.cpp:844
void openOutputDirectory() noexcept
Definition outputjobsdialog.cpp:491
UndoStack & mUndoStack
Definition outputjobsdialog.h:107
void jobListEdited(const OutputJobList &list, int index, const std::shared_ptr< const OutputJob > &obj, OutputJobList::Event event) noexcept
Definition outputjobsdialog.cpp:809
Project & mProject
Definition outputjobsdialog.h:106
void moveDownClicked() noexcept
Definition outputjobsdialog.cpp:467
void runJob(std::shared_ptr< OutputJob > job, bool open=false) noexcept
Definition outputjobsdialog.cpp:552
void updateJobsList() noexcept
Definition outputjobsdialog.cpp:770
bool applyChanges() noexcept
Definition outputjobsdialog.cpp:758
OutputJobList::OnEditedSlot mOnJobsEditedSlot
Definition outputjobsdialog.h:112
OutputJobsDialog(const OutputJobsDialog &other)=delete
void preselectJobByType(const QString &typeName) noexcept
Definition outputjobsdialog.cpp:249
virtual void reject() noexcept override
Definition outputjobsdialog.cpp:287
void moveUpClicked() noexcept
Definition outputjobsdialog.cpp:457
void currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous) noexcept
Definition outputjobsdialog.cpp:657
void buttonBoxClicked(QAbstractButton *button) noexcept
Definition outputjobsdialog.cpp:739
void writeErrorLine(const QString &msg) noexcept
Definition outputjobsdialog.cpp:862
The UndoStack class holds UndoCommand objects and provides undo/redo commands.
Definition undostack.h:106
Definition occmodel.cpp:77
Definition uuid.h:186