Changeset View
Changeset View
Standalone View
Standalone View
libs/ui/kis_zoom_manager.cc
Show First 20 Lines • Show All 42 Lines • ▼ Show 20 Line(s) | |||||
43 | #include "kis_coordinates_converter.h" | 43 | #include "kis_coordinates_converter.h" | ||
44 | #include "kis_image.h" | 44 | #include "kis_image.h" | ||
45 | #include "kis_statusbar.h" | 45 | #include "kis_statusbar.h" | ||
46 | #include "kis_config.h" | 46 | #include "kis_config.h" | ||
47 | #include "krita_utils.h" | 47 | #include "krita_utils.h" | ||
48 | #include "kis_canvas_resource_provider.h" | 48 | #include "kis_canvas_resource_provider.h" | ||
49 | #include "kis_lod_transform.h" | 49 | #include "kis_lod_transform.h" | ||
50 | #include "kis_snap_line_strategy.h" | 50 | #include "kis_snap_line_strategy.h" | ||
51 | #include "kis_guides_config.h" | ||||
52 | #include "kis_guides_manager.h" | ||||
51 | 53 | | |||
52 | 54 | | |||
53 | class KisZoomController : public KoZoomController | 55 | class KisZoomController : public KoZoomController | ||
54 | { | 56 | { | ||
55 | public: | 57 | public: | ||
56 | KisZoomController(KoCanvasController *co, KisCoordinatesConverter *zh, KActionCollection *actionCollection, KoZoomAction::SpecialButtons specialButtons, QObject *parent) | 58 | KisZoomController(KoCanvasController *co, KisCoordinatesConverter *zh, KActionCollection *actionCollection, KoZoomAction::SpecialButtons specialButtons, QObject *parent) | ||
57 | : KoZoomController(co, zh, actionCollection, specialButtons, parent), | 59 | : KoZoomController(co, zh, actionCollection, specialButtons, parent), | ||
58 | m_converter(zh) | 60 | m_converter(zh) | ||
▲ Show 20 Lines • Show All 69 Lines • ▼ Show 20 Line(s) | 95 | { | |||
128 | m_horizontalRuler->setVisible(false); // this prevents the rulers from flashing on to off when a new document is created | 130 | m_horizontalRuler->setVisible(false); // this prevents the rulers from flashing on to off when a new document is created | ||
129 | 131 | | |||
130 | m_verticalRuler = new KoRuler(m_view, Qt::Vertical, m_zoomHandler); | 132 | m_verticalRuler = new KoRuler(m_view, Qt::Vertical, m_zoomHandler); | ||
131 | m_verticalRuler->setShowMousePosition(true); | 133 | m_verticalRuler->setShowMousePosition(true); | ||
132 | m_verticalRuler->createGuideToolConnection(m_view->canvasBase()); | 134 | m_verticalRuler->createGuideToolConnection(m_view->canvasBase()); | ||
133 | m_verticalRuler->setVisible(false); | 135 | m_verticalRuler->setVisible(false); | ||
134 | 136 | | |||
135 | 137 | | |||
138 | QAction *rulerAction = actionCollection->action("ruler_pixel_multiple2"); | ||||
139 | if (m_view->document()->guidesConfig().rulersMultiple2()) { | ||||
140 | m_horizontalRuler->setUnitPixelMultiple2(true); | ||||
141 | m_verticalRuler->setUnitPixelMultiple2(true); | ||||
142 | } | ||||
136 | QList<QAction*> unitActions = m_view->createChangeUnitActions(true); | 143 | QList<QAction*> unitActions = m_view->createChangeUnitActions(true); | ||
144 | unitActions.append(rulerAction); | ||||
137 | m_horizontalRuler->setPopupActionList(unitActions); | 145 | m_horizontalRuler->setPopupActionList(unitActions); | ||
138 | m_verticalRuler->setPopupActionList(unitActions); | 146 | m_verticalRuler->setPopupActionList(unitActions); | ||
139 | 147 | | |||
140 | connect(m_view->document(), SIGNAL(unitChanged(const KoUnit&)), SLOT(applyRulersUnit(const KoUnit&))); | 148 | connect(m_view->document(), SIGNAL(unitChanged(const KoUnit&)), SLOT(applyRulersUnit(const KoUnit&))); | ||
149 | connect(rulerAction, SIGNAL(toggled(bool)), SLOT(setRulersPixelMultiple2(bool))); | ||||
141 | 150 | | |||
142 | layout->addWidget(m_horizontalRuler, 0, 1); | 151 | layout->addWidget(m_horizontalRuler, 0, 1); | ||
143 | layout->addWidget(m_verticalRuler, 1, 0); | 152 | layout->addWidget(m_verticalRuler, 1, 0); | ||
144 | layout->addWidget(static_cast<KoCanvasControllerWidget*>(m_canvasController), 1, 1); | 153 | layout->addWidget(static_cast<KoCanvasControllerWidget*>(m_canvasController), 1, 1); | ||
145 | 154 | | |||
146 | connect(m_canvasController->proxyObject, SIGNAL(canvasOffsetXChanged(int)), | 155 | connect(m_canvasController->proxyObject, SIGNAL(canvasOffsetXChanged(int)), | ||
147 | this, SLOT(pageOffsetChanged())); | 156 | this, SLOT(pageOffsetChanged())); | ||
148 | 157 | | |||
▲ Show 20 Lines • Show All 98 Lines • ▼ Show 20 Line(s) | |||||
247 | } | 256 | } | ||
248 | 257 | | |||
249 | void KisZoomManager::applyRulersUnit(const KoUnit &baseUnit) | 258 | void KisZoomManager::applyRulersUnit(const KoUnit &baseUnit) | ||
250 | { | 259 | { | ||
251 | if (m_view && m_view->image()) { | 260 | if (m_view && m_view->image()) { | ||
252 | m_horizontalRuler->setUnit(KoUnit(baseUnit.type(), m_view->image()->xRes())); | 261 | m_horizontalRuler->setUnit(KoUnit(baseUnit.type(), m_view->image()->xRes())); | ||
253 | m_verticalRuler->setUnit(KoUnit(baseUnit.type(), m_view->image()->yRes())); | 262 | m_verticalRuler->setUnit(KoUnit(baseUnit.type(), m_view->image()->yRes())); | ||
254 | } | 263 | } | ||
264 | if (m_view->viewManager()) { | ||||
265 | m_view->viewManager()->guidesManager()->setUnitType(baseUnit.type()); | ||||
266 | } | ||||
267 | } | ||||
268 | | ||||
269 | void KisZoomManager::setRulersPixelMultiple2(bool enabled) | ||||
270 | { | ||||
271 | m_horizontalRuler->setUnitPixelMultiple2(enabled); | ||||
272 | m_verticalRuler->setUnitPixelMultiple2(enabled); | ||||
273 | if (m_view->viewManager()) { | ||||
274 | m_view->viewManager()->guidesManager()->setRulersMultiple2(enabled); | ||||
275 | } | ||||
255 | } | 276 | } | ||
256 | 277 | | |||
257 | void KisZoomManager::setMinMaxZoom() | 278 | void KisZoomManager::setMinMaxZoom() | ||
258 | { | 279 | { | ||
259 | KisImageWSP image = m_view->image(); | 280 | KisImageWSP image = m_view->image(); | ||
260 | if (!image) return; | 281 | if (!image) return; | ||
261 | 282 | | |||
262 | QSize imageSize = image->size(); | 283 | QSize imageSize = image->size(); | ||
▲ Show 20 Lines • Show All 83 Lines • Show Last 20 Lines |