maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [M5] [Announce] Qalendar -- a replacement for the default calendar (https://talk.maemo.org/showthread.php?t=90820)

PdxDoug 2013-08-09 00:25

Re: [Announce][Fremantle] Qalendar 0.5.1 -- a clone of the default calendar
 
Thank you for your effort. This functionality has been missing for so long.

My first few attempts to add simple calendar events resulted in the app dying and the event not saved. I have learned that one cannot enter info in the description box without having saved the event first. And, text entry in the description box seems problematic as CR/LFs seemed to get entered on their own.

iceskateclog 2013-08-12 11:05

Re: [Announce][Fremantle] Qalendar 0.5.1 -- a clone of the default calendar
 
Found a bug:

* In landscape mode: create new event, write some longer description and see dynamic wordwrap while typing. It uses less than half available space. Type 3 or 4 lines, close keyboard and rotate to portrait. Text correctly reformats. Now slide keyboard out and wordwrap fills whole textarea until you start typing.

* While doing above, I randomly get crashes. Can't get it to crash every time while doing same things..

* Also haven't seen it crash while launched from xterm, instead of dbus service from widget. But this might be coincidence.

qalendar 0.5.1-1

guilledoc 2013-08-14 14:45

Re: [Announce][Fremantle] Qalendar 0.5.1 -- a clone of the default calendar
 
hi Iīm getting crashes all the time itīs getting very dificult to use the qalendar any idea.
Maybe Iīll try a previows version?
Thanks

sixwheeledbeast 2013-08-14 15:41

Re: [Announce][Fremantle] Qalendar 0.5.1 -- a clone of the default calendar
 
Quote:

Originally Posted by guilledoc (Post 1367202)
hi Iīm getting crashes all the time itīs getting very dificult to use the qalendar any idea.

Run via terminal and provide debug information?

guilledoc 2013-08-14 17:20

Re: [Announce][Fremantle] Qalendar 0.5.1 -- a clone of the default calendar
 
when runed from xterm it doesnīt crash

-$ qalendar
Detected language: "es_MX"

Thats all what it show
:(

ade 2013-08-14 18:39

Re: [Announce][Fremantle] Qalendar 0.5.1 -- a clone of the default calendar
 
Quote:

Originally Posted by guilledoc (Post 1367242)
when runed from xterm it doesnīt crash

-$ qalendar
Detected language: "es_MX"

Thats all what it show
:(

Blame Sixwheeledbeast :D

As far as I can tell you followed these instructions: http://talk.maemo.org/showthread.php?t=90942

Apps like the Worldclock and also Calendar need to register itself in a certain way, else they get terminated by the system in a while. Invoking qalendar like the default calendar service is not suitable for qalendar (yet). If you start qalendar from the menu (not via the calendar widget), you should experience no crashes.

guilledoc 2013-08-14 19:13

Re: [Announce][Fremantle] Qalendar 0.5.1 -- a clone of the default calendar
 
Yep thats right so...
is there anything I can do to have a full use of this or only via the menu?

gidzzz 2013-08-20 02:34

Re: [Announce][Fremantle] Qalendar 0.5.1 -- a clone of the default calendar
 
Quote:

Originally Posted by skanky (Post 1365292)
If I say, have a repeating event for the 25th of every month, but only on a Mon-Fri and if it falls on a weekend, then it should occur on the Friday before I can't see any way to implement that. If it's there then I've missed it, sorry

It is not possible to do with one rule, but the calendar engine can use multiple rules for one event. However, GUI for that is not implemented yet.

If you do not mind adding that event as 3 separate events, you can configure them in the following way:
  • frequency = monthly; day of week = Mon..Fri; day of month = 25;
  • frequency = monthly; day of week = Fri; day of month = 24;
  • frequency = monthly; day of week = Fri; day of month = 23;


Quote:

Originally Posted by guilledoc (Post 1367264)
Yep thats right so...
is there anything I can do to have a full use of this or only via the menu?

Only the menu.

I would have already started working on it, but I still do not know if Calendar is sitting in the background just to cut the startup time or if it actually does something useful. If there is no one around with this knowledge, I guess I will have to add an option to run Qalendar in replacement mode and wait for bug reports.


I have uploaded a small update (0.5.2). Hopefully I got the whole locale-related stuff right.
  • Locale is determined by device language instead of regional settings.
  • Use locale settings to choose day-month order for the partial date format.
  • Fixed a bug that prevented zero-length events from being displayed in the week view under some circumstances.
  • Fixed too narrow text wrapping boundary in description fields.
  • Corrected wrong form of month and weekday names.
  • New translations:
    • Finnish by jonkha,
    • Italian by Rakom,
    • Dutch by ade,
    • Polish,
    • Ukrainian by int_ua.

@ade, @Rakom: there was a small change in the translation file and to speed things up I updated your translations myself (other translations were not that obvious). The 3 new strings start with "Older than %n", in case you want to check if I failed miserably. ;)

ade 2013-08-20 18:39

Re: [Announce][Fremantle] Qalendar 0.5.1 -- a clone of the default calendar
 
Quote:

Originally Posted by gidzzz (Post 1368264)
I would have already started working on it, but I still do not know if Calendar is sitting in the background just to cut the startup time or if it actually does something useful. If there is no one around with this knowledge, I guess I will have to add an option to run Qalendar in replacement mode and wait for bug reports.

To make it respond properly to dbus calls, look at:
http://developer.nokia.com/Community...application_UI
http://developer.nokia.com/Community...h_DBus_support

Nicolai pointed me to this when I was struggling with this.

Look at the code of osso_calculator replacement or worldclock replacement for some examples (that is basically Pali's code part).

I wonder if you really would like to have qalendar in the background most of the time. Qt programs usually eat about 9% of memory. Calender itself (gtk/maemo-invoker) uses way less then that.

gidzzz 2013-08-20 20:08

Re: [Announce][Fremantle] Qalendar 0.5.2 -- a clone of the default calendar
 
Preventing Qalendar from being terminated on D-Bus activation timeout is as easy as registering a dummy service (one line of code). The real problem is that when the application is closed, the service is unregistered and the calendar is automatically restarted. I have no idea how to stop that.

Disabling the respawning can be the best solution because of simplicity (?) and resource usage, but as I have already mentioned a few times, I am afraid that there is some reason why Calendar is running in the background and mediaplayer or worldclock are not.

IIRC, even a hello world in Qt can take over 30 MB of memory, but the libraries are shared, so 2 Qt applications could take for example 35 MB total. But I guess that's still bad if Qt is not used in any of the startup applications.

Adding an option to run Qalendar in background would be only the first quick step, just to check if there are any problems after dumping the default calendar (stopping the respawning could serve that purpose as well, but I wouldn't be surprised if it is hardcoded somewhere). Later it could be replaced by some kind of non-Qt stub which would launch the real thing when required.

skanky 2013-08-20 20:18

Re: [Announce][Fremantle] Qalendar 0.5.1 -- a clone of the default calendar
 
Quote:

Originally Posted by gidzzz (Post 1368264)
It is not possible to do with one rule, but the calendar engine can use multiple rules for one event. However, GUI for that is not implemented yet.

If you do not mind adding that event as 3 separate events, you can configure them in the following way:
  • frequency = monthly; day of week = Mon..Fri; day of month = 25;
  • frequency = monthly; day of week = Fri; day of month = 24;
  • frequency = monthly; day of week = Fri; day of month = 23;

Thanks for that, that's a good way and I wish I'd have thought of it. I've looked to implement it that way.

One issue - and this may be Calendar's issue is that if I add three events to the 25th Aug at 09:30 with the repeats that you show above, the third added event seems to overwrite one of the others so I can only do two that way. For now I'll add the third to a future 25th date, but it makes this style a little more awkward.

szopin 2013-08-20 20:34

Re: [Announce][Fremantle] Qalendar 0.5.2 -- a clone of the default calendar
 
Quote:

Originally Posted by gidzzz (Post 1368426)
Preventing Qalendar from being terminated on D-Bus activation timeout is as easy as registering a dummy service (one line of code). The real problem is that when the application is closed, the service is unregistered and the calendar is automatically restarted. I have no idea how to stop that.

Could you have a little daemon written in pure C to keepalive and stop the restarts and the actual program started from there when called correctly? QT would be loaded only then, so hopefully memory footprint would be minimal
Quote:


Disabling the respawning can be the best solution because of simplicity (?) and resource usage, but as I have already mentioned a few times, I am afraid that there is some reason why Calendar is running in the background and mediaplayer or worldclock are not.
The reason could be interaction with other osso-programs, if they want to add event or some such (address book adding birthday? something like it), nothing critical to qalendar functioning. We should emulate for compatibility reasons, all events are in the alarmd according to its documentation, calendar just registers an event there, no reason to keep it alive if we don't want to interact with it rather than its db.
Quote:

IIRC, even a hello world in Qt can take over 30 MB of memory, but the libraries are shared, so 2 Qt applications could take for example 35 MB total. But I guess that's still bad if Qt is not used in any of the startup applications.
Qt-less launcher.


Quote:

Adding an option to run Qalendar in background would be only the first quick step, just to check if there are any problems after dumping the default calendar (stopping the respawning could serve that purpose as well, but I wouldn't be surprised if it is hardcoded somewhere). Later it could be replaced by some kind of non-Qt stub which would launch the real thing when required.
Yes!

gidzzz 2013-08-22 05:24

Re: [Announce][Fremantle] Qalendar 0.5.1 -- a clone of the default calendar
 
Quote:

Originally Posted by skanky (Post 1368431)
One issue - and this may be Calendar's issue is that if I add three events to the 25th Aug at 09:30 with the repeats that you show above, the third added event seems to overwrite one of the others so I can only do two that way. For now I'll add the third to a future 25th date, but it makes this style a little more awkward.

It is pretty strange that you can create even two events with same details -- I cannot create more than one. Add a space or two at the end of the title or in the description. ;)



Quote:

Originally Posted by szopin (Post 1368438)
Could you have a little daemon written in pure C to keepalive and stop the restarts and the actual program started from there when called correctly? QT would be loaded only then, so hopefully memory footprint would be minimal

I think that's what I had in mind when writing the last paragraph.

Quote:

Originally Posted by szopin (Post 1368438)
The reason could be interaction with other osso-programs, if they want to add event or some such (address book adding birthday? something like it), nothing critical to qalendar functioning. We should emulate for compatibility reasons, all events are in the alarmd according to its documentation, calendar just registers an event there, no reason to keep it alive if we don't want to interact with it rather than its db.

Yep, I performed some tests which confirm that birthdays will not be added with Calendar disabled. I also added it to a list of things that are broken without Calendar (http://wiki.maemo.org/Qalendar#Consequences) and hopefully with today's update it will be easier to find other similar situations.



I have mentioned an update, so here it is, the changelog for Qalendar 0.6. The package is already in the repository.
  • Scrolling hints in week view show also components from the all-day section.
  • Enabled word wrapping for time labels in week view to make them work better with translations.
  • Event lists display location info if available.
  • Resolved the performance problem with refreshing of agenda view.
  • Recurrence and alarm dialog always starts enabled to save one click.
  • Recurrence dialog is grayed out instead of resized when disabled.
  • Moved the checkbox in alarm dialog to the top of the dialog.
  • Fixed misaligned weekday names in month view.
  • Added an option to run in background and mimic some other related behaviors of the default Fremantle calendar.
  • Updated translations.
  • New translation: French by Pinky007.

All you guys that are eager to say goodbye to the default calendar or just want to help testing the --background switch, take a look at the appropriate section in the wiki (http://wiki.maemo.org/Qalendar#Repla...fault_calendar) and report other problems, if you find any.

iceskateclog 2013-08-22 07:32

Re: [Announce][Fremantle] Qalendar 0.6 -- a clone of the default calendar
 
Thank you for another update! Updated with --background option for daily usage.

eCoach uses Where field to put information about activities. Day view looks like this:

http://i.imgur.com/sQwMj1y.png

Event:

http://i.imgur.com/XUEjPhN.png

PS I really love that previously used Calendar is selected when making new entries!

skanky 2013-08-22 08:51

Re: [Announce][Fremantle] Qalendar 0.5.1 -- a clone of the default calendar
 
Quote:

Originally Posted by gidzzz (Post 1368640)
It is pretty strange that you can create even two events with same details -- I cannot create more than one. Add a space or two at the end of the title or in the description. ;)

Thanks. I probably had something slightly different between the two. I may check at some point. Knowing it shouldn't work is enough now. :)

ade 2013-08-22 13:58

Re: [Announce][Fremantle] Qalendar 0.6 -- a clone of the default calendar
 
So far it is running fine in the background.

One minor thing if I may be picky: if you start qalendar from the menu once you have qalender in the background, you will have two instances of qalendar running. It makes sense because it does not involve the service when started from the menu. But it would be nice if it would not accept a second instance of qalendar (and just show the running one).

gidzzz 2013-08-26 18:09

Re: [Announce][Fremantle] Qalendar 0.6 -- a clone of the default calendar
 
That is indeed the reason why I left it unimplemented, but the more I click on Qalendar's icon the more I see how impractical it is. :) 0.6.1 changes that, along with a few other details:
  • If another instance of the application is detected on startup, activate that instance and exit.
  • Replace line breaks with spaces when displaying text that is supposed to fit in one line.
  • Gray out headings in the recurrence editor with the rest of the dialog.
  • Updated the French translation.

Please note that Qalendar will not be automatically restarted after the update, so if you have it running in the background, you should kill it manually with "killall qalendar".

sixwheeledbeast 2013-08-27 15:45

Re: [Announce][Fremantle] Qalendar 0.6.1 -- a clone of the default calendar
 
Potential bug found.

I opened qalendar via the stock calendar widget (I am using Background Tweak).
It opened in agenda view but the date at the top was from the last time I opened qalendar (Thursday). This means that you have to correct the date to set an alarm for later in the day.
To get the date correct in agenda view I selected Month view and then Agenda again. Will need to test it again tomorrow to see if I can reproduce.

Edit -- It can be reproduced, even after a reboot on version 0.6.1.

Addition comments, the Alarm view isn't obvious that you are selecting hours/minutes/seconds before the event. It was only after putting the exact time of the alarm that I remembered how the stock calender worked.

ade 2013-08-31 12:10

Re: [Announce][Fremantle] Qalendar 0.6.1 -- a clone of the default calendar
 
As I expressed my concern about possible memory use of a Qt program (Qalendar in this case) in the background, I decided to check that every once in a while (ps aux, (h)top etc).

Although it is hard to determine exact values (think complex shared memory), we should be able to see a global picture. The thing I constantly noticed is that the memory usage of qalendar dropped significantly soon.

Scenario:

- Killall qalendar at start of measurements
- Automatically run smem en ps_mem (two python memory reporting tools) every half an hour for a period of time while not using the device

smem report on qalendar:

Code:

          Swap      USS      PSS      RSS
22:58:04 160.0K    15.4M    16.6M    21.0M
23:28:26 256.0K    15.2M    16.4M    20.9M
23:58:47 352.0K    14.6M    16.0M    20.8M
00:29:08  5.2M    4.6M    5.4M    9.2M
00:59:29  5.3M    4.5M    5.2M    9.0M
01:29:50  5.3M    4.5M    5.2M    9.0M
02:00:10  5.3M    4.5M    5.2M    9.0M
09:34:12  5.6M    5.3M    6.7M    11.3M

Info from smem on the meaning of the columns: the "proportional set size" (PSS) of a process is the count of pages it has in memory, where each page is divided by the number of processes sharing it. So if a process has 1000 pages all to itself, and 1000 shared with one other process, its PSS will be 1500. The unique set size (USS), instead, is a simple count of unshared pages. It is, for all practical purposes, the number of pages which will be returned to the system if the process is killed. The resident set size (RSS) is the portion of a process's memory that is held in RAM. The rest of the memory exists in swap or the filesystem

ps_mem report on qalendar:
Code:

          Private  +  Shared  =  RAM used
22:58:04  15.3 MiB +  1.3 MiB =  16.7 MiB
23:28:26  15.2 MiB +  1.3 MiB =  16.5 MiB
23:58:47  14.6 MiB +  1.5 MiB =  16.2 MiB 
00:29:08  4.6 MiB + 930.0 KiB =  5.5 MiB 
00:59:29  4.5 MiB + 911.0 KiB =  5.4 MiB
01:29:50  4.5 MiB + 911.0 KiB =  5.4 MiB
02:00:10  4.5 MiB + 911.0 KiB =  5.4 MiB
09:34:12  5.3 MiB +  1.5 MiB =  6.9 MiB

The last measurement is after bringing Qalendar to be foreground the next day. As I see qalendar partly beeing moved to swap (which explains less ram used), the total amount of memory used seem to have shrunk. Any viable explanations (some memory reclaim by OS?)? Well, it definitely took away some worries I had about it :)

deryo 2013-09-04 08:39

Re: [Announce][Fremantle] Qalendar 0.6.1 -- a clone of the default calendar
 
1 Attachment(s)
Hi gidzzz.

I found a minor bug in the GUI: When you leave the calendar open showing week view and wait for the next day, the column of that day is being highlighted correctly but not its head. See attached image.

BTW: I love your work! Stock calendar is a pain in the a**. Recurrences are brutally limited. You can't even create an event that takes place every two weeks. And "complex recurrences" could not be edited. Now I can! \o/ And I love the weekday names on the date picker! You'll definitely get some pizza from me!

You'd be my true hero if you implemented the possibility to delete single occurrences of repeating events as well. Some more things that come in handy but are not that important:
- Birthday events: display age behind names
- Add "Category" field for tasks/events/notes
- When an alarm rings give the user not only the option to remind him 5 minutes later, but let him specify the amount of time for that reminder. (I don't know if this is even possible, as I fear that alarm dialog is built into maemo. Is it?)
- Alarms/Reminders for Tasks

And I want to participate! It seems there is no german translation available. I don't need it, but I would love to provide and maintain it. Please tell me how to do that!

DerYo

sixwheeledbeast 2013-09-04 13:00

Re: [Announce][Fremantle] Qalendar 0.6.1 -- a clone of the default calendar
 
Quote:

Originally Posted by deryo (Post 1371944)
Hi gidzzz.

I found a minor bug in the GUI: When you leave the calendar open showing week view and wait for the next day, the column of that day is being highlighted correctly but not its head. See attached image.

Hmm, yes I confirm this too. Seems it relates to my bug report above
http://talk.maemo.org/showpost.php?p...4&postcount=58

OVK 2013-09-04 13:12

Re: [Announce][Fremantle] Qalendar 0.6.1 -- a clone of the default calendar
 
Sorry if this has been already mentioned/asked but would it be possible to add a possibility to mark a calender entry "private" (for Exchange calender)?

int_ua 2013-09-08 09:25

Re: [Announce][Fremantle] Qalendar 0.6.1 -- a clone of the default calendar
 
Quote:

Originally Posted by OVK (Post 1372013)
Sorry if this has been already mentioned/asked but would it be possible to add a possibility to mark a calender entry "private" (for Exchange calender)?

AFAIU you can add private calendar and just use it for your private events.

iceskateclog 2013-09-08 11:58

Re: [Announce][Fremantle] Qalendar 0.6.1 -- a clone of the default calendar
 
Got segmentation fault with Qalendar.

Reproduced with removing qalendar from dbus file, killling qalendar process, installing qalendar-dbg.

I just launch qalendar from terminal, it opens in week mode and just swipe to three next weeks, windows closes with segmentation fault.

Here's (maybe useful) output:

Code:

$ dpkg -p qalendar   
Package: qalendar
Priority: extra
Section: user/office
Installed-Size: 676
Maintainer: Grzegorz Gidel <grg.gdl@gmail.com>
Architecture: armel
Version: 0.6.1-1
Depends: calendar-backend (>= 0.6-20+0m5), libc6 (>= 2.5.0-1), libgcc1 (>= 1:4.2.1), libqt4-core (>= 4.7.0~git20100909-0maemo1+0m5), libqt4-dbus (>= 4.5.3~git20090723-0maemo4+0m5), libqt4-gui (>= 4.5.3~git20090723-0maemo6+0m5), libqt4-maemo5 (>= 4.6.2~git20100224-0maemo1+0m5), libqt4-xml (>= 4.5.3~git20090723-0maemo4+0m5), libstdc++6 (>= 4.2.1-4maemo9+0m5)
Size: 222042
Description: An open source clone of the default Maemo calendar application
Homepage: http://talk.maemo.org/showthread.php?t=90820
Maemo-Display-Name: Qalendar


Code:

$ gdb qalendar
GNU gdb (GDB) 6.8.50.20090417-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabi".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
(gdb) run
Starting program: /usr/bin/qalendar
Detected language: "en_US"

Program received signal SIGSEGV, Segmentation fault.
0x4023e356 in QWidget::frameGeometry() const ()
  from /usr/lib/libQtGui.so.4
0x4023e356 <_ZNK7QWidget13frameGeometryEv+6>:        ldr        r2, [r3, #8]
(gdb) bt
#0  0x4023e356 in QWidget::frameGeometry() const ()
  from /usr/lib/libQtGui.so.4
#1  0x00033520 in WeekHintProfile::widgetDnComparator (
    w1=<value optimized out>, w2=0x258950)
    at ../../src/week/WeekHintProfile.h:103
#2  0x00033de4 in std::__insertion_sort<__gnu_cxx::__normal_iterator<ComponentWidget**, std::vector<ComponentWidget*, std::allocator<ComponentWidget*> > >, bool (*)(ComponentWidget*, ComponentWidget*)> (__first=..., __last=...,
    __comp=0x334f4 <WeekHintProfile::widgetDnComparator(ComponentWidget*, ComponentWidget*)>)
    at /scratchbox/compilers/cs2007q3-glibc2.5-arm7/bin/../l---Type <return> to continue, or q <return> to quit---
ib/gcc/arm-none-linux-gnueabi/4.2.1/../../../../arm-none-linux-gnueabi/include/c++/4.2.1/bits/stl_algo.h:2382
#3  0x00033ee0 in std::__final_insertion_sort<__gnu_cxx::__normal_iterator<ComponentWidget**, std::vector<ComponentWidget*, std::allocator<ComponentWidget*> > >, bool (*)(ComponentWidget*, ComponentWidget*)> (__first=..., __last=...,
    __comp=0x334f4 <WeekHintProfile::widgetDnComparator(ComponentWidget*, ComponentWidget*)>)
    at /scratchbox/compilers/cs2007q3-glibc2.5-arm7/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.1/../../../../arm-none-linux-gnueabi/include/c++/4.2.1/bits/stl_algo.h:2462
#4  0x0002fda0 in WeekWidget::populate (this=0x24a3d8)
---Type <return> to continue, or q <return> to quit---
    at /scratchbox/compilers/cs2007q3-glibc2.5-arm7/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.1/../../../../arm-none-linux-gnueabi/include/c++/4.2.1/bits/stl_algo.h:2868
#5  0x00032850 in WeekWidget::reload (this=0x24a3d8)
    at ../../src/week/WeekWidget.cpp:141
#6  0x00033070 in WeekWidget::setDate (this=0xbeedf460,
    date=...) at ../../src/week/WeekWidget.cpp:54
#7  0x0002c0a8 in WeekPlug::setDate (this=0x248188,
    date=...) at ../../src/week/WeekPlug.cpp:91
#8  0x0002c28c in WeekPlug::gotoNextWeek (this=0x248188)
    at ../../src/week/WeekPlug.cpp:118
#9  0x0006d090 in WeekPlug::qt_metacall (this=0x248188,
---Type <return> to continue, or q <return> to quit---
    _c=QMetaObject::InvokeMetaMethod, _id=2,
    _a=<value optimized out>) at moc_WeekPlug.cpp:79
