void FiPage::deleteSplit() { if(mSplitId < 1) return; int ret = QMessageBox::warning(this, tr("FI Page") , tr("\nDelete Split '%1 (%2)'?\t").arg(mSplitDate->text(), mSplitComment->text()) , QMessageBox::Yes | QMessageBox::Cancel , QMessageBox::Cancel); if(ret != QMessageBox::Yes) return; mFilu->deleteRecord("split", mSplitId); // FIXME Add check if success/error after delete QString msg = QString("Split %5: Id=%1 Date=%2 Comment=%3 FI=%4") .arg(mSplitId) .arg(mSplitDate->text()) .arg(mSplitComment->text()) .arg(mFi->name()) .arg(tr("deleted")); emitMessage(FUNC, msg); record(FUNC, msg); setSplitTable(); loadBars(); }
void FiPage::symbolClicked(const QModelIndex& index) { mMarketId = index.sibling(index.row(), 4).data().toInt(); mSymbolId = index.sibling(index.row(), 5).data().toInt(); mSymbols->rewindToId(mSymbolId); mProvider->clear(); mProvider->addItems(mFilu->getSymbolTypeNames()); mProvider->setCurrentIndex(mProvider->findText(index.sibling(index.row(), 2).data().toString())); mSymbol->setText(index.sibling(index.row(), 0).data().toString()); mMarket->clear(); mMarket->addItems(mFilu->getMarketNames()); mMarket->setCurrentIndex(mMarket->findText(index.sibling(index.row(), 1).data().toString())); loadBars(); }
void FiPage::saveSplit() { QString msg = "Split %5: Id=%1 Date=%2 Comment=%3 FI=%4"; if(mSplitId > 0) { // FIXME Right now we have no fitting addSplit() function mFilu->updateField("sdate", mSplitDate->text(), "split", mSplitId); mFilu->updateField("sratio", mRatio->text(), "split", mSplitId); mFilu->updateField("scomment", mSplitComment->text(), "split", mSplitId); mFilu->updateField("quality", Filu::ePlatinum, "split", mSplitId); msg = msg.arg(mSplitId) .arg(mSplitDate->text()) .arg(mSplitComment->text()) .arg(mFi->name()) .arg(tr("updated")); } else { mSplitId = mFilu->addSplit(mSymbol->text() , mSplitDate->text() , mRatio->text().toDouble() , mSplitComment->text() , Filu::ePlatinum); msg = msg.arg(mSplitId) .arg(mSplitDate->text()) .arg(mSplitComment->text()) .arg(mFi->name()) .arg(tr("added")); } emitMessage(FUNC, msg); record(FUNC, msg); int id = mSplitId; // setSplitTable() will change mSplitId setSplitTable(); mSplitView->selectRowWithValue(id, 3); loadBars(); }
MiniStatusWindow::MiniStatusWindow() : Window("MiniStatus", false, nullptr, "ministatus.xml"), InventoryListener(), AttributeListener(), StatListener(), ArrowsListener(), UpdateStatusListener(), mBars(), mBarNames(), mIcons(), // TRANSLATORS: status bar name mHpBar(createBar(0, 100, 0, Theme::HP_BAR, Theme::PROG_HP, "hpprogressbar.xml", "hpprogressbar_fill.xml", "hp bar", _("health bar"))), mMpBar(Net::getGameHandler()->canUseMagicBar() ? createBar(0, 100, 0, Net::getPlayerHandler()->canUseMagic() ? Theme::MP_BAR : Theme::NO_MP_BAR, Net::getPlayerHandler()->canUseMagic() ? Theme::PROG_MP : Theme::PROG_NO_MP, Net::getPlayerHandler()->canUseMagic() ? "mpprogressbar.xml" : "nompprogressbar.xml", Net::getPlayerHandler()->canUseMagic() ? "mpprogressbar_fill.xml" : "nompprogressbar_fill.xml", // TRANSLATORS: status bar name "mp bar", _("mana bar")) : nullptr), mXpBar(createBar(0, 100, 0, Theme::XP_BAR, Theme::PROG_EXP, "xpprogressbar.xml", "xpprogressbar_fill.xml", // TRANSLATORS: status bar name "xp bar", _("experience bar"))), mJobBar(nullptr), mWeightBar(createBar(0, 140, 0, Theme::WEIGHT_BAR, Theme::PROG_WEIGHT, "weightprogressbar.xml", "weightprogressbar_fill.xml", // TRANSLATORS: status bar name "weight bar", _("weight bar"))), mInvSlotsBar(createBar(0, 45, 0, Theme::SLOTS_BAR, Theme::PROG_INVY_SLOTS, "slotsprogressbar.xml", "slotsprogressbar_fill.xml", "inventory slots bar", // TRANSLATORS: status bar name _("inventory slots bar"))), mMoneyBar(createBar(0, 130, 0, Theme::MONEY_BAR, Theme::PROG_MONEY, "moneyprogressbar.xml", "moneyprogressbar_fill.xml", // TRANSLATORS: status bar name "money bar", _("money bar"))), mArrowsBar(createBar(0, 50, 0, Theme::ARROWS_BAR, Theme::PROG_ARROWS, "arrowsprogressbar.xml", "arrowsprogressbar_fill.xml", // TRANSLATORS: status bar name "arrows bar", _("arrows bar"))), mStatusBar(createBar(100, (config.getIntValue("fontSize") > 16 ? 250 : 165), 0, Theme::STATUS_BAR, Theme::PROG_STATUS, "statusprogressbar.xml", "statusprogressbar_fill.xml", // TRANSLATORS: status bar name "status bar", _("status bar"))), mTextPopup(new TextPopup), mStatusPopup(new StatusPopup), mSpacing(mSkin ? mSkin->getOption("spacing", 3) : 3), mIconPadding(mSkin ? mSkin->getOption("iconPadding", 3) : 3), mIconSpacing(mSkin ? mSkin->getOption("iconSpacing", 2) : 2), mMaxX(0) { mTextPopup->postInit(); mStatusPopup->postInit(); StatusWindow::updateHPBar(mHpBar); if (Net::getGameHandler()->canUseMagicBar() && statusWindow) statusWindow->updateMPBar(mMpBar); const int job = Net::getPlayerHandler()->getJobLocation() && serverConfig.getValueBool("showJob", true); StatusWindow::updateXPBar(mXpBar); if (job) { mJobBar = createBar(0, 100, 0, Theme::JOB_BAR, Theme::PROG_JOB, // TRANSLATORS: status bar name "jobprogressbar.xml", "jobprogressbar_fill.xml", "job bar", _("job bar")); StatusWindow::updateJobBar(mJobBar); } loadBars(); updateBars(); setVisible(true); addMouseListener(this); Inventory *const inv = PlayerInfo::getInventory(); if (inv) inv->addInventoyListener(this); StatusWindow::updateMoneyBar(mMoneyBar); StatusWindow::updateArrowsBar(mArrowsBar); updateStatus(); }