src/uiutilities.cpp

Fri, 01 Jul 2022 16:46:43 +0300

author
Teemu Piippo <teemu.s.piippo@gmail.com>
date
Fri, 01 Jul 2022 16:46:43 +0300
changeset 312
2637134bc37c
parent 264
76a025db4948
permissions
-rw-r--r--

Fix right click to delete not really working properly
Instead of removing the point that had been added, it would remove
the point that is being drawn, which would cause it to overwrite the
previous point using the new point, causing a bit of a delay

24
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
1 /*
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
2 * LDForge: LDraw parts authoring CAD
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
3 * Copyright (C) 2013 - 2020 Teemu Piippo
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
4 *
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
5 * This program is free software: you can redistribute it and/or modify
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
6 * it under the terms of the GNU General Public License as published by
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
7 * the Free Software Foundation, either version 3 of the License, or
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
8 * (at your option) any later version.
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
9 *
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
10 * This program is distributed in the hope that it will be useful,
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
13 * GNU General Public License for more details.
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
14 *
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
15 * You should have received a copy of the GNU General Public License
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
17 */
1a0faaaceb84 added license
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
18
178
a23024fc98e0 fix saving
Teemu Piippo <teemu@hecknology.net>
parents: 24
diff changeset
19 #include <QStyleFactory>
259
c27612f0eac0 - Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 178
diff changeset
20 #include <QWidget>
264
76a025db4948 Convert all includes to be relative to project root directory. Files that cannot be found in this manner use angle brackets.
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 259
diff changeset
21 #include "src/uiutilities.h"
16
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
22
259
c27612f0eac0 - Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 178
diff changeset
23 std::vector<QAction*> uiutilities::collectActions(QObject* subject)
16
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
24 {
259
c27612f0eac0 - Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 178
diff changeset
25 std::vector<QAction*> actions;
16
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
26 for (QAction* action : subject->findChildren<QAction*>())
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
27 {
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
28 if (not action->text().isEmpty()
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
29 and action->data().isNull()
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
30 and not action->objectName().isEmpty())
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
31 {
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
32 actions.push_back(action);
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
33 }
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
34 }
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
35 return actions;
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
36 }
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
37
259
c27612f0eac0 - Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 178
diff changeset
38 uiutilities::KeySequenceMap uiutilities::makeKeySequenceMap(const std::vector<QAction*>& actions)
16
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
39 {
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
40 KeySequenceMap result;
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
41 for (QAction* action : actions)
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
42 {
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
43 result[action->objectName()] = action->shortcut();
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
44 }
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
45 return result;
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
46 }
178
a23024fc98e0 fix saving
Teemu Piippo <teemu@hecknology.net>
parents: 24
diff changeset
47
a23024fc98e0 fix saving
Teemu Piippo <teemu@hecknology.net>
parents: 24
diff changeset
48 void uiutilities::colorizeWidget(QWidget* widget, const QColor& color)
a23024fc98e0 fix saving
Teemu Piippo <teemu@hecknology.net>
parents: 24
diff changeset
49 {
a23024fc98e0 fix saving
Teemu Piippo <teemu@hecknology.net>
parents: 24
diff changeset
50 QPalette pal{color};
a23024fc98e0 fix saving
Teemu Piippo <teemu@hecknology.net>
parents: 24
diff changeset
51 widget->setPalette(pal);
a23024fc98e0 fix saving
Teemu Piippo <teemu@hecknology.net>
parents: 24
diff changeset
52 widget->setAutoFillBackground(true);
a23024fc98e0 fix saving
Teemu Piippo <teemu@hecknology.net>
parents: 24
diff changeset
53 widget->setStyle(QStyleFactory::create("Fusion"));
a23024fc98e0 fix saving
Teemu Piippo <teemu@hecknology.net>
parents: 24
diff changeset
54 widget->update();
259
c27612f0eac0 - Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 178
diff changeset
55 }

mercurial