menuAccounting::menuAccounting(GUIClient *Pparent) : QObject(Pparent) { setObjectName("wmModule"); parent = Pparent; toolBar = new QToolBar(tr("Accounting Tools")); toolBar->setObjectName("Accounting Tools"); toolBar->setIconSize(QSize(32, 32)); parent->addToolBar(toolBar); mainMenu = new QMenu(parent); apMenu = new QMenu(parent); apPurchaseMenu = new QMenu(parent); apVoucherMenu = new QMenu(parent); apMemosMenu = new QMenu(parent); apPaymentsMenu = new QMenu(parent); apFormsMenu = new QMenu(parent); apReportsMenu = new QMenu(parent); arMenu = new QMenu(parent); arInvoicesMenu = new QMenu(parent); arMemosMenu = new QMenu(parent); arCashReceiptsMenu = new QMenu(parent); arFormsMenu = new QMenu(parent); arReportsMenu = new QMenu(parent); glMenu = new QMenu(parent); glEnterTransactionMenu = new QMenu(parent); glStandardJournalsMenu = new QMenu(parent); bankrecMenu = new QMenu(parent); bankrecReportsMenu = new QMenu(parent); financialReportsMenu = new QMenu(parent); glReportsMenu = new QMenu(parent); calendarMenu = new QMenu(parent); coaMenu = new QMenu(parent); budgetMenu = new QMenu(parent); taxMenu = new QMenu(parent); taxReportsMenu = new QMenu(parent); utilitiesMenu = new QMenu(parent); mainMenu->setObjectName("menu.accnt"); apMenu->setObjectName("menu.accnt.ap"); apPurchaseMenu->setObjectName("menu.accnt.appurchase"); apVoucherMenu->setObjectName("menu.accnt.apvoucher"); apMemosMenu->setObjectName("menu.accnt.apmemos"); apPaymentsMenu->setObjectName("menu.accnt.appayments"); apFormsMenu->setObjectName("menu.accnt.apforms"); apReportsMenu->setObjectName("menu.accnt.apreports"); arMenu->setObjectName("menu.accnt.ar"); arInvoicesMenu->setObjectName("menu.accnt.arinvoices"); arMemosMenu->setObjectName("menu.accnt.armemos"); arCashReceiptsMenu->setObjectName("menu.accnt.arcashreceipts"); arFormsMenu->setObjectName("menu.accnt.arforms"); arReportsMenu->setObjectName("menu.accnt.arreports"); glMenu->setObjectName("menu.accnt.gl"); glReportsMenu->setObjectName("menu.accnt.gl.glreports"); glEnterTransactionMenu->setObjectName("menu.accnt.glentertransaction"); glStandardJournalsMenu->setObjectName("menu.accnt.glstandardjournals"); bankrecMenu->setObjectName("menu.accnt.bankrec"); bankrecReportsMenu->setObjectName("menu.accnt.bankrec.bankrecreports"); financialReportsMenu->setObjectName("menu.accnt.financialreports"); calendarMenu->setObjectName("menu.accnt.calendar"); coaMenu->setObjectName("menu.accnt.coa"); budgetMenu->setObjectName("menu.accnt.budget"); taxMenu->setObjectName("menu.accnt.tax"); taxMenu->setObjectName("menu.accnt.tax.taxreports"); utilitiesMenu->setObjectName("menu.accnt.utilities"); actionProperties acts[] = { // Accounting | Accounts Payable { "menu", tr("Accounts &Payable"), (char*)apMenu, mainMenu, "true", NULL, NULL, true, NULL }, // Accounting | Accaunts Payable | Purchase Orders { "menu", tr("Purchase &Order"), (char*)apPurchaseMenu, apMenu, "true", NULL, NULL, true, NULL }, { "ap.enterPurchaseOrder", tr("&New..."), SLOT(sEnterPurchaseOrder()), apPurchaseMenu, "MaintainPurchaseOrders", NULL, NULL, true , NULL }, { "ap.listUnpostedPurchaseOrders", tr("&List Open..."), SLOT(sUnpostedPurchaseOrders()), apPurchaseMenu, "MaintainPurchaseOrders ViewPurchaseOrders", NULL, NULL, true , NULL }, { "separator", NULL, NULL, apPurchaseMenu, "true", NULL, NULL, true, NULL }, { "ap.postPurchaseOrder", tr("&Release..."), SLOT(sPostPurchaseOrder()), apPurchaseMenu, "ReleasePurchaseOrders", NULL, NULL, true , NULL }, // Accounting | Accaunts Payable | Vouchers { "menu", tr("&Voucher"), (char*)apVoucherMenu, apMenu, "true", NULL, NULL, true, NULL }, { "ar.enterNewVoucher", tr("&New..."), SLOT(sEnterVoucher()), apVoucherMenu, "MaintainVouchers", NULL, NULL, true , NULL }, { "ar.enterNewMiscVoucher", tr("New &Miscellaneous..."), SLOT(sEnterMiscVoucher()), apVoucherMenu, "MaintainVouchers", NULL, NULL, true , NULL }, { "ar.listUnpostedVouchers", tr("&List Unposted..."), SLOT(sUnpostedVouchers()), apVoucherMenu, "MaintainVouchers ViewVouchers", QPixmap(":/images/listUnpostedVouchers.png"), toolBar, true , tr("List Unposted Vouchers") }, { "separator", NULL, NULL, apVoucherMenu, "true", NULL, NULL, true, NULL }, { "ar.postVouchers", tr("&Post..."), SLOT(sPostVouchers()), apVoucherMenu, "PostVouchers", NULL, NULL, true , NULL }, // Accounting | Accaunts Payable | Memos { "menu", tr("&Memos"), (char*)apMemosMenu, apMenu, "true", NULL, NULL, true, NULL }, { "ap.enterMiscCreditMemo", tr("&New Misc. Credit Memo..."), SLOT(sEnterMiscApCreditMemo()), apMemosMenu, "MaintainAPMemos", NULL, NULL, true , NULL }, { "ap.unapplidCreditMemo", tr("&List Unapplied Credit Memos..."), SLOT(sUnappliedApCreditMemos()), apMemosMenu, "MaintainAPMemos ViewAPMemos", NULL, NULL, true , NULL }, { "separator", NULL, NULL, apMemosMenu, "true", NULL, NULL, true, NULL }, { "ap.enterMiscDebitMemo", tr("New &Misc. Debit Memo..."), SLOT(sEnterMiscApDebitMemo()), apMemosMenu, "MaintainAPMemos", NULL, NULL, true , NULL }, // Accounting | Accaunts Payable | Payments { "menu", tr("&Payments"), (char*)apPaymentsMenu, apMenu, "true", NULL, NULL, true, NULL }, { "ap.selectPayments", tr("&Select..."), SLOT(sSelectPayments()), apPaymentsMenu, "MaintainPayments", NULL, NULL, true , tr("Select Payments") }, { "ap.listSelectPayments", tr("&List Selected..."), SLOT(sSelectedPayments()), apPaymentsMenu, "MaintainPayments", NULL, NULL, true , NULL }, { "separator", NULL, NULL, apPaymentsMenu, "true", NULL, NULL, true, NULL }, { "ap.prepareCheckRun", tr("&Prepare Check Run..."), SLOT(sPrepareCheckRun()), apPaymentsMenu, "MaintainPayments", NULL, NULL, true , NULL }, { "ap.createMiscCheck", tr("Create &Miscellaneous Check..."), SLOT(sCreateMiscCheck()), apPaymentsMenu, "MaintainPayments", NULL, NULL, true , NULL }, { "ap.viewCheckRun", tr("Vie&w Check Run..."), SLOT(sViewCheckRun()), apPaymentsMenu, "MaintainPayments", NULL, NULL, true , NULL }, { "separator", NULL, NULL, apPaymentsMenu, "true", NULL, NULL, true, NULL }, { "ap.voidCheckRun", tr("&Void Check Run..."), SLOT(sVoidCheckRun()), apPaymentsMenu, "MaintainPayments", NULL, NULL, true , NULL }, { "separator", NULL, NULL, apPaymentsMenu, "true", NULL, NULL, true, NULL }, { "ap.postCheck", tr("Post &Check..."), SLOT(sPostCheck()), apPaymentsMenu, "PostPayments", NULL, NULL, true , NULL }, { "ap.postChecks", tr("P&ost Checks..."), SLOT(sPostChecks()), apPaymentsMenu, "PostPayments", NULL, NULL, true , NULL }, { "separator", NULL, NULL, apMenu, "true", NULL, NULL, true, NULL }, { "ap.workbench", tr("&Workbench..."), SLOT(sApWorkBench()), apMenu, "MaintainPayments MaintainAPMemos", QPixmap(":/images/viewCheckRun.png"), toolBar, true, tr("Payables Workbench") }, { "separator", NULL, NULL, apMenu, "true", NULL, NULL, true, NULL }, // Accounting | Accaunts Payable | Forms { "menu", tr("&Forms"), (char*)apFormsMenu, apMenu, "true", NULL, NULL, true, NULL }, { "ap.printPurchaseOrder", tr("Print Purchase &Order..."), SLOT(sPrintPurchaseOrder()), apFormsMenu, "PrintPurchaseOrders", NULL, NULL, true , NULL }, { "separator", NULL, NULL, apFormsMenu, "true", NULL, NULL, true, NULL }, { "ap.printCheck", tr("Print &Check..."), SLOT(sPrintCheck()), apFormsMenu, "MaintainPayments", NULL, NULL, true , NULL }, { "ap.printCheckRun", tr("Print Check &Run..."), SLOT(sPrintCheckRun()), apFormsMenu, "MaintainPayments", NULL, NULL, true , NULL }, // Accounting | Accaunts Payable | Reports { "menu", tr("&Reports"), (char*)apReportsMenu, apMenu, "true", NULL, NULL, true, NULL }, { "ap.uninvoicedReceipts", tr("&Uninvoiced Receipts and Returns..."), SLOT(sDspUninvoicedReceipts()), apReportsMenu, "ViewUninvoicedReceipts MaintainUninvoicedReceipts", NULL, NULL, true , NULL }, { "ap.voucheringEditList", tr("Vouchering &Edit List..."), SLOT(sVoucheringEditList()), apReportsMenu, "MaintainVouchers ViewVouchers", NULL, NULL, true , NULL }, { "separator", NULL, NULL, apReportsMenu, "true", NULL, NULL, true, NULL }, { "ap.dspOpenAPItemsByVendor", tr("Open &Payables..."), SLOT(sDspAPOpenItemsByVendor()), apReportsMenu, "ViewAPOpenItems", NULL, NULL, true , NULL }, { "ap.dspAPAging", tr("&Aging..."), SLOT(sDspTimePhasedOpenAPItems()), apReportsMenu, "ViewAPOpenItems", QPixmap(":/images/apAging.png"), toolBar, true , tr("Payables Aging") }, { "separator", NULL, NULL, apReportsMenu, "true", NULL, NULL, true, NULL }, { "ap.dspCheckRegister", tr("&Check Register..."), SLOT(sDspCheckRegister()), apReportsMenu, "MaintainPayments", NULL, NULL, true , NULL }, { "ap.dspVoucherRegister", tr("&Voucher Register..."), SLOT(sDspVoucherRegister()), apReportsMenu, "MaintainVouchers ViewVouchers", NULL, NULL, true , NULL }, { "separator", NULL, NULL, apReportsMenu, "true", NULL, NULL, true, NULL }, { "ap.dspAPApplications", tr("&Applications..."), SLOT(sDspAPApplications()), apReportsMenu, "ViewAPOpenItems", NULL, NULL, true , NULL }, { "separator", NULL, NULL, apReportsMenu, "true", NULL, NULL, true, NULL }, { "ap.dspVendorHistory", tr("Vendor &History..."), SLOT(sDspVendorHistory()), apReportsMenu, "ViewAPOpenItems", NULL, NULL, true , NULL }, { "separator", NULL, NULL, apReportsMenu, "true", NULL, NULL, true, NULL }, { "ap.rptPayablesJournal", tr("Pa&yables Journal..."), SLOT(sRptPayablesJournal()), apReportsMenu, "PrintAPJournals", NULL, NULL, true , NULL }, { "ap.rptCheckJournal", tr("Check &Journal..."), SLOT(sRptCheckJournal()), apReportsMenu, "PrintAPJournals", NULL, NULL, true , NULL }, { "separator", NULL, NULL, apMenu, "true", NULL, NULL, true, NULL }, { "ap.vendors", tr("Ve&ndors..."), SLOT(sVendors()), apMenu, "MaintainVendors ViewVendors", NULL, NULL, true , NULL }, // Accounting | Accounts Receivable { "menu", tr("Accounts Recei&vable"), (char*)arMenu, mainMenu, "true", NULL, NULL, true, NULL }, // Accounting | Accounts Receivable | Invoices { "menu", tr("&Invoice"), (char*)arInvoicesMenu, arMenu, "true", NULL, NULL, true, NULL }, { "ar.createInvoice", tr("&New..."), SLOT(sCreateInvoice()), arInvoicesMenu, "MaintainMiscInvoices", NULL, NULL, true , NULL }, { "ar.listRecurringInvoices", tr("&List Recurring Invoices..."), SLOT(sRecurringInvoices()), arInvoicesMenu, "SelectBilling", NULL, NULL, true, NULL }, { "ar.listUnpostedInvoices", tr("&List Unposted..."), SLOT(sUnpostedInvoices()), arInvoicesMenu, "SelectBilling", QPixmap(":/images/unpostedInvoices.png"), toolBar, true , tr("List Unposted Invoices") }, { "separator", NULL, NULL, arInvoicesMenu, "true", NULL, NULL, true, NULL }, { "ar.postInvoices", tr("&Post..."), SLOT(sPostInvoices()), arInvoicesMenu, "PostMiscInvoices", NULL, NULL, true , NULL }, // Accounting | Accounts Receivable | Memos { "menu", tr("&Memos"), (char*)arMemosMenu, arMenu, "true", NULL, NULL, true, NULL }, { "ar.enterMiscCreditMemo", tr("&New Misc. Credit Memo..."), SLOT(sEnterMiscArCreditMemo()), arMemosMenu, "MaintainARMemos", NULL, NULL, true , NULL }, { "ar.unapplidCreditMemo", tr("&List Unapplied Credit Memos..."), SLOT(sUnappliedArCreditMemos()), arMemosMenu, "MaintainARMemos ViewARMemos", NULL, NULL, true , NULL }, { "separator", NULL, NULL, arMemosMenu, "true", NULL, NULL, true, NULL }, { "ar.enterMiscDebitMemo", tr("New &Misc. Debit Memo..."), SLOT(sEnterMiscArDebitMemo()), arMemosMenu, "MaintainARMemos", NULL, NULL, true , NULL }, // Accounting | Accounts Receivable | Cash Receipts { "menu", tr("C&ash Receipt"), (char*)arCashReceiptsMenu, arMenu, "true", NULL, NULL, true, NULL }, { "ar.enterCashReceipt", tr("&New..."), SLOT(sEnterCashReceipt()), arCashReceiptsMenu, "MaintainCashReceipts", NULL, NULL, true , NULL }, { "ar.cashReceiptEditList", tr("&Edit List..."), SLOT(sCashReceiptEditList()), arCashReceiptsMenu, "MaintainCashReceipts ViewCashReceipt", QPixmap(":/images/editCashReceipts.png"), toolBar, true , tr("Cash Receipt Edit List") }, { "ar.postCashReceipts", tr("&Post..."), SLOT(sPostCashReceipts()), arCashReceiptsMenu, "PostCashReceipts", NULL, NULL, true , NULL }, { "separator", NULL, NULL, arMenu, "true", NULL, NULL, true, NULL }, { "ar.arWorkBench", tr("&Workbench..."), SLOT(sArWorkBench()), arMenu, "ViewAROpenItems" , QPixmap(":/images/arWorkbench.png"), toolBar, true , tr("Receivables Workbench") }, { "separator", NULL, NULL, arMenu, "true", NULL, NULL, true, NULL }, // Accounting | Accounts Receivable | Forms { "menu", tr("&Forms"), (char*)arFormsMenu, arMenu, "true", NULL, NULL, true, NULL }, { "ar.printInvoices", tr("Print &Invoices..."), SLOT(sPrintInvoices()), arFormsMenu, "PrintInvoices", NULL, NULL, true , NULL }, { "ar.reprintInvoices", tr("&Re-Print Invoices..."), SLOT(sReprintInvoices()), arFormsMenu, "PrintInvoices", NULL, NULL, true , NULL }, { "separator", NULL, NULL, arFormsMenu, "true", NULL, NULL, true, NULL }, { "ar.printStatementByCustomer", tr("Print S&tatement by Customer..."), SLOT(sPrintStatementByCustomer()), arFormsMenu, "ViewAROpenItems", NULL, NULL, true , NULL }, { "ar.printStatementsByCustomerType", tr("Print State&ments by Customer Type..."), SLOT(sPrintStatementsByCustomerType()), arFormsMenu, "ViewAROpenItems", NULL, NULL, true , NULL }, // Accounting | Accounts Receivable | Reports { "menu", tr("&Reports"), (char*)arReportsMenu, arMenu, "true", NULL, NULL, true, NULL }, { "ar.dspInvoiceInformation", tr("&Invoice Information..."), SLOT(sDspInvoiceInformation()), arReportsMenu, "ViewAROpenItems", NULL, NULL, true , NULL }, { "separator", NULL, NULL, arReportsMenu, "true", NULL, NULL, true, NULL }, { "ar.dspOpenItems", tr("&Open Receivables..."), SLOT(sDspAROpenItems()), arReportsMenu, "ViewAROpenItems", NULL, NULL, true , NULL }, { "ar.dspARAging", tr("A&ging..."), SLOT(sDspTimePhasedOpenItems()), arReportsMenu, "ViewAROpenItems", QPixmap(":/images/arAging.png"), toolBar, true , tr("Receivables Aging") }, { "separator", NULL, NULL, arReportsMenu, "true", NULL, NULL, true, NULL }, { "ar.dspInvoiceRegister", tr("In&voice Register..."), SLOT(sDspInvoiceRegister()), arReportsMenu, "ViewInvoiceRegister", NULL, NULL, true , NULL }, { "ar.dspCashReceipts", tr("Cash &Receipts..."), SLOT(sDspCashReceipts()), arReportsMenu, "ViewAROpenItems", NULL, NULL, true , NULL }, { "ar.dspARApplications", tr("&Applications..."), SLOT(sDspARApplications()), arReportsMenu, "ViewAROpenItems", NULL, NULL, true , NULL }, { "ar.dspDepositsRegister", tr("&Deposits Register..."), SLOT(sDspDepositsRegister()), arReportsMenu, "ViewDepositsRegister", NULL, NULL, true , NULL }, { "separator", NULL, NULL, arReportsMenu, "true", NULL, NULL, true, NULL }, { "ar.dspCustomerHistory", tr("Customer &History..."), SLOT(sDspCustomerHistory()), arReportsMenu, "ViewAROpenItems", NULL, NULL, true , NULL }, { "separator", NULL, NULL, arReportsMenu, "true", NULL, NULL, true, NULL }, { "ar.rptSalesJournal", tr("Sales &Journal..."), SLOT(sRptSalesJournal()), arReportsMenu, "PrintARJournals", NULL, NULL, true , NULL }, { "ar.rptCreditMemoJournal", tr("Credit &Memo Journal..."), SLOT(sRptCreditMemoJournal()), arReportsMenu, "PrintARJournals", NULL, NULL, true , NULL }, { "separator", NULL, NULL, arMenu, "true", NULL, NULL, true, NULL }, { "ar.customers", tr("&Customers..."), SLOT(sCustomers()), arMenu, "MaintainCustomerMasters ViewCustomerMasters", NULL, NULL, true , NULL }, // Accounting | G/L { "menu", tr("General &Ledger"), (char*)glMenu, mainMenu, "true", NULL, NULL, true, NULL }, // Accounting | G/L | Journals { "menu", tr("&Journal Entry"), (char*)glEnterTransactionMenu, glMenu, "true", NULL, NULL, true, NULL }, { "gl.simpleEntry", tr("S&imple..."), SLOT(sSimpleEntry()), glEnterTransactionMenu, "PostJournalEntries", NULL, NULL, true, NULL }, { "gl.seriesEntry", tr("&Series..."), SLOT(sSeriesEntry()), glEnterTransactionMenu, "PostJournalEntries", NULL, NULL, true, NULL }, { "separator", NULL, NULL, glEnterTransactionMenu, "true", NULL, NULL, true, NULL }, { "gl.unpostedEntries", tr("&List Unposted..."), SLOT(sUnpostedEntries()), glEnterTransactionMenu, "PostJournalEntries", QPixmap(":/images/journalEntries.png"), toolBar, true, tr("List Unposted Journal Entries") }, // Accounting | G/L | Standard Journals { "menu", tr("&Standard Journals"), (char*)glStandardJournalsMenu, glMenu, "true", NULL, NULL, true, NULL }, { "gl.enterNewStandardJournal", tr("&New..."), SLOT(sEnterStandardJournal()), glStandardJournalsMenu, "MaintainStandardJournals", NULL, NULL, true, NULL }, { "gl.listStandardJournals", tr("&List..."), SLOT(sStandardJournals()), glStandardJournalsMenu, "MaintainStandardJournals", NULL, NULL, true, NULL }, { "gl.listStandardJournalGroups",tr("List &Groups..."),SLOT(sStandardJournalGroups()), glStandardJournalsMenu, "MaintainStandardJournalGroups", NULL, NULL, true, NULL }, { "separator", NULL, NULL, glStandardJournalsMenu, "true", NULL, NULL, true, NULL }, { "gl.postStandardJournal", tr("&Post..."), SLOT(sPostStandardJournal()), glStandardJournalsMenu, "PostStandardJournals", NULL, NULL, true, NULL }, { "gl.postStandardJournalGroup", tr("Post G&roup..."), SLOT(sPostStandardJournalGroup()),glStandardJournalsMenu, "PostStandardJournalGroups", NULL, NULL, true, NULL }, { "separator", NULL, NULL, glMenu, "true", NULL, NULL, _metrics->boolean("UseJournals"), NULL }, { "gl.postJournals", tr("&Post Journals to Ledger..."), SLOT(sPostJournals()), glMenu, "PostJournals", NULL, NULL, _metrics->boolean("UseJournals"), NULL }, { "separator", NULL, NULL, glMenu, "true", NULL, NULL, true, NULL }, // Accounting | General Ledger | Reports { "menu", tr("&Reports"), (char*)glReportsMenu, glMenu, "true", NULL, NULL, true, NULL }, { "gl.dspGLTransactions", tr("&Transactions..."), SLOT(sDspGLTransactions()), glReportsMenu, "ViewGLTransactions", NULL, NULL, true, NULL }, { "gl.dspSummarizedGLTransactions", tr("Su&mmarized Transactions..."), SLOT(sDspSummarizedGLTransactions()), glReportsMenu, "ViewGLTransactions", NULL, NULL, true, NULL }, { "gl.dspGLSeries", tr("&Series..."), SLOT(sDspGLSeries()), glReportsMenu, "ViewGLTransactions", NULL, NULL, true, NULL }, { "gl.dspStandardJournalHistory", tr("Standard &Journal History..."), SLOT(sDspStandardJournalHistory()), glReportsMenu, "ViewGLTransactions", NULL, NULL, true, NULL }, { "separator", NULL, NULL, glReportsMenu, "true", NULL, NULL, _metrics->boolean("UseJournals"), NULL }, { "gl.dspJournals", tr("Journals..."), SLOT(sDspJournals()), glReportsMenu, "ViewJournals", NULL, NULL, _metrics->boolean("UseJournals"), NULL }, { "menu", tr("&Bank Reconciliation"), (char*)bankrecMenu, mainMenu, "true", NULL, NULL, true, NULL }, { "gl.reconcileBankaccnt", tr("&Reconcile..."),SLOT(sReconcileBankaccount()), bankrecMenu, "MaintainBankRec", QPixmap(":/images/bankReconciliation.png"), toolBar, true, tr("Reconcile Bank Account") }, { "separator", NULL, NULL, bankrecMenu, "true", NULL, NULL, true, NULL }, { "gl.enterAdjustment", tr("&New Adjustment..."), SLOT(sEnterAdjustment()), bankrecMenu, "MaintainBankAdjustments", NULL, NULL, true, NULL }, { "gl.adjustmentEditList", tr("Adjustment Edit &List..."), SLOT(sAdjustmentEditList()), bankrecMenu, "MaintainBankAdjustments ViewBankAdjustments", NULL, NULL, true, NULL }, { "separator", NULL, NULL, bankrecMenu, "true", NULL, NULL, true, NULL }, // Accounting | Bank Reconciliation | Reports { "menu", tr("&Reports"), (char*)bankrecReportsMenu, bankrecMenu, "true", NULL, NULL, true, NULL }, { "gl.dspBankrecHistory", tr("&History"), SLOT(sDspBankrecHistory()), bankrecReportsMenu, "ViewBankRec", NULL, NULL, true, NULL }, { "gl.dspSummarizedBankrecHistory", tr("Summari&zed History"), SLOT(sDspSummarizedBankrecHistory()), bankrecReportsMenu, "ViewBankRec", NULL, NULL, true, NULL }, { "separator", NULL, NULL, mainMenu, "true", NULL, NULL, true, NULL }, // Accounting | Statements { "menu", tr("Financial &Statements"), (char*)financialReportsMenu, mainMenu, "true", NULL, NULL, true, NULL }, { "gl.createFinancialReports",tr("&New Financial Report..."), SLOT(sNewFinancialReport()), financialReportsMenu, "MaintainFinancialLayouts", NULL, NULL, true, NULL }, { "gl.editFinancialReports", tr("&List Financial Reports..."), SLOT(sFinancialReports()), financialReportsMenu, "MaintainFinancialLayouts", NULL, NULL, true, NULL }, { "separator", NULL, NULL, financialReportsMenu, "true", NULL, NULL, true, NULL }, { "gl.dspTrialBalances", tr("View &Trial Balances..."), SLOT(sDspTrialBalances()), financialReportsMenu, "ViewTrialBalances", QPixmap(":/images/viewTrialBalance.png"), toolBar, true, NULL }, { "gl.viewFinancialReport", tr("View &Financial Report..."), SLOT(sViewFinancialReport()), financialReportsMenu, "ViewFinancialReports", QPixmap(":/images/viewFinancialReport.png"), toolBar, true, NULL }, { "separator", NULL, NULL, mainMenu, "true", NULL, NULL, true, NULL }, // Accounting | Fiscal Calendar { "menu", tr("&Fiscal Calendar"), (char*)calendarMenu, mainMenu, "true", NULL, NULL, true, NULL }, { "gl.accountingYearPeriods", tr("Fiscal &Years..."), SLOT(sAccountingYearPeriods()), calendarMenu, "MaintainAccountingPeriods", NULL, NULL, true, NULL }, { "gl.accountingPeriods", tr("Accounting &Periods..."), SLOT(sAccountingPeriods()), calendarMenu, "MaintainAccountingPeriods", NULL, NULL, true, NULL }, // Accounting | Account { "menu", tr("&Account"), (char*)coaMenu, mainMenu, "true", NULL, NULL, true, NULL }, { "gl.accountNumbers", tr("&Chart of Accounts..."), SLOT(sAccountNumbers()), coaMenu, "MaintainChartOfAccounts", NULL, NULL, true, NULL }, { "gl.companies", tr("C&ompanies..."), SLOT(sCompanies()), coaMenu, "MaintainChartOfAccounts", NULL, NULL, (_metrics->value("GLCompanySize").toInt() > 0), NULL }, { "gl.profitCenterNumber", tr("&Profit Center Numbers..."), SLOT(sProfitCenters()), coaMenu, "MaintainChartOfAccounts", NULL, NULL, (_metrics->value("GLProfitSize").toInt() > 0), NULL }, { "gl.subaccountNumbers", tr("&Subaccount Numbers..."), SLOT(sSubaccounts()), coaMenu, "MaintainChartOfAccounts", NULL, NULL, (_metrics->value("GLSubaccountSize").toInt() > 0), NULL }, { "gl.subAccntTypes", tr("Su&baccount Types..."), SLOT(sSubAccntTypes()), coaMenu, "MaintainChartOfAccounts", NULL, NULL, true, NULL }, // Accounting | Budget { "menu", tr("Bu&dget"), (char*)budgetMenu, mainMenu, "true", NULL, NULL, true, NULL }, { "gl.maintainBudget", tr("&New Budget..."), SLOT(sMaintainBudget()), budgetMenu, "MaintainBudgets", NULL, NULL, true, NULL }, { "gl.maintainBudgets", tr("&List Budgets..."), SLOT(sBudgets()), budgetMenu, "MaintainBudgets ViewBudgets", NULL, NULL, true, NULL }, // Accounting | Tax { "menu", tr("&Tax"), (char*)taxMenu, mainMenu, "true", NULL, NULL, true, NULL }, { "gl.taxAuthorities", tr("Tax &Authorities..."), SLOT(sTaxAuthorities()), taxMenu, "MaintainTaxAuthorities ViewTaxAuthorities", NULL, NULL, true, NULL }, { "gl.taxZones", tr("Tax &Zones..."), SLOT(sTaxZones()), taxMenu, "MaintainTaxZones ViewTaxZones", NULL, NULL, true, NULL }, { "gl.taxClasses", tr("Tax &Classes..."), SLOT(sTaxClasses()), taxMenu, "MaintainTaxClasses ViewTaxClasses", NULL, NULL, true, NULL }, { "gl.taxCodes", tr("Tax &Codes..."), SLOT(sTaxCodes()), taxMenu, "MaintainTaxCodes ViewTaxCodes", NULL, NULL, true, NULL }, { "gl.taxTypes", tr("Tax &Types..."), SLOT(sTaxTypes()), taxMenu, "MaintainTaxTypes ViewTaxTypes", NULL, NULL, true, NULL }, { "gl.taxAssignments", tr("Tax Assi&gnments..."), SLOT(sTaxAssignments()), taxMenu, "MaintainTaxAssignments ViewTaxAssignments", NULL, NULL, true, NULL }, { "gl.taxRegistatrions", tr("Tax &Registrations..."), SLOT(sTaxRegistrations()), taxMenu, "MaintainChartOfAccounts", NULL, NULL, true, NULL }, { "separator", NULL, NULL, taxMenu, "true", NULL, NULL, true, NULL }, // Accounting | Tax | Reports { "menu", tr("&Reports"), (char*)taxReportsMenu, taxMenu, "true", NULL, NULL, true, NULL }, { "gl.dspTaxHistory", tr("&Tax History..."), SLOT(sDspTaxHistory()), taxReportsMenu, "ViewTaxReconciliations", NULL, NULL, true, NULL }, { "separator", NULL, NULL, mainMenu, "true", NULL, NULL, true, NULL }, // Accounting | Utilities { "menu", tr("&Utilities"), (char*)utilitiesMenu, mainMenu, "true", NULL, NULL, true, NULL }, { "gl.forwardUpdateAccounts", tr("&Forward Update Accounts..."), SLOT(sForwardUpdateAccounts()), utilitiesMenu, "ViewTrialBalances", NULL, NULL, _metrics->boolean("ManualForwardUpdate"), NULL }, { "gl.duplicateAccountNumbers", tr("&Duplicate Account Numbers..."), SLOT(sDuplicateAccountNumbers()), utilitiesMenu, "MaintainChartOfAccounts", NULL, NULL, true, NULL }, { "separator", NULL, NULL, utilitiesMenu, "true", NULL, NULL, true, NULL }, { "so.purgeInvoices", tr("Purge &Invoices..."), SLOT(sPurgeInvoices()), utilitiesMenu, "PurgeInvoices", NULL, NULL, true , NULL }, { "ar.updateLateCustCreditStatus", tr("&Update Late Customer Credit Status..."), SLOT(sUpdateLateCustCreditStatus()), utilitiesMenu, "UpdateCustomerCreditStatus", NULL, NULL, _metrics->boolean("AutoCreditWarnLateCustomers"), NULL }, { "ar.createRecurringInvoices", tr("&Create Recurring Invoices..."), SLOT(sCreateRecurringInvoices()), utilitiesMenu, "MaintainMiscInvoices", NULL, NULL, true, NULL }, { "separator", NULL, NULL, utilitiesMenu, "true", NULL, NULL, _metrics->boolean("MultiCompanyFinancialConsolidation"), NULL }, { "gl.syncCompanies", tr("&Synchronize Companies"), SLOT(sSyncCompanies()), utilitiesMenu, "SynchronizeCompanies", NULL, NULL, _metrics->boolean("MultiCompanyFinancialConsolidation"), NULL }, { "gl.setup", tr("&Setup..."), SLOT(sSetup()), mainMenu, NULL, NULL, NULL, true, NULL}, }; addActionsToMenu(acts, sizeof(acts) / sizeof(acts[0])); parent->populateCustomMenu(mainMenu, "Accounting"); QAction * m = parent->menuBar()->addMenu(mainMenu); if(m) m->setText(tr("Accountin&g")); }
menuSales::menuSales(GUIClient *pParent) : QObject(pParent) { setObjectName("soModule"); parent = pParent; toolBar = new QToolBar(tr("Sales Tools")); toolBar->setObjectName("Sales Tools"); toolBar->setIconSize(QSize(32, 32)); parent->addToolBar(toolBar); mainMenu = new QMenu(parent); quotesMenu = new QMenu(parent); ordersMenu = new QMenu(parent); billingMenu = new QMenu(parent); billingInvoicesMenu = new QMenu(parent); billingCreditMemosMenu= new QMenu(parent); billingFormsMenu= new QMenu(parent); returnsMenu= new QMenu(parent); lookupMenu = new QMenu(parent); lookupQuoteMenu = new QMenu(parent); lookupSoMenu = new QMenu(parent); formsMenu = new QMenu(parent); reportsMenu = new QMenu(parent); analysisMenu = new QMenu(parent); prospectMenu = new QMenu(parent); customerMenu = new QMenu(parent); pricingReportsMenu = new QMenu(parent); pricingMenu = new QMenu(parent); pricingUpdateMenu = new QMenu(parent); utilitiesMenu = new QMenu(parent); mainMenu->setObjectName("menu.sales"); quotesMenu->setObjectName("menu.sales.quotes"); ordersMenu->setObjectName("menu.sales.orders"); billingMenu->setObjectName("menu.sales.billing"); billingInvoicesMenu->setObjectName("menu.sales.billinginvoices"); billingCreditMemosMenu->setObjectName("menu.sales.billingcreditmemos"); billingFormsMenu->setObjectName("menu.sales.billingforms"); returnsMenu->setObjectName("menu.sales.returns"); lookupMenu->setObjectName("menu.sales.lookup"); lookupQuoteMenu->setObjectName("menu.sales.lookupquote"); lookupSoMenu->setObjectName("menu.sales.lookupso"); formsMenu->setObjectName("menu.sales.forms"); reportsMenu->setObjectName("menu.sales.reports"); analysisMenu->setObjectName("menu.sales.analysis"); prospectMenu->setObjectName("menu.sales.prospect"); customerMenu->setObjectName("menu.sales.customer"); pricingReportsMenu->setObjectName("menu.sales.pricingreports"); pricingMenu->setObjectName("menu.sales.pricing"); pricingUpdateMenu->setObjectName("menu.sales.pricingupdate"); utilitiesMenu->setObjectName("menu.sales.utilities"); actionProperties acts[] = { // Sales | Quotes { "menu", tr("&Quote"), (char*)quotesMenu, mainMenu, "true", NULL, NULL, true, NULL }, { "so.newQuote", tr("&New..."), SLOT(sNewQuote()), quotesMenu, "MaintainQuotes", NULL, NULL, true, NULL }, { "so.listQuotes", tr("&List..."), SLOT(sQuotes()), quotesMenu, "MaintainQuotes ViewQuotes", NULL, NULL, true, NULL }, // Sales | Sales Order { "menu", tr("&Sales Order"), (char*)ordersMenu, mainMenu, "true", NULL, NULL, true, NULL }, { "so.newSalesOrder", tr("&New..."), SLOT(sNewSalesOrder()), ordersMenu, "MaintainSalesOrders", NULL, NULL, true, NULL }, { "so.listOpenSalesOrders", tr("&List Open..."), SLOT(sOpenSalesOrders()), ordersMenu, "MaintainSalesOrders ViewSalesOrders", QPixmap(":/images/listOpenSalesOrders.png"), toolBar, true, tr("List Open Sales Orders") }, // Sales | Billing { "menu", tr("&Billing"), (char*)billingMenu, mainMenu, "true", NULL, NULL, true, NULL }, // Sales | Billing | Invoice { "menu", tr("&Invoice"), (char*)billingInvoicesMenu, billingMenu, "true", NULL, NULL, true, NULL }, { "so.uninvoicedShipments", tr("&Uninvoiced Shipments..."), SLOT(sUninvoicedShipments()), billingInvoicesMenu, "SelectBilling", QPixmap(":/images/uninvoicedShipments"), toolBar, true, tr("Uninvoiced Shipments") }, { "so.selectAllShippedOrdersForBilling", tr("Approve &All Shipped Orders for Billing..."), SLOT(sSelectShippedOrdersForBilling()), billingInvoicesMenu, "SelectBilling", NULL, NULL, true, NULL }, { "so.selectOrderForBilling", tr("Approve &Order for Billing..."), SLOT(sSelectOrderForBilling()), billingInvoicesMenu, "SelectBilling", NULL, NULL, true, NULL }, { "separator", NULL, NULL, billingInvoicesMenu, "true", NULL, NULL, true, NULL }, { "so.dspBillingSelections", tr("Billing &Approvals..."), SLOT(sDspBillingSelections()), billingInvoicesMenu, "SelectBilling", QPixmap(":/images/billingSelections"), toolBar, true, tr("Billing Approvals") }, { "so.createInvoices", tr("&Create Invoices..."), SLOT(sCreateInvoices()), billingInvoicesMenu, "SelectBilling", NULL, NULL, true, NULL }, { "separator", NULL, NULL, billingInvoicesMenu, "true", NULL, NULL, true, NULL }, { "so.listUnpostedInvoices", tr("&List Unposted Invoices..."), SLOT(sUnpostedInvoices()), billingInvoicesMenu, "SelectBilling", NULL, NULL, true, NULL }, { "so.postInvoices", tr("Post &Invoices..."), SLOT(sPostInvoices()), billingInvoicesMenu, "PostMiscInvoices", NULL, NULL, true, NULL }, // Sales | Billing | Return { "menu", tr("&Return"), (char*)billingCreditMemosMenu, billingMenu, "true", NULL, NULL, true, NULL }, { "so.newCreditMemo", tr("&New..."), SLOT(sNewCreditMemo()), billingCreditMemosMenu, "MaintainCreditMemos", NULL, NULL, true, NULL }, { "so.listUnpostedCreditMemos", tr("&List Unposted..."), SLOT(sUnpostedCreditMemos()), billingCreditMemosMenu, "MaintainCreditMemos ViewCreditMemos", NULL, NULL, true, NULL }, { "so.creditMemoEditList", tr("&Edit List..."), SLOT(sCreditMemoEditList()), billingCreditMemosMenu, "MaintainCreditMemos ViewCreditMemos", NULL, NULL, true, NULL }, { "separator", NULL, NULL, billingCreditMemosMenu, "true", NULL, NULL, true, NULL }, { "so.postCreditMemos", tr("&Post..."), SLOT(sPostCreditMemos()), billingCreditMemosMenu, "PostARDocuments", NULL, NULL, true, NULL }, { "separator", NULL, NULL, billingMenu, "true", NULL, NULL, true, NULL }, // Sales | Billing | Forms { "menu", tr("&Forms"), (char*)billingFormsMenu, billingMenu, "true", NULL, NULL, true, NULL }, { "so.printInvoices", tr("&Print Invoices..."), SLOT(sPrintInvoices()), billingFormsMenu, "PrintInvoices", NULL, NULL, true, NULL }, { "so.reprintInvoices", tr("&Re-Print Invoices..."), SLOT(sReprintInvoices()), billingFormsMenu, "PrintInvoices", NULL, NULL, true, NULL }, { "separator", NULL, NULL, billingFormsMenu, "true", NULL, NULL, true , NULL }, { "so.printCreditMemos", tr("Print &Returns..."), SLOT(sPrintCreditMemos()), billingFormsMenu, "PrintCreditMemos", NULL, NULL, true, NULL }, { "so.reprintCreditMemos", tr("Re-Print &Returns..."), SLOT(sReprintCreditMemos()), billingFormsMenu, "PrintCreditMemos", NULL, NULL, true, NULL }, // Sales | Returns { "menu", tr("&Return"), (char*)returnsMenu, mainMenu, "true", NULL, NULL, _metrics->boolean("EnableReturnAuth"), NULL }, { "so.newReturn", tr("&New..."), SLOT(sNewReturn()), returnsMenu, "MaintainReturns", NULL, NULL, true, NULL }, { "so.openReturns", tr("&List Open..."), SLOT(sOpenReturns()), returnsMenu, "MaintainReturns ViewReturns", NULL, NULL, true, NULL }, { "separator", NULL, NULL, returnsMenu, "true", NULL, NULL, true , NULL }, { "so.returnsWorkbench", tr("&Workbench..."), SLOT(sReturnsWorkbench()), returnsMenu, "MaintainReturns ViewReturns", NULL, NULL, true, NULL }, { "separator", NULL, NULL, mainMenu, "true", NULL, NULL, true, NULL }, // Sales | Lookup { "menu", tr("&Lookup"), (char*)lookupMenu, mainMenu, "true", NULL, NULL, true, NULL }, // Sales | Lookup | Quote Lookup { "menu", tr("&Quote"), (char*)lookupQuoteMenu, lookupMenu, "true", NULL, NULL, true, NULL }, { "so.dspQuoteLookupByCustomer", tr("by &Customer..."), SLOT(sDspQuoteLookupByCustomer()), lookupQuoteMenu, "ViewQuotes", NULL, NULL, true, NULL }, { "so.dspQuoteOrderLookupByItem", tr("by &Item..."), SLOT(sDspQuoteLookupByItem()), lookupQuoteMenu, "ViewQuotes", NULL, NULL, true, NULL }, // Sales | Lookup | Sales Order Lookup { "menu", tr("&Sales Order"), (char*)lookupSoMenu, lookupMenu, "true", NULL, NULL, true, NULL }, { "so.dspSalesOrderLookupByCustomerType", tr("by Customer &Type..."), SLOT(sDspOrderLookupByCustomerType()), lookupSoMenu, "ViewSalesOrders", NULL, NULL, true, NULL }, { "so.dspSalesOrderLookupByCustomer", tr("by &Customer..."), SLOT(sDspOrderLookupByCustomer()), lookupSoMenu, "ViewSalesOrders", NULL, NULL, true, NULL }, { "so.dspSalesOrderLookupByCustomerPO", tr("by Customer &PO..."), SLOT(sDspOrderLookupByCustomerPO()), lookupSoMenu, "ViewSalesOrders", NULL, NULL, true, NULL }, { "so.dspSalesOrderLookupByItem", tr("by &Item..."), SLOT(sDspOrderLookupByItem()), lookupSoMenu, "ViewSalesOrders", NULL, NULL, true, NULL }, { "separator", NULL, NULL, lookupMenu, "true", NULL, NULL, true, NULL }, { "so.dspSalesOrderStatus", tr("Sales Order S&tatus..."), SLOT(sDspSalesOrderStatus()), lookupMenu, "ViewSalesOrders", NULL, NULL, true, NULL }, // Sales | Forms { "menu", tr("&Forms"), (char*)formsMenu, mainMenu, "true", NULL, NULL, true, NULL }, { "so.printSalesOrderForm", tr("Print Sales &Order Form..."), SLOT(sPrintSalesOrderForm()), formsMenu, "MaintainSalesOrders ViewSalesOrders", NULL, NULL, true, NULL }, { "so.printReturnAuthForm", tr("Print &Return Auth. Form..."), SLOT(sPrintReturnAuthForm()), formsMenu, "MaintainReturns", NULL, NULL, _metrics->boolean("EnableReturnAuth"), NULL }, { "separator", NULL, NULL, formsMenu, "true", NULL, NULL, true , NULL }, { "so.packingListBatch", tr("Packing &List Batch..."), SLOT(sPackingListBatch()), formsMenu, "MaintainPackingListBatch ViewPackingListBatch", NULL, NULL, true, NULL }, { "so.printPackingList", tr("&Print Packing List..."), SLOT(sPrintPackingList()), formsMenu, "PrintPackingLists", NULL, NULL, true, NULL }, // Sales | Reports { "menu", tr("&Reports"), (char*)reportsMenu, mainMenu, "true", NULL, NULL, true, NULL }, { "so.dspSummarizedBacklogByWarehouse", tr("Su&mmarized Backlog..."), SLOT(sDspSummarizedBacklogByWarehouse()), reportsMenu, "ViewSalesOrders", QPixmap(":/images/dspSummarizedBacklogByWhse.png"), toolBar, true, tr("Summarized Backlog") }, // Sales | Reports | Backlog { "so.dspBacklog", tr("&Backlog..."), SLOT(sDspBacklog()), reportsMenu, "ViewSalesOrders", NULL, NULL, true, NULL }, { "so.dspPartiallyShippedOrders", tr("&Partially Shipped Orders..."), SLOT(sDspPartiallyShippedOrders()), reportsMenu, "ViewSalesOrders", NULL, NULL, true, NULL }, { "so.dspReservations", tr("Reservations by Item..."), SLOT(sDspReservations()), reportsMenu, "ViewInventoryAvailability", NULL, NULL, _metrics->boolean("EnableSOReservations"), NULL }, { "separator", NULL, NULL, reportsMenu, "true", NULL, NULL, true, NULL }, // Sales | Reports | Inventory Availability { "so.dspInventoryAvailability", tr("Inventory &Availability..."), SLOT(sDspInventoryAvailability()), reportsMenu, "ViewInventoryAvailability", NULL, NULL, true, NULL }, { "so.dspInventoryAvailabilityBySalesOrder", tr("Availability by &Sales Order..."), SLOT(sDspInventoryAvailabilityBySalesOrder()), reportsMenu, "ViewInventoryAvailability", NULL, NULL, true, NULL }, { "so.dspInventoryAvailabilityByCustomerType", tr("Availability by &Customer Type..."), SLOT(sDspInventoryAvailabilityByCustomerType()), reportsMenu, "ViewInventoryAvailability", NULL, NULL, true, NULL }, { "separator", NULL, NULL, reportsMenu, "true", NULL, NULL, true, NULL }, { "so.dspEarnedCommissions", tr("&Earned Commissions..."), SLOT(sDspEarnedCommissions()), reportsMenu, "ViewCommissions", NULL, NULL, true, NULL }, { "so.dspBriefEarnedCommissions", tr("B&rief Earned Commissions..."), SLOT(sDspBriefEarnedCommissions()), reportsMenu, "ViewCommissions", NULL, NULL, true, NULL }, { "so.dspTaxHistory", tr("Tax History..."), SLOT(sDspTaxHistory()), reportsMenu, "ViewTaxReconciliations", NULL, NULL, true, NULL }, { "separator", NULL, NULL, reportsMenu, "true", NULL, NULL, true, NULL }, // Sales | Analysis { "menu", tr("&Analysis"), (char*)analysisMenu, mainMenu, "true", NULL, NULL, true, NULL }, { "sa.dspBookings", tr("&Bookings..."), SLOT(sDspBookings()), analysisMenu, "ViewSalesOrders", NULL, NULL, true , NULL }, { "sa.dspTimePhasedBookings", tr("T&ime Phased Bookings..."), SLOT(sDspTimePhasedBookings()), analysisMenu, "ViewSalesOrders", NULL, NULL, true , NULL }, { "separator", NULL, NULL, analysisMenu, "true", NULL, NULL, true, NULL }, { "sa.dspSalesHistory", tr("Sales &History..."), SLOT(sDspSalesHistory()), analysisMenu, "ViewSalesHistory", NULL, NULL, true , NULL }, { "sa.dspBriefSalesHistory", tr("Brie&f Sales History..."), SLOT(sDspBriefSalesHistory()), analysisMenu, "ViewSalesHistory", NULL, NULL, true , NULL }, { "sa.dspSummarizedSalesHistory", tr("Summari&zed Sales History..."), SLOT(sDspSummarizedSales()), analysisMenu, "ViewSalesHistory", NULL, NULL, true , NULL }, { "sa.dspTimePhasedSalesHistory", tr("Time &Phased Sales History..."), SLOT(sDspTimePhasedSales()), analysisMenu, "ViewSalesHistory", NULL, NULL, true , NULL }, { "separator", NULL, NULL, mainMenu, "true", NULL, NULL, true, NULL }, // Sales | Prospect { "menu", tr("&Prospect"), (char*)prospectMenu, mainMenu, "true", NULL, NULL, true, NULL }, { "so.enterNewProspect", tr("&New..."), SLOT(sNewProspect()), prospectMenu, "MaintainProspectMasters", NULL, NULL, true, NULL }, { "so.prospects", tr("&List..."), SLOT(sProspects()), prospectMenu, "MaintainProspectMasters ViewProspectMasters", NULL, NULL, true, NULL }, // Sales | Customer { "menu", tr("&Customer"), (char*)customerMenu, mainMenu, "true", NULL, NULL, true, NULL }, { "so.enterNewCustomer", tr("&New..."), SLOT(sNewCustomer()), customerMenu, "MaintainCustomerMasters", NULL, NULL, true, NULL }, { "so.customers", tr("&List..."), SLOT(sCustomers()), customerMenu, "MaintainCustomerMasters ViewCustomerMasters", NULL, NULL, true, NULL }, { "separator", NULL, NULL, customerMenu, "true", NULL, NULL, true, NULL }, { "so.customerWorkbench", tr("&Workbench..."), SLOT(sCustomerWorkbench()), customerMenu, "MaintainCustomerMasters ViewCustomerMasters", QPixmap(":/images/customerInformationWorkbench.png"), toolBar, true, tr("Customer Workbench") }, { "separator", NULL, NULL, customerMenu, "true", NULL, NULL, true, NULL }, { "so.customerGroups", tr("&Groups..."), SLOT(sCustomerGroups()), customerMenu, "MaintainCustomerGroups ViewCustomerGroups", NULL, NULL, true, NULL }, // Sales | Pricing { "menu", tr("Pricing"), (char*)pricingMenu, mainMenu, "true", NULL, NULL, true, NULL }, { "so.itemListPrice", tr("Item &List Price..."), SLOT(sItemListPrice()), pricingMenu, "MaintainListPrices ViewListPrices", NULL, NULL, true, NULL }, { "so.updateListPricesByProductCategory", tr("&Update List Prices..."), SLOT(sUpdateListPricesByProductCategory()), pricingMenu, "MaintainListPrices", NULL, NULL, true, NULL }, { "separator", NULL, NULL, pricingMenu, "true", NULL, NULL, true, NULL }, { "so.pricingSchedules", tr("Pricing &Schedules..."), SLOT(sPricingSchedules()), pricingMenu, "MaintainListPrices ViewListPrices", NULL, NULL, true, NULL }, { "so.updatePricingSchedules", tr("Update Pricing Schedules..."), SLOT(sUpdatePrices()), pricingMenu, "UpdatePricingSchedules", NULL, NULL, true, NULL }, { "so.pricingScheduleAssignments", tr("Pricing Schedule Assi&gnments..."), SLOT(sPricingScheduleAssignments()), pricingMenu, "AssignPricingSchedules", NULL, NULL, true, NULL }, { "so.sales", tr("S&ales..."), SLOT(sSales()), pricingMenu, "CreateSales", NULL, NULL, true, NULL }, { "separator", NULL, NULL, pricingMenu, "true", NULL, NULL, true, NULL }, // Sales | Pricing | Reports { "menu", tr("&Reports"), (char*)pricingReportsMenu, pricingMenu, "true", NULL, NULL, true, NULL }, { "so.dspPricesByCustomerType", tr("Item Prices by Customer &Type..."), SLOT(sDspPricesByCustomerType()), pricingReportsMenu, "ViewCustomerPrices", NULL, NULL, true, NULL }, { "so.dspPricesByCustomer", tr("Item Prices by &Customer..."), SLOT(sDspPricesByCustomer()), pricingReportsMenu, "ViewCustomerPrices", NULL, NULL, true, NULL }, { "so.dspPricesByItem", tr("Item Prices by &Item..."), SLOT(sDspPricesByItem()), pricingReportsMenu, "ViewCustomerPrices", NULL, NULL, true, NULL }, { "separator", NULL, NULL, pricingReportsMenu, "true", NULL, NULL, true, NULL }, { "so.dspFreightPricesByCustomerType", tr("Freight Prices by Customer &Type..."), SLOT(sDspFreightPricesByCustomerType()), pricingReportsMenu, "ViewCustomerPrices", NULL, NULL, true, NULL }, { "so.dspFreightPricesByCustomer", tr("Freight Prices by &Customer..."), SLOT(sDspFreightPricesByCustomer()), pricingReportsMenu, "ViewCustomerPrices", NULL, NULL, true, NULL }, { "separator", NULL, NULL, mainMenu, "true", NULL, NULL, true, NULL }, { "menu", tr("&Utilities"), (char*)utilitiesMenu, mainMenu, "true", NULL, NULL, true, NULL }, { "so.reassignCustomerTypeByCustomerType", tr("&Reassign Customer Type by Customer Type..."), SLOT(sReassignCustomerTypeByCustomerType()), utilitiesMenu, "MaintainCustomerMasters", NULL, NULL, true, NULL }, { "so.updateCreditStatusByCustomer", tr("&Update Credit Status by Customer..."), SLOT(sUpdateCreditStatusByCustomer()), utilitiesMenu, "MaintainCustomerMasters UpdateCustomerCreditStatus", NULL, NULL, true, NULL }, { "separator", NULL, NULL, utilitiesMenu, "true", NULL, NULL, true, NULL }, { "so.purgeInvoices", tr("Purge &Invoices..."), SLOT(sPurgeInvoices()), utilitiesMenu, "PurgeInvoices", NULL, NULL, true, NULL }, { "so.purgeCreditMemos", tr("Purge &Returns..."), SLOT(sPurgeCreditMemos()), utilitiesMenu, "PurgeCreditMemos", NULL, NULL, true, NULL }, { "separator", NULL, NULL, utilitiesMenu, "true", NULL, NULL, _metrics->boolean("EnableSOReservations"), NULL }, { "so.allocateReservations", tr("Allocate Reser&vations..."), SLOT(sAllocateReservations()), utilitiesMenu, "MaintainReservations", NULL, NULL, _metrics->boolean("EnableSOReservations") , NULL }, { "separator", NULL, NULL, utilitiesMenu, "true", NULL, NULL, true, NULL }, { "sa.archieveSalesHistory", tr("&Archive Sales History..."), SLOT(sArchiveSalesHistory()), utilitiesMenu, "ArchiveSalesHistory", NULL, NULL, true , NULL }, { "sa.restoreSalesHistory", tr("Restore &Sales History..."), SLOT(sRestoreSalesHistory()), utilitiesMenu, "RestoreSalesHistory", NULL, NULL, true , NULL }, { "so.setup", tr("&Setup..."), SLOT(sSetup()), mainMenu, NULL, NULL, NULL, true, NULL }, }; addActionsToMenu(acts, sizeof(acts) / sizeof(acts[0])); parent->populateCustomMenu(mainMenu, "Sales"); QAction * m = parent->menuBar()->addMenu(mainMenu); if(m) m->setText(tr("S&ales")); }
menuSchedule::menuSchedule(GUIClient *Pparent) : QObject(Pparent) { setObjectName("msModule"); parent = Pparent; toolBar = new QToolBar(tr("Schedule Tools")); toolBar->setObjectName("Schedule Tools"); toolBar->setIconSize(QSize(32, 32)); parent->addToolBar(toolBar); mainMenu = new QMenu(parent); plannedOrdersMenu = new QMenu(parent); plannedOrdersMrpMenu = new QMenu(parent); reportsMenu = new QMenu(parent); reportsPlannedMenu = new QMenu(parent); mainMenu->setObjectName("menu.sched"); plannedOrdersMenu->setObjectName("menu.sched.plannedorders"); plannedOrdersMrpMenu->setObjectName("menu.sched.plannedordersmrp"); reportsMenu->setObjectName("menu.sched.reports"); reportsPlannedMenu->setObjectName("menu.sched.reportsplanned"); actionProperties acts[] = { // Schedule | Schedule { "menu", tr("&Scheduling"), (char*)plannedOrdersMenu, mainMenu, "true", NULL, NULL, true , NULL }, { "ms.createPlannedOrder", tr("&New Planned Order..."), SLOT(sCreatePlannedOrder()), plannedOrdersMenu, "CreatePlannedOrders", NULL, NULL, true , NULL }, { "separator", NULL, NULL, plannedOrdersMenu, "true", NULL, NULL, true , NULL }, // Schedule | Schedule | MRP { "menu", tr("Run &MRP"), (char*)plannedOrdersMrpMenu, plannedOrdersMenu, "true", NULL, NULL, true , NULL }, { "ms.runMRPByPlannerCode", tr("by &Planner Code..."), SLOT(sCreatePlannedReplenOrdersByPlannerCode()), plannedOrdersMrpMenu, "CreatePlannedOrders", QPixmap(":/images/runMrpByPlannerCode.png"), toolBar, true , tr("Run MRP by Planner Code") }, { "ms.runMRPByItem", tr("by &Item..."), SLOT(sCreatePlannedReplenOrdersByItem()), plannedOrdersMrpMenu, "CreatePlannedOrders", NULL, NULL, true , NULL }, { "separator", NULL, NULL, plannedOrdersMenu, "true", NULL, NULL, true , NULL }, { "ms.firmPlannedOrdersByPlannerCode", tr("&Firm Planned Orders..."), SLOT(sFirmPlannedOrdersByPlannerCode()), plannedOrdersMenu, "FirmPlannedOrders", NULL, NULL, true , NULL }, { "ms.releasePlannedOrdersByPlannerCode", tr("&Release Planned Orders..."), SLOT(sReleasePlannedOrdersByPlannerCode()), plannedOrdersMenu, "ReleasePlannedOrders", NULL, NULL, true , NULL }, { "separator", NULL, NULL, plannedOrdersMenu, "true", NULL, NULL, true , NULL }, { "ms.deletePlannedOrder", tr("&Delete Planned Order..."), SLOT(sDeletePlannedOrder()),plannedOrdersMenu, "DeletePlannedOrders", NULL, NULL, true , NULL }, { "ms.deletePlannedOrdersByPlannerCode", tr("Delete Planned Order&s..."), SLOT(sDeletePlannedOrdersByPlannerCode()), plannedOrdersMenu, "DeletePlannedOrders", NULL, NULL, true , NULL }, { "separator", NULL, NULL, mainMenu, "true", NULL, NULL, true , NULL }, // Schedule | Report { "menu", tr("&Reports"), (char*)reportsMenu, mainMenu, "true", NULL, NULL, true , NULL }, // Schedule | Report | Planned Orders { "menu", tr("Planned &Orders"), (char*)reportsPlannedMenu, reportsMenu, "true", NULL, NULL, true , NULL }, { "ms.dspPlannedOrdersByPlannerCode", tr("by &Planner Code..."), SLOT(sDspPlannedOrdersByPlannerCode()), reportsPlannedMenu, "ViewPlannedOrders", QPixmap(":/images/dspPlannedOrdersByPlannerCode.png"), toolBar, true , tr("Planned Orders by Planner Code") }, { "ms.dspPlannedOrdersByItem", tr("by &Item..."), SLOT(sDspPlannedOrdersByItem()), reportsPlannedMenu, "ViewPlannedOrders", NULL, NULL, true , NULL }, { "separator", NULL, NULL, reportsMenu, "true", NULL, NULL, true , NULL }, { "ms.dspRunningAvailability", tr("&Running Availability..."), SLOT(sDspRunningAvailability()), reportsMenu, "ViewInventoryAvailability", NULL, NULL, true , NULL }, { "ms.dspTimePhasedAvailabiltiy", tr("&Time-Phased Availability..."), SLOT(sDspTimePhasedAvailability()), reportsMenu, "ViewInventoryAvailability", NULL, NULL, true , NULL }, { "ms.dspMRPDetail", tr("&MRP Detail..."), SLOT(sDspMRPDetail()), reportsMenu, "ViewInventoryAvailability", NULL, NULL, true , NULL }, { "separator", NULL, NULL, reportsMenu, "true", NULL, NULL, true , NULL }, { "ms.dspExpediteExceptionsByPlannerCode", tr("E&xpedite Exceptions..."), SLOT(sDspExpediteExceptionsByPlannerCode()), reportsMenu, "ViewInventoryAvailability", NULL, NULL, true , NULL }, { "ms.dspReorderExceptionsByPlannerCode", tr("Reorder &Exceptions..."), SLOT(sDspReorderExceptionsByPlannerCode()),reportsMenu, "ViewInventoryAvailability", NULL, NULL, true , NULL }, { "separator", NULL, NULL, mainMenu, "true", NULL, NULL, true , NULL }, { "ms.setup", tr("&Setup..."), SLOT(sSetup()), mainMenu, NULL, NULL, NULL, true, NULL} }; addActionsToMenu(acts, sizeof(acts) / sizeof(acts[0])); parent->populateCustomMenu(mainMenu, "Schedule"); QAction * m = parent->menuBar()->addMenu(mainMenu); if(m) m->setText(tr("Sche&dule")); }
menuCRM::menuCRM(GUIClient *Pparent) : QObject(Pparent) { setObjectName("crmModule"); parent = Pparent; toolBar = new QToolBar(tr("CRM Tools")); toolBar->setObjectName("CRM Tools"); toolBar->setIconSize(QSize(32, 32)); parent->addToolBar(toolBar); // Menus crmMenu = new QMenu(parent); projectsMenu = new QMenu(parent); incidentMenu = new QMenu(parent); todoMenu = new QMenu(parent); reportsMenu = new QMenu(parent); accountsMenu = new QMenu(parent); contactsMenu = new QMenu(parent); addressMenu = new QMenu(parent); utilitiesMenu = new QMenu(parent); opportunityMenu = new QMenu(parent); crmMenu->setObjectName("menu.crm"); projectsMenu->setObjectName("menu.crm.projects"); incidentMenu->setObjectName("menu.crm.incident"); todoMenu->setObjectName("menu.crm.todo"); reportsMenu->setObjectName("menu.crm.reports"); accountsMenu->setObjectName("menu.crm.accounts"); contactsMenu->setObjectName("menu.crm.contacts"); addressMenu->setObjectName("menu.crm.address"); utilitiesMenu->setObjectName("menu.crm.utilities"); opportunityMenu->setObjectName("menu.crm.opportunity"); actionProperties acts[] = { // CRM | Incident { "menu", tr("&Incident"), (char*)incidentMenu, crmMenu, "true", NULL, NULL, true , NULL }, { "crm.incident", tr("&New..."), SLOT(sIncident()), incidentMenu, "MaintainPersonalIncidents MaintainAllIncidents", NULL, NULL, true , NULL }, { "crm.incidentList", tr("&List..."), SLOT(sIncidentWorkbench()), incidentMenu, "ViewPersonalIncidents MaintainPersonalIncidents ViewAllIncidents MaintainAllIncidents", new QPixmap(":/images/incidents.png"), toolBar, true , tr("Incident List") }, // CRM / To Do { "menu", tr("&To-Do"), (char*)todoMenu, crmMenu, "true", NULL, NULL, true , NULL }, { "crm.todoItem", tr("&New..."), SLOT(sTodoItem()), todoMenu, "MaintainPersonalToDoItems MaintainAllToDoItems", NULL, NULL, true , NULL }, { "crm.todoList", tr("&List..."), SLOT(sTodoList()), todoMenu, "MaintainPersonalToDoItems ViewPersonalToDoItems MaintainAllToDoItems ViewAllToDoItems", new QPixmap(":/images/toDoList.png"), toolBar, true , tr("To-Do List") }, { "crm.todoListCalendar", tr("&Calendar List..."), SLOT(sTodoListCalendar()), todoMenu, "MaintainPersonalToDoItems ViewPersonalToDoItems MaintainAllToDoItems ViewAllToDoItems", NULL, NULL, true, NULL}, // Project { "menu", tr("Pro&ject"), (char*)projectsMenu, crmMenu, "true", NULL, NULL, true , NULL }, { "pm.newProject", tr("&New..."), SLOT(sNewProject()), projectsMenu, "MaintainPersonalProjects MaintainAllProjects", NULL, NULL, true , NULL }, { "pm.projects", tr("&List..."), SLOT(sProjects()), projectsMenu, "ViewPersonalProjects MaintainPersonalProjects ViewAllProjects MaintainAllProjects", new QPixmap(":/images/projects.png"), toolBar, true , tr("List Projects") }, // Opportunity { "menu", tr("&Opportunity"), (char*)opportunityMenu, crmMenu, "true", NULL, NULL, true , NULL }, { "crm.newOpportunity", tr("&New..."), SLOT(sNewOpportunity()), opportunityMenu, "MaintainPersonalOpportunities MaintainAllOpportunities", NULL, NULL, true , NULL }, { "crm.listOpportunity", tr("&List..."), SLOT(sOpportunities()), opportunityMenu, "MaintainPersonalOpportunities ViewPersonalOpportunities MaintainAllOpportunities ViewAllOpportunities", NULL, NULL, true , NULL }, { "separator", NULL, NULL, crmMenu, "true", NULL, NULL, true , NULL }, // Reports { "menu", tr("&Reports"), (char*)reportsMenu, crmMenu, "true", NULL, NULL, true , NULL }, { "pm.dspOrderActivityByProject", tr("Order &Activity by Project..."), SLOT(sDspOrderActivityByProject()), reportsMenu, "ViewAllProjects ViewPersonalProjects", NULL, NULL, true , NULL }, { "separator", NULL, NULL, crmMenu, "true", NULL, NULL, true , NULL }, // CRM | Account { "menu", tr("&Account"), (char*)accountsMenu, crmMenu, "true", NULL, NULL, true , NULL }, { "crm.crmaccount", tr("&New..."), SLOT(sCRMAccount()), accountsMenu, "MaintainPersonalCRMAccounts MaintainAllCRMAccounts", NULL, NULL, true , NULL }, { "crm.crmaccounts", tr("&List..."), SLOT(sCRMAccounts()), accountsMenu, "MaintainPersonalCRMAccounts ViewPersonalCRMAccounts MaintainAllCRMAccounts ViewAllCRMAccounts", new QPixmap(":/images/accounts.png"), toolBar, true , tr("List Accounts") }, // CRM | Contact { "menu", tr("&Contact"), (char*)contactsMenu, crmMenu, "true", NULL, NULL, true , NULL }, { "crm.contact", tr("&New..."), SLOT(sContact()), contactsMenu, "MaintainPersonalContacts MaintainAllContacts", NULL, NULL, true , NULL }, { "crm.contacts", tr("&List..."), SLOT(sContacts()), contactsMenu, "MaintainPersonalContacts ViewPersonalContacts MaintainAllContacts ViewAllContacts", new QPixmap(":/images/contacts.png"), toolBar, true , tr("List Contacts") }, // CRM | Address { "menu", tr("A&ddress"), (char*)addressMenu, crmMenu, "true", NULL, NULL, true , NULL }, { "crm.address", tr("&New..."), SLOT(sAddress()), addressMenu, "MaintainAddresses", NULL, NULL, true , NULL }, { "crm.addresses", tr("&List..."), SLOT(sAddresses()), addressMenu, "MaintainAddresses ViewAddresses", NULL, NULL, true , NULL }, { "separator", NULL, NULL, crmMenu, "true", NULL, NULL, true , NULL }, //Utilities { "menu", tr("&Utilities"), (char*)utilitiesMenu, crmMenu, "true", NULL, NULL, true , NULL }, { "crm.replaceOwner", tr("Edit O&wners"), SLOT(sEditOwners()), utilitiesMenu, "EditOwner", NULL, NULL, true, NULL }, { "crm.createRecurringItems",tr("Create &Recurring Items..."), SLOT(sCreateRecurringItems()),utilitiesMenu, "MaintainPersonalIncidents MaintainPersonalIncidents MaintainAllIncidents MaintainAllProjects MaintainPersonalToDoItems MaintainAllToDoItems", NULL, NULL, true, NULL }, { "crm.contactMerge", tr("&Merge Contacts..."), SLOT(sContactMerge()), utilitiesMenu, "MergeContacts", NULL, NULL, true, NULL }, { "crm.crmaccountMerge", tr("Merge &Accounts..."), SLOT(sCrmaccountMerge()), utilitiesMenu, "MaintainAllCRMAccounts", NULL, NULL, true, NULL }, { "crm.setup", tr("&Setup..."), SLOT(sSetup()), crmMenu, NULL, NULL, NULL, true, NULL} }; addActionsToMenu(acts, sizeof(acts) / sizeof(acts[0])); parent->populateCustomMenu(crmMenu, "CRM"); QAction * m = parent->menuBar()->addMenu(crmMenu); if(m) m->setText(tr("C&RM")); }
menuPurchase::menuPurchase(GUIClient *Pparent) : QObject(Pparent) { setObjectName("poModule"); parent = Pparent; toolBar = new QToolBar(tr("Purchase Tools")); toolBar->setObjectName("Purchase Tools"); toolBar->setIconSize(QSize(32, 32)); parent->addToolBar(toolBar); mainMenu = new QMenu(parent); requestMenu = new QMenu(parent); ordersMenu = new QMenu(parent); vouchersMenu = new QMenu(parent); itemSourcesMenu = new QMenu(parent); vendorMenu = new QMenu(parent); formsMenu = new QMenu(parent); reportsMenu = new QMenu(parent); reportsPoMenu = new QMenu(parent); reportsPoItemsMenu = new QMenu(parent); reportsItemSrcMenu = new QMenu(parent); reportsRcptRtrnMenu = new QMenu(parent); reportsPriceVarMenu = new QMenu(parent); reportsDelvVarMenu = new QMenu(parent); utilitiesMenu = new QMenu(parent); mainMenu->setObjectName("menu.purch"); requestMenu->setObjectName("menu.purch.request"); ordersMenu->setObjectName("menu.purch.orders"); vouchersMenu->setObjectName("menu.purch.vouchers"); itemSourcesMenu->setObjectName("menu.purch.itemsources"); vendorMenu->setObjectName("menu.purch.vendor"); formsMenu->setObjectName("menu.purch.forms"); reportsMenu->setObjectName("menu.purch.reports"); reportsPoMenu->setObjectName("menu.purch.reportspo"); reportsPoItemsMenu->setObjectName("menu.purch.reportpoitems"); reportsItemSrcMenu->setObjectName("menu.purch.reportsitemsrc"); reportsRcptRtrnMenu->setObjectName("menu.purch.reportsrcptrtrn"); reportsPriceVarMenu->setObjectName("menu.purch.reportspricevar"); reportsDelvVarMenu->setObjectName("menu.purch.reportsdelvvar"); utilitiesMenu->setObjectName("menu.purch.utilities"); actionProperties acts[] = { // Purchase | Requisitions { "menu", tr("Purchase &Requests"), (char*)requestMenu, mainMenu, "true", NULL, NULL, true , NULL }, { "po.dspPurchaseRequestsByPlannerCode", tr("by &Planner Code..."), SLOT(sDspPurchaseReqsByPlannerCode()), requestMenu, "ViewPurchaseRequests", QPixmap(":/images/dspPurchaseReqByPlannerCode.png"), toolBar, true , tr("Purchase Requests by Planner Code") }, { "po.dspPurchaseRequestsByItem", tr("by &Item..."), SLOT(sDspPurchaseReqsByItem()), requestMenu, "ViewPurchaseRequests", NULL, NULL, true , NULL }, // Purchase | Purchase Order { "menu", tr("&Purchase Order"), (char*)ordersMenu, mainMenu, "true", NULL, NULL, true , NULL }, { "po.newPurchaseOrder", tr("&New..."), SLOT(sNewPurchaseOrder()), ordersMenu, "MaintainPurchaseOrders", NULL, NULL, true , NULL }, { "po.listUnpostedPurchaseOrders", tr("&List Open..."), SLOT(sPurchaseOrderEditList()), ordersMenu, "MaintainPurchaseOrders ViewPurchaseOrders", QPixmap(":/images/listUnpostedPo.png"), toolBar, true , tr("List Open Purchase Orders") }, { "separator", NULL, NULL, ordersMenu, "true", NULL, NULL, true , NULL }, { "po.postPurchaseOrder", tr("&Release..."), SLOT(sPostPurchaseOrder()), ordersMenu, "ReleasePurchaseOrders", NULL, NULL, true , NULL }, { "po.postPurchaseOrdersByAgent", tr("Release by A&gent..."), SLOT(sPostPurchaseOrdersByAgent()), ordersMenu, "ReleasePurchaseOrders", NULL, NULL, true , NULL }, { "po.closePurchaseOrder", tr("&Close..."), SLOT(sClosePurchaseOrder()), ordersMenu, "MaintainPurchaseOrders", NULL, NULL, true , NULL }, { "separator", NULL, NULL, ordersMenu, "true", NULL, NULL, true , NULL }, { "po.reschedulePurchaseOrderItem", tr("&Reschedule..."), SLOT(sReschedulePoitem()), ordersMenu, "ReschedulePurchaseOrders", NULL, NULL, true , NULL }, { "wo.changePurchaseOrderItemQty", tr("Change &Qty..."), SLOT(sChangePoitemQty()), ordersMenu, "ChangePurchaseOrderQty", NULL, NULL, true , NULL }, { "wo.addCommentToPurchaseOrder", tr("&Add Comment..."), SLOT(sAddPoComment()), ordersMenu, "MaintainPurchaseOrders", NULL, NULL, true , NULL }, // Purchasing | Voucher { "menu", tr("&Voucher"), (char*)vouchersMenu, mainMenu, "true", NULL, NULL, true , NULL }, { "po.enterNewVoucher", tr("&New..."), SLOT(sEnterVoucher()), vouchersMenu, "MaintainVouchers", NULL, NULL, true , NULL }, { "po.enterNewMiscVoucher", tr("New &Miscellaneous..."), SLOT(sEnterMiscVoucher()), vouchersMenu, "MaintainVouchers", NULL, NULL, true , NULL }, { "po.listUnpostedVouchers", tr("&List Unposted..."), SLOT(sUnpostedVouchers()), vouchersMenu, "MaintainVouchers ViewVouchers", NULL, NULL, true , NULL }, { "separator", NULL, NULL, vouchersMenu, "true", NULL, NULL, true , NULL }, { "po.postVouchers", tr("&Post..."), SLOT(sPostVouchers()), vouchersMenu, "PostVouchers", NULL, NULL, true , NULL }, { "separator", NULL, NULL, mainMenu, "true", NULL, NULL, true , NULL }, // Purchasing | Forms { "menu", tr("&Forms"), (char*)formsMenu, mainMenu, "true", NULL, NULL, true , NULL }, { "po.printPurchaseOrder", tr("Print Purchase &Order..."), SLOT(sPrintPurchaseOrder()), formsMenu, "PrintPurchaseOrders", NULL, NULL, true , NULL }, { "po.printPurchaseOrdersByAgent", tr("Print Purchase Orders by &Agent..."), SLOT(sPrintPurchaseOrdersByAgent()), formsMenu, "PrintPurchaseOrders", NULL, NULL, true , NULL }, { "separator", NULL, NULL, formsMenu, "true", NULL, NULL, true , NULL }, { "po.printPoForm", tr("Print &P/O Form..."), SLOT(sPrintPOForm()), formsMenu, "PrintPurchaseOrders", NULL, NULL, true , NULL }, { "po.printVendorForm", tr("Print &Vendor Form..."), SLOT(sPrintVendorForm()), formsMenu, "MaintainVendors ViewVendors", NULL, NULL, true , NULL }, // Purchasing | Reports { "menu", tr("&Reports"), (char*)reportsMenu, mainMenu, "true", NULL, NULL, true , NULL }, { "po.dspItemSitesByPlannerCode", tr("Item &Sites..."), SLOT(sDspItemSitesByPlannerCode()), reportsMenu, "ViewItemSites", NULL, NULL, true , NULL }, // Purchasing | Reports | Item Sources { "menu", tr("&Items Sources"), (char*)reportsItemSrcMenu, reportsMenu, "true", NULL, NULL, true , NULL }, { "po.dspItemSourcesByVendor", tr("by &Vendor..."), SLOT(sDspItemSourcesByVendor()), reportsItemSrcMenu, "ViewItemSources", NULL, NULL, true , NULL }, { "po.dspItemSourcesByItem", tr("by &Item..."), SLOT(sDspItemSourcesByItem()), reportsItemSrcMenu, "ViewItemSources", NULL, NULL, true , NULL }, { "po.dspBuyCard", tr("&Buy Card..."), SLOT(sDspBuyCard()), reportsMenu, "ViewItemSources", NULL, NULL, true , NULL }, { "separator", NULL, NULL, reportsMenu, "true", NULL, NULL, true , NULL }, // Purchasing | Reports | Purchase Requests // { "menu", tr("Purchase Re&quests"), (char*)requestMenu, reportsMenu, "true", NULL, NULL, true , NULL }, // { "separator", NULL, NULL, reportsMenu, "true", NULL, NULL, true , NULL }, // Purchasing | Reports | P/Os { "menu", tr("&Purchase Orders"), (char*)reportsPoMenu, reportsMenu, "true", NULL, NULL, true , NULL }, { "po.dspPOsByVendor", tr("by &Vendor..."), SLOT(sDspPOsByVendor()), reportsPoMenu, "ViewPurchaseOrders", NULL, NULL, true , NULL }, { "po.dspPOsByDate", tr("by &Date..."), SLOT(sDspPOsByDate()), reportsPoMenu, "ViewPurchaseOrders", NULL, NULL, true , NULL }, // Purchasing | Reports | P/O Items { "menu", tr("Purchase &Order Items"), (char*)reportsPoItemsMenu, reportsMenu, "true", NULL, NULL, true , NULL }, { "po.dspPoLineItemsByVendor", tr("by &Vendor..."), SLOT(sDspPoItemsByVendor()), reportsPoItemsMenu, "ViewPurchaseOrders", NULL, NULL, true , NULL }, { "po.dspPoLineItemsByDate", tr("by &Date..."), SLOT(sDspPoItemsByDate()), reportsPoItemsMenu, "ViewPurchaseOrders", NULL, NULL, true , NULL }, { "po.dspPoLineItemsByItem", tr("by &Item..."), SLOT(sDspPoItemsByItem()), reportsPoItemsMenu, "ViewPurchaseOrders", NULL, NULL, true , NULL }, { "po.dspPoHistory", tr("Purchase Order &History..."), SLOT(sDspPoHistory()), reportsMenu, "ViewPurchaseOrders", NULL, NULL, true , NULL }, { "separator", NULL, NULL, reportsMenu, "true", NULL, NULL, true , NULL }, // Purchasing | Reports | Receipts and Returns { "menu", tr("&Receipts and Returns"), (char*)reportsRcptRtrnMenu, reportsMenu, "true", NULL, NULL, true , NULL }, { "po.dspReceiptsAndReturnsByVendor", tr("by &Vendor..."), SLOT(sDspReceiptsReturnsByVendor()), reportsRcptRtrnMenu, "ViewReceiptsReturns", NULL, NULL, true , NULL }, { "po.dspReceiptsAndReturnsByDate", tr("by &Date..."), SLOT(sDspReceiptsReturnsByDate()), reportsRcptRtrnMenu, "ViewReceiptsReturns", NULL, NULL, true , NULL }, { "po.dspReceiptsAndReturnsByItem", tr("by &Item..."), SLOT(sDspReceiptsReturnsByItem()), reportsRcptRtrnMenu, "ViewReceiptsReturns", NULL, NULL, true , NULL }, { "po.uninvoicedReceipts", tr("&Uninvoiced Receipts and Returns..."), SLOT(sDspUninvoicedReceipts()), reportsMenu, "ViewUninvoicedReceipts MaintainUninvoicedReceipts", NULL, NULL, true , NULL }, { "separator", NULL, NULL, reportsMenu, "true", NULL, NULL, true , NULL }, // Purchasing | Reports | Price Variances { "menu", tr("Price &Variances"), (char*)reportsPriceVarMenu, reportsMenu, "true", NULL, NULL, true , NULL }, { "po.dspPriceVariancesByVendor", tr("by &Vendor..."), SLOT(sDspPriceVariancesByVendor()), reportsPriceVarMenu, "ViewVendorPerformance", NULL, NULL, true , NULL }, { "po.dspPriceVariancesByItem", tr("by &Item..."), SLOT(sDspPriceVariancesByItem()), reportsPriceVarMenu, "ViewVendorPerformance", NULL, NULL, true , NULL }, // Purchasing | Reports | Delivery Date Variance { "menu", tr("&Delivery Date Variances"), (char*)reportsDelvVarMenu, reportsMenu, "true", NULL, NULL, true , NULL }, { "po.dspDeliveryDateVariancesByVendor", tr("by &Vendor..."), SLOT(sDspPoDeliveryDateVariancesByVendor()), reportsDelvVarMenu, "ViewVendorPerformance", NULL, NULL, true , NULL }, { "po.dspDeliveryDateVariancesByItem", tr("by &Item..."), SLOT(sDspPoDeliveryDateVariancesByItem()), reportsDelvVarMenu, "ViewVendorPerformance", NULL, NULL, true , NULL }, { "po.dspRejectedMaterialByVendor", tr("Rejected &Material..."), SLOT(sDspRejectedMaterialByVendor()), reportsMenu, "ViewVendorPerformance", NULL, NULL, true , NULL }, { "separator", NULL, NULL, reportsMenu, "true", NULL, NULL, true , NULL }, { "po.voucheringEditList", tr("U&nposted Vouchers..."), SLOT(sVoucheringEditList()), reportsMenu, "MaintainVouchers ViewVouchers", NULL, NULL, true , NULL }, { "separator", NULL, NULL, mainMenu, "true", NULL, NULL, true , NULL }, // Purchasing | Vendor { "menu", tr("V&endor"), (char*)vendorMenu, mainMenu, "true", NULL, NULL, true , NULL }, { "po.newVendor", tr("&New..."), SLOT(sNewVendor()), vendorMenu, "MaintainVendors", NULL, NULL, true , NULL }, { "po.vendors", tr("&List..."), SLOT(sVendors()), vendorMenu, "MaintainVendors ViewVendors", NULL, NULL, true , NULL }, { "separator", NULL, NULL, vendorMenu, "true", NULL, NULL, true , NULL }, { "po.vendorWorkBench", tr("&Workbench..."), SLOT(sVendorWorkBench()), vendorMenu, "MaintainVendors", NULL, NULL, true , NULL }, // P/O | Item Source { "menu", tr("&Item Source"), (char*)itemSourcesMenu, mainMenu, "true", NULL, NULL, true , NULL }, { "po.enterNewItemSource", tr("&New..."), SLOT(sNewItemSource()), itemSourcesMenu, "MaintainItemSources", NULL, NULL, true , NULL }, { "po.listItemSources", tr("&List..."), SLOT(sItemSources()), itemSourcesMenu, "MaintainItemSources ViewItemSources", NULL, NULL, true , NULL }, { "separator", NULL, NULL, mainMenu, "true", NULL, NULL, true , NULL }, // Purchasing | Utilities { "menu", tr("&Utilities"), (char*)utilitiesMenu, mainMenu, "true", NULL, NULL, true , NULL }, { "po.itemsWithoutItemSources", tr("&Items without Item Sources..."), SLOT(sItemsWithoutItemSources()), utilitiesMenu, "ViewItemMasters", NULL, NULL, true , NULL }, { "po.assignItemToPlannerCode", tr("&Assign Item to Planner Code..."), SLOT(sAssignItemToPlannerCode()), utilitiesMenu, "AssignItemsToPlannerCode", NULL, NULL, true , NULL }, { "po.assignItemsToPlannerCodeByClassCode", tr("Assign Item&s to Planner Code..."), SLOT(sAssignClassCodeToPlannerCode()), utilitiesMenu, "AssignItemsToPlannerCode", NULL, NULL, true , NULL }, // Setup { "po.setup", tr("&Setup..."), SLOT(sSetup()), mainMenu, NULL, NULL, NULL, true, NULL} }; addActionsToMenu(acts, sizeof(acts) / sizeof(acts[0])); parent->populateCustomMenu(mainMenu, "Purchase"); QAction * m = parent->menuBar()->addMenu(mainMenu); if(m) m->setText(tr("P&urchase")); }
menuProducts::menuProducts(GUIClient *Pparent) : QObject(Pparent) { setObjectName("productMenu"); parent = Pparent; toolBar = new QToolBar(tr("Products Tools")); toolBar->setObjectName("Products Tools"); toolBar->setIconSize(QSize(32, 32)); parent->addToolBar(toolBar); mainMenu = new QMenu(parent); itemsMenu = new QMenu(parent); bomMenu = new QMenu(parent); costingMenu = new QMenu(parent); costingUpdActMenu = new QMenu(parent); costingPostActMenu = new QMenu(parent); costingUpdStdMenu = new QMenu(parent); costingReportsMenu = new QMenu(parent); costingReportsCostedMenu = new QMenu(parent); costingReportsItemCostsMenu = new QMenu(parent); reportsMenu = new QMenu(parent); reportsItemsMenu = new QMenu(parent); reportsBomsMenu = new QMenu(parent); reportsWhereUsdMenu = new QMenu(parent); reportsCapUomMenu = new QMenu(parent); utilitiesMenu = new QMenu(parent); mainMenu->setObjectName("menu.prod"); itemsMenu->setObjectName("menu.prod.items"); bomMenu->setObjectName("menu.prod.bom"); costingMenu->setObjectName("menu.prod.costing"); costingUpdActMenu->setObjectName("menu.prod.costingupdact"); costingPostActMenu->setObjectName("menu.prod.costingpostact"); costingUpdStdMenu->setObjectName("menu.prod.costingupdstd"); costingReportsMenu->setObjectName("menu.prod.costingreports"); costingReportsCostedMenu->setObjectName("menu.prod.costingreportscosted"); costingReportsItemCostsMenu->setObjectName("menu.prod.costingreportsitemcosts"); reportsMenu->setObjectName("menu.prod.reports"); reportsItemsMenu->setObjectName("menu.prod.reportsitems"); reportsBomsMenu->setObjectName("menu.prod.reportsboms"); reportsWhereUsdMenu->setObjectName("menu.prod.reportswhereusd"); reportsCapUomMenu->setObjectName("menu.prod.reportscapuom"); utilitiesMenu->setObjectName("menu.prod.utilities"); actionProperties acts[] = { #ifdef Q_WS_MACX { "sys.preferences", tr("P&references..."), SLOT(sPreferences()), mainMenu, "MaintainPreferencesSelf MaintainPreferencesOthers", NULL, NULL, true, NULL }, #endif // Product | Reports { "menu", tr("&Reports"), (char*)reportsMenu, mainMenu, "true", NULL, NULL, true , NULL }, // Product | Reports | Items { "menu", tr("&Items"), (char*)reportsItemsMenu, reportsMenu, "true", NULL, NULL, true , NULL }, { "pd.dspItemsByProductCategory", tr("by &Product Category..."), SLOT(sDspItemsByProductCategory()), reportsItemsMenu, "MaintainItemMasters ViewItemMasters", NULL, NULL, true , NULL }, { "pd.dspItemsByClassCode", tr("by &Class Code..."), SLOT(sDspItemsByClassCode()), reportsItemsMenu, "MaintainItemMasters ViewItemMasters", NULL, NULL, true , NULL }, { "pd.dspItemsByCharacteristic", tr("by C&haracteristic..."), SLOT(sDspItemsByCharacteristic()), reportsItemsMenu, "MaintainItemMasters ViewItemMasters", NULL, NULL, true , NULL }, { "separator", NULL, NULL, reportsMenu, "true", NULL, NULL, true , NULL }, // Product | Reports | BOMs { "menu", tr("&Bills of Materials"), (char*)reportsBomsMenu, reportsMenu, "true", NULL, NULL, true , NULL }, { "pd.dspSingleLevelBOM", tr("&Single Level..."), SLOT(sDspSingleLevelBOM()), reportsBomsMenu, "ViewBOMs", NULL, NULL, true , NULL }, { "pd.dspIndentedBOM", tr("&Indented..."), SLOT(sDspIndentedBOM()), reportsBomsMenu, "ViewBOMs", NULL, NULL, true , NULL }, { "pd.dspSummarizedBOM", tr("Summari&zed..."), SLOT(sDspSummarizedBOM()), reportsBomsMenu, "ViewBOMs", NULL, NULL, true , NULL }, // Product | Reports | Where Used { "menu", tr("&Where Used"), (char*)reportsWhereUsdMenu, reportsMenu, "true", NULL, NULL, true , NULL }, { "pd.dspSingleLevelWhereUsed", tr("&Single Level..."), SLOT(sDspSingleLevelWhereUsed()), reportsWhereUsdMenu, "ViewBOMs", NULL, NULL, true , NULL }, { "pd.dspIndentedWhereUsed", tr("&Indented..."), SLOT(sDspIndentedWhereUsed()), reportsWhereUsdMenu, "ViewBOMs", NULL, NULL, true , NULL }, { "pd.dspPendingBOMChanges", tr("&Pending BOM Changes..."), SLOT(sDspPendingBOMChanges()), reportsMenu, "ViewBOMs", NULL, NULL, true , NULL }, { "separator", NULL, NULL, reportsMenu, "true", NULL, NULL, true , NULL }, // Product | Reports | Capacity UOMs { "menu", tr("Capacity &UOMs"), (char*)reportsCapUomMenu, reportsMenu, "true", NULL, NULL, true , NULL }, { "pd.dspCapacityUOMsByProductCategory", tr("by &Product Category..."), SLOT(sDspCapacityUOMsByProductCategory()), reportsCapUomMenu, "MaintainItemMasters ViewItemMasters", NULL, NULL, true , NULL }, { "pd.dspCapacityUOMsByClassCode", tr("by &Class Code..."), SLOT(sDspCapacityUOMsByClassCode()), reportsCapUomMenu, "MaintainItemMasters ViewItemMasters", NULL, NULL, true , NULL }, { "separator", NULL, NULL, mainMenu, "true", NULL, NULL, true , NULL }, // Product | Items { "menu", tr("&Item"), (char*)itemsMenu, mainMenu, "true", NULL, NULL, true , NULL }, { "pd.enterNewItem", tr("&New..."), SLOT(sNewItem()), itemsMenu, "MaintainItemMasters", NULL, NULL, true , NULL }, { "pd.listItems", tr("&List..."), SLOT(sItems()), itemsMenu, "MaintainItemMasters ViewItemMasters", QPixmap(":/images/items.png"), toolBar, true , tr("List Items") }, { "pd.copyItem", tr("&Copy..."), SLOT(sCopyItem()), itemsMenu, "MaintainItemMasters" , NULL, NULL, true, NULL }, { "separator", NULL, NULL, itemsMenu, "true", NULL, NULL, true , NULL }, { "pd.itemAvailabilityWorkbench", tr("&Workbench..."), SLOT(sDspItemAvailabilityWorkbench()), itemsMenu, "ViewItemAvailabilityWorkbench", NULL, NULL, true , NULL }, { "separator", NULL, NULL, itemsMenu, "true", NULL, NULL, true , NULL }, { "pd.itemGroups", tr("&Groups..."), SLOT(sItemGroups()), itemsMenu, "MaintainItemGroups ViewItemGroups", NULL, NULL, true , NULL }, { "pd.itemImages", tr("&Images..."), SLOT(sItemImages()), itemsMenu, "MaintainItemMasters ViewItemMasters", NULL, NULL, true , NULL }, // Product | Bill of Materials { "menu", tr("Bill Of Ma&terials"), (char*)bomMenu, mainMenu, "true", NULL, NULL, true , NULL }, { "pd.enterNewBOM", tr("&New..."), SLOT(sNewBOM()), bomMenu, "MaintainBOMs", NULL, NULL, true , NULL }, { "pd.listBOMs", tr("&List..."), SLOT(sBOMs()), bomMenu, "MaintainBOMs ViewBOMs", QPixmap(":/images/boms.png"), toolBar, true , tr("List Bill of Materials") }, { "pd.copyBOM", tr("&Copy..."), SLOT(sCopyBOM()), bomMenu, "MaintainBOMs", NULL, NULL, true , NULL }, { "separator", NULL, NULL, bomMenu, "true", NULL, NULL, true , NULL }, { "pd.massReplaceComponentItem", tr("Mass &Replace..."), SLOT(sMassReplaceComponent()), bomMenu, "MaintainBOMs", NULL, NULL, true , NULL }, { "pd.massExpireComponentItem", tr("Mass E&xpire..."), SLOT(sMassExpireComponent()), bomMenu, "MaintainBOMs", NULL, NULL, true , NULL }, // Product | Costing { "menu", tr("&Costing"), (char*)costingMenu, mainMenu, "true", NULL, NULL, true , NULL }, { "pd.maintainItemCosts", tr("&Maintain Item Costs..."), SLOT(sMaintainItemCosts()), costingMenu, "ViewCosts", NULL, NULL, true , NULL }, // Product | Lot Serial { "pd.lotSerial", tr("&Lot/Serial..."), SLOT(sLotSerial()), mainMenu, "true", NULL, NULL, _metrics->boolean("LotSerialControl"), NULL }, { "separator", NULL, NULL, costingMenu, "true", NULL, NULL, true , NULL }, // Product | Costing | Update Actual Costs { "menu", tr("Update &Actual Costs"), (char*)costingUpdActMenu, costingMenu, "true", NULL, NULL, true , NULL }, { "pd.updateActualCostsByItem", tr("by &Item..."), SLOT(sUpdateActualCostsByItem()), costingUpdActMenu, "UpdateActualCosts", NULL, NULL, true , NULL }, { "pd.updateActualCostsByClassCode", tr("by &Class Code..."), SLOT(sUpdateActualCostsByClassCode()), costingUpdActMenu, "UpdateActualCosts", NULL, NULL, true , NULL }, // Product | Costing | Post Actual Costs { "menu", tr("&Post Actual Costs"), (char*)costingPostActMenu, costingMenu, "true", NULL, NULL, true , NULL }, { "pd.postActualCostsByItem", tr("by &Item..."), SLOT(sPostActualCostsByItem()), costingPostActMenu, "PostActualCosts", NULL, NULL, true , NULL }, { "pd.postActualCostsByClassCode", tr("by &Class Code..."), SLOT(sPostActualCostsByClassCode()), costingPostActMenu, "PostActualCosts", NULL, NULL, true , NULL }, // Product | Costing | Post Standard Costs { "menu", tr("Post &Standard Costs"), (char*)costingUpdStdMenu, costingMenu, "true", NULL, NULL, true , NULL }, { "pd.postStandardCostsByItem", tr("by &Item..."), SLOT(sUpdateStandardCostsByItem()), costingUpdStdMenu, "PostStandardCosts", NULL, NULL, true , NULL }, { "pd.postStandardCostsByClassCode", tr("by &Class Code..."), SLOT(sUpdateStandardCostsByClassCode()), costingUpdStdMenu, "PostStandardCosts", NULL, NULL, true , NULL }, { "separator", NULL, NULL, costingMenu, "true", NULL, NULL, true , NULL }, // Product | Costing | Reports { "menu", tr("&Reports"), (char*)costingReportsMenu, costingMenu, "true", NULL, NULL, true , NULL }, // Product | Costing | Reports | Costed BOM { "menu", tr("&Costed BOM"), (char*)costingReportsCostedMenu, costingReportsMenu, "true", NULL, NULL, true , NULL }, { "pd.dspCostedSingleLevelBOM", tr("&Single Level..."), SLOT(sDspCostedSingleLevelBOM()),costingReportsCostedMenu, "ViewCosts", NULL, NULL, true , NULL }, { "pd.dspCostedIndentedBOM", tr("&Indented..."), SLOT(sDspCostedIndentedBOM()), costingReportsCostedMenu, "ViewCosts", NULL, NULL, true , NULL }, { "pd.dspCostedSummarizedBOM", tr("Summari&zed..."), SLOT(sDspCostedSummarizedBOM()), costingReportsCostedMenu, "ViewCosts", NULL, NULL, true , NULL }, // Product | Costing | Reports | Item Costs { "menu", tr("&Item Costs"), (char*)costingReportsItemCostsMenu, costingReportsMenu, "true", NULL, NULL, true , NULL }, { "pd.dspItemCostsByClassCode", tr("by &Class Code..."), SLOT(sDspItemCostsByClassCode()), costingReportsItemCostsMenu, "ViewCosts", NULL, NULL, true , NULL }, { "pd.dspItemCostsSummary", tr("&Summary..."), SLOT(sDspItemCostSummary()), costingReportsItemCostsMenu, "ViewCosts", NULL, NULL, true , NULL }, { "pd.dspItemCostsHistory", tr("&History..."), SLOT(sDspItemCostHistory()), costingReportsItemCostsMenu, "ViewCosts", NULL, NULL, true , NULL }, { "separator", NULL, NULL, costingMenu, "true", NULL, NULL, true , NULL }, { "pd.userDefinedCostingElements", tr("&User-Defined Costing Elements..."), SLOT(sUserCostingElements()), costingMenu, "MaintainUserCostingElements", NULL, NULL, true , NULL }, { "separator", NULL, NULL, mainMenu, "true", NULL, NULL, true , NULL }, // Produt | Utilies { "menu", tr("&Utilities"), (char*)utilitiesMenu, mainMenu, "true", NULL, NULL, true , NULL }, { "pd.dspUnusedPurchasedItems", tr("Unused &Purchased Items..."), SLOT(sDspUnusedPurchasedItems()), utilitiesMenu, "ViewBOMs", NULL, NULL, true , NULL }, { "pd.dspUndefinedManufacturedItems", tr("Undefined &Manufactured Items..."), SLOT(sDspUndefinedManufacturedItems()), utilitiesMenu, "ViewBOMs ViewBOOs", NULL, NULL, true , NULL }, { "pd.dspBillsOfMaterialsWithoutComponentItemSites", tr("Bills of Ma&terials without Component Item Sites..."), SLOT(sDspInvalidBillsOfMaterials()), utilitiesMenu, "ViewBOMs", NULL, NULL, true , NULL }, { "separator", NULL, NULL, utilitiesMenu, "true", NULL, NULL, true , NULL }, { "pd.reassignClassCodeByClassCode", tr("Reassign &Class Codes..."), SLOT(sReassignClassCodeByClassCode()), utilitiesMenu, "MaintainItemMasters", NULL, NULL, true , NULL }, { "pd.reassignProductCategoryByProductCategory", tr("&Reassign Product Categories..."), SLOT(sReassignProductCategoryByProductCategory()), utilitiesMenu, "MaintainItemMasters", NULL, NULL, true , NULL }, // Setup { "pd.setup", tr("&Setup..."), SLOT(sSetup()), mainMenu, "true", NULL, NULL, true, NULL} }; addActionsToMenu(acts, sizeof(acts) / sizeof(acts[0])); parent->populateCustomMenu(mainMenu, "Products"); QAction * m = parent->menuBar()->addMenu(mainMenu); if(m) m->setText(tr("Produc&ts")); }