00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "kptconfigdialog.h"
00021
00022 #include "kpttaskdefaultpanel.h"
00023
00024
00025 #include "kptconfig.h"
00026 #include "kptproject.h"
00027 #include "kpttask.h"
00028 #include "kptcalendar.h"
00029
00030 #include <kiconloader.h>
00031 #include <klocale.h>
00032 #include <kcommand.h>
00033 #include <kinstance.h>
00034
00035
00036 #include <QPixmap>
00037
00038 #include <kdebug.h>
00039 #include <kvbox.h>
00040
00041 namespace KPlato
00042 {
00043
00044
00045 static inline QPixmap loadIcon( const char * name ) {
00046 return KGlobal::instance()->iconLoader()
00047 ->loadIcon( QString::fromLatin1(name), K3Icon::NoGroup, K3Icon::SizeMedium );
00048 }
00049
00050
00051 ConfigDialog::ConfigDialog(Config &config, Project &project, QWidget *parent, const char *)
00052 : KPageDialog(parent),
00053 m_config(config)
00054 {
00055 setCaption( i18n("Configure KPlato") );
00056 setButtons( KDialog::Ok | KDialog::Apply | KDialog::Cancel| KDialog::Default );
00057 setDefaultButton( Ok );
00058 setFaceType( KPageDialog::List );
00059
00060
00061
00062
00063 KVBox *page = new KVBox();
00064 addPage( page, i18n("Task Defaults") );
00065
00066 m_taskDefaultPage = new TaskDefaultPanel(config.taskDefaults(), project.standardWorktime(), page);
00067
00068 enableButtonOk(false);
00069 enableButtonApply(false);
00070
00071
00072 connect(m_taskDefaultPage, SIGNAL(changed()), SLOT(slotChanged()));
00073 }
00074
00075
00076 void ConfigDialog::slotApply() {
00077 if (!m_taskDefaultPage->ok())
00078 return;
00079
00080
00081 KCommand *cmd = m_taskDefaultPage->buildCommand(0);
00082 if (cmd)
00083 cmd->execute();
00084
00085
00086 }
00087
00088 void ConfigDialog::slotOk() {
00089 slotApply();
00090 accept();
00091 }
00092
00093 void ConfigDialog::slotDefault() {
00094 kDebug()<<k_funcinfo<<endl;
00095 m_taskDefaultPage->setStartValues(m_config.taskDefaults());
00096
00097
00098 enableButtonOk(false);
00099 enableButtonApply(false);
00100 }
00101
00102 void ConfigDialog::slotChanged() {
00103 enableButtonOk(true);
00104 enableButtonApply(true);
00105 }
00106
00107 }
00108
00109 #include "kptconfigdialog.moc"