#10 0x40902148 in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#11 0x4090be4e in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#12 0x4090be4e in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

Anything more I can do?

gidzzz 2013-09-08 18:39

Re: [Announce][Fremantle] Qalendar 0.6.1 -- a clone of the default calendar
 
Quote:

Originally Posted by ade (Post 1370836)
The last measurement is after bringing Qalendar to be foreground the next day. As I see qalendar partly beeing moved to swap (which explains less ram used), the total amount of memory used seem to have shrunk. Any viable explanations (some memory reclaim by OS?)? Well, it definitely took away some worries I had about it :)

I do not know what to think of it. I did a similar test with smem, but the results were somewhat different. It took about 4 hours and USS was generally stable at around 7.5 MB, but I have noted one sudden dive to 4 MB, and back to 7.5 MB 15 minutes later. Swap was 0 all that time.

Your 15 MB also seems a bit high compared to my results, especially considering that the views are populated on demand (so no events should be loaded if the window was never shown after restarting). I've got a schedule of some movie festival, which contains 453 entries, most of which are in the same week, and with all views (month, week, agenda) open on that week plus 60 tasks and 2 notes, USS was 12 MB.

Maybe those tools are just not completely reliable? I have no idea, never used them before.



Quote:

Originally Posted by deryo (Post 1371944)
You'd be my true hero if you implemented the possibility to delete single occurrences of repeating events as well.

