[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/kplato
From: Dag Andersen <danders () get2net ! dk>
Date: 2010-11-02 7:57:58
Message-ID: 20101102075758.CDDAAAC89B () svn ! kde ! org
[Download RAW message or body]
SVN commit 1192139 by danders:
Make material resources always available by default.
Create material resource if group is material.
Remove sec/ms from project constraint times.
M +1 -1 kptpart.cpp
M +17 -3 libs/kernel/kptresource.cpp
M +4 -1 libs/kernel/kptresource.h
M +7 -7 libs/models/kptresourcemodel.cpp
M +3 -0 libs/ui/kptresourceeditor.cpp
--- trunk/koffice/kplato/kptpart.cpp #1192138:1192139
@@ -761,7 +761,7 @@
if ( m_loadingTemplate ) {
//kDebug()<<"Loading template, generate unique ids";
m_project->generateUniqueIds();
- m_project->setConstraintStartTime( KDateTime::currentLocalDateTime() );
+ m_project->setConstraintStartTime( KDateTime( \
KDateTime::currentLocalDateTime().date(), QTime( 0, 0, 0 ) ) );
m_project->setConstraintEndTime( m_project->constraintStartTime().addYears( \
2 ) ); } else if ( isImporting() ) {
// NOTE: I don't think this is a good idea.
--- trunk/koffice/kplato/libs/kernel/kptresource.cpp #1192138:1192139
@@ -322,7 +322,14 @@
m_calendar = 0;
m_currentSchedule = 0;
//kDebug()<<"("<<this<<")";
+
+ // material: by default material is always available
+ for ( int i = 1; i <= 7; ++i ) {
+ CalendarDay *wd = m_materialCalendar.weekday( i );
+ wd->setState( CalendarDay::Working );
+ wd->addInterval( TimeInterval( QTime( 0, 0, 0 ), 24*60*60*1000 ) );
}
+}
Resource::Resource(Resource *resource)
: QObject( 0 ), // atm QObject is only for casting
@@ -451,11 +458,18 @@
}
Calendar *Resource::calendar( bool local ) const {
- if ( m_type == Type_Work && !local && project() != 0 && m_calendar == 0 ) {
- return project()->defaultCalendar();
- }
+ if ( local || m_calendar ) {
return m_calendar;
}
+ // No calendar is set, try default calendar
+ Calendar *c = 0;
+ if ( m_type == Type_Work && project() ) {
+ c = project()->defaultCalendar();
+ } else if ( m_type == Type_Material ) {
+ c = const_cast<Calendar*>( &m_materialCalendar );
+ }
+ return c;
+}
void Resource::setCalendar( Calendar *calendar )
{
--- trunk/koffice/kplato/libs/kernel/kptresource.h #1192138:1192139
@@ -27,6 +27,7 @@
#include "kptduration.h"
#include "kptdatetime.h"
#include "kptappointment.h"
+#include "kptcalendar.h"
#include <qdom.h>
#include <QHash>
@@ -54,7 +55,6 @@
class Resource;
class ResourceRequest;
class ResourceGroupRequest;
-class Calendar;
class ResourceRequestCollection;
class Schedule;
class NodeSchedule;
@@ -539,6 +539,9 @@
mutable WorkInfoCache m_workinfocache;
+ // return this if resource has no calendar and is a material resource
+ Calendar m_materialCalendar;
+
#ifndef NDEBUG
public:
void printDebug( const QString& ident );
--- trunk/koffice/kplato/libs/models/kptresourcemodel.cpp #1192138:1192139
@@ -188,14 +188,14 @@
}
QString s = i18n( "None" );
Calendar *cal = res->calendar( true ); // don't check for default \
calendar
- if ( cal == 0 ) {
+ if ( cal ) {
+ s = cal->name();
+ } else if ( res->type() == Resource::Type_Work ) {
// Do we get a default calendar
cal = res->calendar();
if ( cal ) {
s = i18nc( "Default (calendar name)", "Default (%1)", \
cal->name() ); }
- } else {
- s = cal->name();
}
return s;
}
@@ -205,21 +205,21 @@
}
QString s = i18nc( "@info:tooltip", "No calendar" );
Calendar *cal = res->calendar( true ); // don't check for default \
calendar
- if ( cal == 0 ) {
+ if ( cal ) {
+ s = cal->name();
+ } else if ( res->type() == Resource::Type_Work ) {
// Do we get a default calendar
cal = res->calendar();
if ( cal ) {
s = i18nc( "@info:tooltip 1=calendar name", "Using default \
calendar: %1", cal->name() ); }
- } else {
- s = cal->name();
}
return s;
}
case Role::EnumList: {
Calendar *cal = m_project->defaultCalendar();
QString s = i18n( "None" );
- if ( cal ) {
+ if ( cal && res->type() == Resource::Type_Work ) {
s = i18nc( "Default (calendar name)", "Default (%1)", cal->name() );
}
return QStringList() << s << m_project->calendarNames();
--- trunk/koffice/kplato/libs/ui/kptresourceeditor.cpp #1192138:1192139
@@ -327,6 +327,9 @@
return;
}
Resource *r = new Resource();
+ if ( g->type() == ResourceGroup::Type_Material ) {
+ r->setType( Resource::Type_Material );
+ }
QModelIndex i = m_view->model()->insertResource( g, r );
if ( i.isValid() ) {
m_view->selectionModel()->select( i, QItemSelectionModel::Rows | \
QItemSelectionModel::ClearAndSelect );
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic