[kgraphviewer-devel] [KGraphViewer] 5238747: Re-enable toggle for birds eye view.
Kevin Funk
krf at electrostorm.net
Fri Dec 10 15:13:47 CET 2010
commit 52387472f559cd6531cc3adc132da222fffbe516
branch libkgraphviz
Author: Kevin Funk <krf at electrostorm.net>
Date: Fri Dec 10 14:14:47 2010 +0100
Re-enable toggle for birds eye view.
diff --git a/src/kgraphviz/dotgraphview.cpp b/src/kgraphviz/dotgraphview.cpp
index 014c18e..e386622 100644
--- a/src/kgraphviz/dotgraphview.cpp
+++ b/src/kgraphviz/dotgraphview.cpp
@@ -82,7 +82,7 @@
#include <ktoggleaction.h>
#include <kstandarddirs.h>
#include <kactionmenu.h>
-
+
// DotGraphView defaults
#define DEFAULT_ZOOMPOS KGraphViewerInterface::Auto
@@ -218,27 +218,29 @@ public:
void DotGraphViewPrivate::updateSizes(QSizeF s)
{
- kDebug() ;
+ kDebug();
+
Q_Q(DotGraphView);
if (m_canvas == 0)
return;
+
if (s == QSizeF(0,0)) s = q->size();
-
+
// the part of the canvas that should be visible
qreal cWidth = m_canvas->width() - 2*m_xMargin + 100;
qreal cHeight = m_canvas->height() - 2*m_yMargin + 100;
- // TODO: Re-enable
// hide birds eye view if no overview needed
-// if (//!_data || !_activeItem ||
-// !KGraphViewerPartSettings::birdsEyeViewEnabled() ||
-// (((cWidth * m_zoom) < s.width()) && (cHeight * m_zoom) < s.height()))
-// {
-// m_birdEyeView->hide();
-// return;
-// }
-// m_birdEyeView->hide();
-
+ if (!m_bevEnabledAction->isChecked() ||
+ (((cWidth * m_zoom) < s.width()) && (cHeight * m_zoom) < s.height())) {
+ kDebug() << "Hide the panner view";
+ m_birdEyeView->hide();
+ return;
+ }
+
+ kDebug() << "Show the panner view";
+ m_birdEyeView->hide();
+
// first, assume use of 1/3 of width/height (possible larger)
double zoom = .33 * s.width() / cWidth;
if (zoom * cHeight < .33 * s.height()) zoom = .33 * s.height() / cHeight;
@@ -511,7 +513,7 @@ void DotGraphViewPrivate::setupPopup()
QObject::connect(m_bevEnabledAction,
SIGNAL(toggled(bool)),
q,
- SLOT(slotBevToggled()));
+ SLOT(setPannerEnabled(bool)));
m_bevEnabledAction->setCheckable(true);
m_popup->addAction(m_bevEnabledAction);
@@ -573,11 +575,6 @@ void DotGraphViewPrivate::setupPopup()
bba->setChecked(true);
break;
}
-
- // TODO: Re-enable
-// kDebug() << " m_bevEnabledAction setting checked to : " << KGraphViewerPartSettings::birdsEyeViewEnabled();
-// m_bevEnabledAction->setChecked(KGraphViewerPartSettings::birdsEyeViewEnabled());
-// m_bevPopup->setEnabled(KGraphViewerPartSettings::birdsEyeViewEnabled());
}
void DotGraphViewPrivate::exportToImage()
@@ -1515,17 +1512,18 @@ KGraphViewerInterface::PannerPosition DotGraphView::zoomPos(const QString& s)
void DotGraphView::setPannerEnabled(bool enabled)
{
Q_D(DotGraphView);
- d->m_bevPopup->setEnabled(d->m_bevEnabledAction->isChecked());
- // TODO: Re-enable
-// KGraphViewerPartSettings::setBirdsEyeViewEnabled(d->m_bevEnabledAction->isChecked());
-// KGraphViewerPartSettings::self()->writeConfig();
+ if (d->m_birdEyeView->isVisible() == enabled)
+ return;
d->updateSizes();
+ emit(sigViewBevEnabledToggled(enabled));
}
void DotGraphView::viewBevActivated(int newZoomPos)
{
+ kDebug() << "Zoom position:" << newZoomPos;
+
Q_D(DotGraphView);
d->m_zoomPosition = (KGraphViewerInterface::PannerPosition)newZoomPos;
d->updateSizes();
@@ -1802,9 +1800,9 @@ void DotGraphView::slotSelectLayoutCirco()
void DotGraphView::slotBevToggled()
{
Q_D(DotGraphView);
- kDebug() << "DotGraphView::slotBevToggled";
- kDebug() << " d->m_bevEnabledAction is checked ? " << d->m_bevEnabledAction->isChecked();
- setPannerEnabled(d->m_bevEnabledAction->isChecked());
+ const bool isToggleEnabled = d->m_bevEnabledAction->isChecked();
+ kDebug() << "Is bird eye view toggle enabled?" << isToggleEnabled;
+ setPannerEnabled(isToggleEnabled);
}
void DotGraphView::slotBevTopLeft()
diff --git a/src/kgraphviz/dotgraphview.h b/src/kgraphviz/dotgraphview.h
index c405a5a..b46f6cf 100644
--- a/src/kgraphviz/dotgraphview.h
+++ b/src/kgraphviz/dotgraphview.h
@@ -99,6 +99,7 @@ public:
KGraphViewerInterface::PannerPosition zoomPos() const;
static KGraphViewerInterface::PannerPosition zoomPos(const QString&);
static QString zoomPosString(KGraphViewerInterface::PannerPosition);
+
void setPannerEnabled(bool enabled);
static KConfigGroup* configGroup(KConfig*, const QString& prefix, const QString& postfix);
More information about the kgraphviewer-devel
mailing list