The recurrence editor is not finished yet. One of the things that are waiting to be added is support for exceptions. It will allow to "delete" single occurrences in the editor, but currently I do not know if there will be something like a quick shortcut in the context menu.

Quote:

Originally Posted by deryo (Post 1371944)

The calendar database seems to have a place to store categories, but from what I have read in that bug report, they will not be synchronized, if that's what you're also after (Qalendar is not the thing which does the sync). Anyway, I added it to my todo.

Quote:

Originally Posted by deryo (Post 1371944)
- When an alarm rings give the user not only the option to remind him 5 minutes later, but let him specify the amount of time for that reminder. (I don't know if this is even possible, as I fear that alarm dialog is built into maemo. Is it?)

Yes, the ringing alarm dialog is not a part of Qalendar.

Quote:

Originally Posted by deryo (Post 1371944)

I don't get it. I thought an alarm for a task can be set in both Calendar and Qalendar.

Quote:

Originally Posted by deryo (Post 1371944)
And I want to participate! It seems there is no german translation available. I don't need it, but I would love to provide and maintain it. Please tell me how to do that!

The translations are managed at https://www.transifex.com/projects/p/qalendar/, so the easiest way is to create an account there, request a language and translate using the online editor or Qt Linguist.



Quote:

Originally Posted by sixwheeledbeast (Post 1372012)
Hmm, yes I confirm this too. Seems it relates to my bug report above
http://talk.maemo.org/showpost.php?p...4&postcount=58

The relation is that they are the outcome of nonexistent time-based autorefreshing. I have not done anything about it for today's update, because I feel like I need to give the mechanics behind it some more thought and on the other hand I did not want to wait any longer to publish the fix for the crash.



Quote:

Originally Posted by OVK (Post 1372013)
Sorry if this has been already mentioned/asked but would it be possible to add a possibility to mark a calender entry "private" (for Exchange calender)?

I'd do it as int_ua says. I don't think it is possible to mark a single event as private without changing more than Qalendar.



Quote:

Originally Posted by iceskateclog (Post 1372864)
Anything more I can do?

Nope, it is already fixed. Thanks for the backtrace.



Qalendar 0.6.2 has just arrived. Nothing big, just more polish and less bugs.
  • Show calendar type in event and task details.
  • Scroll to and highlight the selected calendar when opening the calendar picker.
  • Treat event end dates as non-inclusive, which fixes misinterpretation of some events as multi-day.
  • Event time icons display only the starting time for zero-length events.
  • Added a note that the time in the alarm picker is the amount of time before the event.
  • Pop up a notice when trying to go to previous/next event and it is not possible.
  • Fixed unexpected looping when trying to go the next event from the last existing event for the second time.
  • Fixed outdated scroll hints and possible crash when no non-all-day events are present in the week view.
  • Fixed zero-length events at midnight not appearing in the week view.
  • Updated translations.

iceskateclog 2013-09-09 05:37

Re: [Announce][Fremantle] Qalendar 0.6.2 -- a clone of the default calendar
 
Yay \o/ Qalendar 0.6.2 doesn't crash.

Pizza funded :>

OVK 2013-09-09 07:59

Re: [Announce][Fremantle] Qalendar 0.6.1 -- a clone of the default calendar
 
Quote:

Originally Posted by int_ua (Post 1372842)
AFAIU you can add private calendar and just use it for your private events.

Unfortunately this does not cover my use cases.

You see, I am allowed to have "hidden" meetings during my work time. In my organisation all calendars are shared to everyone (helps in finding suitable times for internal meetings etc.). However, all of my meetings can't be seen by everyone (some of our clients require this), yet my collegues need to see that I am reserved. Hence the need for "private" appointments: people can see that I am reserved but do not see why. This is how my organisation works.

int_ua 2013-09-16 00:06

Re: [Announce][Fremantle] Qalendar 0.6.2 -- a clone of the default calendar
 
Can we have an option to add some time to the default task due date? I would love due-less tasks, but AFAIU it's not possible (checked ~/.calendar/calendardb, even -1 gives year 2106) so I thought that default due date being today +5 years would suffice :)

jackburton 2013-09-16 10:43

Re: [Announce][Fremantle] Qalendar 0.6.2 -- a clone of the default calendar
 
Quote:

Originally Posted by int_ua (Post 1374436)
Can we have an option to add some time to the default task due date? I would love due-less tasks, but AFAIU it's not possible (checked ~/.calendar/calendardb, even -1 gives year 2106) so I thought that default due date being today +5 years would suffice :)

In maecaltasks, I made it so the year 2037 indicates 'no due date'. Press the red X to toggle the year.
http://farm6.staticflickr.com/5443/9...db956c12ca.jpg
mct-no_due_date by brander snaxe, on Flickr

gidzzz 2013-09-16 14:25

Re: [Announce][Fremantle] Qalendar 0.6.1 -- a clone of the default calendar
 
Quote:

Originally Posted by OVK (Post 1373054)
You see, I am allowed to have "hidden" meetings during my work time. In my organisation all calendars are shared to everyone (helps in finding suitable times for internal meetings etc.). However, all of my meetings can't be seen by everyone (some of our clients require this), yet my collegues need to see that I am reserved. Hence the need for "private" appointments: people can see that I am reserved but do not see why. This is how my organisation works.

Now I think I see what you mean by "private", but it is not Qalendar's domain either.



Quote:

Originally Posted by int_ua (Post 1374436)
Can we have an option to add some time to the default task due date? I would love due-less tasks, but AFAIU it's not possible (checked ~/.calendar/calendardb, even -1 gives year 2106) so I thought that default due date being today +5 years would suffice :)

Actually -1 is more like 1969, because calendar-backend API uses time_t, which in our case is 32-bit signed int. Year 2106 is the effect of Qt's function to convert time_t to QDateTime having unsigned int as the argument.

But back to the point... I agree that it can be annoying to be forced to change the date each time or end up with a ton of overdue tasks in no time, but just adding some predetermined value is not what I like either. However, I am not sure what is the best way. Some ideas:


1a) Give the user an option to explicitly define the amount of time to add.

