Wednesday, October 24, 2007

Just to let you guys know why I don't write new posts.
I'm really busy at school, learning and stuff sucks up all my time.
I'm currently trying to learn (besides doing homework for every day) some algorithms and methods for some competitions. I'm trying to polish up my knowledge of Dynamic programming and stuff like that, so I'm quite busy ;)

Saturday, October 6, 2007

New website for qOrganizer is now available!

I just finished qOrganizers new website. It contains information about how to use the program, and answers to some important questions.
Hope you like it:

Friday, September 7, 2007

Added two new icons for the toolbar.

I added two new, modded nuvoX icons to the toolbar, now the toolbar is officially full.
One saves the current tables into the SQLite database, the other to MySQL, and there is also one for text files but the one for the current storring mode is not displayed.
Also added an option to the setting dialog, so these can be turned off.

Also I had my time with QMap, and added the ability to assign dates to marks, the date is updated when the current cell changes in the table with marks, it's in a QDateEdit next to the averages.
This is a new sweet feature too.

After long hot days now it's really cold, and I'm kind of sick.
School is almost here, but I feel that I can release before school starts (here on September 17).

Thursday, September 6, 2007

On the way to 3.0

qOrganizer got a new iconset today, I replaced my modified nuvoX 0.6 icons with original nuvoX 0.7
icons, now it looks more nice.I'm not happy with the booklet icon though, but I couldn't find a better one in nuvoX.
Here you can download nuvoX:
All icons are png now, now more xpm.

You can see a screenshot of the new tabbed settings dialog too.

Now all settings are stored in QSettings using ini files in the folder ~/.qOrganizer (except one which is stored in the registry, this is the path to the .qOrganizer folder), the user can now change between folder paths, without restarting the application, the content will just load.
So this was cleaned up too.

Tuesday, September 4, 2007

Now we can drag and drop images to the journal.

qOrganizer got another nice feature, now we can just open konqueror (explorer) or any other program that deals with local files and just drag an image to the QTextEdit, it will get displayed and stored.

Drag and drop looks pretty nice and here's the code to do it:

void CQTextEdit::insertFromMimeData( const QMimeData *source )

if (source->hasFormat("text/uri-list"))
QTextCursor cursor = this->textCursor();
QTextDocument *document = this->document();
QString origin = source->urls()[0].toString();
#ifdef Q_OS_LINUX //toLocalFile() doesn't work
#ifdef Q_OS_WIN32
QImage *image = new QImage(origin);
delete image;

We have to subclass QTextEdit and reimplement insertFromMimeData()

Saturday, September 1, 2007

SQLite storing and search capabilityes finished.

I finally finished the SQLite database managing functions, now the user can freely choose what storing mode he/she wants.Other than that, it decreases the overall lameness factor of the program (text files are primitive, but nevertheless fast :) ).
I also implemented the ability to search through events and words in the journal so now the user can easily find which event occurred when.
That looks pretty nice, I'm satisfied with it. I thought I would spare the translators from some work and just use < > for previous and next, well if it's pretty obvious.
Also added some functions to save between storing modes. Example: when you are using text files as a storing mode and you have all your data in text files, you click File/Save to/Database and it saves your to-do list,timetable,booklet, and the schedule and journal for the current day into the SQLite database,
so if you stored all your schedules in text files, you just click through them and press Ctrl+D (the equivalent of File/Save to/Database for each and you got your stuff stored in the DB.
It's not the best mode but it should be ok, since you only have 2 months of stuff (if you were using the program from when it got stable).

Also thought about making a config file with XML and moving every setting from the registry and from the current (lame) config file to it.But I realized that XML was an overkill for this kind of task so I think I'll move every setting (the ones from config.txt) to the registry (~/.config under linux, using QSettings), since every user has a different registry.Of course a config file would be better since several people could store separate data using a single system user, but why not create a new one for this kind of stuff.
That will be decided.
Just glad that SQLite and searching works nicely.
Now I need to figure out how to achieve compatibility with MySQL :)

The bigger problem is that I'm writing these on September 1, I'm drastically running out of time.
I want to finish everything important until school starts, and when there is school I want to do easy stuff like webpage for the project, and documentation (yes I have 0 of it :D ), along with fixing bugs and adding minor features.
Because when school is on I just don't have time for anything, not that it's that hard (mentally) it's just a lot of things to do. So I virtually have no free time, only on weekends.
Yeah I know, that sucks :)

