summaryrefslogtreecommitdiffstats
path: root/korganizer/plugins/projectview/projectview.cpp
blob: 3fdf84b43e95522ca12b3f645888c0daed99bd62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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);
}