TunerView::TunerView( int viewID_, QWidget *parent ) : ViewWidget( viewID_, parent) { //setCaption("Chromatic Tuner"); Q3GridLayout *layout = new Q3GridLayout(this, 9, 3, 2); layout->setResizeMode(QLayout::SetNoConstraint); // Tuner widget goes from (0, 0) to (0, 8); //tunerWidget = new TunerWidget(this); tunerWidget = new VibratoTunerWidget(this); layout->addMultiCellWidget(tunerWidget, 0, 0, 0, 8); // Slider goes from (2,0) to (2,9) //slider = new QwtSlider(this, "slider", Qt::Horizontal, QwtSlider::Bottom, QwtSlider::BgTrough); #if QWT_VERSION == 0x050000 slider = new QwtSlider(this, Qt::Horizontal, QwtSlider::Bottom, QwtSlider::BgTrough); #else slider = new QwtSlider(this, Qt::Horizontal, QwtSlider::BottomScale, QwtSlider::BgTrough); #endif slider->setRange(0, 2); slider->setReadOnly(false); layout->addMultiCellWidget(slider, 1, 1, 0, 8); QToolTip::add(slider, "Increase slider to smooth the pitch over a longer time period"); ledBuffer = new QPixmap(); leds.push_back(new LEDIndicator(ledBuffer, this, "A")); leds.push_back(new LEDIndicator(ledBuffer, this, "B")); leds.push_back(new LEDIndicator(ledBuffer, this, "C")); leds.push_back(new LEDIndicator(ledBuffer, this, "D")); leds.push_back(new LEDIndicator(ledBuffer, this, "E")); leds.push_back(new LEDIndicator(ledBuffer, this, "F")); leds.push_back(new LEDIndicator(ledBuffer, this, "G")); leds.push_back(new LEDIndicator(ledBuffer, this, "#")); // Add the leds for note names into the positions (1, 0) to (1, 6) for (int n = 0; n < 7; n++) { layout->addWidget(leds.at(n), 2, n); } // (1, 7) is blank // Add the flat led layout->addWidget(leds.at(7), 2, 8); layout->setRowStretch( 0, 4 ); layout->setRowStretch( 1, 1 ); layout->setRowStretch( 2, 0 ); //connect(gdata->view, SIGNAL(onFastUpdate(double)), this, SLOT(update())); //connect(gdata, SIGNAL(onChunkUpdate()), tunerWidget, SLOT(doUpdate())); connect(gdata, SIGNAL(onChunkUpdate()), this, SLOT(doUpdate())); connect(tunerWidget, SIGNAL(ledSet(int, bool)), this, SLOT(setLed(int, bool))); }
Tab_Logins::Tab_Logins ( QWidget* parent, const char* name, long CustID ) : TAAWidget(parent) { setCaption( "Logins" ); myCustID = CustID; // Create all of our widgets. list = new Q3ListView(this, "LoginList"); list->addColumn("Login ID"); list->addColumn("Login Type"); list->addColumn("Contact Name"); list->addColumn("Last Modified"); list->addColumn("Disk"); list->addColumn("Flags"); list->addColumn("Active"); list->setAllColumnsShowFocus(TRUE); list->setColumnAlignment(4, AlignRight); list->setColumnAlignment(5, AlignRight); list->setColumnAlignment(6, AlignCenter); list->setItemMargin( 2 ); newButton = new QPushButton(this, "NewButton"); newButton->setText("&New"); connect(newButton, SIGNAL(clicked()), this, SLOT(createNewLogin())); openCloseButton = new QPushButton(this, "OpenCloseButton"); openCloseButton->setText("(&De)Activate"); connect(openCloseButton, SIGNAL(clicked()), this, SLOT(unlockLogin())); passwdButton = new QPushButton(this, "PasswdButton"); passwdButton->setText("&Password"); connect(passwdButton, SIGNAL(clicked()), this, SLOT(changePassword())); QPushButton *loginFlagsButton = new QPushButton(this, "LoginFlagsButton"); loginFlagsButton->setText("Fla&gs"); connect(loginFlagsButton, SIGNAL(clicked()), this, SLOT(loginFlagsClicked())); editButton = new QPushButton(this, "EditButton"); editButton->setText("&Edit"); connect(editButton, SIGNAL(clicked()), this, SLOT(editLogin())); modemUsageButton = new QPushButton(this, "Modem Usage Button"); modemUsageButton->setText("&Modem Usage"); connect(modemUsageButton, SIGNAL(clicked()), this, SLOT(modemUsageReport())); bandwidthButton = new QPushButton(this, "BandwidthButton"); bandwidthButton->setText("&Bandwidth"); connect(bandwidthButton, SIGNAL(clicked()), this, SLOT(bandwidthUsageReport())); QPushButton *diskSpaceButton = new QPushButton(this, "DiskSpaceButton"); diskSpaceButton->setText("D&isk Space"); connect(diskSpaceButton, SIGNAL(clicked()), this, SLOT(diskSpaceClicked())); diskSpaceButton->setEnabled(false); adminMenuArea = new QLabel(this, "Admin Menu Area"); adminMenu = new Q3PopupMenu; adminMenu->insertItem("&Set Primary Login", this, SLOT(setPrimaryLogin())); adminMenu->insertItem("&Transfer Login", this, SLOT(transferLogin())); if (isAdmin()) adminMenu->insertItem("&Wipe Login", this, SLOT(wipeLogin())); QMenuBar *tmpMenu; tmpMenu = new QMenuBar(adminMenuArea, "Administrivia"); tmpMenu->insertItem("&Administrivia", adminMenu); hideWiped = new QCheckBox(this, "HideWiped"); hideWiped->setText("&Hide Wiped"); hideWiped->setChecked(true); connect(hideWiped, SIGNAL(toggled(bool)), this, SLOT(hideWipedChanged(bool))); // Create our layouts. A top to bottom box, with a grid in it. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3, 3); ml->addWidget(list, 1); Q3GridLayout *bl = new Q3GridLayout(2, 6); bl->addWidget(newButton, 0, 0); bl->addWidget(openCloseButton, 0, 1); bl->addWidget(passwdButton, 0, 2); bl->addWidget(loginFlagsButton, 0, 3); bl->addWidget(adminMenuArea, 0, 5); bl->addWidget(editButton, 1, 0); bl->addWidget(modemUsageButton, 1, 1); bl->addWidget(bandwidthButton, 1, 2); bl->addWidget(diskSpaceButton, 1, 3); bl->addWidget(hideWiped, 1, 5); for (int i = 0 ; i < 5; i++) bl->setColStretch(i, 1); bl->setRowStretch(0, 0); bl->setRowStretch(1, 0); ml->addLayout(bl, 0); // QObject::connect(listtitle, SIGNAL(widthChanged(int, int)), // list, SLOT(setColumnWidth(int, int))); refreshLoginList(0); if (!isManager()) { // wipeButton->hide(); adminMenuArea->hide(); } }
DomainChecklist::DomainChecklist(QWidget* parent, const char* name, long DomainID) : TAAWidget(parent) { setCaption( "Domain Checklist" ); if (!DomainID) return; myDomainID = DomainID; // Setup the widgets. There are a bunch. QLabel *customerIDLabel = new QLabel("Customer ID:", this, "customerIDLabel"); customerIDLabel->setAlignment(AlignRight|AlignVCenter); customerID = new QLabel(this, "customerID"); customerID->setAlignment(AlignLeft|AlignVCenter); QLabel *loginIDLabel = new QLabel("Login ID:", this, "loginIDLabel"); loginIDLabel->setAlignment(AlignRight|AlignVCenter); loginID = new QLabel(this, "loginID"); loginID->setAlignment(AlignLeft|AlignVCenter); QLabel *customerNameLabel = new QLabel("Customer Name:", this, "customerNameLabel"); customerNameLabel->setAlignment(AlignRight|AlignVCenter); customerName = new QLabel(this, "customerName"); customerName->setAlignment(AlignLeft|AlignVCenter); QLabel *domainNameLabel = new QLabel("Domain Name:", this, "domainNameLabel"); domainNameLabel->setAlignment(AlignRight|AlignVCenter); domainName = new QLabel(this, "domainName"); domainName->setAlignment(AlignLeft|AlignVCenter); hostmasterSubmit = new QCheckBox("Request submitted to Hostmaster", this, "hostmasterSubmit"); hostmastDate = new QLabel(this, "hostmastDate"); hostmastDate->setAlignment(AlignRight|AlignVCenter); internicSubmit = new QCheckBox("Request submitted to InterNIC", this, "internicSubmit"); nicReqDate = new QLabel(this, "nicReqDate"); nicReqDate->setAlignment(AlignRight|AlignVCenter); dnsDone = new QCheckBox("DNS records created/updated", this, "dnsDone"); dnsDate = new QLabel(this, "dnsDate"); dnsDate->setAlignment(AlignRight|AlignVCenter); mailDone = new QCheckBox("Mail system updated", this, "mailDone"); mailDate = new QLabel(this, "mailDate"); mailDate->setAlignment(AlignRight|AlignVCenter); vserverDone = new QCheckBox("Virtual server setup completed", this, "vserverDone"); vserverDate = new QLabel(this, "vserverDate"); vserverDate->setAlignment(AlignRight|AlignVCenter); QLabel *serverListLabel = new QLabel("Server:", this, "serverListLabel"); serverListLabel->setAlignment(AlignRight|AlignVCenter); serverList = new QComboBox(true, this, "serverList"); QLabel *processListLabel = new QLabel("Process:", this, "processListLabel"); processListLabel->setAlignment(AlignRight|AlignVCenter); processList = new QComboBox(true, this, "processList"); QLabel *ipAddressLabel = new QLabel("IP Address:", this, "ipAddressLabel"); ipAddressLabel->setAlignment(AlignRight|AlignVCenter); ipAddress = new QLineEdit(this, "ipAddress"); ipAddress->setMaxLength(16); internicDone = new QCheckBox("InterNIC request completed", this, "internicDone"); nicDoneDate = new QLabel(this, "nicDoneDate"); nicDoneDate->setAlignment(AlignRight|AlignVCenter); QLabel *nicAdminIDLabel = new QLabel("NIC Admin ID:", this, "nicAdminIDLabel"); nicAdminIDLabel->setAlignment(AlignRight|AlignVCenter); nicAdminID = new QLineEdit(this, "nicAdminID"); nicAdminID->setMaxLength(16); QLabel *nicBillIDLabel = new QLabel("NIC Billing ID:", this, "nicBillIDLabel"); nicBillIDLabel->setAlignment(AlignRight|AlignVCenter); nicBillID = new QLineEdit(this, "nicBillID"); nicBillID->setMaxLength(16); domainDone = new QCheckBox("Domain released", this, "domainDone"); doneDate = new QLabel(this, "domainDate"); doneDate->setAlignment(AlignRight|AlignVCenter); // Finally, our buttons. QPushButton *updateButton = new QPushButton("&Update", this, "updateButton"); connect(updateButton, SIGNAL(clicked()), this, SLOT(updateClicked())); QPushButton *saveButton = new QPushButton("&Save", this, "saveButton"); connect(saveButton, SIGNAL(clicked()), this, SLOT(saveClicked())); QPushButton *cancelButton = new QPushButton("&Cancel", this, "cancelButton"); connect(cancelButton, SIGNAL(clicked()), this, SLOT(cancelClicked())); // And now for the layout. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 5); // Our info grid. Q3GridLayout *igrid = new Q3GridLayout(3, 4, 3); int curRow = 0; igrid->addWidget(customerIDLabel, curRow, 0); igrid->addWidget(customerID, curRow, 1); igrid->addWidget(loginIDLabel, curRow, 2); igrid->addWidget(loginID, curRow, 3); igrid->setRowStretch(curRow, 0); curRow++; igrid->addWidget(customerNameLabel, curRow, 0); igrid->addMultiCellWidget(customerName, curRow, curRow, 1, 3); igrid->setRowStretch(curRow, 0); curRow++; igrid->addWidget(domainNameLabel, curRow, 0); igrid->addMultiCellWidget(domainName, curRow, curRow, 1, 3); igrid->setRowStretch(curRow, 0); igrid->setColStretch(0, 0); igrid->setColStretch(1, 1); igrid->setColStretch(2, 0); igrid->setColStretch(3, 0); ml->addLayout(igrid, 0); ml->addWidget(new HorizLine(this), 0); Q3GridLayout *gl = new Q3GridLayout(12, 3, 3); curRow = 0; gl->addMultiCellWidget(hostmasterSubmit, curRow, curRow, 0, 1); gl->addWidget(hostmastDate, curRow, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addMultiCellWidget(internicSubmit, curRow, curRow, 0, 1); gl->addWidget(nicReqDate, curRow, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addMultiCellWidget(dnsDone, curRow, curRow, 0, 1); gl->addWidget(dnsDate, curRow, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addMultiCellWidget(mailDone, curRow, curRow, 0, 1); gl->addWidget(mailDate, curRow, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addMultiCellWidget(vserverDone, curRow, curRow, 0, 1); gl->addWidget(vserverDate, curRow, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addWidget(serverListLabel, curRow, 0); gl->addMultiCellWidget(serverList, curRow, curRow, 1, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addWidget(processListLabel, curRow, 0); gl->addMultiCellWidget(processList, curRow, curRow, 1, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addWidget(ipAddressLabel, curRow, 0); gl->addMultiCellWidget(ipAddress, curRow, curRow, 1, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addMultiCellWidget(internicDone, curRow, curRow, 0, 1); gl->addWidget(nicDoneDate, curRow, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addWidget(nicAdminIDLabel, curRow, 0); gl->addMultiCellWidget(nicAdminID, curRow, curRow, 1, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addWidget(nicBillIDLabel, curRow, 0); gl->addMultiCellWidget(nicBillID, curRow, curRow, 1, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addMultiCellWidget(domainDone, curRow, curRow, 0, 1); gl->addWidget(doneDate, curRow, 2); gl->setRowStretch(curRow, 0); gl->setColStretch(0, 0); gl->setColStretch(1, 1); gl->setColStretch(2, 0); ml->addLayout(gl, 0); ml->addStretch(1); ml->addWidget(new HorizLine(this), 0); Q3BoxLayout *bl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 3); bl->addStretch(1); bl->addWidget(updateButton, 0); bl->addWidget(saveButton, 0); bl->addWidget(cancelButton, 0); ml->addLayout(bl, 0); refreshCheckList(); }
LogVoiceMail::LogVoiceMail ( QWidget* parent, const char* name ) : TAAWidget(parent) { setCaption( "Voice Mail Logging" ); // Create the widgets QLabel *dateLabel = new QLabel(this); dateLabel->setAlignment(Qt::AlignRight|Qt::AlignVCenter); dateLabel->setText("D&ate/Time:"); msgDateTime = new Q3DateTimeEdit(QDateTime::currentDateTime(), this, "MsgDateTime"); dateLabel->setBuddy(msgDateTime); QLabel *messageLabel = new QLabel(this); messageLabel->setAlignment(Qt::AlignRight|Qt::AlignTop); messageLabel->setText("M&essage:"); message = new Q3MultiLineEdit(this); message->setWordWrap(Q3MultiLineEdit::WidgetWidth); messageLabel->setBuddy(message); saveButton = new QPushButton(this); saveButton->setText("&Save"); connect(saveButton, SIGNAL(clicked()), this, SLOT(saveMessage())); closeButton = new QPushButton(this); closeButton->setText("&Close"); connect(closeButton, SIGNAL(clicked()), this, SLOT(closeClicked())); statusLabel = new QLabel(this); statusLabel->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); statusLabel->setFrameStyle(Q3Frame::Panel|Q3Frame::Sunken); statusLabel->setMinimumSize(0, 20); // Now, create our layouts // Date/time area. Q3GridLayout *dtl = new Q3GridLayout(2, 4, 3); dtl->setColStretch(0, 0); dtl->setColStretch(1, 1); dtl->setColStretch(2, 0); dtl->setColStretch(3, 1); dtl->setRowStretch(0, 0); dtl->setRowStretch(1, 1); dtl->addWidget(dateLabel, 0, 0); dtl->addMultiCellWidget(msgDateTime, 0, 0, 1, 3); dtl->addWidget(messageLabel, 1, 0); dtl->addMultiCellWidget(message, 1, 1, 1, 3); // The action button layout. Q3BoxLayout *abl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 5); abl->addStretch(1); abl->addWidget(saveButton, 0); abl->addWidget(closeButton, 0); abl->addSpacing(5); // The main layout. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 0, 0); ml->addSpacing(3); ml->addLayout(dtl, 1); ml->addSpacing(3); ml->addLayout(abl, 0); ml->addSpacing(3); ml->addWidget(statusLabel, 0); // Done. msgDateTime->setFocus(); resize(350, 180); }
ChangeBillingCycle::ChangeBillingCycle(QWidget* parent, const char* name, long CustID) : TAAWidget(parent) { setCaption( "Edit Customer Billing Cycle" ); if (!CustID) return; myCustID = CustID; // Create the widgets QLabel *customerLabel = new QLabel("Customer:", this, "customerLabel"); customerLabel->setAlignment(AlignRight|AlignVCenter); customer = new QLabel(this, "customer"); customer->setAlignment(AlignLeft|AlignVCenter); QLabel *cycleListLabel = new QLabel("New Billing Cycle:", this, "cycleListLabel"); cycleListLabel->setAlignment(AlignRight|AlignVCenter); cycleList = new QComboBox(false, this, "cycleList"); QLabel *effectiveDateLabel = new QLabel("Effective Date:", this, "effectiveDateLabel"); effectiveDateLabel->setAlignment(AlignRight|AlignVCenter); effectiveDate = new Q3DateEdit(QDate::currentDate(), this, "effectiveDate"); QPushButton *saveButton = new QPushButton("&Save", this, "saveButton"); connect(saveButton, SIGNAL(clicked()), this, SLOT(saveBillingCycleChange())); QPushButton *cancelButton = new QPushButton("&Save", this, "cancelButton"); connect(cancelButton, SIGNAL(clicked()), this, SLOT(cancelBillingCycleChange())); // Our layout. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3); Q3GridLayout *gl = new Q3GridLayout(2, 3); int curRow = 0; gl->addWidget(customerLabel, curRow, 0); gl->addWidget(customer, curRow, 1); gl->setRowStretch(curRow, 0); curRow++; gl->addWidget(cycleListLabel, curRow, 0); gl->addWidget(cycleList, curRow, 1); gl->setRowStretch(curRow, 0); curRow++; gl->addWidget(effectiveDateLabel, curRow, 0); gl->addWidget(effectiveDate, curRow, 1); gl->setRowStretch(curRow, 0); gl->setColStretch(0, 0); gl->setColStretch(1, 1); ml->addLayout(gl, 0); ml->addStretch(1); Q3BoxLayout *bl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 3); bl->addStretch(1); bl->addWidget(saveButton, 0); bl->addWidget(cancelButton, 0); ml->addLayout(bl, 0); // Load the list of rate plans. ADB DB; CustomersDB CDB; char tmpStr[1024]; CDB.get(CustID); sprintf(tmpStr, "%s (%ld)", (const char *) CDB.getStr("FullName"), myCustID); customer->setText(tmpStr); DB.query("select CycleID,InternalID from BillingCycles order by CycleID"); while (DB.getrow()) { cycleList->insertItem(DB.curRow["CycleID"]); if (atol(DB.curRow["InternalID"]) == CDB.getLong("BillingCycle")) { cycleList->setCurrentItem(cycleList->count()-1); } } }
LogCall::LogCall ( QWidget* parent, const char* name ) : TAAWidget(parent) { setCaption("Call Logger"); // Create all of our widgets. loginID = new QLineEdit(this, "loginID"); loginID->setMaxLength(16); connect(loginID, SIGNAL(textChanged(const QString &)), this, SLOT(loginIDChanged(const QString &))); loginIDLabel = new QLabel(loginID, "&Login ID", this); loginIDLabel->setAlignment(AlignRight|AlignVCenter); searchButton = new QPushButton(this, "searchButton"); searchButton->setText("&Search"); connect(searchButton, SIGNAL(clicked()), this, SLOT(findLogin())); // Searching doesn't really work very well, so lets hide the button for // now. searchButton->hide(); callType = new QComboBox(false, this, "callType"); callType->insertItem("Support"); callType->insertItem("Sales"); callType->insertItem("New User"); callType->insertItem("Accounting"); connect(callType, SIGNAL(highlighted(int)), this, SLOT(callTypeChanged(int))); typeLabel = new QLabel(callType, "&Type", this); typeLabel->setAlignment(AlignRight|AlignVCenter); reasonList = new Q3ListView(this, "reasonList"); reasonList->addColumn("Call Subject"); reasonList->setMaximumHeight(125); reasonLabel = new QLabel(reasonList, "&Reason", this); reasonLabel->setAlignment(AlignRight|AlignTop); solutionNotes = new Q3MultiLineEdit(this, "solutionNotes"); solutionNotes->setWordWrap(Q3MultiLineEdit::WidgetWidth); solutionLabel = new QLabel(solutionNotes, "S&olution", this); solutionLabel->setAlignment(AlignRight|AlignTop); // Now, our buttons. custWinButton = new QPushButton(this, "custWinButton"); custWinButton->setText("&Customer Window"); connect(custWinButton, SIGNAL(clicked()), this, SLOT(loadCustomer())); clockButton = new QPushButton(this, "clockButton"); clockButton->setText("Sto&p Timer"); connect(clockButton, SIGNAL(clicked()), this, SLOT(toggleTimer())); doneButton = new QPushButton(this, "doneButton"); doneButton->setText("&Done"); connect(doneButton, SIGNAL(clicked()), this, SLOT(hangupCall())); statusLabel = new QLabel(this, "statusLabel"); statusLabel->setFrameStyle(Q3Frame::Sunken|Q3Frame::WinPanel); clockArea = new QLCDNumber(this, "clockArea"); clockArea->setMode(QLCDNumber::DEC); clockArea->setSegmentStyle(QLCDNumber::Flat); clockArea->setNumDigits(7); // Main Layout, top to bottom, with a grid and stuff thrown in. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3, 3); Q3GridLayout *gl = new Q3GridLayout(3, 5); gl->setRowStretch(0, 0); gl->setRowStretch(1, 0); gl->setRowStretch(2, 1); gl->setColStretch(0, 0); gl->setColStretch(1, 1); gl->setColStretch(2, 0); gl->setColStretch(3, 0); gl->setColStretch(4, 0); gl->addWidget(loginIDLabel, 0, 0); gl->addWidget(loginID, 0, 1); gl->addWidget(searchButton, 0, 2); gl->addWidget(typeLabel, 0, 3); gl->addWidget(callType, 0, 4); gl->addWidget(reasonLabel, 1, 0); gl->addMultiCellWidget(reasonList, 1, 1, 1, 4); gl->addWidget(solutionLabel, 2, 0); gl->addMultiCellWidget(solutionNotes, 2, 2, 1, 4); ml->addLayout(gl, 1); Q3BoxLayout *abl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 0); abl->addWidget(custWinButton, 1); abl->addWidget(clockButton, 1); abl->addWidget(doneButton, 1); // These options don't really work very well, so lets disable them for // now. ml->addLayout(abl, 0); Q3BoxLayout *sbl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 3); sbl->addWidget(statusLabel, 1); sbl->addWidget(clockArea, 0); ml->addLayout(sbl, 0); // Set the starting login ID to empty, and the starting customer ID to 0 strcpy(myLoginID, ""); myCustID = 0; // Start the clock ticking... callStart.setDate(QDate::currentDate()); callStart.setTime(QTime::currentTime()); // Set the status label to the default. statusLabel->setText("No customer selected."); callTypeChanged(0); // And setup the timer to update our clock once every second. updateClock(); callTimer = new QTimer(this); connect(callTimer, SIGNAL(timeout()), this, SLOT(updateClock())); callTimer->start(1000); // Once every second timerRunning = 1; clockArea->display("00:00:00"); // Make some hotkeys... loginIDLabel->setBuddy(loginID); typeLabel->setBuddy(callType); reasonLabel->setBuddy(reasonList); solutionLabel->setBuddy(solutionNotes); // Add wordwrap. myLinkedCall = 0; loginID->setFocus(); }
TesterTestPage::TesterTestPage (QWidget *p) : QWidget (p) { fieldList.append(tr("Open")); fieldList.append(tr("Close")); fieldList.append(tr("Mid Point")); Q3HBoxLayout *hbox = new Q3HBoxLayout(this); hbox->setMargin(5); hbox->setSpacing(10); // left side grid Q3GridLayout *grid = new Q3GridLayout(hbox); grid->setColStretch(1, 1); grid->setSpacing(5); // trades area tradeLong = new QCheckBox(tr("Long"), this); grid->addWidget(tradeLong, 0, 0); tradeShort = new QCheckBox(tr("Short"), this); grid->addWidget(tradeShort, 1, 0); QLabel *label = new QLabel(tr("Trade Delay"), this); grid->addWidget(label, 2, 0); tradeDelay = new QSpinBox(1, 999999, 1, this); tradeDelay->setValue(1); grid->addWidget(tradeDelay, 2, 1); grid->setRowSpacing(grid->numRows(), 25); // account area label = new QLabel(tr("Account Balance"), this); grid->addWidget(label, 4, 0); account = new QSpinBox(0, 999999, 1, this); account->setValue(10000); grid->addWidget(account, 4, 1); label = new QLabel(tr("Futures Margin"), this); grid->addWidget(label, 5, 0); margin = new QSpinBox(0, 999999, 1, this); grid->addWidget(margin, 5, 1); label = new QLabel(tr("Volume %"), this); grid->addWidget(label, 6, 0); volumePercent = new QSpinBox(0, 100, 1, this); grid->addWidget(volumePercent, 6, 1); grid->setRowSpacing(grid->numRows(), 25); // commission area commissionType = new QCheckBox(tr("Use Commission %"), this); grid->addWidget(commissionType, 8, 0); label = new QLabel(tr("Entry"), this); grid->addWidget(label, 9, 0); QDoubleValidator *dv = new QDoubleValidator(0, 99999999.0, 4, this, 0); entryCom = new QLineEdit(QString::number(10), this); entryCom->setValidator(dv); grid->addWidget(entryCom, 9, 1); label = new QLabel(tr("Exit"), this); grid->addWidget(label, 10, 0); QDoubleValidator *dv2 = new QDoubleValidator(0, 99999999.0, 4, this, 0); exitCom = new QLineEdit(QString::number(10), this); exitCom->setValidator(dv2); grid->addWidget(exitCom, 10, 1); grid->setRowStretch(grid->numRows() + 1, 1); // vline sperarator Q3Frame *line = new Q3Frame(this); line->setFrameStyle(Q3Frame::VLine | Q3Frame::Plain); hbox->addWidget(line); // right side grid grid = new Q3GridLayout(hbox); grid->setColStretch(1, 1); grid->setSpacing(5); // test area label = new QLabel(tr("Symbol"), this); grid->addWidget(label, 0, 0); Config config; QString s, s2; config.getData(Config::DataPath, s); symbolButton = new SymbolButton(this, s, s2); connect(symbolButton, SIGNAL(symbolChanged()), this, SLOT(symbolButtonPressed())); grid->addWidget(symbolButton, 0, 1); label = new QLabel(tr("Bar Length"), this); grid->addWidget(label, 1, 0); BarData bd(s); barLength = new QComboBox(this); bd.getBarLengthList(barLengthList); barLength->insertStringList(barLengthList, -1); barLength->setCurrentItem(6); grid->addWidget(barLength, 1, 1); label = new QLabel(tr("Bars"), this); grid->addWidget(label, 2, 0); bars = new QSpinBox(1, 99999999, 1, this); bars->setValue(275); grid->addWidget(bars, 2, 1); label = new QLabel(tr("Entry/Exit Price"), this); grid->addWidget(label, 3, 0); priceField = new QComboBox(this); priceField->insertStringList(fieldList,-1); grid->addWidget(priceField, 3, 1); grid->setRowStretch(grid->numRows() + 1, 1); }
DomainAliases::DomainAliases(QWidget *parent, const char *name) : TAAWidget(parent) { setCaption("Email Alias List"); // Create the widgets we'll need aliasList = new Q3ListView(this, "Alias List"); aliasList->addColumn("Address"); aliasList->addColumn("Domain"); aliasList->addColumn("Mailbox"); aliasList->addColumn("Time Stamp"); aliasList->addColumn("Added By"); aliasList->setAllColumnsShowFocus(true); virtIDCol = 5; address = new QLineEdit(this, "Address Input"); address->setMaxLength(63); QLabel *atLabel = new QLabel(this, "At label"); atLabel->setText("@"); QLabel *mapsToLabel = new QLabel(this, "Maps To label"); mapsToLabel->setText("maps to"); domainList = new QComboBox(this, false); loginList = new QComboBox(this, false); addButton = new QPushButton(this, "Add Button"); addButton->setText("&Add"); connect(addButton, SIGNAL(clicked()), this, SLOT(addAlias())); refreshButton = new QPushButton(this, "Refresh Button"); refreshButton->setText("&Refresh"); connect(refreshButton, SIGNAL(clicked()), this, SLOT(refreshAlias())); autoButton = new QPushButton(this, "Auto Button"); autoButton->setText("A&uto"); connect(autoButton, SIGNAL(clicked()), this, SLOT(autoAlias())); delButton = new QPushButton(this, "Delete Button"); delButton->setText("&Delete"); connect(delButton, SIGNAL(clicked()), this, SLOT(delAlias())); closeButton = new QPushButton(this, "Close Button"); closeButton->setText("&Close"); connect(closeButton, SIGNAL(clicked()), this, SLOT(close())); HorizLine *hline1 = new HorizLine(this); // Our layout now. Very simple top down box. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3, 3); ml->addWidget(aliasList, 1); // Add in our "add" line. Q3BoxLayout *addl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 3); addl->addWidget(address, 1); addl->addWidget(atLabel, 0); addl->addWidget(domainList, 0); addl->addWidget(mapsToLabel, 0); addl->addWidget(loginList, 0); addl->addWidget(addButton, 0); ml->addLayout(addl, 0); ml->addWidget(hline1, 0); Q3GridLayout *bl = new Q3GridLayout(1, 4); int curCol = 0; bl->addWidget(refreshButton, 0, curCol++); bl->addWidget(autoButton, 0, curCol++); bl->addWidget(delButton, 0, curCol++); bl->addWidget(closeButton, 0, curCol++); for (int i = 0; i < curCol; i++) bl->setColStretch(i, 1); bl->setRowStretch(0, 0); // Now, the "button bar layout" to keep things spaced nicely. Q3BoxLayout *bbl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 0); bbl->addStretch(1); bbl->addLayout(bl, 0); ml->addLayout(bbl); }
MakeDeposits::MakeDeposits ( QWidget* parent, const char* name ) : TAAWidget(parent) { setCaption( "Make Deposits" ); // Create our widgets. paymentList = new Q3ListView(this, "paymentList"); int curCol = 1; paymentList->addColumn("Date"); curCol++; paymentList->addColumn("Cust ID"); curCol++; paymentList->addColumn("Customer Name"); curCol++; paymentList->addColumn("Check No"); curCol++; paymentList->addColumn("Amount"); curCol++; paymentList->addColumn("IntID"); paymentList->setColumnAlignment(curCol++, AlignRight); paymentList->setAllColumnsShowFocus(true); paymentList->setMultiSelection(true); connect(paymentList, SIGNAL(selectionChanged()), this, SLOT(itemSelected())); connect(paymentList, SIGNAL(doubleClicked(Q3ListViewItem *)), this, SLOT(itemDoubleClicked(Q3ListViewItem *))); QLabel *selectedItemCountLabel = new QLabel(this, "selectedItemCountLabel"); selectedItemCountLabel->setText("Items Selected:"); selectedItemCountLabel->setAlignment(Qt::AlignRight|Qt::AlignVCenter); selectedItemCount = new QLabel(this, "selectedItemCount"); selectedItemCount->setText("0"); selectedItemCount->setAlignment(Qt::AlignRight|Qt::AlignVCenter); QLabel *undepositedAmountLabel = new QLabel(this, "undepositedAmountLabel"); undepositedAmountLabel->setText("Undeposted amount:"); undepositedAmountLabel->setAlignment(AlignRight | AlignVCenter); undepositedAmount = new QLabel(this, "undepositedAmount"); undepositedAmount->setText("$0.00"); undepositedAmount->setAlignment(AlignRight | AlignVCenter); QLabel *amountSelectedLabel = new QLabel(this, "amountSelectedLabel"); amountSelectedLabel->setText("Amount selected:"); amountSelectedLabel->setAlignment(AlignRight | AlignVCenter); amountSelected = new QLabel(this, "amountSelected"); amountSelected->setText("$0.00"); amountSelected->setAlignment(AlignRight | AlignVCenter); QLabel *targetAccountLabel = new QLabel(this, "targetAccountLabel"); targetAccountLabel->setText("Target Account:"); targetAccountLabel->setAlignment(AlignRight | AlignVCenter); targetAccountList = new QComboBox(false, this, "targetAccountList"); QLabel *transDateLabel = new QLabel(this, "transDateLabel"); transDateLabel->setText("Desposit Date:"); transDateLabel->setAlignment(AlignRight | AlignVCenter); transDate = new Q3DateEdit(QDate::currentDate(), this, "transDate"); // Our buttons now. QPushButton *printButton = new QPushButton(this, "printButton"); printButton->setText("&Print"); connect(printButton, SIGNAL(clicked()), this, SLOT(printSelected())); QPushButton *selectAllButton = new QPushButton(this, "selectAllButton"); selectAllButton->setText("Select &All"); connect(selectAllButton, SIGNAL(clicked()), this, SLOT(selectAll())); QPushButton *selectNoneButton = new QPushButton(this, "selectNoneButton"); selectNoneButton->setText("Select &None"); connect(selectNoneButton, SIGNAL(clicked()), this, SLOT(selectNone())); QPushButton *continueButton = new QPushButton(this, "continueButton"); continueButton->setText("C&ontinue"); connect(continueButton, SIGNAL(clicked()), this, SLOT(processSelections())); QPushButton *cancelButton = new QPushButton(this, "cancelButton"); cancelButton->setText("&Cancel"); connect(cancelButton, SIGNAL(clicked()), this, SLOT(cancelSelected())); // Create our layout. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3, 3); ml->addWidget(paymentList, 1); // A grid for our labels and account selection. Q3GridLayout *asl = new Q3GridLayout(3, 2); asl->setColStretch(0, 0); asl->setColStretch(1, 1); int curRow = 0; asl->addWidget(selectedItemCountLabel, curRow, 0); asl->addWidget(selectedItemCount, curRow, 1); asl->setRowStretch(curRow++, 0); asl->addWidget(undepositedAmountLabel, curRow, 0); asl->addWidget(undepositedAmount, curRow, 1); asl->setRowStretch(curRow++, 0); asl->addWidget(amountSelectedLabel, curRow, 0); asl->addWidget(amountSelected, curRow, 1); asl->setRowStretch(curRow++, 0); asl->addWidget(targetAccountLabel, curRow, 0); asl->addWidget(targetAccountList, curRow, 1); asl->setRowStretch(curRow++, 0); asl->addWidget(transDateLabel, curRow, 0); asl->addWidget(transDate, curRow, 1); asl->setRowStretch(curRow++, 0); // Now our button layout Q3BoxLayout *bl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 3); bl->addStretch(1); bl->addWidget(printButton, 0); bl->addWidget(selectAllButton, 0); bl->addWidget(selectNoneButton, 0); bl->addWidget(continueButton, 0); bl->addWidget(cancelButton, 0); // Add the buttons to our other widget layout //owl->addLayout(bl, 0); // Add the other widget layout to our main layout. ml->addLayout(asl, 0); ml->addWidget(new HorizLine(this), 0); ml->addLayout(bl, 0); // Done with the layout. // Fill our account list. ADB DB; int tmpPos = 0; DB.query("select IntAccountNo, AccountNo, AcctName from Accounts order by AccountNo"); accountIDX = new long[DB.rowCount+2]; accountIDX[0] = 0; QString tmpStr; if (DB.rowCount) while (DB.getrow()) { accountIDX[tmpPos++] = atol(DB.curRow["IntAccountNo"]); tmpStr = DB.curRow["AccountNo"]; tmpStr += " "; tmpStr += DB.curRow["AcctName"]; targetAccountList->insertItem(tmpStr); } selTotal = 0.00; fillDepositList(); }
CustRegister::CustRegister ( QWidget* parent, const char* name, long CustID ) : TAAWidget(parent) { setCaption( "Register" ); myCustID = CustID; // Create our labels QLabel *custNameLabel = new QLabel(this); custNameLabel->setText("Customer Name:"); custNameLabel->setAlignment(AlignRight); customerName = new QLabel(this); customerName->setAlignment(AlignLeft); QLabel *customerIDLabel = new QLabel(this); customerIDLabel->setText("Customer ID:"); customerIDLabel->setAlignment(AlignRight); custIDLabel = new QLabel(this); custIDLabel->setAlignment(AlignLeft); QLabel *customerBalanceLabel = new QLabel(this); customerBalanceLabel->setText("Current Balance:"); customerBalanceLabel->setAlignment(AlignRight); currentBalanceArea = new QLabel(this); currentBalanceArea->setAlignment(AlignLeft); QLabel *customerStatusLabel = new QLabel(this); customerStatusLabel->setText("Customer Status:"); customerStatusLabel->setAlignment(AlignRight); customerStatus = new QLabel(this); customerStatus->setAlignment(AlignLeft); list = new Q3ListView(this); list->addColumn( "Date" ); list->addColumn( "Login ID" ); list->addColumn( "Item ID" ); list->addColumn( "Qty" ); list->setColumnAlignment(3, Qt::AlignRight); list->addColumn( "Amount" ); list->setColumnAlignment(4, Qt::AlignRight); list->addColumn( "Total" ); list->setColumnAlignment(5, Qt::AlignRight); list->addColumn( "Description" ); //list->addColumn( "TrnsID" ); QPushButton *printButton = new QPushButton(this); printButton->setText("&Print"); connect(printButton, SIGNAL(clicked()), this, SLOT(printRegister())); voidChargeButton = new QPushButton(this); voidChargeButton->setText("&Void"); connect(voidChargeButton, SIGNAL(clicked()), this, SLOT(voidCustCharge())); voidChargeButton->setEnabled(false); delChargeButton = new QPushButton(this); delChargeButton->setText("&Delete"); connect(delChargeButton, SIGNAL(clicked()), this, SLOT(delCustCharge())); editChargeButton = new QPushButton(this); editChargeButton->setText("&Edit"); connect(editChargeButton, SIGNAL(clicked()), this, SLOT(editCustCharge())); editChargeButton->setEnabled(false); newChargeButton = new QPushButton(this); newChargeButton->setText("&New"); connect(newChargeButton, SIGNAL(clicked()), this, SLOT(newCustCharge())); QPushButton *closeButton = new QPushButton(this); closeButton->setText("&Close"); connect(closeButton, SIGNAL(clicked()), this, SLOT(close())); // Now, create our layouts Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3, 3); // The text label layouts Q3GridLayout *tl = new Q3GridLayout(2, 4, 3); tl->setColStretch(0, 0); tl->setColStretch(1, 1); tl->setColStretch(2, 0); tl->setColStretch(3, 1); tl->setRowStretch(0, 0); tl->setRowStretch(1, 0); tl->addWidget(custNameLabel, 0, 0); tl->addWidget(customerName, 0, 1); tl->addWidget(customerBalanceLabel, 0, 2); tl->addWidget(currentBalanceArea, 0, 3); tl->addWidget(customerIDLabel, 1, 0); tl->addWidget(custIDLabel, 1, 1); tl->addWidget(customerStatusLabel, 1, 2); tl->addWidget(customerStatus, 1, 3); ml->addLayout(tl, 0); ml->addWidget(list, 1); // Now, our button area Q3BoxLayout *bl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 3); bl->addStretch(1); bl->addWidget(printButton, 0); bl->addWidget(voidChargeButton, 0); bl->addWidget(delChargeButton, 0); bl->addWidget(editChargeButton, 0); bl->addWidget(newChargeButton, 0); bl->addSpacing(10); bl->addWidget(closeButton, 0); ml->addLayout(bl, 0); CustomersDB CDB; char tmpStr[1024]; CDB.get(myCustID); customerName->setText(CDB.getStr("FullName")); custIDLabel->setText(CDB.getStr("CustomerID")); sprintf(tmpStr, "$%.2f", CDB.getFloat("CurrentBalance")); currentBalanceArea->setText(tmpStr); if (CDB.getInt("Active")) { strcpy(tmpStr, "Active"); } else { strcpy(tmpStr, "Inactive"); } customerStatus->setText(tmpStr); sprintf(tmpStr, "Register for %s (%ld)", (const char *) CDB.getStr("FullName"), myCustID); setCaption(tmpStr); if (!isManager()) { newChargeButton->hide(); editChargeButton->hide(); delChargeButton->hide(); voidChargeButton->hide(); } //list->setSorting(7, TRUE); // Sort by the internal transaction ID to // make sure that our total works. // The numeric columns should be aligned to the right. list->setAllColumnsShowFocus(TRUE); refreshRegister(1); }