Ejemplo n.º 1
0
CFrmUserList::CFrmUserList(QWidget *parent) :
    QFrame(parent),
    m_UserList(this),
    ui(new Ui::CFrmUserList)
{
    ui->setupUi(this);

    InitMenu();

    m_pModel = new QStandardItemModel(this);
    if(m_pModel)
    {
        //增加头,只有增加了这个后,下面才会显示内容  
        m_pModel->setHorizontalHeaderLabels(QStringList() << tr("User name or group")<< tr("Information"));
    }

    m_UserList.setModel(m_pModel);
    m_UserList.show();

    InsertGroup(tr("My friends"));

    bool check = connect(&m_UserList, SIGNAL(clicked(QModelIndex)),
                         SLOT(clicked(QModelIndex)));
    Q_ASSERT(check);

    check = connect(&m_UserList, SIGNAL(doubleClicked(QModelIndex)),
                         SLOT(doubleClicked(QModelIndex)));
    Q_ASSERT(check);

    check = connect(&m_UserList, SIGNAL(customContextMenuRequested(QPoint)),
                    SLOT(slotCustomContextMenuRequested(QPoint)));
    Q_ASSERT(check);

    check = connect(CGlobal::Instance()->GetMainWindow(), SIGNAL(sigMenuInitOperator(QMenu*)),
                    SLOT(slotAddToMainMenu(QMenu*)));
    Q_ASSERT(check);

    check = connect(CGlobal::Instance()->GetMainWindow(), SIGNAL(sigRefresh()),
                    SLOT(slotRefresh()));
    Q_ASSERT(check);

    check = connect(CGlobal::Instance()->GetMainWindow(), SIGNAL(sigMenuRemoveOperator(QMenu*)),
                    SLOT(slotDeleteFromMainMenu(QMenu*)));
    Q_ASSERT(check);

    check = connect(CGlobal::Instance()->GetXmppClient(),
                         SIGNAL(presenceReceived(const QXmppPresence)),
                         SLOT(slotChangedPresence(QXmppPresence)));
    Q_ASSERT(check);

    check = connect(&CGlobal::Instance()->GetXmppClient()->rosterManager(), SIGNAL(rosterReceived()),
                    SLOT(slotRosterReceived()));
    Q_ASSERT(check);

    check = connect(&CGlobal::Instance()->GetXmppClient()->rosterManager(), SIGNAL(subscriptionReceived(QString)),
                    SLOT(slotSubscriptionReceived(QString)));
    Q_ASSERT(check);

    check = connect(&CGlobal::Instance()->GetXmppClient()->rosterManager(), SIGNAL(itemAdded(QString)),
                    SLOT(slotItemAdded(QString)));
    Q_ASSERT(check);

    check = connect(&CGlobal::Instance()->GetXmppClient()->rosterManager(), SIGNAL(itemChanged(QString)),
                    SLOT(slotItemChanged(QString)));
    Q_ASSERT(check);

    check = connect(&CGlobal::Instance()->GetXmppClient()->rosterManager(), SIGNAL(itemRemoved(QString)),
                    SLOT(slotItemRemoved(QString)));
    Q_ASSERT(check);

    check = connect(&CGlobal::Instance()->GetXmppClient()->vCardManager(), SIGNAL(vCardReceived(QXmppVCardIq)),
                    SLOT(slotvCardReceived(QXmppVCardIq)));
    Q_ASSERT(check);

    check = connect(CGlobal::Instance()->GetXmppClient(), SIGNAL(messageReceived(QXmppMessage)),
                    SLOT(slotClientMessageReceived(QXmppMessage)));
    Q_ASSERT(check);
}
Ejemplo n.º 2
0
void
BankDeposit::setDate(QDate date)
{
    _date = date;
    slotRefresh();
}
Ejemplo n.º 3
0
BankDeposit::BankDeposit(MainWindow* main)
    : QuasarWindow(main, "BankDeposit")
{
    _helpSource = "bank_deposit.html";

    _quasar->db()->lookup(_company);

    QFrame* frame = new QFrame(this);

    QLabel* safeStoreLabel = new QLabel(tr("Safe Store:"), frame);
    _safeStore = new LookupEdit(new StoreLookup(main, this), frame);
    _safeStore->setLength(30);
    safeStoreLabel->setBuddy(_safeStore);

    QLabel* safeIdLabel;
    if (_company.shiftMethod() == Company::BY_STATION) {
	safeIdLabel = new QLabel(tr("Safe Station:"), frame);
	_safeId = new LookupEdit(new StationLookup(main, this), frame);
    } else {
	safeIdLabel = new QLabel(tr("Safe Employee:"), frame);
	_safeId = new LookupEdit(new EmployeeLookup(main, this), frame);
    }
    _safeId->setLength(30);
    safeIdLabel->setBuddy(_safeId);

    _tenders = new Table(frame);
    _tenders->setVScrollBarMode(QScrollView::AlwaysOn);
    _tenders->setLeftMargin(fontMetrics().width("99999"));
    _tenders->setDisplayRows(10);
    connect(_tenders, SIGNAL(cellChanged(int,int,Variant)),
	    SLOT(cellChanged(int,int,Variant)));
    connect(_tenders, SIGNAL(focusNext(bool&,int&,int&,int)),
	    SLOT(focusNext(bool&,int&,int&,int)));
    connect(_tenders, SIGNAL(rowDeleted(int)), SLOT(recalculate()));

    // Add columns
    new TextColumn(_tenders, tr("Tender"), 30);
    new MoneyColumn(_tenders, tr("In Safe"), 10);
    new MoneyColumn(_tenders, tr("Amount"), 10);

    // Add editors
    new NumberEditor(_tenders, 2, new MoneyEdit(_tenders));

    QLabel* totalLabel = new QLabel(tr("Tender Total:"), frame);
    _total = new MoneyEdit(frame);
    _total->setFocusPolicy(NoFocus);

    QFrame* buttons = new QFrame(frame);

    QPushButton* refresh = new QPushButton(tr("&Refresh"), buttons);
    connect(refresh, SIGNAL(clicked()), SLOT(slotRefresh()));

    QPushButton* all = new QPushButton(tr("Deposit All"), buttons);
    connect(all, SIGNAL(clicked()), SLOT(slotAll()));

    QPushButton* ok = new QPushButton(tr("&OK"), buttons);
    connect(ok, SIGNAL(clicked()), SLOT(slotOk()));

    QPushButton* cancel = new QPushButton(tr("&Cancel"), buttons);
    connect(cancel, SIGNAL(clicked()), SLOT(close()));

    ok->setMinimumSize(cancel->sizeHint());
    cancel->setMinimumSize(cancel->sizeHint());

    QGridLayout* buttonsGrid = new QGridLayout(buttons);
    buttonsGrid->setSpacing(6);
    buttonsGrid->setMargin(6);
    buttonsGrid->setColStretch(2, 1);
    buttonsGrid->addWidget(refresh, 0, 0, AlignLeft | AlignVCenter);
    buttonsGrid->addWidget(all, 0, 1, AlignLeft | AlignVCenter);
    buttonsGrid->addWidget(cancel, 0, 2, AlignRight | AlignVCenter);
    buttonsGrid->addWidget(ok, 0, 3, AlignRight | AlignVCenter);

    QGridLayout* grid = new QGridLayout(frame);
    grid->setSpacing(6);
    grid->setMargin(6);
    grid->setRowStretch(2, 1);
    grid->setColStretch(1, 1);
    grid->addWidget(safeStoreLabel, 0, 0);
    grid->addWidget(_safeStore, 0, 1, AlignLeft | AlignVCenter);
    grid->addWidget(safeIdLabel, 1, 0);
    grid->addWidget(_safeId, 1, 1, AlignLeft | AlignVCenter);
    grid->addMultiCellWidget(_tenders, 2, 2, 0, 2);
    grid->addMultiCellWidget(totalLabel, 3, 3, 0, 1, AlignRight|AlignVCenter);
    grid->addWidget(_total, 3, 2, AlignLeft | AlignVCenter);
    grid->addMultiCellWidget(buttons, 4, 4, 0, 2);

    _safeStore->setId(_company.safeStore());
    if (_company.shiftMethod() == Company::BY_STATION)
	_safeId->setId(_company.safeStation());
    else
	_safeId->setId(_company.safeEmployee());

    TenderSelect conditions;
    conditions.activeOnly = true;
    conditions.bankOnly = true;
    _quasar->db()->select(_tenderList, conditions);
    std::sort(_tenderList.begin(), _tenderList.end());

    unsigned int i;
    for (i = 0; i < _tenderList.size(); ++i) {
	VectorRow* row = new VectorRow(_tenders->columns());
	row->setValue(0, _tenderList[i].name());
	row->setValue(1, "");
	row->setValue(2, "");
	_tenders->appendRow(row);
    }
    _tenders->setCurrentCell(0, 2);
    qApp->processEvents();
    _tenders->verticalScrollBar()->setValue(0);
    _date = QDate::currentDate();
    _tenders->setFocus();

    slotRefresh();

    setCentralWidget(frame);
    setCaption(tr("Bank Deposit"));
    finalize();
}
Ejemplo n.º 4
0
AddressBook::AddressBook(MainWindow* main)
    : ActiveList(main, "AddressBook", true)
{
    _helpSource = "address_book.html";

    // Columns for all tab
    _list->addTextColumn(tr("Name"), 30);
    _list->addTextColumn(tr("Number"), 12);
    _list->addTextColumn(tr("Phone Number"), 20);
    _list->addTextColumn(tr("Type"), 14);
    _list->setSorting(0);

    // Catch changing tabs so can disable buttons
    connect(_tabs, SIGNAL(currentChanged(QWidget*)),
	    SLOT(tabChanged(QWidget*)));

    // List for customers tab
    if (_quasar->securityCheck("CustomerMaster", "View")) {
	_customer = new ListView(_tabs);
	_tabs->addTab(_customer, tr("&Customers"));
	_customer->setAllColumnsShowFocus(true);
	_customer->setRootIsDecorated(false);
	_customer->setShowSortIndicator(true);
	_customer->addTextColumn(tr("Name"), 30);
	_customer->addTextColumn(tr("Number"), 12);
	_customer->addTextColumn(tr("Phone Number"), 20);
	_customer->addMoneyColumn(tr("Balance"));
	_customer->setSorting(0);
	connectList(_customer);
    } else {
	_customer = NULL;
    }

    // List for vendors tab
    if (_quasar->securityCheck("VendorMaster", "View")) {
	_vendor = new ListView(_tabs);
	_tabs->addTab(_vendor, tr("&Vendors"));
	_vendor->setAllColumnsShowFocus(true);
	_vendor->setRootIsDecorated(false);
	_vendor->setShowSortIndicator(true);
	_vendor->addTextColumn(tr("Name"), 30);
	_vendor->addTextColumn(tr("Number"), 12);
	_vendor->addTextColumn(tr("Phone Number"), 20);
	_vendor->addMoneyColumn(tr("Balance"));
	_vendor->setSorting(0);
	connectList(_vendor);
    } else {
	_vendor = NULL;
    }

    // List for employees tab
    if (_quasar->securityCheck("EmployeeMaster", "View")) {
	_employee = new ListView(_tabs);
	_tabs->addTab(_employee, tr("&Employees"));
	_employee->setAllColumnsShowFocus(true);
	_employee->setRootIsDecorated(false);
	_employee->setShowSortIndicator(true);
	_employee->addTextColumn(tr("Name"), 30);
	_employee->addTextColumn(tr("Number"), 12);
	_employee->addTextColumn(tr("Phone Number"), 20);
	_employee->setSorting(0);
	connectList(_employee);
    } else {
	_employee = NULL;
    }

    // List for personal tab
    if (_quasar->securityCheck("PersonalMaster", "View")) {
	_personal = new ListView(_tabs);
	_tabs->addTab(_personal, tr("&Personal"));
	_personal->setAllColumnsShowFocus(true);
	_personal->setRootIsDecorated(false);
	_personal->setShowSortIndicator(true);
	_personal->addTextColumn(tr("Name"), 30);
	_personal->addTextColumn(tr("Phone Number"), 20);
	_personal->setSorting(0);
	connectList(_personal);
    } else {
	_personal = NULL;
    }

    QLabel* nameLabel = new QLabel(tr("Name:"), _search);
    _name = new LineEdit(_search);
    _name->setLength(40);
    connect(_name, SIGNAL(returnPressed()), SLOT(slotRefresh()));

    QLabel* numberLabel = new QLabel(tr("Number:"), _search);
    _number = new LineEdit(_search);
    _number->setLength(12);
    connect(_number, SIGNAL(returnPressed()), SLOT(slotRefresh()));

    QLabel* groupLabel = new QLabel(tr("Group:"), _search);
    _groupLookup = new GroupLookup(_main, this, -1);
    _group = new LookupEdit(_groupLookup, _search);
    _group->setLength(15);
    groupLabel->setBuddy(_group);

    QLabel* storeLabel = new QLabel(tr("Store:"), _search);
    _store = new LookupEdit(new StoreLookup(main, this), _search);
    _store->setLength(30);

    QGridLayout* grid = new QGridLayout(_search);
    grid->setSpacing(3);
    grid->setMargin(3);
    grid->setColStretch(2, 1);
    grid->addWidget(nameLabel, 0, 0);
    grid->addWidget(_name, 0, 1, AlignLeft | AlignVCenter);
    grid->addWidget(numberLabel, 1, 0);
    grid->addWidget(_number, 1, 1, AlignLeft | AlignVCenter);
    grid->addWidget(groupLabel, 2, 0);
    grid->addWidget(_group, 2, 1, AlignLeft | AlignVCenter);
    grid->addWidget(storeLabel, 3, 0);
    grid->addWidget(_store, 3, 1, AlignLeft | AlignVCenter);

    if (_quasar->storeCount() == 1) {
	storeLabel->hide();
	_store->hide();
    }

    setCaption(tr("Address Book"));
    finalize(false);
    _name->setFocus();
}