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 :)