00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "kptwbsdefinitiondialog.h"
00021 #include "kptwbsdefinitionpanel.h"
00022 #include "kptwbsdefinition.h"
00023
00024 #include <klocale.h>
00025 #include <kcommand.h>
00026
00027 #include <kdebug.h>
00028
00029 namespace KPlato
00030 {
00031
00032 WBSDefinitionDialog::WBSDefinitionDialog(WBSDefinition &def, QWidget *p, const char *n)
00033 : KDialog(p)
00034 {
00035 setCaption( i18n("WBS Definition") );
00036 setButtons( Ok|Cancel );
00037 setDefaultButton( Ok );
00038 showButtonSeparator( true );
00039
00040 m_panel = new WBSDefinitionPanel(def, this);
00041 setMainWidget(m_panel);
00042 enableButtonOk(false);
00043 connect(m_panel, SIGNAL(changed(bool)), SLOT(enableButtonOk(bool)));
00044 connect(this, SIGNAL(okClicked()), SLOT(slotOk()));
00045 }
00046
00047
00048 KMacroCommand *WBSDefinitionDialog::buildCommand(Part *part) {
00049 KMacroCommand *m = new KMacroCommand(i18n("Modify WBS Definition"));
00050 bool modified = false;
00051 KCommand *cmd = m_panel->buildCommand(part);
00052 if (cmd) {
00053 m->addCommand(cmd);
00054 modified = true;
00055 }
00056 if (!modified) {
00057 delete m;
00058 return 0;
00059 }
00060 return m;
00061 }
00062
00063 void WBSDefinitionDialog::slotOk() {
00064 if (!m_panel->ok())
00065 return;
00066 accept();
00067 }
00068
00069
00070 }
00071
00072 #include "kptwbsdefinitiondialog.moc"