An obvious extension of your proposal, but it would require stuffing that option somewhere in the menus and I'd prefer not to clutter them up unless there's no other way.


1b) Remember the last offset used when creating a new task.

I like it for being simple and transparent, but I am not sure how (in)convenient it would be in the reality. If all your tasks are supposed to be due-less, than it acts like 1a, but otherwise I am afraid it might cause a bit of confusion when trying to add a task and seeing a default date that seemingly comes out of nowhere.

Luckily, the mentioned problem could be mitigated by something else I am planning to add anyway: a "New task" button next to the "New event" button in the day view (at least, possibly other views too). The offset for task deadline would be loaded and saved only when invoking the editor without a date context, i.e. from the tasks view.


1c) Hidden option.

Same as 1a, but hidden as a value in the config file. It would be a simple hack in about one line of code and invisible to those who do not want to see it, so I could add it in the next update if a long-term solution is not ready by then.


2a) A special distant date

But I'd rather go for 2038, most likely 2^31-1 seconds since 1970 UTC, because the whole 2037 is still completely valid. I think this would be as close to due-less as calendar-backend permits. Such tasks would not have their date displayed in Qalendar.

@jackburton: I installed MaeCalTasks to see exactly how it works, but If the screenshot is from 1.0.0-5, then I am doing something wrong or there's a bug, because I don't see the buttons with "X", "Today" and "Tomorrow".

