kplato

kptmainprojectdialog.cc

00001 /* This file is part of the KDE project
00002    Copyright (C) 2003 - 2005 Dag Andersen <danders@get2net.dk>
00003 
00004    This library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Library General Public
00006    License as published by the Free Software Foundation;
00007    version 2 of the License.
00008 
00009    This library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Library General Public License for more details.
00013 
00014    You should have received a copy of the GNU Library General Public License
00015    along with this library; see the file COPYING.LIB.  If not, write to
00016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017  * Boston, MA 02110-1301, USA.
00018 */
00019 
00020 #include <qvbox.h>
00021 
00022 #include <klocale.h>
00023 #include <kcommand.h>
00024 
00025 #include <kdebug.h>
00026 
00027 #include "kptmainprojectdialog.h"
00028 #include "kptproject.h"
00029 #include "kptmainprojectpanel.h"
00030 
00031 namespace KPlato
00032 {
00033 
00034 MainProjectDialog::MainProjectDialog(Project &p, QWidget *parent, const char *name)
00035     : KDialogBase( Swallow, i18n("Project Settings"), Ok|Cancel, Ok, parent, name, true, true),
00036       project(p)
00037 {
00038     panel = new MainProjectPanel(project, this);
00039     
00040     setMainWidget(panel);
00041     enableButtonOK(false);
00042     resize( QSize(500, 410).expandedTo(minimumSizeHint()));
00043     connect(panel, SIGNAL(obligatedFieldsFilled(bool)), SLOT(enableButtonOK(bool)));
00044 }
00045 
00046 
00047 void MainProjectDialog::slotOk() {
00048     if (!panel->ok())
00049         return;
00050     
00051     accept();
00052 }
00053 
00054 KCommand *MainProjectDialog::buildCommand(Part *part) {
00055     KMacroCommand *m = 0;
00056     QString c = i18n("Modify main project");
00057     KCommand *cmd = panel->buildCommand(part);
00058     if (cmd) {
00059         if (!m) m = new KMacroCommand(c);
00060         m->addCommand(cmd);
00061     }
00062     return m;
00063 }
00064 
00065 }  //KPlato namespace
00066 
00067 #include "kptmainprojectdialog.moc"
KDE Home | KDE Accessibility Home | Description of Access Keys