kateprojectviews.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "kateprojectviews.h"
00022 #include "kateprojectviews.moc"
00023
00024 #include "kateprojectmanager.h"
00025 #include "katemainwindow.h"
00026 #include "kactionselector.h"
00027 #include "kateprojecttreeview.h"
00028
00029 #include <qapplication.h>
00030 #include <qlayout.h>
00031 #include <qstringlist.h>
00032
00033 #include <klocale.h>
00034
00035
00036 KateProjectViews::KateProjectViews (KateProjectManager *_projectManager, KateMainWindow *_mainWindow, QWidget * parent, const char * name ): QWidget (parent, name)
00037 {
00038 setFocusPolicy ((QWidget::FocusPolicy)0);
00039
00040 QVBoxLayout* lo = new QVBoxLayout(this);
00041
00042 m_projectManager = _projectManager;
00043 m_mainWindow = _mainWindow;
00044
00045 m_stack = new QWidgetStack (this);
00046 lo->addWidget(m_stack);
00047 lo->setStretchFactor(m_stack, 2);
00048
00049
00050 for (uint i = 0; i < m_projectManager->projects(); i++)
00051 projectCreated (m_projectManager->project(i));
00052
00053 projectChanged ();
00054
00055
00056 connect(m_projectManager->projectManager(),SIGNAL(projectCreated(Kate::Project *)),this,SLOT(projectCreated(Kate::Project *)));
00057 connect(m_projectManager->projectManager(),SIGNAL(projectDeleted(uint)),this,SLOT(projectDeleted(uint)));
00058 connect(m_mainWindow->mainWindow(),SIGNAL(projectChanged()),this,SLOT(projectChanged()));
00059 }
00060
00061 KateProjectViews::~KateProjectViews ()
00062 {
00063 }
00064
00065 void KateProjectViews::projectChanged ()
00066 {
00067 Kate::Project *p = 0;
00068
00069 if (!(p = m_mainWindow->activeProject()))
00070 return;
00071
00072 m_stack->raiseWidget (m_wMap[p->projectNumber()]);
00073 }
00074
00075 void KateProjectViews::projectCreated (Kate::Project *project)
00076 {
00077 if (!project)
00078 return;
00079
00080 KateProjectTreeViewContainer *c =
00081 new KateProjectTreeViewContainer( project, m_mainWindow, m_stack ) ;
00082
00083 m_wMap[project->projectNumber()] = c;
00084
00085 m_stack->raiseWidget (c);
00086 }
00087
00088 void KateProjectViews::projectDeleted (uint projectNumber)
00089 {
00090 QWidget *w = m_wMap[projectNumber];
00091
00092 if (!w)
00093 return;
00094
00095 m_wMap.remove (projectNumber);
00096 m_stack->removeWidget (w);
00097 delete w;
00098 }
This file is part of the documentation for kate Library Version 3.3.90.