Saturday, August 25, 2007

Way too hot to work

One would think that in August the summer is coming to an end, but this is not the case :)
It's been hot all day, I drank at least 3 L of fluid but I'm still thirsty.
It's been at least 40 C today. I started working on SQLite support for qOrganizer but it has been way to hot to do anything, still got some things working :). So it was worth it.
SQLite is kind of tricky, at least for what I want to do with it, but I'll figure it out.
qOrganizer is starting to be a pretty neat project, more developers will join after October, I'm receiving many translations.

I plan to integrate SQLite based data storing for version 3.0 and I would also like to clean up the settings dialog a bit, because it's getting crowded, I want to do it with nice little tabs, therefore translations also need to be updated.
I also want to be able to search through events in the calendar , a search box would be nice under the journal but I currently don't really have an idea on how to do this.

So if I finish these till the end of the summer vacation, well that would be neat :)
I could then work on other easier stuff while in school, like documentation and project web page.

I started this in June and it's pretty exciting to see how it developed and how it got where it is now.
Open source is the best way too develop software, and now I can understand why.

Anyway, take care :)

Friday, August 24, 2007

qOrganizer v2.1 record downloads.

Since qOrganizer's release new is on (on the main page) there are a lot of downloads today
457 downloads at the time of writing. This is a new record.

You can see qOrganizer on sourceforge front page

Let's hope it keeps up ;)

qOrganizer v2.1 released.

2.1 is a bugfix release.
I am planning to make pretty radical changes to the code (like adding SQLite support to store data), school is close, the vacation is comming to an end, I don't know when I'll get those implemented so I thought I'll make a bugfix release for 2.0 to get rid of the most annoying bugs.

Changes in 2.1:

-Fixed that ugly bug that occures the first time when you run qOrganizer, the bug that causes the main window to not appear until you quit (this was Windows only)
-Enforced UTF8 on the config file too, so now if you have an UTF8 character in your path, it won't cause problems.
-Updated Portuguese translation.
-Made the to-do list and the timetable a lot bigger in size, so now the progress bar in the Completed column is more detailed even on Windows.
-Added saving, and jumping to the current date even when the window is hidden by clicking the systray icon.

That's all folks.

The new release of qOrganizer comes loaded with many sweet features and is more polished than the previous releases.
The version number 2.0 is well deserved considering all improvements compared to 1.0.


-Average calculation implemented to deal with subjects separately and recalculate average for the subject when the row changes in the
mark table. Also added a textfield containing the total average (all averages are rounded and their average is calculated)

-Added the ability to change the date format displayed (thanks for the patch to Evgeniy Ivanov (powerfox))

-Added a feature for uploading and downloading all data files stored by the program to a remote ftp server.
So when you go on holyday (I know it's late know :D) you just provide the details to access the ftp server hit the download button and you have immediate access to all data stored by qOrganizer.

BIG FAT NOTE: Do not use an important ftp server for this feature, also don't use untrusted ftp servers to upload sensitive data (because all data is stored unencrypted on the server).
If you are not sure that your computer is secure do not use this feature because the password to the ftp server is stored on the local machine.
I can not be hold responsible for any damage caused by this software.This program is provided WITHOUT WARRANTY, read the file COPYING for details.
But normally you should be okay.

-Added support for non Latin charsets :)
(again thanks to Evgeniy Ivanov for figuring this out and submitting a patch)

-Corrected some memory leaks.

-Added custom delegates in the tables to improve usability and the intuitively of the interface.

-Added extra menus, and made everything accessible from the menu (or with keyboard shortcuts)

-Added an option to reload data when the view changes.
This feature was suggested by Blaz Kure, it improves using multiple computers with one folder of settings stored on a network drive.

-Added a column labeled Start to represent the date when a task was started.

-Made the timetable headers translatable.

-Added sound to reminders, when a reminder hits a sound is played.
I used a sound from k3b, since it's under GPL, the file named:k3b_success1.wav.
Of course this setting can be turned off in the settings dialog.

-A lot of bug fixes!