I also have a question: was 2037 just simpler to use? Or is it to allow also the stock calendar to set such date? I guess It would be nice if Qalendar was compatible with MaeCalTasks in this matter, but I see no definitive reason to choose 2037 over 2038.

Or is that X button just a shortcut to toggle the year and 2037 tasks do not get any kind of special treating (2b)?


2b) Just a distant date

There would be a shortcut to set the date to 2037 and that's it. I think it would feel like a quick hack, so I do not really like it.


2a is quite tempting, but I am conservatively leaning towards 1b, as it does not make up any special meaning for the data. Any thoughts?

jackburton 2013-09-16 14:51

Re: [Announce][Fremantle] Qalendar 0.6.1 -- a clone of the default calendar
 
Quote:

Originally Posted by gidzzz (Post 1374558)

2a) A special distant date

But I'd rather go for 2038, most likely 2^31-1 seconds since 1970 UTC, because the whole 2037 is still completely valid. I think this would be as close to due-less as calendar-backend permits. Such tasks would not have their date displayed in Qalendar.

@jackburton: I installed MaeCalTasks to see exactly how it works, but If the screenshot is from 1.0.0-5, then I am doing something wrong or there's a bug, because I don't see the buttons with "X", "Today" and "Tomorrow".

The latest versions were built during the Nokia to community transition while the autobuilder was down. You can get the latest from here:
http://talk.maemo.org/showpost.php?p...2&postcount=73

