
qOrganizer
Source (link to git-repo or to original if based on someone elses unmodified work):
It's designed to be simple to use, it's intuitive interface provides clarity through all your information.
Printing is also available.
It also has a feature that I call autosave , it saves the introduced data every time the container widget looses focus, but this can be turned off if it causes problems or the user dislikes it.
I felt motivated to write this because it's a tool I really use everyday and since I wrote it I never forgot something important.
I know there are other similar tools but the ones I tried had bloated interfaces and too much features I would never use, and all lacked clarity, I disliked having enumerated all the 24 hours in a day and squeezing my event into that kind of schedule.
So this is a program in the spirit of simplicity and intuitivity that organizes the information important to you.
I welcome any feedback so give me a lot!
Report bugs, request features, anything you need.
Also I'm open to your opinion about it.
This is my summer project, and there still is a lot time.
So enjoy!
PS: The new release, qOrganizer v2.0 is now out!
http://sourceforge.net/projects/qorganizer
v3.1 is another bugfix release:
Changes:
-Fixed a bug in the journal, now text can be pasted from any source, not only images.
-Corrected minor translation errors
-Set the window title for the Settings dialog.
Not too big changes but I feel they are needed.If you encounter any other bugs, please report them.
Thanks and enjoy!
------------------------------------------------------
3.0 has a lot of new features, a lot of polishing went into it, let's see the changes.
Changes in 3.0:
-Added Estonian translation thanks to Jefim Borissov.
-New storing modes, since many people consider storing data in text files primitive, qOrganizer v3.0 lets you choose what storing mode you want.You can choose between text files, an SQLite database or you could connect to a MySQL server over the network, the choice is yours.
-Ability to save between storing modes. If you stored all your data in text files you can browse through all your schedules and press Save to SQLite database(on the toolbar) for the ones you want to save if you change the storing mode to SQLite, same goes for MySQL.
Although you can move all your data between storing modes, I advise you to keep the storing mode you currently use, text files are fast,
SQLite database is slower for the intensive saving operations of Autosave, but Autosave can be disabled.
Note:The user and password of the MySQL server is stored on the local machine unencrypted so don't use any important MySQL servers.
-You can switch between storing modes without restarting the program.
-Search function, now you can search through all your schedules and journals it will cycle between results, when you hit the clear button in the right part of the line edit it will jump back to the current date.
-The settings dialog get cleaned up, now it's more well organized, using tabs.
-Now the column widths set by the user are stored and reset when the program restarts
-University (college) students requested that I incorporate a feature that allows one to keep and switch between two timetables, one for even weeks (example:week 36) and one of odd weeks (example:week 37).It's a common habit of universities to use different timetables depending on the parity of the week index.Now qOrganizer does this.This feature can be disabled, also the normal order of weeks can be reversed, depending on what week does the university consider odd or even.
-Drag and drop support for images in the journal. Now you can just open konqueror(or explorer) select one of your favorite images and just drag and drop it onto the journal for that day, it will be displayed and saved.
-Fixed some bugs in the printing functions, now every title string is translated, and when printing the booklet the mark table is next to the absence table, not under.
-Removed all xpm icons, switched to png, and replaced the toolbar icons with original nuvoX 0.7 icons (nuvoX 0.7 iconset was released under the GPL by Xavier Corredor Lliano, whom I thanks for this).
-Added slightly modded nuvoX icons to save between storing modes to the toolbar.
-Moved every setting to ini file in .qOrganizer folder, generated by QSettings (well except one, the path to .qOrganizer is stored in the registry with QSettings, or .config under Linux).No more config.txt.
And now you can switch between storing folders, the correct data and the settings from the ini file in that folder will be loaded, you don't need to restart the program.
-Added dates to mark table, now you can assign a date to any mark, if there is no date assigned the current date will be shown, this can be stored in text files and database too, depending on your storing mode. I didn't insert this in the table, but added a QDateEdit next to the average fields, so it won't confuse you in the table.
-Added "Thanks to" tab in the about dialog with the name of the contributors.
-Fixed bugs along the way.
-Added Albanian and Macedonian translation thanks to Driton Bakiu.
-Added Spanish translation by Nicolas Schubert.
Now available translations:Russian (thanks to Evgeniy Ivanov), Portuguese (thanks to Luis Bastos), Slovenian (thanks to Blaz Kure),Estonian(thanks to Jefim Borissov), Albanian and Macedonian (thanks to Driton Bakiu), Spanish(thanks to Nicolas Schubert), Hungarian and Romanian (done by me).
Thanks to Joí£o Pinto for publishing qOrganizer v2.1 on getdeb.
Thanks to all contributors and all users, to anyone who liked this software,
Please back up the .qOrganizer folder before upgrading.
If you encounter any bugs please report them on the projects sourceforge (btw: thanks to SourceForge 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!
Usefull links:
Project page : http://sourceforge.net/projects/qorganizer
Qt-apps.org page: http://qt-apps.org/content/show.php/qOrganizer?content=61219
Getdeb.net page: http://www.getdeb.net/app.php?name=qOrganizer
My blog(I post much about qOrganizer):http://balazsbela.blogspot.com/
Enjoy!
-----------------------------------------------------------------------------------------------------------------------------------------------
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 in 2.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 ) 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 (btw: thanks to SourceForge 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!
Ratings & Comments
14 Comments
Rather cool. I'd just wish there was support for something like CalDaw, iCal, Jorte sync. Many regards Peter
I downloaded the *.deb package and installed it but it doesn't work. When I run it the following error occurs: rinse@tuxtop:~$ qOrganizer Connected to database qOrganizer: symbol lookup error: qOrganizer: undefined symbol: _ZN9QListData7detach2Ev
Yeah because the binary was compiled using qt 4.3.0, and you have a previous version, upgrade or download the source and compile it with the commands: qmake-qt4 make Thay should do it
https://sourceforge.net/forum/forum.php?thread_id=1791269&forum_id=709756
You can read some thoughts about why this project exists and what is it's aim here: http://sourceforge.net/forum/forum.php?thread_id=1789752&forum_id=709758
my feedback: [-] Awful style of a writing of a code [-] ugly gui [-] bad knowledge of qt (apparently from a code) [-] strange settings format [-] where are the .pro file? [-] binary file in source package - why? [-] unable to hide/restore mainwindow to/from tray [+] intuitively clear interface [+] nice iconset code to fix two bugs (frees memory from unneeded splash and fix showing mainwin first startup): main.cpp Quote:
#include <QApplication>
#include <QSplashScreen>
#include <QTranslator>
#include "qorganizer.h"
#include <QSettings>
#include <QString>
int main(int argc, char *argv[])
{
Q_INIT_RESOURCE(application);
QApplication* app=new QApplication(argc, argv);
QSplashScreen *splash = new QSplashScreen(QPixmap(":/images/splash.png"));
splash->show();
QTranslator *translator = new QTranslator;
QSettings settings("Balazs Bela", "qOrganizer");
translator->load(settings.value("language").toString(), ":/lang");
app->installTranslator(translator);
qOrganizer *mw = new qOrganizer();
mw->resize(settings.value("windowsize", QSize(1024, 768)).toSize());
if(settings.value("windowmaximized", true).toBool())
mw->showMaximized();
else
mw->show();
splash->finish(mw);
delete splash;
return app->exec();
}
qorganizer.cpp
Quote:
...
//The constructor
qOrganizer::qOrganizer()
{
setWindowTitle("qOrganizer");
/*-*/// QSize size(1024,768);
/*-*/// resize(size);
/*-*/// readSettings();
setWindowIcon(QIcon(":/images/icon.png"));
readConfigFile();
addItems();
createActions();
createMenus();
createToolBars();
createStatusBar();
}
...
also i can translate qorganizer tu russian if you want
[-] Awful style of a writing of a code Could happen, but I think it's more readable. I should have used a better naming convention though. Would like to hear the reasons why you think the coding style is awful. [-] ugly gui [+] intuitively clear interface How can these two not eliminate each other ? You say it's ugly but don't say why. [-] bad knowledge of qt (apparently from a code) I'm a beginner, this is my first project. If you know any way too simplify things that I complicated because my knowledge of Qt is not the best, I'm open to them. [-] strange settings format I only store the settings that are needed, and the config file was not designed to mess with if you don't know what you are doing. Besides there is a gui option for editing settings. [-] where are the .pro file? You generate the using qmake-project. [-] binary file in source package - why? For those who don't have qt sources installed and can't compile. [-] unable to hide/restore mainwindow to/from tray On windows, and I think I fixed that. But I'm not sure what you are talking about. The tray works fine. [+] nice iconset Thanks, but it will be changed. Your right I should have freed the memory for the splash screen when I'm not showing it anymore. Fixed. But the main win is fine, that feature works, I deliberately avoided adding it to main.Your code is simplified but it does not do any good for modularity. At least you were the only one brave enough to give me some feedback. I am grateful for that, also I appreciate that you showed me code. Thanks for offer to translate but the interface will get changed a lot, features will be added and I already have someone who promised to translate the next version to Russian. I would like to hear your opinion about features, design, what should be added, what should be more complex, more flexible. Also I'm kind of surprised that you didn't criticize my simplistic file format (which I'm planning to rewrite using SQLite btw). The project is still in early stages and is far from perfect, the feedback is needed to know is I'm on the right way. It just got stable recently. My code is not the most efficient I will clean it up some day, also as I progress newly added code is cleaner. Thanks again, and I'm happy to hear from you.
hi Quote:Would like to hear the reasons why you think the coding style is awful.
you can prefer any style you want - this is not my trouble.
(see http://www.rsdn.ru/article/mag/200401/codestyle.XML for example)
Quote:You say it's ugly but don't say why.
empty strings in shedules table, no preexisting values, no value bounds...tables with few meanless columns in full window's size, and more, and more...
i like first window "calendar" (most of others) and i can not use "to-do list" tool, "timetable" tool, etc...
they are unusable for me. they are just big empty tables. i must to fill timetable by hand after i have filled all my shedules?
or i miss something?
Quote:where are the .pro file?
You generate the using qmake-project.
binary file in source package - why?
For those who don't have qt sources installed and can't compile.
why i must to regenerate .pro file?
will you download sources tarball if you haven't qt-dev libs&headers?
Quote:...But the main win is fine...
i only see trayicon if i try to execute binary from your (not modified) code
(win32, qt4.3.0, gcc3.4.5)
i like gui and functionality of ingutie project. but it still unstable. some functionality is broken. it supports only latin-based charmaps, etc. so, i can not use it.
but you can :)
good luck
oops... i gave you link to russian topic. sorry.
What do you mean by non latin charmaps are unsupported ? Predefined values are not a bad idea. schedule != timetable I know I should use custom delegates but it's in progress. "empty strings in shedules table" How should I know what the user does and when? :)) "no value bounds" They exist where they are needed, in the settings dialog. "tables with few meanless columns in full window's size" Why meaningless ? Since when are the days in a week meaningless? You are right, the to-do list page looks kind of empty with only one table, but I think I'll resize it. Thanks. (I'm using 1024x768 so it's not that obvious) Ok I will include the pro file in the next release. "i only see trayicon if i try to execute binary from your (not modified) code (win32, qt4.3.0, gcc3.4.5)" Have no idea why that should ever happen. The systray icon is loaded from resource file. "but it still unstable." Stable != mature "some functionality is broken." Not really, everything that was said that works, works. The fact that it doesn't work how you would like it to (or I) doesn't mean that it's broken. I would need some tips about how to support non latin charmaps. I will try to figure it out. "i can not use it. but you can :)" It works fine for me, your right. This project is still very young, I started it in June , it's under heavy development but I'm running out of time, features will come, I will brush it up, the next versions will be better. I'm sorry if it's unusable for you be sure to check back later. PS:Also planned to add the ability of disabling unwanted features (pages). I will read some coding guidelines, and stuff like that and the code will be cleaned up a bit. But now I really don't have time for that. Thanks for your feedback.
Quote:non latin charmaps
some functionality is broken.
but it still unstable
i can not use it.
but you can :)
all this words i sayd about project named "ingutie" (http://www.kde-apps.org/content/show.php/Ingutie?content=55141)
ingutie != qOrganizer, i guess
Quote:I would need some tips about how to support non latin charmaps.
just don't use QLatin1String in names and fields :)
optionally you can use:
Quote:
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
and/or
Quote:QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
after QCoreApplication was created to fix some strange things
Quote:i only see trayicon if i try to execute binary from your (not modified) code
Have no idea why that should ever happen.
The systray icon is loaded from resource file.
i mean i can see trayicon but i cann't see mainwin. i cann'r show or restore it anyway. i can see ONLY trayicon.
this happened by caliing "show...showMaximized" from constructor, i guess.
thanks for reply :)
The charset problem got fixed, it is implemented in CVS and will be featured in the next release.
We finally got from beta to stable and the new release comes with a lot of bug fixes and sweet features like language changing simplified and handled by the settings dialog. The new release also brings a more flexible timetable and the ability to sort the to-do list. Enjoy and give me plenty of feedback :)
At the moment only Romanian and Hungarian translations are available, if you would like to translate the application to your language then please contact me.