r21506 - gnucash/trunk/src/gnc - [Cutecash] Fix code to work with glibmm wrappers.
Christian Stimming
cstim at code.gnucash.org
Fri Oct 28 16:34:55 EDT 2011
Author: cstim
Date: 2011-10-28 16:34:55 -0400 (Fri, 28 Oct 2011)
New Revision: 21506
Trac: http://svn.gnucash.org/trac/changeset/21506
Added:
gnucash/trunk/src/gnc/conv.hpp
gnucash/trunk/src/gnc/metatype.hpp
Modified:
gnucash/trunk/src/gnc/AccountItemModel.cpp
gnucash/trunk/src/gnc/AccountItemModel.hpp
gnucash/trunk/src/gnc/AccountSelectionDelegate.cpp
gnucash/trunk/src/gnc/AccountSelectionDelegate.hpp
gnucash/trunk/src/gnc/CMakeLists.txt
gnucash/trunk/src/gnc/Cmd.cpp
gnucash/trunk/src/gnc/Cmd.hpp
gnucash/trunk/src/gnc/QofEventWrapper.cpp
gnucash/trunk/src/gnc/RecentFileMenu.cpp
gnucash/trunk/src/gnc/RecentFileMenu.hpp
gnucash/trunk/src/gnc/Session.cpp
gnucash/trunk/src/gnc/Session.hpp
gnucash/trunk/src/gnc/SplitListModel.cpp
gnucash/trunk/src/gnc/SplitListModel.hpp
gnucash/trunk/src/gnc/SplitListView.cpp
gnucash/trunk/src/gnc/SplitListView.hpp
gnucash/trunk/src/gnc/dashboard.cpp
gnucash/trunk/src/gnc/dashboard.hpp
gnucash/trunk/src/gnc/fpo/FPO.hpp
gnucash/trunk/src/gnc/fpo/ViewletModel.cpp
gnucash/trunk/src/gnc/fpo/ViewletModel.hpp
gnucash/trunk/src/gnc/fpo/ViewletView.cpp
gnucash/trunk/src/gnc/fpo/ViewletView.hpp
gnucash/trunk/src/gnc/mainwindow-file.cpp
gnucash/trunk/src/gnc/mainwindow.cpp
gnucash/trunk/src/gnc/mainwindow.hpp
Log:
[Cutecash] Fix code to work with glibmm wrappers.
Changes:
- Use QT_NO_KEYWORDS because the identifier "signal" collides with some glibmm dependency
- Use Glib::RefPtr<> of gnucash objects everywhere.
- Use Glib::ustring and Glib::Date instead of qt types
The WeakPointer.hpp file is still used for gnc::Session, which is not
(yet) a GObject.
Modified: gnucash/trunk/src/gnc/AccountItemModel.cpp
===================================================================
--- gnucash/trunk/src/gnc/AccountItemModel.cpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/AccountItemModel.cpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -23,13 +23,13 @@
#include "AccountItemModel.hpp"
#include "engine/gnc-event.h" // for GNC_EVENT_ITEM_ADDED
-#include "gnc/Numeric.hpp"
+#include "gncmm/Numeric.hpp"
#include <QDebug>
namespace gnc
{
-AccountTreeModel::AccountTreeModel(Account rootaccount, QObject *parent)
+AccountTreeModel::AccountTreeModel(Glib::RefPtr<Account> rootaccount, QObject *parent)
: QAbstractItemModel(parent)
, m_root(rootaccount)
{
@@ -42,18 +42,18 @@
if (!hasIndex(row, column, parent))
return QModelIndex();
- Account parentItem;
+ Glib::RefPtr<Account> parentItem;
if (!parent.isValid())
parentItem = m_root;
else
- parentItem.reset(static_cast< ::Account*>(parent.internalPointer()));
+ parentItem = Glib::wrap(static_cast< ::Account*>(parent.internalPointer()));
- Account childItem = parentItem.nth_child(row);
- if (childItem.gobj())
+ Glib::RefPtr<Account> childItem = parentItem->nth_child(row);
+ if (childItem)
{
//qDebug() << "returning" << childItem.getName();
- return createIndex(row, column, childItem.gobj());
+ return createIndex(row, column, childItem->gobj());
}
else
return QModelIndex();
@@ -65,13 +65,13 @@
if (!index.isValid())
return QModelIndex();
- Account childItem(static_cast< ::Account*>(index.internalPointer()));
- Account parentItem(childItem.get_parent());
+ Glib::RefPtr<Account> childItem = Glib::wrap(static_cast< ::Account*>(index.internalPointer()));
+ Glib::RefPtr<Account> parentItem(childItem->get_parent());
- if (parentItem.gobj() == m_root.gobj())
+ if (parentItem->gobj() == m_root->gobj())
return QModelIndex();
- return createIndex(parentItem.child_index(), 0, parentItem.gobj());
+ return createIndex(parentItem->child_index(), 0, parentItem->gobj());
}
int AccountTreeModel::rowCount(const QModelIndex& parent) const
@@ -82,14 +82,14 @@
// FIXME: Doesn't this just mean the nonzero columns don't have a
// tree? In that case it would be correct.
- Account parentItem;
+ Glib::RefPtr<Account> parentItem;
if (!parent.isValid())
parentItem = m_root;
else
- parentItem.reset(static_cast< ::Account*>(parent.internalPointer()));
+ parentItem = Glib::wrap(static_cast< ::Account*>(parent.internalPointer()));
//qDebug() << "Returning " << parentItem.n_children();
- return parentItem.n_children();
+ return parentItem->n_children();
}
int AccountTreeModel::columnCount(const QModelIndex& parent) const
@@ -107,22 +107,22 @@
if (!index.isValid())
return QVariant();
- Account account(static_cast< ::Account*>(index.internalPointer()));
+ Glib::RefPtr<Account> account = Glib::wrap(static_cast< ::Account*>(index.internalPointer()));
if (role == Qt::DisplayRole)
{
switch (index.column())
{
case 0:
- return account.getName();
+ return g2q(account->getName());
case 1:
- return account.getCode();
+ return g2q(account->getCode());
case 2:
- return account.getDescription();
+ return g2q(account->getDescription());
case 3:
{
- Numeric balance = gnc_ui_account_get_balance(account.gobj(), false);
- PrintAmountInfo printInfo(account.gobj(), true);
- return balance.printAmount(printInfo);
+ Numeric balance = gnc_ui_account_get_balance(account->gobj(), false);
+ PrintAmountInfo printInfo(account, true);
+ return g2q(balance.printAmount(printInfo));
}
default:
return QVariant();
@@ -170,7 +170,7 @@
// ////////////////////////////////////////////////////////////
-AccountListModel::AccountListModel(Account rootaccount, QObject *parent)
+AccountListModel::AccountListModel(Glib::RefPtr<Account> rootaccount, QObject *parent)
: base_class(rootaccount, parent)
, m_list()
, m_eventWrapperAccount(*this, &AccountListModel::accountEvent)
@@ -180,7 +180,7 @@
void AccountListModel::recreateCache()
{
- m_list = accountFromGList(m_root.get_descendants());
+ m_list = accountFromGList(m_root->get_descendants());
reset();
}
@@ -206,11 +206,11 @@
if (!hasIndex(row, column, parent) || row >= m_list.size())
return QModelIndex();
- Account childItem = m_list.at(row);
- if (childItem.gobj())
+ Glib::RefPtr<Account> childItem = Glib::wrap(m_list.at(row));
+ if (childItem)
{
//qDebug() << "returning" << childItem.getName();
- return createIndex(row, column, childItem.gobj());
+ return createIndex(row, column, childItem->gobj());
}
else
return QModelIndex();
@@ -229,14 +229,14 @@
if (!index.isValid())
return QVariant();
- Account account(static_cast< ::Account*>(index.internalPointer()));
+ Glib::RefPtr<Account> account = Glib::wrap(static_cast< ::Account*>(index.internalPointer()));
switch (index.column())
{
case 0:
switch (role)
{
case Qt::DisplayRole:
- return account.getFullName();
+ return g2q(account->getFullName());
default:
return QVariant();
}
Modified: gnucash/trunk/src/gnc/AccountItemModel.hpp
===================================================================
--- gnucash/trunk/src/gnc/AccountItemModel.hpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/AccountItemModel.hpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -23,8 +23,11 @@
#ifndef GNC_ACCOUNTITEMMODEL_HPP
#define GNC_ACCOUNTITEMMODEL_HPP
-#include "gnc/Account.hpp"
+#include "config.h"
+#include "gncmm/Account.hpp"
#include "gnc/QofEventWrapper.hpp"
+#include "gnc/conv.hpp"
+#include "gnc/metatype.hpp"
#include <QAbstractItemModel>
@@ -47,7 +50,7 @@
{
Q_OBJECT
public:
- AccountTreeModel(Account rootaccount, QObject *parent = 0);
+ AccountTreeModel(Glib::RefPtr<Account> rootaccount, QObject *parent = 0);
int rowCount(const QModelIndex& parent = QModelIndex()) const;
int columnCount(const QModelIndex& parent = QModelIndex()) const;
@@ -60,7 +63,7 @@
QVariant headerData(int section, Qt::Orientation orientation, int role) const;
protected:
- Account m_root;
+ Glib::RefPtr<Account> m_root;
};
typedef QList< ::Account*> AccountQList;
@@ -77,7 +80,7 @@
Q_OBJECT
public:
typedef AccountTreeModel base_class;
- AccountListModel(Account rootaccount, QObject *parent = 0);
+ AccountListModel(Glib::RefPtr<Account> rootaccount, QObject *parent = 0);
int rowCount(const QModelIndex& parent = QModelIndex()) const { return m_list.size(); }
@@ -89,7 +92,7 @@
int indexOf(AccountQList::value_type value) const { return m_list.indexOf(value); }
const AccountQList::value_type at(int i) const { return m_list.at(i); }
-public slots:
+public Q_SLOTS:
void accountEvent( ::Account* v, QofEventId event_type);
private:
@@ -107,15 +110,13 @@
Q_OBJECT
public:
typedef AccountListModel base_class;
- AccountListNamesModel(Account rootaccount, QObject *parent = 0)
+ AccountListNamesModel(Glib::RefPtr<Account> rootaccount, QObject *parent = 0)
: base_class(rootaccount, parent)
{}
int columnCount(const QModelIndex& parent = QModelIndex()) const;
QVariant data(const QModelIndex& index, int role) const;
};
-
-
} // END namespace gnc
#endif
Modified: gnucash/trunk/src/gnc/AccountSelectionDelegate.cpp
===================================================================
--- gnucash/trunk/src/gnc/AccountSelectionDelegate.cpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/AccountSelectionDelegate.cpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -23,8 +23,8 @@
#include "AccountSelectionDelegate.hpp"
#include "gnc/AccountItemModel.hpp"
-#include "gnc/Book.hpp"
-#include "gnc/Split.hpp"
+#include "gncmm/Book.hpp"
+#include "gncmm/Split.hpp"
#include "gnc/SplitListModel.hpp"
#include <QDebug>
@@ -39,10 +39,13 @@
QString AccountSelectionDelegate::displayText(const QVariant& value, const QLocale& locale) const
{
- if (value.canConvert<Account>())
+ if (value.canConvert< ::Account*>())
{
- Account acc = value.value<Account>();
- return acc.getFullName();
+ Glib::RefPtr<Account> acc = Glib::wrap(value.value< ::Account*>());
+ if (acc)
+ return g2q(acc->getFullName());
+ else
+ return QString();
}
else
{
@@ -60,11 +63,11 @@
const SplitListModel* smodel = dynamic_cast<const SplitListModel*>(index.model());
if (smodel)
{
- Account modelAccount = smodel->getAccount();
+ Glib::RefPtr<Account> modelAccount = smodel->getAccount();
Q_ASSERT(modelAccount);
- Book book = modelAccount.getBook();
+ Glib::RefPtr<Book> book = modelAccount->getBook();
Q_ASSERT(book);
- Account rootaccount = book.get_root_account();
+ Glib::RefPtr<Account> rootaccount = book->get_root_account();
Q_ASSERT(rootaccount);
AccountListModel* model = new AccountListNamesModel(rootaccount, comboBox);
comboBox->setModel(model);
@@ -81,14 +84,14 @@
Q_ASSERT(index.isValid());
QVariant value = index.model()->data(index, Qt::EditRole);
- if (value.canConvert<Account>())
+ if (value.canConvert< ::Account*>())
{
- Account acc = value.value<Account>();
+ Glib::RefPtr<Account> acc = Glib::wrap(value.value< ::Account*>());
if (acc)
{
const AccountListModel* amodel = dynamic_cast<const AccountListModel*>(comboBox->model());
Q_ASSERT(amodel);
- comboBox->setCurrentIndex(amodel->indexOf(acc.gobj()));
+ comboBox->setCurrentIndex(amodel->indexOf(acc->gobj()));
}
}
else
@@ -108,7 +111,7 @@
return;
const AccountListModel* amodel = dynamic_cast<const AccountListModel*>(comboBox->model());
Q_ASSERT(amodel);
- Account acc(amodel->at(currentIndex));
+ ::Account* acc(amodel->at(currentIndex));
if (acc)
{
model->setData(index, QVariant::fromValue(acc), Qt::EditRole);
Modified: gnucash/trunk/src/gnc/AccountSelectionDelegate.hpp
===================================================================
--- gnucash/trunk/src/gnc/AccountSelectionDelegate.hpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/AccountSelectionDelegate.hpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -23,7 +23,8 @@
#ifndef GNC_ACCOUNTSELECTIONDELEGATE_HPP
#define GNC_ACCOUNTSELECTIONDELEGATE_HPP
-#include "gnc/Account.hpp"
+#include "config.h"
+#include "gncmm/Account.hpp"
#include <QtGui/QStyledItemDelegate>
#include <QDebug>
Modified: gnucash/trunk/src/gnc/CMakeLists.txt
===================================================================
--- gnucash/trunk/src/gnc/CMakeLists.txt 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/CMakeLists.txt 2011-10-28 20:34:55 UTC (rev 21506)
@@ -44,6 +44,8 @@
fpo/ViewletView.hpp
)
SET (gnc_HEADERS ${gnc_QOBJECT_HEADERS}
+ conv.hpp
+ metatype.hpp
Cmd.hpp
QofEventWrapper.hpp
Session.hpp
@@ -92,6 +94,7 @@
INCLUDE_DIRECTORIES (${CMAKE_CURRENT_BINARY_DIR}) # for ui_mainwindow.h
INCLUDE_DIRECTORIES (${QT_INCLUDES})
+ADD_DEFINITIONS(-DQT_NO_KEYWORDS)
ADD_EXECUTABLE (cutecash
${gnc_FORMS_HEADERS}
Modified: gnucash/trunk/src/gnc/Cmd.cpp
===================================================================
--- gnucash/trunk/src/gnc/Cmd.cpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/Cmd.cpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -21,9 +21,10 @@
*/
#include "Cmd.hpp"
-#include "gnc/Split.hpp"
-#include "gnc/Account.hpp"
-#include "gnc/Transaction.hpp"
+#include "gncmm/Split.hpp"
+#include "gncmm/Account.hpp"
+#include "gncmm/Transaction.hpp"
+#include "gnc/conv.hpp"
#include <QObject>
namespace gnc
@@ -37,54 +38,54 @@
// ////////////////////////////////////////////////////////////
-QUndoCommand* setSplitMemo(Split& t, const QString& newValue)
+QUndoCommand* setSplitMemo(Glib::RefPtr<Split> t, const QString& newValue)
{
- return new Cmd<Split, QString>(QObject::tr("Edit Split Memo"),
- t, &Split::setMemo,
- t.getMemo(), newValue);
+ return new Cmd<Split, Glib::ustring>(QObject::tr("Edit Split Memo"),
+ t, &Split::setMemo,
+ t->getMemo(), q2g(newValue));
}
-QUndoCommand* setSplitAction(Split& t, const QString& newValue)
+QUndoCommand* setSplitAction(Glib::RefPtr<Split> t, const QString& newValue)
{
- return new Cmd<Split, QString>(QObject::tr("Edit Split Action"),
- t, &Split::setAction,
- t.getAction(), newValue);
+ return new Cmd<Split, Glib::ustring>(QObject::tr("Edit Split Action"),
+ t, &Split::setAction,
+ t->getAction(), q2g(newValue));
}
-QUndoCommand* setSplitReconcile(Split& t, char newValue)
+QUndoCommand* setSplitReconcile(Glib::RefPtr<Split> t, char newValue)
{
- if (newValue == t.getReconcile())
+ if (newValue == t->getReconcile())
return NULL;
// Special third argument: The setter function takes a value
// directly, instead of a const-reference, so the template type
// must be given explicitly.
return new Cmd<Split, char, void (Split::*)(char)>(QObject::tr("Edit Split Reconcile"),
t, &Split::setReconcile,
- t.getReconcile(), newValue);
+ t->getReconcile(), newValue);
}
-QUndoCommand* setSplitAccount(Split& t, Account newValue)
+QUndoCommand* setSplitAccount(Glib::RefPtr<Split> t, Glib::RefPtr<Account> newValue)
{
// Temporary function pointer "tmp" to resolve the ambiguous
// overload "setAccount()".
- void (Split::*tmp)(Account) = &Split::setAccount;
- return new Cmd<Split, Account, void (Split::*)(Account)>(QObject::tr("Edit Split Account"),
+ void (Split::*tmp)(Glib::RefPtr<Account>) = &Split::setAccount;
+ return new Cmd<Split, Glib::RefPtr<Account>, void (Split::*)(Glib::RefPtr<Account>)>(QObject::tr("Edit Split Account"),
t, tmp,
- t.getAccount(), newValue);
+ t->getAccount(), newValue);
}
-QUndoCommand* setSplitAmount(Split& t, const Numeric& newValue)
+QUndoCommand* setSplitAmount(Glib::RefPtr<Split> t, const Numeric& newValue)
{
return new Cmd<Split, Numeric>(QObject::tr("Edit Split Amount"),
t, &Split::setAmount,
- t.getAmount(), newValue);
+ t->getAmount(), newValue);
}
-QUndoCommand* setSplitValue(Split& t, const Numeric& newValue)
+QUndoCommand* setSplitValue(Glib::RefPtr<Split> t, const Numeric& newValue)
{
return new Cmd<Split, Numeric>(QObject::tr("Edit Split Value"),
t, &Split::setValue,
- t.getValue(), newValue);
+ t->getValue(), newValue);
}
// ////////////////////////////////////////////////////////////
@@ -100,91 +101,97 @@
* value given directly.
*/
SplitValueAndAmountCmd(const QString& text,
- WeakPointer<target_type::element_type>& targetPtr,
+ Glib::RefPtr<Split> targetPtr,
const value_type& previousValue,
const value_type& newValue,
QUndoCommand *parent = 0)
- : base_class(text, parent)
- , m_target(targetPtr.gobj())
- , m_previousValue(previousValue)
- , m_newValue(newValue)
+ : base_class(text, parent)
+ , m_target(targetPtr)
+ , m_previousValue(previousValue)
+ , m_newValue(newValue)
{
Q_ASSERT(m_target);
}
- virtual void redo() { set(m_newValue); }
- virtual void undo() { set(m_previousValue); }
+ virtual void redo()
+ {
+ set(m_newValue);
+ }
+ virtual void undo()
+ {
+ set(m_previousValue);
+ }
private:
void set(const value_type& value)
{
- Transaction trans = m_target.getParent();
- if (trans.countSplits() != 2)
+ Glib::RefPtr<Transaction> trans = m_target->getParent();
+ if (!trans || trans->countSplits() != 2)
return;
- Split other = m_target.getOtherSplit();
+ Glib::RefPtr<Split> other = m_target->getOtherSplit();
Q_ASSERT(other);
- Commodity originCommodity = m_target.getAccount().getCommodity();
- Commodity transCommodity = trans.getCurrency();
- Commodity otherCommodity = other.getAccount().getCommodity();
+ Glib::RefPtr<Commodity> originCommodity = m_target->getAccount()->getCommodity();
+ Glib::RefPtr<Commodity> transCommodity = trans->getCurrency();
+ Glib::RefPtr<Commodity> otherCommodity = other->getAccount()->getCommodity();
if (originCommodity != transCommodity
|| transCommodity != otherCommodity)
return;
- trans.beginEdit();
- m_target.setValue(value);
- m_target.setAmount(value);
+ trans->beginEdit();
+ m_target->setValue(value);
+ m_target->setAmount(value);
Numeric valueNeg = value.neg();
- other.setAmount(valueNeg);
- other.setValue(valueNeg);
- trans.commitEdit();
+ other->setAmount(valueNeg);
+ other->setValue(valueNeg);
+ trans->commitEdit();
}
protected:
- target_type m_target;
+ Glib::RefPtr<target_type> m_target;
value_type m_previousValue;
value_type m_newValue;
};
-QUndoCommand* setSplitValueAndAmount(Split& t, const Numeric& newValue)
+QUndoCommand* setSplitValueAndAmount(Glib::RefPtr<Split> t, const Numeric& newValue)
{
return new SplitValueAndAmountCmd(QObject::tr("Edit Transaction Value"),
- t, t.getValue(), newValue);
+ t, t->getValue(), newValue);
}
// ////////////////////////////////////////////////////////////
-QUndoCommand* setTransactionNum(Transaction& t, const QString& newValue)
+QUndoCommand* setTransactionNum(Glib::RefPtr<Transaction> t, const QString& newValue)
{
- if (newValue == t.getNum())
+ if (newValue == g2q(t->getNum()))
return NULL;
- return new Cmd<Transaction, QString>(QObject::tr("Edit Transaction Number"),
- t, &Transaction::setNum,
- t.getNum(), newValue);
+ return new Cmd<Transaction, Glib::ustring>(QObject::tr("Edit Transaction Number"),
+ t, &Transaction::setNum,
+ t->getNum(), q2g(newValue));
}
-QUndoCommand* setTransactionDescription(Transaction& t, const QString& newValue)
+QUndoCommand* setTransactionDescription(Glib::RefPtr<Transaction> t, const QString& newValue)
{
- if (newValue == t.getDescription())
+ if (newValue == g2q(t->getDescription()))
return NULL;
- return new Cmd<Transaction, QString>(QObject::tr("Edit Transaction Description"),
- t, &Transaction::setDescription,
- t.getDescription(), newValue);
+ return new Cmd<Transaction, Glib::ustring>(QObject::tr("Edit Transaction Description"),
+ t, &Transaction::setDescription,
+ t->getDescription(), q2g(newValue));
}
-QUndoCommand* setTransactionNotes(Transaction& t, const QString& newValue)
+QUndoCommand* setTransactionNotes(Glib::RefPtr<Transaction> t, const QString& newValue)
{
- return new Cmd<Transaction, QString>(QObject::tr("Edit Transaction Notes"),
- t, &Transaction::setNotes,
- t.getNotes(), newValue);
+ return new Cmd<Transaction, Glib::ustring>(QObject::tr("Edit Transaction Notes"),
+ t, &Transaction::setNotes,
+ t->getNotes(), q2g(newValue));
}
-QUndoCommand* setTransactionDate(Transaction& t, const QDate& newValue)
+QUndoCommand* setTransactionDate(Glib::RefPtr<Transaction> t, const QDate& newValue)
{
- if (newValue == t.getDatePosted())
+ if (newValue == g2q(t->getDatePosted()))
return NULL;
- return new Cmd<Transaction, QDate>(QObject::tr("Edit Transaction Date"),
- t, &Transaction::setDatePosted,
- t.getDatePosted(), newValue);
+ return new Cmd<Transaction, Glib::Date>(QObject::tr("Edit Transaction Date"),
+ t, &Transaction::setDatePosted,
+ t->getDatePosted(), q2g(newValue));
}
// ////////////////////////////////////////////////////////////
@@ -198,38 +205,38 @@
/** Constructor
*/
TransactionDestroyCmd(const QString& text,
- WeakPointer<target_type::element_type>& targetPtr,
+ Glib::RefPtr<target_type>& targetPtr,
QUndoCommand *parent = 0)
- : base_class(text, parent)
- , m_target(targetPtr.gobj())
- , m_previousValue(m_target)
- , m_book(m_target.getBook())
+ : base_class(text, parent)
+ , m_target(targetPtr)
+ , m_previousValue(*targetPtr.operator->())
+ , m_book(m_target->getBook())
{
Q_ASSERT(m_target);
}
virtual void redo()
{
- xaccTransDestroy(m_target.gobj());
+ xaccTransDestroy(m_target->gobj());
m_target.reset();
}
virtual void undo()
{
- m_target.reset(Transaction::newInstance(m_book));
- m_target.beginEdit();
+ m_target = Glib::wrap(Transaction::newInstance(m_book));
+ m_target->beginEdit();
m_previousValue.copyTo(m_target);
- m_target.commitEdit();
+ m_target->commitEdit();
// Could also use m_previousValue.createAsReal()
}
protected:
- target_type m_target;
+ Glib::RefPtr<Transaction> m_target;
TmpTransaction m_previousValue;
- Book m_book;
+ Glib::RefPtr<Book> m_book;
};
-QUndoCommand* destroyTransaction(Transaction& t)
+QUndoCommand* destroyTransaction(Glib::RefPtr<Transaction> t)
{
return new TransactionDestroyCmd(QObject::tr("Delete Transaction"),
t);
@@ -251,7 +258,7 @@
* definition keeps a C pointer to the original object, and we hope
* that one lives longer than we do.
*/
-template<class TargetT, class ValueT, typename SetterFunc = void (TargetT::*)(const ValueT&)>
+template < class TargetT, class ValueT, typename SetterFunc = void (TargetT::*)(const ValueT&) >
class CmdRef : public QUndoCommand
{
public:
@@ -282,17 +289,23 @@
const value_type& previousValue,
const value_type& newValue,
QUndoCommand *parent = 0)
- : base_class(text, parent)
- , m_target(targetRef)
- , m_setter(setter)
- , m_previousValue(previousValue)
- , m_newValue(newValue)
+ : base_class(text, parent)
+ , m_target(targetRef)
+ , m_setter(setter)
+ , m_previousValue(previousValue)
+ , m_newValue(newValue)
{
Q_ASSERT(m_setter);
}
- virtual void redo() { set(m_newValue); }
- virtual void undo() { set(m_previousValue); }
+ virtual void redo()
+ {
+ set(m_newValue);
+ }
+ virtual void undo()
+ {
+ set(m_previousValue);
+ }
private:
void set(const value_type& value)
@@ -309,11 +322,11 @@
};
-QUndoCommand* setSplitAccount(TmpSplit& t, Account newValue)
+QUndoCommand* setSplitAccount(TmpSplit& t, Glib::RefPtr<Account> newValue)
{
return new CmdRef<TmpSplit, ::Account*, void(TmpSplit::*)(::Account*)>(QObject::tr("Edit Split Account"),
t, &TmpSplit::setAccount,
- t.getAccount(), newValue.gobj());
+ t.getAccount(), newValue->gobj());
}
QUndoCommand* setSplitReconcile(TmpSplit& t, char newValue)
{
@@ -326,21 +339,21 @@
}
QUndoCommand* setTransactionNum(TmpTransaction& t, const QString& newValue)
{
- return new CmdRef<TmpTransaction, QString>(QObject::tr("Edit Transaction Number"),
+ return new CmdRef<TmpTransaction, Glib::ustring>(QObject::tr("Edit Transaction Number"),
t, &TmpTransaction::setNum,
- t.getNum(), newValue);
+ t.getNum(), q2g(newValue));
}
QUndoCommand* setTransactionDescription(TmpTransaction& t, const QString& newValue)
{
- return new CmdRef<TmpTransaction, QString>(QObject::tr("Edit Transaction Description"),
+ return new CmdRef<TmpTransaction, Glib::ustring>(QObject::tr("Edit Transaction Description"),
t, &TmpTransaction::setDescription,
- t.getDescription(), newValue);
+ t.getDescription(), q2g(newValue));
}
QUndoCommand* setTransactionDate(TmpTransaction& t, const QDate& newValue)
{
- return new CmdRef<TmpTransaction, QDate>(QObject::tr("Edit Transaction Date"),
+ return new CmdRef<TmpTransaction, Glib::Date>(QObject::tr("Edit Transaction Date"),
t, &TmpTransaction::setDatePosted,
- t.getDatePosted(), newValue);
+ t.getDatePosted(), q2g(newValue));
}
// ////////////////////////////////////////////////////////////
@@ -360,18 +373,24 @@
const value_type& previousValue,
const value_type& newValue,
QUndoCommand *parent = 0)
- : base_class(text, parent)
- , m_target(targetRef)
- , m_previousValue(previousValue)
- , m_newValue(newValue)
+ : base_class(text, parent)
+ , m_target(targetRef)
+ , m_previousValue(previousValue)
+ , m_newValue(newValue)
{
Q_ASSERT(m_target.getParent());
Q_ASSERT(m_target.getOtherSplit());
Q_ASSERT(m_target.getAccount());
}
- virtual void redo() { set(m_newValue); }
- virtual void undo() { set(m_previousValue); }
+ virtual void redo()
+ {
+ set(m_newValue);
+ }
+ virtual void undo()
+ {
+ set(m_previousValue);
+ }
private:
void set(const value_type& value)
{
@@ -382,10 +401,10 @@
TmpSplit* p_other = m_target.getOtherSplit();
Q_ASSERT(p_other);
TmpSplit& other = *p_other;
- Commodity originCommodity = Account(m_target.getAccount()).getCommodity();
- Commodity transCommodity = trans.getCommodity();
+ Glib::RefPtr<Commodity> originCommodity = Glib::wrap(m_target.getAccount())->getCommodity();
+ Glib::RefPtr<Commodity> transCommodity = trans.getCommodity();
Q_ASSERT(other.getAccount());
- Commodity otherCommodity = Account(other.getAccount()).getCommodity();
+ Glib::RefPtr<Commodity> otherCommodity = Glib::wrap(other.getAccount())->getCommodity();
if (originCommodity != transCommodity
|| transCommodity != otherCommodity)
return;
@@ -425,9 +444,9 @@
TransactionCreateCmd(const QString& text,
const TmpTransaction& target,
QUndoCommand *parent = 0)
- : base_class(text, parent)
- , m_template(target)
- , m_created(NULL)
+ : base_class(text, parent)
+ , m_template(target)
+ , m_created(NULL)
{}
virtual void redo()
@@ -437,13 +456,13 @@
virtual void undo()
{
- xaccTransDestroy(m_created.gobj());
+ xaccTransDestroy(m_created->gobj());
m_created.reset();
}
protected:
TmpTransaction m_template;
- Transaction m_created;
+ Glib::RefPtr<Transaction> m_created;
};
QUndoCommand* commitNewTransaction(const TmpTransaction& t)
Modified: gnucash/trunk/src/gnc/Cmd.hpp
===================================================================
--- gnucash/trunk/src/gnc/Cmd.hpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/Cmd.hpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -24,8 +24,9 @@
#define GNC_CMD_HPP
#include <QUndoCommand>
+#include <QDate>
#include <gnc/WeakPointer.hpp>
-#include <gnc/Numeric.hpp>
+#include <gncmm/Numeric.hpp>
namespace gnc
{
@@ -73,32 +74,8 @@
/// Type of the getter function to retrieve the current value from the target object
typedef value_type (target_type::*getter_func)() const;
- /** Constructor.
- * @param text The QUndoCommand's text which will be displayed in the Undo action.
- * @param targetPtr Reference to the target object on which this command is applied.
- * @param setter Pointer to function which sets the value in the target object
- * @param getter Pointer to function which returns the current value from the target object
- * @param newValue The new value to be set
- * @param parent The parent QUndoCommand instance, or NULL.
- */
- Cmd(const QString& text,
- WeakPointer<typename target_type::element_type>& targetPtr,
- setter_func setter,
- getter_func getter,
- const value_type& newValue,
- QUndoCommand *parent = 0)
- : base_class(text, parent)
- , m_target(targetPtr.gobj())
- , m_setter(setter)
- , m_previousValue((m_target.*getter)())
- , m_newValue(newValue)
- {
- Q_ASSERT(m_target);
- Q_ASSERT(m_setter);
- }
-
- /** Overloaded constructor without a getter-function but instead
- * the previous value given directly.
+ /** Constructor with the to-be-manipulated object "targetPtr", the setter
+ * function, the previous value, and the new value.
*
* @param text The QUndoCommand's text which will be displayed in the Undo action.
* @param targetPtr Reference to the target object on which this command is applied.
@@ -108,13 +85,13 @@
* @param parent The parent QUndoCommand instance, or NULL.
*/
Cmd(const QString& text,
- WeakPointer<typename target_type::element_type>& targetPtr,
+ Glib::RefPtr<target_type> targetPtr,
setter_func setter,
const value_type& previousValue,
const value_type& newValue,
QUndoCommand *parent = 0)
: base_class(text, parent)
- , m_target(targetPtr.gobj())
+ , m_target(targetPtr)
, m_setter(setter)
, m_previousValue(previousValue)
, m_newValue(newValue)
@@ -139,11 +116,11 @@
{
// Uh oh. The calling syntax for pointer-to-member
// variables (here: m_setter) looks rather weird:
- (m_target.*m_setter)(value);
+ (m_target.operator->()->*m_setter)(value);
}
protected:
- target_type m_target;
+ Glib::RefPtr<target_type> m_target;
setter_func m_setter;
value_type m_previousValue;
value_type m_newValue;
@@ -160,22 +137,22 @@
// forth. Spooky, IMHO.
// QUndoCommand* setSplitMemo(Split& split, const QString& newValue);
// QUndoCommand* setSplitAction(Split& t, const QString& newValue);
-QUndoCommand* setSplitAccount(Split& t, Account newValue);
-QUndoCommand* setSplitAccount(TmpSplit& t, Account newValue);
-QUndoCommand* setSplitReconcile(Split& t, char newValue);
+QUndoCommand* setSplitAccount(Glib::RefPtr<Split> t, Glib::RefPtr<Account> newValue);
+QUndoCommand* setSplitAccount(TmpSplit& t, Glib::RefPtr<Account> newValue);
+QUndoCommand* setSplitReconcile(Glib::RefPtr<Split> t, char newValue);
QUndoCommand* setSplitReconcile(TmpSplit& t, char newValue);
-// QUndoCommand* setSplitAmount(Split& t, const Numeric& newValue);
-// QUndoCommand* setSplitValue(Split& t, const Numeric& newValue);
-QUndoCommand* setTransactionNum(Transaction& t, const QString& newValue);
+// QUndoCommand* setSplitAmount(Glib::RefPtr<Split> t, const Numeric& newValue);
+// QUndoCommand* setSplitValue(Glib::RefPtr<Split> t, const Numeric& newValue);
+QUndoCommand* setTransactionNum(Glib::RefPtr<Transaction> t, const QString& newValue);
QUndoCommand* setTransactionNum(TmpTransaction& t, const QString& newValue);
-QUndoCommand* setTransactionDescription(Transaction& t, const QString& newValue);
+QUndoCommand* setTransactionDescription(Glib::RefPtr<Transaction> t, const QString& newValue);
QUndoCommand* setTransactionDescription(TmpTransaction& t, const QString& newValue);
-// QUndoCommand* setTransactionNotes(Transaction& t, const QString& newValue);
-QUndoCommand* setTransactionDate(Transaction& t, const QDate& newValue);
+// QUndoCommand* setTransactionNotes(Glib::RefPtr<Transaction> t, const QString& newValue);
+QUndoCommand* setTransactionDate(Glib::RefPtr<Transaction> t, const QDate& newValue);
QUndoCommand* setTransactionDate(TmpTransaction& t, const QDate& newValue);
-QUndoCommand* setSplitValueAndAmount(Split& t, const Numeric& newValue);
+QUndoCommand* setSplitValueAndAmount(Glib::RefPtr<Split> t, const Numeric& newValue);
QUndoCommand* setSplitValueAndAmount(TmpSplit& t, const Numeric& newValue);
-QUndoCommand* destroyTransaction(Transaction& t);
+QUndoCommand* destroyTransaction(Glib::RefPtr<Transaction> t);
QUndoCommand* commitNewTransaction(const TmpTransaction& t);
} // END namespace cmd
Modified: gnucash/trunk/src/gnc/QofEventWrapper.cpp
===================================================================
--- gnucash/trunk/src/gnc/QofEventWrapper.cpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/QofEventWrapper.cpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -24,7 +24,7 @@
#include "engine/gnc-event.h"
#include "gnc/SplitListModel.hpp"
-#include "gnc/Transaction.hpp"
+#include "gncmm/Transaction.hpp"
namespace gnc
{
Modified: gnucash/trunk/src/gnc/RecentFileMenu.cpp
===================================================================
--- gnucash/trunk/src/gnc/RecentFileMenu.cpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/RecentFileMenu.cpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -148,7 +148,7 @@
{
QString str = action->data().toString();
if (!str.isEmpty())
- emit fileSelected(str);
+ Q_EMIT fileSelected(str);
}
}
Modified: gnucash/trunk/src/gnc/RecentFileMenu.hpp
===================================================================
--- gnucash/trunk/src/gnc/RecentFileMenu.hpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/RecentFileMenu.hpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -59,7 +59,7 @@
*/
void writeSettings(QSettings *settings, const QString &groupName);
-public slots:
+public Q_SLOTS:
/**
* Record the given string as a filename that was (or is)
* being used in the application. As a result the given
@@ -67,14 +67,14 @@
*/
void usingFile(const QString &fileName);
-signals:
+Q_SIGNALS:
/**
* This signal is emitted whenever the user selects a file from the internally managed
* menu (i.e. the user wants to open the given file).
*/
void fileSelected(const QString &fileName);
-private slots:
+private Q_SLOTS:
void on_actionRecentFile();
private:
Modified: gnucash/trunk/src/gnc/Session.cpp
===================================================================
--- gnucash/trunk/src/gnc/Session.cpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/Session.cpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -22,7 +22,7 @@
#include "config.h"
#include "gnc/Session.hpp"
-#include "gnc/Book.hpp"
+#include "gncmm/Book.hpp"
// Explicit instantiation to check for compiler errors in the template
template class gnc::WeakPointer< QofSession >;
@@ -31,9 +31,9 @@
namespace gnc
{
-Book Session::get_book () const
+Glib::RefPtr<Book> Session::get_book () const
{
- return Book(qof_session_get_book(gobj()));
+ return Glib::wrap(qof_session_get_book(gobj()));
}
Modified: gnucash/trunk/src/gnc/Session.hpp
===================================================================
--- gnucash/trunk/src/gnc/Session.hpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/Session.hpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -33,6 +33,7 @@
}
#include "gnc/WeakPointer.hpp"
+#include <glibmm/refptr.h>
#include <QString>
namespace gnc
@@ -78,7 +79,7 @@
{
return QString::fromUtf8(qof_session_get_error_message(gobj()));
}
- Book get_book () const;
+ Glib::RefPtr<Book> get_book () const;
QString get_file_path () const
{
Modified: gnucash/trunk/src/gnc/SplitListModel.cpp
===================================================================
--- gnucash/trunk/src/gnc/SplitListModel.cpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/SplitListModel.cpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -22,9 +22,10 @@
#include "SplitListModel.hpp"
#include "engine/gnc-event.h" // for GNC_EVENT_ITEM_ADDED
-#include "gnc/Transaction.hpp"
+#include "gncmm/Transaction.hpp"
#include "gnc/Cmd.hpp"
#include "gnc/Session.hpp"
+#include "gnc/metatype.hpp"
#include <QDebug>
#include <QUndoStack>
#include <QBrush>
@@ -38,7 +39,7 @@
-SplitListModel::SplitListModel(const Account& acc, QUndoStack* undoStack, QObject *parent)
+SplitListModel::SplitListModel(const Glib::RefPtr<Account> acc, QUndoStack* undoStack, QObject *parent)
: QAbstractItemModel(parent)
, m_account(acc)
, m_list()
@@ -56,7 +57,7 @@
void SplitListModel::recreateCache()
{
- SplitQList newSplits = Split::fromGList(m_account.getSplitList());
+ SplitQList newSplits = Split::fromGList(m_account->getSplitList());
bool doReset = (newSplits.size() != m_list.size());
m_list = newSplits;
@@ -65,7 +66,7 @@
m_hash.clear();
for (int k = 0; k < m_list.size(); ++k)
{
- m_hash.insert(Split(m_list[k]).getParent().gobj(), k);
+ m_hash.insert(Glib::wrap(m_list[k])->getParent()->gobj(), k);
}
if (doReset)
@@ -79,14 +80,14 @@
m_tmpTransaction.getSplits().pop_back();
Q_ASSERT(m_tmpTransaction.countSplits() == 2);
- m_tmpTransaction.setCommodity(m_account.getCommodity());
- m_tmpTransaction.setDatePosted(QDate::currentDate());
+ m_tmpTransaction.setCommodity(m_account->getCommodity());
+ m_tmpTransaction.setDatePosted(q2g(QDate::currentDate()));
TmpSplit& oursplit = m_tmpTransaction.getSplits().front();
TmpSplit& othersplit = m_tmpTransaction.getSplits().back();
- oursplit.setAccount(m_account.gobj());
+ oursplit.setAccount(m_account->gobj());
Q_ASSERT(m_tmpTransaction.countSplits() == 2);
- Q_ASSERT(oursplit.getAccount() == m_account.gobj());
+ Q_ASSERT(oursplit.getAccount() == m_account->gobj());
Q_ASSERT(othersplit.getAccount() == NULL);
}
@@ -104,11 +105,11 @@
if (m_enableNewTransaction && row == m_list.size())
return createIndex(row, column, (void*)NULL);
- Split childItem = m_list.at(row);
- if (childItem.gobj())
+ Glib::RefPtr<Split> childItem = Glib::wrap(m_list.at(row));
+ if (childItem)
{
//qDebug() << "returning" << childItem.getName();
- return createIndex(row, column, childItem.gobj());
+ return createIndex(row, column, childItem->gobj());
}
else
return QModelIndex();
@@ -118,9 +119,9 @@
{
for (int row = position; row < position + rows; ++row)
{
- Split s(m_list.at(row));
+ Glib::RefPtr<Split> s = Glib::wrap(m_list.at(row));
Q_ASSERT(s);
- Transaction t = s.getParent();
+ Glib::RefPtr<Transaction> t = s->getParent();
Q_ASSERT(t);
QUndoCommand* cmd = cmd::destroyTransaction(t);
m_undoStack->push(cmd);
@@ -191,7 +192,7 @@
{
case Qt::DisplayRole:
case Qt::EditRole:
- return trans.getDatePosted();
+ return g2q(trans.getDatePosted());
default:
return QVariant();
}
@@ -200,7 +201,7 @@
{
case Qt::DisplayRole:
case Qt::EditRole:
- return trans.getNum();
+ return g2q(trans.getNum());
default:
return QVariant();
}
@@ -209,7 +210,7 @@
{
case Qt::DisplayRole:
case Qt::EditRole:
- return trans.getDescription();
+ return g2q(trans.getDescription());
default:
return QVariant();
}
@@ -219,7 +220,7 @@
case Qt::DisplayRole:
case Qt::EditRole:
if (trans.countSplits() == 2)
- return QVariant::fromValue(Account(trans.getSplits().back().getAccount()));
+ return QVariant::fromValue(trans.getSplits().back().getAccount());
else
return QVariant(); // FIXME: Multi-split txn here
default:
@@ -240,7 +241,7 @@
case Qt::DisplayRole:
case Qt::EditRole:
if (!amount.zero_p() && amount.positive_p())
- return amount.printAmount(printInfo);
+ return g2q(amount.printAmount(printInfo));
else
return QString();
default:
@@ -254,7 +255,7 @@
if (amount.zero_p() || amount.positive_p())
return QString();
else
- return amount.neg().printAmount(printInfo);
+ return g2q(amount.neg().printAmount(printInfo));
default:
return QVariant();
}
@@ -270,9 +271,9 @@
// Normal case: We are in a row that displays a normal
// transaction and split
- Split split(static_cast< ::Split*>(index.internalPointer()));
- Transaction trans(split.getParent());
- Numeric amount = split.getValue(); // Alternatively: xaccSplitConvertAmount(split.gobj(), split.getAccount().gobj());
+ Glib::RefPtr<Split> split = Glib::wrap(static_cast< ::Split*>(index.internalPointer()));
+ Glib::RefPtr<Transaction> trans(split->getParent());
+ Numeric amount = split->getValue(); // Alternatively: xaccSplitConvertAmount(split.gobj(), split.getAccount().gobj());
PrintAmountInfo printInfo(split, false);
switch (index.column())
@@ -282,7 +283,7 @@
{
case Qt::DisplayRole:
case Qt::EditRole:
- return trans.getDatePosted();
+ return g2q(trans->getDatePosted());
default:
return QVariant();
}
@@ -291,7 +292,7 @@
{
case Qt::DisplayRole:
case Qt::EditRole:
- return trans.getNum();
+ return g2q(trans->getNum());
default:
return QVariant();
}
@@ -300,7 +301,7 @@
{
case Qt::DisplayRole:
case Qt::EditRole:
- return trans.getDescription();
+ return g2q(trans->getDescription());
default:
return QVariant();
}
@@ -309,10 +310,10 @@
{
case Qt::DisplayRole:
case Qt::EditRole:
- if (trans.countSplits() == 2)
- return QVariant::fromValue(split.getOtherSplit().getAccount());
+ if (trans->countSplits() == 2)
+ return QVariant::fromValue(split->getOtherSplit()->getAccount()->gobj());
else
- return split.getCorrAccountFullName();
+ return g2q(split->getCorrAccountFullName());
default:
return QVariant();
}
@@ -321,7 +322,7 @@
{
case Qt::DisplayRole:
case Qt::EditRole:
- return QString::fromUtf8(gnc_get_reconcile_str(split.getReconcile()));
+ return QString::fromUtf8(gnc_get_reconcile_str(split->getReconcile()));
default:
return QVariant();
}
@@ -331,7 +332,7 @@
case Qt::DisplayRole:
case Qt::EditRole:
if (amount.positive_p())
- return amount.printAmount(printInfo);
+ return g2q(amount.printAmount(printInfo));
else
return QString();
default:
@@ -345,7 +346,7 @@
if (amount.positive_p())
return QString();
else
- return amount.neg().printAmount(printInfo);
+ return g2q(amount.neg().printAmount(printInfo));
default:
return QVariant();
}
@@ -353,9 +354,9 @@
switch (role)
{
case Qt::DisplayRole:
- return split.getBalance().printAmount(printInfo);
+ return g2q(split->getBalance().printAmount(printInfo));
case Qt::ForegroundRole:
- return split.getBalance().negative_p()
+ return split->getBalance().negative_p()
? QBrush(Qt::red)
: QBrush();
default:
@@ -413,7 +414,7 @@
TmpTransaction& trans = m_tmpTransaction;
TmpSplit& split = trans.getSplits().front();
- Q_ASSERT(split.getAccount() == m_account.gobj());
+ Q_ASSERT(split.getAccount() == m_account->gobj());
Q_ASSERT(trans.countSplits() == 2);
TmpSplit& other = trans.getSplits().back();
@@ -439,11 +440,11 @@
cmd = cmd::setTransactionDescription(trans, value.toString());
break;
case COLUMN_ACCOUNT:
- if (value.canConvert<Account>())
+ if (value.canConvert< ::Account*>())
{
if (trans.countSplits() == 2)
{
- cmd = cmd::setSplitAccount(other, value.value<Account>());
+ cmd = cmd::setSplitAccount(other, Glib::wrap(value.value< ::Account*>()));
}
else
QMessageBox::warning(NULL, tr("Unimplemented"),
@@ -478,10 +479,10 @@
if (str.isEmpty())
break;
Numeric n;
- QString errmsg = n.parse(str);
+ QString errmsg = g2q(n.parse(q2g(str)));
if (errmsg.isEmpty())
{
- qDebug() << "Successfully parsed string to numeric=" << n.to_string();
+ qDebug() << "Successfully parsed string to numeric=" << g2q(n.to_string());
if (index.column() == COLUMN_DECREASE)
n = n.neg();
// Check whether we have the simple case here
@@ -492,12 +493,12 @@
}
else
{
- Commodity originCommodity = m_account.getCommodity();
- Commodity transCommodity = trans.getCommodity();
+ Glib::RefPtr<Commodity> originCommodity = m_account->getCommodity();
+ Glib::RefPtr<Commodity> transCommodity = trans.getCommodity();
bool sameCommodities = (originCommodity == transCommodity);
if (other.getAccount())
{
- Commodity otherCommodity = Account(other.getAccount()).getCommodity();
+ Glib::RefPtr<Commodity> otherCommodity = Glib::wrap(other.getAccount())->getCommodity();
sameCommodities = sameCommodities && (transCommodity == otherCommodity);
}
if (!sameCommodities)
@@ -528,8 +529,8 @@
// Normal case: We are in a row that displays a normal
// transaction and split
- Split split(static_cast< ::Split*>(index.internalPointer()));
- Transaction trans(split.getParent());
+ Glib::RefPtr<Split> split = Glib::wrap(static_cast< ::Split*>(index.internalPointer()));
+ Glib::RefPtr<Transaction> trans(split->getParent());
QVariant y(trans);
// "Editing" is done by creating a Cmd-object and adding it to
@@ -554,16 +555,17 @@
cmd = cmd::setTransactionDescription(trans, value.toString());
break;
case COLUMN_ACCOUNT:
- if (value.canConvert<Account>())
+ if (value.canConvert< ::Account*>())
{
- if (trans.countSplits() == 2)
+ if (trans->countSplits() == 2)
{
- Split other = split.getOtherSplit();
- cmd = cmd::setSplitAccount(other, value.value<Account>());
+ Glib::RefPtr<Split> other = split->getOtherSplit();
+ cmd = cmd::setSplitAccount(other, Glib::wrap(value.value< ::Account*>()));
}
else
QMessageBox::warning(NULL, tr("Unimplemented"),
- tr("Sorry, but editing a transaction with more than two splits (here: %1) is not yet implemented.").arg(trans.countSplits()));
+ tr("Sorry, but editing a transaction with more than two splits "
+ "(here: %1) is not yet implemented.").arg(trans->countSplits()));
}
break;
case COLUMN_RECONCILE:
@@ -594,26 +596,27 @@
if (str.isEmpty())
break;
Numeric n;
- QString errmsg = n.parse(str);
+ QString errmsg = g2q(n.parse(q2g(str)));
if (errmsg.isEmpty())
{
- qDebug() << "Successfully parsed string to numeric=" << n.to_string();
+ qDebug() << "Successfully parsed string to numeric=" << g2q(n.to_string());
if (index.column() == COLUMN_DECREASE)
n = n.neg();
// Check whether we have the simple case here
- if (split.getParent().countSplits() != 2)
+ if (split->getParent()->countSplits() != 2)
{
QMessageBox::warning(NULL, tr("Unimplemented"),
- tr("Sorry, but editing a transaction with more than two splits (here: %1) is not yet implemented.").arg(split.getParent().countSplits()));
+ tr("Sorry, but editing a transaction with more than two splits "
+ "(here: %1) is not yet implemented.").arg(split->getParent()->countSplits()));
}
else
{
- Transaction trans = split.getParent();
- Split other = split.getOtherSplit();
+ Glib::RefPtr<Transaction> trans = split->getParent();
+ Glib::RefPtr<Split> other = split->getOtherSplit();
Q_ASSERT(other);
- Commodity originCommodity = split.getAccount().getCommodity();
- Commodity transCommodity = trans.getCurrency();
- Commodity otherCommodity = other.getAccount().getCommodity();
+ Glib::RefPtr<Commodity> originCommodity = split->getAccount()->getCommodity();
+ Glib::RefPtr<Commodity> transCommodity = trans->getCurrency();
+ Glib::RefPtr<Commodity> otherCommodity = other->getAccount()->getCommodity();
if (originCommodity != transCommodity
|| transCommodity != otherCommodity)
{
@@ -657,7 +660,7 @@
if (m_hash.contains(trans))
{
int row = m_hash.value(trans);
- emit dataChanged(index(row, 0), index(row, columnCount() - 1));
+ Q_EMIT dataChanged(index(row, 0), index(row, columnCount() - 1));
}
break;
case GNC_EVENT_ITEM_REMOVED:
@@ -679,7 +682,7 @@
void SplitListModel::accountEvent( ::Account* acc, QofEventId event_type)
{
- if (acc != m_account.gobj())
+ if (acc != m_account->gobj())
return;
//qDebug() << "SplitListModel::accountEvent, id=" << qofEventToString(event_type);
@@ -728,7 +731,7 @@
{
// Commit the new transaction
//qDebug() << "Commit the new transaction as a real one";
- m_tmpTransaction.setDateEntered(QDateTime::currentDateTime());
+ m_tmpTransaction.setDateEntered(QDateTime::currentDateTime().toTime_t());
QUndoCommand* cmd = cmd::commitNewTransaction(m_tmpTransaction);
recreateTmpTrans();
m_undoStack->push(cmd);
Modified: gnucash/trunk/src/gnc/SplitListModel.hpp
===================================================================
--- gnucash/trunk/src/gnc/SplitListModel.hpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/SplitListModel.hpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -23,10 +23,12 @@
#ifndef GNC_SPLITLISTMODEL_HPP
#define GNC_SPLITLISTMODEL_HPP
-#include "gnc/Account.hpp"
-#include "gnc/Split.hpp"
+#include "config.h"
+#include "gncmm/Account.hpp"
+#include "gncmm/Split.hpp"
#include "gnc/QofEventWrapper.hpp"
-#include "gnc/Transaction.hpp"
+#include "gncmm/Transaction.hpp"
+#include "gnc/conv.hpp"
extern "C"
{
@@ -61,10 +63,10 @@
, COLUMN_LAST
};
- SplitListModel(const Account& acc, QUndoStack* undoStack, QObject *parent = 0);
+ SplitListModel(const Glib::RefPtr<Account> acc, QUndoStack* undoStack, QObject *parent = 0);
~SplitListModel();
- Account getAccount() const { return m_account; }
+ Glib::RefPtr<Account> getAccount() const { return m_account; }
QModelIndex parent(const QModelIndex &index) const { return QModelIndex(); }
int rowCount(const QModelIndex& parent = QModelIndex()) const;
@@ -79,7 +81,7 @@
bool removeRows(int position, int rows, const QModelIndex &index = QModelIndex());
-public slots:
+public Q_SLOTS:
void transactionEvent( ::Transaction* trans, QofEventId event_type);
void accountEvent( ::Account* trans, QofEventId event_type);
void editorClosed(const QModelIndex& index, QAbstractItemDelegate::EndEditHint hint);
@@ -89,7 +91,7 @@
void recreateTmpTrans();
protected:
- Account m_account;
+ Glib::RefPtr<Account> m_account;
SplitQList m_list;
QUndoStack* m_undoStack;
typedef QHash< ::Transaction*, int> TransactionRowHash;
Modified: gnucash/trunk/src/gnc/SplitListView.cpp
===================================================================
--- gnucash/trunk/src/gnc/SplitListView.cpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/SplitListView.cpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -23,7 +23,7 @@
#include "SplitListView.hpp"
#include "engine/gnc-event.h" // for GNC_EVENT_ITEM_ADDED
-#include "gnc/Account.hpp"
+#include "gncmm/Account.hpp"
#include "gnc/SplitListModel.hpp"
#include "gnc/AccountSelectionDelegate.hpp"
@@ -34,7 +34,7 @@
namespace gnc
{
-SplitListView::SplitListView(Account account, QUndoStack* undoStack, QWidget* parent)
+SplitListView::SplitListView(Glib::RefPtr<Account> account, QUndoStack* undoStack, QWidget* parent)
: base_class(parent)
, m_account(account)
, m_eventWrapperAccount(*this, &SplitListView::accountEvent)
@@ -65,7 +65,7 @@
//qDebug() << "closeEditor, row=" << currentIndex().row() << "hint=" << hint;
QModelIndex index = currentIndex();
if (hint != QAbstractItemDelegate::NoHint)
- emit editorClosed(index, hint);
+ Q_EMIT editorClosed(index, hint);
if (index.isValid()
&& hint == QAbstractItemDelegate::SubmitModelCache
&& index.row() < model()->rowCount() - 1)
@@ -86,7 +86,7 @@
void SplitListView::accountEvent( ::Account* v, QofEventId event_type)
{
- if (v != m_account.gobj())
+ if (v != m_account->gobj())
return;
//qDebug() << "SplitListView::accountEvent, id=" << qofEventToString(event_type);
switch (event_type)
Modified: gnucash/trunk/src/gnc/SplitListView.hpp
===================================================================
--- gnucash/trunk/src/gnc/SplitListView.hpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/SplitListView.hpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -23,7 +23,8 @@
#ifndef GNC_SPLITLISTVIEW_HPP
#define GNC_SPLITLISTVIEW_HPP
-#include "gnc/Account.hpp"
+#include "config.h"
+#include "gncmm/Account.hpp"
#include "gnc/SplitListModel.hpp"
#include "gnc/QofEventWrapper.hpp"
@@ -40,18 +41,18 @@
Q_OBJECT
public:
typedef QTableView base_class;
- SplitListView(Account account, QUndoStack* undoStack, QWidget* parent = 0);
+ SplitListView(Glib::RefPtr<Account> account, QUndoStack* undoStack, QWidget* parent = 0);
-signals:
+Q_SIGNALS:
void editorClosed(const QModelIndex& index, QAbstractItemDelegate::EndEditHint hint);
-public slots:
+public Q_SLOTS:
void closeEditor(QWidget* editor, QAbstractItemDelegate::EndEditHint hint);
void accountEvent( ::Account* v, QofEventId event_type);
void bookEvent( ::QofBook* v, QofEventId event_type);
private:
- Account m_account;
+ Glib::RefPtr<Account> m_account;
QofEventWrapper<SplitListView, ::Account*> m_eventWrapperAccount;
QofEventWrapper<SplitListView, ::QofBook*> m_eventWrapperBook;
};
Added: gnucash/trunk/src/gnc/conv.hpp
===================================================================
--- gnucash/trunk/src/gnc/conv.hpp (rev 0)
+++ gnucash/trunk/src/gnc/conv.hpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -0,0 +1,37 @@
+#ifndef CONV_HPP
+#define CONV_HPP
+
+#include <QDate>
+#include <QString>
+#include <glibmm/date.h>
+#include <glibmm/ustring.h>
+
+namespace gnc
+{
+
+/// Convert the given Glib::Date into a QDate object
+inline QDate g2q(const Glib::Date& d)
+{
+ return QDate(d.get_year(), d.get_month(), d.get_day());
+}
+
+/// Convert the given QDate into a Glib::Date object
+inline Glib::Date q2g(const QDate& d)
+{
+ return Glib::Date(d.day(), Glib::Date::Month(d.month()), d.year());
+}
+
+/// Convert the given Glib::ustring into a QString object
+inline QString g2q(const Glib::ustring& s)
+{
+ return QString::fromUtf8(s.c_str());
+}
+
+/// Convert the given QString into a Glib::ustring object
+inline Glib::ustring q2g(const QString& s)
+{
+ return Glib::ustring(s.toUtf8());
+}
+}
+
+#endif // CONV_HPP
Property changes on: gnucash/trunk/src/gnc/conv.hpp
___________________________________________________________________
Added: svn:eol-style
+ LF
Modified: gnucash/trunk/src/gnc/dashboard.cpp
===================================================================
--- gnucash/trunk/src/gnc/dashboard.cpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/dashboard.cpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -322,7 +322,7 @@
void
Dashboard::transferFundsWidgetButtonToggled(bool checked)
{
- if(checked)
+ if (checked)
{
ui->dockwBasicTxn->show();
}
Modified: gnucash/trunk/src/gnc/dashboard.hpp
===================================================================
--- gnucash/trunk/src/gnc/dashboard.hpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/dashboard.hpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -62,7 +62,7 @@
void showDashboardWidgets();
void mainWindowCloseEvent();
-public slots:
+public Q_SLOTS:
void transferFundsWidgetButtonToggled(bool checked);
void transactionEvent( ::Transaction* trans, QofEventId event_type);
void accountEvent( ::Account* acc, QofEventId event_type);
@@ -113,7 +113,7 @@
QofEventWrapper<Dashboard, ::Transaction*> m_eventWrapper;
QofEventWrapper<Dashboard, ::Account*> m_eventWrapperAccount;
-private slots:
+private Q_SLOTS:
void on_btnCreateBasicTxn_clicked();
void on_dockwBasicTxn_visibilityChanged(bool visible);
};
Modified: gnucash/trunk/src/gnc/fpo/FPO.hpp
===================================================================
--- gnucash/trunk/src/gnc/fpo/FPO.hpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/fpo/FPO.hpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -23,10 +23,10 @@
Session m_session;
-signals:
+Q_SIGNALS:
void sessionLoaded();
-public slots:
+public Q_SLOTS:
};
Modified: gnucash/trunk/src/gnc/fpo/ViewletModel.cpp
===================================================================
--- gnucash/trunk/src/gnc/fpo/ViewletModel.cpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/fpo/ViewletModel.cpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -1,8 +1,8 @@
#include "ViewletModel.hpp"
-#include "gnc/Transaction.hpp"
-#include "gnc/Account.hpp"
+#include "gncmm/Transaction.hpp"
+#include "gncmm/Account.hpp"
-#include "gnc/Numeric.hpp"
+#include "gncmm/Numeric.hpp"
namespace gnc
{
@@ -159,57 +159,53 @@
ViewletModel::buildMiniJournalStruct(SplitQList splitList)
{
int numOfSplits = splitList.size();
- Split split;
- int i;
- QDate tempDate;
- QString tempAccount;
+ Glib::Date tempDate;
+ Glib::ustring tempAccount;
- for (i = 0; i < numOfSplits; i++)
+ for (int i = 0; i < numOfSplits; i++)
{
- split = splitList.at(i);
- Transaction txn = split.getParent();
+ Glib::RefPtr<Split> split = Glib::wrap(splitList.at(i));
+ Glib::RefPtr<Transaction> txn = split->getParent();
structViewletEntries entry;
if(i == 0)
{
- tempDate = txn.getDatePosted();
+ tempDate = txn->getDatePosted();
entry.isDateEqual = false;
- tempAccount = split.getCorrAccountName();
+ tempAccount = split->getCorrAccountName();
entry.isSplitAccountEqual = false;
}
else
{
- if(txn.getDatePosted() == tempDate)
+ if(txn->getDatePosted() == tempDate)
{
entry.isDateEqual = true;
- tempDate = txn.getDatePosted();
}
else
{
entry.isDateEqual = false;
- tempDate = txn.getDatePosted();
+ tempDate = txn->getDatePosted();
}
- if(split.getCorrAccountName() == tempAccount)
+ if(split->getCorrAccountName() == tempAccount)
{
entry.isSplitAccountEqual = true;
}
else
{
entry.isSplitAccountEqual = false;
- tempAccount = split.getCorrAccountName();
+ tempAccount = split->getCorrAccountName();
}
}
- entry.txnDate = txn.getDatePosted().toString();
- entry.splitAccount = split.getCorrAccountName();
- entry.txnDescription = txn.getDescription();
+ entry.txnDate = g2q(txn->getDatePosted()).toString();
+ entry.splitAccount = g2q(split->getCorrAccountName());
+ entry.txnDescription = g2q(txn->getDescription());
- Numeric splitAmount;
- splitAmount = split.getAmount();
+ Numeric splitAmount = split->getAmount();
PrintAmountInfo printInfo(split, true);
- entry.splitAmount = splitAmount.printAmount(printInfo);
+ entry.splitAmount = g2q(splitAmount.printAmount(printInfo));
//qDebug()<<entry.isDateEqual;
//qDebug()<<entry.isSplitAccountEqual;
Modified: gnucash/trunk/src/gnc/fpo/ViewletModel.hpp
===================================================================
--- gnucash/trunk/src/gnc/fpo/ViewletModel.hpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/fpo/ViewletModel.hpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -14,7 +14,7 @@
#include "engine/Split.h"
}
-#include "gnc/Split.hpp"
+#include "gncmm/Split.hpp"
#include "gnc/SplitListModel.hpp"
#include "gnc/AccountItemModel.hpp"
Modified: gnucash/trunk/src/gnc/fpo/ViewletView.cpp
===================================================================
--- gnucash/trunk/src/gnc/fpo/ViewletView.cpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/fpo/ViewletView.cpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -288,7 +288,7 @@
{
accountsList = m_accountsListModel;
comboAccountsList->setModel(accountsList);
- emit fileLoaded();
+ Q_EMIT fileLoaded();
}
/***** Slots *****/
Modified: gnucash/trunk/src/gnc/fpo/ViewletView.hpp
===================================================================
--- gnucash/trunk/src/gnc/fpo/ViewletView.hpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/fpo/ViewletView.hpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -40,10 +40,10 @@
void leftVUpdate();
void rightVUpdate();
-signals:
+Q_SIGNALS:
void fileLoaded();
-public slots:
+public Q_SLOTS:
void defaultVUpdate();
private:
@@ -91,7 +91,7 @@
void accountCheckOutput();
void descriptionAmountOutput();
-private slots:
+private Q_SLOTS:
void leftVLoad();
void rightVLoad();
};
Modified: gnucash/trunk/src/gnc/mainwindow-file.cpp
===================================================================
--- gnucash/trunk/src/gnc/mainwindow-file.cpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/mainwindow-file.cpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -45,11 +45,11 @@
#include "engine/TransLog.h"
}
-#include "gnc/Account.hpp"
+#include "gncmm/Account.hpp"
#include "gnc/AccountItemModel.hpp"
-#include "gnc/Book.hpp"
-#include "gnc/Numeric.hpp"
-#include "gnc/Split.hpp"
+#include "gncmm/Book.hpp"
+#include "gncmm/Numeric.hpp"
+#include "gncmm/Split.hpp"
#include "gnc/SplitListModel.hpp"
#include "gnc/RecentFileMenu.hpp"
@@ -356,7 +356,7 @@
// copied from gnc_post_file_open, gnome-utils/gnc-file.c
QString newfile_qstring =
- gchar_to_QString(gnc_uri_normalize_uri(fileName.toUtf8(), TRUE));
+ g2q(gchar_to_ustring(gnc_uri_normalize_uri(fileName.toUtf8(), TRUE)));
if (newfile_qstring.isEmpty())
{
show_session_error (this, ERR_FILEIO_FILE_NOT_FOUND, fileName,
@@ -532,7 +532,7 @@
// ////////////////////////////////////////////////////////////
// Some display about this file
- Account root (m_session.get_book().get_root_account());
+ Glib::RefPtr<Account> root (m_session.get_book()->get_root_account());
if (root)
{
m_accountListModel = new AccountListModel(root, this);
@@ -541,13 +541,13 @@
m_accountTreeModel = new AccountTreeModel(root, this);
ui->treeView->setModel(m_accountTreeModel);
/* Load the tree in combo boxes of dashboard */
- dboard->loadAccountsTreeComboBox(m_accountListModel);
- dboard->fpoWidget->defaultViewlet->loadAccountsTreeComboBox(m_accountListModel);
- dboard->fpoWidget->leftViewlet->loadAccountsTreeComboBox(m_accountListModel);
- dboard->fpoWidget->rightViewlet->loadAccountsTreeComboBox(m_accountListModel);
+ m_dboard->loadAccountsTreeComboBox(m_accountListModel);
+ m_dboard->fpoWidget->defaultViewlet->loadAccountsTreeComboBox(m_accountListModel);
+ m_dboard->fpoWidget->leftViewlet->loadAccountsTreeComboBox(m_accountListModel);
+ m_dboard->fpoWidget->rightViewlet->loadAccountsTreeComboBox(m_accountListModel);
ui->treeViewTab->setProperty(PROPERTY_TAB_PREVIOUSPOS, ui->tabWidget->currentIndex());
- ui->tabWidget->setCurrentWidget(dboard);
+ ui->tabWidget->setCurrentWidget(m_dboard);
}
else
{
@@ -567,7 +567,7 @@
{
if (gnc_uri_is_file_uri(fileName.toUtf8()))
{
- QFile file(gchar_to_QString(gnc_uri_get_path(fileName.toUtf8())));
+ QFile file(g2q(gchar_to_ustring(gnc_uri_get_path(fileName.toUtf8()))));
if (!file.open(QFile::WriteOnly))
{
QMessageBox::warning(this, tr("Application"),
@@ -583,7 +583,7 @@
* file. If so, then just do a simple save, instead of a full save as */
/* FIXME Check if it is ok to have a password in the uri here */
QString newfile_qstring =
- gchar_to_QString(gnc_uri_normalize_uri ( fileName.toUtf8(), TRUE ));
+ g2q(gchar_to_ustring(gnc_uri_normalize_uri ( fileName.toUtf8(), TRUE )));
if (newfile_qstring.isEmpty())
{
show_session_error (this, ERR_FILEIO_FILE_NOT_FOUND, fileName,
Modified: gnucash/trunk/src/gnc/mainwindow.cpp
===================================================================
--- gnucash/trunk/src/gnc/mainwindow.cpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/mainwindow.cpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -44,11 +44,11 @@
#include "engine/TransLog.h"
}
-#include "gnc/Account.hpp"
+#include "gncmm/Account.hpp"
#include "gnc/AccountItemModel.hpp"
-#include "gnc/Book.hpp"
-#include "gnc/Numeric.hpp"
-#include "gnc/Split.hpp"
+#include "gncmm/Book.hpp"
+#include "gncmm/Numeric.hpp"
+#include "gncmm/Split.hpp"
#include "gnc/SplitListModel.hpp"
#include "gnc/RecentFileMenu.hpp"
#include "gnc/SplitListView.hpp"
@@ -87,10 +87,10 @@
createStatusBar();
setIcons();
- dboard = new Dashboard(this);
- dboard->setWindowTitle("Dashboard");
- //dboard->show();
- ui->tabWidget->addTab(dboard, "Dashboard");
+ m_dboard = new Dashboard(this);
+ m_dboard->setWindowTitle("Dashboard");
+ //m_dboard->show();
+ ui->tabWidget->addTab(m_dboard, "Dashboard");
/* Properties used by QSettings */
QCoreApplication::setOrganizationName("Gnucash");
@@ -102,15 +102,16 @@
connect(m_undoStack, SIGNAL(cleanChanged(bool)),
this, SLOT(documentCleanStateChanged(bool)));
connect(m_btnTransferFundsWidget, SIGNAL(toggled(bool)),
- dboard, SLOT(transferFundsWidgetButtonToggled(bool)));
+ m_dboard, SLOT(transferFundsWidgetButtonToggled(bool)));
connect(this, SIGNAL(dashboardVisible(bool)),
- dboard, SLOT(transferFundsWidgetButtonToggled(bool)));
+ m_dboard, SLOT(transferFundsWidgetButtonToggled(bool)));
setWindowIcon(QIcon(":/pixmaps/gnucash-icon-64x64.png"));
/* Check if the system supports freedesktop standards for icons,
* if not, then use the bundled icon set. */
- if (!QIcon::hasThemeIcon("document-open")) {
+ if (!QIcon::hasThemeIcon("document-open"))
+ {
QIcon::setThemeName("oxygen");
}
@@ -312,8 +313,8 @@
QSettings settings;
QString lastOpenedFile = "";
lastOpenedFile = m_menuRecentFiles->getRecentFileName(&settings,
- "RecentFiles");
- if(maybeSave())
+ "RecentFiles");
+ if (maybeSave())
{
loadFile(lastOpenedFile);
}
@@ -399,7 +400,7 @@
ui->actionViewAccountList->setChecked(false);
reallyRemoveTab(index);
}
- else if (widget == dboard)
+ else if (widget == m_dboard)
{
ui->actionViewDashboard->setChecked(false);
m_dashboardToolBar->setEnabled(false);
@@ -436,7 +437,7 @@
void MainWindow::on_actionViewDashboard_triggered(bool checked)
{
- viewOrHideTab(checked, dboard);
+ viewOrHideTab(checked, m_dboard);
}
void MainWindow::viewOrHideTab(bool checked, QWidget *widget)
@@ -458,11 +459,11 @@
if (tabIsCurrent)
ui->tabWidget->setCurrentWidget(widget);
- if(widget == dboard)
+ if(widget == m_dboard)
{
m_dashboardToolBar->setEnabled(true);
m_dashboardToolBar->setHidden(false);
- emit dashboardVisible(true);
+ Q_EMIT dashboardVisible(true);
}
}
else
@@ -490,11 +491,11 @@
bool tabWithAccounts = (widget != ui->textBrowserTab);
ui->menuAccount->setEnabled(tabWithAccounts);
- if(ui->tabWidget->currentWidget() == dboard)
+ if(ui->tabWidget->currentWidget() == m_dboard)
{
m_dashboardToolBar->setEnabled(true);
m_dashboardToolBar->setHidden(false);
- dboard->showDashboardWidgets();
+ m_dboard->showDashboardWidgets();
}
else
{
@@ -511,7 +512,7 @@
qDebug() << "Wrong model; row=" << (index.isValid()? index.row() : -1);
return;
}
- Account account(static_cast< ::Account*>(index.internalPointer()));
+ Glib::RefPtr<Account> account = Glib::wrap(static_cast< ::Account*>(index.internalPointer()));
if (!account)
{
qDebug() << "Account is null; why?";
@@ -526,7 +527,7 @@
// Insert this as a new tab
tableView->setProperty(PROPERTY_TAB_PREVIOUSPOS, ui->tabWidget->currentIndex());
- ui->tabWidget->addTab(tableView, account.getName());
+ ui->tabWidget->addTab(tableView, g2q(account->getName()));
ui->tabWidget->setCurrentWidget(tableView);
connect(tableView->selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
@@ -568,7 +569,7 @@
{
if (maybeSave())
{
- dboard->mainWindowCloseEvent();
+ m_dboard->mainWindowCloseEvent();
writeSettings();
event->accept();
@@ -623,7 +624,7 @@
void MainWindow::dockWidgetsVisibilityChanged(int wdg, bool visible)
{
- if(wdg == 0)
+ if (wdg == 0)
{
/** todo: handle tabs */
m_btnTransferFundsWidget->setChecked(visible);
Modified: gnucash/trunk/src/gnc/mainwindow.hpp
===================================================================
--- gnucash/trunk/src/gnc/mainwindow.hpp 2011-10-28 20:34:44 UTC (rev 21505)
+++ gnucash/trunk/src/gnc/mainwindow.hpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -66,7 +66,7 @@
bool hasOpenedFile() const { return !m_currentFilename.isEmpty(); }
void dockWidgetsVisibilityChanged(int wdg, bool visible);
-public slots:
+public Q_SLOTS:
void accountItemActivated(const QModelIndex & index);
void loadFileMaybe(const QString &fileName);
void documentCleanStateChanged(bool clean);
@@ -74,10 +74,10 @@
protected:
void closeEvent(QCloseEvent *event);
-signals:
+Q_SIGNALS:
void dashboardVisible(bool visible);
-private slots:
+private Q_SLOTS:
void newFile();
void on_actionOpen_triggered();
bool on_actionSave_triggered();
@@ -100,7 +100,7 @@
void createToolBars();
void createStatusBar();
void setIcons();
- void readSettings();
+ void readSettings();
void autoLoadRecentFile();
void writeSettings();
bool maybeSave();
@@ -139,7 +139,7 @@
QSharedPointer<RecentFileMenu> m_menuRecentFiles;
QUndoStack *m_undoStack;
- Dashboard *dboard;
+ Dashboard *m_dboard;
Session m_session;
AccountListModel *m_accountListModel;
Added: gnucash/trunk/src/gnc/metatype.hpp
===================================================================
--- gnucash/trunk/src/gnc/metatype.hpp (rev 0)
+++ gnucash/trunk/src/gnc/metatype.hpp 2011-10-28 20:34:55 UTC (rev 21506)
@@ -0,0 +1,12 @@
+#ifndef METATYPE_HPP
+#define METATYPE_HPP
+
+#include <QMetaType>
+
+#include "config.h"
+#include <gncmm/Account.hpp>
+
+// The macros to declare those types for inclusion in QVariant
+Q_DECLARE_METATYPE(::Account*);
+
+#endif // METATYPE_HPP
Property changes on: gnucash/trunk/src/gnc/metatype.hpp
___________________________________________________________________
Added: svn:eol-style
+ LF
More information about the gnucash-changes
mailing list