summaryrefslogtreecommitdiff
authorallenforsythe <allenforsythe>2003-05-04 22:02:48 (UTC)
committer allenforsythe <allenforsythe>2003-05-04 22:02:48 (UTC)
commit4593e3cf4eca4867e34b3220007c24523cf642b6 (patch) (side-by-side diff)
treebd8071834dec2a5008b1b270c7953f5cfd65754d
parent2894d0b14c0b3efa3ce259214b5aa597a6abfed1 (diff)
downloadopie-4593e3cf4eca4867e34b3220007c24523cf642b6.zip
opie-4593e3cf4eca4867e34b3220007c24523cf642b6.tar.gz
opie-4593e3cf4eca4867e34b3220007c24523cf642b6.tar.bz2
Initial revision
Diffstat (more/less context) (show whitespace changes)
-rwxr-xr-xnoncore/apps/qashmoney/LICENSE348
-rwxr-xr-xnoncore/apps/qashmoney/accountdisplay.h53
-rwxr-xr-xnoncore/apps/qashmoney/budgetdisplay.cpp408
-rwxr-xr-xnoncore/apps/qashmoney/budgetdisplay.h85
-rwxr-xr-xnoncore/apps/qashmoney/calculator.cpp113
-rwxr-xr-xnoncore/apps/qashmoney/calculator.h50
-rwxr-xr-xnoncore/apps/qashmoney/currency.cpp80
-rwxr-xr-xnoncore/apps/qashmoney/currency.h23
-rwxr-xr-xnoncore/apps/qashmoney/datepicker.cpp95
-rwxr-xr-xnoncore/apps/qashmoney/datepicker.h60
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/apps/Applications/qashmoney.desktop7
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/help/html/editaccountwindow.pngbin0 -> 3010 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/help/html/editbudgetwindow.pngbin0 -> 2784 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/help/html/memorywindow.pngbin0 -> 4305 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/help/html/newbudgetwindow.pngbin0 -> 3083 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/help/html/newlineitemwindow.pngbin0 -> 2740 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/date.pngbin0 -> 990 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/defaults.pngbin0 -> 911 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/delete.pngbin0 -> 946 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/edit.pngbin0 -> 878 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/AE.pngbin0 -> 455 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/AR.pngbin0 -> 407 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/AT.pngbin0 -> 295 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/AU.pngbin0 -> 784 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BD.pngbin0 -> 515 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BE.pngbin0 -> 296 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BH.pngbin0 -> 395 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BR.pngbin0 -> 784 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BW.pngbin0 -> 299 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CA.pngbin0 -> 570 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CH.pngbin0 -> 633 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CL.pngbin0 -> 543 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CN.pngbin0 -> 445 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CO.pngbin0 -> 259 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CZ.pngbin0 -> 632 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/DE.pngbin0 -> 215 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/DK.pngbin0 -> 483 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/DO.pngbin0 -> 727 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/EG.pngbin0 -> 400 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/ES.pngbin0 -> 518 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/EU.pngbin0 -> 764 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/FI.pngbin0 -> 467 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/FR.pngbin0 -> 311 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/GB.pngbin0 -> 916 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/GR.pngbin0 -> 516 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/HK.pngbin0 -> 541 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/HU.pngbin0 -> 311 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/ID.pngbin0 -> 292 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IE.pngbin0 -> 291 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IL.pngbin0 -> 543 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IN.pngbin0 -> 418 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IQ.pngbin0 -> 509 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IS.pngbin0 -> 546 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IT.pngbin0 -> 337 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/JO.pngbin0 -> 594 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/JP.pngbin0 -> 493 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/KR.pngbin0 -> 851 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/LB.pngbin0 -> 494 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/LK.pngbin0 -> 743 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/LU.pngbin0 -> 301 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/MX.pngbin0 -> 504 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/MY.pngbin0 -> 602 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/NL.pngbin0 -> 304 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/NO.pngbin0 -> 660 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/NP.pngbin0 -> 1094 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/NZ.pngbin0 -> 778 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/OM.pngbin0 -> 618 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PE.pngbin0 -> 555 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PH.pngbin0 -> 485 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PK.pngbin0 -> 639 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PL.pngbin0 -> 277 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PT.pngbin0 -> 603 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/QA.pngbin0 -> 365 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SA.pngbin0 -> 586 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SE.pngbin0 -> 388 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SG.pngbin0 -> 517 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SI.pngbin0 -> 524 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SK.pngbin0 -> 717 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/TH.pngbin0 -> 302 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/TR.pngbin0 -> 419 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/TW.pngbin0 -> 577 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/US.pngbin0 -> 539 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/UY.pngbin0 -> 591 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/VE.pngbin0 -> 579 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/ZA.pngbin0 -> 719 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/info.pngbin0 -> 904 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/kcalc.pngbin0 -> 874 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/new.pngbin0 -> 722 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/qashmoney.pngbin0 -> 10132 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/redo.pngbin0 -> 916 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/save.pngbin0 -> 931 bytes
-rwxr-xr-xnoncore/apps/qashmoney/install/opt/QtPalmtop/pics/transfer.pngbin0 -> 969 bytes
-rwxr-xr-xnoncore/apps/qashmoney/ipkg-build163
-rwxr-xr-xnoncore/apps/qashmoney/main.cpp13
-rwxr-xr-xnoncore/apps/qashmoney/make_ipk41
-rwxr-xr-xnoncore/apps/qashmoney/memorydialog.cpp86
-rwxr-xr-xnoncore/apps/qashmoney/memorydialog.h40
-rwxr-xr-xnoncore/apps/qashmoney/newaccount.cpp209
-rwxr-xr-xnoncore/apps/qashmoney/newaccount.h87
-rwxr-xr-xnoncore/apps/qashmoney/newtransaction.cpp276
-rwxr-xr-xnoncore/apps/qashmoney/newtransaction.h95
-rwxr-xr-xnoncore/apps/qashmoney/qashmoney.h61
-rwxr-xr-xnoncore/apps/qashmoney/qashmoney.pro41
-rwxr-xr-xnoncore/apps/qashmoney/transferdialog.cpp114
-rwxr-xr-xnoncore/apps/qashmoney/transferdialog.h62
-rwxr-xr-xnoncore/apps/qashmoney/x86.sh10
106 files changed, 2620 insertions, 0 deletions
diff --git a/noncore/apps/qashmoney/LICENSE b/noncore/apps/qashmoney/LICENSE
new file mode 100755
index 0000000..421cfb2
--- a/dev/null
+++ b/noncore/apps/qashmoney/LICENSE
@@ -0,0 +1,348 @@
+QashMoney - Budget/Finance Software for the Sharp Zaurus Copyright (C) 2002 Allen Forsythe
+
+ You may use, distribute and copy the this software under the terms of
+ GNU General Public License version 2, which is displayed below.
+
+-------------------------------------------------------------------------
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 675 Mass Ave, Cambridge, MA 02139, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ Appendix: How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
+
+-------------------------------------------------------------------------
diff --git a/noncore/apps/qashmoney/accountdisplay.h b/noncore/apps/qashmoney/accountdisplay.h
new file mode 100755
index 0000000..37bcb34
--- a/dev/null
+++ b/noncore/apps/qashmoney/accountdisplay.h
@@ -0,0 +1,53 @@
+#ifndef ACCOUNTDISPLAY_H
+#define ACCOUNTDISPLAY_H
+
+#include <qlistview.h>
+#include <qpushbutton.h>
+#include <qlayout.h>
+#include <qtabwidget.h>
+#include <qhbox.h>
+
+class AccountDisplay : public QWidget
+ {
+ Q_OBJECT
+
+ public:
+ AccountDisplay ( QWidget *parent );
+
+ QHBox *firstline;
+
+ QPushButton* newaccount;
+ QPushButton* editaccount;
+ QPushButton* deleteaccount;
+ QPushButton* transferbutton;
+
+ QListView* listview;
+
+ QBoxLayout *layout;
+
+ void setTabs ( QWidget *newtab2, QTabWidget *newtabs );
+ int getIDColumn ();
+ void setToggleButton ();
+
+ public slots:
+ void addAccount ();
+ void editAccount ();
+ void deleteAccount ();
+ void accountTransfer ( bool state );
+ void getTransferAccounts ( QListViewItem * item );
+ void disableParentsWithChildren ();
+ void enableAccounts ();
+
+ private slots:
+ void saveColumnSize ( int column, int oldsize, int newsize );
+ void setAccountExpanded ( QListViewItem *item );
+ void setAccountCollapsed ( QListViewItem *item );
+
+ private:
+ int type, firstaccountid, secondaccountid, cleared;
+ QWidget *tab2;
+ QTabWidget *maintabs;
+};
+
+#endif // ACCOUNTDISPLAY_H
+
diff --git a/noncore/apps/qashmoney/budgetdisplay.cpp b/noncore/apps/qashmoney/budgetdisplay.cpp
new file mode 100755
index 0000000..09f62b2
--- a/dev/null
+++ b/noncore/apps/qashmoney/budgetdisplay.cpp
@@ -0,0 +1,408 @@
+#include <qmessagebox.h>
+#include <qheader.h>
+#include <qfont.h>
+#include <sqlite.h>
+
+#include "budgetdisplay.h"
+#include "budget.h"
+#include "newaccount.h"
+#include "datepicker.h"
+#include "preferences.h"
+#include "transaction.h"
+
+extern Preferences *preferences;
+extern Budget *budget;
+extern Transaction *transaction;
+
+BudgetDisplay::BudgetDisplay ( QWidget *parent ) : QWidget ( parent )
+ {
+ QFont font = this->font();
+ font.setWeight ( QFont::Bold );
+
+ //set the default date to today
+ newDate = QDate::currentDate ();
+ year = newDate.year();
+ month = newDate.month();
+ day = newDate.day();
+ datelabel = preferences->getDate ( year, month );
+
+ setCaption ( "Budget" );
+
+ firstline = new QHBox ( this );
+ firstline->setSpacing ( 2 );
+ secondline = new QHBox ( this );
+ secondline->setSpacing ( 10 );
+
+ menu = new QPEMenuBar ( this );
+ menu->setFrameStyle ( QFrame::Box | QFrame::Sunken );
+ budgetmenu = new QPopupMenu ( this );
+ lineitemsmenu = new QPopupMenu ( this );
+ datemenu = new QPopupMenu ( this );
+ menu->insertItem ( "Budget", budgetmenu );
+ menu->insertItem ( "Line Item", lineitemsmenu );
+ menu->insertItem ( "Date", datemenu );
+ budgetmenu->insertItem ( "New", this, SLOT ( newBudget () ), 0, 1 );
+ budgetmenu->insertItem ( "Edit", this, SLOT ( editBudget () ), 0, 2 );
+ budgetmenu->insertItem ( "Delete", this, SLOT ( deleteBudget () ), 0, 3 );
+ lineitemsmenu->insertItem ( "New", this, SLOT ( newLineItem () ), 0, 1 );
+ lineitemsmenu->insertItem ( "Edit", this, SLOT ( editLineItem () ), 0, 2 );
+ lineitemsmenu->insertItem ( "Delete", this, SLOT ( deleteLineItem () ), 0, 3 );
+ datemenu->insertItem ( "Change", this, SLOT ( showCalendar() ) );
+
+ budgetbox = new QComboBox ( firstline );
+ connect ( budgetbox, SIGNAL ( activated ( int ) ), this, SLOT ( setCurrentBudget ( int ) ) );
+
+ budgetview = new QComboBox ( firstline );
+ budgetview->insertItem ( "Month" );
+ budgetview->insertItem ( "Year" );
+ connect ( budgetview, SIGNAL ( activated ( int ) ), this, SLOT ( setCurrentView ( int ) ) );
+
+ budgeted = new QLabel ( secondline );
+ budgeted->setFont ( font );
+ actual = new QLabel ( secondline );
+ actual->setFont ( font );
+ date = new QLabel ( secondline );
+ date->setFont ( font );
+
+ listview = new QListView ( this );
+ listview->setAllColumnsShowFocus ( TRUE );
+ listview->setShowSortIndicator ( TRUE );
+ listview->setRootIsDecorated ( TRUE );
+ listview->setMultiSelection ( FALSE );
+ listview->addColumn ( "Line Item", preferences->getColumnPreference ( 13 ) ); // column id 13
+ listview->addColumn ( "Budget", preferences->getColumnPreference ( 14 ) ); // column id 14
+ listview->addColumn ( "Actual", preferences->getColumnPreference ( 15 ) ); // column id 15
+ listview->addColumn ( "", 0 ); // line item ids
+ listview->setColumnWidthMode ( 0, QListView::Manual );
+ listview->setColumnWidthMode ( 1, QListView::Manual );
+ listview->setColumnWidthMode ( 2, QListView::Manual );
+ listview->setColumnAlignment ( 1, Qt::AlignRight );
+ listview->setColumnAlignment ( 2, Qt::AlignRight );
+ listview->setColumnWidthMode ( 3, QListView::Manual );
+
+ listview->header()->setTracking ( FALSE );
+ connect ( listview->header(), SIGNAL ( sizeChange ( int, int, int ) ), this, SLOT ( saveColumnSize ( int, int, int ) ) );
+
+ displayBudgetNames();
+
+ layout = new QVBoxLayout ( this, 2, 2 );
+ layout->setMenuBar ( menu );
+ layout->addWidget ( firstline );
+ layout->addWidget ( secondline );
+ layout->addWidget ( listview );
+ }
+
+void BudgetDisplay::deleteBudget ()
+ {
+ listview->clear();
+ transaction->clearBudgetIDs ( currentbudget );
+ budget->deleteBudget ( currentbudget );
+ if ( budgetbox->count() != 0 )
+ displayBudgetNames();
+ checkBudgets();
+ }
+
+void BudgetDisplay::saveColumnSize ( int column, int oldsize, int newsize )
+ {
+ switch ( column )
+ {
+ case 0:
+ preferences->changeColumnPreference ( 13, newsize );
+ break;
+ case 1:
+ preferences->changeColumnPreference ( 14, newsize );
+ break;
+ case 2:
+ preferences->changeColumnPreference ( 15, newsize );
+ break;
+ }
+ }
+
+int BudgetDisplay::getIDColumn ()
+ {
+ int counter;
+ int columns = listview->columns();
+ for ( counter = 0; counter <= columns; counter++ )
+ if ( listview->header()->label ( counter ).length() == 0 )
+ return counter;
+ }
+
+void BudgetDisplay::newBudget ()
+ {
+ constructBudgetWindow();
+ int response = nb->exec();
+ if ( response == 1 )
+ {
+ // open a new budget object
+ int addedbudget = budget->addBudget ( budgetname->text(), 0, description->text(), currencybox->currencybox->currentText(), day, month, year, day, month, year, 0 );
+ transaction->clearBudgetIDs ( addedbudget );
+ displayBudgetNames();
+ }
+ checkBudgets();
+ }
+
+void BudgetDisplay::constructBudgetWindow ()
+ {
+ //construct and format the new budget window
+ nb = new QDialog ( this, 0, TRUE );
+ nb->setCaption ( "Budget" );
+ QLabel *namelabel = new QLabel ( "Budget Name", nb );
+ budgetname = new QLineEdit ( nb );
+ QLabel *descriptionlabel = new QLabel ( "Description", nb );
+ description = new QLineEdit ( nb );
+ currencybox = new Currency ( nb );
+ QBoxLayout *layout = new QVBoxLayout ( nb, 2, 2 );
+ layout->addWidget ( namelabel );
+ layout->addWidget ( budgetname );
+ layout->addWidget ( descriptionlabel );
+ layout->addWidget ( description );
+ layout->addWidget ( currencybox );
+ }
+
+void BudgetDisplay::displayBudgetNames ()
+ {
+ budgetbox->clear();
+ if ( budget->getNumberOfBudgets() != 0 )
+ {
+ ids = budget->getBudgetIDs();
+ for ( QStringList::Iterator it = ids->begin(); it != ids->end(); ++it )
+ {
+ QString flag = "/opt/QtPalmtop/pics/flags/";
+ flag.append ( budget->getCurrency ( (*it).toInt() ) );
+ flag.append ( ".png" );
+ budgetbox->insertItem ( QPixmap ( flag ), budget->getBudgetName ( (*it).toInt() ) );
+ }
+ setCurrentBudget ( 0 );
+ }
+ else
+ checkBudgets();
+ }
+
+void BudgetDisplay::setCurrentBudget ( int index )
+ {
+ currentbudget = ( ids->operator[] ( index ).toInt() );
+ displayLineItems();
+ }
+
+void BudgetDisplay::setCurrentView ( int index )
+ {
+ displayLineItems();
+ }
+
+void BudgetDisplay::showCalendar ()
+ {
+ // create new calendar object and show it
+ DatePicker *dp = new DatePicker ( QDate ( year, month, day ) );
+ dp->daylabel->hide();
+ dp->daybox->hide();
+ if ( budgetview->currentItem() == 1 )
+ {
+ dp->monthlabel->hide();
+ dp->monthbox->hide();
+ }
+ dp->setMaximumWidth ( ( int ) ( this->size().width() * 0.9 ) );
+
+ int response = dp->exec();
+ if ( response == 1 )
+ {
+ // Set date integers
+ year = dp->getYear();
+ if ( budgetview->currentItem() == 0 )
+ month = dp->getMonth();
+ else
+ month = newDate.month();
+ datelabel = preferences->getDate ( year, month );
+ displayLineItems();
+ }
+ }
+
+void BudgetDisplay::newLineItem ()
+ {
+ //construct and format the new line item window
+ constructLineItemWindow ();
+
+ int response = newlineitem->exec();
+ if ( response == 1 )
+ {
+ float amount;
+ if ( lineitemtime->currentItem() == 0 )
+ amount = lineitemamount->text().toFloat();
+ else if ( lineitemtime->currentItem() == 1 )
+ amount = lineitemamount->text().toFloat() * 12;
+ else
+ amount = lineitemamount->text().toFloat() * 52;
+ int lineitemadded = budget->addLineItem ( currentbudget, lineitemname->text(), amount, lineitemtime->currentItem() );
+ transaction->clearBudgetIDs ( currentbudget, lineitemadded );
+ displayLineItems();
+ }
+ checkBudgets();
+ }
+
+void BudgetDisplay::constructLineItemWindow ()
+ {
+ //construct and format the new budget window
+ newlineitem = new QDialog ( this, 0, TRUE );
+ newlineitem->setCaption ( "Line Item" );
+ QLabel *namelabel = new QLabel ( "Line Item Name", newlineitem );
+ lineitemname = new QLineEdit ( newlineitem );
+ QLabel *budgetamountlabel = new QLabel ( "Budget Amount", newlineitem );
+ lineitemamount = new QLineEdit ( newlineitem );
+ QLabel *lineitemtimelabel = new QLabel ( "Per:", newlineitem );
+ lineitemtime = new QComboBox ( newlineitem );
+ lineitemtime->insertItem ( "Year" ); // type 0
+ lineitemtime->insertItem ( "Month" ); // type 1
+ lineitemtime->insertItem ( "Week" ); // type 2
+ QBoxLayout *layout = new QVBoxLayout ( newlineitem, 2, 2 );
+ layout->addWidget ( namelabel );
+ layout->addWidget ( lineitemname );
+ layout->addWidget ( budgetamountlabel );
+ layout->addWidget ( lineitemamount );
+ layout->addWidget ( lineitemtimelabel );
+ layout->addWidget ( lineitemtime );
+ }
+
+void BudgetDisplay::deleteLineItem ()
+ {
+ if ( listview->selectedItem() != 0 )
+ {
+ int lineitemid = listview->selectedItem()->text ( getIDColumn() ).toInt();
+ transaction->clearBudgetIDs ( currentbudget, lineitemid );
+ budget->deleteLineItem ( currentbudget, lineitemid );
+ displayBudgetNames();
+ }
+ else
+ QMessageBox::warning ( this, "QashMoney", "Please select a line item to delete." );
+ checkBudgets();
+ }
+
+void BudgetDisplay::displayLineItems ()
+ {
+ listview->clear();
+ if ( budget->getNumberOfBudgets() != 0 )
+ {
+ QString budgettable = budgetbox->currentText();
+ budgettable.append ( QString::number ( currentbudget ) );
+ budget->displayLineItems ( currentbudget, listview, month, year, budgetview->currentItem() );
+ totalactual = transaction->getActualTotal ( currentbudget, year, month, budgetview->currentItem() );
+ totalbudget = budget->getBudgetTotal ( currentbudget, budgetview->currentItem() );
+ updateBudgetInformation();
+ }
+ }
+
+void BudgetDisplay::checkBudgets ()
+ {
+ if ( budget->getNumberOfBudgets() == 0 )
+ {
+ budgetview->setEnabled ( FALSE );
+ budgetmenu->setItemEnabled ( 2, FALSE );
+ budgetmenu->setItemEnabled ( 3, FALSE );
+ lineitemsmenu->setItemEnabled ( 1, FALSE );
+ lineitemsmenu->setItemEnabled ( 2, FALSE );
+ lineitemsmenu->setItemEnabled ( 3, FALSE );
+ }
+ else
+ {
+ budgetview->setEnabled ( TRUE );
+ budgetmenu->setItemEnabled ( 2, TRUE );
+ budgetmenu->setItemEnabled ( 3, TRUE );
+ lineitemsmenu->setItemEnabled ( 1, TRUE );
+ lineitemsmenu->setItemEnabled ( 2, FALSE );
+ lineitemsmenu->setItemEnabled ( 3, FALSE );
+
+ if ( budget->getNumberOfLineItems ( currentbudget ) != 0 )
+ {
+ lineitemsmenu->setItemEnabled ( 2, TRUE );
+ lineitemsmenu->setItemEnabled ( 3, TRUE );
+ }
+ }
+ }
+
+void BudgetDisplay::updateBudgetInformation ()
+ {
+ if ( budgetview->currentItem() == 0 )
+ {
+ datelabel = preferences->getDate ( year, month );
+ datelabel.prepend ( "Date: " );
+ date->setText ( datelabel );
+ }
+ else
+ date->setText ( QString::number ( year ) );
+
+ QString budget = "Budget: ";
+ budget.append ( totalbudget );
+ budgeted->setText ( budget );
+
+ QString actualamount = "Actual: ";
+ actualamount.append ( totalactual );
+ actual->setText ( actualamount );
+ }
+
+void BudgetDisplay::editBudget ()
+ {
+ constructBudgetWindow();
+
+ //set the title
+ budgetname->setText ( budget->getBudgetName ( currentbudget ) );
+ //set the description
+ description->setText ( budget->getBudgetDescription ( currentbudget ) );
+ // retrieve the two character currency code then
+ // go through the currencty box and find the code
+ //set the currency box to that index number
+ int count = currencybox->currencybox->count();
+ QString code = budget->getCurrency ( currentbudget );
+ for ( int counter = 0; count - 1; counter++ )
+ {
+ if ( QString::compare (currencybox->currencybox->text ( counter ), code ) == 0 )
+ {
+ currencybox->currencybox->setCurrentItem ( counter );
+ break;
+ }
+ }
+ int response = nb->exec();
+ if ( response == 1 )
+ {
+ budget->updateBudget ( budgetname->text(), description->text(), currencybox->currencybox->currentText(), currentbudget );
+ displayBudgetNames();
+ }
+ }
+
+void BudgetDisplay::editLineItem ()
+ {
+ if ( listview->selectedItem() != 0 )
+ {
+ constructLineItemWindow();
+
+ // set the line item name
+ lineitemname->setText ( listview->selectedItem()->text( 0 ) );
+
+ // set the line item time combobox
+ int lineitemtype = budget->getLineItemTime ( currentbudget, listview->selectedItem()->text ( 3 ).toInt() );
+ lineitemtime->setCurrentItem ( lineitemtype );
+
+ // set the line item amount
+ float amount = budget->getLineItemAmount ( currentbudget, listview->selectedItem()->text ( 3 ).toInt() );
+ if ( lineitemtype == 1 )
+ amount = amount / 12;
+ else if ( lineitemtype == 2 )
+ amount = amount / 52;
+ lineitemamount->setText ( QString::number ( amount ) );
+
+ int response = newlineitem->exec();
+ if ( response == 1 )
+ {
+ float amount;
+ if ( lineitemtime->currentItem() == 0 )
+ amount = lineitemamount->text().toFloat();
+ else if ( lineitemtime->currentItem() == 1 )
+ amount = lineitemamount->text().toFloat() * 12;
+ else
+ amount = lineitemamount->text().toFloat() * 52;
+ budget->updateLineItem ( lineitemname->text(), amount, lineitemtime->currentItem(), currentbudget, listview->selectedItem()->text ( 3 ).toInt() );
+ displayLineItems();
+ }
+ }
+ else
+ QMessageBox::warning ( this, "QashMoney", "Please select a line item to edit." );
+ }
+
+
diff --git a/noncore/apps/qashmoney/budgetdisplay.h b/noncore/apps/qashmoney/budgetdisplay.h
new file mode 100755
index 0000000..25e952a
--- a/dev/null
+++ b/noncore/apps/qashmoney/budgetdisplay.h
@@ -0,0 +1,85 @@
+#ifndef BUDGETDISPLAY_H
+#define BUDGETDISPLAY_H
+
+#include <qlistview.h>
+#include <qlineedit.h>
+#include <qpushbutton.h>
+#include <qcombobox.h>
+#include <qlayout.h>
+#include <qlabel.h>
+#include <qstringlist.h>
+#include <qdatetime.h>
+#include <qpe/qpemenubar.h>
+#include <qpopupmenu.h>
+#include <qhbox.h>
+
+#include "currency.h"
+
+class BudgetDisplay : public QWidget
+ {
+ Q_OBJECT
+
+ public:
+ BudgetDisplay ( QWidget *parent );
+
+ QPEMenuBar *menu;
+ QPopupMenu *budgetmenu;
+ QPopupMenu *lineitemsmenu;
+ QPopupMenu *datemenu;
+
+ QHBox *firstline;
+ QHBox *secondline;
+
+ QLabel *budgeted;
+ QLabel *actual;
+ QLabel *date;
+
+ QLineEdit *budgetname;
+ QLineEdit *description;
+ Currency *currencybox;
+
+ QLineEdit *lineitemname;
+ QLineEdit *lineitemamount;
+ QComboBox *lineitemtime;
+
+ QListView *listview;
+ QComboBox *budgetbox;
+ QComboBox *budgetview;
+
+ QBoxLayout *layout;
+
+ int getIDColumn ();
+
+ public slots:
+ void displayBudgetNames ();
+ void displayLineItems ();
+ void updateBudgetInformation ();
+
+ private slots:
+ void saveColumnSize ( int column, int oldsize, int newsize );
+ void newBudget ();
+ void deleteBudget ();
+ void setCurrentBudget ( int );
+ void setCurrentView ( int );
+ void showCalendar ();
+ void newLineItem ();
+ void deleteLineItem ();
+ void checkBudgets ();
+ void editBudget ();
+ void editLineItem ();
+ void constructBudgetWindow ();
+ void constructLineItemWindow ();
+
+ private:
+ QStringList *names;
+ QStringList *ids;
+ int currentbudget, year, month, day;
+ QDate newDate;
+ QString totalbudget, totalactual;
+ QString datelabel;
+ QDialog *nb;
+ QDialog *newlineitem;
+};
+
+#endif // BUDGETDISPLAY_H
+
diff --git a/noncore/apps/qashmoney/calculator.cpp b/noncore/apps/qashmoney/calculator.cpp
new file mode 100755
index 0000000..0e0a043
--- a/dev/null
+++ b/noncore/apps/qashmoney/calculator.cpp
@@ -0,0 +1,113 @@
+#include "calculator.h"
+
+#include <qpushbutton.h>
+
+Calculator::Calculator ( QWidget* parent ) : QDialog ( parent, 0, TRUE )
+ {
+
+ display = new QLineEdit ( this, "display" );
+ display->setFrame ( FALSE );
+ display->setAlignment ( Qt::AlignRight );
+
+ QPushButton *one = new QPushButton ( "1", this, "one" ); // make buttons for first row
+ one->setFlat ( TRUE );
+ connect ( one, SIGNAL ( released () ), this, SLOT ( displayOne () ) );
+
+ QPushButton *two = new QPushButton ( "2", this, "two" );
+ two->setFlat ( TRUE );
+ connect ( two, SIGNAL ( released () ), this, SLOT ( displayTwo () ) );
+
+ QPushButton *three = new QPushButton ( "3", this, "three" );
+ three->setFlat ( TRUE );
+ connect ( three, SIGNAL ( released () ), this, SLOT ( displayThree () ) );
+
+ QPushButton *four = new QPushButton ( "4", this, "four" ); // make buttons for second row
+ four->setFlat ( TRUE );
+ connect ( four, SIGNAL ( released () ), this, SLOT ( displayFour () ) );
+
+ QPushButton *five = new QPushButton ( "5", this, "five" );
+ five->setFlat ( TRUE );
+ connect ( five, SIGNAL ( released () ), this, SLOT ( displayFive () ) );
+
+ QPushButton *six = new QPushButton ( "6", this, "six" );
+ six->setFlat ( TRUE );
+ connect ( six, SIGNAL ( released () ), this, SLOT ( displaySix () ) );
+
+ QPushButton *seven = new QPushButton ( "7", this, "seven" ); // make buttons for third row
+ seven->setFlat ( TRUE );
+ connect ( seven, SIGNAL ( released () ), this, SLOT ( displaySeven () ) );
+
+ QPushButton *eight = new QPushButton ( "8", this, "eight" );
+ eight->setFlat ( TRUE );
+ connect ( eight, SIGNAL ( released () ), this, SLOT ( displayEight () ) );
+
+ QPushButton *nine = new QPushButton ( "9", this, "nine" );
+ nine->setFlat ( TRUE );
+ connect ( nine, SIGNAL ( released () ), this, SLOT ( displayNine () ) );
+
+ QPushButton *zero = new QPushButton ( "0", this, "zero" );
+ zero->setFlat ( TRUE );
+ connect ( zero, SIGNAL ( released () ), this, SLOT ( displayZero () ) );
+
+ QPushButton *dp = new QPushButton ( ".", this, "dp" );
+ dp->setFlat ( TRUE );
+ connect ( dp, SIGNAL ( released () ), this, SLOT ( displayPoint () ) );
+
+ QPushButton *back = new QPushButton ( "<-", this, "back" );
+ back->setFlat ( TRUE );
+ connect ( back, SIGNAL ( released () ), this, SLOT ( back () ) );
+
+ layout = new QGridLayout ( this, 5, 3, 5, 1, "calculatorlayout" );
+ layout->addMultiCellWidget ( display, 0, 0, 0, 2 );
+ layout->addWidget ( one, 1, 0 );
+ layout->addWidget ( two, 1, 1 );
+ layout->addWidget ( three, 1, 2 );
+ layout->addWidget ( four, 2, 0 );
+ layout->addWidget ( five, 2, 1 );
+ layout->addWidget ( six, 2, 2 );
+ layout->addWidget ( seven, 3, 0 );
+ layout->addWidget ( eight, 3, 1 );
+ layout->addWidget ( nine, 3, 2 );
+ layout->addWidget ( zero, 4, 0 );
+ layout->addWidget ( dp, 4, 1 );
+ layout->addWidget ( back, 4, 2 );
+
+ }
+
+void Calculator::displayOne ()
+ { display->insert ( "1" ); }
+
+void Calculator::displayTwo ()
+ { display->insert ( "2" ); }
+
+void Calculator::displayThree ()
+ { display->insert ( "3" ); }
+
+void Calculator::displayFour ()
+ { display->insert ( "4" ); }
+
+void Calculator::displayFive ()
+ { display->insert ( "5" ); }
+
+void Calculator::displaySix ()
+ { display->insert ( "6" ); }
+
+void Calculator::displaySeven ()
+ { display->insert ( "7" ); }
+
+void Calculator::displayEight ()
+ { display->insert ( "8" ); }
+
+void Calculator::displayNine ()
+ { display->insert ( "9" ); }
+
+void Calculator::displayZero ()
+ { display->insert ( "0" ); }
+
+void Calculator::displayPoint ()
+ { display->insert ( "." ); }
+
+void Calculator::back ()
+ { display->backspace(); }
+
+
diff --git a/noncore/apps/qashmoney/calculator.h b/noncore/apps/qashmoney/calculator.h
new file mode 100755
index 0000000..56dc1bc
--- a/dev/null
+++ b/noncore/apps/qashmoney/calculator.h
@@ -0,0 +1,50 @@
+#ifndef CALCULATOR_H
+#define CALCULATOR_H
+
+#include <qdialog.h>
+#include <qlayout.h>
+#include <qlineedit.h>
+
+class Calculator : public QDialog
+{
+ Q_OBJECT
+
+ public:
+
+ Calculator ( QWidget* parent );
+
+ QLineEdit* display;
+
+ private slots:
+
+ void displayOne ();
+ void displayTwo ();
+ void displayThree ();
+ void displayFour ();
+ void displayFive ();
+ void displaySix ();
+ void displaySeven ();
+ void displayEight ();
+ void displayNine ();
+ void displayZero ();
+ void displayPoint ();
+ void back ();
+
+ private:
+
+ QGridLayout *layout;
+
+};
+
+#endif
+
+
+
+
+
+
+
+
+
+
+
diff --git a/noncore/apps/qashmoney/currency.cpp b/noncore/apps/qashmoney/currency.cpp
new file mode 100755
index 0000000..20412a7
--- a/dev/null
+++ b/noncore/apps/qashmoney/currency.cpp
@@ -0,0 +1,80 @@
+#include "currency.h"
+
+Currency::Currency ( QWidget *parent ) : QWidget ( parent )
+ {
+ currencylabel = new QLabel ( "Currency", this );
+ currencybox = new QComboBox ( this );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/AE.png"), "AE" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/AR.png"), "AR" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/AT.png"), "AT" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/AU.png"), "AU" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/BD.png"), "BD" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/BE.png"), "BE" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/BH.png"), "BH" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/BR.png"), "BR" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/BW.png"), "BW" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/CA.png"), "CA" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/CH.png"), "CH" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/CL.png"), "CL" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/CN.png"), "CN" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/CO.png"), "CO" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/CZ.png"), "CZ" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/DE.png"), "DE" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/DK.png"), "DK" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/DO.png"), "DO" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/EG.png"), "EG" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/ES.png"), "ES" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/EU.png"), "EU" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/FL.png"), "FL" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/FR.png"), "FR" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/GB.png"), "GB" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/GR.png"), "GR" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/HK.png"), "HK" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/HU.png"), "HU" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/ID.png"), "ID" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/IE.png"), "IE" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/IL.png"), "IL" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/IN.png"), "IN" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/IQ.png"), "IQ" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/IS.png"), "IS" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/IT.png"), "IT" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/JO.png"), "JO" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/JP.png"), "JP" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/KR.png"), "KR" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/LB.png"), "LB" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/LK.png"), "LK" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/LU.png"), "LU" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/MX.png"), "MX" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/MY.png"), "MY" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/NL.png"), "NL" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/NO.png"), "NO" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/NP.png"), "NP" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/NZ.png"), "NZ" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/OM.png"), "OM" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/PE.png"), "PE" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/PH.png"), "PH" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/PK.png"), "PK" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/PL.png"), "PL" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/PT.png"), "PT" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/QA.png"), "QA" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/SA.png"), "SA" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/SE.png"), "SE" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/SG.png"), "SG" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/SI.png"), "SK" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/TH.png"), "TH" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/TR.png"), "TR" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/TW.png"), "TW" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/US.png"), "US" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/UY.png"), "UY" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/VE.png"), "VE" );
+ currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/ZA.png"), "ZA" );
+
+ layout = new QVBoxLayout ( this );
+ layout->addWidget ( currencylabel );
+ layout->addWidget ( currencybox );
+ }
+
+
+
+
+
diff --git a/noncore/apps/qashmoney/currency.h b/noncore/apps/qashmoney/currency.h
new file mode 100755
index 0000000..08bb3c1
--- a/dev/null
+++ b/noncore/apps/qashmoney/currency.h
@@ -0,0 +1,23 @@
+#ifndef CURRENCY_H
+#define CURRENCY_H
+
+#include <qgroupbox.h>
+#include <qlabel.h>
+#include <qcombobox.h>
+#include <qpixmap.h>
+#include <qlayout.h>
+
+class Currency : public QWidget
+ {
+ Q_OBJECT
+
+ public:
+
+ Currency ( QWidget *parent );
+ QLabel *currencylabel;
+ QComboBox *currencybox;
+ QBoxLayout *layout;
+ };
+
+#endif
+
diff --git a/noncore/apps/qashmoney/datepicker.cpp b/noncore/apps/qashmoney/datepicker.cpp
new file mode 100755
index 0000000..02fbcf3
--- a/dev/null
+++ b/noncore/apps/qashmoney/datepicker.cpp
@@ -0,0 +1,95 @@
+#include "datepicker.h"
+
+DatePicker::DatePicker ( QDate entrydate ) : QDialog ( 0, 0, TRUE )
+ {
+ setCaption ( "Select Date" );
+ date = entrydate;
+ day = date.day();
+ month = date.month();
+ year = date.year();
+
+ daylabel = new QLabel ( "Day", this );
+ monthlabel = new QLabel ( "Month", this );
+ yearlabel = new QLabel ( "Year", this );
+
+ daybox = new QComboBox ( this, "daybox" );
+ connect ( daybox, SIGNAL ( activated ( int ) ), this, SLOT ( setDay ( int ) ) );
+ displayDays ( daybox );
+ monthbox = new QComboBox ( this, "monthbox" );
+ connect ( monthbox, SIGNAL ( activated ( int ) ), this, SLOT ( setMonth ( int ) ) );
+ displayMonths ( monthbox );
+ yearbox = new QComboBox ( this, "yearbox" );
+ connect ( yearbox, SIGNAL ( activated ( int ) ), this, SLOT ( setYear ( int ) ) );
+ displayYears ( yearbox );
+
+ layout = new QGridLayout ( this, 2, 3, 5, 5, "datepickerlayout" );
+ layout->addWidget ( daylabel, 0, 2 );
+ layout->addWidget ( monthlabel, 0, 1 );
+ layout->addWidget ( yearlabel, 0, 0 );
+ layout->addWidget ( daybox, 1, 2 );
+ layout->addWidget ( monthbox, 1, 1 );
+ layout->addWidget ( yearbox, 1, 0 );
+ }
+
+void DatePicker::displayDays ( QComboBox *daybox )
+ {
+ int counter;
+ int days = date.daysInMonth();
+ for ( counter = 1; counter <= days; counter++ )
+ daybox->insertItem ( QString::number ( counter ) );
+ daybox->setCurrentItem ( ( date.day() ) - 1 );
+ }
+
+void DatePicker::displayMonths ( QComboBox *monthbox )
+ {
+ int counter;
+ for ( counter = 1; counter <= 12; counter++ )
+ monthbox->insertItem ( QString::number ( counter ) );
+ monthbox->setCurrentItem ( ( date.month() ) - 1 );
+ }
+
+void DatePicker::displayYears ( QComboBox *yearbox )
+ {
+ int counter;
+ int indexcounter = 0;
+ int yearindex = 0;
+ int year = date.year();
+ for ( counter = ( year - 1 ); counter <= ( year + 1 ); counter++ )
+ {
+ yearbox->insertItem ( QString::number ( counter ) );
+ if ( date.year() == counter )
+ yearindex = indexcounter;
+ indexcounter ++;
+ }
+ yearbox->setCurrentItem ( yearindex );
+ }
+
+void DatePicker::setDay ( int index )
+ {
+ day = daybox->text ( index ).toInt();
+ }
+
+void DatePicker::setMonth ( int index )
+ {
+ month = monthbox->text( index ).toInt();
+ }
+
+void DatePicker::setYear ( int index )
+ {
+ year = yearbox->text ( index ).toInt();
+ }
+
+int DatePicker::getDay ()
+ { return day; }
+
+int DatePicker::getMonth ()
+ { return month; }
+
+int DatePicker::getYear ()
+ { return year; }
+
+
+
+
+
+
diff --git a/noncore/apps/qashmoney/datepicker.h b/noncore/apps/qashmoney/datepicker.h
new file mode 100755
index 0000000..67e63e9
--- a/dev/null
+++ b/noncore/apps/qashmoney/datepicker.h
@@ -0,0 +1,60 @@
+#ifndef DATEPICKER_H
+#define DATEPICKER_H
+
+#include <qdialog.h>
+#include <qlabel.h>
+#include <qdatetime.h>
+#include <qcombobox.h>
+#include <qlayout.h>
+
+class DatePicker : public QDialog
+
+ {
+ Q_OBJECT
+
+ public:
+ QLabel *daylabel;
+ QComboBox *daybox;
+
+ QLabel *monthlabel;
+ QComboBox *monthbox;
+
+ DatePicker ( QDate entrydate );
+ int getDay ();
+ int getMonth ();
+ int getYear ();
+
+ private slots:
+ void setDay ( int );
+ void setMonth ( int );
+ void setYear ( int );
+
+ private:
+ void displayDays ( QComboBox *daybox );
+ void displayMonths ( QComboBox *monthbox );
+ void displayYears ( QComboBox *yearbox );
+
+ QDate date;
+
+ QLabel *yearlabel;
+ QComboBox *yearbox;
+
+ QGridLayout *layout;
+
+ int day, month, year;
+
+ };
+
+#endif
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/apps/Applications/qashmoney.desktop b/noncore/apps/qashmoney/install/opt/QtPalmtop/apps/Applications/qashmoney.desktop
new file mode 100755
index 0000000..e2ea077
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/apps/Applications/qashmoney.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Comment=QashMoney, budget software for the Z
+Exec=qashmoney
+Icon=qashmoney.png
+Name=QashMoney
+Terminal=false
+Type=Application
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/help/html/editaccountwindow.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/help/html/editaccountwindow.png
new file mode 100755
index 0000000..e0bbdcb
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/help/html/editaccountwindow.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/help/html/editbudgetwindow.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/help/html/editbudgetwindow.png
new file mode 100755
index 0000000..6645487
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/help/html/editbudgetwindow.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/help/html/memorywindow.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/help/html/memorywindow.png
new file mode 100755
index 0000000..df40275
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/help/html/memorywindow.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/help/html/newbudgetwindow.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/help/html/newbudgetwindow.png
new file mode 100755
index 0000000..1fe4bbe
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/help/html/newbudgetwindow.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/help/html/newlineitemwindow.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/help/html/newlineitemwindow.png
new file mode 100755
index 0000000..66c7b13
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/help/html/newlineitemwindow.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/date.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/date.png
new file mode 100755
index 0000000..3ce036e
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/date.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/defaults.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/defaults.png
new file mode 100755
index 0000000..6ccd9c8
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/defaults.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/delete.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/delete.png
new file mode 100755
index 0000000..1305622
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/delete.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/edit.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/edit.png
new file mode 100755
index 0000000..07a5521
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/edit.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/AE.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/AE.png
new file mode 100755
index 0000000..109cd9e
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/AE.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/AR.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/AR.png
new file mode 100755
index 0000000..1ca1fce
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/AR.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/AT.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/AT.png
new file mode 100755
index 0000000..d236c51
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/AT.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/AU.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/AU.png
new file mode 100755
index 0000000..f29d936
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/AU.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BD.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BD.png
new file mode 100755
index 0000000..ffe2691
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BD.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BE.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BE.png
new file mode 100755
index 0000000..12daf2b
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BE.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BH.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BH.png
new file mode 100755
index 0000000..1192ddd
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BH.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BR.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BR.png
new file mode 100755
index 0000000..1c3bfc4
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BR.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BW.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BW.png
new file mode 100755
index 0000000..e9ef51c
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/BW.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CA.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CA.png
new file mode 100755
index 0000000..30d9cf9
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CA.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CH.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CH.png
new file mode 100755
index 0000000..2312b8c
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CH.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CL.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CL.png
new file mode 100755
index 0000000..065c1fb
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CL.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CN.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CN.png
new file mode 100755
index 0000000..6c3eca5
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CN.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CO.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CO.png
new file mode 100755
index 0000000..3f45ba1
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CO.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CZ.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CZ.png
new file mode 100755
index 0000000..345442e
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/CZ.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/DE.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/DE.png
new file mode 100755
index 0000000..f5d0eec
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/DE.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/DK.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/DK.png
new file mode 100755
index 0000000..58066ef
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/DK.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/DO.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/DO.png
new file mode 100755
index 0000000..54b8d31
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/DO.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/EG.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/EG.png
new file mode 100755
index 0000000..f5b00e4
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/EG.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/ES.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/ES.png
new file mode 100755
index 0000000..e6113b5
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/ES.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/EU.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/EU.png
new file mode 100755
index 0000000..7d2814d
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/EU.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/FI.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/FI.png
new file mode 100755
index 0000000..ae3717f
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/FI.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/FR.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/FR.png
new file mode 100755
index 0000000..7a57222
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/FR.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/GB.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/GB.png
new file mode 100755
index 0000000..38978a7
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/GB.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/GR.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/GR.png
new file mode 100755
index 0000000..88aea91
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/GR.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/HK.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/HK.png
new file mode 100755
index 0000000..4e2413d
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/HK.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/HU.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/HU.png
new file mode 100755
index 0000000..a46f76d
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/HU.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/ID.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/ID.png
new file mode 100755
index 0000000..24466f0
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/ID.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IE.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IE.png
new file mode 100755
index 0000000..b287a55
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IE.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IL.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IL.png
new file mode 100755
index 0000000..883540c
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IL.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IN.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IN.png
new file mode 100755
index 0000000..d7e957e
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IN.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IQ.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IQ.png
new file mode 100755
index 0000000..e070244
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IQ.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IS.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IS.png
new file mode 100755
index 0000000..fe09785
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IS.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IT.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IT.png
new file mode 100755
index 0000000..d11b509
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/IT.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/JO.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/JO.png
new file mode 100755
index 0000000..5827918
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/JO.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/JP.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/JP.png
new file mode 100755
index 0000000..3ef6759
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/JP.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/KR.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/KR.png
new file mode 100755
index 0000000..51058cc
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/KR.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/LB.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/LB.png
new file mode 100755
index 0000000..276dee0
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/LB.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/LK.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/LK.png
new file mode 100755
index 0000000..0d15516
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/LK.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/LU.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/LU.png
new file mode 100755
index 0000000..79c2f10
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/LU.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/MX.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/MX.png
new file mode 100755
index 0000000..0da3e22
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/MX.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/MY.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/MY.png
new file mode 100755
index 0000000..b240e3f
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/MY.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/NL.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/NL.png
new file mode 100755
index 0000000..b4d04ca
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/NL.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/NO.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/NO.png
new file mode 100755
index 0000000..09dc0ad
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/NO.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/NP.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/NP.png
new file mode 100755
index 0000000..b866254
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/NP.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/NZ.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/NZ.png
new file mode 100755
index 0000000..eba8917
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/NZ.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/OM.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/OM.png
new file mode 100755
index 0000000..6a675c2
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/OM.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PE.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PE.png
new file mode 100755
index 0000000..61a4c7f
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PE.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PH.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PH.png
new file mode 100755
index 0000000..415e537
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PH.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PK.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PK.png
new file mode 100755
index 0000000..f940d6b
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PK.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PL.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PL.png
new file mode 100755
index 0000000..b7cf99d
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PL.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PT.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PT.png
new file mode 100755
index 0000000..a46a487
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/PT.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/QA.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/QA.png
new file mode 100755
index 0000000..bb1493e
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/QA.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SA.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SA.png
new file mode 100755
index 0000000..d0cdaef
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SA.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SE.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SE.png
new file mode 100755
index 0000000..304469f
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SE.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SG.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SG.png
new file mode 100755
index 0000000..eba51bc
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SG.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SI.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SI.png
new file mode 100755
index 0000000..3014a8f
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SI.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SK.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SK.png
new file mode 100755
index 0000000..f6d6b78
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/SK.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/TH.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/TH.png
new file mode 100755
index 0000000..6e76f54
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/TH.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/TR.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/TR.png
new file mode 100755
index 0000000..7c6a798
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/TR.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/TW.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/TW.png
new file mode 100755
index 0000000..f87bdc1
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/TW.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/US.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/US.png
new file mode 100755
index 0000000..33819b5
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/US.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/UY.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/UY.png
new file mode 100755
index 0000000..de0498a
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/UY.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/VE.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/VE.png
new file mode 100755
index 0000000..35d6608
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/VE.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/ZA.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/ZA.png
new file mode 100755
index 0000000..6e9d2e3
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/flags/ZA.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/info.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/info.png
new file mode 100755
index 0000000..7b01c03
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/info.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/kcalc.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/kcalc.png
new file mode 100755
index 0000000..6d5cb68
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/kcalc.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/new.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/new.png
new file mode 100755
index 0000000..5b9f95d
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/new.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/qashmoney.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/qashmoney.png
new file mode 100755
index 0000000..c17d28f
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/qashmoney.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/redo.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/redo.png
new file mode 100755
index 0000000..ade2ea8
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/redo.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/save.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/save.png
new file mode 100755
index 0000000..22f20ea
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/save.png
Binary files differ
diff --git a/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/transfer.png b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/transfer.png
new file mode 100755
index 0000000..3738987
--- a/dev/null
+++ b/noncore/apps/qashmoney/install/opt/QtPalmtop/pics/transfer.png
Binary files differ
diff --git a/noncore/apps/qashmoney/ipkg-build b/noncore/apps/qashmoney/ipkg-build
new file mode 100755
index 0000000..3ec1364
--- a/dev/null
+++ b/noncore/apps/qashmoney/ipkg-build
@@ -0,0 +1,163 @@
+#!/bin/sh
+
+# ipkg-build -- construct a .ipk from a directory
+# Carl Worth <cworth@east.isi.edu>
+# based on a script by Steve Redler IV, steve@sr-tech.com 5-21-2001
+set -e
+
+ipkg_extract_value() {
+ sed -e "s/^[^:]*:[[:space:]]*//"
+}
+
+required_field() {
+ field=$1
+
+ value=`grep "^$field:" < $CONTROL/control | ipkg_extract_value`
+ if [ -z "$value" ]; then
+ echo "*** Error: $CONTROL/control is missing field $field" >&2
+ return 1
+ fi
+ echo $value
+ return 0
+}
+
+pkg_appears_sane() {
+ local pkg_dir=$1
+
+ local owd=`pwd`
+ cd $pkg_dir
+
+ PKG_ERROR=0
+
+ large_uid_files=`find . -uid +99`
+ if [ -n "$large_uid_files" ]; then
+ echo "*** Warning: The following files have a UID greater than 99.
+You probably want to chown these to a system user: " >&2
+ ls -ld $large_uid_files
+ echo >&2
+ fi
+
+
+ if [ ! -f "$CONTROL/control" ]; then
+ echo "*** Error: Control file $pkg_dir/$CONTROL/control not found." >&2
+ cd $owd
+ return 1
+ fi
+
+ pkg=`required_field Package`
+ [ "$?" -ne 0 ] && PKG_ERROR=1
+
+ version=`required_field Version | sed 's/.*://;'`
+ [ "$?" -ne 0 ] && PKG_ERROR=1
+
+ arch=`required_field Architecture`
+ [ "$?" -ne 0 ] && PKG_ERROR=1
+
+ required_field Maintainer >/dev/null
+ [ "$?" -ne 0 ] && PKG_ERROR=1
+
+ required_field Description >/dev/null
+ [ "$?" -ne 0 ] && PKG_ERROR=1
+
+ section=`required_field Section`
+ [ "$?" -ne 0 ] && PKG_ERROR=1
+ if [ -z "$section" ]; then
+ echo "The Section field should have one of the following values:" >&2
+ echo "Games, Multimedia, Communications, Settings, Utilies, Applications, Console, Misc" >&2
+ fi
+
+ priority=`required_field Priority`
+ [ "$?" -ne 0 ] && PKG_ERROR=1
+ if [ -z "$priority" ]; then
+ echo "The Priority field should have one of the following values:" >&2
+ echo "required, important, standard, optional, extra." >&2
+ echo "If you don't know which priority value you should be using, then use \`optional'" >&2
+ fi
+
+ if echo $pkg | grep '[^a-z0-9.+-]'; then
+ echo "*** Error: Package name $name contains illegal characters, (other than [a-z0-9.+-])" >&2
+ PKG_ERROR=1;
+ fi
+
+ local bad_fields=`sed -ne 's/^\([^[:space:]][^:[:space:]]\+[[:space:]]\+\)[^:].*/\1/p' < $CONTROL/control | sed -e 's/\\n//'`
+ if [ -n "$bad_fields" ]; then
+ bad_fields=`echo $bad_fields`
+ echo "*** Error: The following fields in $CONTROL/control are missing a ':'" >&2
+ echo " $bad_fields" >&2
+ echo "ipkg-build: This may be due to a missing initial space for a multi-line field value" >&2
+ PKG_ERROR=1
+ fi
+
+ for script in $CONTROL/preinst $CONTROL/postinst $CONTROL/prerm $CONTROL/postrm; do
+ if [ -f $script -a ! -x $script ]; then
+ echo "*** Error: package script $script is not executable" >&2
+ PKG_ERROR=1
+ fi
+ done
+
+ if [ -f $CONTROL/conffiles ]; then
+ for cf in `cat $CONTROL/conffiles`; do
+ if [ ! -f ./$cf ]; then
+ echo "*** Error: $CONTROL/conffiles mentions conffile $cf which does not exist" >&2
+ PKG_ERROR=1
+ fi
+ done
+ fi
+
+ cd $owd
+ return $PKG_ERROR
+}
+
+###
+# ipkg-build "main"
+###
+
+case $# in
+1)
+ dest_dir=.
+ ;;
+2)
+ dest_dir=$2
+ ;;
+*)
+ echo "Usage: ipkg-build <pkg_directory> [<destination_directory>]" >&2
+ exit 1
+ ;;
+esac
+
+pkg_dir=$1
+
+if [ ! -d $pkg_dir ]; then
+ echo "*** Error: Directory $pkg_dir does not exist" >&2
+ exit 1
+fi
+
+# CONTROL is second so that it takes precedence
+CONTROL=
+[ -d $pkg_dir/DEBIAN ] && CONTROL=DEBIAN
+[ -d $pkg_dir/CONTROL ] && CONTROL=CONTROL
+if [ -z "$CONTROL" ]; then
+ echo "*** Error: Directory $pkg_dir has no CONTROL subdirectory." >&2
+ exit 1
+fi
+
+if ! pkg_appears_sane $pkg_dir; then
+ echo >&2
+ echo "ipkg-build: Please fix the above errors and try again." >&2
+ exit 1
+fi
+
+tmp_dir=$dest_dir/IPKG_BUILD.$$
+mkdir $tmp_dir
+
+tar -C $pkg_dir -czf $tmp_dir/data.tar.gz . --exclude=$CONTROL
+tar -C $pkg_dir/$CONTROL -czf $tmp_dir/control.tar.gz .
+
+echo "2.0" > $tmp_dir/debian-binary
+
+pkg_file=$dest_dir/${pkg}_${version}_${arch}.ipk
+tar -C $tmp_dir -czf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz
+rm $tmp_dir/debian-binary $tmp_dir/data.tar.gz $tmp_dir/control.tar.gz
+rmdir $tmp_dir
+
+echo "Packaged contents of $pkg_dir into $pkg_file"
diff --git a/noncore/apps/qashmoney/main.cpp b/noncore/apps/qashmoney/main.cpp
new file mode 100755
index 0000000..f86be89
--- a/dev/null
+++ b/noncore/apps/qashmoney/main.cpp
@@ -0,0 +1,13 @@
+#include <qpe/qpeapplication.h>
+#include "qashmoney.h"
+
+int main( int argc, char **argv )
+ {
+ QPEApplication a ( argc, argv );
+ QashMoney qashmoney;
+ a.showMainWidget ( &qashmoney );
+ return a.exec();
+ }
+
+
+
diff --git a/noncore/apps/qashmoney/make_ipk b/noncore/apps/qashmoney/make_ipk
new file mode 100755
index 0000000..d477c83
--- a/dev/null
+++ b/noncore/apps/qashmoney/make_ipk
@@ -0,0 +1,41 @@
+# Use this script to make the IPK file for distribution
+# It assumes you are the root user. Ipkg likes to have all
+# its files owned by root and this script does that.
+# Change the user name from "allen" to your user name
+# If you want to use this script
+
+# Set the environment variables for the arm environment
+echo "Setting environment variables..."
+source arm.sh
+
+# Remove any exisitng IPK files
+echo "Removing exisiting IPK files..."
+rm -rf *.ipk
+
+# Strip the binary file
+echo "Stripping the binary file..."
+arm-linux-strip qashmoney
+
+# Move the file to the right location
+echo "Moving the binary file..."
+mv qashmoney install/opt/QtPalmtop/bin &&
+
+# Change ownership of all the files
+echo "Changing ownership of all files..."
+chown -R root install
+chgrp -R root install
+chmod -R 0777 install
+
+# Make the IPK
+echo "Making the IPK file..."
+./ipkg-build install
+
+# Remove the binary from the bin directory so we can make the tarball
+echo "Removing qashmoney binary file..."
+rm -rf install/opt/QtPalmtop/bin/qashmoney
+
+# Restore ownership of all files
+echo "Restoring ownership of all files..."
+chown -R allen install
+chgrp -R allen install
+chmod -R 0777 install
diff --git a/noncore/apps/qashmoney/memorydialog.cpp b/noncore/apps/qashmoney/memorydialog.cpp
new file mode 100755
index 0000000..e9ebd54
--- a/dev/null
+++ b/noncore/apps/qashmoney/memorydialog.cpp
@@ -0,0 +1,86 @@
+#include "memorydialog.h"
+#include "memory.h"
+#include <qmessagebox.h>
+
+extern Memory *memory;
+
+MemoryDialog::MemoryDialog () : QDialog ( 0, 0, TRUE )
+{
+ setCaption ( tr ( "Edit Memory" ) );
+
+ listbox = new QListBox ( this, "listbox" );
+ memory->displayMemoryItems ( listbox );
+ listbox->clearSelection();
+
+ secondline = new QHBox ( this );
+
+ newbutton = new QPushButton ( secondline );
+ newbutton->setPixmap( QPixmap ("/opt/QtPalmtop/pics/new.png") );
+ connect ( newbutton, SIGNAL ( released () ), this, SLOT ( addItem () ) );
+
+ editbutton = new QPushButton ( secondline );
+ editbutton->setPixmap( QPixmap ("/opt/QtPalmtop/pics/edit.png") );
+ connect ( editbutton, SIGNAL ( released () ), this, SLOT ( editItem () ) );
+
+ deletebutton = new QPushButton( secondline );
+ deletebutton->setPixmap( QPixmap ("/opt/QtPalmtop/pics/delete.png") );
+ connect ( deletebutton, SIGNAL ( released () ), this, SLOT ( deleteItem () ) );
+
+ lineedit = new QLineEdit ( this );
+
+ layout = new QVBoxLayout ( this, 2, 2 );
+ layout->addWidget ( listbox );
+ layout->addWidget ( secondline );
+ layout->addWidget ( lineedit );
+}
+
+MemoryDialog::~MemoryDialog()
+ {
+ }
+
+void MemoryDialog::addItem ()
+ {
+ if ( lineedit->text().length() != 0 )
+ {
+ memory->addMemoryItem ( lineedit->text() );
+ listbox->clear ();
+ memory->displayMemoryItems ( listbox );
+ listbox->clearFocus();
+ listbox->clearSelection ();
+ lineedit->clear();
+ }
+ }
+
+void MemoryDialog::editItem ()
+ {
+ if ( listbox->currentItem() != -1 )
+ {
+ lineedit->setText ( listbox->currentText() );
+ memory->deleteMemoryItem ( listbox->currentText() );
+ listbox->clear ();
+ memory->displayMemoryItems ( listbox );
+ listbox->clearSelection();
+ }
+ else
+ QMessageBox::warning ( this, "QashMoney", "Please select an item to edit." );
+ }
+
+void MemoryDialog::deleteItem ()
+ {
+ if ( listbox->currentItem() != -1 )
+ {
+ memory->deleteMemoryItem ( listbox->currentText() );
+ listbox->clear ();
+ memory->displayMemoryItems ( listbox );
+ listbox->clearSelection();
+ }
+ else
+ QMessageBox::warning ( this, "QashMoney", "Please select an item to delete." );
+ }
+
+
+
+
+
+
+
diff --git a/noncore/apps/qashmoney/memorydialog.h b/noncore/apps/qashmoney/memorydialog.h
new file mode 100755
index 0000000..3491823
--- a/dev/null
+++ b/noncore/apps/qashmoney/memorydialog.h
@@ -0,0 +1,40 @@
+#ifndef MEMORYDIALOG_H
+#define MEMORYDIALOG_H
+
+#include <qdialog.h>
+#include <qlistbox.h>
+#include <qlineedit.h>
+#include <qpushbutton.h>
+#include <qlayout.h>
+#include <qstring.h>
+#include <qhbox.h>
+
+class MemoryDialog : public QDialog
+ {
+ Q_OBJECT
+
+ public:
+ MemoryDialog();
+ ~MemoryDialog();
+
+ private slots:
+ void addItem();
+ void editItem();
+ void deleteItem();
+
+ private:
+
+ QHBox *secondline;
+
+ QListBox* listbox;
+
+ QLineEdit* lineedit;
+
+ QPushButton* newbutton;
+ QPushButton* editbutton;
+ QPushButton* deletebutton;
+
+ QBoxLayout *layout;
+};
+
+#endif
diff --git a/noncore/apps/qashmoney/newaccount.cpp b/noncore/apps/qashmoney/newaccount.cpp
new file mode 100755
index 0000000..2ad8f60
--- a/dev/null
+++ b/noncore/apps/qashmoney/newaccount.cpp
@@ -0,0 +1,209 @@
+#include "newaccount.h"
+#include "calculator.h"
+#include "datepicker.h"
+#include "transaction.h"
+#include "preferences.h"
+#include <qdatetime.h>
+#include <qmultilineedit.h>
+
+extern Preferences *preferences;
+
+NewAccount::NewAccount ( QWidget *parent, const char *name, bool modal ) : QDialog ( parent, name, modal )
+ {
+ accountdescription = "";
+ dateedited = FALSE;
+ setCaption( tr( "Account" ) );
+
+ namelabel = new QLabel ( "Account Name", this );
+
+ accountbox = new QHBox ( this );
+ accountname = new QLineEdit ( accountbox );
+ descriptionbutton = new QPushButton ( accountbox );
+ descriptionbutton->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/info.png" ) );
+
+ datelabel = new QLabel ( "Date", this );
+
+ datebox = new QHBox ( this );
+ startdate = new QLineEdit ( datebox );
+ startdate->setDisabled ( TRUE );
+ datebutton = new QPushButton ( datebox );
+ datebutton->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/date.png" ) );
+
+ childcheckbox = new QCheckBox ( this );
+ childcheckbox->setText( tr ( "Child Account" ) );
+
+ childlabel = new QLabel ( "Child of", this );
+ childbox = new QComboBox ( FALSE, this );
+ hideChildPulldownMenu ();
+
+ balancelabel = new QLabel ( "Balance", this );
+
+ balancebox = new QHBox ( this );
+ accountbalance = new QLineEdit ( balancebox );
+ accountbalance->setText ( "0.00" );
+ balancecalculator = new QPushButton( balancebox );
+ balancecalculator->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/kcalc.png" ) );
+
+ creditlimitlabel = new QLabel ( "Credit Limit", this );
+
+ creditlimitbox = new QHBox ( this );
+ creditlimit = new QLineEdit ( creditlimitbox );
+ creditlimitbox->setEnabled ( FALSE );
+ creditlimitcalculator = new QPushButton( creditlimitbox );
+ creditlimitcalculator->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/kcalc.png" ) );
+
+ currencybox = new Currency ( this );
+
+ typelabel = new QLabel ( "Type", this );
+ accounttype = new QComboBox ( FALSE, this );
+ accounttype->insertItem( tr( "Bank" ) );
+ accounttype->insertItem( tr( "Cash" ) );
+ accounttype->insertItem( tr( "Credit Card" ) );
+ accounttype->insertItem( tr( "Equity" ) );
+ accounttype->insertItem( tr( "Asset" ) );
+ accounttype->insertItem( tr( "Liability" ) );
+
+ layout = new QGridLayout ( this, 7, 2, 4, 2 );
+ layout->addWidget ( namelabel , 0, 0, Qt::AlignLeft );
+ layout->addWidget ( accountbox, 1, 0, Qt::AlignLeft );
+ layout->addWidget ( datelabel, 2, 0, Qt::AlignLeft );
+ layout->addWidget ( datebox, 3, 0, Qt::AlignLeft );
+ layout->addWidget ( childcheckbox, 4, 0, Qt::AlignLeft );
+ layout->addWidget ( childlabel, 5, 0, Qt::AlignLeft );
+ layout->addWidget ( childbox, 6, 0, Qt::AlignLeft );
+ layout->addWidget ( balancelabel, 0, 1, Qt::AlignLeft );
+ layout->addWidget ( balancebox, 1, 1, Qt::AlignLeft );
+ layout->addWidget ( creditlimitlabel, 2, 1, Qt::AlignLeft );
+ layout->addWidget ( creditlimitbox, 3, 1, Qt::AlignLeft );
+ layout->addWidget ( currencybox, 4, 1, Qt::AlignLeft );
+ layout->addWidget ( typelabel, 5, 1, Qt::AlignLeft );
+ layout->addWidget ( accounttype, 6, 1, Qt::AlignLeft );
+
+ connect ( childcheckbox, SIGNAL ( clicked () ), this, SLOT ( showChildPulldownMenu() ) );
+ connect ( balancecalculator, SIGNAL ( released() ), this, SLOT ( showCalculator() ) );
+ connect ( creditlimitcalculator, SIGNAL ( released() ), this, SLOT ( showCreditLimitCalculator() ) );
+ connect ( accounttype, SIGNAL ( activated ( int ) ), this, SLOT ( activateCreditLimit ( int ) ) );
+ connect ( datebutton, SIGNAL ( released () ), this, SLOT ( showCalendar () ) );
+ connect ( descriptionbutton, SIGNAL ( released () ), this, SLOT ( addAccountDescription() ) );
+}
+
+NewAccount::~NewAccount ()
+ {
+ }
+
+void NewAccount::showChildPulldownMenu ()
+ {
+ if ( childcheckbox->isChecked() == TRUE )
+ {
+ childlabel->setEnabled ( TRUE );
+ childbox->setEnabled ( TRUE );
+ }
+ else
+ hideChildPulldownMenu();
+ }
+
+void NewAccount::hideChildPulldownMenu ()
+ {
+ childlabel->setEnabled ( FALSE );
+ childbox->setEnabled ( FALSE );
+ }
+
+void NewAccount::showCalculator ()
+ {
+ Calculator *calculator = new Calculator ( this );
+ calculator->setMaximumWidth ( ( int ) ( this->size().width() * 0.9 ) );
+ if ( calculator->exec () == QDialog::Accepted )
+ accountbalance->setText ( calculator->display->text() );
+ }
+
+void NewAccount::showCreditLimitCalculator ()
+ {
+ Calculator *calculator = new Calculator ( this );
+ calculator->setMaximumWidth ( ( int ) ( this->size().width() * 0.9 ) );
+ if ( calculator->exec () == QDialog::Accepted )
+ creditlimit->setText ( calculator->display->text() );
+ }
+
+void NewAccount::activateCreditLimit ( int index )
+ {
+ if ( index == 2 || index == 5 )
+ creditlimitbox->setEnabled ( TRUE );
+ else
+ {
+ creditlimit->clear ();
+ creditlimitbox->setEnabled ( FALSE );
+ }
+ }
+
+void NewAccount::showCalendar ()
+ {
+ QDate newDate = QDate::currentDate ();
+ DatePicker *dp = new DatePicker ( newDate );
+ dp->setMaximumWidth ( ( int ) ( this->size().width() * 0.9 ) );
+
+ int response = dp->exec();
+ if ( response == QDialog::Accepted )
+ {
+ // Set date integers
+ year = dp->getYear();
+ month = dp->getMonth();
+ day = dp->getDay();
+
+ // Set dateedited to TRUE
+ // This tells the accountdisplay object that the user edited an account
+ // and did change the date
+ dateedited = TRUE;
+
+ // Display date with our selected format
+ startdate->setText ( preferences->getDate ( year, month, day ) );
+ }
+ }
+
+bool NewAccount::getDateEdited ()
+ {
+ return dateedited;
+ }
+
+int NewAccount::getDay ()
+ {
+ return day;
+ }
+
+int NewAccount::getMonth ()
+ {
+ return month;
+ }
+
+int NewAccount::getYear ()
+ {
+ return year;
+ }
+
+QString NewAccount::getDescription ()
+ {
+ return accountdescription;
+ }
+
+void NewAccount::setDescription ( QString description )
+ {
+ accountdescription = description;
+ }
+
+void NewAccount::addAccountDescription ()
+ {
+ // Function for adding or editing an account description.
+ QDialog *description = new QDialog ( this, "description", TRUE );
+ description->setCaption ( "Notes" );
+ QMultiLineEdit *enter = new QMultiLineEdit ( description );
+ enter->setFixedSize ( ( int ) (this->width() * 0.75 ), ( int ) ( this->height() * 0.5 ) );
+ enter->setWrapColumnOrWidth ( ( int ) (this->width() * 0.75 ) );
+ enter->setWordWrap ( QMultiLineEdit::WidgetWidth );
+ if ( accountdescription != "(NULL)" )
+ enter->setText ( accountdescription );
+ if ( description->exec () == QDialog::Accepted )
+ accountdescription = enter->text ();
+ }
+
+
+
+
diff --git a/noncore/apps/qashmoney/newaccount.h b/noncore/apps/qashmoney/newaccount.h
new file mode 100755
index 0000000..f8235d5
--- a/dev/null
+++ b/noncore/apps/qashmoney/newaccount.h
@@ -0,0 +1,87 @@
+#ifndef NEWACCOUNT_H
+#define NEWACCOUNT_H
+
+#include <qbuttongroup.h>
+#include <qcombobox.h>
+#include <qlineedit.h>
+#include <qpushbutton.h>
+#include <qradiobutton.h>
+#include <qlayout.h>
+#include <qdialog.h>
+#include <qlabel.h>
+#include <qhbox.h>
+#include <qcheckbox.h>
+
+#include "account.h"
+#include "preferences.h"
+#include "currency.h"
+
+class NewAccount : public QDialog
+ {
+ Q_OBJECT
+
+ public:
+ NewAccount ( QWidget *parent = 0, const char *name = 0, bool modal = TRUE );
+ ~NewAccount();
+
+ QLabel *namelabel;
+ QHBox *accountbox;
+ QLineEdit* accountname;
+ QPushButton* descriptionbutton;
+
+ QHBox *datebox;
+ QLabel *datelabel;
+ QLineEdit* startdate;
+ QPushButton* datebutton;
+
+ QCheckBox* childcheckbox;
+
+ QLabel *childlabel;
+ QComboBox *childbox;
+
+ QLabel *balancelabel;
+ QHBox *balancebox;
+ QLineEdit* accountbalance;
+ QPushButton* balancecalculator;
+
+ QLabel *creditlimitlabel;
+ QHBox *creditlimitbox;
+ QLineEdit* creditlimit;
+ QPushButton* creditlimitcalculator;
+
+ Currency *currencybox;
+
+ QLabel *typelabel;
+ QComboBox* accounttype;
+
+ QGridLayout *layout;
+
+ int getDay ();
+ int getMonth ();
+ int getYear ();
+ QString getDescription ();
+ void setDescription ( QString );
+
+ // When a user edits an account and edits the date, this flag
+ // is set to TRUE adding the new date to the account. Otherwise,
+ // the old date is used for the edited account. This prevents a date
+ // from reverting to 0/0/0 if the date is not edited
+ bool getDateEdited ();
+
+ public slots:
+ void showChildPulldownMenu();
+ void hideChildPulldownMenu();
+ void showCalculator();
+ void showCreditLimitCalculator ();
+ void activateCreditLimit ( int );
+ void showCalendar ();
+ void addAccountDescription ();
+
+ private:
+ int index, year, month, day, currencypreference;
+ QString accountdescription;
+ bool dateedited;
+};
+
+#endif
+
diff --git a/noncore/apps/qashmoney/newtransaction.cpp b/noncore/apps/qashmoney/newtransaction.cpp
new file mode 100755
index 0000000..630a8b8
--- a/dev/null
+++ b/noncore/apps/qashmoney/newtransaction.cpp
@@ -0,0 +1,276 @@
+#include "newtransaction.h"
+#include "calculator.h"
+#include "datepicker.h"
+#include "memory.h"
+#include "budget.h"
+
+#include <qdatetime.h>
+#include <qmultilineedit.h>
+
+extern Budget *budget;
+extern Preferences *preferences;
+
+NewTransaction::NewTransaction ( QWidget* parent ) : QDialog ( parent, 0, TRUE )
+ {
+ transactiondescription = "";
+ currentlineitem = -1;
+ currentbudget = -1;
+ dateedited = FALSE;
+ setCaption( tr( "Transaction" ) );
+
+ // START FIRST COLUMN
+
+ namelabel = new QLabel ( "Transaction", this );
+
+ transactionnamebox = new QHBox ( this );
+ transactionname = new QComboBox ( transactionnamebox );
+ transactionname->setEditable ( TRUE );
+ descriptionbutton = new QPushButton ( transactionnamebox );
+ descriptionbutton->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/info.png" ) );
+ connect ( descriptionbutton, SIGNAL ( released () ), this, SLOT ( addTransactionDescription() ) );
+
+ amountlabel = new QLabel ( "Amount", this );
+
+ transactionamountbox = new QHBox ( this );
+ transactionamount = new QLineEdit ( transactionamountbox );
+ transactionamount->setAlignment ( Qt::AlignRight );
+ transactionamount->setText ( "0.00" );
+ calculatorbutton = new QPushButton( transactionamountbox );
+ calculatorbutton->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/kcalc.png" ) );
+ connect ( calculatorbutton, SIGNAL ( released() ), this, SLOT ( showCalculator() ) );
+
+ datelabel = new QLabel ( "Date", this );
+
+ transactiondatebox = new QHBox ( this );
+ transactiondate = new QLineEdit ( transactiondatebox );
+ transactiondate->setAlignment ( Qt::AlignRight );
+ transactiondate->setDisabled ( TRUE );
+ datebutton = new QPushButton( transactiondatebox );
+ datebutton->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/date.png" ) );
+ connect ( datebutton, SIGNAL ( released () ), this, SLOT ( showCalendar () ) );
+
+ clearedcheckbox = new QCheckBox ( "Cleared", this );
+ depositbox = new QCheckBox ( "Credit", this );
+
+ // START SECOND COLUMN
+
+ numberlabel = new QLabel ( "Number", this );
+ transactionnumber = new QLineEdit ( this );
+
+ budgetlabel = new QLabel ( "Budget", this );
+ budgetbox = new QComboBox ( FALSE, this );
+
+ lineitemlabel = new QLabel ( "LineItem", this );
+ lineitembox = new QComboBox ( FALSE, this );
+
+ layout = new QGridLayout ( this, 7, 2, 2, 2 );
+ layout->addWidget ( namelabel, 0, 0, Qt::AlignLeft );
+ layout->addWidget ( transactionnamebox, 1, 0, Qt::AlignLeft );
+ layout->addWidget ( amountlabel, 2, 0, Qt::AlignLeft );
+ layout->addWidget ( transactionamountbox, 3, 0, Qt::AlignLeft );
+ layout->addWidget ( datelabel, 4, 0, Qt::AlignLeft );
+ layout->addWidget ( transactiondatebox, 5, 0, Qt::AlignLeft );
+ layout->addWidget ( clearedcheckbox, 6, 0, Qt::AlignLeft );
+ layout->addWidget ( numberlabel, 0, 1, Qt::AlignLeft );
+ layout->addWidget ( transactionnumber, 1, 1, Qt::AlignLeft );
+ layout->addWidget ( budgetlabel, 2, 1, Qt::AlignLeft );
+ layout->addWidget ( budgetbox, 3, 1, Qt::AlignLeft );
+ layout->addWidget ( lineitemlabel, 4, 1, Qt::AlignLeft );
+ layout->addWidget ( lineitembox, 5, 1, Qt::AlignLeft );
+ layout->addWidget ( depositbox, 6, 1, Qt::AlignLeft );
+
+ if ( budget->getNumberOfBudgets() != 0 )
+ {
+ budgetnameslist = budget->getBudgetNames();
+ budgetidslist = budget->getBudgetIDs();
+ budgetbox->insertStringList ( *budgetnameslist );
+ lineitemlabel->setEnabled ( FALSE );
+ lineitembox->setEnabled ( FALSE );
+ connect ( budgetbox, SIGNAL ( activated ( int ) ), this, SLOT ( setCurrentBudget ( int ) ) );
+ connect ( lineitembox, SIGNAL ( activated ( int ) ), this, SLOT ( setCurrentLineItem ( int ) ) );
+ }
+ else
+ {
+ budgetlabel->setEnabled ( FALSE );
+ budgetbox->setEnabled ( FALSE );
+ lineitemlabel->setEnabled ( FALSE );
+ lineitembox->setEnabled ( FALSE );
+ }
+
+}
+
+NewTransaction::~NewTransaction ()
+ {
+ }
+
+void NewTransaction::showCalculator ()
+{
+ Calculator *calculator = new Calculator ( this );
+ calculator->setMaximumWidth ( ( int ) ( this->size().width() * 0.9 ) );
+ if ( calculator->exec () == QDialog::Accepted )
+ transactionamount->setText ( calculator->display->text() );
+}
+
+void NewTransaction::showCalendar ()
+ {
+ QDate newDate = QDate::currentDate ();
+ DatePicker *dp = new DatePicker ( newDate );
+ dp->setMaximumWidth ( ( int ) ( this->size().width() * 0.9 ) );
+
+ int response = dp->exec();
+ if ( response == QDialog::Accepted )
+ {
+ // Set date integers
+ year = dp->getYear();
+ month = dp->getMonth();
+ day = dp->getDay();
+
+ // Set dateedited to TRUE
+ // This tells the transactiondisplay object that the user edited an transaction
+ // and did change the date3
+ dateedited = TRUE;
+
+ // Display date with our selected format
+ transactiondate->setText ( preferences->getDate ( year, month, day ) );
+ }
+ }
+
+bool NewTransaction::getDateEdited ()
+ {
+ return dateedited;
+ }
+
+int NewTransaction::getDay ()
+ {
+ return day;
+ }
+
+int NewTransaction::getMonth ()
+ {
+ return month;
+ }
+
+int NewTransaction::getYear ()
+ {
+ return year;
+ }
+
+QString NewTransaction::getDescription ()
+ {
+ return transactiondescription;
+ }
+
+void NewTransaction::setDescription ( QString description )
+ {
+ transactiondescription = description;
+ }
+
+void NewTransaction::addTransactionDescription ()
+ {
+ // Function for adding or editing an transaction description.
+ QDialog *description = new QDialog ( this, "description", TRUE );
+ description->setCaption ( "Notes" );
+ QMultiLineEdit *enter = new QMultiLineEdit ( description );
+ enter->setFixedSize ( ( int ) (this->width() * 0.75 ), ( int ) ( this->height() * 0.5 ) );
+ enter->setWrapColumnOrWidth ( ( int ) (this->width() * 0.75 ) );
+ enter->setWordWrap ( QMultiLineEdit::WidgetWidth );
+ if ( transactiondescription != "(NULL)" )
+ enter->setText ( transactiondescription );
+ if ( description->exec () == QDialog::Accepted )
+ transactiondescription = enter->text ();
+ }
+
+int NewTransaction::getNameIndex ( QString name )
+ {
+ int counter;
+ int items = transactionname->count();
+ for ( counter = 0; ( items - 1 ); counter++ )
+ {
+ if ( name == transactionname->text ( counter ) )
+ {
+ return counter;
+ break;
+ }
+ }
+ return 0;
+ }
+
+void NewTransaction::setCurrentBudget ( int index )
+ {
+ if ( index != 0 )
+ {
+ currentbudget = budgetidslist->operator[] ( index - 1 ).toInt();
+ lineitemslist = budget->getLineItems ( currentbudget );
+ lineitemidslist = budget->getLineItemIDs ( currentbudget );
+ lineitemlabel->setEnabled ( TRUE );
+ lineitembox->setEnabled ( TRUE );
+ lineitembox->clear();
+ lineitembox->insertStringList ( lineitemslist );
+ setCurrentLineItem ( 0 );
+ }
+ else
+ {
+ lineitembox->clear();
+ lineitemlabel->setEnabled ( FALSE );
+ lineitembox->setEnabled ( FALSE );
+ currentlineitem = -1;
+ currentbudget = -1;
+ }
+ }
+
+void NewTransaction::setCurrentLineItem ( int index )
+ {
+ currentlineitem = ( lineitemidslist.operator[] ( index ).toInt() );
+ }
+
+int NewTransaction::getCurrentBudget ()
+ {
+ return currentbudget;
+ }
+
+int NewTransaction::getBudgetIndex ( int budgetid )
+ {
+ currentbudget = budgetid;
+ const QString budget = QString::number ( budgetid );
+ return budgetidslist->findIndex ( budget );
+ }
+
+int NewTransaction::getLineItemIndex ( int lineitemid )
+ {
+ currentlineitem = lineitemid;
+ const QString lineitem = QString::number ( lineitemid );
+ return lineitemidslist.findIndex ( lineitem );
+ }
+
+void NewTransaction::setLineItems ()
+ {
+ lineitemslist = budget->getLineItems ( currentbudget );
+ lineitemidslist = budget->getLineItemIDs ( currentbudget );
+ lineitemlabel->setEnabled ( TRUE );
+ lineitembox->setEnabled ( TRUE );
+ lineitembox->clear();
+ lineitembox->insertStringList ( lineitemslist );
+ }
+
+int NewTransaction::getCurrentLineItem ()
+ {
+ return currentlineitem;
+ }
+
+void NewTransaction::setComboBoxes ( int budgetid, int lineitemid )
+ {
+ const QString budgetname = QString::number ( budgetid );
+ budgetbox->setCurrentItem ( ( budgetidslist->findIndex ( budgetname ) ) );
+ currentbudget = budgetidslist->operator[] ( budgetbox->currentItem() - 1 ).toInt();
+
+ lineitemslist = budget->getLineItems ( currentbudget );
+ lineitemidslist = budget->getLineItemIDs ( currentbudget );
+ lineitemlabel->setEnabled ( TRUE );
+ lineitembox->setEnabled ( TRUE );
+ lineitembox->clear();
+ lineitembox->insertStringList ( lineitemslist );
+
+ const QString lineitem = QString::number ( lineitemid );
+ lineitembox->setCurrentItem ( lineitemidslist.findIndex ( lineitem ) );
+ currentlineitem = ( lineitemidslist.operator[] ( lineitembox->currentItem() ).toInt() );
+ }
diff --git a/noncore/apps/qashmoney/newtransaction.h b/noncore/apps/qashmoney/newtransaction.h
new file mode 100755
index 0000000..4ee3b9d
--- a/dev/null
+++ b/noncore/apps/qashmoney/newtransaction.h
@@ -0,0 +1,95 @@
+#ifndef NEWTRANSACTION_H
+#define NEWTRANSACTION_H
+
+#include <qlineedit.h>
+#include <qpushbutton.h>
+#include <qlayout.h>
+#include <qcheckbox.h>
+#include <qdialog.h>
+#include <qlabel.h>
+#include <qstringlist.h>
+#include <qhbox.h>
+
+#include "transaction.h"
+#include "preferences.h"
+
+class NewTransaction : public QDialog
+{
+ Q_OBJECT
+
+ public:
+
+ int year, month, day;
+
+ NewTransaction ( QWidget* parent );
+ ~NewTransaction();
+
+ QLabel *namelabel;
+ QHBox *transactionnamebox;
+ QComboBox* transactionname;
+ QPushButton* descriptionbutton;
+
+ QLabel *amountlabel;
+ QHBox *transactionamountbox;
+ QLineEdit* transactionamount;
+ QPushButton* calculatorbutton;
+
+ QLabel *datelabel;
+ QHBox *transactiondatebox;
+ QLineEdit* transactiondate;
+ QPushButton* datebutton;
+
+ QCheckBox *clearedcheckbox;
+
+ QLabel *numberlabel;
+ QLineEdit *transactionnumber;
+
+ QLabel *budgetlabel;
+ QComboBox *budgetbox;
+
+ QLabel *lineitemlabel;
+ QComboBox *lineitembox;
+
+ QCheckBox *depositbox;
+
+ QGridLayout *layout;
+
+ int getDay ();
+ int getMonth ();
+ int getYear ();
+ QString getDescription ();
+ void setDescription ( QString );
+ void setComboBoxes ( int, int );
+
+ // When a user edits an transaction and edits the date, this flag
+ // is set to TRUE adding the new date to the transaction. Otherwise,
+ // the old date is used for the edited transaction. This prevents a date
+ // from reverting to 0/0/0 if the date is not edited
+ bool getDateEdited ();
+
+ public slots:
+
+ void showCalculator();
+ void showCalendar ();
+ void addTransactionDescription ();
+ int getNameIndex ( QString name );
+ int getCurrentBudget ();
+ int getCurrentLineItem ();
+ int getBudgetIndex ( int budgetid );
+ int getLineItemIndex ( int lineitemid );
+ void setLineItems ();
+
+ private slots:
+ void setCurrentBudget ( int index );
+ void setCurrentLineItem ( int index );
+
+ private:
+ bool dateedited;
+ int index, currentbudget, currentlineitem;
+ QString transactiondescription;
+ QStringList *budgetnameslist, *budgetidslist;
+ QStringList lineitemslist, lineitemidslist;
+
+};
+
+#endif
diff --git a/noncore/apps/qashmoney/qashmoney.h b/noncore/apps/qashmoney/qashmoney.h
new file mode 100755
index 0000000..cf0bd42
--- a/dev/null
+++ b/noncore/apps/qashmoney/qashmoney.h
@@ -0,0 +1,61 @@
+#ifndef QASHMONEY_H
+#define QASHMONEY_H
+
+#include <qpe/qpemenubar.h>
+#include <qpopupmenu.h>
+#include <qlayout.h>
+#include <qtabwidget.h>
+
+#include "accountdisplay.h"
+#include "transactiondisplay.h"
+#include "budgetdisplay.h"
+#include "account.h"
+#include "preferences.h"
+#include "transaction.h"
+#include "transfer.h"
+#include "memory.h"
+#include "budget.h"
+
+class QashMoney : public QWidget
+ {
+ Q_OBJECT
+
+ public:
+ QashMoney ();
+ ~QashMoney();
+
+ QTabWidget* maintabs;
+ QWidget* tab;
+ QWidget* tab_2;
+ QWidget* tab_3;
+
+ QPEMenuBar *mainmenu;
+ QPopupMenu *preferencesmenu;
+ QPopupMenu *utilitiesmenu;
+
+ public slots:
+ void displayDatePreferencesDialog ();
+ void displayTransactionPreferencesDialog ();
+ void displayAccountPreferencesDialog ();
+ void displayMemoryDialog ();
+ void setTransactionTab ();
+
+ private slots:
+ void changeTabDisplay ();
+ void showTransactions ();
+ void enableOneTouchViewing ();
+ void disableOneTouchViewing ();
+ void toggleOneTouchViewing ( bool );
+
+ private:
+ QVBoxLayout *layout;
+ QVBoxLayout *tabslayout;
+ AccountDisplay *accountdisplay;
+ TransactionDisplay *transactiondisplay;
+ BudgetDisplay *budgetdisplay;
+ int tabheight;
+
+ };
+
+#endif
+
diff --git a/noncore/apps/qashmoney/qashmoney.pro b/noncore/apps/qashmoney/qashmoney.pro
new file mode 100755
index 0000000..1070767
--- a/dev/null
+++ b/noncore/apps/qashmoney/qashmoney.pro
@@ -0,0 +1,41 @@
+TEMPLATE = app
+CONFIG = qt warn_on release
+HEADERS = qashmoney.h \
+ accountdisplay.h \
+ account.h \
+ transaction.h \
+ transactiondisplay.h \
+ newtransaction.h \
+ transfer.h \
+ transferdialog.h \
+ preferences.h \
+ preferencedialogs.h \
+ memory.h \
+ memorydialog.h \
+ newaccount.h \
+ calculator.h \
+ datepicker.h \
+ budget.h \
+ budgetdisplay.h \
+ currency.h
+SOURCES = qashmoney.cpp \
+ accountdisplay.cpp \
+ account.cpp \
+ transaction.cpp \
+ transactiondisplay.cpp \
+ newtransaction.cpp \
+ transfer.cpp \
+ transferdialog.cpp \
+ preferences.cpp \
+ preferencedialogs.cpp \
+ memory.cpp \
+ memorydialog.cpp \
+ newaccount.cpp \
+ calculator.cpp \
+ datepicker.cpp \
+ main.cpp \
+ budget.cpp \
+ budgetdisplay.cpp \
+ currency.cpp
+unix:LIBS += -lm
+LIBS += -lqpe -lqte -lstdc++ -lsqlite
diff --git a/noncore/apps/qashmoney/transferdialog.cpp b/noncore/apps/qashmoney/transferdialog.cpp
new file mode 100755
index 0000000..7bc3eb0
--- a/dev/null
+++ b/noncore/apps/qashmoney/transferdialog.cpp
@@ -0,0 +1,114 @@
+#include "transferdialog.h"
+#include "datepicker.h"
+#include "calculator.h"
+
+#include <qdatetime.h>
+#include <qfont.h>
+
+extern Preferences *preferences;
+extern Account *account;
+
+TransferDialog::TransferDialog ( QWidget *parent, int fromaccountid, int toaccountid ) : QDialog ( parent, 0, TRUE )
+ {
+ dateedited = FALSE;
+ setCaption ( "Transfer" );
+
+ fromaccountlabel = new QLabel ( "From account:", this );
+ QFont f = this->font();
+ f.setWeight ( QFont::Bold );
+ fromaccountlabel->setFont ( f );
+ fromaccount = new QLabel ( account->getAccountName ( fromaccountid ), this );
+
+ toaccountlabel = new QLabel ( "To Account:", this );
+ toaccountlabel->setFont ( f );
+ toaccount = new QLabel ( account->getAccountName ( toaccountid ), this );
+
+ datelabel = new QLabel ( "Date", this );
+
+ datebox = new QHBox ( this );
+ datebox->setSpacing ( 2 );
+ date = new QLineEdit ( datebox );
+ date->setAlignment ( Qt::AlignRight );
+ date->setDisabled ( TRUE );
+ datebutton = new QPushButton ( datebox );
+ datebutton->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/date.png" ) );
+ connect ( datebutton, SIGNAL ( released () ), this, SLOT ( showCalendar () ) );
+
+ amounttlabel = new QLabel ( "Amount", this );
+
+ amountbox = new QHBox ( this );
+ amountbox->setSpacing ( 2 );
+ amount = new QLineEdit ( amountbox );
+ amount->setAlignment ( Qt::AlignRight );
+ calculatorbutton = new QPushButton( amountbox );
+ calculatorbutton->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/kcalc.png" ) );
+ connect ( calculatorbutton, SIGNAL ( released() ), this, SLOT ( showCalculator() ) );
+
+ clearedcheckbox = new QCheckBox ( "Cleared", this );
+
+ layout = new QVBoxLayout ( this, 4, 2 );
+ layout->addWidget ( fromaccountlabel, Qt::AlignLeft );
+ layout->addWidget ( fromaccount, Qt::AlignLeft );
+ layout->addWidget ( toaccountlabel, Qt::AlignLeft );
+ layout->addWidget ( toaccount, Qt::AlignLeft );
+ layout->addSpacing ( 5 );
+ layout->addWidget ( datelabel, Qt::AlignLeft );
+ layout->addWidget ( datebox, Qt::AlignLeft );
+ layout->addWidget ( amounttlabel, Qt::AlignLeft );
+ layout->addWidget ( amountbox, Qt::AlignLeft );
+ layout->addWidget ( clearedcheckbox, Qt::AlignLeft );
+ }
+
+bool TransferDialog::getDateEdited ()
+ {
+ return dateedited;
+ }
+
+void TransferDialog::showCalendar ()
+ {
+ QDate newDate = QDate::currentDate ();
+ DatePicker *dp = new DatePicker ( newDate );
+ if ( dp->exec () == QDialog::Accepted )
+ {
+ // Set date integers
+ year = dp->getYear();
+ month = dp->getMonth();
+ day = dp->getDay();
+
+ // Set dateedited to TRUE
+ // This tells the accountdisplay object that the user edited an account
+ // and did change the date
+ dateedited = TRUE;
+
+ // Display date with our selected format
+ date->setText ( preferences->getDate ( year, month, day ) );
+ }
+ }
+
+int TransferDialog::getDay ()
+ {
+ return day;
+ }
+
+int TransferDialog::getMonth ()
+ {
+ return month;
+ }
+
+int TransferDialog::getYear ()
+ {
+ return day;
+ }
+
+void TransferDialog::showCalculator ()
+ {
+ Calculator *calculator = new Calculator ( this );
+ if ( calculator->exec () == QDialog::Accepted )
+ amount->setText ( calculator->display->text() );
+ }
+
+
+
+
+
+
diff --git a/noncore/apps/qashmoney/transferdialog.h b/noncore/apps/qashmoney/transferdialog.h
new file mode 100755
index 0000000..dd55879
--- a/dev/null
+++ b/noncore/apps/qashmoney/transferdialog.h
@@ -0,0 +1,62 @@
+#ifndef TRANSFERDIALOG_H
+#define TRANSFERDIALOG_H
+
+#include <qdialog.h>
+#include <qlayout.h>
+#include <qlineedit.h>
+#include <qpushbutton.h>
+#include <qcheckbox.h>
+#include <qhbox.h>
+#include <qlabel.h>
+
+#include "preferences.h"
+#include "account.h"
+
+class TransferDialog : public QDialog
+{
+ Q_OBJECT
+
+public:
+ TransferDialog ( QWidget *parent, int fromaccountid, int toaccountid );
+
+ QLabel *fromaccountlabel;
+ QLabel *fromaccount;
+
+ QLabel *toaccountlabel;
+ QLabel *toaccount;
+
+ QLabel *datelabel;
+
+ QHBox *datebox;
+ QLineEdit *date;
+ QPushButton *datebutton;
+
+ QLabel *amounttlabel;
+
+ QHBox *amountbox;
+ QLineEdit *amount;
+ QPushButton *calculatorbutton;
+
+ QCheckBox *clearedcheckbox;
+
+ QBoxLayout *layout;
+
+ bool getDateEdited ();
+
+public slots:
+
+ void showCalendar ();
+ void showCalculator ();
+ int getDay ();
+ int getMonth ();
+ int getYear ();
+
+private:
+
+ int fromaccountid;
+ int toaccountid;
+ int year, month, day;
+ bool dateedited;
+};
+
+#endif
diff --git a/noncore/apps/qashmoney/x86.sh b/noncore/apps/qashmoney/x86.sh
new file mode 100755
index 0000000..b539aba
--- a/dev/null
+++ b/noncore/apps/qashmoney/x86.sh
@@ -0,0 +1,10 @@
+# !/bin/bash
+CROSSCOMPILE=/opt/Embedix/tools
+QTDIR=/opt/Qtopia
+QPEDIR=/opt/Qtopia
+PATH=$PATH:$QTDIR/bin:$QPEDIR/bin:/opt/Embedix/tools/bin:$QTDIR/tmake/bin
+TMAKEPATH=/opt/Qtopia/tmake/lib/qws/linux-x86-g++/
+LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib:/usr/lib
+INCPATH=/usr/include/g++-3
+export QPEDIR QTDIR PATH TMAKEPATH LD_LIBRARY_PATH PS1
+echo "Altered environment for Sharp Zaurus Development x86"