project::project(QWidget* parent, const char* name, bool modal, Qt::WFlags fl) : XDialog(parent, name, modal, fl) { setupUi(this); if(!_privileges->check("EditOwner")) _owner->setEnabled(false); connect(_close, SIGNAL(clicked()), this, SLOT(sClose())); connect(_save, SIGNAL(clicked()), this, SLOT(sSave())); connect(_printTasks, SIGNAL(clicked()), this, SLOT(sPrintTasks())); connect(_newTask, SIGNAL(clicked()), this, SLOT(sNewTask())); connect(_editTask, SIGNAL(clicked()), this, SLOT(sEditTask())); connect(_viewTask, SIGNAL(clicked()), this, SLOT(sViewTask())); connect(_deleteTask, SIGNAL(clicked()), this, SLOT(sDeleteTask())); connect(_number, SIGNAL(lostFocus()), this, SLOT(sNumberChanged())); _prjtask->addColumn( tr("Number"), _itemColumn, Qt::AlignRight, true, "prjtask_number" ); _prjtask->addColumn( tr("Name"), _itemColumn, Qt::AlignLeft, true, "prjtask_name" ); _prjtask->addColumn( tr("Description"), -1, Qt::AlignLeft, true, "prjtask_descrip" ); _owner->setUsername(omfgThis->username()); _assignedTo->setUsername(omfgThis->username()); _owner->setType(UsernameLineEdit::UsersActive); _assignedTo->setType(UsernameLineEdit::UsersActive); _saved=false; populate(); }
void todoList::sView() { if (_todoList->altId() ==2) sViewIncident(); else if (_todoList->altId() == 3) sViewTask(); else if (_todoList->altId() == 4) sViewProject(); else { ParameterList params; params.append("mode", "view"); params.append("todoitem_id", _todoList->id()); todoItem newdlg(this, "", TRUE); newdlg.set(params); newdlg.exec(); } }
project::project(QWidget* parent, const char* name, bool modal, Qt::WFlags fl) : XDialog(parent, name, modal, fl) { setupUi(this); if(!_privileges->check("EditOwner")) _owner->setEnabled(false); connect(_buttonBox, SIGNAL(rejected()), this, SLOT(sClose())); connect(_buttonBox, SIGNAL(accepted()), this, SLOT(sSave())); connect(_printTasks, SIGNAL(clicked()), this, SLOT(sPrintTasks())); connect(_newTask, SIGNAL(clicked()), this, SLOT(sNewTask())); connect(_editTask, SIGNAL(clicked()), this, SLOT(sEditTask())); connect(_viewTask, SIGNAL(clicked()), this, SLOT(sViewTask())); connect(_deleteTask, SIGNAL(clicked()), this, SLOT(sDeleteTask())); connect(_number, SIGNAL(lostFocus()), this, SLOT(sNumberChanged())); connect(_activity, SIGNAL(clicked()), this, SLOT(sActivity())); _prjtask->addColumn( tr("Number"), _itemColumn, Qt::AlignRight, true, "prjtask_number" ); _prjtask->addColumn( tr("Name"), _itemColumn, Qt::AlignLeft, true, "prjtask_name" ); _prjtask->addColumn( tr("Description"), -1, Qt::AlignLeft, true, "prjtask_descrip" ); _prjtask->addColumn( tr("Hours Balance"), _itemColumn, Qt::AlignRight, true, "prjtaskhrbal" ); _prjtask->addColumn( tr("Expense Balance"), _itemColumn, Qt::AlignRight, true, "prjtaskexpbal" ); _owner->setUsername(omfgThis->username()); _assignedTo->setUsername(omfgThis->username()); _owner->setType(UsernameLineEdit::UsersActive); _assignedTo->setType(UsernameLineEdit::UsersActive); _totalHrBud->setPrecision(omfgThis->qtyVal()); _totalHrAct->setPrecision(omfgThis->qtyVal()); _totalHrBal->setPrecision(omfgThis->qtyVal()); _totalExpBud->setPrecision(omfgThis->moneyVal()); _totalExpAct->setPrecision(omfgThis->moneyVal()); _totalExpBal->setPrecision(omfgThis->moneyVal()); _saved=false; populate(); }
void todoList::sView() { if (list()->altId() ==2) sViewIncident(); else if (list()->altId() == 3) sViewTask(); else if (list()->altId() == 4) sViewProject(); else if (list()->altId() == 5) sViewOpportunity(); else { ParameterList params; params.append("mode", "view"); params.append("todoitem_id", list()->id()); todoItem newdlg(this, "", true); newdlg.set(params); newdlg.exec(); } }
project::project(QWidget* parent, const char* name, bool modal, Qt::WFlags fl) : XDialog(parent, name, modal, fl) { setupUi(this); if(!_privileges->check("EditOwner")) _owner->setEnabled(false); connect(_close, SIGNAL(clicked()), this, SLOT(sClose())); connect(_save, SIGNAL(clicked()), this, SLOT(sSave())); connect(_printTasks, SIGNAL(clicked()), this, SLOT(sPrintTasks())); connect(_newTask, SIGNAL(clicked()), this, SLOT(sNewTask())); connect(_editTask, SIGNAL(clicked()), this, SLOT(sEditTask())); connect(_viewTask, SIGNAL(clicked()), this, SLOT(sViewTask())); connect(_deleteTask, SIGNAL(clicked()), this, SLOT(sDeleteTask())); connect(_number, SIGNAL(lostFocus()), this, SLOT(sNumberChanged())); _prjtask->addColumn( tr("Number"), _itemColumn, Qt::AlignRight, true, "prjtask_number" ); _prjtask->addColumn( tr("Name"), _itemColumn, Qt::AlignLeft, true, "prjtask_name" ); _prjtask->addColumn( tr("Description"), -1, Qt::AlignLeft, true, "prjtask_descrip" ); q.prepare("SELECT usr_id " "FROM usr " "WHERE (usr_username=CURRENT_USER);"); q.exec(); if (q.first()) { _owner->setId(q.value("usr_id").toInt()); _assignedTo->setId(q.value("usr_id").toInt()); } else if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); reject(); } populate(); }
void todoList::sPopulateMenu(QMenu *pMenu) { int menuItem; bool editPriv = (omfgThis->username() == _todoList->currentItem()->text(3) && _privileges->check("MaintainPersonalTodoList")) || (omfgThis->username() != _todoList->currentItem()->text(3) && _privileges->check("MaintainOtherTodoLists")); bool viewPriv = (omfgThis->username() == _todoList->currentItem()->text(3) && _privileges->check("ViewPersonalTodoList")) || (omfgThis->username() != _todoList->currentItem()->text(3) && _privileges->check("ViewOtherTodoLists")); menuItem = pMenu->insertItem(tr("New To-Do..."), this, SLOT(sNew()), 0); pMenu->setItemEnabled(menuItem, editPriv); if (_todoList->currentItem()->altId() == 1) { menuItem = pMenu->insertItem(tr("Edit To-Do..."), this, SLOT(sEdit()), 0); pMenu->setItemEnabled(menuItem, editPriv); menuItem = pMenu->insertItem(tr("View To-Do..."), this, SLOT(sView()), 0); pMenu->setItemEnabled(menuItem, viewPriv); menuItem = pMenu->insertItem(tr("Delete To-Do"), this, SLOT(sDelete()), 0); pMenu->setItemEnabled(menuItem, editPriv); } pMenu->addSeparator(); menuItem = pMenu->insertItem(tr("New Incident..."), this, SLOT(sNewIncdt()), 0); pMenu->setItemEnabled(menuItem, _privileges->check("MaintainIncidents")); if ((_todoList->altId() == 1 && !_todoList->currentItem()->text(9).isEmpty()) || _todoList->altId() == 2) { menuItem = pMenu->insertItem(tr("Edit Incident"), this, SLOT(sEditIncident()), 0); pMenu->setItemEnabled(menuItem, _privileges->check("MaintainIncidents")); menuItem = pMenu->insertItem(tr("View Incident"), this, SLOT(sViewIncident()), 0); pMenu->setItemEnabled(menuItem, _privileges->check("ViewIncidents") || _privileges->check("MaintainIncidents")); } pMenu->addSeparator(); if (_todoList->altId() == 3) { menuItem = pMenu->insertItem(tr("Edit Task"), this, SLOT(sEditTask()), 0); pMenu->setItemEnabled(menuItem, _privileges->check("MaintainProjects")); menuItem = pMenu->insertItem(tr("View Task"), this, SLOT(sViewTask()), 0); pMenu->setItemEnabled(menuItem, _privileges->check("ViewProjects") || _privileges->check("MaintainProjects")); pMenu->addSeparator(); } if (_todoList->altId() >= 3) { menuItem = pMenu->insertItem(tr("Edit Project"), this, SLOT(sEditProject()), 0); pMenu->setItemEnabled(menuItem, _privileges->check("MaintainProjects")); menuItem = pMenu->insertItem(tr("View Project"), this, SLOT(sViewProject()), 0); pMenu->setItemEnabled(menuItem, _privileges->check("ViewProjects") || _privileges->check("MaintainProjects")); } if (!_todoList->currentItem()->text(10).isEmpty()) { pMenu->addSeparator(); menuItem = pMenu->insertItem(tr("Edit Customer"), this, SLOT(sEditCustomer()), 0); pMenu->setItemEnabled(menuItem, _privileges->check("MaintainCustomerMasters") || _privileges->check("ViewCustomerMasters")); menuItem = pMenu->insertItem(tr("View Customer"), this, SLOT(sViewCustomer()), 0); pMenu->setItemEnabled(menuItem, _privileges->check("ViewCustomerMasters")); } }
void todoList::sPopulateMenu(QMenu *pMenu, QTreeWidgetItem *, int) { QAction *menuItem; bool editPriv = false; bool viewPriv = false; if (list()->currentItem()->altId() == 1) { editPriv = (omfgThis->username() == list()->currentItem()->rawValue("owner") && _privileges->check("MaintainPersonalToDoItems")) || (omfgThis->username() == list()->currentItem()->rawValue("assigned") && _privileges->check("MaintainPersonalToDoItems")) || (_privileges->check("MaintainAllToDoItems")); viewPriv = (omfgThis->username() == list()->currentItem()->rawValue("owner") && _privileges->check("ViewPersonalToDoItems")) || (omfgThis->username() == list()->currentItem()->rawValue("assigned") && _privileges->check("ViewPersonalToDoItems")) || (_privileges->check("ViewAllToDoItems")); menuItem = pMenu->addAction(tr("Edit To-Do..."), this, SLOT(sEdit())); menuItem->setEnabled(editPriv); menuItem = pMenu->addAction(tr("View To-Do..."), this, SLOT(sView())); menuItem->setEnabled(viewPriv); menuItem = pMenu->addAction(tr("Delete To-Do"), this, SLOT(sDelete())); menuItem->setEnabled(editPriv); } pMenu->addSeparator(); if (list()->altId() == 2 || (list()->currentItem()->altId() == 1 && list()->currentItem()->rawValue("parent") == "INCDT")) { editPriv = (omfgThis->username() == list()->currentItem()->rawValue("owner") && _privileges->check("MaintainPersonalIncidents")) || (omfgThis->username() == list()->currentItem()->rawValue("assigned") && _privileges->check("MaintainPersonalIncidents")) || (_privileges->check("MaintainAllIncidents")); viewPriv = (omfgThis->username() == list()->currentItem()->rawValue("owner") && _privileges->check("ViewPersonalIncidents")) || (omfgThis->username() == list()->currentItem()->rawValue("assigned") && _privileges->check("ViewPersonalIncidents")) || (_privileges->check("ViewAllIncidents")); menuItem = pMenu->addAction(tr("Edit Incident"), this, SLOT(sEditIncident())); menuItem->setEnabled(editPriv); menuItem = pMenu->addAction(tr("View Incident"), this, SLOT(sViewIncident())); menuItem->setEnabled(viewPriv); } pMenu->addSeparator(); if (list()->altId() == 3) { editPriv = (omfgThis->username() == list()->currentItem()->rawValue("owner") && _privileges->check("MaintainPersonalProjects")) || (omfgThis->username() == list()->currentItem()->rawValue("assigned") && _privileges->check("MaintainPersonalProjects")) || (_privileges->check("MaintainAllProjects")); viewPriv = (omfgThis->username() == list()->currentItem()->rawValue("owner") && _privileges->check("ViewPersonalProjects")) || (omfgThis->username() == list()->currentItem()->rawValue("assigned") && _privileges->check("ViewPersonalProjects")) || (_privileges->check("ViewAllProjects")); menuItem = pMenu->addAction(tr("Edit Task"), this, SLOT(sEditTask())); menuItem->setEnabled(editPriv); menuItem = pMenu->addAction(tr("View Task"), this, SLOT(sViewTask())); menuItem->setEnabled(viewPriv); pMenu->addSeparator(); } if (list()->altId() == 3 || list()->altId() == 4) { editPriv = (omfgThis->username() == list()->currentItem()->rawValue("owner") && _privileges->check("MaintainPersonalProjects")) || (omfgThis->username() == list()->currentItem()->rawValue("assigned") && _privileges->check("MaintainPersonalProjects")) || (_privileges->check("MaintainAllProjects")); viewPriv = (omfgThis->username() == list()->currentItem()->rawValue("owner") && _privileges->check("ViewPersonalProjects")) || (omfgThis->username() == list()->currentItem()->rawValue("assigned") && _privileges->check("ViewPersonalProjects")) || (_privileges->check("ViewAllProjects")); menuItem = pMenu->addAction(tr("Edit Project"), this, SLOT(sEditProject())); menuItem->setEnabled(editPriv); menuItem = pMenu->addAction(tr("View Project"), this, SLOT(sViewProject())); menuItem->setEnabled(viewPriv); } if (list()->altId() == 5 || (list()->currentItem()->altId() == 1 && list()->currentItem()->rawValue("parent") == "OPP")) { editPriv = (omfgThis->username() == list()->currentItem()->rawValue("owner") && _privileges->check("MaintainPersonalOpportunities")) || (omfgThis->username() == list()->currentItem()->rawValue("assigned") && _privileges->check("MaintainPersonalOpportunities")) || (_privileges->check("MaintainAllOpportunities")); viewPriv = (omfgThis->username() == list()->currentItem()->rawValue("owner") && _privileges->check("ViewPersonalOpportunities")) || (omfgThis->username() == list()->currentItem()->rawValue("assigned") && _privileges->check("ViewPersonalOpportunities")) || (_privileges->check("ViewAllOpportunities")); menuItem = pMenu->addAction(tr("Edit Opportunity"), this, SLOT(sEditOpportunity())); menuItem->setEnabled(editPriv); menuItem = pMenu->addAction(tr("View Opportunity"), this, SLOT(sViewOpportunity())); menuItem->setEnabled(viewPriv); } if (list()->currentItem()->rawValue("cust").toInt() > 0) { pMenu->addSeparator(); menuItem = pMenu->addAction(tr("Edit Customer"), this, SLOT(sEditCustomer())); menuItem->setEnabled(_privileges->check("MaintainCustomerMasters") || _privileges->check("ViewCustomerMasters")); menuItem = pMenu->addAction(tr("View Customer"), this, SLOT(sViewCustomer())); menuItem->setEnabled(_privileges->check("ViewCustomerMasters")); } }
project::project(QWidget* parent, const char* name, bool modal, Qt::WFlags fl) : XDialog(parent, name, modal, fl) { setupUi(this); if(!_privileges->check("EditOwner")) _owner->setEnabled(false); connect(_buttonBox, SIGNAL(rejected()), this, SLOT(sClose())); connect(_buttonBox, SIGNAL(accepted()), this, SLOT(sSave())); connect(_printTasks, SIGNAL(clicked()), this, SLOT(sPrintTasks())); connect(_queryTasks, SIGNAL(clicked()), this, SLOT(sFillTaskList())); connect(_newTask, SIGNAL(clicked()), this, SLOT(sNewTask())); connect(_editTask, SIGNAL(clicked()), this, SLOT(sEditTask())); connect(_viewTask, SIGNAL(clicked()), this, SLOT(sViewTask())); connect(_deleteTask, SIGNAL(clicked()), this, SLOT(sDeleteTask())); connect(_number, SIGNAL(editingFinished()), this, SLOT(sNumberChanged())); connect(_crmacct, SIGNAL(newId(int)), this, SLOT(sCRMAcctChanged(int))); connect(_newCharacteristic, SIGNAL(clicked()), this, SLOT(sNew())); connect(_editCharacteristic, SIGNAL(clicked()), this, SLOT(sEdit())); connect(_deleteCharacteristic, SIGNAL(clicked()), this, SLOT(sDelete())); connect(_prjtask, SIGNAL(populateMenu(QMenu*,QTreeWidgetItem*,int)), this, SLOT(sPopulateMenu(QMenu*, QTreeWidgetItem*))); connect(_showSo, SIGNAL(toggled(bool)), this, SLOT(sFillTaskList())); connect(_showPo, SIGNAL(toggled(bool)), this, SLOT(sFillTaskList())); connect(_showWo, SIGNAL(toggled(bool)), this, SLOT(sFillTaskList())); connect(_showIn, SIGNAL(toggled(bool)), this, SLOT(sFillTaskList())); _charass->addColumn(tr("Characteristic"), _itemColumn, Qt::AlignLeft, true, "char_name" ); _charass->addColumn(tr("Value"), -1, Qt::AlignLeft, true, "charass_value" ); _charass->addColumn(tr("Default"), _ynColumn*2, Qt::AlignCenter, true, "charass_default" ); _prjtask->addColumn(tr("Name"), _itemColumn, Qt::AlignLeft, true, "name" ); _prjtask->addColumn(tr("Status"), _orderColumn, Qt::AlignLeft, true, "status" ); _prjtask->addColumn(tr("Item #"), _itemColumn, Qt::AlignLeft, true, "item" ); _prjtask->addColumn(tr("Description"), -1 , Qt::AlignLeft, true, "descrip" ); _prjtask->addColumn(tr("Account/Customer"), -1 , Qt::AlignLeft, false, "customer" ); _prjtask->addColumn(tr("Contact"), -1 , Qt::AlignLeft, false, "contact" ); _prjtask->addColumn(tr("City"), -1 , Qt::AlignLeft, false, "city" ); _prjtask->addColumn(tr("State"), -1 , Qt::AlignLeft, false, "state" ); _prjtask->addColumn(tr("Qty"), _qtyColumn, Qt::AlignRight, true, "qty" ); _prjtask->addColumn(tr("UOM"), _uomColumn, Qt::AlignLeft, true, "uom" ); _prjtask->addColumn(tr("Value"), _qtyColumn, Qt::AlignRight, true, "value" ); _prjtask->addColumn(tr("Due Date"), _dateColumn, Qt::AlignRight, true, "due" ); _prjtask->addColumn(tr("Assigned"), _dateColumn, Qt::AlignRight, true, "assigned" ); _prjtask->addColumn(tr("Started"), _dateColumn, Qt::AlignRight, true, "started" ); _prjtask->addColumn(tr("Completed"), _dateColumn, Qt::AlignRight, true, "completed" ); _prjtask->addColumn(tr("Hrs. Budget"), _qtyColumn, Qt::AlignRight, true, "hrs_budget" ); _prjtask->addColumn(tr("Hrs. Actual"), _qtyColumn, Qt::AlignRight, true, "hrs_actual" ); _prjtask->addColumn(tr("Hrs. Balance"), _qtyColumn, Qt::AlignRight, true, "hrs_balance" ); _prjtask->addColumn(tr("Exp. Budget"), _priceColumn, Qt::AlignRight, true, "exp_budget" ); _prjtask->addColumn(tr("Exp. Actual"), _priceColumn, Qt::AlignRight, true, "exp_actual" ); _prjtask->addColumn(tr("Exp. Balance"), _priceColumn, Qt::AlignRight, true, "exp_balance" ); _showSo->setChecked(true); _showWo->setChecked(true); _showPo->setChecked(true); _showIn->setChecked(true); _owner->setUsername(omfgThis->username()); _assignedTo->setUsername(omfgThis->username()); _owner->setType(UsernameLineEdit::UsersActive); _assignedTo->setType(UsernameLineEdit::UsersActive); _totalHrBud->setPrecision(omfgThis->qtyVal()); _totalHrAct->setPrecision(omfgThis->qtyVal()); _totalHrBal->setPrecision(omfgThis->qtyVal()); _totalExpBud->setPrecision(omfgThis->moneyVal()); _totalExpAct->setPrecision(omfgThis->moneyVal()); _totalExpBal->setPrecision(omfgThis->moneyVal()); _saved=false; QMenu * newMenu = new QMenu; QAction *menuItem; newMenu->addAction(tr("Task..."), this, SLOT(sNewTask())); newMenu->addSeparator(); menuItem = newMenu->addAction(tr("Quote"), this, SLOT(sNewQuotation())); menuItem->setEnabled(_privileges->check("MaintainQuotes")); menuItem = newMenu->addAction(tr("Sales Order"), this, SLOT(sNewSalesOrder())); menuItem->setEnabled(_privileges->check("MaintainSalesOrders")); menuItem = newMenu->addAction(tr("Purchase Order"), this, SLOT(sNewPurchaseOrder())); menuItem->setEnabled(_privileges->check("MaintainPurchaseOrders")); menuItem = newMenu->addAction(tr("Work Order"), this, SLOT(sNewWorkOrder())); menuItem->setEnabled(_privileges->check("MaintainWorkOrders")); _newTask->setMenu(newMenu); _newTask->setMenu(newMenu); populate(); }
void todoList::sPopulateMenu(QMenu *pMenu, QTreeWidgetItem *, int) { QAction *menuItem; bool editPriv = (omfgThis->username() == list()->currentItem()->text(3) && _privileges->check("MaintainPersonalTodoList")) || (omfgThis->username() != list()->currentItem()->text(3) && _privileges->check("MaintainOtherTodoLists")); bool viewPriv = (omfgThis->username() == list()->currentItem()->text(3) && _privileges->check("ViewPersonalTodoList")) || (omfgThis->username() != list()->currentItem()->text(3) && _privileges->check("ViewOtherTodoLists")); menuItem = pMenu->addAction(tr("New To-Do..."), this, SLOT(sNew())); menuItem->setEnabled(editPriv); if (list()->currentItem()->altId() == 1) { menuItem = pMenu->addAction(tr("Edit To-Do..."), this, SLOT(sEdit())); menuItem->setEnabled(editPriv); menuItem = pMenu->addAction(tr("View To-Do..."), this, SLOT(sView())); menuItem->setEnabled(viewPriv); menuItem = pMenu->addAction(tr("Delete To-Do"), this, SLOT(sDelete())); menuItem->setEnabled(editPriv); } pMenu->addSeparator(); menuItem = pMenu->addAction(tr("New Incident..."), this, SLOT(sNewIncdt())); menuItem->setEnabled( _privileges->check("MaintainIncidents")); if ((list()->altId() == 1 && !list()->currentItem()->text(9).isEmpty()) || list()->altId() == 2) { menuItem = pMenu->addAction(tr("Edit Incident"), this, SLOT(sEditIncident())); menuItem->setEnabled(_privileges->check("MaintainIncidents")); menuItem = pMenu->addAction(tr("View Incident"), this, SLOT(sViewIncident())); menuItem->setEnabled(_privileges->check("ViewIncidents") || _privileges->check("MaintainIncidents")); } pMenu->addSeparator(); if (list()->altId() == 3) { menuItem = pMenu->addAction(tr("Edit Task"), this, SLOT(sEditTask())); menuItem->setEnabled(_privileges->check("MaintainProjects")); menuItem = pMenu->addAction(tr("View Task"), this, SLOT(sViewTask())); menuItem->setEnabled(_privileges->check("ViewProjects") || _privileges->check("MaintainProjects")); pMenu->addSeparator(); } if (list()->altId() >= 3) { menuItem = pMenu->addAction(tr("Edit Project"), this, SLOT(sEditProject())); menuItem->setEnabled(_privileges->check("MaintainProjects")); menuItem = pMenu->addAction(tr("View Project"), this, SLOT(sViewProject())); menuItem->setEnabled(_privileges->check("ViewProjects") || _privileges->check("MaintainProjects")); } if (!list()->currentItem()->text(10).isEmpty()) { pMenu->addSeparator(); menuItem = pMenu->addAction(tr("Edit Customer"), this, SLOT(sEditCustomer())); menuItem->setEnabled(_privileges->check("MaintainCustomerMasters") || _privileges->check("ViewCustomerMasters")); menuItem = pMenu->addAction(tr("View Customer"), this, SLOT(sViewCustomer())); menuItem->setEnabled(_privileges->check("ViewCustomerMasters")); } }
project::project(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl) : XDialog(parent, name, modal, fl), _prjid(-1) { setupUi(this); XSqlQuery projectType; projectType.prepare("SELECT prjtype_id, prjtype_descr FROM prjtype WHERE prjtype_active;"); projectType.exec(); _projectType->populate(projectType); if (projectType.lastError().type() != QSqlError::NoError) { systemError(this, projectType.lastError().databaseText(), __FILE__, __LINE__); return; } if(!_privileges->check("EditOwner")) _owner->setEnabled(false); connect(_buttonBox, SIGNAL(rejected()), this, SLOT(sClose())); connect(_buttonBox, SIGNAL(accepted()), this, SLOT(sSave())); connect(_queryTasks, SIGNAL(clicked()), this, SLOT(sFillTaskList())); connect(_newTask, SIGNAL(clicked()), this, SLOT(sNewTask())); connect(_editTask, SIGNAL(clicked()), this, SLOT(sEditTask())); connect(_viewTask, SIGNAL(clicked()), this, SLOT(sViewTask())); connect(_deleteTask, SIGNAL(clicked()), this, SLOT(sDeleteTask())); connect(_number, SIGNAL(editingFinished()), this, SLOT(sNumberChanged())); connect(_crmacct, SIGNAL(newId(int)), this, SLOT(sCRMAcctChanged(int))); connect(_prjtask, SIGNAL(populateMenu(QMenu*,QTreeWidgetItem*,int)), this, SLOT(sPopulateMenu(QMenu*, QTreeWidgetItem*))); connect(_showSo, SIGNAL(toggled(bool)), this, SLOT(sFillTaskList())); connect(_showPo, SIGNAL(toggled(bool)), this, SLOT(sFillTaskList())); connect(_showWo, SIGNAL(toggled(bool)), this, SLOT(sFillTaskList())); connect(_showIn, SIGNAL(toggled(bool)), this, SLOT(sFillTaskList())); _charass->setType("PROJ"); _prjtask->addColumn(tr("Name"), _itemColumn, Qt::AlignLeft, true, "name" ); _prjtask->addColumn(tr("Status"), _orderColumn, Qt::AlignLeft, true, "status" ); _prjtask->addColumn(tr("Item #"), _itemColumn, Qt::AlignLeft, true, "item" ); _prjtask->addColumn(tr("Description"), -1 , Qt::AlignLeft, true, "descrip" ); _prjtask->addColumn(tr("Account/Customer"), -1 , Qt::AlignLeft, false, "customer" ); _prjtask->addColumn(tr("Contact"), -1 , Qt::AlignLeft, false, "contact" ); _prjtask->addColumn(tr("City"), -1 , Qt::AlignLeft, false, "city" ); _prjtask->addColumn(tr("State"), -1 , Qt::AlignLeft, false, "state" ); _prjtask->addColumn(tr("Qty"), _qtyColumn, Qt::AlignRight, true, "qty" ); _prjtask->addColumn(tr("UOM"), _uomColumn, Qt::AlignLeft, true, "uom" ); _prjtask->addColumn(tr("Value"), _qtyColumn, Qt::AlignRight, true, "value" ); _prjtask->addColumn(tr("Due Date"), _dateColumn, Qt::AlignRight, true, "due" ); _prjtask->addColumn(tr("Assigned"), _dateColumn, Qt::AlignRight, true, "assigned" ); _prjtask->addColumn(tr("Started"), _dateColumn, Qt::AlignRight, true, "started" ); _prjtask->addColumn(tr("Completed"), _dateColumn, Qt::AlignRight, true, "completed" ); _prjtask->addColumn(tr("Hrs. Budget"), _qtyColumn, Qt::AlignRight, true, "hrs_budget" ); _prjtask->addColumn(tr("Hrs. Actual"), _qtyColumn, Qt::AlignRight, true, "hrs_actual" ); _prjtask->addColumn(tr("Hrs. Balance"), _qtyColumn, Qt::AlignRight, true, "hrs_balance" ); _prjtask->addColumn(tr("Exp. Budget"), _priceColumn, Qt::AlignRight, true, "exp_budget" ); _prjtask->addColumn(tr("Exp. Actual"), _priceColumn, Qt::AlignRight, true, "exp_actual" ); _prjtask->addColumn(tr("Exp. Balance"), _priceColumn, Qt::AlignRight, true, "exp_balance" ); _owner->setUsername(omfgThis->username()); _assignedTo->setUsername(omfgThis->username()); _owner->setType(UsernameLineEdit::UsersActive); _assignedTo->setType(UsernameLineEdit::UsersActive); _totalHrBud->setPrecision(omfgThis->qtyVal()); _totalHrAct->setPrecision(omfgThis->qtyVal()); _totalHrBal->setPrecision(omfgThis->qtyVal()); _totalExpBud->setPrecision(omfgThis->moneyVal()); _totalExpAct->setPrecision(omfgThis->moneyVal()); _totalExpBal->setPrecision(omfgThis->moneyVal()); _saved=false; QMenu * newMenu = new QMenu; QAction *menuItem; newMenu->addAction(tr("Task..."), this, SLOT(sNewTask())); newMenu->addSeparator(); menuItem = newMenu->addAction(tr("Incident"), this, SLOT(sNewIncident())); menuItem->setEnabled(_privileges->check("MaintainPersonalIncidents") || _privileges->check("MaintainAllIncidents")); menuItem = newMenu->addAction(tr("Quote"), this, SLOT(sNewQuotation())); menuItem->setEnabled(_privileges->check("MaintainQuotes")); menuItem = newMenu->addAction(tr("Sales Order"), this, SLOT(sNewSalesOrder())); menuItem->setEnabled(_privileges->check("MaintainSalesOrders")); menuItem = newMenu->addAction(tr("Purchase Order"), this, SLOT(sNewPurchaseOrder())); menuItem->setEnabled(_privileges->check("MaintainPurchaseOrders")); menuItem = newMenu->addAction(tr("Work Order"), this, SLOT(sNewWorkOrder())); menuItem->setEnabled(_privileges->check("MaintainWorkOrders")); _newTask->setMenu(newMenu); QMenu * printMenu = new QMenu; printMenu->addAction(tr("Print Tasks"), this, SLOT(sPrintTasks())); printMenu->addAction(tr("Print Orders"), this, SLOT(sPrintOrders())); _print->setMenu(printMenu); }