Esempio n. 1
0
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();
}
Esempio n. 2
0
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();
}
Esempio n. 3
0
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();
}