-Added translations: Portuguese (thanks to Luis Bastos (, Slovenian (thanks to Blaz Kure), Russian (thanks to Evgeniy Ivanov).

AND A SPECIAL THANKS TO Evgeniy Ivanov for his contributions.

Please back up the .qOrganizer folder before upgrading, the to-do list will be broken because of the new Start column, everything else should be fine.Of course adjust all settings.

If you encounter any bugs please report them on the projects (btw: thanks to for hosting the project and for excellent services) page:

Or just write me an e-mail: balazsbela ( a t )
If you would like to translate qOrganizer, or request a feature, or just tell me your opinion you can contact me at the e-mail address above.
All feedback is welcomed and appreciated!

And as always, enjoy!
Note: Under linux, the source package is the official release, the deb and the rpm are just binaries.
The file qOrganizer-2.1.tar.gz contains a binary file too which can be installed with the script which must be run as root.

You can also compile the source if you have qt4 installed,
with the commands:
or under windows:
make release

Under windows the package is for
users without qt4 installed, and the file is for users with qt4 installed (it doesn't contain the necessary dlls to run).
If you are not sure download:

A little bit about qOrganizer

So this is my summer project, yeah yeah I know, summer is mostly over, well the project is mostly completed so feel free to check it out and give it a try, you will be pleased :)


After you checked it out you might be asking yourself why is this project needed and why write just another organizer, why would you download it, and why is it good.
I will try to answer these questions.

Days are relatively long, with many tasks to be done, if you can sum up what you need to do and when then you can become more productive.
This is the goal of all organizers,calendars,to-do lists,pims etc.

But the most of them (at least the ones I tried) get carried away, and achieve the opposite of what has been planed.

The main desire is clarity, when you look at the qOrganizer interface you see information that is important to you.
All in one place, clearly and simply, focusing on the present.

I saw many similar programs that used so called schedules which enumerated all the 24 hours in one day
and fitted your tasks in a tiny area between all that irrelevant information.
Clearly if you enumerate every hour in a day it will not be easily readable and there is a big risk you will miss something important.
The goal is for you to know what you need to do just by taking a look at it, and not having to search.

This is where qOrganizer comes in with it's new approach to scheduling.
It just simply lists what needs to be done, when and optionally sets a reminder for you to not forget about it.
Also plays a sound(this can be turned off or on in the settings dialog) when the reminder is launched.
Clear, simple, and straight to the point, just the information you need, minimizing the risk of missing anything.

It avoids adding categories to events because it recognizes that not every event can be categorized, and forcing the user to do so can be time consuming, and pointless.

Also it recognizes that days can not be described using schedules, more is needed, therefore it provides a space where you can put additional notes, maybe a journal, but doesn't force you to do so.
The text can be nicely formated to increase clarity.

The to-do list is needed because there are general tasks, things that need to be done, deadlines that need to be met, without knowing when it will be finished.
This offers , once again, clarity.Only important information is stored, and shown, all in one page, nothing can be missed accidentally.
It provides the option to specify the deadline of the task (if it has one), the priority, and the amount in which it is completed.

The priority can be from 1 to 10 (or from 1 to 100 because it's an editable combo box), or low,medium,high or whatever the user chooses or thinks that it should be, no system is enforced
The completed parameter shows the percent that is, well completed, in a nice progress bar.

The user can also sort the to-do list based on these parameters or just alphabetically.
It's better to use a scale from 1 to 10 in the priority column since it can be sorted.
The user interface is rich, allowing users to pick dates with a nice popup calendar.

The timetable is included because if you are a student, it really influences how you plan things and it is good to always have in sight.
Also your marks and your absences may influence your schedule so it's good to keep track of them in one place.It also calculates averages.

I think that managing contacts is not a task for an organizer, it should be done by the e-mail client,
or by the IM client or whatever is used to get connected with the contacts.

The question that was raised in me when looking for a good organizer was:
How could I assign the task of organizing my data to a program that is not organized itself?
So this is the main goal of this project, creating an organizer software that is well organized, and contains only necessary information to provide clarity.

The other goal is usability, the interface should be intuitive, an average user should be able to figure out how the software is used in maximum 5 minutes of use.

With this innovative, new approach to organizing information, qOrganizer seeks to do it's job as well as possible.

Ok so blog created

The blog was created.