Quote:

I also have a question: was 2037 just simpler to use? Or is it to allow also the stock calendar to set such date? I guess It would be nice if Qalendar was compatible with MaeCalTasks in this matter, but I see no definitive reason to choose 2037 over 2038.
It was just simple. Also, the The furthest time that can be represented this way is 03:14:07 UTC on Tuesday, 19 January 2038 according to Wikipedia. So setting any date to 2038 could cause overflow when stored back to the DB. Also, I wanted a way to maintain the original due day and month in case one wants to revert. You could use the last real int for the time structure as a sentinel value, but I'm just using the year portion. Also, I have a filtering mechanism to create custom views for tasks. Since due-less tasks are so far out in the future, these will not be shown.

Quote:

Or is that X button just a shortcut to toggle the year and 2037 tasks do not get any kind of special treating (2b)?


2b) Just a distant date

There would be a shortcut to set the date to 2037 and that's it. I think it would feel like a quick hack, so I do not really like it.
Sometimes quick hacks "just work". I focused on other more "value-add" items that I wanted first such as my filtering system.

I also created a dynamic way to create system configuration options in the DB. This allows for adding new configs to new versions without huge data structure changes. Poke around there, too.

misiak 2013-09-16 15:10

Re: [Announce][Fremantle] Qalendar 0.6.1 -- a clone of the default calendar
 
