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: http://kde-look.org/content/show.php/nuvoX?content=38467
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
origin.remove("file://");
#endif
#ifdef Q_OS_WIN32
origin.remove("file:///");
#endif
QImage *image = new QImage(origin);
if(!image->isNull())
{
document->addResource(QTextDocument::ImageResource,origin,image);
cursor.insertImage(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 sourceforge.net (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.
Enjoy!


----------------------------------------------------
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.

Changes:

-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 (http://programaslivres.net/)), Slovenian (thanks to Blaz Kure), Russian (thanks to Evgeniy Ivanov).

BIG THANKS TO ALL TRANSLATORS :)
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 SourceForge.net (btw: thanks to SourceForge.net for hosting the project and for excellent services) page:

http://sourceforge.net/projects/qOrganizer

Or just write me an e-mail: balazsbela ( a t ) gmail.com
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 install.sh which must be run as root.

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

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