00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "Name_Root_dlg.h"
00021 #define SPACE 8
00022 #define MARGIN 6
00023
00024 NameRootDlg::NameRootDlg(int textWidth, QString textLabel, QMainWindow *parent)
00025 : RootDlg()
00026 {
00027
00028 statusBar = parent->statusBar();
00029 n_wdgt = new NameWidget(textWidth, textLabel, ui.frame, ui.vboxLayout2, this);
00030 }
00031
00032 bool NameRootDlg::enableBtn(QString oldName
00033 ,int parentID
00034 ,RootItem * rootItem
00035 ,sql * dbConn
00036 ,bool (*pUniqueName)(QString, int, sql*)
00037 )
00038 {
00039 if(getName().isEmpty())
00040 {
00041 ui.okButton->setEnabled(false);
00042 return false;
00043 }
00044
00045 if (rootItem != 0)
00046 {
00047 if (oldName == getName())
00048 {
00049 ui.okButton->setEnabled(false);
00050 return true;
00051 }
00052 else
00053 {
00054 if(oldName != getName() && !pUniqueName(getName(),parentID, dbConn) )
00055 {
00056 ui.okButton->setEnabled(false);
00057 return false;
00058 }
00059 else
00060 {
00061 ui.okButton->setEnabled(true);
00062 return true;
00063 }
00064 }
00065 }
00066 else
00067 {
00068 if (pUniqueName(getName(), parentID, dbConn))
00069 {
00070 ui.okButton->setEnabled(true);
00071 return true;
00072 }
00073 else
00074 {
00075 ui.okButton->setEnabled(false);
00076 return false;
00077 }
00078 }
00079 return true;
00080 }