aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui')
-rw-r--r--calendar/gui/event-editor.c61
1 files changed, 36 insertions, 25 deletions
diff --git a/calendar/gui/event-editor.c b/calendar/gui/event-editor.c
index df6e978c08..f68bac0480 100644
--- a/calendar/gui/event-editor.c
+++ b/calendar/gui/event-editor.c
@@ -726,51 +726,55 @@ get_widgets (EventEditor *ee)
&& priv->recurrence_exception_delete);
}
-/* Syncs the contents of two entry widgets, while blocking signals on the
- * specified data.
+/* Syncs the contents of two entry widgets, while blocking signals from each
+ * other.
*/
static void
-sync_entries (GtkWidget *source, GtkWidget *dest, gpointer data)
+sync_entries (GtkEditable *source, GtkEditable *dest)
{
char *str;
- gtk_signal_handler_block_by_data (GTK_OBJECT (dest), data);
+ gtk_signal_handler_block_by_data (GTK_OBJECT (dest), source);
- str = gtk_editable_get_chars (GTK_EDITABLE (source), 0, -1);
+ str = gtk_editable_get_chars (source, 0, -1);
gtk_entry_set_text (GTK_ENTRY (dest), str);
g_free (str);
- gtk_signal_handler_unblock_by_data (GTK_OBJECT (dest), data);
+ gtk_signal_handler_unblock_by_data (GTK_OBJECT (dest), source);
}
-/* Callback used when the general summary changes; we sync the recurrence
- * summary to it.
+/* Syncs the contents of two date editor widgets, while blocking signals from
+ * each other.
*/
static void
-general_summary_changed_cb (GtkEditable *editable, gpointer data)
+sync_date_edits (EDateEdit *source, EDateEdit *dest)
{
- EventEditor *ee;
- EventEditorPrivate *priv;
+ time_t t;
- ee = EVENT_EDITOR (data);
- priv = ee->priv;
+ gtk_signal_handler_block_by_data (GTK_OBJECT (dest), source);
- sync_entries (priv->general_summary, priv->recurrence_summary, ee);
+ t = e_date_edit_get_time (source);
+ e_date_edit_set_time (dest, t);
+
+ gtk_signal_handler_unblock_by_data (GTK_OBJECT (dest), source);
}
-/* Callback used when the recurrence summary changes; we sync the general
- * summary to it.
+/* Callback used when one of the general or recurrence summary entries change;
+ * we sync the other entry to it.
*/
static void
-recurrence_summary_changed_cb (GtkEditable *editable, gpointer data)
+summary_changed_cb (GtkEditable *editable, gpointer data)
{
- EventEditor *ee;
- EventEditorPrivate *priv;
-
- ee = EVENT_EDITOR (data);
- priv = ee->priv;
+ sync_entries (editable, GTK_EDITABLE (data));
+}
- sync_entries (priv->recurrence_summary, priv->general_summary, ee);
+/* Callback used when one of the general or recurrence starting date widgets
+ * change; we sync the other date editor to it.
+ */
+static void
+start_date_changed_cb (EDateEdit *de, gpointer data)
+{
+ sync_date_edits (de, E_DATE_EDIT (data));
}
/* Hooks the widget signals */
@@ -785,9 +789,16 @@ init_widgets (EventEditor *ee)
/* Summary in the main and recurrence pages */
gtk_signal_connect (GTK_OBJECT (priv->general_summary), "changed",
- GTK_SIGNAL_FUNC (general_summary_changed_cb), ee);
+ GTK_SIGNAL_FUNC (summary_changed_cb), priv->recurrence_summary);
gtk_signal_connect (GTK_OBJECT (priv->recurrence_summary), "changed",
- GTK_SIGNAL_FUNC (recurrence_summary_changed_cb), ee);
+ GTK_SIGNAL_FUNC (summary_changed_cb), priv->general_summary);
+
+ /* Start dates in the main and recurrence pages */
+
+ gtk_signal_connect (GTK_OBJECT (priv->start_time), "date_changed",
+ GTK_SIGNAL_FUNC (start_date_changed_cb), priv->recurrence_starting_date);
+ gtk_signal_connect (GTK_OBJECT (priv->recurrence_starting_date), "date_changed",
+ GTK_SIGNAL_FUNC (start_date_changed_cb), priv->start_time);
/* Start and end times */
-----amphetadesk178logstatsplain d---------analog178logstatsplain d---------anyremote2html146logstatsplain d---------anyterm141logstatsplain d---------apache-forrest178logstatsplain d---------apache-mode.el148logstatsplain d---------apache22-event-mpm73logstatsplain d---------apache22-itk-mpm105logstatsplain d---------apache22-peruser-mpm105logstatsplain d---------apache22-worker-mpm73logstatsplain d---------apache22345logstatsplain d---------apache24390logstatsplain d---------apercu109logstatsplain d---------aria2178logstatsplain d---------aria2fe109logstatsplain d---------arora146logstatsplain d---------asql141logstatsplain d---------asterisk-stat178logstatsplain d---------atutor141logstatsplain d---------august109logstatsplain d---------awffull146logstatsplain d---------aws-demos142logstatsplain d---------aws178logstatsplain d---------awstats178logstatsplain d---------axis146logstatsplain d---------axis2146logstatsplain d---------b2evolution180logstatsplain d---------bacula-web178logstatsplain d---------baikal178logstatsplain d---------bareos-webui178logstatsplain d---------bblog178logstatsplain d---------bigbluebutton178logstatsplain d---------bins178logstatsplain d---------bkmrkconv178logstatsplain d---------blastbeat109logstatsplain d---------blogsum178logstatsplain d---------bluefish185logstatsplain d---------boa141logstatsplain d---------bolt185logstatsplain d---------bookmarkbridge178logstatsplain d---------bozohttpd141logstatsplain d---------c-icap-modules178logstatsplain d---------c-icap178logstatsplain d---------cadaver180logstatsplain d---------calamaris-devel146logstatsplain d---------calamaris178logstatsplain d---------caldavzap146logstatsplain d---------calendarserver178logstatsplain d---------castget109logstatsplain d---------caudium14217logstatsplain d---------cblog178logstatsplain d---------cgi-lib.pl109logstatsplain d---------cgi-lib178logstatsplain d---------cgicc146logstatsplain d---------cgichk178logstatsplain d---------cgihtml178logstatsplain d---------cgiparse178logstatsplain d---------cgiwrap178logstatsplain d---------checkbot109logstatsplain d---------chems178logstatsplain d---------cherokee178logstatsplain d---------choqok178logstatsplain d---------chpasswd217logstatsplain d---------chromium259logstatsplain d---------ckeditor146logstatsplain d---------cl-lml-sbcl73logstatsplain d---------cl-lml146logstatsplain d---------claroline141logstatsplain d---------clearsilver-python36logstatsplain d---------clearsilver178logstatsplain d---------closure-compiler141logstatsplain d---------closure-linter109logstatsplain d---------cmsmadesimple178logstatsplain d---------cntlm178logstatsplain d---------cocoon271logstatsplain d---------codeigniter178logstatsplain d---------coppermine178logstatsplain d---------cplanet146logstatsplain d---------cppcms146logstatsplain d---------crawl178logstatsplain d---------crp185logstatsplain d---------css-mode.el146logstatsplain d---------cssed146logstatsplain d---------csso146logstatsplain d---------csstidy109logstatsplain d---------ctemplate109logstatsplain d---------cutycapt109logstatsplain d---------dalbum178logstatsplain d---------davical178logstatsplain d---------dddbl146logstatsplain d---------decss109logstatsplain d---------deforaos-surfer178logstatsplain d---------demoroniser109logstatsplain d---------dfileserver109logstatsplain d---------dhttpd141logstatsplain d---------dillo2146logstatsplain d---------dojo-shrinksafe180logstatsplain d---------dojo178logstatsplain d---------dokuwiki178logstatsplain d---------domoticz178logstatsplain d---------dotproject178logstatsplain d---------drood109logstatsplain d---------drraw178logstatsplain d---------drupal7-wysiwyg109logstatsplain d---------drupal7178logstatsplain d---------drush109logstatsplain d---------dtse178logstatsplain d---------dummyflash178logstatsplain d---------e107141logstatsplain d---------e2guardian217logstatsplain d---------edbrowse178logstatsplain d---------efront178logstatsplain d---------elgg178logstatsplain d---------elinks178logstatsplain d---------elixir-html_entities146logstatsplain d---------elixir-httpoison178logstatsplain d---------elixir-httpotion146logstatsplain d---------elixir-joken178logstatsplain d---------elixir-maru178logstatsplain d---------elixir-phoenix178logstatsplain d---------elixir-phoenix_ecto146logstatsplain d---------elixir-phoenix_html146logstatsplain d---------elixir-phoenix_pubsub146logstatsplain d---------elixir-webassembly178logstatsplain d---------emacs-w3m217logstatsplain d---------encode-explorer146logstatsplain d---------entrans148logstatsplain d---------ephemera146logstatsplain d---------epiphany146logstatsplain d---------erlang-cowboy178logstatsplain d---------erlang-cowlib146logstatsplain d---------erlang-hackney178logstatsplain d---------erlang-ibrowse178logstatsplain d---------erlang-mochiweb-basho146logstatsplain d---------erlang-mochiweb146logstatsplain d---------erlang-webmachine178logstatsplain d---------erwn178logstatsplain d---------eventum178logstatsplain d---------extjs178logstatsplain d---------fabio178logstatsplain d---------fancybox146logstatsplain d---------faup146logstatsplain d---------fcgi178logstatsplain d---------fcgiwrap141logstatsplain d---------feedjack109logstatsplain d---------feedonfeeds146logstatsplain d---------ffproxy178logstatsplain d---------fira-webfont178logstatsplain d---------firefox-esr-i18n193logstatsplain d---------firefox-esr180logstatsplain d---------firefox-i18n193logstatsplain d---------firefox224logstatsplain d---------flat-frog146logstatsplain d---------flickcurl146logstatsplain d---------flood178logstatsplain d---------flot146logstatsplain d---------fluxbb178logstatsplain d---------fnord141logstatsplain d---------formication141logstatsplain d---------foswiki220logstatsplain d---------fpc-fastcgi73logstatsplain d---------fpc-httpd2273logstatsplain d---------fpc-httpd2473logstatsplain d---------free-sa-devel178logstatsplain d---------freeway178logstatsplain d---------fswiki178logstatsplain d---------ftasv141logstatsplain d---------g-cows109logstatsplain d---------g-gcl185logstatsplain d---------gaeo109logstatsplain d---------gaeutilities146logstatsplain d---------gallery2178logstatsplain d---------gallery3178logstatsplain d---------gatling141logstatsplain d---------gecko-mediaplayer178logstatsplain d---------gecko-sharp20178logstatsplain d---------geeklog178logstatsplain d---------geeknote109logstatsplain d---------geneweb178logstatsplain d---------geolizer36logstatsplain d---------geronimo141logstatsplain d---------get_flash_videos109logstatsplain d---------getleft146logstatsplain d---------gist141logstatsplain d---------gitlab-workhorse109logstatsplain d---------gitlab217logstatsplain d---------glassfish217logstatsplain d---------glpi178logstatsplain d---------gnome-user-share185logstatsplain d---------gnome-web-photo146logstatsplain d---------gohugo146logstatsplain d---------google-appengine109logstatsplain d---------google-sitemapgen178logstatsplain d---------googlebook_dl105logstatsplain d---------googler109logstatsplain d---------goose178logstatsplain d---------gotty109logstatsplain d---------gpx2map109logstatsplain d---------grafana146logstatsplain d---------grafana2178logstatsplain d---------grafana3178logstatsplain d---------grails141logstatsplain d---------graylog-web-interface178logstatsplain d---------gregarius146logstatsplain d---------groupoffice178logstatsplain d---------grr146logstatsplain d---------gstreamer-plugins-neon36logstatsplain d---------gstreamer1-plugins-neon36logstatsplain d---------gtkhtml3178logstatsplain d---------gtkhtml4146logstatsplain d---------guacamole-client178logstatsplain d---------guile-www146logstatsplain d---------gurlchecker146logstatsplain d---------h2o178logstatsplain d---------habari178logstatsplain d---------hastymail178logstatsplain d---------hastymail2-devel178logstatsplain d---------hastymail2178logstatsplain d---------havp178logstatsplain d---------helma178logstatsplain d---------hiawatha178logstatsplain d---------hinventory-client146logstatsplain d---------horde-ansel109logstatsplain d---------horde-base109logstatsplain d---------horde-passwd109logstatsplain d---------horde-trean109logstatsplain d---------horde-wicked109logstatsplain d---------hotcrp178logstatsplain d---------hs-DAV109logstatsplain d---------hs-HTTP109logstatsplain d---------hs-activehs141logstatsplain d---------hs-authenticate109logstatsplain d---------hs-cgi109logstatsplain d---------hs-cookie109logstatsplain d---------hs-css-text109logstatsplain d---------hs-fastcgi109logstatsplain d---------hs-gitit109logstatsplain d---------hs-hS3109logstatsplain d---------hs-happstack-server109logstatsplain d---------hs-happstack141logstatsplain d---------hs-heist109logstatsplain d---------hs-hjsmin109logstatsplain d---------hs-http-client-tls109logstatsplain d---------hs-http-client109logstatsplain d---------hs-http-conduit109logstatsplain d---------hs-http-date109logstatsplain d---------hs-http-reverse-proxy109logstatsplain d---------hs-http-server141logstatsplain d---------hs-http-types109logstatsplain d---------hs-http2141logstatsplain d---------hs-multipart109logstatsplain d---------hs-oeis109logstatsplain d---------hs-path-pieces109logstatsplain d---------hs-recaptcha109logstatsplain d---------hs-shakespeare109logstatsplain d---------hs-snap-core109logstatsplain d---------hs-snap-server109logstatsplain d---------hs-snap141logstatsplain d---------hs-url109logstatsplain d---------hs-wai-app-static109logstatsplain d---------hs-wai-extra109logstatsplain d---------hs-wai-logger109logstatsplain d---------hs-wai109logstatsplain d---------hs-warp-tls109logstatsplain d---------hs-warp141logstatsplain d---------hs-webkit109logstatsplain d---------hs-xss-sanitize109logstatsplain d---------hs-yesod-auth-hashdb109logstatsplain d---------hs-yesod-auth109logstatsplain d---------hs-yesod-bin109logstatsplain d---------hs-yesod-core109logstatsplain d---------hs-yesod-form109logstatsplain d---------hs-yesod-persistent109logstatsplain d---------hs-yesod-static109logstatsplain d---------hs-yesod-test109logstatsplain d---------hs-yesod109logstatsplain d---------htdigest109logstatsplain d---------htdump141logstatsplain d---------html2hdml109logstatsplain d---------html2wml141logstatsplain d---------htmlcompressor141logstatsplain d---------htmlcxx178logstatsplain d---------htmlpp146logstatsplain d---------httest178logstatsplain d---------http-analyze146logstatsplain d---------http_get141logstatsplain d---------http_load141logstatsplain d---------http_post141logstatsplain d---------httpasyncclient109logstatsplain d---------httpclient109logstatsplain d---------httpcore109logstatsplain d---------httpie109logstatsplain d---------httpsqs141logstatsplain d---------httptunnel221logstatsplain d---------httrack146logstatsplain d---------hypermail178logstatsplain d---------igal2178logstatsplain d---------ikiwiki185logstatsplain d---------ilias141logstatsplain d---------imgsizer109logstatsplain d---------impresscms178logstatsplain d---------interchange178logstatsplain d---------itop141logstatsplain d---------iwebcal146logstatsplain d---------jdresolve178logstatsplain d---------jericho-html109logstatsplain d---------jesred178logstatsplain d---------jetty8178logstatsplain d---------jetty9178logstatsplain d---------jinzora178logstatsplain d---------jmeter178logstatsplain d---------joomla3178logstatsplain d---------jspacker178logstatsplain d---------jspwiki185logstatsplain d---------jtoolkit178logstatsplain d---------junkbuster178logstatsplain d---------kanboard146logstatsplain d---------kannel-sqlbox178logstatsplain d---------kannel178logstatsplain d---------kcgi146logstatsplain d---------kdewebdev4178logstatsplain d---------kf5-kdewebkit146logstatsplain d---------kf5-khtml146logstatsplain d---------kf5-kjs146logstatsplain d---------kf5-kjsembed146logstatsplain d---------kohana178logstatsplain d---------kpartsplugin146logstatsplain d---------kplaylist141logstatsplain d---------kwebkitpart217logstatsplain d---------larbin141logstatsplain d---------lessc146logstatsplain d---------libapreq2178logstatsplain d---------libdom178logstatsplain d---------libecap178logstatsplain d---------libepc178logstatsplain d---------libevhtp178logstatsplain d---------libgtkhtml146logstatsplain d---------libhpack178logstatsplain d---------libhtp-suricata178logstatsplain d---------libhubbub178logstatsplain d---------libjwt146logstatsplain d---------libmicrohttpd109logstatsplain d---------libsocialweb178logstatsplain d---------libwww178logstatsplain d---------libxul141logstatsplain d---------lightsquid178logstatsplain d---------lighttpd-mod_h264_streaming110logstatsplain d---------lighttpd178logstatsplain d---------lilurl141logstatsplain d---------limesurvey141logstatsplain d---------linkcheck141logstatsplain d---------linkchecker178logstatsplain d---------linklint109logstatsplain d---------links-hacked141logstatsplain d---------links141logstatsplain d---------links1178logstatsplain d---------linux-c6-flashplugin11185logstatsplain d---------linux-c6-flashplugin24185logstatsplain d---------linux-c6-qt47-webkit206logstatsplain d---------linux-c7-flashplugin1136logstatsplain d---------linux-c7-flashplugin2436logstatsplain d---------linux-c7-qtwebkit123logstatsplain d---------linux-f10-flashplugin1136logstatsplain d---------linux-firefox178logstatsplain d---------linux-opera178logstatsplain d---------linux-seamonkey221logstatsplain d---------lionwiki178logstatsplain d---------litmus178logstatsplain d---------ljdeps73logstatsplain d---------ljdump141logstatsplain d---------llgal146logstatsplain d---------logtools178logstatsplain d---------luakit146logstatsplain d---------lynx-current178logstatsplain d---------lynx178logstatsplain d---------madsonic-standalone224logstatsplain d---------madsonic367logstatsplain d---------magento178logstatsplain d---------mahara141logstatsplain d---------man2web178logstatsplain d---------mathjax109logstatsplain d---------mathopd217logstatsplain d---------mediawiki123141logstatsplain d---------mediawiki126141logstatsplain d---------mediawiki127141logstatsplain d---------mergelog178logstatsplain d---------mgstat141logstatsplain d---------mhonarc178logstatsplain d---------micro_httpd109logstatsplain d---------middleman178logstatsplain