Quote:

Originally Posted by jackburton (Post 1374565)
The latest versions were built during the Nokia to community transition while the autobuilder was down. You can get the latest from here:
http://talk.maemo.org/showpost.php?p...2&postcount=73

Why no upload them to autobuilder now when it's working again? :)

jackburton 2013-09-16 15:12

Re: [Announce][Fremantle] Qalendar 0.6.1 -- a clone of the default calendar
 
Quote:

Originally Posted by misiak (Post 1374568)
Why no upload them to autobuilder now when it's working again? :)

Yeah. I will do that soon. I've been on hiatus from Fremantle development for awhile.

int_ua 2013-09-16 16:54

Re: [Announce][Fremantle] Qalendar 0.6.1 -- a clone of the default calendar
 
Quote:

Originally Posted by gidzzz (Post 1374558)
The offset for task deadline would be loaded and saved only when invoking the editor without a date context, i.e. from the tasks view.

I don't really care which idea will be selected because any one looks good enough to me, but this one looks interesting :)

iceskateclog 2013-09-20 07:58

Re: [Announce][Fremantle] Qalendar 0.6.1 -- a clone of the default calendar
 
Quote:

Originally Posted by gidzzz (Post 1374558)
2a) A special distant date

But I'd rather go for 2038, most likely 2^31-1 seconds since 1970 UTC, because the whole 2037 is still completely valid. I think this would be as close to due-less as calendar-backend permits. Such tasks would not have their date displayed in Qalendar.

Maybe follow BIRTHDAY_CALENDAR and set UNTIL=20371231T235959 ? Value seems to be used already and no need to invent new stuff

gidzzz 2013-09-22 20:42

Re: [Announce][Fremantle] Qalendar 0.7 -- a clone of the default calendar
 
