[Kmymoney-devel] QWizard and combobox values

Alvaro Soliverez asoliverez at kde.org
Tue Aug 24 04:27:01 CEST 2010


On Mon, Aug 23, 2010 at 10:54 PM, Fernando Vilas <fvilas at iname.com> wrote:
> On Monday, August 23, 2010 19:20:56 Alvaro Soliverez wrote:
>> It is being called.
>> The code is in the constructor method and I added debug statements to
>> verify the values at each stage.
>>
>> ------------------------------------------------
>>
>> PaymentFrequencyWizardPage::PaymentFrequencyWizardPage(QWidget *parent)
>>
>>     : PaymentFrequencyWizardPageDecl(parent)
>>
>> {
>>   // Register the fields with the QWizard and connect the
>>   // appropriate signals to update the "Next" button correctly
>>
>>   registerField("paymentFrequencyUnitEdit",
>> m_paymentFrequencyUnitEdit, "data",
>> SIGNAL(currentDataChanged(QVariant)));
>>
> [...]
>>
>>   qDebug("payment frequency occurrence: %d",
>> field("paymentFrequencyUnitEdit").toInt());
>>   qDebug("current data: %d",
>> m_paymentFrequencyUnitEdit->currentData().toInt());
>>
>> }
>> -----------------------------
>>
>> And here is the debug output:
>>
>> combo count: 16
>> occur monthly index: 8
>> data: 32
>> payment frequency occurrence: 0
>> current data: 32
>>
>
> There is no property of KComboBox or QComboBox named "data". I think you may
> have to look at the currentIndex and currentText properties to get what you
> want. You could read the currentText property and then calculate the
> occurrence from there. Somehow that seems off, though.

Yes, that's what I'm trying to remove, actually.

The combobox is actually a KMyMoneyFrequencyCombo, which now has the
property data. I'm not sure I've configured it correctly, though.


class KMyMoneyFrequencyCombo : public KMyMoneyOccurrenceCombo
{
  Q_OBJECT

  Q_PROPERTY(QVariant data READ currentData WRITE setCurrentData STORED false)

public:
  KMyMoneyFrequencyCombo(QWidget* parent = 0);

  int eventsPerYear(void) const;

  int daysBetweenEvents(void) const;

  QVariant data;

  QVariant currentData(void) const;

  void setCurrentData(QVariant data);

Q_SIGNALS:
  void currentDataChanged(QVariant data);

protected slots:
  void slotCurrentDataChanged();

};

I can post you the patch if you want to give it a try.


More information about the KMyMoney-devel mailing list