summaryrefslogtreecommitdiffstats
path: root/korganizer/plugins/projectview
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch)
tree67208f7c145782a7e90b123b982ca78d88cc2c87 /korganizer/plugins/projectview
downloadtdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.tar.gz
tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'korganizer/plugins/projectview')
-rw-r--r--korganizer/plugins/projectview/Makefile.am20
-rw-r--r--korganizer/plugins/projectview/koprojectview.cpp366
-rw-r--r--korganizer/plugins/projectview/koprojectview.h118
-rw-r--r--korganizer/plugins/projectview/projectview.cpp81
-rw-r--r--korganizer/plugins/projectview/projectview.desktop110
-rw-r--r--korganizer/plugins/projectview/projectview.h42
-rw-r--r--korganizer/plugins/projectview/projectviewui.rc15
7 files changed, 752 insertions, 0 deletions
diff --git a/korganizer/plugins/projectview/Makefile.am b/korganizer/plugins/projectview/Makefile.am
new file mode 100644
index 00000000..f84cf708
--- /dev/null
+++ b/korganizer/plugins/projectview/Makefile.am
@@ -0,0 +1,20 @@
+# $Id$
+
+METASOURCES = AUTO
+
+INCLUDES = -I$(top_srcdir)/korganizer/interfaces \
+ -I$(top_srcdir) -I$(top_srcdir)/kgantt/kgantt $(all_includes)
+
+kde_module_LTLIBRARIES = libkorg_projectview.la
+
+libkorg_projectview_la_SOURCES = projectview.cpp koprojectview.cpp
+libkorg_projectview_la_LDFLAGS = -module $(KDE_PLUGIN) $(KDE_RPATH) $(all_libraries)
+libkorg_projectview_la_LIBADD = $(top_builddir)/kgantt/kgantt/libkgantt.la $(top_builddir)/korganizer/libkorganizer.la $(LIB_KPARTS)
+
+noinst_HEADERS = projectview.h koprojectview.h
+
+servicedir = $(kde_servicesdir)/korganizer
+service_DATA = projectview.desktop
+
+rcdir = $(kde_datadir)/korganizer/plugins
+rc_DATA = projectviewui.rc
diff --git a/korganizer/plugins/projectview/koprojectview.cpp b/korganizer/plugins/projectview/koprojectview.cpp
new file mode 100644
index 00000000..0f260195
--- /dev/null
+++ b/korganizer/plugins/projectview/koprojectview.cpp
@@ -0,0 +1,366 @@
+/*
+ This file is part of KOrganizer.
+ Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*/
+
+#include <qlayout.h>
+#include <qheader.h>
+#include <qpushbutton.h>
+#include <qfont.h>
+#include <qlabel.h>
+#include <qlineedit.h>
+#include <qlistbox.h>
+#include <qpopupmenu.h>
+#include <qstrlist.h>
+#include <qlistview.h>
+
+#include <kapplication.h>
+#include <kdebug.h>
+#include <klocale.h>
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <kmessagebox.h>
+#include <kconfig.h>
+#include <kstandarddirs.h>
+
+#include <libkcal/vcaldrag.h>
+
+#include "KGantt.h"
+
+#include "koprojectview.h"
+
+using namespace KOrg;
+
+KOProjectViewItem::KOProjectViewItem(Todo *event,KGanttItem* parentTask,
+ const QString& text,
+ const QDateTime& start,
+ const QDateTime& end) :
+ KGanttItem(parentTask,text,start,end)
+{
+ mEvent = event;
+}
+
+KOProjectViewItem::~KOProjectViewItem()
+{
+}
+
+Todo *KOProjectViewItem::event()
+{
+ return mEvent;
+}
+
+
+KOProjectView::KOProjectView(Calendar *calendar,QWidget* parent,
+ const char* name) :
+ KOrg::BaseView(calendar,parent,name)
+{
+ QBoxLayout *topLayout = new QVBoxLayout(this);
+
+ QBoxLayout *topBar = new QHBoxLayout;
+ topLayout->addLayout(topBar);
+
+ QLabel *title = new QLabel(i18n("Project View"),this);
+ title->setFrameStyle(QFrame::Panel|QFrame::Raised);
+ topBar->addWidget(title,1);
+
+ QPushButton *zoomIn = new QPushButton(i18n("Zoom In"),this);
+ topBar->addWidget(zoomIn,0);
+ connect(zoomIn,SIGNAL(clicked()),SLOT(zoomIn()));
+
+ QPushButton *zoomOut = new QPushButton(i18n("Zoom Out"),this);
+ topBar->addWidget(zoomOut,0);
+ connect(zoomOut,SIGNAL(clicked()),SLOT(zoomOut()));
+
+ QPushButton *menuButton = new QPushButton(i18n("Select Mode"),this);
+ topBar->addWidget(menuButton,0);
+ connect(menuButton,SIGNAL(clicked()),SLOT(showModeMenu()));
+
+ createMainTask();
+
+ mGantt = new KGantt(mMainTask,this);
+ topLayout->addWidget(mGantt,1);
+
+#if 0
+ mGantt->addHoliday(2000, 10, 3);
+ mGantt->addHoliday(2001, 10, 3);
+ mGantt->addHoliday(2000, 12, 24);
+
+ for(int i=1; i<7; ++i)
+ mGantt->addHoliday(2001, 1, i);
+#endif
+}
+
+void KOProjectView::createMainTask()
+{
+ mMainTask = new KGanttItem(0,i18n("main task"),
+ QDateTime::currentDateTime(),
+ QDateTime::currentDateTime());
+ mMainTask->setMode(KGanttItem::Rubberband);
+ mMainTask->setStyle(KGanttItem::DrawBorder | KGanttItem::DrawText |
+ KGanttItem::DrawHandle);
+}
+
+void KOProjectView::readSettings()
+{
+ kdDebug(5850) << "KOProjectView::readSettings()" << endl;
+
+ //KConfig *config = kapp->config();
+ KConfig config( "korganizerrc", true, false); // Open read-only, no kdeglobals
+ config.setGroup("Views");
+
+ QValueList<int> sizes = config.readIntListEntry("Separator ProjectView");
+ if (sizes.count() == 2) {
+ mGantt->splitter()->setSizes(sizes);
+ }
+}
+
+void KOProjectView::writeSettings(KConfig *config)
+{
+ kdDebug(5850) << "KOProjectView::writeSettings()" << endl;
+
+ config->setGroup("Views");
+
+ QValueList<int> list = mGantt->splitter()->sizes();
+ config->writeEntry("Separator ProjectView",list);
+}
+
+
+void KOProjectView::updateView()
+{
+ kdDebug(5850) << "KOProjectView::updateView()" << endl;
+
+ // Clear Gantt view
+ QPtrList<KGanttItem> subs = mMainTask->getSubItems();
+ KGanttItem *t=subs.first();
+ while(t) {
+ KGanttItem *nt=subs.next();
+ delete t;
+ t = nt;
+ }
+
+#if 0
+ KGanttItem* t1 = new KGanttItem(mGantt->getMainTask(), "task 1, no subtasks",
+ QDateTime::currentDateTime().addDays(10),
+ QDateTime::currentDateTime().addDays(20) );
+
+ KGanttItem* t2 = new KGanttItem(mGantt->getMainTask(), "task 2, subtasks, no rubberband",
+ QDateTime(QDate(2000,10,1)),
+ QDateTime(QDate(2000,10,31)) );
+#endif
+
+ Todo::List todoList = calendar()->todos();
+
+/*
+ kdDebug(5850) << "KOProjectView::updateView(): Todo List:" << endl;
+ Event *t;
+ for(t = todoList.first(); t; t = todoList.next()) {
+ kdDebug(5850) << " " << t->getSummary() << endl;
+
+ if (t->getRelatedTo()) {
+ kdDebug(5850) << " (related to " << t->getRelatedTo()->getSummary() << ")" << endl;
+ }
+
+ QPtrList<Event> l = t->getRelations();
+ Event *c;
+ for(c=l.first();c;c=l.next()) {
+ kdDebug(5850) << " - relation: " << c->getSummary() << endl;
+ }
+ }
+*/
+
+ // Put for each Event a KOProjectViewItem in the list view. Don't rely on a
+ // specific order of events. That means that we have to generate parent items
+ // recursively for proper hierarchical display of Todos.
+ mTodoMap.clear();
+ Todo::List::ConstIterator it;
+ for( it = todoList.begin(); it != todoList.end(); ++it ) {
+ if ( !mTodoMap.contains( *it ) ) {
+ insertTodoItem( *it );
+ }
+ }
+}
+
+QMap<Todo *,KGanttItem *>::ConstIterator
+ KOProjectView::insertTodoItem(Todo *todo)
+{
+// kdDebug(5850) << "KOProjectView::insertTodoItem(): " << todo->getSummary() << endl;
+ Todo *relatedTodo = dynamic_cast<Todo *>(todo->relatedTo());
+ if (relatedTodo) {
+// kdDebug(5850) << " has Related" << endl;
+ QMap<Todo *,KGanttItem *>::ConstIterator itemIterator;
+ itemIterator = mTodoMap.find(relatedTodo);
+ if (itemIterator == mTodoMap.end()) {
+// kdDebug(5850) << " related not yet in list" << endl;
+ itemIterator = insertTodoItem (relatedTodo);
+ }
+ KGanttItem *task = createTask(*itemIterator,todo);
+ return mTodoMap.insert(todo,task);
+ } else {
+// kdDebug(5850) << " no Related" << endl;
+ KGanttItem *task = createTask(mMainTask,todo);
+ return mTodoMap.insert(todo,task);
+ }
+}
+
+KGanttItem *KOProjectView::createTask(KGanttItem *parent,Todo *todo)
+{
+ QDateTime startDt;
+ QDateTime endDt;
+
+ if (todo->hasStartDate() && !todo->hasDueDate()) {
+ // start date but no due date
+ startDt = todo->dtStart();
+ endDt = QDateTime::currentDateTime();
+ } else if (!todo->hasStartDate() && todo->hasDueDate()) {
+ // due date but no start date
+ startDt = todo->dtDue();
+ endDt = todo->dtDue();
+ } else if (!todo->hasStartDate() || !todo->hasDueDate()) {
+ startDt = QDateTime::currentDateTime();
+ endDt = QDateTime::currentDateTime();
+ } else {
+ startDt = todo->dtStart();
+ endDt = todo->dtDue();
+ }
+
+ KGanttItem *task = new KOProjectViewItem(todo,parent,todo->summary(),startDt,
+ endDt);
+ connect(task,SIGNAL(changed(KGanttItem*, KGanttItem::Change)),
+ SLOT(taskChanged(KGanttItem*,KGanttItem::Change)));
+ if (todo->relations().count() > 0) {
+ task->setBrush(QBrush(QColor(240,240,240), QBrush::Dense4Pattern));
+ }
+
+ return task;
+}
+
+void KOProjectView::updateConfig()
+{
+ // FIXME: to be implemented.
+}
+
+Incidence::List KOProjectView::selectedIncidences()
+{
+ Incidence::List selected;
+
+/*
+ KOProjectViewItem *item = (KOProjectViewItem *)(mTodoListView->selectedItem());
+ if (item) selected.append(item->event());
+*/
+
+ return selected;
+}
+
+DateList KOProjectView::selectedDates()
+{
+ DateList selected;
+ return selected;
+}
+
+void KOProjectView::changeIncidenceDisplay(Incidence *, int)
+{
+ updateView();
+}
+
+void KOProjectView::showDates(const QDate &, const QDate &)
+{
+ updateView();
+}
+
+void KOProjectView::showIncidences( const Incidence::List & )
+{
+ kdDebug(5850) << "KOProjectView::showIncidences( const Incidence::List & ): not yet implemented" << endl;
+}
+
+#if 0
+void KOProjectView::editItem(QListViewItem *item)
+{
+ emit editIncidenceSignal(((KOProjectViewItem *)item)->event());
+}
+
+void KOProjectView::showItem(QListViewItem *item)
+{
+ emit showIncidenceSignal(((KOProjectViewItem *)item)->event());
+}
+
+void KOProjectView::popupMenu(QListViewItem *item,const QPoint &,int)
+{
+ mActiveItem = (KOProjectViewItem *)item;
+ if (item) mItemPopupMenu->popup(QCursor::pos());
+ else mPopupMenu->popup(QCursor::pos());
+}
+
+void KOProjectView::newTodo()
+{
+ emit newTodoSignal();
+}
+
+void KOProjectView::newSubTodo()
+{
+ if (mActiveItem) {
+ emit newSubTodoSignal(mActiveItem->event());
+ }
+}
+
+void KOProjectView::itemClicked(QListViewItem *item)
+{
+ if (!item) return;
+
+ KOProjectViewItem *todoItem = (KOProjectViewItem *)item;
+ int completed = todoItem->event()->isCompleted(); // Completed or not?
+
+ if (todoItem->isOn()) {
+ if (!completed) {
+ todoItem->event()->setCompleted(true);
+ }
+ } else {
+ if (completed) {
+ todoItem->event()->setCompleted(false);
+ }
+ }
+}
+#endif
+
+void KOProjectView::showModeMenu()
+{
+ mGantt->menu()->popup(QCursor::pos());
+}
+
+void KOProjectView::taskChanged(KGanttItem *task,KGanttItem::Change change)
+{
+ if (task == mMainTask) return;
+
+ KOProjectViewItem *item = (KOProjectViewItem *)task;
+
+ if (change == KGanttItem::StartChanged) {
+ item->event()->setDtStart(task->getStart());
+ } else if (change == KGanttItem::EndChanged) {
+ item->event()->setDtDue(task->getEnd());
+ }
+}
+
+void KOProjectView::zoomIn()
+{
+ mGantt->zoom(2);
+}
+
+void KOProjectView::zoomOut()
+{
+ mGantt->zoom(0.5);
+}
+
+#include "koprojectview.moc"
diff --git a/korganizer/plugins/projectview/koprojectview.h b/korganizer/plugins/projectview/koprojectview.h
new file mode 100644
index 00000000..a356fe02
--- /dev/null
+++ b/korganizer/plugins/projectview/koprojectview.h
@@ -0,0 +1,118 @@
+/*
+ This file is part of KOrganizer.
+ Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*/
+#ifndef KOPROJECTVIEW_H
+#define KOPROJECTVIEW_H
+/* $Id$ */
+
+#include <qptrlist.h>
+#include <qfontmetrics.h>
+
+#include <qmap.h>
+
+#include <libkcal/calendar.h>
+#include <libkcal/event.h>
+
+#include "korganizer/baseview.h"
+#include "KGanttItem.h"
+
+class KGantt;
+class QLineEdit;
+class QFont;
+class QLabel;
+class QPopupMenu;
+class QListBox;
+class QStrList;
+class QListView;
+
+/**
+ This class provides an item of the project view. It is a xQTask with
+ an additional Event attribute.
+*/
+class KOProjectViewItem : public KGanttItem {
+ public:
+ KOProjectViewItem(Todo *,KGanttItem* parentTask, const QString& text,
+ const QDateTime& start, const QDateTime& end);
+ ~KOProjectViewItem();
+
+ Todo *event();
+
+ private:
+ Todo *mEvent;
+};
+
+
+/**
+ * This class provides a Gantt-like project view on todo items
+ *
+ * @short project view on todo items.
+ * @author Cornelius Schumacher <schumacher@kde.org>
+ */
+class KOProjectView : public KOrg::BaseView
+{
+ Q_OBJECT
+ public:
+ KOProjectView(Calendar *, QWidget* parent=0, const char* name=0 );
+ ~KOProjectView() {}
+
+ Incidence::List selectedIncidences();
+ DateList selectedDates();
+
+ /** Return number of shown dates. */
+ int currentDateCount() { return 0; }
+
+ void readSettings();
+ void writeSettings(KConfig *);
+
+ public slots:
+ void updateView();
+ void updateConfig();
+
+ void changeIncidenceDisplay(Incidence *, int);
+
+ void showDates(const QDate &start, const QDate &end);
+ void showIncidences( const Incidence::List &incidenceList );
+
+/*
+ void editItem(QListViewItem *item);
+ void showItem(QListViewItem *item);
+ void popupMenu(QListViewItem *item,const QPoint &,int);
+ void newTodo();
+ void newSubTodo();
+ void itemClicked(QListViewItem *);
+*/
+
+ protected slots:
+ void showModeMenu();
+ void zoomIn();
+ void zoomOut();
+ void taskChanged(KGanttItem *task,KGanttItem::Change change);
+
+ private:
+ void createMainTask();
+ KGanttItem *createTask(KGanttItem *,Todo *);
+
+ KGantt *mGantt;
+ KGanttItem *mMainTask;
+
+ QMap<Todo *,KGanttItem *>::ConstIterator insertTodoItem(Todo *todo);
+
+ QMap<Todo *,KGanttItem *> mTodoMap;
+};
+
+#endif
diff --git a/korganizer/plugins/projectview/projectview.cpp b/korganizer/plugins/projectview/projectview.cpp
new file mode 100644
index 00000000..3fdf84b4
--- /dev/null
+++ b/korganizer/plugins/projectview/projectview.cpp
@@ -0,0 +1,81 @@
+/*
+ This file is part of KOrganizer.
+ Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*/
+
+#include <qfile.h>
+
+#include <kapplication.h>
+#include <kconfig.h>
+#include <kstandarddirs.h>
+#include <klocale.h>
+#include <kdebug.h>
+#include <kaction.h>
+#include <kglobal.h>
+
+#include "koprojectview.h"
+
+#include "projectview.h"
+using namespace KOrg;
+#include "projectview.moc"
+
+class ProjectViewFactory : public KOrg::PartFactory {
+ public:
+ KOrg::Part *create(KOrg::MainWindow *parent, const char *name)
+ {
+ KGlobal::locale()->insertCatalogue( "kgantt" );
+ return new ProjectView(parent,name);
+ }
+};
+
+K_EXPORT_COMPONENT_FACTORY( libkorg_projectview, ProjectViewFactory )
+
+
+ProjectView::ProjectView(KOrg::MainWindow *parent, const char *name) :
+ KOrg::Part(parent,name), mView(0)
+{
+ setInstance( new KInstance( "korganizer" ) );
+
+ setXMLFile("plugins/projectviewui.rc");
+
+ new KAction(i18n("&Project"), "project", 0, this, SLOT(showView()),
+ actionCollection(), "view_project");
+}
+
+ProjectView::~ProjectView()
+{
+}
+
+QString ProjectView::info()
+{
+ return i18n("This plugin provides a Gantt diagram as project view.");
+}
+
+QString ProjectView::shortInfo()
+{
+ return i18n("Project View Plugin");
+}
+
+void ProjectView::showView()
+{
+ if (!mView) {
+ mView = new KOProjectView(mainWindow()->view()->calendar(),
+ mainWindow()->view());
+ mainWindow()->view()->addView(mView);
+ }
+ mainWindow()->view()->showView(mView);
+}
diff --git a/korganizer/plugins/projectview/projectview.desktop b/korganizer/plugins/projectview/projectview.desktop
new file mode 100644
index 00000000..e6c3bef7
--- /dev/null
+++ b/korganizer/plugins/projectview/projectview.desktop
@@ -0,0 +1,110 @@
+[Desktop Entry]
+X-KDE-Library=libkorg_projectview
+Name=Project View Plugin for KOrganizer
+Name[af]=Projek Besigtig Inplak vir Korganizer
+Name[az]=KOrganizer Layihə Nümayiş Əlavəsi
+Name[bg]=Приставка на организатора за преглед на проекти
+Name[br]=Lugent gwell raktres evit KOrganizer
+Name[bs]=Preglednik projekata, dodatak za KOrganizer
+Name[ca]=Endollable de vista de projectes per a KOrganizer
+Name[cs]=Modul projektového pohledu pro KOrganizer
+Name[cy]=Ategyn Golwg Cywaith ar gyfer KTrefnydd
+Name[da]=Projektvisning-plugin for KOrganizer
+Name[de]=Projektbetrachter-Modul für KOrganizer
+Name[el]=Πρόσθετο προβολής έργου του KOrganizer
+Name[eo]=Projektrigardo-kromaĵo por Organizilo
+Name[es]=Plugin de visor de proyectos para KOrganizer
+Name[et]=KOrganizeri projektivaate plugin
+Name[eu]=KOrganizer-en proiektu ikuspegi plugin-a
+Name[fa]=وصلۀ نمای پروژه برای KOrganizer
+Name[fi]=Projektinäkymäliitännäinen KOrganizeriin
+Name[fr]=Module afficheur de projet pour KOrganizer
+Name[fy]=Projektwerjefteplugin foar KOrganizer
+Name[gl]=Extensión para Vista de Proxecto para KOrganizer
+Name[he]=תוסף תצוגת פרוייקט ל-KOrganizer
+Name[hi]=के-आर्गेनाइज़र के लिए परियोजना दृश्य प्लगइन
+Name[hr]=KOrganizer dodatak za pogled na projekt
+Name[hu]=Projektnézegető bővítőmodul a KOrganizerhez
+Name[is]=Verkefnasýnaríforrit fyrir KOrganizer
+Name[it]=Plugin di vista dei progetti per KOrganizer
+Name[ja]=KOrganizer プロジェクトビュー プラグイン
+Name[ka]= KOrganizer-ის პროექტის ხედის მოდული
+Name[kk]=KOrganizer-дің жоба көрінісінің модулі
+Name[km]=កម្មវិធី​ជំនួយ​ទិដ្ឋភាព​គម្រោង​សម្រាប់ KOrganizer
+Name[lt]=Projekto peržiūros priedas, skirtas KOrganizer
+Name[lv]=Projekta Skatījuma Iespraudnis KOrganaizeram
+Name[ms]=Plugin Paparan Projek untuk KOrganizer
+Name[nb]=Programtillegg for prosjektvisning i KOrganizer
+Name[nds]=Projektkieker-Moduul för KOrganizer
+Name[ne]=केडीई आयोजकका लागि परियोजना दृश्य प्लगइन
+Name[nl]=Projectenweergaveplugin voor KOrganizer
+Name[nn]=Programtillegg for prosjektvising i KOrganizer
+Name[nso]=Plugin ya Pono ya Porojeke ya KMmeakanyi
+Name[pl]=Wtyczka przeglądania projektów dla Organizatora
+Name[pt]='Plugin' de Gestão de Projectos para o KOrganizer
+Name[pt_BR]=Plug-in de Visualização de Projetos para o KOrganizer
+Name[ro]=Modul vizualizare proiect pentru KOrganizer
+Name[ru]=Просмотр проекта
+Name[sk]=KOrganizer modul pre projektový pohľad
+Name[sl]=Vstavek za projektni prikaz za KOrganizer
+Name[sr]=Прикључак KOrganizer-а за приказ пројекта
+Name[sr@Latn]=Priključak KOrganizer-a za prikaz projekta
+Name[sv]=Projektvyinsticksprogram för Korganizer
+Name[ta]=கேஅமைப்பாளருக்கான திட்டக் காட்சி சொருகுப்பொருள்
+Name[tg]=Намоиши нақшот
+Name[tr]=KOrganizer için Proje Görüntüleme eklentisi
+Name[uk]=Втулок перегляду проектів для KOrganizer
+Name[ven]=Plugin ya mbonalelo ya phurodzhekiti ya mudzudzanyi wa K
+Name[vi]=Plugin xem dự án cho KOrganizer
+Name[xh]=Iprojekthi Ijongela KOrganize i Plugin
+Name[zh_CN]=KOrganizer 的项目查看插件
+Name[zh_TW]=KOrganizer 專案檢視外掛程式
+Name[zu]=Project Khombisa Iplagi ye KUmgqugquzeli
+Comment=This plugin provides a project planning view for KOrganizer (like the to-do or month views). If you enable this plugin, you can switch to the project view and view your to-do list like in a project planner.
+Comment[af]=Hierdie inprop module verskaf 'n projek beplanning aansig vir KOrganizer. Dit lyk baie soos die te-doen of maand aansig. As hierdie inprop module geaktiveer is, kan jy na die projek aansig wissel en na jou te-doen in projek beplanner formaat kyk.
+Comment[bg]=Приставката служи за планиране и управление на проекти.
+Comment[ca]=Aquest endollable proporciona una vista de planificació de projectes per a KOrganizer (com ara les vistes de pendents o mensual). Si habiliteu aquest endollable, podeu canviar a la vista de projecte i veure la llista de tasques pendents com en un planificador de projectes.
+Comment[cs]=Tento modul poskytuje projektový pohled pro KOrganizer (podobnějako úkoly nebo měsíční pohled). Pokud jej povolíte, může přepnout do projektového pohledu a prohlížet si úkoly jako v projektovém plánovači.
+Comment[da]=Dette plugin sørger for en projektplanvisning i Korganizer (som ligner gøremål eller månedsvisning). Hvis du aktiverer dette plugin kan du skifte til projektvisning og vise din gøremålsliste som i et projektplan-værktøj.
+Comment[de]=Mit diesem Modul wird KOrganizer um eine Projektplanungsansicht (ähnlich der Aufgaben- und Monatsansicht) erweitert. Wenn Sie es einschalten, können Sie zur Projektansicht wechseln und sich Ihre Aufgaben wie in einem Projektplaner ansehen.
+Comment[el]=Αυτό το πρόσθετο παρέχει μία προβολή σχεδιασμού έργου για το KOrganizer (όπως η προβολή προς υλοποίηση εργασιών και μηνών). Αν το ενεργοποιήσετε, μπορείτε να αλλάξετε στην προβολή έργου και να δείτε τη λίστα των προς υλοποίηση εργασιών σας σαν σε ένα προγραμματιστή έργου.
+Comment[es]=Esta extensión proporciona una vista de planificación de proyectos para KOrganizer (como las vistas de tareas pendientes o de mes). Si activa esta extensión, puede pasar a la vista del proyecto y ver la lista de tareas pendientes como en un planificador de proyectos.
+Comment[et]=See plugin lisab KOrganizerile projekti planeerimise vaate (nagu ülesannete või kuuvaade). Selle lubamisel saab lülituda projektivaatele ning näha oma ülesannete nimekirja projektiplaneerija moodi.
+Comment[eu]=Plugin honek KOrganizer-en proiektuaren plangintza ikuspegi bat eskeintzen du (egiteko edo hilabete ikupegien antzera). Plugin hau gaitzen baduzu, proiektuaren ikuspegira alda zaitezke eta egitekoak proiektu plangintza batean bezala ikus dezakezu.
+Comment[fa]=این وصله، برای KOrganizer یک نمای طراحی پروژه )مثل نماهای کارهای انجامی یا ماهانه( فراهم می‌‌کند. اگر این وصله را فعال کنید، می‌توانید به نمای پروژه سودهی کرده و مانند طراح پروژه، فهرست کارهای انجامی خود را مشاهده کنید.
+Comment[fi]=Tämä liitännäinen mahdollistaa projektin suunnittelunäkymän KOrganizeriin (kuten tehtävälista- tai kuukausinäkymän). Jos kytket tämän päälle, voit vaihtaa projektinäkymään ja katsoa tehtävälistaa kuten projektin suunnittelussa.
+Comment[fr]=Ce module propose une vue en projet pour KOrganizer. Si vous activez ce module, vous pourrez afficher vos tâches sous la forme d'un planning projet.
+Comment[fy]=Dizze plugin jout jo in projektwerjefte foar KOrganizer (krekt as in takenlist of moannewerjefte). Wannear jo dizze plugin ynskeakelje, kinne jo dizze werjefte oansette om jo takenlist te besjen as projektplanner.
+Comment[gl]=Este engadido fornece unha vista planificadora de proxectos para KOrganizer (como as vistas de tarefas ou mensuais). Se habilita este engadid, pode trocar á vista de proxecto e ver a súa lista de tarefas nun planificador de proxectos.
+Comment[hu]=Ezzel a modullal projekttervező nézet alakítható ki a KOrganizerben (például a feladatokhoz vagy a havi nézetekhez). Ha aktiválja ezt a modult, átválthat projektnézetbe, hogy a feladatok projekttervként legyenek megtekinthetők.
+Comment[is]=Þetta íforrit veitir verkskipulagssýn fyrir KOrganizer (svipað og verkþátta eða mánaðarsýn). Ef þú virkjar þetta íforrit, getur þú á einfaldan hátt skipt yfir í verkefnasýn og skoðað verkþáttalistann þinn í skipuleggjara.
+Comment[it]=Questo plugin fornisce una vista di pianificazione progetto per KOrganizer (come la vista delle cose da fare o quella mensile). Se abiliti questo plugin, puoi passare dalla vista progetto alla vista delle cose da fare come in un pianificatore di progetti.
+Comment[ja]=このプラグインは KOrganizer にプロジェクト計画ビューを提供します (To-Do ビューや月ビューなど)。このプラグインを有効にすると、プロジェクトビューに切り替えて、スケジュール管理ソフトのように To-Do リストを見ることができます。
+Comment[ka]=ეს მოდული უზრუნველყოფს პროექტის დაგეგმარების ხედს KOrganizer-სთვის(მაგ.: დავალებები ან თვიური მიმოხილვა). თუ ამ მოდულს გაააქტიურებთ,შეგიძლიათ გადართოთ პროექტის ხედზე და იხილოთ თქვენი დავალებათა სია პროექტის მგეგმავის სახით.
+Comment[kk]=Бұл KOrganizer-нің жобаны жоспарлау көрінісінің модулі. Модулін орнатсаңыз, осы көрініске ауысып жоспар тізімініңізді жоба жоспарлағышындағы түріне келтіре аласыз.
+Comment[km]=កម្មវិធី​ជំនួយ​នេះ​ផ្ដល់​នូវ​ទិដ្ឋភាព​រៀបចំ​គម្រោង​សម្រាប់ korganizer (ដូចជា ទិដ្ឋភាព​ការងារ​ត្រូវ​ធ្វើ ឬ ទិដ្ឋភាព​ខែ​ជាដើម) ។ បើ​អ្នក​ធ្វើ​ឲ្យ​កម្មវិធី​ជំនួយ​នេះ​ប្រើ​បាន អ្នក​នឹង​អាច​ប្ដូរ​ទិដ្ឋភាព​គម្រោង ហើយ​មើល​ព្រឹត្តិការណ៍​របស់​អ្នក​ដូចជា​នៅ​ក្នុងកម្មវិធី​រៀបចំ​គម្រោង​អញ្ចឹង​ដែរ ។
+Comment[lt]=Šis priedas pateikia KOrganizaer projekto planavimo vaizdą (panašiai kaip darbų ar mėnesio vaizdai). Jei įjungsite šį įskiepį, galėsite peršokti į projekto vaizdą ir peržiūrėti savo darbų sąrašą kaip projektą.
+Comment[ms]=Plugin ini menyediakan paparan perancangan projek untuk KOrganizer (seperti tugasan atau paparan bulan). Jika plugin ini diaktifkan, anda boleh beralih ke paparan projek dan paparkan senarai tugasan seperti dalam perancang projek.
+Comment[nb]=Dette programtillegget lager en prosjektplan-visning for KOrganizer (som i gjørelister og månedsvisninger). Slår du på dette programtillegget kan du bytte til prosjektvisning og se på gjørelista som i en prosjektplan.
+Comment[nds]=Mit dit Moduul kannst Du in KOrganizer en Projektplaan-Ansicht opropen (jüst as de Opgaven- oder Maandansichten). Wenn Du dit Moduul aktiveerst, kannst Du na de Projektansicht wesseln un Dien Opgavenlist as mit en Projektplaner ankieken.
+Comment[ne]=यो प्लगइनले केडीई आयोजकका लागि परियोजना योजना दृश्य उपलब्ध गराउछ (जस्तै: कार्य गर्न वा महिना हेर्न) । तपाईँले यो प्लगइन सक्षम पारेमा, परियोजना दृश्यमा स्विच गर्न र परियोजना योजनाकारमा जस्तै तपाईँको कार्य गर्ने सूची हेर्न सक्नुहुन्छ ।
+Comment[nl]=Deze plugin biedt een projectweergave voor KOrganizer (net zoals een takenlijst of maandweergave). Wanneer u deze plugin aanzet, kunt u deze weergave aanzetten om uw takenlijst te bekijken als een projectplanner.
+Comment[nn]=Dette programtillegget lagar ei prosjektplanvising for KOrganizer (slik som oppgåve- eller månadsvisingane). Dersom du brukar dette programtillegget, kan du visa oppgåvelista som i ein prosjektplanleggjar.
+Comment[pl]=Ta wtyczka tworzy widok planowania projektu w KOrganizerze (tak jak widok zadań do zrobienia lub widok miesiąca). Po włączeniu tej wtyczki możliwe jest przełączenie się na widok projektu zadań do zrobienia.
+Comment[pt]=Este 'plugin' oferece uma vista de planeamento de projectos para o KOrganizer (como as vistas de itens por-fazer ou mensais). Se activar este 'plugin', poderá mudar para a vista de projecto e ver a sua lista de itens por-fazer como num planeador de projectos.
+Comment[pt_BR]=Este plug-in fornece uma visão de planejamento de projeto para o KOrganizer (como as visões de pendências ou de mês). Se você ativar este plugin, você pode mudar para a visão de projeto e ver a sua lista de pendências como num software de planejamento de projetos.
+Comment[ru]=Этот модуль показывает проект для органайзера KDE. Если вы подключите этот модуль, вы можете посмотреть ваши задачи в виде проекта.
+Comment[sk]=Tento modul poskytuje pohľad na plánovanie projektu pre KOrganizer (ako sú úlohy alebo mesačné pohľady). Ak povolíte tento modul, môžete prepínať projektový pohľad a pohľad na zoznam úloh ako plánovač projektu.
+Comment[sl]=Ta vstavek prikazuje projektno načrtovanje za KOrganizer (kot prikaz opravil ali mesečni prikaz). Če omogočite ta vstavek, lahko preklopite na projektni prikaz in si ogledate seznam opravil kot v projektnem prikazu.
+Comment[sr]=Овај прикључак пружа приказ планирања пројекта за KOrganizer (као месечни или прикази обавеза). Ако укључите овај прикључак, можете се пребацити на приказ пројекта и разгледати своју листу послова у планеру пројекта.
+Comment[sr@Latn]=Ovaj priključak pruža prikaz planiranja projekta za KOrganizer (kao mesečni ili prikazi obaveza). Ako uključite ovaj priključak, možete se prebaciti na prikaz projekta i razgledati svoju listu poslova u planeru projekta.
+Comment[sv]=Insticksprogrammet tillhandahåller en projektplaneringsvy i Korganizer (som liknar uppgifts- eller månadsvyn). Om du aktiverar insticksprogrammet kan du byta till projektvyn och visa din uppgiftslista som i ett projektplaneringsverktyg.
+Comment[ta]=இந்த சொருகுப்பொருள் KOrganizer-க்கான ஒரு திட்டப்பணி செய்யும் காட்சியை வழங்குகிறது. (செய்யவேண்டியது அல்லது மாத காட்சிகள் போன்ற). இது செயலில் இருந்தால், நீங்கள் திட்டக்காட்சிக்கு செல்லலாம் திட்ட அமைப்பான் போன்ற திட்டக் காட்சிக்கும் செல்லலாம்.
+Comment[tr]=Bu eklenti, KOrganizer için bir proje planı görünümü sağlar (yapılacaklar ve aylık görünüm gibi). Eğer bu eklentiyi aktif hale getirirseniz, proje görünümüne geçebilir ve yapılacaklar listenizi proje planlayıcısı şeklinde görüntüleyebilirsiniz.
+Comment[uk]=Цей втулок показує вигляд планування проектів у KOrganizer (подібно до виглядів завдань або місячного). Якщо увімкнути цей втулок, то можна переглядати ваш список завдань у вигляді плановика проектів.
+Comment[zh_CN]=此插件为 KOrganizer 提供了项目规划视图(类似于待办或月视图)。如果您启用了此插件,您可以像项目规划程序那样切换到项目视图并查看您的待办清单。
+Comment[zh_TW]=此外掛程式提供 KOrganizer 專案計畫檢視。如果您開啟此外掛程式,您可以切換專案檢視與待辦事項清單。
+Type=Service
+ServiceTypes=KOrganizer/Part
+X-KDE-KOrganizer-HasSettings=false
+X-KDE-PluginInterfaceVersion=2
diff --git a/korganizer/plugins/projectview/projectview.h b/korganizer/plugins/projectview/projectview.h
new file mode 100644
index 00000000..acc9a604
--- /dev/null
+++ b/korganizer/plugins/projectview/projectview.h
@@ -0,0 +1,42 @@
+/*
+ This file is part of KOrganizer.
+ Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*/
+#ifndef KORG_PROJECTVIEW_H
+#define KORG_PROJECTVIEW_H
+// $Id$
+
+#include <korganizer/part.h>
+#include <korganizer/calendarviewbase.h>
+
+class ProjectView : public KOrg::Part {
+ Q_OBJECT
+ public:
+ ProjectView(KOrg::MainWindow *, const char *);
+ ~ProjectView();
+
+ QString info();
+ QString shortInfo();
+
+ private slots:
+ void showView();
+
+ private:
+ KOrg::BaseView *mView;
+};
+
+#endif
diff --git a/korganizer/plugins/projectview/projectviewui.rc b/korganizer/plugins/projectview/projectviewui.rc
new file mode 100644
index 00000000..50eb28f3
--- /dev/null
+++ b/korganizer/plugins/projectview/projectviewui.rc
@@ -0,0 +1,15 @@
+<!DOCTYPE kpartgui>
+<kpartgui name="projectview" version="2">
+
+ <MenuBar>
+ <Menu name="view"><text>&amp;View</text>
+ <Action name="view_project"/>
+ </Menu>
+ </MenuBar>
+ <ToolBar name="korganizer_toolbar">
+ <Action name="view_project"/>
+ </ToolBar>
+
+
+</kpartgui>
+