20371231T235959 is the last moment for which the stock calendar will not complain about "Date limit exceeded", so this is still a valid date, thus I think I should have the possibility to use it as a deadline for a task. The idea was to use a date which cannot be displayed, because the deadline should not exist. But anyway, I decided to stick with option 1b for now.


Today is the day on which I decided to release Qalendar 0.7, which with better D-Bus support and alarm tone settings can almost completely replace the default Calendar. There are now only three significant things missing: importing of calendars, a birthday calendar, and an option to set the first day of week (please correct me if I am wrong). All changes below.
  • Support for editing multiple recurrence rules.
  • Alarm tone can be changed in the settings (no previews yet).
  • Overhaul of the note editor to work better with long text.
  • Added a button to create tasks in the day view and the agenda view.
  • Task editor preserves the due date offset if opened from the tasks view.
  • Date change triggers a refresh and the date-based views can follow the current date.
  • Support for D-Bus database change notifications.
  • A task or an event to show can be received via D-Bus (makes the "View" button in reminders work properly).
  • Highlight current date in the agenda view.
  • Keyboard navigation in the agenda view starts on the day in focus.
  • Fixed an offset in week boundaries that could initially appear in the week picker.
  • Fixed a small memory leak in the recurrence editor.
  • Updated translations.

With this release you can go really wild with your recurrences, because the editor allows you to assign multiple rules to one event, making things such as http://talk.maemo.org/showpost.php?p...2&postcount=31 possible.

You can notice that there are more default alarm tones than in the default calendar. In case you wonder, Qalendar does not ship any in the package, those are just ui-calendar_alarm_{2,3}.aac from /usr/share/sounds/.

You can complain that the "new task" button is too hard to press at times, but I am quite confident that the size is just right for both aesthetic (aligns nicely with the icons) and self-preservation (translators would kill me if they saw how little space is available for the text on buttons of equal width in portrait mode) reasons. ;)

Ulle 2013-09-27 12:38

Re: [Announce][Fremantle] Qalendar 0.7 -- a clone of the default calendar
 
I just tried qalender the very first time and quite like it. But actually I was looking for some features I desperately miss in default calendar:

- A search or filter function for events. Given one mistakes date/year in a new event, its hard to find it again (having lots of events)

- An option to clone an event (and edit the clone afterwards). Very helpful for events that recur irregularly.

- Having URLs and phone numbers linked to phone or browser app.

- Notes listed in "newest on top" order. Having mor than five notes it is annoying that one has to scroll for the most recent note. Also, filter/search functionality would be nice.

Is there a chance that we will see those features in any future release?
Thanks for your work anyway!
Ulle

int_ua 2013-09-27 18:33

Re: [Announce][Fremantle] Qalendar 0.7 -- a clone of the default calendar
 
Quote:

Originally Posted by Ulle (Post 1377186)
- A search or filter function for events. Given one mistakes date/year in a new event, its hard to find it again (having lots of events)

Looks like the button will fit in the top left corner.

Quote:

Originally Posted by Ulle (Post 1377186)
- An option to clone an event (and edit the clone afterwards). Very helpful for events that recur irregularly.

Quote:

Originally Posted by gidzzz (Post 1376134)
  • Support for editing multiple recurrence rules.


gidzzz 2013-10-04 22:10

Re: [Announce][Fremantle] Qalendar 0.7 -- a clone of the default calendar
 
Quote:

Originally Posted by Ulle (Post 1377186)
- A search or filter function for events. Given one mistakes date/year in a new event, its hard to find it again (having lots of events)

Not sure about the exact form yet, but yes, sooner or later something of that kind should make its way into Qalendar .

Quote:

Originally Posted by int_ua (Post 1377244)
Looks like the button will fit in the top left corner.

Wouldn't that be only for the week view?

I had a different idea about where to stick the global search: Settings->(select a calendar)->Clean up. The "Clean up" (or whatever it would be called) button would open a window with a list of all entries from the selected calendar to allow searching, editing and deleting (multiple entries at once).

Quote:

Originally Posted by Ulle (Post 1377186)
- An option to clone an event (and edit the clone afterwards). Very helpful for events that recur irregularly.

If that's just for recurrences, the proper solution would be to extend the recurrence editor (it still does not expose all the features of the underlying calendar engine).

Quote:

Originally Posted by Ulle (Post 1377186)
- Having URLs and phone numbers linked to phone or browser app.

Sure sounds useful, but I don't think it's possible to reliably recognize a phone number. I am not very happy to see the SMS app highlighting every 3-digit-or-more number like it's a phone number, but a quick toggle button in the titlebar menu should solve it. So, yes, I think it's a good idea.

Quote:

Originally Posted by Ulle (Post 1377186)
- Notes listed in "newest on top" order. Having mor than five notes it is annoying that one has to scroll for the most recent note. Also, filter/search functionality would be nice.

Qalendar 0.7.1 shows recently edited notes first (the only other changes from 0.7 are updated translations and Vietnamese translation by ppanhh).

foobar 2013-10-04 22:17

Re: [Announce][Fremantle] Qalendar 0.7 -- a clone of the default calendar
 
Quote:

Originally Posted by gidzzz (Post 1378650)
If that's just for recurrences, the proper solution would be to extend the recurrence editor (it still does not expose all the features of the underlying calendar engine).

It would also be useful for creating events that have some common properties but are not related otherwise.


All times are GMT. The time now is 07:34.

vBulletin® Version 3.8.8