Krita Source Code Documentation
Loading...
Searching...
No Matches
presetdocker_dock.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2009 Cyrille Berger <cberger@cberger.net>
3 *
4 * SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
7#include "presetdocker_dock.h"
8
9#include <QHBoxLayout>
10
11#include <klocalizedstring.h>
12
14#include <KoCanvasBase.h>
15
16#include "kis_canvas2.h"
17#include "KisViewManager.h"
18#include "kis_paintop_box.h"
21#include "KisMainWindow.h"
22
23
25 : QDockWidget(i18nc("@title:window Brush presets chooser docker", "Brush Presets"))
26 , m_canvas(0)
27{
29 m_presetChooser->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
31 setWidget(m_presetChooser);
32}
33
35{
36 setEnabled(canvas != 0);
37
38 if (m_canvas) {
39 m_canvas->disconnectCanvasObserver(this);
40 m_presetChooser->disconnect(m_canvas->viewManager()->paintOpBox());
41 }
42
43 m_canvas = dynamic_cast<KisCanvas2*>(canvas);
44
45 if (!m_canvas || !m_canvas->viewManager() || !m_canvas->resourceManager()) return;
46
47 connect(m_presetChooser, SIGNAL(resourceSelected(KoResourceSP )),
48 m_canvas->viewManager()->paintOpBox(), SLOT(resourceSelected(KoResourceSP )));
49 connect(m_presetChooser, SIGNAL(resourceClicked(KoResourceSP )),
50 m_canvas->viewManager()->paintOpBox(), SLOT(resourceSelected(KoResourceSP )));
51 connect(canvas->resourceManager(), SIGNAL(canvasResourceChanged(int,QVariant)),
52 this, SLOT(canvasResourceChanged(int,QVariant)));
53
54
55 connect(m_canvas->viewManager()->mainWindow(), SIGNAL(themeChanged()), m_presetChooser, SLOT(slotThemeChanged()), Qt::UniqueConnection);
57
59}
60
61void PresetDockerDock::canvasResourceChanged(int key, const QVariant& /*v*/)
62{
64 if (m_canvas && m_canvas->resourceManager()) {
65 if (sender()) sender()->blockSignals(true);
66 KisPaintOpPresetSP preset = m_canvas->resourceManager()->resource(KoCanvasResource::CurrentPaintOpPreset).value<KisPaintOpPresetSP>();
67 if(preset)
69 if (sender()) sender()->blockSignals(false);
70 }
71 }
72}
73
74
75
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
void canvasResourceChanged(KisPaintOpPresetSP preset)
QPointer< KoCanvasResourceProvider > resourceManager
void setCanvas(KoCanvasBase *canvas) override
void canvasResourceChanged(int key=0, const QVariant &v=QVariant())
KisPaintOpPresetsChooserPopup * m_presetChooser
QPointer< KisCanvas2 > m_canvas