author | allenforsythe <allenforsythe> | 2003-05-04 22:02:48 (UTC) |
---|---|---|
committer | allenforsythe <allenforsythe> | 2003-05-04 22:02:48 (UTC) |
commit | 4593e3cf4eca4867e34b3220007c24523cf642b6 (patch) (unidiff) | |
tree | bd8071834dec2a5008b1b270c7953f5cfd65754d | |
parent | 2894d0b14c0b3efa3ce259214b5aa597a6abfed1 (diff) | |
download | opie-4593e3cf4eca4867e34b3220007c24523cf642b6.zip opie-4593e3cf4eca4867e34b3220007c24523cf642b6.tar.gz opie-4593e3cf4eca4867e34b3220007c24523cf642b6.tar.bz2 |
Initial revision
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 @@ | |||
1 | QashMoney - Budget/Finance Software for the Sharp Zaurus Copyright (C) 2002 Allen Forsythe | ||
2 | |||
3 | You may use, distribute and copy the this software under the terms of | ||
4 | GNU General Public License version 2, which is displayed below. | ||
5 | |||
6 | ------------------------------------------------------------------------- | ||
7 | |||
8 | GNU GENERAL PUBLIC LICENSE | ||
9 | Version 2, June 1991 | ||
10 | |||
11 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | ||
12 | 675 Mass Ave, Cambridge, MA 02139, USA | ||
13 | Everyone is permitted to copy and distribute verbatim copies | ||
14 | of this license document, but changing it is not allowed. | ||
15 | |||
16 | Preamble | ||
17 | |||
18 | The licenses for most software are designed to take away your | ||
19 | freedom to share and change it. By contrast, the GNU General Public | ||
20 | License is intended to guarantee your freedom to share and change free | ||
21 | software--to make sure the software is free for all its users. This | ||
22 | General Public License applies to most of the Free Software | ||
23 | Foundation's software and to any other program whose authors commit to | ||
24 | using it. (Some other Free Software Foundation software is covered by | ||
25 | the GNU Library General Public License instead.) You can apply it to | ||
26 | your programs, too. | ||
27 | |||
28 | When we speak of free software, we are referring to freedom, not | ||
29 | price. Our General Public Licenses are designed to make sure that you | ||
30 | have the freedom to distribute copies of free software (and charge for | ||
31 | this service if you wish), that you receive source code or can get it | ||
32 | if you want it, that you can change the software or use pieces of it | ||
33 | in new free programs; and that you know you can do these things. | ||
34 | |||
35 | To protect your rights, we need to make restrictions that forbid | ||
36 | anyone to deny you these rights or to ask you to surrender the rights. | ||
37 | These restrictions translate to certain responsibilities for you if you | ||
38 | distribute copies of the software, or if you modify it. | ||
39 | |||
40 | For example, if you distribute copies of such a program, whether | ||
41 | gratis or for a fee, you must give the recipients all the rights that | ||
42 | you have. You must make sure that they, too, receive or can get the | ||
43 | source code. And you must show them these terms so they know their | ||
44 | rights. | ||
45 | |||
46 | We protect your rights with two steps: (1) copyright the software, and | ||
47 | (2) offer you this license which gives you legal permission to copy, | ||
48 | distribute and/or modify the software. | ||
49 | |||
50 | Also, for each author's protection and ours, we want to make certain | ||
51 | that everyone understands that there is no warranty for this free | ||
52 | software. If the software is modified by someone else and passed on, we | ||
53 | want its recipients to know that what they have is not the original, so | ||
54 | that any problems introduced by others will not reflect on the original | ||
55 | authors' reputations. | ||
56 | |||
57 | Finally, any free program is threatened constantly by software | ||
58 | patents. We wish to avoid the danger that redistributors of a free | ||
59 | program will individually obtain patent licenses, in effect making the | ||
60 | program proprietary. To prevent this, we have made it clear that any | ||
61 | patent must be licensed for everyone's free use or not licensed at all. | ||
62 | |||
63 | The precise terms and conditions for copying, distribution and | ||
64 | modification follow. | ||
65 | |||
66 | GNU GENERAL PUBLIC LICENSE | ||
67 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||
68 | |||
69 | 0. This License applies to any program or other work which contains | ||
70 | a notice placed by the copyright holder saying it may be distributed | ||
71 | under the terms of this General Public License. The "Program", below, | ||
72 | refers to any such program or work, and a "work based on the Program" | ||
73 | means either the Program or any derivative work under copyright law: | ||
74 | that is to say, a work containing the Program or a portion of it, | ||
75 | either verbatim or with modifications and/or translated into another | ||
76 | language. (Hereinafter, translation is included without limitation in | ||
77 | the term "modification".) Each licensee is addressed as "you". | ||
78 | |||
79 | Activities other than copying, distribution and modification are not | ||
80 | covered by this License; they are outside its scope. The act of | ||
81 | running the Program is not restricted, and the output from the Program | ||
82 | is covered only if its contents constitute a work based on the | ||
83 | Program (independent of having been made by running the Program). | ||
84 | Whether that is true depends on what the Program does. | ||
85 | |||
86 | 1. You may copy and distribute verbatim copies of the Program's | ||
87 | source code as you receive it, in any medium, provided that you | ||
88 | conspicuously and appropriately publish on each copy an appropriate | ||
89 | copyright notice and disclaimer of warranty; keep intact all the | ||
90 | notices that refer to this License and to the absence of any warranty; | ||
91 | and give any other recipients of the Program a copy of this License | ||
92 | along with the Program. | ||
93 | |||
94 | You may charge a fee for the physical act of transferring a copy, and | ||
95 | you may at your option offer warranty protection in exchange for a fee. | ||
96 | |||
97 | 2. You may modify your copy or copies of the Program or any portion | ||
98 | of it, thus forming a work based on the Program, and copy and | ||
99 | distribute such modifications or work under the terms of Section 1 | ||
100 | above, provided that you also meet all of these conditions: | ||
101 | |||
102 | a) You must cause the modified files to carry prominent notices | ||
103 | stating that you changed the files and the date of any change. | ||
104 | |||
105 | b) You must cause any work that you distribute or publish, that in | ||
106 | whole or in part contains or is derived from the Program or any | ||
107 | part thereof, to be licensed as a whole at no charge to all third | ||
108 | parties under the terms of this License. | ||
109 | |||
110 | c) If the modified program normally reads commands interactively | ||
111 | when run, you must cause it, when started running for such | ||
112 | interactive use in the most ordinary way, to print or display an | ||
113 | announcement including an appropriate copyright notice and a | ||
114 | notice that there is no warranty (or else, saying that you provide | ||
115 | a warranty) and that users may redistribute the program under | ||
116 | these conditions, and telling the user how to view a copy of this | ||
117 | License. (Exception: if the Program itself is interactive but | ||
118 | does not normally print such an announcement, your work based on | ||
119 | the Program is not required to print an announcement.) | ||
120 | |||
121 | These requirements apply to the modified work as a whole. If | ||
122 | identifiable sections of that work are not derived from the Program, | ||
123 | and can be reasonably considered independent and separate works in | ||
124 | themselves, then this License, and its terms, do not apply to those | ||
125 | sections when you distribute them as separate works. But when you | ||
126 | distribute the same sections as part of a whole which is a work based | ||
127 | on the Program, the distribution of the whole must be on the terms of | ||
128 | this License, whose permissions for other licensees extend to the | ||
129 | entire whole, and thus to each and every part regardless of who wrote it. | ||
130 | |||
131 | Thus, it is not the intent of this section to claim rights or contest | ||
132 | your rights to work written entirely by you; rather, the intent is to | ||
133 | exercise the right to control the distribution of derivative or | ||
134 | collective works based on the Program. | ||
135 | |||
136 | In addition, mere aggregation of another work not based on the Program | ||
137 | with the Program (or with a work based on the Program) on a volume of | ||
138 | a storage or distribution medium does not bring the other work under | ||
139 | the scope of this License. | ||
140 | |||
141 | 3. You may copy and distribute the Program (or a work based on it, | ||
142 | under Section 2) in object code or executable form under the terms of | ||
143 | Sections 1 and 2 above provided that you also do one of the following: | ||
144 | |||
145 | a) Accompany it with the complete corresponding machine-readable | ||
146 | source code, which must be distributed under the terms of Sections | ||
147 | 1 and 2 above on a medium customarily used for software interchange; or, | ||
148 | |||
149 | b) Accompany it with a written offer, valid for at least three | ||
150 | years, to give any third party, for a charge no more than your | ||
151 | cost of physically performing source distribution, a complete | ||
152 | machine-readable copy of the corresponding source code, to be | ||
153 | distributed under the terms of Sections 1 and 2 above on a medium | ||
154 | customarily used for software interchange; or, | ||
155 | |||
156 | c) Accompany it with the information you received as to the offer | ||
157 | to distribute corresponding source code. (This alternative is | ||
158 | allowed only for noncommercial distribution and only if you | ||
159 | received the program in object code or executable form with such | ||
160 | an offer, in accord with Subsection b above.) | ||
161 | |||
162 | The source code for a work means the preferred form of the work for | ||
163 | making modifications to it. For an executable work, complete source | ||
164 | code means all the source code for all modules it contains, plus any | ||
165 | associated interface definition files, plus the scripts used to | ||
166 | control compilation and installation of the executable. However, as a | ||
167 | special exception, the source code distributed need not include | ||
168 | anything that is normally distributed (in either source or binary | ||
169 | form) with the major components (compiler, kernel, and so on) of the | ||
170 | operating system on which the executable runs, unless that component | ||
171 | itself accompanies the executable. | ||
172 | |||
173 | If distribution of executable or object code is made by offering | ||
174 | access to copy from a designated place, then offering equivalent | ||
175 | access to copy the source code from the same place counts as | ||
176 | distribution of the source code, even though third parties are not | ||
177 | compelled to copy the source along with the object code. | ||
178 | |||
179 | 4. You may not copy, modify, sublicense, or distribute the Program | ||
180 | except as expressly provided under this License. Any attempt | ||
181 | otherwise to copy, modify, sublicense or distribute the Program is | ||
182 | void, and will automatically terminate your rights under this License. | ||
183 | However, parties who have received copies, or rights, from you under | ||
184 | this License will not have their licenses terminated so long as such | ||
185 | parties remain in full compliance. | ||
186 | |||
187 | 5. You are not required to accept this License, since you have not | ||
188 | signed it. However, nothing else grants you permission to modify or | ||
189 | distribute the Program or its derivative works. These actions are | ||
190 | prohibited by law if you do not accept this License. Therefore, by | ||
191 | modifying or distributing the Program (or any work based on the | ||
192 | Program), you indicate your acceptance of this License to do so, and | ||
193 | all its terms and conditions for copying, distributing or modifying | ||
194 | the Program or works based on it. | ||
195 | |||
196 | 6. Each time you redistribute the Program (or any work based on the | ||
197 | Program), the recipient automatically receives a license from the | ||
198 | original licensor to copy, distribute or modify the Program subject to | ||
199 | these terms and conditions. You may not impose any further | ||
200 | restrictions on the recipients' exercise of the rights granted herein. | ||
201 | You are not responsible for enforcing compliance by third parties to | ||
202 | this License. | ||
203 | |||
204 | 7. If, as a consequence of a court judgment or allegation of patent | ||
205 | infringement or for any other reason (not limited to patent issues), | ||
206 | conditions are imposed on you (whether by court order, agreement or | ||
207 | otherwise) that contradict the conditions of this License, they do not | ||
208 | excuse you from the conditions of this License. If you cannot | ||
209 | distribute so as to satisfy simultaneously your obligations under this | ||
210 | License and any other pertinent obligations, then as a consequence you | ||
211 | may not distribute the Program at all. For example, if a patent | ||
212 | license would not permit royalty-free redistribution of the Program by | ||
213 | all those who receive copies directly or indirectly through you, then | ||
214 | the only way you could satisfy both it and this License would be to | ||
215 | refrain entirely from distribution of the Program. | ||
216 | |||
217 | If any portion of this section is held invalid or unenforceable under | ||
218 | any particular circumstance, the balance of the section is intended to | ||
219 | apply and the section as a whole is intended to apply in other | ||
220 | circumstances. | ||
221 | |||
222 | It is not the purpose of this section to induce you to infringe any | ||
223 | patents or other property right claims or to contest validity of any | ||
224 | such claims; this section has the sole purpose of protecting the | ||
225 | integrity of the free software distribution system, which is | ||
226 | implemented by public license practices. Many people have made | ||
227 | generous contributions to the wide range of software distributed | ||
228 | through that system in reliance on consistent application of that | ||
229 | system; it is up to the author/donor to decide if he or she is willing | ||
230 | to distribute software through any other system and a licensee cannot | ||
231 | impose that choice. | ||
232 | |||
233 | This section is intended to make thoroughly clear what is believed to | ||
234 | be a consequence of the rest of this License. | ||
235 | |||
236 | 8. If the distribution and/or use of the Program is restricted in | ||
237 | certain countries either by patents or by copyrighted interfaces, the | ||
238 | original copyright holder who places the Program under this License | ||
239 | may add an explicit geographical distribution limitation excluding | ||
240 | those countries, so that distribution is permitted only in or among | ||
241 | countries not thus excluded. In such case, this License incorporates | ||
242 | the limitation as if written in the body of this License. | ||
243 | |||
244 | 9. The Free Software Foundation may publish revised and/or new versions | ||
245 | of the General Public License from time to time. Such new versions will | ||
246 | be similar in spirit to the present version, but may differ in detail to | ||
247 | address new problems or concerns. | ||
248 | |||
249 | Each version is given a distinguishing version number. If the Program | ||
250 | specifies a version number of this License which applies to it and "any | ||
251 | later version", you have the option of following the terms and conditions | ||
252 | either of that version or of any later version published by the Free | ||
253 | Software Foundation. If the Program does not specify a version number of | ||
254 | this License, you may choose any version ever published by the Free Software | ||
255 | Foundation. | ||
256 | |||
257 | 10. If you wish to incorporate parts of the Program into other free | ||
258 | programs whose distribution conditions are different, write to the author | ||
259 | to ask for permission. For software which is copyrighted by the Free | ||
260 | Software Foundation, write to the Free Software Foundation; we sometimes | ||
261 | make exceptions for this. Our decision will be guided by the two goals | ||
262 | of preserving the free status of all derivatives of our free software and | ||
263 | of promoting the sharing and reuse of software generally. | ||
264 | |||
265 | NO WARRANTY | ||
266 | |||
267 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | ||
268 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN | ||
269 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | ||
270 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | ||
271 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
272 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS | ||
273 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE | ||
274 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | ||
275 | REPAIR OR CORRECTION. | ||
276 | |||
277 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | ||
278 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | ||
279 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | ||
280 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | ||
281 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | ||
282 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | ||
283 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | ||
284 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | ||
285 | POSSIBILITY OF SUCH DAMAGES. | ||
286 | |||
287 | END OF TERMS AND CONDITIONS | ||
288 | |||
289 | Appendix: How to Apply These Terms to Your New Programs | ||
290 | |||
291 | If you develop a new program, and you want it to be of the greatest | ||
292 | possible use to the public, the best way to achieve this is to make it | ||
293 | free software which everyone can redistribute and change under these terms. | ||
294 | |||
295 | To do so, attach the following notices to the program. It is safest | ||
296 | to attach them to the start of each source file to most effectively | ||
297 | convey the exclusion of warranty; and each file should have at least | ||
298 | the "copyright" line and a pointer to where the full notice is found. | ||
299 | |||
300 | <one line to give the program's name and a brief idea of what it does.> | ||
301 | Copyright (C) 19yy <name of author> | ||
302 | |||
303 | This program is free software; you can redistribute it and/or modify | ||
304 | it under the terms of the GNU General Public License as published by | ||
305 | the Free Software Foundation; either version 2 of the License, or | ||
306 | (at your option) any later version. | ||
307 | |||
308 | This program is distributed in the hope that it will be useful, | ||
309 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
310 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
311 | GNU General Public License for more details. | ||
312 | |||
313 | You should have received a copy of the GNU General Public License | ||
314 | along with this program; if not, write to the Free Software | ||
315 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
316 | |||
317 | Also add information on how to contact you by electronic and paper mail. | ||
318 | |||
319 | If the program is interactive, make it output a short notice like this | ||
320 | when it starts in an interactive mode: | ||
321 | |||
322 | Gnomovision version 69, Copyright (C) 19yy name of author | ||
323 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | ||
324 | This is free software, and you are welcome to redistribute it | ||
325 | under certain conditions; type `show c' for details. | ||
326 | |||
327 | The hypothetical commands `show w' and `show c' should show the appropriate | ||
328 | parts of the General Public License. Of course, the commands you use may | ||
329 | be called something other than `show w' and `show c'; they could even be | ||
330 | mouse-clicks or menu items--whatever suits your program. | ||
331 | |||
332 | You should also get your employer (if you work as a programmer) or your | ||
333 | school, if any, to sign a "copyright disclaimer" for the program, if | ||
334 | necessary. Here is a sample; alter the names: | ||
335 | |||
336 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program | ||
337 | `Gnomovision' (which makes passes at compilers) written by James Hacker. | ||
338 | |||
339 | <signature of Ty Coon>, 1 April 1989 | ||
340 | Ty Coon, President of Vice | ||
341 | |||
342 | This General Public License does not permit incorporating your program into | ||
343 | proprietary programs. If your program is a subroutine library, you may | ||
344 | consider it more useful to permit linking proprietary applications with the | ||
345 | library. If this is what you want to do, use the GNU Library General | ||
346 | Public License instead of this License. | ||
347 | |||
348 | ------------------------------------------------------------------------- | ||
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 @@ | |||
1 | #ifndef ACCOUNTDISPLAY_H | ||
2 | #define ACCOUNTDISPLAY_H | ||
3 | |||
4 | #include <qlistview.h> | ||
5 | #include <qpushbutton.h> | ||
6 | #include <qlayout.h> | ||
7 | #include <qtabwidget.h> | ||
8 | #include <qhbox.h> | ||
9 | |||
10 | class AccountDisplay : public QWidget | ||
11 | { | ||
12 | Q_OBJECT | ||
13 | |||
14 | public: | ||
15 | AccountDisplay ( QWidget *parent ); | ||
16 | |||
17 | QHBox *firstline; | ||
18 | |||
19 | QPushButton* newaccount; | ||
20 | QPushButton* editaccount; | ||
21 | QPushButton* deleteaccount; | ||
22 | QPushButton* transferbutton; | ||
23 | |||
24 | QListView* listview; | ||
25 | |||
26 | QBoxLayout *layout; | ||
27 | |||
28 | void setTabs ( QWidget *newtab2, QTabWidget *newtabs ); | ||
29 | int getIDColumn (); | ||
30 | void setToggleButton (); | ||
31 | |||
32 | public slots: | ||
33 | void addAccount (); | ||
34 | void editAccount (); | ||
35 | void deleteAccount (); | ||
36 | void accountTransfer ( bool state ); | ||
37 | void getTransferAccounts ( QListViewItem * item ); | ||
38 | void disableParentsWithChildren (); | ||
39 | void enableAccounts (); | ||
40 | |||
41 | private slots: | ||
42 | void saveColumnSize ( int column, int oldsize, int newsize ); | ||
43 | void setAccountExpanded ( QListViewItem *item ); | ||
44 | void setAccountCollapsed ( QListViewItem *item ); | ||
45 | |||
46 | private: | ||
47 | int type, firstaccountid, secondaccountid, cleared; | ||
48 | QWidget *tab2; | ||
49 | QTabWidget *maintabs; | ||
50 | }; | ||
51 | |||
52 | #endif // ACCOUNTDISPLAY_H | ||
53 | |||
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 @@ | |||
1 | #include <qmessagebox.h> | ||
2 | #include <qheader.h> | ||
3 | #include <qfont.h> | ||
4 | #include <sqlite.h> | ||
5 | |||
6 | #include "budgetdisplay.h" | ||
7 | #include "budget.h" | ||
8 | #include "newaccount.h" | ||
9 | #include "datepicker.h" | ||
10 | #include "preferences.h" | ||
11 | #include "transaction.h" | ||
12 | |||
13 | extern Preferences *preferences; | ||
14 | extern Budget *budget; | ||
15 | extern Transaction *transaction; | ||
16 | |||
17 | BudgetDisplay::BudgetDisplay ( QWidget *parent ) : QWidget ( parent ) | ||
18 | { | ||
19 | QFont font = this->font(); | ||
20 | font.setWeight ( QFont::Bold ); | ||
21 | |||
22 | //set the default date to today | ||
23 | newDate = QDate::currentDate (); | ||
24 | year = newDate.year(); | ||
25 | month = newDate.month(); | ||
26 | day = newDate.day(); | ||
27 | datelabel = preferences->getDate ( year, month ); | ||
28 | |||
29 | setCaption ( "Budget" ); | ||
30 | |||
31 | firstline = new QHBox ( this ); | ||
32 | firstline->setSpacing ( 2 ); | ||
33 | secondline = new QHBox ( this ); | ||
34 | secondline->setSpacing ( 10 ); | ||
35 | |||
36 | menu = new QPEMenuBar ( this ); | ||
37 | menu->setFrameStyle ( QFrame::Box | QFrame::Sunken ); | ||
38 | budgetmenu = new QPopupMenu ( this ); | ||
39 | lineitemsmenu = new QPopupMenu ( this ); | ||
40 | datemenu = new QPopupMenu ( this ); | ||
41 | menu->insertItem ( "Budget", budgetmenu ); | ||
42 | menu->insertItem ( "Line Item", lineitemsmenu ); | ||
43 | menu->insertItem ( "Date", datemenu ); | ||
44 | budgetmenu->insertItem ( "New", this, SLOT ( newBudget () ), 0, 1 ); | ||
45 | budgetmenu->insertItem ( "Edit", this, SLOT ( editBudget () ), 0, 2 ); | ||
46 | budgetmenu->insertItem ( "Delete", this, SLOT ( deleteBudget () ), 0, 3 ); | ||
47 | lineitemsmenu->insertItem ( "New", this, SLOT ( newLineItem () ), 0, 1 ); | ||
48 | lineitemsmenu->insertItem ( "Edit", this, SLOT ( editLineItem () ), 0, 2 ); | ||
49 | lineitemsmenu->insertItem ( "Delete", this, SLOT ( deleteLineItem () ), 0, 3 ); | ||
50 | datemenu->insertItem ( "Change", this, SLOT ( showCalendar() ) ); | ||
51 | |||
52 | budgetbox = new QComboBox ( firstline ); | ||
53 | connect ( budgetbox, SIGNAL ( activated ( int ) ), this, SLOT ( setCurrentBudget ( int ) ) ); | ||
54 | |||
55 | budgetview = new QComboBox ( firstline ); | ||
56 | budgetview->insertItem ( "Month" ); | ||
57 | budgetview->insertItem ( "Year" ); | ||
58 | connect ( budgetview, SIGNAL ( activated ( int ) ), this, SLOT ( setCurrentView ( int ) ) ); | ||
59 | |||
60 | budgeted = new QLabel ( secondline ); | ||
61 | budgeted->setFont ( font ); | ||
62 | actual = new QLabel ( secondline ); | ||
63 | actual->setFont ( font ); | ||
64 | date = new QLabel ( secondline ); | ||
65 | date->setFont ( font ); | ||
66 | |||
67 | listview = new QListView ( this ); | ||
68 | listview->setAllColumnsShowFocus ( TRUE ); | ||
69 | listview->setShowSortIndicator ( TRUE ); | ||
70 | listview->setRootIsDecorated ( TRUE ); | ||
71 | listview->setMultiSelection ( FALSE ); | ||
72 | listview->addColumn ( "Line Item", preferences->getColumnPreference ( 13 ) ); // column id 13 | ||
73 | listview->addColumn ( "Budget", preferences->getColumnPreference ( 14 ) ); // column id 14 | ||
74 | listview->addColumn ( "Actual", preferences->getColumnPreference ( 15 ) ); // column id 15 | ||
75 | listview->addColumn ( "", 0 ); // line item ids | ||
76 | listview->setColumnWidthMode ( 0, QListView::Manual ); | ||
77 | listview->setColumnWidthMode ( 1, QListView::Manual ); | ||
78 | listview->setColumnWidthMode ( 2, QListView::Manual ); | ||
79 | listview->setColumnAlignment ( 1, Qt::AlignRight ); | ||
80 | listview->setColumnAlignment ( 2, Qt::AlignRight ); | ||
81 | listview->setColumnWidthMode ( 3, QListView::Manual ); | ||
82 | |||
83 | listview->header()->setTracking ( FALSE ); | ||
84 | connect ( listview->header(), SIGNAL ( sizeChange ( int, int, int ) ), this, SLOT ( saveColumnSize ( int, int, int ) ) ); | ||
85 | |||
86 | displayBudgetNames(); | ||
87 | |||
88 | layout = new QVBoxLayout ( this, 2, 2 ); | ||
89 | layout->setMenuBar ( menu ); | ||
90 | layout->addWidget ( firstline ); | ||
91 | layout->addWidget ( secondline ); | ||
92 | layout->addWidget ( listview ); | ||
93 | } | ||
94 | |||
95 | void BudgetDisplay::deleteBudget () | ||
96 | { | ||
97 | listview->clear(); | ||
98 | transaction->clearBudgetIDs ( currentbudget ); | ||
99 | budget->deleteBudget ( currentbudget ); | ||
100 | if ( budgetbox->count() != 0 ) | ||
101 | displayBudgetNames(); | ||
102 | checkBudgets(); | ||
103 | } | ||
104 | |||
105 | void BudgetDisplay::saveColumnSize ( int column, int oldsize, int newsize ) | ||
106 | { | ||
107 | switch ( column ) | ||
108 | { | ||
109 | case 0: | ||
110 | preferences->changeColumnPreference ( 13, newsize ); | ||
111 | break; | ||
112 | case 1: | ||
113 | preferences->changeColumnPreference ( 14, newsize ); | ||
114 | break; | ||
115 | case 2: | ||
116 | preferences->changeColumnPreference ( 15, newsize ); | ||
117 | break; | ||
118 | } | ||
119 | } | ||
120 | |||
121 | int BudgetDisplay::getIDColumn () | ||
122 | { | ||
123 | int counter; | ||
124 | int columns = listview->columns(); | ||
125 | for ( counter = 0; counter <= columns; counter++ ) | ||
126 | if ( listview->header()->label ( counter ).length() == 0 ) | ||
127 | return counter; | ||
128 | } | ||
129 | |||
130 | void BudgetDisplay::newBudget () | ||
131 | { | ||
132 | constructBudgetWindow(); | ||
133 | int response = nb->exec(); | ||
134 | if ( response == 1 ) | ||
135 | { | ||
136 | // open a new budget object | ||
137 | int addedbudget = budget->addBudget ( budgetname->text(), 0, description->text(), currencybox->currencybox->currentText(), day, month, year, day, month, year, 0 ); | ||
138 | transaction->clearBudgetIDs ( addedbudget ); | ||
139 | displayBudgetNames(); | ||
140 | } | ||
141 | checkBudgets(); | ||
142 | } | ||
143 | |||
144 | void BudgetDisplay::constructBudgetWindow () | ||
145 | { | ||
146 | //construct and format the new budget window | ||
147 | nb = new QDialog ( this, 0, TRUE ); | ||
148 | nb->setCaption ( "Budget" ); | ||
149 | QLabel *namelabel = new QLabel ( "Budget Name", nb ); | ||
150 | budgetname = new QLineEdit ( nb ); | ||
151 | QLabel *descriptionlabel = new QLabel ( "Description", nb ); | ||
152 | description = new QLineEdit ( nb ); | ||
153 | currencybox = new Currency ( nb ); | ||
154 | QBoxLayout *layout = new QVBoxLayout ( nb, 2, 2 ); | ||
155 | layout->addWidget ( namelabel ); | ||
156 | layout->addWidget ( budgetname ); | ||
157 | layout->addWidget ( descriptionlabel ); | ||
158 | layout->addWidget ( description ); | ||
159 | layout->addWidget ( currencybox ); | ||
160 | } | ||
161 | |||
162 | void BudgetDisplay::displayBudgetNames () | ||
163 | { | ||
164 | budgetbox->clear(); | ||
165 | if ( budget->getNumberOfBudgets() != 0 ) | ||
166 | { | ||
167 | ids = budget->getBudgetIDs(); | ||
168 | for ( QStringList::Iterator it = ids->begin(); it != ids->end(); ++it ) | ||
169 | { | ||
170 | QString flag = "/opt/QtPalmtop/pics/flags/"; | ||
171 | flag.append ( budget->getCurrency ( (*it).toInt() ) ); | ||
172 | flag.append ( ".png" ); | ||
173 | budgetbox->insertItem ( QPixmap ( flag ), budget->getBudgetName ( (*it).toInt() ) ); | ||
174 | } | ||
175 | setCurrentBudget ( 0 ); | ||
176 | } | ||
177 | else | ||
178 | checkBudgets(); | ||
179 | } | ||
180 | |||
181 | void BudgetDisplay::setCurrentBudget ( int index ) | ||
182 | { | ||
183 | currentbudget = ( ids->operator[] ( index ).toInt() ); | ||
184 | displayLineItems(); | ||
185 | } | ||
186 | |||
187 | void BudgetDisplay::setCurrentView ( int index ) | ||
188 | { | ||
189 | displayLineItems(); | ||
190 | } | ||
191 | |||
192 | void BudgetDisplay::showCalendar () | ||
193 | { | ||
194 | // create new calendar object and show it | ||
195 | DatePicker *dp = new DatePicker ( QDate ( year, month, day ) ); | ||
196 | dp->daylabel->hide(); | ||
197 | dp->daybox->hide(); | ||
198 | if ( budgetview->currentItem() == 1 ) | ||
199 | { | ||
200 | dp->monthlabel->hide(); | ||
201 | dp->monthbox->hide(); | ||
202 | } | ||
203 | dp->setMaximumWidth ( ( int ) ( this->size().width() * 0.9 ) ); | ||
204 | |||
205 | int response = dp->exec(); | ||
206 | if ( response == 1 ) | ||
207 | { | ||
208 | // Set date integers | ||
209 | year = dp->getYear(); | ||
210 | if ( budgetview->currentItem() == 0 ) | ||
211 | month = dp->getMonth(); | ||
212 | else | ||
213 | month = newDate.month(); | ||
214 | datelabel = preferences->getDate ( year, month ); | ||
215 | displayLineItems(); | ||
216 | } | ||
217 | } | ||
218 | |||
219 | void BudgetDisplay::newLineItem () | ||
220 | { | ||
221 | //construct and format the new line item window | ||
222 | constructLineItemWindow (); | ||
223 | |||
224 | int response = newlineitem->exec(); | ||
225 | if ( response == 1 ) | ||
226 | { | ||
227 | float amount; | ||
228 | if ( lineitemtime->currentItem() == 0 ) | ||
229 | amount = lineitemamount->text().toFloat(); | ||
230 | else if ( lineitemtime->currentItem() == 1 ) | ||
231 | amount = lineitemamount->text().toFloat() * 12; | ||
232 | else | ||
233 | amount = lineitemamount->text().toFloat() * 52; | ||
234 | int lineitemadded = budget->addLineItem ( currentbudget, lineitemname->text(), amount, lineitemtime->currentItem() ); | ||
235 | transaction->clearBudgetIDs ( currentbudget, lineitemadded ); | ||
236 | displayLineItems(); | ||
237 | } | ||
238 | checkBudgets(); | ||
239 | } | ||
240 | |||
241 | void BudgetDisplay::constructLineItemWindow () | ||
242 | { | ||
243 | //construct and format the new budget window | ||
244 | newlineitem = new QDialog ( this, 0, TRUE ); | ||
245 | newlineitem->setCaption ( "Line Item" ); | ||
246 | QLabel *namelabel = new QLabel ( "Line Item Name", newlineitem ); | ||
247 | lineitemname = new QLineEdit ( newlineitem ); | ||
248 | QLabel *budgetamountlabel = new QLabel ( "Budget Amount", newlineitem ); | ||
249 | lineitemamount = new QLineEdit ( newlineitem ); | ||
250 | QLabel *lineitemtimelabel = new QLabel ( "Per:", newlineitem ); | ||
251 | lineitemtime = new QComboBox ( newlineitem ); | ||
252 | lineitemtime->insertItem ( "Year" ); // type 0 | ||
253 | lineitemtime->insertItem ( "Month" ); // type 1 | ||
254 | lineitemtime->insertItem ( "Week" ); // type 2 | ||
255 | QBoxLayout *layout = new QVBoxLayout ( newlineitem, 2, 2 ); | ||
256 | layout->addWidget ( namelabel ); | ||
257 | layout->addWidget ( lineitemname ); | ||
258 | layout->addWidget ( budgetamountlabel ); | ||
259 | layout->addWidget ( lineitemamount ); | ||
260 | layout->addWidget ( lineitemtimelabel ); | ||
261 | layout->addWidget ( lineitemtime ); | ||
262 | } | ||
263 | |||
264 | void BudgetDisplay::deleteLineItem () | ||
265 | { | ||
266 | if ( listview->selectedItem() != 0 ) | ||
267 | { | ||
268 | int lineitemid = listview->selectedItem()->text ( getIDColumn() ).toInt(); | ||
269 | transaction->clearBudgetIDs ( currentbudget, lineitemid ); | ||
270 | budget->deleteLineItem ( currentbudget, lineitemid ); | ||
271 | displayBudgetNames(); | ||
272 | } | ||
273 | else | ||
274 | QMessageBox::warning ( this, "QashMoney", "Please select a line item to delete." ); | ||
275 | checkBudgets(); | ||
276 | } | ||
277 | |||
278 | void BudgetDisplay::displayLineItems () | ||
279 | { | ||
280 | listview->clear(); | ||
281 | if ( budget->getNumberOfBudgets() != 0 ) | ||
282 | { | ||
283 | QString budgettable = budgetbox->currentText(); | ||
284 | budgettable.append ( QString::number ( currentbudget ) ); | ||
285 | budget->displayLineItems ( currentbudget, listview, month, year, budgetview->currentItem() ); | ||
286 | totalactual = transaction->getActualTotal ( currentbudget, year, month, budgetview->currentItem() ); | ||
287 | totalbudget = budget->getBudgetTotal ( currentbudget, budgetview->currentItem() ); | ||
288 | updateBudgetInformation(); | ||
289 | } | ||
290 | } | ||
291 | |||
292 | void BudgetDisplay::checkBudgets () | ||
293 | { | ||
294 | if ( budget->getNumberOfBudgets() == 0 ) | ||
295 | { | ||
296 | budgetview->setEnabled ( FALSE ); | ||
297 | budgetmenu->setItemEnabled ( 2, FALSE ); | ||
298 | budgetmenu->setItemEnabled ( 3, FALSE ); | ||
299 | lineitemsmenu->setItemEnabled ( 1, FALSE ); | ||
300 | lineitemsmenu->setItemEnabled ( 2, FALSE ); | ||
301 | lineitemsmenu->setItemEnabled ( 3, FALSE ); | ||
302 | } | ||
303 | else | ||
304 | { | ||
305 | budgetview->setEnabled ( TRUE ); | ||
306 | budgetmenu->setItemEnabled ( 2, TRUE ); | ||
307 | budgetmenu->setItemEnabled ( 3, TRUE ); | ||
308 | lineitemsmenu->setItemEnabled ( 1, TRUE ); | ||
309 | lineitemsmenu->setItemEnabled ( 2, FALSE ); | ||
310 | lineitemsmenu->setItemEnabled ( 3, FALSE ); | ||
311 | |||
312 | if ( budget->getNumberOfLineItems ( currentbudget ) != 0 ) | ||
313 | { | ||
314 | lineitemsmenu->setItemEnabled ( 2, TRUE ); | ||
315 | lineitemsmenu->setItemEnabled ( 3, TRUE ); | ||
316 | } | ||
317 | } | ||
318 | } | ||
319 | |||
320 | void BudgetDisplay::updateBudgetInformation () | ||
321 | { | ||
322 | if ( budgetview->currentItem() == 0 ) | ||
323 | { | ||
324 | datelabel = preferences->getDate ( year, month ); | ||
325 | datelabel.prepend ( "Date: " ); | ||
326 | date->setText ( datelabel ); | ||
327 | } | ||
328 | else | ||
329 | date->setText ( QString::number ( year ) ); | ||
330 | |||
331 | QString budget = "Budget: "; | ||
332 | budget.append ( totalbudget ); | ||
333 | budgeted->setText ( budget ); | ||
334 | |||
335 | QString actualamount = "Actual: "; | ||
336 | actualamount.append ( totalactual ); | ||
337 | actual->setText ( actualamount ); | ||
338 | } | ||
339 | |||
340 | void BudgetDisplay::editBudget () | ||
341 | { | ||
342 | constructBudgetWindow(); | ||
343 | |||
344 | //set the title | ||
345 | budgetname->setText ( budget->getBudgetName ( currentbudget ) ); | ||
346 | //set the description | ||
347 | description->setText ( budget->getBudgetDescription ( currentbudget ) ); | ||
348 | // retrieve the two character currency code then | ||
349 | // go through the currencty box and find the code | ||
350 | //set the currency box to that index number | ||
351 | int count = currencybox->currencybox->count(); | ||
352 | QString code = budget->getCurrency ( currentbudget ); | ||
353 | for ( int counter = 0; count - 1; counter++ ) | ||
354 | { | ||
355 | if ( QString::compare (currencybox->currencybox->text ( counter ), code ) == 0 ) | ||
356 | { | ||
357 | currencybox->currencybox->setCurrentItem ( counter ); | ||
358 | break; | ||
359 | } | ||
360 | } | ||
361 | int response = nb->exec(); | ||
362 | if ( response == 1 ) | ||
363 | { | ||
364 | budget->updateBudget ( budgetname->text(), description->text(), currencybox->currencybox->currentText(), currentbudget ); | ||
365 | displayBudgetNames(); | ||
366 | } | ||
367 | } | ||
368 | |||
369 | void BudgetDisplay::editLineItem () | ||
370 | { | ||
371 | if ( listview->selectedItem() != 0 ) | ||
372 | { | ||
373 | constructLineItemWindow(); | ||
374 | |||
375 | // set the line item name | ||
376 | lineitemname->setText ( listview->selectedItem()->text( 0 ) ); | ||
377 | |||
378 | // set the line item time combobox | ||
379 | int lineitemtype = budget->getLineItemTime ( currentbudget, listview->selectedItem()->text ( 3 ).toInt() ); | ||
380 | lineitemtime->setCurrentItem ( lineitemtype ); | ||
381 | |||
382 | // set the line item amount | ||
383 | float amount = budget->getLineItemAmount ( currentbudget, listview->selectedItem()->text ( 3 ).toInt() ); | ||
384 | if ( lineitemtype == 1 ) | ||
385 | amount = amount / 12; | ||
386 | else if ( lineitemtype == 2 ) | ||
387 | amount = amount / 52; | ||
388 | lineitemamount->setText ( QString::number ( amount ) ); | ||
389 | |||
390 | int response = newlineitem->exec(); | ||
391 | if ( response == 1 ) | ||
392 | { | ||
393 | float amount; | ||
394 | if ( lineitemtime->currentItem() == 0 ) | ||
395 | amount = lineitemamount->text().toFloat(); | ||
396 | else if ( lineitemtime->currentItem() == 1 ) | ||
397 | amount = lineitemamount->text().toFloat() * 12; | ||
398 | else | ||
399 | amount = lineitemamount->text().toFloat() * 52; | ||
400 | budget->updateLineItem ( lineitemname->text(), amount, lineitemtime->currentItem(), currentbudget, listview->selectedItem()->text ( 3 ).toInt() ); | ||
401 | displayLineItems(); | ||
402 | } | ||
403 | } | ||
404 | else | ||
405 | QMessageBox::warning ( this, "QashMoney", "Please select a line item to edit." ); | ||
406 | } | ||
407 | |||
408 | |||
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 @@ | |||
1 | #ifndef BUDGETDISPLAY_H | ||
2 | #define BUDGETDISPLAY_H | ||
3 | |||
4 | #include <qlistview.h> | ||
5 | #include <qlineedit.h> | ||
6 | #include <qpushbutton.h> | ||
7 | #include <qcombobox.h> | ||
8 | #include <qlayout.h> | ||
9 | #include <qlabel.h> | ||
10 | #include <qstringlist.h> | ||
11 | #include <qdatetime.h> | ||
12 | #include <qpe/qpemenubar.h> | ||
13 | #include <qpopupmenu.h> | ||
14 | #include <qhbox.h> | ||
15 | |||
16 | #include "currency.h" | ||
17 | |||
18 | class BudgetDisplay : public QWidget | ||
19 | { | ||
20 | Q_OBJECT | ||
21 | |||
22 | public: | ||
23 | BudgetDisplay ( QWidget *parent ); | ||
24 | |||
25 | QPEMenuBar *menu; | ||
26 | QPopupMenu *budgetmenu; | ||
27 | QPopupMenu *lineitemsmenu; | ||
28 | QPopupMenu *datemenu; | ||
29 | |||
30 | QHBox *firstline; | ||
31 | QHBox *secondline; | ||
32 | |||
33 | QLabel *budgeted; | ||
34 | QLabel *actual; | ||
35 | QLabel *date; | ||
36 | |||
37 | QLineEdit *budgetname; | ||
38 | QLineEdit *description; | ||
39 | Currency *currencybox; | ||
40 | |||
41 | QLineEdit *lineitemname; | ||
42 | QLineEdit *lineitemamount; | ||
43 | QComboBox *lineitemtime; | ||
44 | |||
45 | QListView *listview; | ||
46 | QComboBox *budgetbox; | ||
47 | QComboBox *budgetview; | ||
48 | |||
49 | QBoxLayout *layout; | ||
50 | |||
51 | int getIDColumn (); | ||
52 | |||
53 | public slots: | ||
54 | void displayBudgetNames (); | ||
55 | void displayLineItems (); | ||
56 | void updateBudgetInformation (); | ||
57 | |||
58 | private slots: | ||
59 | void saveColumnSize ( int column, int oldsize, int newsize ); | ||
60 | void newBudget (); | ||
61 | void deleteBudget (); | ||
62 | void setCurrentBudget ( int ); | ||
63 | void setCurrentView ( int ); | ||
64 | void showCalendar (); | ||
65 | void newLineItem (); | ||
66 | void deleteLineItem (); | ||
67 | void checkBudgets (); | ||
68 | void editBudget (); | ||
69 | void editLineItem (); | ||
70 | void constructBudgetWindow (); | ||
71 | void constructLineItemWindow (); | ||
72 | |||
73 | private: | ||
74 | QStringList *names; | ||
75 | QStringList *ids; | ||
76 | int currentbudget, year, month, day; | ||
77 | QDate newDate; | ||
78 | QString totalbudget, totalactual; | ||
79 | QString datelabel; | ||
80 | QDialog *nb; | ||
81 | QDialog *newlineitem; | ||
82 | }; | ||
83 | |||
84 | #endif // BUDGETDISPLAY_H | ||
85 | |||
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 @@ | |||
1 | #include "calculator.h" | ||
2 | |||
3 | #include <qpushbutton.h> | ||
4 | |||
5 | Calculator::Calculator ( QWidget* parent ) : QDialog ( parent, 0, TRUE ) | ||
6 | { | ||
7 | |||
8 | display = new QLineEdit ( this, "display" ); | ||
9 | display->setFrame ( FALSE ); | ||
10 | display->setAlignment ( Qt::AlignRight ); | ||
11 | |||
12 | QPushButton *one = new QPushButton ( "1", this, "one" ); // make buttons for first row | ||
13 | one->setFlat ( TRUE ); | ||
14 | connect ( one, SIGNAL ( released () ), this, SLOT ( displayOne () ) ); | ||
15 | |||
16 | QPushButton *two = new QPushButton ( "2", this, "two" ); | ||
17 | two->setFlat ( TRUE ); | ||
18 | connect ( two, SIGNAL ( released () ), this, SLOT ( displayTwo () ) ); | ||
19 | |||
20 | QPushButton *three = new QPushButton ( "3", this, "three" ); | ||
21 | three->setFlat ( TRUE ); | ||
22 | connect ( three, SIGNAL ( released () ), this, SLOT ( displayThree () ) ); | ||
23 | |||
24 | QPushButton *four = new QPushButton ( "4", this, "four" ); // make buttons for second row | ||
25 | four->setFlat ( TRUE ); | ||
26 | connect ( four, SIGNAL ( released () ), this, SLOT ( displayFour () ) ); | ||
27 | |||
28 | QPushButton *five = new QPushButton ( "5", this, "five" ); | ||
29 | five->setFlat ( TRUE ); | ||
30 | connect ( five, SIGNAL ( released () ), this, SLOT ( displayFive () ) ); | ||
31 | |||
32 | QPushButton *six = new QPushButton ( "6", this, "six" ); | ||
33 | six->setFlat ( TRUE ); | ||
34 | connect ( six, SIGNAL ( released () ), this, SLOT ( displaySix () ) ); | ||
35 | |||
36 | QPushButton *seven = new QPushButton ( "7", this, "seven" ); // make buttons for third row | ||
37 | seven->setFlat ( TRUE ); | ||
38 | connect ( seven, SIGNAL ( released () ), this, SLOT ( displaySeven () ) ); | ||
39 | |||
40 | QPushButton *eight = new QPushButton ( "8", this, "eight" ); | ||
41 | eight->setFlat ( TRUE ); | ||
42 | connect ( eight, SIGNAL ( released () ), this, SLOT ( displayEight () ) ); | ||
43 | |||
44 | QPushButton *nine = new QPushButton ( "9", this, "nine" ); | ||
45 | nine->setFlat ( TRUE ); | ||
46 | connect ( nine, SIGNAL ( released () ), this, SLOT ( displayNine () ) ); | ||
47 | |||
48 | QPushButton *zero = new QPushButton ( "0", this, "zero" ); | ||
49 | zero->setFlat ( TRUE ); | ||
50 | connect ( zero, SIGNAL ( released () ), this, SLOT ( displayZero () ) ); | ||
51 | |||
52 | QPushButton *dp = new QPushButton ( ".", this, "dp" ); | ||
53 | dp->setFlat ( TRUE ); | ||
54 | connect ( dp, SIGNAL ( released () ), this, SLOT ( displayPoint () ) ); | ||
55 | |||
56 | QPushButton *back = new QPushButton ( "<-", this, "back" ); | ||
57 | back->setFlat ( TRUE ); | ||
58 | connect ( back, SIGNAL ( released () ), this, SLOT ( back () ) ); | ||
59 | |||
60 | layout = new QGridLayout ( this, 5, 3, 5, 1, "calculatorlayout" ); | ||
61 | layout->addMultiCellWidget ( display, 0, 0, 0, 2 ); | ||
62 | layout->addWidget ( one, 1, 0 ); | ||
63 | layout->addWidget ( two, 1, 1 ); | ||
64 | layout->addWidget ( three, 1, 2 ); | ||
65 | layout->addWidget ( four, 2, 0 ); | ||
66 | layout->addWidget ( five, 2, 1 ); | ||
67 | layout->addWidget ( six, 2, 2 ); | ||
68 | layout->addWidget ( seven, 3, 0 ); | ||
69 | layout->addWidget ( eight, 3, 1 ); | ||
70 | layout->addWidget ( nine, 3, 2 ); | ||
71 | layout->addWidget ( zero, 4, 0 ); | ||
72 | layout->addWidget ( dp, 4, 1 ); | ||
73 | layout->addWidget ( back, 4, 2 ); | ||
74 | |||
75 | } | ||
76 | |||
77 | void Calculator::displayOne () | ||
78 | { display->insert ( "1" ); } | ||
79 | |||
80 | void Calculator::displayTwo () | ||
81 | { display->insert ( "2" ); } | ||
82 | |||
83 | void Calculator::displayThree () | ||
84 | { display->insert ( "3" ); } | ||
85 | |||
86 | void Calculator::displayFour () | ||
87 | { display->insert ( "4" ); } | ||
88 | |||
89 | void Calculator::displayFive () | ||
90 | { display->insert ( "5" ); } | ||
91 | |||
92 | void Calculator::displaySix () | ||
93 | { display->insert ( "6" ); } | ||
94 | |||
95 | void Calculator::displaySeven () | ||
96 | { display->insert ( "7" ); } | ||
97 | |||
98 | void Calculator::displayEight () | ||
99 | { display->insert ( "8" ); } | ||
100 | |||
101 | void Calculator::displayNine () | ||
102 | { display->insert ( "9" ); } | ||
103 | |||
104 | void Calculator::displayZero () | ||
105 | { display->insert ( "0" ); } | ||
106 | |||
107 | void Calculator::displayPoint () | ||
108 | { display->insert ( "." ); } | ||
109 | |||
110 | void Calculator::back () | ||
111 | { display->backspace(); } | ||
112 | |||
113 | |||
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 @@ | |||
1 | #ifndef CALCULATOR_H | ||
2 | #define CALCULATOR_H | ||
3 | |||
4 | #include <qdialog.h> | ||
5 | #include <qlayout.h> | ||
6 | #include <qlineedit.h> | ||
7 | |||
8 | class Calculator : public QDialog | ||
9 | { | ||
10 | Q_OBJECT | ||
11 | |||
12 | public: | ||
13 | |||
14 | Calculator ( QWidget* parent ); | ||
15 | |||
16 | QLineEdit* display; | ||
17 | |||
18 | private slots: | ||
19 | |||
20 | void displayOne (); | ||
21 | void displayTwo (); | ||
22 | void displayThree (); | ||
23 | void displayFour (); | ||
24 | void displayFive (); | ||
25 | void displaySix (); | ||
26 | void displaySeven (); | ||
27 | void displayEight (); | ||
28 | void displayNine (); | ||
29 | void displayZero (); | ||
30 | void displayPoint (); | ||
31 | void back (); | ||
32 | |||
33 | private: | ||
34 | |||
35 | QGridLayout *layout; | ||
36 | |||
37 | }; | ||
38 | |||
39 | #endif | ||
40 | |||
41 | |||
42 | |||
43 | |||
44 | |||
45 | |||
46 | |||
47 | |||
48 | |||
49 | |||
50 | |||
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 @@ | |||
1 | #include "currency.h" | ||
2 | |||
3 | Currency::Currency ( QWidget *parent ) : QWidget ( parent ) | ||
4 | { | ||
5 | currencylabel = new QLabel ( "Currency", this ); | ||
6 | currencybox = new QComboBox ( this ); | ||
7 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/AE.png"), "AE" ); | ||
8 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/AR.png"), "AR" ); | ||
9 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/AT.png"), "AT" ); | ||
10 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/AU.png"), "AU" ); | ||
11 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/BD.png"), "BD" ); | ||
12 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/BE.png"), "BE" ); | ||
13 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/BH.png"), "BH" ); | ||
14 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/BR.png"), "BR" ); | ||
15 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/BW.png"), "BW" ); | ||
16 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/CA.png"), "CA" ); | ||
17 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/CH.png"), "CH" ); | ||
18 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/CL.png"), "CL" ); | ||
19 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/CN.png"), "CN" ); | ||
20 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/CO.png"), "CO" ); | ||
21 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/CZ.png"), "CZ" ); | ||
22 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/DE.png"), "DE" ); | ||
23 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/DK.png"), "DK" ); | ||
24 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/DO.png"), "DO" ); | ||
25 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/EG.png"), "EG" ); | ||
26 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/ES.png"), "ES" ); | ||
27 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/EU.png"), "EU" ); | ||
28 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/FL.png"), "FL" ); | ||
29 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/FR.png"), "FR" ); | ||
30 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/GB.png"), "GB" ); | ||
31 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/GR.png"), "GR" ); | ||
32 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/HK.png"), "HK" ); | ||
33 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/HU.png"), "HU" ); | ||
34 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/ID.png"), "ID" ); | ||
35 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/IE.png"), "IE" ); | ||
36 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/IL.png"), "IL" ); | ||
37 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/IN.png"), "IN" ); | ||
38 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/IQ.png"), "IQ" ); | ||
39 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/IS.png"), "IS" ); | ||
40 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/IT.png"), "IT" ); | ||
41 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/JO.png"), "JO" ); | ||
42 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/JP.png"), "JP" ); | ||
43 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/KR.png"), "KR" ); | ||
44 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/LB.png"), "LB" ); | ||
45 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/LK.png"), "LK" ); | ||
46 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/LU.png"), "LU" ); | ||
47 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/MX.png"), "MX" ); | ||
48 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/MY.png"), "MY" ); | ||
49 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/NL.png"), "NL" ); | ||
50 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/NO.png"), "NO" ); | ||
51 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/NP.png"), "NP" ); | ||
52 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/NZ.png"), "NZ" ); | ||
53 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/OM.png"), "OM" ); | ||
54 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/PE.png"), "PE" ); | ||
55 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/PH.png"), "PH" ); | ||
56 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/PK.png"), "PK" ); | ||
57 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/PL.png"), "PL" ); | ||
58 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/PT.png"), "PT" ); | ||
59 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/QA.png"), "QA" ); | ||
60 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/SA.png"), "SA" ); | ||
61 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/SE.png"), "SE" ); | ||
62 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/SG.png"), "SG" ); | ||
63 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/SI.png"), "SK" ); | ||
64 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/TH.png"), "TH" ); | ||
65 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/TR.png"), "TR" ); | ||
66 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/TW.png"), "TW" ); | ||
67 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/US.png"), "US" ); | ||
68 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/UY.png"), "UY" ); | ||
69 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/VE.png"), "VE" ); | ||
70 | currencybox->insertItem ( QPixmap ( "/opt/QtPalmtop/pics/flags/ZA.png"), "ZA" ); | ||
71 | |||
72 | layout = new QVBoxLayout ( this ); | ||
73 | layout->addWidget ( currencylabel ); | ||
74 | layout->addWidget ( currencybox ); | ||
75 | } | ||
76 | |||
77 | |||
78 | |||
79 | |||
80 | |||
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 @@ | |||
1 | #ifndef CURRENCY_H | ||
2 | #define CURRENCY_H | ||
3 | |||
4 | #include <qgroupbox.h> | ||
5 | #include <qlabel.h> | ||
6 | #include <qcombobox.h> | ||
7 | #include <qpixmap.h> | ||
8 | #include <qlayout.h> | ||
9 | |||
10 | class Currency : public QWidget | ||
11 | { | ||
12 | Q_OBJECT | ||
13 | |||
14 | public: | ||
15 | |||
16 | Currency ( QWidget *parent ); | ||
17 | QLabel *currencylabel; | ||
18 | QComboBox *currencybox; | ||
19 | QBoxLayout *layout; | ||
20 | }; | ||
21 | |||
22 | #endif | ||
23 | |||
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 @@ | |||
1 | #include "datepicker.h" | ||
2 | |||
3 | DatePicker::DatePicker ( QDate entrydate ) : QDialog ( 0, 0, TRUE ) | ||
4 | { | ||
5 | setCaption ( "Select Date" ); | ||
6 | date = entrydate; | ||
7 | day = date.day(); | ||
8 | month = date.month(); | ||
9 | year = date.year(); | ||
10 | |||
11 | daylabel = new QLabel ( "Day", this ); | ||
12 | monthlabel = new QLabel ( "Month", this ); | ||
13 | yearlabel = new QLabel ( "Year", this ); | ||
14 | |||
15 | daybox = new QComboBox ( this, "daybox" ); | ||
16 | connect ( daybox, SIGNAL ( activated ( int ) ), this, SLOT ( setDay ( int ) ) ); | ||
17 | displayDays ( daybox ); | ||
18 | monthbox = new QComboBox ( this, "monthbox" ); | ||
19 | connect ( monthbox, SIGNAL ( activated ( int ) ), this, SLOT ( setMonth ( int ) ) ); | ||
20 | displayMonths ( monthbox ); | ||
21 | yearbox = new QComboBox ( this, "yearbox" ); | ||
22 | connect ( yearbox, SIGNAL ( activated ( int ) ), this, SLOT ( setYear ( int ) ) ); | ||
23 | displayYears ( yearbox ); | ||
24 | |||
25 | layout = new QGridLayout ( this, 2, 3, 5, 5, "datepickerlayout" ); | ||
26 | layout->addWidget ( daylabel, 0, 2 ); | ||
27 | layout->addWidget ( monthlabel, 0, 1 ); | ||
28 | layout->addWidget ( yearlabel, 0, 0 ); | ||
29 | layout->addWidget ( daybox, 1, 2 ); | ||
30 | layout->addWidget ( monthbox, 1, 1 ); | ||
31 | layout->addWidget ( yearbox, 1, 0 ); | ||
32 | } | ||
33 | |||
34 | void DatePicker::displayDays ( QComboBox *daybox ) | ||
35 | { | ||
36 | int counter; | ||
37 | int days = date.daysInMonth(); | ||
38 | for ( counter = 1; counter <= days; counter++ ) | ||
39 | daybox->insertItem ( QString::number ( counter ) ); | ||
40 | daybox->setCurrentItem ( ( date.day() ) - 1 ); | ||
41 | } | ||
42 | |||
43 | void DatePicker::displayMonths ( QComboBox *monthbox ) | ||
44 | { | ||
45 | int counter; | ||
46 | for ( counter = 1; counter <= 12; counter++ ) | ||
47 | monthbox->insertItem ( QString::number ( counter ) ); | ||
48 | monthbox->setCurrentItem ( ( date.month() ) - 1 ); | ||
49 | } | ||
50 | |||
51 | void DatePicker::displayYears ( QComboBox *yearbox ) | ||
52 | { | ||
53 | int counter; | ||
54 | int indexcounter = 0; | ||
55 | int yearindex = 0; | ||
56 | int year = date.year(); | ||
57 | for ( counter = ( year - 1 ); counter <= ( year + 1 ); counter++ ) | ||
58 | { | ||
59 | yearbox->insertItem ( QString::number ( counter ) ); | ||
60 | if ( date.year() == counter ) | ||
61 | yearindex = indexcounter; | ||
62 | indexcounter ++; | ||
63 | } | ||
64 | yearbox->setCurrentItem ( yearindex ); | ||
65 | } | ||
66 | |||
67 | void DatePicker::setDay ( int index ) | ||
68 | { | ||
69 | day = daybox->text ( index ).toInt(); | ||
70 | } | ||
71 | |||
72 | void DatePicker::setMonth ( int index ) | ||
73 | { | ||
74 | month = monthbox->text( index ).toInt(); | ||
75 | } | ||
76 | |||
77 | void DatePicker::setYear ( int index ) | ||
78 | { | ||
79 | year = yearbox->text ( index ).toInt(); | ||
80 | } | ||
81 | |||
82 | int DatePicker::getDay () | ||
83 | { return day; } | ||
84 | |||
85 | int DatePicker::getMonth () | ||
86 | { return month; } | ||
87 | |||
88 | int DatePicker::getYear () | ||
89 | { return year; } | ||
90 | |||
91 | |||
92 | |||
93 | |||
94 | |||
95 | |||
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 @@ | |||
1 | #ifndef DATEPICKER_H | ||
2 | #define DATEPICKER_H | ||
3 | |||
4 | #include <qdialog.h> | ||
5 | #include <qlabel.h> | ||
6 | #include <qdatetime.h> | ||
7 | #include <qcombobox.h> | ||
8 | #include <qlayout.h> | ||
9 | |||
10 | class DatePicker : public QDialog | ||
11 | |||
12 | { | ||
13 | Q_OBJECT | ||
14 | |||
15 | public: | ||
16 | QLabel *daylabel; | ||
17 | QComboBox *daybox; | ||
18 | |||
19 | QLabel *monthlabel; | ||
20 | QComboBox *monthbox; | ||
21 | |||
22 | DatePicker ( QDate entrydate ); | ||
23 | int getDay (); | ||
24 | int getMonth (); | ||
25 | int getYear (); | ||
26 | |||
27 | private slots: | ||
28 | void setDay ( int ); | ||
29 | void setMonth ( int ); | ||
30 | void setYear ( int ); | ||
31 | |||
32 | private: | ||
33 | void displayDays ( QComboBox *daybox ); | ||
34 | void displayMonths ( QComboBox *monthbox ); | ||
35 | void displayYears ( QComboBox *yearbox ); | ||
36 | |||
37 | QDate date; | ||
38 | |||
39 | QLabel *yearlabel; | ||
40 | QComboBox *yearbox; | ||
41 | |||
42 | QGridLayout *layout; | ||
43 | |||
44 | int day, month, year; | ||
45 | |||
46 | }; | ||
47 | |||
48 | #endif | ||
49 | |||
50 | |||
51 | |||
52 | |||
53 | |||
54 | |||
55 | |||
56 | |||
57 | |||
58 | |||
59 | |||
60 | |||
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 @@ | |||
1 | [Desktop Entry] | ||
2 | Comment=QashMoney, budget software for the Z | ||
3 | Exec=qashmoney | ||
4 | Icon=qashmoney.png | ||
5 | Name=QashMoney | ||
6 | Terminal=false | ||
7 | 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 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | # ipkg-build -- construct a .ipk from a directory | ||
4 | # Carl Worth <cworth@east.isi.edu> | ||
5 | # based on a script by Steve Redler IV, steve@sr-tech.com 5-21-2001 | ||
6 | set -e | ||
7 | |||
8 | ipkg_extract_value() { | ||
9 | sed -e "s/^[^:]*:[[:space:]]*//" | ||
10 | } | ||
11 | |||
12 | required_field() { | ||
13 | field=$1 | ||
14 | |||
15 | value=`grep "^$field:" < $CONTROL/control | ipkg_extract_value` | ||
16 | if [ -z "$value" ]; then | ||
17 | echo "*** Error: $CONTROL/control is missing field $field" >&2 | ||
18 | return 1 | ||
19 | fi | ||
20 | echo $value | ||
21 | return 0 | ||
22 | } | ||
23 | |||
24 | pkg_appears_sane() { | ||
25 | local pkg_dir=$1 | ||
26 | |||
27 | local owd=`pwd` | ||
28 | cd $pkg_dir | ||
29 | |||
30 | PKG_ERROR=0 | ||
31 | |||
32 | large_uid_files=`find . -uid +99` | ||
33 | if [ -n "$large_uid_files" ]; then | ||
34 | echo "*** Warning: The following files have a UID greater than 99. | ||
35 | You probably want to chown these to a system user: " >&2 | ||
36 | ls -ld $large_uid_files | ||
37 | echo >&2 | ||
38 | fi | ||
39 | |||
40 | |||
41 | if [ ! -f "$CONTROL/control" ]; then | ||
42 | echo "*** Error: Control file $pkg_dir/$CONTROL/control not found." >&2 | ||
43 | cd $owd | ||
44 | return 1 | ||
45 | fi | ||
46 | |||
47 | pkg=`required_field Package` | ||
48 | [ "$?" -ne 0 ] && PKG_ERROR=1 | ||
49 | |||
50 | version=`required_field Version | sed 's/.*://;'` | ||
51 | [ "$?" -ne 0 ] && PKG_ERROR=1 | ||
52 | |||
53 | arch=`required_field Architecture` | ||
54 | [ "$?" -ne 0 ] && PKG_ERROR=1 | ||
55 | |||
56 | required_field Maintainer >/dev/null | ||
57 | [ "$?" -ne 0 ] && PKG_ERROR=1 | ||
58 | |||
59 | required_field Description >/dev/null | ||
60 | [ "$?" -ne 0 ] && PKG_ERROR=1 | ||
61 | |||
62 | section=`required_field Section` | ||
63 | [ "$?" -ne 0 ] && PKG_ERROR=1 | ||
64 | if [ -z "$section" ]; then | ||
65 | echo "The Section field should have one of the following values:" >&2 | ||
66 | echo "Games, Multimedia, Communications, Settings, Utilies, Applications, Console, Misc" >&2 | ||
67 | fi | ||
68 | |||
69 | priority=`required_field Priority` | ||
70 | [ "$?" -ne 0 ] && PKG_ERROR=1 | ||
71 | if [ -z "$priority" ]; then | ||
72 | echo "The Priority field should have one of the following values:" >&2 | ||
73 | echo "required, important, standard, optional, extra." >&2 | ||
74 | echo "If you don't know which priority value you should be using, then use \`optional'" >&2 | ||
75 | fi | ||
76 | |||
77 | if echo $pkg | grep '[^a-z0-9.+-]'; then | ||
78 | echo "*** Error: Package name $name contains illegal characters, (other than [a-z0-9.+-])" >&2 | ||
79 | PKG_ERROR=1; | ||
80 | fi | ||
81 | |||
82 | local bad_fields=`sed -ne 's/^\([^[:space:]][^:[:space:]]\+[[:space:]]\+\)[^:].*/\1/p' < $CONTROL/control | sed -e 's/\\n//'` | ||
83 | if [ -n "$bad_fields" ]; then | ||
84 | bad_fields=`echo $bad_fields` | ||
85 | echo "*** Error: The following fields in $CONTROL/control are missing a ':'" >&2 | ||
86 | echo "$bad_fields" >&2 | ||
87 | echo "ipkg-build: This may be due to a missing initial space for a multi-line field value" >&2 | ||
88 | PKG_ERROR=1 | ||
89 | fi | ||
90 | |||
91 | for script in $CONTROL/preinst $CONTROL/postinst $CONTROL/prerm $CONTROL/postrm; do | ||
92 | if [ -f $script -a ! -x $script ]; then | ||
93 | echo "*** Error: package script $script is not executable" >&2 | ||
94 | PKG_ERROR=1 | ||
95 | fi | ||
96 | done | ||
97 | |||
98 | if [ -f $CONTROL/conffiles ]; then | ||
99 | for cf in `cat $CONTROL/conffiles`; do | ||
100 | if [ ! -f ./$cf ]; then | ||
101 | echo "*** Error: $CONTROL/conffiles mentions conffile $cf which does not exist" >&2 | ||
102 | PKG_ERROR=1 | ||
103 | fi | ||
104 | done | ||
105 | fi | ||
106 | |||
107 | cd $owd | ||
108 | return $PKG_ERROR | ||
109 | } | ||
110 | |||
111 | ### | ||
112 | # ipkg-build "main" | ||
113 | ### | ||
114 | |||
115 | case $# in | ||
116 | 1) | ||
117 | dest_dir=. | ||
118 | ;; | ||
119 | 2) | ||
120 | dest_dir=$2 | ||
121 | ;; | ||
122 | *) | ||
123 | echo "Usage: ipkg-build <pkg_directory> [<destination_directory>]" >&2 | ||
124 | exit 1 | ||
125 | ;; | ||
126 | esac | ||
127 | |||
128 | pkg_dir=$1 | ||
129 | |||
130 | if [ ! -d $pkg_dir ]; then | ||
131 | echo "*** Error: Directory $pkg_dir does not exist" >&2 | ||
132 | exit 1 | ||
133 | fi | ||
134 | |||
135 | # CONTROL is second so that it takes precedence | ||
136 | CONTROL= | ||
137 | [ -d $pkg_dir/DEBIAN ] && CONTROL=DEBIAN | ||
138 | [ -d $pkg_dir/CONTROL ] && CONTROL=CONTROL | ||
139 | if [ -z "$CONTROL" ]; then | ||
140 | echo "*** Error: Directory $pkg_dir has no CONTROL subdirectory." >&2 | ||
141 | exit 1 | ||
142 | fi | ||
143 | |||
144 | if ! pkg_appears_sane $pkg_dir; then | ||
145 | echo >&2 | ||
146 | echo "ipkg-build: Please fix the above errors and try again." >&2 | ||
147 | exit 1 | ||
148 | fi | ||
149 | |||
150 | tmp_dir=$dest_dir/IPKG_BUILD.$$ | ||
151 | mkdir $tmp_dir | ||
152 | |||
153 | tar -C $pkg_dir -czf $tmp_dir/data.tar.gz . --exclude=$CONTROL | ||
154 | tar -C $pkg_dir/$CONTROL -czf $tmp_dir/control.tar.gz . | ||
155 | |||
156 | echo "2.0" > $tmp_dir/debian-binary | ||
157 | |||
158 | pkg_file=$dest_dir/${pkg}_${version}_${arch}.ipk | ||
159 | tar -C $tmp_dir -czf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz | ||
160 | rm $tmp_dir/debian-binary $tmp_dir/data.tar.gz $tmp_dir/control.tar.gz | ||
161 | rmdir $tmp_dir | ||
162 | |||
163 | 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 @@ | |||
1 | #include <qpe/qpeapplication.h> | ||
2 | #include "qashmoney.h" | ||
3 | |||
4 | int main( int argc, char **argv ) | ||
5 | { | ||
6 | QPEApplication a ( argc, argv ); | ||
7 | QashMoney qashmoney; | ||
8 | a.showMainWidget ( &qashmoney ); | ||
9 | return a.exec(); | ||
10 | } | ||
11 | |||
12 | |||
13 | |||
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 @@ | |||
1 | # Use this script to make the IPK file for distribution | ||
2 | # It assumes you are the root user. Ipkg likes to have all | ||
3 | # its files owned by root and this script does that. | ||
4 | # Change the user name from "allen" to your user name | ||
5 | # If you want to use this script | ||
6 | |||
7 | # Set the environment variables for the arm environment | ||
8 | echo "Setting environment variables..." | ||
9 | source arm.sh | ||
10 | |||
11 | # Remove any exisitng IPK files | ||
12 | echo "Removing exisiting IPK files..." | ||
13 | rm -rf *.ipk | ||
14 | |||
15 | # Strip the binary file | ||
16 | echo "Stripping the binary file..." | ||
17 | arm-linux-strip qashmoney | ||
18 | |||
19 | # Move the file to the right location | ||
20 | echo "Moving the binary file..." | ||
21 | mv qashmoney install/opt/QtPalmtop/bin && | ||
22 | |||
23 | # Change ownership of all the files | ||
24 | echo "Changing ownership of all files..." | ||
25 | chown -R root install | ||
26 | chgrp -R root install | ||
27 | chmod -R 0777 install | ||
28 | |||
29 | # Make the IPK | ||
30 | echo "Making the IPK file..." | ||
31 | ./ipkg-build install | ||
32 | |||
33 | # Remove the binary from the bin directory so we can make the tarball | ||
34 | echo "Removing qashmoney binary file..." | ||
35 | rm -rf install/opt/QtPalmtop/bin/qashmoney | ||
36 | |||
37 | # Restore ownership of all files | ||
38 | echo "Restoring ownership of all files..." | ||
39 | chown -R allen install | ||
40 | chgrp -R allen install | ||
41 | 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 @@ | |||
1 | #include "memorydialog.h" | ||
2 | #include "memory.h" | ||
3 | #include <qmessagebox.h> | ||
4 | |||
5 | extern Memory *memory; | ||
6 | |||
7 | MemoryDialog::MemoryDialog () : QDialog ( 0, 0, TRUE ) | ||
8 | { | ||
9 | setCaption ( tr ( "Edit Memory" ) ); | ||
10 | |||
11 | listbox = new QListBox ( this, "listbox" ); | ||
12 | memory->displayMemoryItems ( listbox ); | ||
13 | listbox->clearSelection(); | ||
14 | |||
15 | secondline = new QHBox ( this ); | ||
16 | |||
17 | newbutton = new QPushButton ( secondline ); | ||
18 | newbutton->setPixmap( QPixmap ("/opt/QtPalmtop/pics/new.png") ); | ||
19 | connect ( newbutton, SIGNAL ( released () ), this, SLOT ( addItem () ) ); | ||
20 | |||
21 | editbutton = new QPushButton ( secondline ); | ||
22 | editbutton->setPixmap( QPixmap ("/opt/QtPalmtop/pics/edit.png") ); | ||
23 | connect ( editbutton, SIGNAL ( released () ), this, SLOT ( editItem () ) ); | ||
24 | |||
25 | deletebutton = new QPushButton( secondline ); | ||
26 | deletebutton->setPixmap( QPixmap ("/opt/QtPalmtop/pics/delete.png") ); | ||
27 | connect ( deletebutton, SIGNAL ( released () ), this, SLOT ( deleteItem () ) ); | ||
28 | |||
29 | lineedit = new QLineEdit ( this ); | ||
30 | |||
31 | layout = new QVBoxLayout ( this, 2, 2 ); | ||
32 | layout->addWidget ( listbox ); | ||
33 | layout->addWidget ( secondline ); | ||
34 | layout->addWidget ( lineedit ); | ||
35 | } | ||
36 | |||
37 | MemoryDialog::~MemoryDialog() | ||
38 | { | ||
39 | } | ||
40 | |||
41 | void MemoryDialog::addItem () | ||
42 | { | ||
43 | if ( lineedit->text().length() != 0 ) | ||
44 | { | ||
45 | memory->addMemoryItem ( lineedit->text() ); | ||
46 | listbox->clear (); | ||
47 | memory->displayMemoryItems ( listbox ); | ||
48 | listbox->clearFocus(); | ||
49 | listbox->clearSelection (); | ||
50 | lineedit->clear(); | ||
51 | } | ||
52 | } | ||
53 | |||
54 | void MemoryDialog::editItem () | ||
55 | { | ||
56 | if ( listbox->currentItem() != -1 ) | ||
57 | { | ||
58 | lineedit->setText ( listbox->currentText() ); | ||
59 | memory->deleteMemoryItem ( listbox->currentText() ); | ||
60 | listbox->clear (); | ||
61 | memory->displayMemoryItems ( listbox ); | ||
62 | listbox->clearSelection(); | ||
63 | } | ||
64 | else | ||
65 | QMessageBox::warning ( this, "QashMoney", "Please select an item to edit." ); | ||
66 | } | ||
67 | |||
68 | void MemoryDialog::deleteItem () | ||
69 | { | ||
70 | if ( listbox->currentItem() != -1 ) | ||
71 | { | ||
72 | memory->deleteMemoryItem ( listbox->currentText() ); | ||
73 | listbox->clear (); | ||
74 | memory->displayMemoryItems ( listbox ); | ||
75 | listbox->clearSelection(); | ||
76 | } | ||
77 | else | ||
78 | QMessageBox::warning ( this, "QashMoney", "Please select an item to delete." ); | ||
79 | } | ||
80 | |||
81 | |||
82 | |||
83 | |||
84 | |||
85 | |||
86 | |||
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 @@ | |||
1 | #ifndef MEMORYDIALOG_H | ||
2 | #define MEMORYDIALOG_H | ||
3 | |||
4 | #include <qdialog.h> | ||
5 | #include <qlistbox.h> | ||
6 | #include <qlineedit.h> | ||
7 | #include <qpushbutton.h> | ||
8 | #include <qlayout.h> | ||
9 | #include <qstring.h> | ||
10 | #include <qhbox.h> | ||
11 | |||
12 | class MemoryDialog : public QDialog | ||
13 | { | ||
14 | Q_OBJECT | ||
15 | |||
16 | public: | ||
17 | MemoryDialog(); | ||
18 | ~MemoryDialog(); | ||
19 | |||
20 | private slots: | ||
21 | void addItem(); | ||
22 | void editItem(); | ||
23 | void deleteItem(); | ||
24 | |||
25 | private: | ||
26 | |||
27 | QHBox *secondline; | ||
28 | |||
29 | QListBox* listbox; | ||
30 | |||
31 | QLineEdit* lineedit; | ||
32 | |||
33 | QPushButton* newbutton; | ||
34 | QPushButton* editbutton; | ||
35 | QPushButton* deletebutton; | ||
36 | |||
37 | QBoxLayout *layout; | ||
38 | }; | ||
39 | |||
40 | #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 @@ | |||
1 | #include "newaccount.h" | ||
2 | #include "calculator.h" | ||
3 | #include "datepicker.h" | ||
4 | #include "transaction.h" | ||
5 | #include "preferences.h" | ||
6 | #include <qdatetime.h> | ||
7 | #include <qmultilineedit.h> | ||
8 | |||
9 | extern Preferences *preferences; | ||
10 | |||
11 | NewAccount::NewAccount ( QWidget *parent, const char *name, bool modal ) : QDialog ( parent, name, modal ) | ||
12 | { | ||
13 | accountdescription = ""; | ||
14 | dateedited = FALSE; | ||
15 | setCaption( tr( "Account" ) ); | ||
16 | |||
17 | namelabel = new QLabel ( "Account Name", this ); | ||
18 | |||
19 | accountbox = new QHBox ( this ); | ||
20 | accountname = new QLineEdit ( accountbox ); | ||
21 | descriptionbutton = new QPushButton ( accountbox ); | ||
22 | descriptionbutton->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/info.png" ) ); | ||
23 | |||
24 | datelabel = new QLabel ( "Date", this ); | ||
25 | |||
26 | datebox = new QHBox ( this ); | ||
27 | startdate = new QLineEdit ( datebox ); | ||
28 | startdate->setDisabled ( TRUE ); | ||
29 | datebutton = new QPushButton ( datebox ); | ||
30 | datebutton->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/date.png" ) ); | ||
31 | |||
32 | childcheckbox = new QCheckBox ( this ); | ||
33 | childcheckbox->setText( tr ( "Child Account" ) ); | ||
34 | |||
35 | childlabel = new QLabel ( "Child of", this ); | ||
36 | childbox = new QComboBox ( FALSE, this ); | ||
37 | hideChildPulldownMenu (); | ||
38 | |||
39 | balancelabel = new QLabel ( "Balance", this ); | ||
40 | |||
41 | balancebox = new QHBox ( this ); | ||
42 | accountbalance = new QLineEdit ( balancebox ); | ||
43 | accountbalance->setText ( "0.00" ); | ||
44 | balancecalculator = new QPushButton( balancebox ); | ||
45 | balancecalculator->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/kcalc.png" ) ); | ||
46 | |||
47 | creditlimitlabel = new QLabel ( "Credit Limit", this ); | ||
48 | |||
49 | creditlimitbox = new QHBox ( this ); | ||
50 | creditlimit = new QLineEdit ( creditlimitbox ); | ||
51 | creditlimitbox->setEnabled ( FALSE ); | ||
52 | creditlimitcalculator = new QPushButton( creditlimitbox ); | ||
53 | creditlimitcalculator->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/kcalc.png" ) ); | ||
54 | |||
55 | currencybox = new Currency ( this ); | ||
56 | |||
57 | typelabel = new QLabel ( "Type", this ); | ||
58 | accounttype = new QComboBox ( FALSE, this ); | ||
59 | accounttype->insertItem( tr( "Bank" ) ); | ||
60 | accounttype->insertItem( tr( "Cash" ) ); | ||
61 | accounttype->insertItem( tr( "Credit Card" ) ); | ||
62 | accounttype->insertItem( tr( "Equity" ) ); | ||
63 | accounttype->insertItem( tr( "Asset" ) ); | ||
64 | accounttype->insertItem( tr( "Liability" ) ); | ||
65 | |||
66 | layout = new QGridLayout ( this, 7, 2, 4, 2 ); | ||
67 | layout->addWidget ( namelabel , 0, 0, Qt::AlignLeft ); | ||
68 | layout->addWidget ( accountbox, 1, 0, Qt::AlignLeft ); | ||
69 | layout->addWidget ( datelabel, 2, 0, Qt::AlignLeft ); | ||
70 | layout->addWidget ( datebox, 3, 0, Qt::AlignLeft ); | ||
71 | layout->addWidget ( childcheckbox, 4, 0, Qt::AlignLeft ); | ||
72 | layout->addWidget ( childlabel, 5, 0, Qt::AlignLeft ); | ||
73 | layout->addWidget ( childbox, 6, 0, Qt::AlignLeft ); | ||
74 | layout->addWidget ( balancelabel, 0, 1, Qt::AlignLeft ); | ||
75 | layout->addWidget ( balancebox, 1, 1, Qt::AlignLeft ); | ||
76 | layout->addWidget ( creditlimitlabel, 2, 1, Qt::AlignLeft ); | ||
77 | layout->addWidget ( creditlimitbox, 3, 1, Qt::AlignLeft ); | ||
78 | layout->addWidget ( currencybox, 4, 1, Qt::AlignLeft ); | ||
79 | layout->addWidget ( typelabel, 5, 1, Qt::AlignLeft ); | ||
80 | layout->addWidget ( accounttype, 6, 1, Qt::AlignLeft ); | ||
81 | |||
82 | connect ( childcheckbox, SIGNAL ( clicked () ), this, SLOT ( showChildPulldownMenu() ) ); | ||
83 | connect ( balancecalculator, SIGNAL ( released() ), this, SLOT ( showCalculator() ) ); | ||
84 | connect ( creditlimitcalculator, SIGNAL ( released() ), this, SLOT ( showCreditLimitCalculator() ) ); | ||
85 | connect ( accounttype, SIGNAL ( activated ( int ) ), this, SLOT ( activateCreditLimit ( int ) ) ); | ||
86 | connect ( datebutton, SIGNAL ( released () ), this, SLOT ( showCalendar () ) ); | ||
87 | connect ( descriptionbutton, SIGNAL ( released () ), this, SLOT ( addAccountDescription() ) ); | ||
88 | } | ||
89 | |||
90 | NewAccount::~NewAccount () | ||
91 | { | ||
92 | } | ||
93 | |||
94 | void NewAccount::showChildPulldownMenu () | ||
95 | { | ||
96 | if ( childcheckbox->isChecked() == TRUE ) | ||
97 | { | ||
98 | childlabel->setEnabled ( TRUE ); | ||
99 | childbox->setEnabled ( TRUE ); | ||
100 | } | ||
101 | else | ||
102 | hideChildPulldownMenu(); | ||
103 | } | ||
104 | |||
105 | void NewAccount::hideChildPulldownMenu () | ||
106 | { | ||
107 | childlabel->setEnabled ( FALSE ); | ||
108 | childbox->setEnabled ( FALSE ); | ||
109 | } | ||
110 | |||
111 | void NewAccount::showCalculator () | ||
112 | { | ||
113 | Calculator *calculator = new Calculator ( this ); | ||
114 | calculator->setMaximumWidth ( ( int ) ( this->size().width() * 0.9 ) ); | ||
115 | if ( calculator->exec () == QDialog::Accepted ) | ||
116 | accountbalance->setText ( calculator->display->text() ); | ||
117 | } | ||
118 | |||
119 | void NewAccount::showCreditLimitCalculator () | ||
120 | { | ||
121 | Calculator *calculator = new Calculator ( this ); | ||
122 | calculator->setMaximumWidth ( ( int ) ( this->size().width() * 0.9 ) ); | ||
123 | if ( calculator->exec () == QDialog::Accepted ) | ||
124 | creditlimit->setText ( calculator->display->text() ); | ||
125 | } | ||
126 | |||
127 | void NewAccount::activateCreditLimit ( int index ) | ||
128 | { | ||
129 | if ( index == 2 || index == 5 ) | ||
130 | creditlimitbox->setEnabled ( TRUE ); | ||
131 | else | ||
132 | { | ||
133 | creditlimit->clear (); | ||
134 | creditlimitbox->setEnabled ( FALSE ); | ||
135 | } | ||
136 | } | ||
137 | |||
138 | void NewAccount::showCalendar () | ||
139 | { | ||
140 | QDate newDate = QDate::currentDate (); | ||
141 | DatePicker *dp = new DatePicker ( newDate ); | ||
142 | dp->setMaximumWidth ( ( int ) ( this->size().width() * 0.9 ) ); | ||
143 | |||
144 | int response = dp->exec(); | ||
145 | if ( response == QDialog::Accepted ) | ||
146 | { | ||
147 | // Set date integers | ||
148 | year = dp->getYear(); | ||
149 | month = dp->getMonth(); | ||
150 | day = dp->getDay(); | ||
151 | |||
152 | // Set dateedited to TRUE | ||
153 | // This tells the accountdisplay object that the user edited an account | ||
154 | // and did change the date | ||
155 | dateedited = TRUE; | ||
156 | |||
157 | // Display date with our selected format | ||
158 | startdate->setText ( preferences->getDate ( year, month, day ) ); | ||
159 | } | ||
160 | } | ||
161 | |||
162 | bool NewAccount::getDateEdited () | ||
163 | { | ||
164 | return dateedited; | ||
165 | } | ||
166 | |||
167 | int NewAccount::getDay () | ||
168 | { | ||
169 | return day; | ||
170 | } | ||
171 | |||
172 | int NewAccount::getMonth () | ||
173 | { | ||
174 | return month; | ||
175 | } | ||
176 | |||
177 | int NewAccount::getYear () | ||
178 | { | ||
179 | return year; | ||
180 | } | ||
181 | |||
182 | QString NewAccount::getDescription () | ||
183 | { | ||
184 | return accountdescription; | ||
185 | } | ||
186 | |||
187 | void NewAccount::setDescription ( QString description ) | ||
188 | { | ||
189 | accountdescription = description; | ||
190 | } | ||
191 | |||
192 | void NewAccount::addAccountDescription () | ||
193 | { | ||
194 | // Function for adding or editing an account description. | ||
195 | QDialog *description = new QDialog ( this, "description", TRUE ); | ||
196 | description->setCaption ( "Notes" ); | ||
197 | QMultiLineEdit *enter = new QMultiLineEdit ( description ); | ||
198 | enter->setFixedSize ( ( int ) (this->width() * 0.75 ), ( int ) ( this->height() * 0.5 ) ); | ||
199 | enter->setWrapColumnOrWidth ( ( int ) (this->width() * 0.75 ) ); | ||
200 | enter->setWordWrap ( QMultiLineEdit::WidgetWidth ); | ||
201 | if ( accountdescription != "(NULL)" ) | ||
202 | enter->setText ( accountdescription ); | ||
203 | if ( description->exec () == QDialog::Accepted ) | ||
204 | accountdescription = enter->text (); | ||
205 | } | ||
206 | |||
207 | |||
208 | |||
209 | |||
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 @@ | |||
1 | #ifndef NEWACCOUNT_H | ||
2 | #define NEWACCOUNT_H | ||
3 | |||
4 | #include <qbuttongroup.h> | ||
5 | #include <qcombobox.h> | ||
6 | #include <qlineedit.h> | ||
7 | #include <qpushbutton.h> | ||
8 | #include <qradiobutton.h> | ||
9 | #include <qlayout.h> | ||
10 | #include <qdialog.h> | ||
11 | #include <qlabel.h> | ||
12 | #include <qhbox.h> | ||
13 | #include <qcheckbox.h> | ||
14 | |||
15 | #include "account.h" | ||
16 | #include "preferences.h" | ||
17 | #include "currency.h" | ||
18 | |||
19 | class NewAccount : public QDialog | ||
20 | { | ||
21 | Q_OBJECT | ||
22 | |||
23 | public: | ||
24 | NewAccount ( QWidget *parent = 0, const char *name = 0, bool modal = TRUE ); | ||
25 | ~NewAccount(); | ||
26 | |||
27 | QLabel *namelabel; | ||
28 | QHBox *accountbox; | ||
29 | QLineEdit* accountname; | ||
30 | QPushButton* descriptionbutton; | ||
31 | |||
32 | QHBox *datebox; | ||
33 | QLabel *datelabel; | ||
34 | QLineEdit* startdate; | ||
35 | QPushButton* datebutton; | ||
36 | |||
37 | QCheckBox* childcheckbox; | ||
38 | |||
39 | QLabel *childlabel; | ||
40 | QComboBox *childbox; | ||
41 | |||
42 | QLabel *balancelabel; | ||
43 | QHBox *balancebox; | ||
44 | QLineEdit* accountbalance; | ||
45 | QPushButton* balancecalculator; | ||
46 | |||
47 | QLabel *creditlimitlabel; | ||
48 | QHBox *creditlimitbox; | ||
49 | QLineEdit* creditlimit; | ||
50 | QPushButton* creditlimitcalculator; | ||
51 | |||
52 | Currency *currencybox; | ||
53 | |||
54 | QLabel *typelabel; | ||
55 | QComboBox* accounttype; | ||
56 | |||
57 | QGridLayout *layout; | ||
58 | |||
59 | int getDay (); | ||
60 | int getMonth (); | ||
61 | int getYear (); | ||
62 | QString getDescription (); | ||
63 | void setDescription ( QString ); | ||
64 | |||
65 | // When a user edits an account and edits the date, this flag | ||
66 | // is set to TRUE adding the new date to the account. Otherwise, | ||
67 | // the old date is used for the edited account. This prevents a date | ||
68 | // from reverting to 0/0/0 if the date is not edited | ||
69 | bool getDateEdited (); | ||
70 | |||
71 | public slots: | ||
72 | void showChildPulldownMenu(); | ||
73 | void hideChildPulldownMenu(); | ||
74 | void showCalculator(); | ||
75 | void showCreditLimitCalculator (); | ||
76 | void activateCreditLimit ( int ); | ||
77 | void showCalendar (); | ||
78 | void addAccountDescription (); | ||
79 | |||
80 | private: | ||
81 | int index, year, month, day, currencypreference; | ||
82 | QString accountdescription; | ||
83 | bool dateedited; | ||
84 | }; | ||
85 | |||
86 | #endif | ||
87 | |||
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 @@ | |||
1 | #include "newtransaction.h" | ||
2 | #include "calculator.h" | ||
3 | #include "datepicker.h" | ||
4 | #include "memory.h" | ||
5 | #include "budget.h" | ||
6 | |||
7 | #include <qdatetime.h> | ||
8 | #include <qmultilineedit.h> | ||
9 | |||
10 | extern Budget *budget; | ||
11 | extern Preferences *preferences; | ||
12 | |||
13 | NewTransaction::NewTransaction ( QWidget* parent ) : QDialog ( parent, 0, TRUE ) | ||
14 | { | ||
15 | transactiondescription = ""; | ||
16 | currentlineitem = -1; | ||
17 | currentbudget = -1; | ||
18 | dateedited = FALSE; | ||
19 | setCaption( tr( "Transaction" ) ); | ||
20 | |||
21 | // START FIRST COLUMN | ||
22 | |||
23 | namelabel = new QLabel ( "Transaction", this ); | ||
24 | |||
25 | transactionnamebox = new QHBox ( this ); | ||
26 | transactionname = new QComboBox ( transactionnamebox ); | ||
27 | transactionname->setEditable ( TRUE ); | ||
28 | descriptionbutton = new QPushButton ( transactionnamebox ); | ||
29 | descriptionbutton->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/info.png" ) ); | ||
30 | connect ( descriptionbutton, SIGNAL ( released () ), this, SLOT ( addTransactionDescription() ) ); | ||
31 | |||
32 | amountlabel = new QLabel ( "Amount", this ); | ||
33 | |||
34 | transactionamountbox = new QHBox ( this ); | ||
35 | transactionamount = new QLineEdit ( transactionamountbox ); | ||
36 | transactionamount->setAlignment ( Qt::AlignRight ); | ||
37 | transactionamount->setText ( "0.00" ); | ||
38 | calculatorbutton = new QPushButton( transactionamountbox ); | ||
39 | calculatorbutton->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/kcalc.png" ) ); | ||
40 | connect ( calculatorbutton, SIGNAL ( released() ), this, SLOT ( showCalculator() ) ); | ||
41 | |||
42 | datelabel = new QLabel ( "Date", this ); | ||
43 | |||
44 | transactiondatebox = new QHBox ( this ); | ||
45 | transactiondate = new QLineEdit ( transactiondatebox ); | ||
46 | transactiondate->setAlignment ( Qt::AlignRight ); | ||
47 | transactiondate->setDisabled ( TRUE ); | ||
48 | datebutton = new QPushButton( transactiondatebox ); | ||
49 | datebutton->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/date.png" ) ); | ||
50 | connect ( datebutton, SIGNAL ( released () ), this, SLOT ( showCalendar () ) ); | ||
51 | |||
52 | clearedcheckbox = new QCheckBox ( "Cleared", this ); | ||
53 | depositbox = new QCheckBox ( "Credit", this ); | ||
54 | |||
55 | // START SECOND COLUMN | ||
56 | |||
57 | numberlabel = new QLabel ( "Number", this ); | ||
58 | transactionnumber = new QLineEdit ( this ); | ||
59 | |||
60 | budgetlabel = new QLabel ( "Budget", this ); | ||
61 | budgetbox = new QComboBox ( FALSE, this ); | ||
62 | |||
63 | lineitemlabel = new QLabel ( "LineItem", this ); | ||
64 | lineitembox = new QComboBox ( FALSE, this ); | ||
65 | |||
66 | layout = new QGridLayout ( this, 7, 2, 2, 2 ); | ||
67 | layout->addWidget ( namelabel, 0, 0, Qt::AlignLeft ); | ||
68 | layout->addWidget ( transactionnamebox, 1, 0, Qt::AlignLeft ); | ||
69 | layout->addWidget ( amountlabel, 2, 0, Qt::AlignLeft ); | ||
70 | layout->addWidget ( transactionamountbox, 3, 0, Qt::AlignLeft ); | ||
71 | layout->addWidget ( datelabel, 4, 0, Qt::AlignLeft ); | ||
72 | layout->addWidget ( transactiondatebox, 5, 0, Qt::AlignLeft ); | ||
73 | layout->addWidget ( clearedcheckbox, 6, 0, Qt::AlignLeft ); | ||
74 | layout->addWidget ( numberlabel, 0, 1, Qt::AlignLeft ); | ||
75 | layout->addWidget ( transactionnumber, 1, 1, Qt::AlignLeft ); | ||
76 | layout->addWidget ( budgetlabel, 2, 1, Qt::AlignLeft ); | ||
77 | layout->addWidget ( budgetbox, 3, 1, Qt::AlignLeft ); | ||
78 | layout->addWidget ( lineitemlabel, 4, 1, Qt::AlignLeft ); | ||
79 | layout->addWidget ( lineitembox, 5, 1, Qt::AlignLeft ); | ||
80 | layout->addWidget ( depositbox, 6, 1, Qt::AlignLeft ); | ||
81 | |||
82 | if ( budget->getNumberOfBudgets() != 0 ) | ||
83 | { | ||
84 | budgetnameslist = budget->getBudgetNames(); | ||
85 | budgetidslist = budget->getBudgetIDs(); | ||
86 | budgetbox->insertStringList ( *budgetnameslist ); | ||
87 | lineitemlabel->setEnabled ( FALSE ); | ||
88 | lineitembox->setEnabled ( FALSE ); | ||
89 | connect ( budgetbox, SIGNAL ( activated ( int ) ), this, SLOT ( setCurrentBudget ( int ) ) ); | ||
90 | connect ( lineitembox, SIGNAL ( activated ( int ) ), this, SLOT ( setCurrentLineItem ( int ) ) ); | ||
91 | } | ||
92 | else | ||
93 | { | ||
94 | budgetlabel->setEnabled ( FALSE ); | ||
95 | budgetbox->setEnabled ( FALSE ); | ||
96 | lineitemlabel->setEnabled ( FALSE ); | ||
97 | lineitembox->setEnabled ( FALSE ); | ||
98 | } | ||
99 | |||
100 | } | ||
101 | |||
102 | NewTransaction::~NewTransaction () | ||
103 | { | ||
104 | } | ||
105 | |||
106 | void NewTransaction::showCalculator () | ||
107 | { | ||
108 | Calculator *calculator = new Calculator ( this ); | ||
109 | calculator->setMaximumWidth ( ( int ) ( this->size().width() * 0.9 ) ); | ||
110 | if ( calculator->exec () == QDialog::Accepted ) | ||
111 | transactionamount->setText ( calculator->display->text() ); | ||
112 | } | ||
113 | |||
114 | void NewTransaction::showCalendar () | ||
115 | { | ||
116 | QDate newDate = QDate::currentDate (); | ||
117 | DatePicker *dp = new DatePicker ( newDate ); | ||
118 | dp->setMaximumWidth ( ( int ) ( this->size().width() * 0.9 ) ); | ||
119 | |||
120 | int response = dp->exec(); | ||
121 | if ( response == QDialog::Accepted ) | ||
122 | { | ||
123 | // Set date integers | ||
124 | year = dp->getYear(); | ||
125 | month = dp->getMonth(); | ||
126 | day = dp->getDay(); | ||
127 | |||
128 | // Set dateedited to TRUE | ||
129 | // This tells the transactiondisplay object that the user edited an transaction | ||
130 | // and did change the date3 | ||
131 | dateedited = TRUE; | ||
132 | |||
133 | // Display date with our selected format | ||
134 | transactiondate->setText ( preferences->getDate ( year, month, day ) ); | ||
135 | } | ||
136 | } | ||
137 | |||
138 | bool NewTransaction::getDateEdited () | ||
139 | { | ||
140 | return dateedited; | ||
141 | } | ||
142 | |||
143 | int NewTransaction::getDay () | ||
144 | { | ||
145 | return day; | ||
146 | } | ||
147 | |||
148 | int NewTransaction::getMonth () | ||
149 | { | ||
150 | return month; | ||
151 | } | ||
152 | |||
153 | int NewTransaction::getYear () | ||
154 | { | ||
155 | return year; | ||
156 | } | ||
157 | |||
158 | QString NewTransaction::getDescription () | ||
159 | { | ||
160 | return transactiondescription; | ||
161 | } | ||
162 | |||
163 | void NewTransaction::setDescription ( QString description ) | ||
164 | { | ||
165 | transactiondescription = description; | ||
166 | } | ||
167 | |||
168 | void NewTransaction::addTransactionDescription () | ||
169 | { | ||
170 | // Function for adding or editing an transaction description. | ||
171 | QDialog *description = new QDialog ( this, "description", TRUE ); | ||
172 | description->setCaption ( "Notes" ); | ||
173 | QMultiLineEdit *enter = new QMultiLineEdit ( description ); | ||
174 | enter->setFixedSize ( ( int ) (this->width() * 0.75 ), ( int ) ( this->height() * 0.5 ) ); | ||
175 | enter->setWrapColumnOrWidth ( ( int ) (this->width() * 0.75 ) ); | ||
176 | enter->setWordWrap ( QMultiLineEdit::WidgetWidth ); | ||
177 | if ( transactiondescription != "(NULL)" ) | ||
178 | enter->setText ( transactiondescription ); | ||
179 | if ( description->exec () == QDialog::Accepted ) | ||
180 | transactiondescription = enter->text (); | ||
181 | } | ||
182 | |||
183 | int NewTransaction::getNameIndex ( QString name ) | ||
184 | { | ||
185 | int counter; | ||
186 | int items = transactionname->count(); | ||
187 | for ( counter = 0; ( items - 1 ); counter++ ) | ||
188 | { | ||
189 | if ( name == transactionname->text ( counter ) ) | ||
190 | { | ||
191 | return counter; | ||
192 | break; | ||
193 | } | ||
194 | } | ||
195 | return 0; | ||
196 | } | ||
197 | |||
198 | void NewTransaction::setCurrentBudget ( int index ) | ||
199 | { | ||
200 | if ( index != 0 ) | ||
201 | { | ||
202 | currentbudget = budgetidslist->operator[] ( index - 1 ).toInt(); | ||
203 | lineitemslist = budget->getLineItems ( currentbudget ); | ||
204 | lineitemidslist = budget->getLineItemIDs ( currentbudget ); | ||
205 | lineitemlabel->setEnabled ( TRUE ); | ||
206 | lineitembox->setEnabled ( TRUE ); | ||
207 | lineitembox->clear(); | ||
208 | lineitembox->insertStringList ( lineitemslist ); | ||
209 | setCurrentLineItem ( 0 ); | ||
210 | } | ||
211 | else | ||
212 | { | ||
213 | lineitembox->clear(); | ||
214 | lineitemlabel->setEnabled ( FALSE ); | ||
215 | lineitembox->setEnabled ( FALSE ); | ||
216 | currentlineitem = -1; | ||
217 | currentbudget = -1; | ||
218 | } | ||
219 | } | ||
220 | |||
221 | void NewTransaction::setCurrentLineItem ( int index ) | ||
222 | { | ||
223 | currentlineitem = ( lineitemidslist.operator[] ( index ).toInt() ); | ||
224 | } | ||
225 | |||
226 | int NewTransaction::getCurrentBudget () | ||
227 | { | ||
228 | return currentbudget; | ||
229 | } | ||
230 | |||
231 | int NewTransaction::getBudgetIndex ( int budgetid ) | ||
232 | { | ||
233 | currentbudget = budgetid; | ||
234 | const QString budget = QString::number ( budgetid ); | ||
235 | return budgetidslist->findIndex ( budget ); | ||
236 | } | ||
237 | |||
238 | int NewTransaction::getLineItemIndex ( int lineitemid ) | ||
239 | { | ||
240 | currentlineitem = lineitemid; | ||
241 | const QString lineitem = QString::number ( lineitemid ); | ||
242 | return lineitemidslist.findIndex ( lineitem ); | ||
243 | } | ||
244 | |||
245 | void NewTransaction::setLineItems () | ||
246 | { | ||
247 | lineitemslist = budget->getLineItems ( currentbudget ); | ||
248 | lineitemidslist = budget->getLineItemIDs ( currentbudget ); | ||
249 | lineitemlabel->setEnabled ( TRUE ); | ||
250 | lineitembox->setEnabled ( TRUE ); | ||
251 | lineitembox->clear(); | ||
252 | lineitembox->insertStringList ( lineitemslist ); | ||
253 | } | ||
254 | |||
255 | int NewTransaction::getCurrentLineItem () | ||
256 | { | ||
257 | return currentlineitem; | ||
258 | } | ||
259 | |||
260 | void NewTransaction::setComboBoxes ( int budgetid, int lineitemid ) | ||
261 | { | ||
262 | const QString budgetname = QString::number ( budgetid ); | ||
263 | budgetbox->setCurrentItem ( ( budgetidslist->findIndex ( budgetname ) ) ); | ||
264 | currentbudget = budgetidslist->operator[] ( budgetbox->currentItem() - 1 ).toInt(); | ||
265 | |||
266 | lineitemslist = budget->getLineItems ( currentbudget ); | ||
267 | lineitemidslist = budget->getLineItemIDs ( currentbudget ); | ||
268 | lineitemlabel->setEnabled ( TRUE ); | ||
269 | lineitembox->setEnabled ( TRUE ); | ||
270 | lineitembox->clear(); | ||
271 | lineitembox->insertStringList ( lineitemslist ); | ||
272 | |||
273 | const QString lineitem = QString::number ( lineitemid ); | ||
274 | lineitembox->setCurrentItem ( lineitemidslist.findIndex ( lineitem ) ); | ||
275 | currentlineitem = ( lineitemidslist.operator[] ( lineitembox->currentItem() ).toInt() ); | ||
276 | } | ||
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 @@ | |||
1 | #ifndef NEWTRANSACTION_H | ||
2 | #define NEWTRANSACTION_H | ||
3 | |||
4 | #include <qlineedit.h> | ||
5 | #include <qpushbutton.h> | ||
6 | #include <qlayout.h> | ||
7 | #include <qcheckbox.h> | ||
8 | #include <qdialog.h> | ||
9 | #include <qlabel.h> | ||
10 | #include <qstringlist.h> | ||
11 | #include <qhbox.h> | ||
12 | |||
13 | #include "transaction.h" | ||
14 | #include "preferences.h" | ||
15 | |||
16 | class NewTransaction : public QDialog | ||
17 | { | ||
18 | Q_OBJECT | ||
19 | |||
20 | public: | ||
21 | |||
22 | int year, month, day; | ||
23 | |||
24 | NewTransaction ( QWidget* parent ); | ||
25 | ~NewTransaction(); | ||
26 | |||
27 | QLabel *namelabel; | ||
28 | QHBox *transactionnamebox; | ||
29 | QComboBox* transactionname; | ||
30 | QPushButton* descriptionbutton; | ||
31 | |||
32 | QLabel *amountlabel; | ||
33 | QHBox *transactionamountbox; | ||
34 | QLineEdit* transactionamount; | ||
35 | QPushButton* calculatorbutton; | ||
36 | |||
37 | QLabel *datelabel; | ||
38 | QHBox *transactiondatebox; | ||
39 | QLineEdit* transactiondate; | ||
40 | QPushButton* datebutton; | ||
41 | |||
42 | QCheckBox *clearedcheckbox; | ||
43 | |||
44 | QLabel *numberlabel; | ||
45 | QLineEdit *transactionnumber; | ||
46 | |||
47 | QLabel *budgetlabel; | ||
48 | QComboBox *budgetbox; | ||
49 | |||
50 | QLabel *lineitemlabel; | ||
51 | QComboBox *lineitembox; | ||
52 | |||
53 | QCheckBox *depositbox; | ||
54 | |||
55 | QGridLayout *layout; | ||
56 | |||
57 | int getDay (); | ||
58 | int getMonth (); | ||
59 | int getYear (); | ||
60 | QString getDescription (); | ||
61 | void setDescription ( QString ); | ||
62 | void setComboBoxes ( int, int ); | ||
63 | |||
64 | // When a user edits an transaction and edits the date, this flag | ||
65 | // is set to TRUE adding the new date to the transaction. Otherwise, | ||
66 | // the old date is used for the edited transaction. This prevents a date | ||
67 | // from reverting to 0/0/0 if the date is not edited | ||
68 | bool getDateEdited (); | ||
69 | |||
70 | public slots: | ||
71 | |||
72 | void showCalculator(); | ||
73 | void showCalendar (); | ||
74 | void addTransactionDescription (); | ||
75 | int getNameIndex ( QString name ); | ||
76 | int getCurrentBudget (); | ||
77 | int getCurrentLineItem (); | ||
78 | int getBudgetIndex ( int budgetid ); | ||
79 | int getLineItemIndex ( int lineitemid ); | ||
80 | void setLineItems (); | ||
81 | |||
82 | private slots: | ||
83 | void setCurrentBudget ( int index ); | ||
84 | void setCurrentLineItem ( int index ); | ||
85 | |||
86 | private: | ||
87 | bool dateedited; | ||
88 | int index, currentbudget, currentlineitem; | ||
89 | QString transactiondescription; | ||
90 | QStringList *budgetnameslist, *budgetidslist; | ||
91 | QStringList lineitemslist, lineitemidslist; | ||
92 | |||
93 | }; | ||
94 | |||
95 | #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 @@ | |||
1 | #ifndef QASHMONEY_H | ||
2 | #define QASHMONEY_H | ||
3 | |||
4 | #include <qpe/qpemenubar.h> | ||
5 | #include <qpopupmenu.h> | ||
6 | #include <qlayout.h> | ||
7 | #include <qtabwidget.h> | ||
8 | |||
9 | #include "accountdisplay.h" | ||
10 | #include "transactiondisplay.h" | ||
11 | #include "budgetdisplay.h" | ||
12 | #include "account.h" | ||
13 | #include "preferences.h" | ||
14 | #include "transaction.h" | ||
15 | #include "transfer.h" | ||
16 | #include "memory.h" | ||
17 | #include "budget.h" | ||
18 | |||
19 | class QashMoney : public QWidget | ||
20 | { | ||
21 | Q_OBJECT | ||
22 | |||
23 | public: | ||
24 | QashMoney (); | ||
25 | ~QashMoney(); | ||
26 | |||
27 | QTabWidget* maintabs; | ||
28 | QWidget* tab; | ||
29 | QWidget* tab_2; | ||
30 | QWidget* tab_3; | ||
31 | |||
32 | QPEMenuBar *mainmenu; | ||
33 | QPopupMenu *preferencesmenu; | ||
34 | QPopupMenu *utilitiesmenu; | ||
35 | |||
36 | public slots: | ||
37 | void displayDatePreferencesDialog (); | ||
38 | void displayTransactionPreferencesDialog (); | ||
39 | void displayAccountPreferencesDialog (); | ||
40 | void displayMemoryDialog (); | ||
41 | void setTransactionTab (); | ||
42 | |||
43 | private slots: | ||
44 | void changeTabDisplay (); | ||
45 | void showTransactions (); | ||
46 | void enableOneTouchViewing (); | ||
47 | void disableOneTouchViewing (); | ||
48 | void toggleOneTouchViewing ( bool ); | ||
49 | |||
50 | private: | ||
51 | QVBoxLayout *layout; | ||
52 | QVBoxLayout *tabslayout; | ||
53 | AccountDisplay *accountdisplay; | ||
54 | TransactionDisplay *transactiondisplay; | ||
55 | BudgetDisplay *budgetdisplay; | ||
56 | int tabheight; | ||
57 | |||
58 | }; | ||
59 | |||
60 | #endif | ||
61 | |||
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 @@ | |||
1 | TEMPLATE = app | ||
2 | CONFIG = qt warn_on release | ||
3 | HEADERS =qashmoney.h \ | ||
4 | accountdisplay.h \ | ||
5 | account.h \ | ||
6 | transaction.h \ | ||
7 | transactiondisplay.h \ | ||
8 | newtransaction.h \ | ||
9 | transfer.h \ | ||
10 | transferdialog.h \ | ||
11 | preferences.h \ | ||
12 | preferencedialogs.h \ | ||
13 | memory.h \ | ||
14 | memorydialog.h \ | ||
15 | newaccount.h \ | ||
16 | calculator.h \ | ||
17 | datepicker.h \ | ||
18 | budget.h \ | ||
19 | budgetdisplay.h \ | ||
20 | currency.h | ||
21 | SOURCES =qashmoney.cpp \ | ||
22 | accountdisplay.cpp \ | ||
23 | account.cpp \ | ||
24 | transaction.cpp \ | ||
25 | transactiondisplay.cpp \ | ||
26 | newtransaction.cpp \ | ||
27 | transfer.cpp \ | ||
28 | transferdialog.cpp \ | ||
29 | preferences.cpp \ | ||
30 | preferencedialogs.cpp \ | ||
31 | memory.cpp \ | ||
32 | memorydialog.cpp \ | ||
33 | newaccount.cpp \ | ||
34 | calculator.cpp \ | ||
35 | datepicker.cpp \ | ||
36 | main.cpp \ | ||
37 | budget.cpp \ | ||
38 | budgetdisplay.cpp \ | ||
39 | currency.cpp | ||
40 | unix:LIBS += -lm | ||
41 | 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 @@ | |||
1 | #include "transferdialog.h" | ||
2 | #include "datepicker.h" | ||
3 | #include "calculator.h" | ||
4 | |||
5 | #include <qdatetime.h> | ||
6 | #include <qfont.h> | ||
7 | |||
8 | extern Preferences *preferences; | ||
9 | extern Account *account; | ||
10 | |||
11 | TransferDialog::TransferDialog ( QWidget *parent, int fromaccountid, int toaccountid ) : QDialog ( parent, 0, TRUE ) | ||
12 | { | ||
13 | dateedited = FALSE; | ||
14 | setCaption ( "Transfer" ); | ||
15 | |||
16 | fromaccountlabel = new QLabel ( "From account:", this ); | ||
17 | QFont f = this->font(); | ||
18 | f.setWeight ( QFont::Bold ); | ||
19 | fromaccountlabel->setFont ( f ); | ||
20 | fromaccount = new QLabel ( account->getAccountName ( fromaccountid ), this ); | ||
21 | |||
22 | toaccountlabel = new QLabel ( "To Account:", this ); | ||
23 | toaccountlabel->setFont ( f ); | ||
24 | toaccount = new QLabel ( account->getAccountName ( toaccountid ), this ); | ||
25 | |||
26 | datelabel = new QLabel ( "Date", this ); | ||
27 | |||
28 | datebox = new QHBox ( this ); | ||
29 | datebox->setSpacing ( 2 ); | ||
30 | date = new QLineEdit ( datebox ); | ||
31 | date->setAlignment ( Qt::AlignRight ); | ||
32 | date->setDisabled ( TRUE ); | ||
33 | datebutton = new QPushButton ( datebox ); | ||
34 | datebutton->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/date.png" ) ); | ||
35 | connect ( datebutton, SIGNAL ( released () ), this, SLOT ( showCalendar () ) ); | ||
36 | |||
37 | amounttlabel = new QLabel ( "Amount", this ); | ||
38 | |||
39 | amountbox = new QHBox ( this ); | ||
40 | amountbox->setSpacing ( 2 ); | ||
41 | amount = new QLineEdit ( amountbox ); | ||
42 | amount->setAlignment ( Qt::AlignRight ); | ||
43 | calculatorbutton = new QPushButton( amountbox ); | ||
44 | calculatorbutton->setPixmap ( QPixmap ( "/opt/QtPalmtop/pics/kcalc.png" ) ); | ||
45 | connect ( calculatorbutton, SIGNAL ( released() ), this, SLOT ( showCalculator() ) ); | ||
46 | |||
47 | clearedcheckbox = new QCheckBox ( "Cleared", this ); | ||
48 | |||
49 | layout = new QVBoxLayout ( this, 4, 2 ); | ||
50 | layout->addWidget ( fromaccountlabel, Qt::AlignLeft ); | ||
51 | layout->addWidget ( fromaccount, Qt::AlignLeft ); | ||
52 | layout->addWidget ( toaccountlabel, Qt::AlignLeft ); | ||
53 | layout->addWidget ( toaccount, Qt::AlignLeft ); | ||
54 | layout->addSpacing ( 5 ); | ||
55 | layout->addWidget ( datelabel, Qt::AlignLeft ); | ||
56 | layout->addWidget ( datebox, Qt::AlignLeft ); | ||
57 | layout->addWidget ( amounttlabel, Qt::AlignLeft ); | ||
58 | layout->addWidget ( amountbox, Qt::AlignLeft ); | ||
59 | layout->addWidget ( clearedcheckbox, Qt::AlignLeft ); | ||
60 | } | ||
61 | |||
62 | bool TransferDialog::getDateEdited () | ||
63 | { | ||
64 | return dateedited; | ||
65 | } | ||
66 | |||
67 | void TransferDialog::showCalendar () | ||
68 | { | ||
69 | QDate newDate = QDate::currentDate (); | ||
70 | DatePicker *dp = new DatePicker ( newDate ); | ||
71 | if ( dp->exec () == QDialog::Accepted ) | ||
72 | { | ||
73 | // Set date integers | ||
74 | year = dp->getYear(); | ||
75 | month = dp->getMonth(); | ||
76 | day = dp->getDay(); | ||
77 | |||
78 | // Set dateedited to TRUE | ||
79 | // This tells the accountdisplay object that the user edited an account | ||
80 | // and did change the date | ||
81 | dateedited = TRUE; | ||
82 | |||
83 | // Display date with our selected format | ||
84 | date->setText ( preferences->getDate ( year, month, day ) ); | ||
85 | } | ||
86 | } | ||
87 | |||
88 | int TransferDialog::getDay () | ||
89 | { | ||
90 | return day; | ||
91 | } | ||
92 | |||
93 | int TransferDialog::getMonth () | ||
94 | { | ||
95 | return month; | ||
96 | } | ||
97 | |||
98 | int TransferDialog::getYear () | ||
99 | { | ||
100 | return day; | ||
101 | } | ||
102 | |||
103 | void TransferDialog::showCalculator () | ||
104 | { | ||
105 | Calculator *calculator = new Calculator ( this ); | ||
106 | if ( calculator->exec () == QDialog::Accepted ) | ||
107 | amount->setText ( calculator->display->text() ); | ||
108 | } | ||
109 | |||
110 | |||
111 | |||
112 | |||
113 | |||
114 | |||
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 @@ | |||
1 | #ifndef TRANSFERDIALOG_H | ||
2 | #define TRANSFERDIALOG_H | ||
3 | |||
4 | #include <qdialog.h> | ||
5 | #include <qlayout.h> | ||
6 | #include <qlineedit.h> | ||
7 | #include <qpushbutton.h> | ||
8 | #include <qcheckbox.h> | ||
9 | #include <qhbox.h> | ||
10 | #include <qlabel.h> | ||
11 | |||
12 | #include "preferences.h" | ||
13 | #include "account.h" | ||
14 | |||
15 | class TransferDialog : public QDialog | ||
16 | { | ||
17 | Q_OBJECT | ||
18 | |||
19 | public: | ||
20 | TransferDialog ( QWidget *parent, int fromaccountid, int toaccountid ); | ||
21 | |||
22 | QLabel *fromaccountlabel; | ||
23 | QLabel *fromaccount; | ||
24 | |||
25 | QLabel *toaccountlabel; | ||
26 | QLabel *toaccount; | ||
27 | |||
28 | QLabel *datelabel; | ||
29 | |||
30 | QHBox *datebox; | ||
31 | QLineEdit *date; | ||
32 | QPushButton *datebutton; | ||
33 | |||
34 | QLabel *amounttlabel; | ||
35 | |||
36 | QHBox *amountbox; | ||
37 | QLineEdit *amount; | ||
38 | QPushButton *calculatorbutton; | ||
39 | |||
40 | QCheckBox *clearedcheckbox; | ||
41 | |||
42 | QBoxLayout *layout; | ||
43 | |||
44 | bool getDateEdited (); | ||
45 | |||
46 | public slots: | ||
47 | |||
48 | void showCalendar (); | ||
49 | void showCalculator (); | ||
50 | int getDay (); | ||
51 | int getMonth (); | ||
52 | int getYear (); | ||
53 | |||
54 | private: | ||
55 | |||
56 | int fromaccountid; | ||
57 | int toaccountid; | ||
58 | int year, month, day; | ||
59 | bool dateedited; | ||
60 | }; | ||
61 | |||
62 | #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 @@ | |||
1 | # !/bin/bash | ||
2 | CROSSCOMPILE=/opt/Embedix/tools | ||
3 | QTDIR=/opt/Qtopia | ||
4 | QPEDIR=/opt/Qtopia | ||
5 | PATH=$PATH:$QTDIR/bin:$QPEDIR/bin:/opt/Embedix/tools/bin:$QTDIR/tmake/bin | ||
6 | TMAKEPATH=/opt/Qtopia/tmake/lib/qws/linux-x86-g++/ | ||
7 | LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib:/usr/lib | ||
8 | INCPATH=/usr/include/g++-3 | ||
9 | export QPEDIR QTDIR PATH TMAKEPATH LD_LIBRARY_PATH PS1 | ||
10 | echo "Altered environment for Sharp Zaurus Development x86" | ||