[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [marble/esasocis-2012-eclipse] src/plugins/render/eclipses: EclipsesPlugin: Fix eclipse menu updates
From: Rene Kuettner <rene () bitkanal ! net>
Date: 2013-01-16 16:11:18
Message-ID: 20130116161118.9E709A6091 () git ! kde ! org
[Download RAW message or body]
Git commit 68f4f39b3bc789de579b473d164230c381096c25 by Rene Kuettner.
Committed on 16/01/2013 at 17:10.
Pushed by renek into branch 'esasocis-2012-eclipse'.
EclipsesPlugin: Fix eclipse menu updates
M +6 -0 src/plugins/render/eclipses/EclipsesItem.cpp
M +1 -0 src/plugins/render/eclipses/EclipsesItem.h
M +10 -6 src/plugins/render/eclipses/EclipsesPlugin.cpp
M +1 -0 src/plugins/render/eclipses/EclipsesPlugin.h
http://commits.kde.org/marble/68f4f39b3bc789de579b473d164230c381096c25
diff --git a/src/plugins/render/eclipses/EclipsesItem.cpp \
b/src/plugins/render/eclipses/EclipsesItem.cpp index e7e50e3..707ff0c 100644
--- a/src/plugins/render/eclipses/EclipsesItem.cpp
+++ b/src/plugins/render/eclipses/EclipsesItem.cpp
@@ -82,6 +82,12 @@ const QDateTime& EclipsesItem::endDatePartial() const
return m_endDatePartial;
}
+int EclipsesItem::partialDurationHours() const
+{
+ return (m_endDatePartial.toTime_t() -
+ m_startDatePartial.toTime_t()) / 3600;
+}
+
const QDateTime& EclipsesItem::startDateTotal() const
{
return m_startDateTotal;
diff --git a/src/plugins/render/eclipses/EclipsesItem.h \
b/src/plugins/render/eclipses/EclipsesItem.h index 44fada2..d3fe86b 100644
--- a/src/plugins/render/eclipses/EclipsesItem.h
+++ b/src/plugins/render/eclipses/EclipsesItem.h
@@ -52,6 +52,7 @@ public:
const QDateTime& dateMaximum() const;
const QDateTime& startDatePartial() const;
const QDateTime& endDatePartial() const;
+ int partialDurationHours() const;
const QDateTime& startDateTotal() const;
const QDateTime& endDateTotal() const;
diff --git a/src/plugins/render/eclipses/EclipsesPlugin.cpp \
b/src/plugins/render/eclipses/EclipsesPlugin.cpp index 966faf5..c639c2b 100644
--- a/src/plugins/render/eclipses/EclipsesPlugin.cpp
+++ b/src/plugins/render/eclipses/EclipsesPlugin.cpp
@@ -39,6 +39,7 @@ EclipsesPlugin::EclipsesPlugin()
m_eclipsesActionGroup( 0 ),
m_eclipsesMenuAction( 0 ),
m_eclipsesListMenu( 0 ),
+ m_menuYear( 0 ),
m_configDialog( 0 ),
m_configWidget( 0 ),
m_listDialog( 0 ),
@@ -56,6 +57,7 @@ EclipsesPlugin::EclipsesPlugin( const MarbleModel *marbleModel )
m_eclipsesActionGroup( 0 ),
m_eclipsesMenuAction( 0 ),
m_eclipsesListMenu( 0 ),
+ m_menuYear( 0 ),
m_configDialog( 0 ),
m_configWidget( 0 ),
m_listDialog( 0 ),
@@ -187,10 +189,6 @@ void EclipsesPlugin::initialize()
connect( m_eclipsesMenuAction, SIGNAL(triggered()),
m_listDialog, SLOT(show()) );
- // initialize clock
- const MarbleClock *clock = marbleModel()->clock();
- connect( clock, SIGNAL( timeChanged() ), SLOT( updateEclipses() ) );
-
// initialize eclipses model
m_model = new EclipsesModel( marbleModel() );
@@ -215,6 +213,8 @@ bool EclipsesPlugin::eventFilter( QObject *object, QEvent *e )
this, SLOT(updateMenuItems()) );
m_marbleWidget = widget;
m_clock = m_marbleWidget->model()->clock();
+ connect( m_clock, SIGNAL(timeChanged()),
+ this, SLOT(updateEclipses()) );
}
return RenderPlugin::eventFilter(object, e);
@@ -345,7 +345,8 @@ void EclipsesPlugin::updateEclipses()
mDebug() << "Updating eclipses....";
const int year = marbleModel()->clock()->dateTime().date().year();
- if( m_model->year() != year ) {
+ if( m_menuYear != year ) {
+
// remove old menus
foreach( QAction *action, m_eclipsesListMenu->actions() ) {
m_eclipsesListMenu->removeAction( action );
@@ -353,7 +354,10 @@ void EclipsesPlugin::updateEclipses()
}
// update year and create menus for this year's eclipse events
- m_model->setYear( year );
+ if( m_model->year() != year ) {
+ m_model->setYear( year );
+ }
+ m_menuYear = year;
m_eclipsesListMenu->setTitle( tr("Eclipses in %1").arg( year ) );
diff --git a/src/plugins/render/eclipses/EclipsesPlugin.h \
b/src/plugins/render/eclipses/EclipsesPlugin.h index cd3f224..f5e4a4a 100644
--- a/src/plugins/render/eclipses/EclipsesPlugin.h
+++ b/src/plugins/render/eclipses/EclipsesPlugin.h
@@ -101,6 +101,7 @@ private:
QHash<QString, QVariant> m_settings;
QAction *m_eclipsesMenuAction;
QMenu *m_eclipsesListMenu;
+ int m_menuYear;
QDialog *m_configDialog;
Ui::EclipsesConfigDialog *m_configWidget;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic