From 17dec629d8a13d1981d734ddc703efb5382ca309 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 21 Jun 2011 23:04:10 +0000 Subject: Tue Jun 21 23:04:10 UTC 2011 --- extra/orage/PKGBUILD | 13 ++-- extra/orage/fix-infinite-reminder.patch | 122 ++++++++++++++++++++++++++++++++ extra/orage/orage.install | 5 +- 3 files changed, 133 insertions(+), 7 deletions(-) create mode 100644 extra/orage/fix-infinite-reminder.patch (limited to 'extra/orage') diff --git a/extra/orage/PKGBUILD b/extra/orage/PKGBUILD index dde132ac6..3201d2df2 100644 --- a/extra/orage/PKGBUILD +++ b/extra/orage/PKGBUILD @@ -1,25 +1,28 @@ -# $Id: PKGBUILD 112907 2011-03-07 18:26:07Z andyrtr $ +# $Id: PKGBUILD 127986 2011-06-20 15:42:51Z andyrtr $ # Maintainer: Andreas Radke # Contributor: Tobias Kieslich pkgname=orage pkgver=4.8.1 -pkgrel=2 +pkgrel=3 pkgdesc="A simple calendar application with reminders for Xfce" arch=('i686' 'x86_64') license=('GPL2') url="http://www.xfce.org/projects/orage/" groups=('xfce4-goodies') -depends=('xfce4-panel' 'libical' 'popt' 'libnotify>=0.7.1' 'hicolor-icon-theme') +depends=('xfce4-panel' 'libical' 'popt' 'libnotify>=0.7.1' 'hicolor-icon-theme' 'desktop-file-utils') makedepends=('intltool' 'xfce4-dev-tools' 'popt') options=('!libtool') replaces=('xfcalendar') install=${pkgname}.install -source=(http://archive.xfce.org/src/apps/${pkgname}/4.8/${pkgname}-${pkgver}.tar.bz2) -md5sums=('9c1139ce03e9f309240e712cf31b6a49') +source=(http://archive.xfce.org/src/apps/${pkgname}/4.8/${pkgname}-${pkgver}.tar.bz2 + fix-infinite-reminder.patch) +md5sums=('9c1139ce03e9f309240e712cf31b6a49' + '162a6b2c97b8dff9ed180a2796aa35af') build() { cd ${srcdir}/${pkgname}-${pkgver} + patch -Np1 -i $srcdir/fix-infinite-reminder.patch ./configure --prefix=/usr \ --sysconfdir=/etc \ --libexecdir=/usr/lib \ diff --git a/extra/orage/fix-infinite-reminder.patch b/extra/orage/fix-infinite-reminder.patch new file mode 100644 index 000000000..1dedbe902 --- /dev/null +++ b/extra/orage/fix-infinite-reminder.patch @@ -0,0 +1,122 @@ +From 52a58e63cb039338d3365c83cb13e20acefba083 Mon Sep 17 00:00:00 2001 +From: Juha Kautto +Date: Wed, 01 Jun 2011 12:26:22 +0000 +Subject: fixed Bug 7552 - Orage reminder duplicates infinitely + +When using default timezone floating, reminders repeated and never ended. +Fixed this and prevented using floating as the default value. Using UTC +instead. +diff --git a/src/ical-code.c b/src/ical-code.c +index c080bf2..e726103 100644 +--- a/src/ical-code.c ++++ b/src/ical-code.c +@@ -233,7 +233,7 @@ gboolean xfical_set_local_timezone(gboolean testing) + } + + /* +- * Basically standard says that timezone should be added alwasy ++ * Basically standard says that timezone should be added always + * when it is used, but in real life these are not needed since + * all systems have their own timezone data, so let's save time + * and space and comment this out. +@@ -2587,7 +2587,7 @@ static alarm_struct *process_alarm_trigger(icalcomponent *c + rel = icalparameter_get_related(trg_related_par); + else + rel = ICAL_RELATED_START; +- per = ic_get_period(c, FALSE); ++ per = ic_get_period(c, TRUE); + next_alarm_time = count_alarm_time(per, cur_time, trg.duration, rel); + alarm_start_diff = icaltime_subtract(per.stime, next_alarm_time); + /* we only have ctime for TODOs and only if todo has been completed. +diff --git a/src/parameters.c b/src/parameters.c +index 38407da..462fce2 100644 +--- a/src/parameters.c ++++ b/src/parameters.c +@@ -440,7 +440,7 @@ static void timezone_button_clicked(GtkButton *button, gpointer user_data) + + if (!ORAGE_STR_EXISTS(g_par.local_timezone)) { + g_warning("timezone pressed: local timezone missing"); +- g_par.local_timezone = g_strdup("floating"); ++ g_par.local_timezone = g_strdup("UTC"); + } + if (orage_timezone_button_clicked(button, GTK_WINDOW(itf->orage_dialog) + , &g_par.local_timezone, TRUE, g_par.local_timezone)) +@@ -501,16 +501,12 @@ static void create_parameter_dialog_main_setup_tab(Itf *dialog) + , dialog->timezone_frame, FALSE, FALSE, 5); + + dialog->timezone_button = gtk_button_new(); +- if (g_par.local_timezone) { +- gtk_button_set_label(GTK_BUTTON(dialog->timezone_button) +- , _(g_par.local_timezone)); +- } +- else { /* we should never arrive here */ +- g_warning("parameters: timezone not set."); +- g_par.local_timezone = g_strdup("floating"); +- gtk_button_set_label(GTK_BUTTON(dialog->timezone_button) +- , _("floating")); ++ if (!ORAGE_STR_EXISTS(g_par.local_timezone)) { ++ g_warning("parameters: local timezone missing"); ++ g_par.local_timezone = g_strdup("UTC"); + } ++ gtk_button_set_label(GTK_BUTTON(dialog->timezone_button) ++ , _(g_par.local_timezone)); + gtk_box_pack_start(GTK_BOX(vbox) + , dialog->timezone_button, FALSE, FALSE, 5); + gtk_tooltips_set_tip(dialog->Tooltips, dialog->timezone_button +@@ -1117,7 +1113,7 @@ static void init_default_timezone(void) + if (ORAGE_STR_EXISTS(g_par.local_timezone)) + g_message(_("Default timezone set to %s."), g_par.local_timezone); + else { +- g_par.local_timezone = g_strdup("floating"); ++ g_par.local_timezone = g_strdup("UTC"); + g_message(_("Default timezone not found, please, set it manually.")); + } + } +diff --git a/src/timezone_selection.c b/src/timezone_selection.c +index 1bcb5be..518b83d 100644 +--- a/src/timezone_selection.c ++++ b/src/timezone_selection.c +@@ -307,16 +307,31 @@ gboolean orage_timezone_button_clicked(GtkButton *button, GtkWindow *parent + tree = tz_button_create_view(details, store); + + /* show it */ +- if (check_ical) +- window = gtk_dialog_new_with_buttons(_("Pick timezone") +- , parent +- , GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT +- , _("Change mode"), 1 +- , _("UTC"), 2 +- , _("floating"), 3 +- , _(local_tz), 4 +- , GTK_STOCK_OK, GTK_RESPONSE_ACCEPT +- , NULL); ++ if (check_ical) { ++ if (local_tz == *tz) ++ /* We are actually setting the g_par parameter. In other words ++ we are setting the global default timezone for Orage. This is ++ done very seldom and we do not want to allow "floating" here. ++ This test is ugly, but it is not worth an extra parameter. */ ++ window = gtk_dialog_new_with_buttons(_("Pick timezone") ++ , parent ++ , GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT ++ , _("Change mode"), 1 ++ , _("UTC"), 2 ++ , _(local_tz), 4 ++ , GTK_STOCK_OK, GTK_RESPONSE_ACCEPT ++ , NULL); ++ else /* this is normal appointment */ ++ window = gtk_dialog_new_with_buttons(_("Pick timezone") ++ , parent ++ , GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT ++ , _("Change mode"), 1 ++ , _("UTC"), 2 ++ , _("floating"), 3 ++ , _(local_tz), 4 ++ , GTK_STOCK_OK, GTK_RESPONSE_ACCEPT ++ , NULL); ++ } + else + window = gtk_dialog_new_with_buttons(_("Pick timezone") + , parent +-- +cgit diff --git a/extra/orage/orage.install b/extra/orage/orage.install index 21b79d2d4..236856c64 100644 --- a/extra/orage/orage.install +++ b/extra/orage/orage.install @@ -1,11 +1,12 @@ post_install() { gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + update-desktop-database -q } post_upgrade() { - post_install $1 + post_install } post_remove() { - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + post:install } -- cgit v1.2.3-54-g00ecf