Merge branch 'master' of gitlab.gnome.org:GNOME/gnome-calendar
This commit is contained in:
@@ -0,0 +1,41 @@
|
|||||||
|
# Current problems
|
||||||
|
<!--
|
||||||
|
What are the problems that the current project has?
|
||||||
|
|
||||||
|
For example:
|
||||||
|
* User cannot use the keyboard to perform most common actions
|
||||||
|
or
|
||||||
|
* User cannot see documents from cloud services
|
||||||
|
-->
|
||||||
|
|
||||||
|
# Goals & use cases
|
||||||
|
<!--
|
||||||
|
What are the use cases that this proposal will cover? What are the end goals?
|
||||||
|
|
||||||
|
For example:
|
||||||
|
* User needs to share a file with their friends.
|
||||||
|
or
|
||||||
|
* It should be easy to edit a picture within the app.
|
||||||
|
-->
|
||||||
|
|
||||||
|
# Requirements
|
||||||
|
<!--
|
||||||
|
What does the solution needs to ensure for being succesful?
|
||||||
|
|
||||||
|
For example:
|
||||||
|
* Work on small form factors and touch
|
||||||
|
or
|
||||||
|
* Use the Meson build system and integrate with it
|
||||||
|
-->
|
||||||
|
|
||||||
|
# Relevant art
|
||||||
|
<!--
|
||||||
|
Is there any product that has implemented something similar? Put links to other
|
||||||
|
projects, pictures, links to other code, etc.
|
||||||
|
-->
|
||||||
|
|
||||||
|
# Proposal & plan
|
||||||
|
<!-- What's the solution and how should be achieved? It can be split in smaller
|
||||||
|
tasks of minimum change, so they can be delivered across several releases. -->
|
||||||
|
|
||||||
|
/label ~"1. Epic"
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
<description>
|
<description>
|
||||||
<p>
|
<p>
|
||||||
GNOME Calendar is a simple and beautiful calendar application designed to perfectly fit the GNOME
|
GNOME Calendar is a simple and beautiful calendar application designed to perfectly fit the GNOME
|
||||||
desktop. By reusing the components which the GNOME desktop is build on, Calendar nicely integrates
|
desktop. By reusing the components which the GNOME desktop is built on, Calendar nicely integrates
|
||||||
with the GNOME ecosystem.
|
with the GNOME ecosystem.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
@@ -424,7 +424,7 @@ monthcell {
|
|||||||
border: solid 1px alpha(@borders, 0.3);
|
border: solid 1px alpha(@borders, 0.3);
|
||||||
border-width: 1px 0 0 1px;
|
border-width: 1px 0 0 1px;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
padding: 1px 0 1px 0;
|
padding: 1px 3px 0 3px;
|
||||||
transition: background-color 200ms;
|
transition: background-color 200ms;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,10 @@
|
|||||||
<object class="GtkBox" id="color_box">
|
<object class="GtkBox" id="color_box">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
|
<property name="halign">center</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="width-request">16</property>
|
||||||
|
<property name="height-request">16</property>
|
||||||
<style>
|
<style>
|
||||||
<class name="icon-box" />
|
<class name="icon-box" />
|
||||||
</style>
|
</style>
|
||||||
@@ -48,6 +52,7 @@
|
|||||||
<object class="GtkLabel" id="hour_label">
|
<object class="GtkLabel" id="hour_label">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
|
<property name="no-show-all">True</property>
|
||||||
<style>
|
<style>
|
||||||
<class name="dim-label" />
|
<class name="dim-label" />
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -89,7 +89,7 @@
|
|||||||
<property name="visible">true</property>
|
<property name="visible">true</property>
|
||||||
<property name="relief">none</property>
|
<property name="relief">none</property>
|
||||||
<property name="label" translatable="yes">New Event…</property>
|
<property name="label" translatable="yes">New Event…</property>
|
||||||
<signal name="clicked" handler="new_event_button_clicked_cb" object="GcalMonthPopover" />
|
<signal name="clicked" handler="new_event_button_clicked_cb" object="GcalMonthPopover" swapped="no" />
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -37,7 +37,7 @@ calendar_schemadir = join_paths(calendar_datadir, 'glib-2.0', 'schemas')
|
|||||||
calendar_buildtype = get_option('buildtype')
|
calendar_buildtype = get_option('buildtype')
|
||||||
calendar_debug = calendar_minor_version.is_odd() or buildtype.contains('debug')
|
calendar_debug = calendar_minor_version.is_odd() or buildtype.contains('debug')
|
||||||
enable_tracing = get_option('tracing')
|
enable_tracing = get_option('tracing')
|
||||||
enable_gtk_doc = get_option('gtk_doc')
|
enable_gtk_doc = get_option('documentation')
|
||||||
|
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,2 +1,2 @@
|
|||||||
option('tracing', type: 'boolean', value: false, description: 'add extra debugging information')
|
option('tracing', type: 'boolean', value: false, description: 'add extra debugging information')
|
||||||
option('gtk_doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation')
|
option('documentation', type: 'boolean', value: false, description: 'use gtk-doc to build documentation')
|
||||||
|
|||||||
@@ -162,7 +162,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"config-opts" : [
|
"config-opts" : [
|
||||||
"-Dtracing=true"
|
"-Dtracing=true",
|
||||||
|
"-Ddocumentation=true"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -7,10 +7,9 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-calendar gnome-3-24\n"
|
"Project-Id-Version: gnome-calendar gnome-3-24\n"
|
||||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-calendar/issues\n"
|
||||||
"calendar&keywords=I18N+L10N&component=General\n"
|
"POT-Creation-Date: 2018-03-20 20:44+0000\n"
|
||||||
"POT-Creation-Date: 2017-08-23 09:38+0000\n"
|
"PO-Revision-Date: 2018-04-05 15:39+0300\n"
|
||||||
"PO-Revision-Date: 2017-09-01 16:37+0300\n"
|
|
||||||
"Last-Translator: Yuras Shumovich <shumovichy@gmail.com>\n"
|
"Last-Translator: Yuras Shumovich <shumovichy@gmail.com>\n"
|
||||||
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
|
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
|
||||||
"Language: be\n"
|
"Language: be\n"
|
||||||
@@ -19,11 +18,11 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||||
"X-Generator: Poedit 1.8.11\n"
|
"X-Generator: Poedit 2.0.6\n"
|
||||||
|
|
||||||
#: data/appdata/org.gnome.Calendar.appdata.xml.in:7
|
#: data/appdata/org.gnome.Calendar.appdata.xml.in:7
|
||||||
#: data/org.gnome.Calendar.desktop.in:3 data/ui/quick-add-popover.ui:187
|
#: data/org.gnome.Calendar.desktop.in:3 data/ui/quick-add-popover.ui:187
|
||||||
#: data/ui/window.ui:184 src/gcal-application.c:479
|
#: data/ui/window.ui:187 src/gcal-application.c:640 src/main.c:36
|
||||||
msgid "Calendar"
|
msgid "Calendar"
|
||||||
msgstr "Каляндар"
|
msgstr "Каляндар"
|
||||||
|
|
||||||
@@ -79,38 +78,50 @@ msgstr "org.gnome.Calendar"
|
|||||||
msgid "Calendar;Event;Reminder;"
|
msgid "Calendar;Event;Reminder;"
|
||||||
msgstr "Каляндар;Падзея;Напамін;"
|
msgstr "Каляндар;Падзея;Напамін;"
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:6
|
#: data/org.gnome.calendar.gschema.xml.in:6
|
||||||
msgid "Window maximized"
|
msgid "Window maximized"
|
||||||
msgstr "Акно разгорнута"
|
msgstr "Акно разгорнута"
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:7
|
#: data/org.gnome.calendar.gschema.xml.in:7
|
||||||
msgid "Window maximized state"
|
msgid "Window maximized state"
|
||||||
msgstr "Стан разгорнутага вакна"
|
msgstr "Стан разгорнутага вакна"
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:11
|
#: data/org.gnome.calendar.gschema.xml.in:11
|
||||||
msgid "Window size"
|
msgid "Window size"
|
||||||
msgstr "Памер акна"
|
msgstr "Памер акна"
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:12
|
#: data/org.gnome.calendar.gschema.xml.in:12
|
||||||
msgid "Window size (width and height)."
|
msgid "Window size (width and height)."
|
||||||
msgstr "Памер акна (шырыня і вышыня)."
|
msgstr "Памер акна (шырыня і вышыня)."
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:16
|
#: data/org.gnome.calendar.gschema.xml.in:16
|
||||||
msgid "Window position"
|
msgid "Window position"
|
||||||
msgstr "Знаходжанне вакна"
|
msgstr "Знаходжанне вакна"
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:17
|
#: data/org.gnome.calendar.gschema.xml.in:17
|
||||||
msgid "Window position (x and y)."
|
msgid "Window position (x and y)."
|
||||||
msgstr "Знаходжанне вакна (x і y)."
|
msgstr "Знаходжанне вакна (x і y)."
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:21
|
#: data/org.gnome.calendar.gschema.xml.in:21
|
||||||
msgid "Type of the active view"
|
msgid "Type of the active view"
|
||||||
msgstr "Тып актыўнага выгляда"
|
msgstr "Тып актыўнага выгляда"
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:22
|
#: data/org.gnome.calendar.gschema.xml.in:22
|
||||||
msgid "Type of the active window view, default value is: monthly view"
|
msgid "Type of the active window view, default value is: monthly view"
|
||||||
msgstr "Тып актыўнага выгляда вакна, значэнне па змаўчанні: штомесячны выгляд"
|
msgstr "Тып актыўнага выгляда вакна, значэнне па змаўчанні: штомесячны выгляд"
|
||||||
|
|
||||||
|
#: data/org.gnome.calendar.gschema.xml.in:26
|
||||||
|
msgid "Weather Service Configuration"
|
||||||
|
msgstr "Канфігурацыя службы надвор'я"
|
||||||
|
|
||||||
|
#: data/org.gnome.calendar.gschema.xml.in:27
|
||||||
|
msgid ""
|
||||||
|
"Whether weather reports are shown, automatic locations are used and a "
|
||||||
|
"location-name"
|
||||||
|
msgstr ""
|
||||||
|
"Ці паказваць надвор'е, ці вызначаць месцазнаходжанне аўтаматычна і "
|
||||||
|
"месцазнаходжанне"
|
||||||
|
|
||||||
#: data/ui/alarm-row.ui:34
|
#: data/ui/alarm-row.ui:34
|
||||||
msgid "Toggles the sound of the alarm"
|
msgid "Toggles the sound of the alarm"
|
||||||
msgstr "Уключае гук будзільніка"
|
msgstr "Уключае гук будзільніка"
|
||||||
@@ -119,124 +130,124 @@ msgstr "Уключае гук будзільніка"
|
|||||||
msgid "Remove the alarm"
|
msgid "Remove the alarm"
|
||||||
msgstr "Выдаліць будзільнік"
|
msgstr "Выдаліць будзільнік"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:18 data/ui/source-dialog.ui:762
|
#: data/ui/edit-dialog.ui:16 data/ui/source-dialog.ui:762
|
||||||
#: data/ui/source-dialog.ui:869 src/gcal-source-dialog.c:1102
|
#: data/ui/source-dialog.ui:869 src/gcal-source-dialog.c:1162
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Адмена"
|
msgstr "Адмена"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:38
|
#: data/ui/edit-dialog.ui:36
|
||||||
msgid "Click to select the calendar"
|
msgid "Click to select the calendar"
|
||||||
msgstr "Націсніце каб выбраць каляндар"
|
msgstr "Націсніце каб выбраць каляндар"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:110 src/gcal-edit-dialog.c:688
|
#: data/ui/edit-dialog.ui:108 src/gcal-edit-dialog.c:277
|
||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr "Выканана"
|
msgstr "Выканана"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:140
|
#: data/ui/edit-dialog.ui:146
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Загаловак"
|
msgstr "Загаловак"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:158
|
#: data/ui/edit-dialog.ui:164
|
||||||
msgid "Date"
|
msgid "Date"
|
||||||
msgstr "Дата"
|
msgstr "Дата"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:174
|
#: data/ui/edit-dialog.ui:180
|
||||||
msgid "Repeat"
|
msgid "Repeat"
|
||||||
msgstr "Паўтараць"
|
msgstr "Паўтараць"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:192
|
#: data/ui/edit-dialog.ui:198
|
||||||
msgid "Reminders"
|
msgid "Reminders"
|
||||||
msgstr "Напаміны"
|
msgstr "Напаміны"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:210
|
#: data/ui/edit-dialog.ui:216
|
||||||
msgid "Notes"
|
msgid "Notes"
|
||||||
msgstr "Запісы"
|
msgstr "Запісы"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:226 data/ui/source-dialog.ui:563
|
#: data/ui/edit-dialog.ui:232 data/ui/source-dialog.ui:563
|
||||||
msgid "Location"
|
msgid "Location"
|
||||||
msgstr "Знаходжанне"
|
msgstr "Знаходжанне"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:293
|
#: data/ui/edit-dialog.ui:301
|
||||||
msgid "Time"
|
msgid "Time"
|
||||||
msgstr "Час"
|
msgstr "Час"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:348
|
#: data/ui/edit-dialog.ui:354
|
||||||
msgid "All Day"
|
msgid "All Day"
|
||||||
msgstr "Увесь дзень"
|
msgstr "Увесь дзень"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:393
|
#: data/ui/edit-dialog.ui:399
|
||||||
msgid "Add reminder…"
|
msgid "Add reminder…"
|
||||||
msgstr "Дадаць напамін..."
|
msgstr "Дадаць напамін..."
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:424
|
#: data/ui/edit-dialog.ui:430
|
||||||
msgid "No Repeat"
|
msgid "No Repeat"
|
||||||
msgstr "Не паўтараць"
|
msgstr "Не паўтараць"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:425
|
#: data/ui/edit-dialog.ui:431
|
||||||
msgid "Daily"
|
msgid "Daily"
|
||||||
msgstr "Штодзённа"
|
msgstr "Штодзённа"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:426
|
#: data/ui/edit-dialog.ui:432
|
||||||
msgid "Monday – Friday"
|
msgid "Monday – Friday"
|
||||||
msgstr "Панядзелак - Пятніца"
|
msgstr "Панядзелак - Пятніца"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:427
|
#: data/ui/edit-dialog.ui:433
|
||||||
msgid "Weekly"
|
msgid "Weekly"
|
||||||
msgstr "Штотыдзень"
|
msgstr "Штотыдзень"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:428
|
#: data/ui/edit-dialog.ui:434
|
||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "Штомесяц"
|
msgstr "Штомесяц"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:429
|
#: data/ui/edit-dialog.ui:435
|
||||||
msgid "Yearly"
|
msgid "Yearly"
|
||||||
msgstr "Штогод"
|
msgstr "Штогод"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:457
|
#: data/ui/edit-dialog.ui:463
|
||||||
msgid "Forever"
|
msgid "Forever"
|
||||||
msgstr "Заўсёды"
|
msgstr "Заўсёды"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:458
|
#: data/ui/edit-dialog.ui:464
|
||||||
msgid "No. of occurrences"
|
msgid "No. of occurrences"
|
||||||
msgstr "Колькасць уваходжанняў"
|
msgstr "Колькасць уваходжанняў"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:459
|
#: data/ui/edit-dialog.ui:465
|
||||||
msgid "Until Date"
|
msgid "Until Date"
|
||||||
msgstr "Да даты"
|
msgstr "Да даты"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:553
|
#: data/ui/edit-dialog.ui:560
|
||||||
msgid "Delete Event"
|
msgid "Delete Event"
|
||||||
msgstr "Выдаліць Падзею"
|
msgstr "Выдаліць Падзею"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:590
|
#: data/ui/edit-dialog.ui:599
|
||||||
msgid "5 minutes"
|
msgid "5 minutes"
|
||||||
msgstr "5 хвілінаў"
|
msgstr "5 хвілінаў"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:599
|
#: data/ui/edit-dialog.ui:608
|
||||||
msgid "10 minutes"
|
msgid "10 minutes"
|
||||||
msgstr "10 хвілінаў"
|
msgstr "10 хвілінаў"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:608
|
#: data/ui/edit-dialog.ui:617
|
||||||
msgid "30 minutes"
|
msgid "30 minutes"
|
||||||
msgstr "30 хвілінаў"
|
msgstr "30 хвілінаў"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:617
|
#: data/ui/edit-dialog.ui:626
|
||||||
msgid "1 hour"
|
msgid "1 hour"
|
||||||
msgstr "1 гадзіна"
|
msgstr "1 гадзіна"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:625
|
#: data/ui/edit-dialog.ui:634
|
||||||
msgid "1 day"
|
msgid "1 day"
|
||||||
msgstr "1 дзень"
|
msgstr "1 дзень"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:634
|
#: data/ui/edit-dialog.ui:643
|
||||||
msgid "2 days"
|
msgid "2 days"
|
||||||
msgstr "2 дні"
|
msgstr "2 дні"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:643
|
#: data/ui/edit-dialog.ui:652
|
||||||
msgid "3 days"
|
msgid "3 days"
|
||||||
msgstr "3 дні"
|
msgstr "3 дні"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:652
|
#: data/ui/edit-dialog.ui:661
|
||||||
msgid "1 week"
|
msgid "1 week"
|
||||||
msgstr "1 тыдзень"
|
msgstr "1 тыдзень"
|
||||||
|
|
||||||
@@ -320,7 +331,7 @@ msgctxt "shortcut window"
|
|||||||
msgid "Year view"
|
msgid "Year view"
|
||||||
msgstr "Гадавы выгляд"
|
msgstr "Гадавы выгляд"
|
||||||
|
|
||||||
#: data/ui/menus.ui:6 data/ui/menus.ui:36
|
#: data/ui/menus.ui:6
|
||||||
msgid "Add Eve_nt…"
|
msgid "Add Eve_nt…"
|
||||||
msgstr "Дадаць па_дзею…"
|
msgstr "Дадаць па_дзею…"
|
||||||
|
|
||||||
@@ -340,22 +351,22 @@ msgstr "_Пра дастасаванне"
|
|||||||
msgid "_Quit"
|
msgid "_Quit"
|
||||||
msgstr "_Выхад"
|
msgstr "_Выхад"
|
||||||
|
|
||||||
#: data/ui/menus.ui:40
|
#: data/ui/menus.ui:36
|
||||||
msgid "_Synchronize"
|
|
||||||
msgstr "_Сінхранізацыя"
|
|
||||||
|
|
||||||
#: data/ui/menus.ui:49
|
|
||||||
msgid "From Web…"
|
msgid "From Web…"
|
||||||
msgstr "З інтэрнэту…"
|
msgstr "З інтэрнэту…"
|
||||||
|
|
||||||
#: data/ui/menus.ui:53
|
#: data/ui/menus.ui:40
|
||||||
msgid "New Local Calendar…"
|
msgid "New Local Calendar…"
|
||||||
msgstr "Новы лакальны каляндар…"
|
msgstr "Новы лакальны каляндар…"
|
||||||
|
|
||||||
#: data/ui/menus.ui:57
|
#: data/ui/menus.ui:44
|
||||||
msgid "From File…"
|
msgid "From File…"
|
||||||
msgstr "З файла…"
|
msgstr "З файла…"
|
||||||
|
|
||||||
|
#: data/ui/month-popover.ui:91
|
||||||
|
msgid "New Event…"
|
||||||
|
msgstr "Новая падзея…"
|
||||||
|
|
||||||
#: data/ui/quick-add-popover.ui:117
|
#: data/ui/quick-add-popover.ui:117
|
||||||
msgid "Edit Details…"
|
msgid "Edit Details…"
|
||||||
msgstr "Рэдагавваць падрабязнасці…"
|
msgstr "Рэдагавваць падрабязнасці…"
|
||||||
@@ -365,15 +376,15 @@ msgstr "Рэдагавваць падрабязнасці…"
|
|||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr "Дадаць"
|
msgstr "Дадаць"
|
||||||
|
|
||||||
#: data/ui/search-view.ui:76
|
#: data/ui/search-popover.ui:76
|
||||||
msgid "No results found"
|
msgid "No results found"
|
||||||
msgstr "Вынікаў не знойдзена"
|
msgstr "Вынікаў не знойдзена"
|
||||||
|
|
||||||
#: data/ui/search-view.ui:92
|
#: data/ui/search-popover.ui:92
|
||||||
msgid "Try a different search"
|
msgid "Try a different search"
|
||||||
msgstr "Паспрабаваць разнастайны пошук"
|
msgstr "Паспрабаваць разнастайны пошук"
|
||||||
|
|
||||||
#: data/ui/source-dialog.ui:53 src/gcal-window.c:1129 src/gcal-window.c:1133
|
#: data/ui/source-dialog.ui:53 src/gcal-window.c:1039 src/gcal-window.c:1043
|
||||||
msgid "Undo"
|
msgid "Undo"
|
||||||
msgstr "Адмяніць апошняе дзеянне"
|
msgstr "Адмяніць апошняе дзеянне"
|
||||||
|
|
||||||
@@ -456,11 +467,16 @@ msgstr ""
|
|||||||
msgid "Calendar Address"
|
msgid "Calendar Address"
|
||||||
msgstr "Адрас каляндара"
|
msgstr "Адрас каляндара"
|
||||||
|
|
||||||
#: data/ui/source-dialog.ui:729 src/gcal-source-dialog.c:2193
|
#: data/ui/source-dialog.ui:729 src/gcal-source-dialog.c:2285
|
||||||
#: src/gcal-source-dialog.c:2199
|
#: src/gcal-source-dialog.c:2291
|
||||||
msgid "Add Calendar"
|
msgid "Add Calendar"
|
||||||
msgstr "Дадаць каляндар"
|
msgstr "Дадаць каляндар"
|
||||||
|
|
||||||
|
#: data/ui/source-dialog.ui:745 data/ui/window.ui:344
|
||||||
|
#: src/gcal-source-dialog.c:862 src/gcal-source-dialog.c:2314
|
||||||
|
msgid "Calendar Settings"
|
||||||
|
msgstr "Налады каляндара"
|
||||||
|
|
||||||
#: data/ui/source-dialog.ui:806
|
#: data/ui/source-dialog.ui:806
|
||||||
msgid "User"
|
msgid "User"
|
||||||
msgstr "Карыстальнік"
|
msgstr "Карыстальнік"
|
||||||
@@ -469,12 +485,16 @@ msgstr "Карыстальнік"
|
|||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Пароль"
|
msgstr "Пароль"
|
||||||
|
|
||||||
|
#: data/ui/source-dialog.ui:866
|
||||||
|
msgid "Enter your credentials"
|
||||||
|
msgstr "Увядзіце мандаты"
|
||||||
|
|
||||||
#: data/ui/source-dialog.ui:878
|
#: data/ui/source-dialog.ui:878
|
||||||
msgid "Connect"
|
msgid "Connect"
|
||||||
msgstr "Далучыцца"
|
msgstr "Далучыцца"
|
||||||
|
|
||||||
#: data/ui/time-selector.ui:9 src/views/gcal-week-grid.c:763
|
#: data/ui/time-selector.ui:9 src/views/gcal-week-grid.c:754
|
||||||
#: src/views/gcal-week-view.c:287
|
#: src/views/gcal-week-view.c:278
|
||||||
msgid "00:00"
|
msgid "00:00"
|
||||||
msgstr "00:00"
|
msgstr "00:00"
|
||||||
|
|
||||||
@@ -482,94 +502,104 @@ msgstr "00:00"
|
|||||||
msgid ":"
|
msgid ":"
|
||||||
msgstr ":"
|
msgstr ":"
|
||||||
|
|
||||||
#: data/ui/time-selector.ui:78 src/views/gcal-week-view.c:442
|
#: data/ui/time-selector.ui:78 src/views/gcal-week-view.c:432
|
||||||
msgid "AM"
|
msgid "AM"
|
||||||
msgstr "AM"
|
msgstr "AM"
|
||||||
|
|
||||||
#: data/ui/time-selector.ui:79 src/views/gcal-week-view.c:442
|
#: data/ui/time-selector.ui:79 src/views/gcal-week-view.c:432
|
||||||
msgid "PM"
|
msgid "PM"
|
||||||
msgstr "PM"
|
msgstr "PM"
|
||||||
|
|
||||||
#: data/ui/window.ui:64
|
#: data/ui/weather-settings.ui:12 data/ui/window.ui:407
|
||||||
|
msgid "_Weather"
|
||||||
|
msgstr "_Надвор'е"
|
||||||
|
|
||||||
|
#: data/ui/weather-settings.ui:30
|
||||||
|
msgid "Show Weather"
|
||||||
|
msgstr "Паказаць надвор'е"
|
||||||
|
|
||||||
|
#: data/ui/weather-settings.ui:53
|
||||||
|
msgid "Automatic Location"
|
||||||
|
msgstr "Аўтаматычна вызначаць месцазнаходжанне"
|
||||||
|
|
||||||
|
#: data/ui/window.ui:67
|
||||||
msgid "Week"
|
msgid "Week"
|
||||||
msgstr "Тыдзень"
|
msgstr "Тыдзень"
|
||||||
|
|
||||||
#: data/ui/window.ui:79
|
#: data/ui/window.ui:82
|
||||||
msgid "Month"
|
msgid "Month"
|
||||||
msgstr "Месяц"
|
msgstr "Месяц"
|
||||||
|
|
||||||
#: data/ui/window.ui:93
|
#: data/ui/window.ui:96
|
||||||
msgid "Year"
|
msgid "Year"
|
||||||
msgstr "Год"
|
msgstr "Год"
|
||||||
|
|
||||||
#: data/ui/window.ui:187 data/ui/year-view.ui:84 src/views/gcal-year-view.c:275
|
#: data/ui/window.ui:190 data/ui/year-view.ui:88 src/views/gcal-year-view.c:279
|
||||||
#: src/views/gcal-year-view.c:509
|
#: src/views/gcal-year-view.c:514
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr "Сёння"
|
msgstr "Сёння"
|
||||||
|
|
||||||
#: data/ui/window.ui:261
|
#: data/ui/window.ui:271
|
||||||
msgid "Manage your calendars"
|
msgid "Manage your calendars"
|
||||||
msgstr "Кіраванне вашым каляндаром"
|
msgstr "Кіраванне вашым каляндаром"
|
||||||
|
|
||||||
#: data/ui/window.ui:278
|
#: data/ui/window.ui:288
|
||||||
msgctxt "tooltip"
|
msgctxt "tooltip"
|
||||||
msgid "Search for events"
|
msgid "Search for events"
|
||||||
msgstr "Пошук падзей"
|
msgstr "Пошук падзей"
|
||||||
|
|
||||||
#: data/ui/window.ui:334 src/gcal-source-dialog.c:844
|
#: data/ui/window.ui:391
|
||||||
#: src/gcal-source-dialog.c:2222
|
msgid "Add Eve_nt"
|
||||||
msgid "Calendar Settings"
|
msgstr "Дадаць па_дзею"
|
||||||
msgstr "Налады каляндара"
|
|
||||||
|
|
||||||
#: data/ui/year-view.ui:95
|
#: data/ui/window.ui:400
|
||||||
|
msgid "_Synchronize"
|
||||||
|
msgstr "_Сінхранізацыя"
|
||||||
|
|
||||||
|
#: data/ui/year-view.ui:133
|
||||||
msgid "No events"
|
msgid "No events"
|
||||||
msgstr "Няма падзеяў"
|
msgstr "Няма падзеяў"
|
||||||
|
|
||||||
#: data/ui/year-view.ui:117 src/views/gcal-month-view.c:2322
|
#: data/ui/year-view.ui:155
|
||||||
msgid "Add Event…"
|
msgid "Add Event…"
|
||||||
msgstr "Дадаць падзею…"
|
msgstr "Дадаць падзею…"
|
||||||
|
|
||||||
#: src/gcal-application.c:89
|
#: src/gcal-application.c:88
|
||||||
|
msgid "Quit GNOME Calendar"
|
||||||
|
msgstr "Выйсці з календара GNOME"
|
||||||
|
|
||||||
|
#: src/gcal-application.c:93
|
||||||
msgid "Display version number"
|
msgid "Display version number"
|
||||||
msgstr "Паказаць нумар версіі"
|
msgstr "Паказаць нумар версіі"
|
||||||
|
|
||||||
#: src/gcal-application.c:94
|
#: src/gcal-application.c:98
|
||||||
msgid "Enable debug messages"
|
msgid "Enable debug messages"
|
||||||
msgstr "Уключыць адладачныя паведамленні"
|
msgstr "Уключыць адладачныя паведамленні"
|
||||||
|
|
||||||
#: src/gcal-application.c:99
|
#: src/gcal-application.c:103
|
||||||
msgid "Open calendar on the passed date"
|
msgid "Open calendar on the passed date"
|
||||||
msgstr "Адкрыць паляндар на прайшоўшую дату"
|
msgstr "Адкрыць паляндар на прайшоўшую дату"
|
||||||
|
|
||||||
#: src/gcal-application.c:104
|
#: src/gcal-application.c:108
|
||||||
msgid "Open calendar showing the passed event"
|
msgid "Open calendar showing the passed event"
|
||||||
msgstr "Адкрыць каляндар і паказаць прайшоўшыя падзеі"
|
msgstr "Адкрыць каляндар і паказаць прайшоўшыя падзеі"
|
||||||
|
|
||||||
#: src/gcal-application.c:285
|
#: src/gcal-application.c:595
|
||||||
msgid "— Calendar management"
|
|
||||||
msgstr "— Кіраванне каляндаром"
|
|
||||||
|
|
||||||
#: src/gcal-application.c:467
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Copyright © %d The Calendar authors"
|
msgid "Copyright © 2012–%d The Calendar authors"
|
||||||
msgstr "Аўтарскія правы © %d аўтары Каляндара"
|
msgstr "Аўтаркія правы © 2012–%d аўтары Календара"
|
||||||
|
|
||||||
#: src/gcal-application.c:473
|
#: src/gcal-application.c:646
|
||||||
#, c-format
|
|
||||||
msgid "Copyright © %d–%d The Calendar authors"
|
|
||||||
msgstr "Аўтаркія правы © %d–%d аўтары Каляндара"
|
|
||||||
|
|
||||||
#: src/gcal-application.c:486
|
|
||||||
msgid "translator-credits"
|
msgid "translator-credits"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Uladzimir Manulenka <vlma@tut.by>\n"
|
"Uladzimir Manulenka <vlma@tut.by>\n"
|
||||||
"Юрась Шумовіч <shumovichy@gmail.com>"
|
"Юрась Шумовіч <shumovichy@gmail.com>"
|
||||||
|
|
||||||
#: src/gcal-edit-dialog.c:688
|
#: src/gcal-edit-dialog.c:277
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Захаваць"
|
msgstr "Захаваць"
|
||||||
|
|
||||||
#: src/gcal-edit-dialog.c:1001
|
#: src/gcal-edit-dialog.c:1037
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d minute before"
|
msgid "%d minute before"
|
||||||
msgid_plural "%d minutes before"
|
msgid_plural "%d minutes before"
|
||||||
@@ -577,7 +607,7 @@ msgstr[0] "%d хвіліна да"
|
|||||||
msgstr[1] "%d хвіліны да"
|
msgstr[1] "%d хвіліны да"
|
||||||
msgstr[2] "%d хвілінаў да"
|
msgstr[2] "%d хвілінаў да"
|
||||||
|
|
||||||
#: src/gcal-edit-dialog.c:1009
|
#: src/gcal-edit-dialog.c:1045
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d hour before"
|
msgid "%d hour before"
|
||||||
msgid_plural "%d hours before"
|
msgid_plural "%d hours before"
|
||||||
@@ -585,7 +615,7 @@ msgstr[0] "%d гадзіна да"
|
|||||||
msgstr[1] "%d гадзіны да"
|
msgstr[1] "%d гадзіны да"
|
||||||
msgstr[2] "%d гадзінаў да"
|
msgstr[2] "%d гадзінаў да"
|
||||||
|
|
||||||
#: src/gcal-edit-dialog.c:1017
|
#: src/gcal-edit-dialog.c:1053
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d day before"
|
msgid "%d day before"
|
||||||
msgid_plural "%d days before"
|
msgid_plural "%d days before"
|
||||||
@@ -593,7 +623,7 @@ msgstr[0] "%d дзень да"
|
|||||||
msgstr[1] "%d дні да"
|
msgstr[1] "%d дні да"
|
||||||
msgstr[2] "%d дзён да"
|
msgstr[2] "%d дзён да"
|
||||||
|
|
||||||
#: src/gcal-edit-dialog.c:1025
|
#: src/gcal-edit-dialog.c:1061
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d week before"
|
msgid "%d week before"
|
||||||
msgid_plural "%d weeks before"
|
msgid_plural "%d weeks before"
|
||||||
@@ -601,12 +631,12 @@ msgstr[0] "%d тыдзень да"
|
|||||||
msgstr[1] "%d тыдні да"
|
msgstr[1] "%d тыдні да"
|
||||||
msgstr[2] "%d тыдняў да"
|
msgstr[2] "%d тыдняў да"
|
||||||
|
|
||||||
#: src/gcal-edit-dialog.c:1328 src/gcal-quick-add-popover.c:680
|
#: src/gcal-edit-dialog.c:1367 src/gcal-quick-add-popover.c:682
|
||||||
msgid "Unnamed event"
|
msgid "Unnamed event"
|
||||||
msgstr "Падзея без назвы"
|
msgstr "Падзея без назвы"
|
||||||
|
|
||||||
#. Translators: %s is the location of the event (e.g. "Downtown, 3rd Avenue")
|
#. Translators: %s is the location of the event (e.g. "Downtown, 3rd Avenue")
|
||||||
#: src/gcal-event-widget.c:364
|
#: src/gcal-event-widget.c:420
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "At %s"
|
msgid "At %s"
|
||||||
msgstr "У %s"
|
msgstr "У %s"
|
||||||
@@ -721,14 +751,17 @@ msgid "December"
|
|||||||
msgstr "Снежань"
|
msgstr "Снежань"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:286
|
#: src/gcal-quick-add-popover.c:286
|
||||||
|
#, c-format
|
||||||
msgid "from Today"
|
msgid "from Today"
|
||||||
msgstr "з сённяшняга дня"
|
msgstr "з сённяшняга дня"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:290
|
#: src/gcal-quick-add-popover.c:290
|
||||||
|
#, c-format
|
||||||
msgid "from Tomorrow"
|
msgid "from Tomorrow"
|
||||||
msgstr "з заўтрашняга дня"
|
msgstr "з заўтрашняга дня"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:294
|
#: src/gcal-quick-add-popover.c:294
|
||||||
|
#, c-format
|
||||||
msgid "from Yesterday"
|
msgid "from Yesterday"
|
||||||
msgstr "з учарашняга дня"
|
msgstr "з учарашняга дня"
|
||||||
|
|
||||||
@@ -742,14 +775,17 @@ msgid "from %1$s %2$s"
|
|||||||
msgstr "з %1$s %2$s"
|
msgstr "з %1$s %2$s"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:323
|
#: src/gcal-quick-add-popover.c:323
|
||||||
|
#, c-format
|
||||||
msgid "to Today"
|
msgid "to Today"
|
||||||
msgstr "да сённяшняга дня"
|
msgstr "да сённяшняга дня"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:327
|
#: src/gcal-quick-add-popover.c:327
|
||||||
|
#, c-format
|
||||||
msgid "to Tomorrow"
|
msgid "to Tomorrow"
|
||||||
msgstr "да заўтрашняга дня"
|
msgstr "да заўтрашняга дня"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:331
|
#: src/gcal-quick-add-popover.c:331
|
||||||
|
#, c-format
|
||||||
msgid "to Yesterday"
|
msgid "to Yesterday"
|
||||||
msgstr "да учарашняга дня"
|
msgstr "да учарашняга дня"
|
||||||
|
|
||||||
@@ -769,14 +805,17 @@ msgid "New Event %1$s %2$s"
|
|||||||
msgstr "Новая падзея %1$s %2$s"
|
msgstr "Новая падзея %1$s %2$s"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:373
|
#: src/gcal-quick-add-popover.c:373
|
||||||
|
#, c-format
|
||||||
msgid "New Event Today"
|
msgid "New Event Today"
|
||||||
msgstr "Новая падзея сёння"
|
msgstr "Новая падзея сёння"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:377
|
#: src/gcal-quick-add-popover.c:377
|
||||||
|
#, c-format
|
||||||
msgid "New Event Tomorrow"
|
msgid "New Event Tomorrow"
|
||||||
msgstr "Новая падзея заўтра"
|
msgstr "Новая падзея заўтра"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:381
|
#: src/gcal-quick-add-popover.c:381
|
||||||
|
#, c-format
|
||||||
msgid "New Event Yesterday"
|
msgid "New Event Yesterday"
|
||||||
msgstr "Новая падзея ўчора"
|
msgstr "Новая падзея ўчора"
|
||||||
|
|
||||||
@@ -875,61 +914,61 @@ msgstr "Новая падзея %d снежня"
|
|||||||
msgid "%1$s, %2$s – %3$s"
|
msgid "%1$s, %2$s – %3$s"
|
||||||
msgstr "%1$s, %2$s – %3$s"
|
msgstr "%1$s, %2$s – %3$s"
|
||||||
|
|
||||||
#: src/gcal-search-view.c:358
|
#: src/gcal-search-popover.c:303
|
||||||
msgid "All day"
|
msgid "All day"
|
||||||
msgstr "Увесь дзень"
|
msgstr "Увесь дзень"
|
||||||
|
|
||||||
#: src/gcal-search-view.c:563
|
#: src/gcal-search-popover.c:563
|
||||||
msgid "Use the entry above to search for events."
|
msgid "Use the entry above to search for events."
|
||||||
msgstr "Карыстайцеся полем зверху для пошуку падзеяў."
|
msgstr "Карыстайцеся полем зверху для пошуку падзеяў."
|
||||||
|
|
||||||
#. Dialog
|
#. Dialog
|
||||||
#: src/gcal-source-dialog.c:1099
|
#: src/gcal-source-dialog.c:1159
|
||||||
msgid "Select a calendar file"
|
msgid "Select a calendar file"
|
||||||
msgstr "Выбраць файл каляндара"
|
msgstr "Выбраць файл каляндара"
|
||||||
|
|
||||||
#: src/gcal-source-dialog.c:1103
|
#: src/gcal-source-dialog.c:1163
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr "Адкрыць"
|
msgstr "Адкрыць"
|
||||||
|
|
||||||
#: src/gcal-source-dialog.c:1110
|
#: src/gcal-source-dialog.c:1170
|
||||||
msgid "Calendar files"
|
msgid "Calendar files"
|
||||||
msgstr "Файлы каляндара"
|
msgstr "Файлы каляндара"
|
||||||
|
|
||||||
#. update the source properties
|
#. update the source properties
|
||||||
#: src/gcal-source-dialog.c:1144
|
#: src/gcal-source-dialog.c:1204
|
||||||
msgid "Unnamed Calendar"
|
msgid "Unnamed Calendar"
|
||||||
msgstr "Каляндар без назвы"
|
msgstr "Каляндар без назвы"
|
||||||
|
|
||||||
#. Update notification label
|
#. Update notification label
|
||||||
#: src/gcal-source-dialog.c:1750
|
#: src/gcal-source-dialog.c:1810
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Calendar <b>%s</b> removed"
|
msgid "Calendar <b>%s</b> removed"
|
||||||
msgstr "Каляндар <b>%s</b> выдалены"
|
msgstr "Каляндар <b>%s</b> выдалены"
|
||||||
|
|
||||||
#: src/gcal-source-dialog.c:1953 src/gcal-source-dialog.c:2010
|
#: src/gcal-source-dialog.c:1859 src/gcal-source-dialog.c:1915
|
||||||
msgid "Off"
|
msgid "Off"
|
||||||
msgstr "Выключыць"
|
msgstr "Выключыць"
|
||||||
|
|
||||||
#: src/gcal-source-dialog.c:1953 src/gcal-source-dialog.c:2010
|
#: src/gcal-source-dialog.c:1859 src/gcal-source-dialog.c:1915
|
||||||
msgid "On"
|
msgid "On"
|
||||||
msgstr "Уключыць"
|
msgstr "Уключыць"
|
||||||
|
|
||||||
#: src/gcal-source-dialog.c:2009
|
#: src/gcal-source-dialog.c:1914
|
||||||
msgid "Expired"
|
msgid "Expired"
|
||||||
msgstr "Састарэў"
|
msgstr "Састарэў"
|
||||||
|
|
||||||
#: src/gcal-time-selector.c:84
|
#: src/gcal-time-selector.c:83
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s AM"
|
msgid "%s AM"
|
||||||
msgstr "%s AM"
|
msgstr "%s AM"
|
||||||
|
|
||||||
#: src/gcal-time-selector.c:86
|
#: src/gcal-time-selector.c:85
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s PM"
|
msgid "%s PM"
|
||||||
msgstr "%s PM"
|
msgstr "%s PM"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1188
|
#: src/gcal-utils.c:1120
|
||||||
msgid ""
|
msgid ""
|
||||||
"The event you are trying to modify is recurring. The changes you have "
|
"The event you are trying to modify is recurring. The changes you have "
|
||||||
"selected should be applied to:"
|
"selected should be applied to:"
|
||||||
@@ -937,44 +976,35 @@ msgstr ""
|
|||||||
"Вы спрабуеце змяніць перыядычную падзею. Вылучаныя змены павінны быць ужыты "
|
"Вы спрабуеце змяніць перыядычную падзею. Вылучаныя змены павінны быць ужыты "
|
||||||
"для:"
|
"для:"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1191
|
#: src/gcal-utils.c:1123
|
||||||
msgid "_Cancel"
|
msgid "_Cancel"
|
||||||
msgstr "_Адмена"
|
msgstr "_Адмена"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1193
|
#: src/gcal-utils.c:1125
|
||||||
msgid "_Only This Event"
|
msgid "_Only This Event"
|
||||||
msgstr "_Толькі гэтая падзея"
|
msgstr "_Толькі гэтая падзея"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1200
|
#: src/gcal-utils.c:1132
|
||||||
msgid "_Subsequent events"
|
msgid "_Subsequent events"
|
||||||
msgstr "_Наступныя падзеі"
|
msgstr "_Наступныя падзеі"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1202
|
#: src/gcal-utils.c:1134
|
||||||
msgid "_All events"
|
msgid "_All events"
|
||||||
msgstr "_Усе падзеі"
|
msgstr "_Усе падзеі"
|
||||||
|
|
||||||
#: src/gcal-window.c:1129
|
#: src/gcal-window.c:1039
|
||||||
msgid "Another event deleted"
|
msgid "Another event deleted"
|
||||||
msgstr "Выдалена яшчэ адна падзея"
|
msgstr "Выдалена яшчэ адна падзея"
|
||||||
|
|
||||||
#: src/gcal-window.c:1133
|
#: src/gcal-window.c:1043
|
||||||
msgid "Event deleted"
|
msgid "Event deleted"
|
||||||
msgstr "Пвдзея выдалена"
|
msgstr "Пвдзея выдалена"
|
||||||
|
|
||||||
#. Translators: This is a date format in the sidebar of the year
|
#: src/views/gcal-week-grid.c:751 src/views/gcal-week-view.c:275
|
||||||
#. * view when there is only one specified day selected.
|
msgid "00 AM"
|
||||||
#. Translators: This is a date format in the sidebar of the year view.
|
msgstr "00 AM"
|
||||||
#: src/views/gcal-month-view.c:225 src/views/gcal-year-view.c:290
|
|
||||||
#: src/views/gcal-year-view.c:512
|
|
||||||
msgid "%B %d"
|
|
||||||
msgstr "%B %d"
|
|
||||||
|
|
||||||
#: src/views/gcal-month-view.c:1186
|
#: src/views/gcal-week-header.c:398
|
||||||
msgid "Other events"
|
|
||||||
msgstr "Іншыя падзеі"
|
|
||||||
|
|
||||||
#. TODO: Warning: in some languages this string can be too long and may overlap with the number
|
|
||||||
#: src/views/gcal-month-view.c:1785 src/views/gcal-week-header.c:338
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Other event"
|
msgid "Other event"
|
||||||
msgid_plural "Other %d events"
|
msgid_plural "Other %d events"
|
||||||
@@ -982,11 +1012,7 @@ msgstr[0] "Іншая %d падзея"
|
|||||||
msgstr[1] "Іншыя %d падзеі"
|
msgstr[1] "Іншыя %d падзеі"
|
||||||
msgstr[2] "Іншых %d падзеяў"
|
msgstr[2] "Іншых %d падзеяў"
|
||||||
|
|
||||||
#: src/views/gcal-week-grid.c:760 src/views/gcal-week-view.c:284
|
#: src/views/gcal-week-header.c:934
|
||||||
msgid "00 AM"
|
|
||||||
msgstr "00 AM"
|
|
||||||
|
|
||||||
#: src/views/gcal-week-header.c:871
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "week %d"
|
msgid "week %d"
|
||||||
msgstr "тыдзень %d"
|
msgstr "тыдзень %d"
|
||||||
@@ -994,10 +1020,26 @@ msgstr "тыдзень %d"
|
|||||||
#. Translators: This is a date format in the sidebar of the year
|
#. Translators: This is a date format in the sidebar of the year
|
||||||
#. * view when the selection starts at the specified day and the
|
#. * view when the selection starts at the specified day and the
|
||||||
#. * end is unspecified.
|
#. * end is unspecified.
|
||||||
#: src/views/gcal-year-view.c:284
|
#: src/views/gcal-year-view.c:288
|
||||||
msgid "%B %d…"
|
msgid "%B %d…"
|
||||||
msgstr "%B %d…"
|
msgstr "%B %d…"
|
||||||
|
|
||||||
|
#. Translators: This is a date format in the sidebar of the year
|
||||||
|
#. * view when there is only one specified day selected.
|
||||||
|
#. Translators: This is a date format in the sidebar of the year view.
|
||||||
|
#: src/views/gcal-year-view.c:294 src/views/gcal-year-view.c:517
|
||||||
|
msgid "%B %d"
|
||||||
|
msgstr "%B %d"
|
||||||
|
|
||||||
|
#~ msgid "— Calendar management"
|
||||||
|
#~ msgstr "— Кіраванне каляндаром"
|
||||||
|
|
||||||
|
#~ msgid "Copyright © %d The Calendar authors"
|
||||||
|
#~ msgstr "Аўтарскія правы © %d аўтары Каляндара"
|
||||||
|
|
||||||
|
#~ msgid "Other events"
|
||||||
|
#~ msgstr "Іншыя падзеі"
|
||||||
|
|
||||||
#~ msgid "%1$s %2$d"
|
#~ msgid "%1$s %2$d"
|
||||||
#~ msgstr "%1$s %2$d"
|
#~ msgstr "%1$s %2$d"
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-calendar\n"
|
"Project-Id-Version: gnome-calendar\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-calendar/issues\n"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-calendar/issues\n"
|
||||||
"POT-Creation-Date: 2018-02-20 22:28+0000\n"
|
"POT-Creation-Date: 2018-05-02 02:05+0000\n"
|
||||||
"PO-Revision-Date: 2018-02-22 09:54+0100\n"
|
"PO-Revision-Date: 2018-05-04 00:26+0200\n"
|
||||||
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
|
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
|
||||||
"Language-Team: čeština <gnome-cs-list@gnome.org>\n"
|
"Language-Team: čeština <gnome-cs-list@gnome.org>\n"
|
||||||
"Language: cs\n"
|
"Language: cs\n"
|
||||||
@@ -34,7 +34,7 @@ msgstr "Kalendář pro GNOME"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"GNOME Calendar is a simple and beautiful calendar application designed to "
|
"GNOME Calendar is a simple and beautiful calendar application designed to "
|
||||||
"perfectly fit the GNOME desktop. By reusing the components which the GNOME "
|
"perfectly fit the GNOME desktop. By reusing the components which the GNOME "
|
||||||
"desktop is build on, Calendar nicely integrates with the GNOME ecosystem."
|
"desktop is built on, Calendar nicely integrates with the GNOME ecosystem."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Kalendář GNOME je jednoduchá a hezká kalendářová aplikace navržená tak, aby "
|
"Kalendář GNOME je jednoduchá a hezká kalendářová aplikace navržená tak, aby "
|
||||||
"skvěle zapadla do pracovního prostředí GNOME. Díky využití komponent, na "
|
"skvěle zapadla do pracovního prostředí GNOME. Díky využití komponent, na "
|
||||||
@@ -494,7 +494,7 @@ msgstr "Zadání přihlašovacích údajů"
|
|||||||
msgid "Connect"
|
msgid "Connect"
|
||||||
msgstr "Připojit se"
|
msgstr "Připojit se"
|
||||||
|
|
||||||
#: data/ui/time-selector.ui:9 src/views/gcal-week-grid.c:754
|
#: data/ui/time-selector.ui:9 src/views/gcal-week-grid.c:753
|
||||||
#: src/views/gcal-week-view.c:278
|
#: src/views/gcal-week-view.c:278
|
||||||
msgid "00:00"
|
msgid "00:00"
|
||||||
msgstr "00∶00"
|
msgstr "00∶00"
|
||||||
@@ -637,7 +637,7 @@ msgid "Unnamed event"
|
|||||||
msgstr "Událost bez názvu"
|
msgstr "Událost bez názvu"
|
||||||
|
|
||||||
#. Translators: %s is the location of the event (e.g. "Downtown, 3rd Avenue")
|
#. Translators: %s is the location of the event (e.g. "Downtown, 3rd Avenue")
|
||||||
#: src/gcal-event-widget.c:420
|
#: src/gcal-event-widget.c:422
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "At %s"
|
msgid "At %s"
|
||||||
msgstr "v místě %s"
|
msgstr "v místě %s"
|
||||||
@@ -969,7 +969,7 @@ msgstr "%s odp."
|
|||||||
msgid "%s PM"
|
msgid "%s PM"
|
||||||
msgstr "%s dop."
|
msgstr "%s dop."
|
||||||
|
|
||||||
#: src/gcal-utils.c:1093
|
#: src/gcal-utils.c:1120
|
||||||
msgid ""
|
msgid ""
|
||||||
"The event you are trying to modify is recurring. The changes you have "
|
"The event you are trying to modify is recurring. The changes you have "
|
||||||
"selected should be applied to:"
|
"selected should be applied to:"
|
||||||
@@ -977,19 +977,19 @@ msgstr ""
|
|||||||
"Událost, kterou se snažíte změnit, se opakuje. Mají se změny, které jste "
|
"Událost, kterou se snažíte změnit, se opakuje. Mají se změny, které jste "
|
||||||
"zvolili, použít:"
|
"zvolili, použít:"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1096
|
#: src/gcal-utils.c:1123
|
||||||
msgid "_Cancel"
|
msgid "_Cancel"
|
||||||
msgstr "_Zrušit"
|
msgstr "_Zrušit"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1098
|
#: src/gcal-utils.c:1125
|
||||||
msgid "_Only This Event"
|
msgid "_Only This Event"
|
||||||
msgstr "Jen na tut_o událost"
|
msgstr "Jen na tut_o událost"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1105
|
#: src/gcal-utils.c:1132
|
||||||
msgid "_Subsequent events"
|
msgid "_Subsequent events"
|
||||||
msgstr "I na navazující událo_sti"
|
msgstr "I na navazující událo_sti"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1107
|
#: src/gcal-utils.c:1134
|
||||||
msgid "_All events"
|
msgid "_All events"
|
||||||
msgstr "_Všechny události"
|
msgstr "_Všechny události"
|
||||||
|
|
||||||
@@ -1001,7 +1001,7 @@ msgstr "Smazána ještě jedna událost"
|
|||||||
msgid "Event deleted"
|
msgid "Event deleted"
|
||||||
msgstr "Událost smazána"
|
msgstr "Událost smazána"
|
||||||
|
|
||||||
#: src/views/gcal-week-grid.c:751 src/views/gcal-week-view.c:275
|
#: src/views/gcal-week-grid.c:750 src/views/gcal-week-view.c:275
|
||||||
msgid "00 AM"
|
msgid "00 AM"
|
||||||
msgstr "0"
|
msgstr "0"
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-calendar master\n"
|
"Project-Id-Version: gnome-calendar master\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-calendar/issues\n"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-calendar/issues\n"
|
||||||
"POT-Creation-Date: 2018-02-20 22:28+0000\n"
|
"POT-Creation-Date: 2018-05-02 02:05+0000\n"
|
||||||
"PO-Revision-Date: 2018-02-21 17:13+0100\n"
|
"PO-Revision-Date: 2018-05-08 14:48+0200\n"
|
||||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||||
"Language-Team: es <gnome-es-list@gnome.org>\n"
|
"Language-Team: es <gnome-es-list@gnome.org>\n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
@@ -30,10 +30,15 @@ msgid "Calendar for GNOME"
|
|||||||
msgstr "Calendario para GNOME"
|
msgstr "Calendario para GNOME"
|
||||||
|
|
||||||
#: data/appdata/org.gnome.Calendar.appdata.xml.in:11
|
#: data/appdata/org.gnome.Calendar.appdata.xml.in:11
|
||||||
|
#| msgid ""
|
||||||
|
#| "GNOME Calendar is a simple and beautiful calendar application designed to "
|
||||||
|
#| "perfectly fit the GNOME desktop. By reusing the components which the "
|
||||||
|
#| "GNOME desktop is build on, Calendar nicely integrates with the GNOME "
|
||||||
|
#| "ecosystem."
|
||||||
msgid ""
|
msgid ""
|
||||||
"GNOME Calendar is a simple and beautiful calendar application designed to "
|
"GNOME Calendar is a simple and beautiful calendar application designed to "
|
||||||
"perfectly fit the GNOME desktop. By reusing the components which the GNOME "
|
"perfectly fit the GNOME desktop. By reusing the components which the GNOME "
|
||||||
"desktop is build on, Calendar nicely integrates with the GNOME ecosystem."
|
"desktop is built on, Calendar nicely integrates with the GNOME ecosystem."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Calendario de GNOME es una aplicación de calendario bonita y sencilla "
|
"Calendario de GNOME es una aplicación de calendario bonita y sencilla "
|
||||||
"diseñada para ajustarse perfectamente al escritorio GNOME. Al reutilizar "
|
"diseñada para ajustarse perfectamente al escritorio GNOME. Al reutilizar "
|
||||||
@@ -491,7 +496,7 @@ msgstr "Introduzca sus credenciales"
|
|||||||
msgid "Connect"
|
msgid "Connect"
|
||||||
msgstr "Conectar"
|
msgstr "Conectar"
|
||||||
|
|
||||||
#: data/ui/time-selector.ui:9 src/views/gcal-week-grid.c:754
|
#: data/ui/time-selector.ui:9 src/views/gcal-week-grid.c:753
|
||||||
#: src/views/gcal-week-view.c:278
|
#: src/views/gcal-week-view.c:278
|
||||||
msgid "00:00"
|
msgid "00:00"
|
||||||
msgstr "00:00"
|
msgstr "00:00"
|
||||||
@@ -563,7 +568,6 @@ msgid "Add Event…"
|
|||||||
msgstr "Añadir evento…"
|
msgstr "Añadir evento…"
|
||||||
|
|
||||||
#: src/gcal-application.c:88
|
#: src/gcal-application.c:88
|
||||||
#| msgid "Edit Calendar"
|
|
||||||
msgid "Quit GNOME Calendar"
|
msgid "Quit GNOME Calendar"
|
||||||
msgstr "Salir de calendario de GNOME"
|
msgstr "Salir de calendario de GNOME"
|
||||||
|
|
||||||
@@ -629,7 +633,7 @@ msgid "Unnamed event"
|
|||||||
msgstr "Evento sin nombre"
|
msgstr "Evento sin nombre"
|
||||||
|
|
||||||
#. Translators: %s is the location of the event (e.g. "Downtown, 3rd Avenue")
|
#. Translators: %s is the location of the event (e.g. "Downtown, 3rd Avenue")
|
||||||
#: src/gcal-event-widget.c:420
|
#: src/gcal-event-widget.c:422
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "At %s"
|
msgid "At %s"
|
||||||
msgstr "El %s"
|
msgstr "El %s"
|
||||||
@@ -961,7 +965,7 @@ msgstr "%s AM"
|
|||||||
msgid "%s PM"
|
msgid "%s PM"
|
||||||
msgstr "%s PM"
|
msgstr "%s PM"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1093
|
#: src/gcal-utils.c:1120
|
||||||
msgid ""
|
msgid ""
|
||||||
"The event you are trying to modify is recurring. The changes you have "
|
"The event you are trying to modify is recurring. The changes you have "
|
||||||
"selected should be applied to:"
|
"selected should be applied to:"
|
||||||
@@ -969,19 +973,19 @@ msgstr ""
|
|||||||
"El evento que intenta modificar es recurrente. Los cambios que ha "
|
"El evento que intenta modificar es recurrente. Los cambios que ha "
|
||||||
"seleccionado se deben aplicar a:"
|
"seleccionado se deben aplicar a:"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1096
|
#: src/gcal-utils.c:1123
|
||||||
msgid "_Cancel"
|
msgid "_Cancel"
|
||||||
msgstr "_Cancelar"
|
msgstr "_Cancelar"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1098
|
#: src/gcal-utils.c:1125
|
||||||
msgid "_Only This Event"
|
msgid "_Only This Event"
|
||||||
msgstr "_Sólo este evento"
|
msgstr "_Sólo este evento"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1105
|
#: src/gcal-utils.c:1132
|
||||||
msgid "_Subsequent events"
|
msgid "_Subsequent events"
|
||||||
msgstr "_Eventos próximos"
|
msgstr "_Eventos próximos"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1107
|
#: src/gcal-utils.c:1134
|
||||||
msgid "_All events"
|
msgid "_All events"
|
||||||
msgstr "_Todos los eventos"
|
msgstr "_Todos los eventos"
|
||||||
|
|
||||||
@@ -993,7 +997,7 @@ msgstr "Otro evento eliminado"
|
|||||||
msgid "Event deleted"
|
msgid "Event deleted"
|
||||||
msgstr "Evento eliminado"
|
msgstr "Evento eliminado"
|
||||||
|
|
||||||
#: src/views/gcal-week-grid.c:751 src/views/gcal-week-view.c:275
|
#: src/views/gcal-week-grid.c:750 src/views/gcal-week-view.c:275
|
||||||
msgid "00 AM"
|
msgid "00 AM"
|
||||||
msgstr "00 AM"
|
msgstr "00 AM"
|
||||||
|
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-calendar master\n"
|
"Project-Id-Version: gnome-calendar master\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-calendar/issues\n"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-calendar/issues\n"
|
||||||
"POT-Creation-Date: 2018-01-10 15:33+0000\n"
|
"POT-Creation-Date: 2018-05-02 02:05+0000\n"
|
||||||
"PO-Revision-Date: 2018-01-15 12:00+0100\n"
|
"PO-Revision-Date: 2018-05-06 16:46+0200\n"
|
||||||
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
|
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
|
||||||
"Language-Team: Friulian <fur@li.org>\n"
|
"Language-Team: Friulian <fur@li.org>\n"
|
||||||
"Language: fur\n"
|
"Language: fur\n"
|
||||||
@@ -16,11 +16,11 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Poedit 2.0.3\n"
|
"X-Generator: Poedit 2.0.7\n"
|
||||||
|
|
||||||
#: data/appdata/org.gnome.Calendar.appdata.xml.in:7
|
#: data/appdata/org.gnome.Calendar.appdata.xml.in:7
|
||||||
#: data/org.gnome.Calendar.desktop.in:3 data/ui/quick-add-popover.ui:187
|
#: data/org.gnome.Calendar.desktop.in:3 data/ui/quick-add-popover.ui:187
|
||||||
#: data/ui/window.ui:187 src/gcal-application.c:540
|
#: data/ui/window.ui:187 src/gcal-application.c:640 src/main.c:36
|
||||||
msgid "Calendar"
|
msgid "Calendar"
|
||||||
msgstr "Calendari"
|
msgstr "Calendari"
|
||||||
|
|
||||||
@@ -32,11 +32,12 @@ msgstr "Calendari par GNOME"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"GNOME Calendar is a simple and beautiful calendar application designed to "
|
"GNOME Calendar is a simple and beautiful calendar application designed to "
|
||||||
"perfectly fit the GNOME desktop. By reusing the components which the GNOME "
|
"perfectly fit the GNOME desktop. By reusing the components which the GNOME "
|
||||||
"desktop is build on, Calendar nicely integrates with the GNOME ecosystem."
|
"desktop is built on, Calendar nicely integrates with the GNOME ecosystem."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"GNOME Calendari a je une semplice e biele aplicazion calendari progjetade "
|
"GNOME Calendari a je une semplice e biele aplicazion calendari progjetade "
|
||||||
"par incjastrâsi ben tal desktop GNOME. Doprant i components cun la cuâl il "
|
"par incjastrâsi in maniere perfete tal scritori GNOME. Doprant i components "
|
||||||
"desktop GNOME al è costruît, Calendari si integre ben cul ecosisteme GNOME."
|
"che cun chei al è costruît il scritori GNOME, Calendari si integre ben cul "
|
||||||
|
"ecosisteme GNOME."
|
||||||
|
|
||||||
#: data/appdata/org.gnome.Calendar.appdata.xml.in:16
|
#: data/appdata/org.gnome.Calendar.appdata.xml.in:16
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -75,44 +76,44 @@ msgstr "org.gnome.Calendar"
|
|||||||
msgid "Calendar;Event;Reminder;"
|
msgid "Calendar;Event;Reminder;"
|
||||||
msgstr "Calendari;Lunari;Event;Events;Promemorie;"
|
msgstr "Calendari;Lunari;Event;Events;Promemorie;"
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:6
|
#: data/org.gnome.calendar.gschema.xml.in:6
|
||||||
msgid "Window maximized"
|
msgid "Window maximized"
|
||||||
msgstr "Barcon slargjât"
|
msgstr "Barcon slargjât"
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:7
|
#: data/org.gnome.calendar.gschema.xml.in:7
|
||||||
msgid "Window maximized state"
|
msgid "Window maximized state"
|
||||||
msgstr "Il stât slargjât dal barcon"
|
msgstr "Il stât slargjât dal barcon"
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:11
|
#: data/org.gnome.calendar.gschema.xml.in:11
|
||||||
msgid "Window size"
|
msgid "Window size"
|
||||||
msgstr "Dimension barcon"
|
msgstr "Dimension barcon"
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:12
|
#: data/org.gnome.calendar.gschema.xml.in:12
|
||||||
msgid "Window size (width and height)."
|
msgid "Window size (width and height)."
|
||||||
msgstr "La dimension dal barcon (largjece e altece)."
|
msgstr "La dimension dal barcon (largjece e altece)."
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:16
|
#: data/org.gnome.calendar.gschema.xml.in:16
|
||||||
msgid "Window position"
|
msgid "Window position"
|
||||||
msgstr "Posizion barcon"
|
msgstr "Posizion barcon"
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:17
|
#: data/org.gnome.calendar.gschema.xml.in:17
|
||||||
msgid "Window position (x and y)."
|
msgid "Window position (x and y)."
|
||||||
msgstr "La posizion dal barcon (x e y)."
|
msgstr "La posizion dal barcon (x e y)."
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:21
|
#: data/org.gnome.calendar.gschema.xml.in:21
|
||||||
msgid "Type of the active view"
|
msgid "Type of the active view"
|
||||||
msgstr "Mût de viste ative"
|
msgstr "Mût de viste ative"
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:22
|
#: data/org.gnome.calendar.gschema.xml.in:22
|
||||||
msgid "Type of the active window view, default value is: monthly view"
|
msgid "Type of the active window view, default value is: monthly view"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Il mût de viste dal barcon atîf, il valôr predefinît al è: viste mensîl"
|
"Il mût de viste dal barcon atîf, il valôr predefinît al è: viste mensîl"
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:26
|
#: data/org.gnome.calendar.gschema.xml.in:26
|
||||||
msgid "Weather Service Configuration"
|
msgid "Weather Service Configuration"
|
||||||
msgstr "Configurazion dal servizi meteorologjic"
|
msgstr "Configurazion dal servizi meteorologjic"
|
||||||
|
|
||||||
#: data/org.gnome.calendar.gschema.xml:27
|
#: data/org.gnome.calendar.gschema.xml.in:27
|
||||||
msgid ""
|
msgid ""
|
||||||
"Whether weather reports are shown, automatic locations are used and a "
|
"Whether weather reports are shown, automatic locations are used and a "
|
||||||
"location-name"
|
"location-name"
|
||||||
@@ -137,7 +138,7 @@ msgstr "Anule"
|
|||||||
msgid "Click to select the calendar"
|
msgid "Click to select the calendar"
|
||||||
msgstr "Fâs clic par selezionâ il calendari"
|
msgstr "Fâs clic par selezionâ il calendari"
|
||||||
|
|
||||||
#: data/ui/edit-dialog.ui:108 src/gcal-edit-dialog.c:275
|
#: data/ui/edit-dialog.ui:108 src/gcal-edit-dialog.c:277
|
||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr "Fat"
|
msgstr "Fat"
|
||||||
|
|
||||||
@@ -374,15 +375,15 @@ msgstr "Modifiche detais…"
|
|||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr "Zonte"
|
msgstr "Zonte"
|
||||||
|
|
||||||
#: data/ui/search-view.ui:76
|
#: data/ui/search-popover.ui:76
|
||||||
msgid "No results found"
|
msgid "No results found"
|
||||||
msgstr "Nissun risultât cjatât"
|
msgstr "Nissun risultât cjatât"
|
||||||
|
|
||||||
#: data/ui/search-view.ui:92
|
#: data/ui/search-popover.ui:92
|
||||||
msgid "Try a different search"
|
msgid "Try a different search"
|
||||||
msgstr "Prove une ricercje diferente"
|
msgstr "Prove une ricercje diferente"
|
||||||
|
|
||||||
#: data/ui/source-dialog.ui:53 src/gcal-window.c:1272 src/gcal-window.c:1276
|
#: data/ui/source-dialog.ui:53 src/gcal-window.c:1039 src/gcal-window.c:1043
|
||||||
msgid "Undo"
|
msgid "Undo"
|
||||||
msgstr "Anule"
|
msgstr "Anule"
|
||||||
|
|
||||||
@@ -491,8 +492,8 @@ msgstr "Inserìs lis tôs credenziâls"
|
|||||||
msgid "Connect"
|
msgid "Connect"
|
||||||
msgstr "Conet"
|
msgstr "Conet"
|
||||||
|
|
||||||
#: data/ui/time-selector.ui:9 src/views/gcal-week-grid.c:758
|
#: data/ui/time-selector.ui:9 src/views/gcal-week-grid.c:753
|
||||||
#: src/views/gcal-week-view.c:287
|
#: src/views/gcal-week-view.c:278
|
||||||
msgid "00:00"
|
msgid "00:00"
|
||||||
msgstr "00:00"
|
msgstr "00:00"
|
||||||
|
|
||||||
@@ -500,14 +501,26 @@ msgstr "00:00"
|
|||||||
msgid ":"
|
msgid ":"
|
||||||
msgstr ":"
|
msgstr ":"
|
||||||
|
|
||||||
#: data/ui/time-selector.ui:78 src/views/gcal-week-view.c:442
|
#: data/ui/time-selector.ui:78 src/views/gcal-week-view.c:432
|
||||||
msgid "AM"
|
msgid "AM"
|
||||||
msgstr "AM"
|
msgstr "AM"
|
||||||
|
|
||||||
#: data/ui/time-selector.ui:79 src/views/gcal-week-view.c:442
|
#: data/ui/time-selector.ui:79 src/views/gcal-week-view.c:432
|
||||||
msgid "PM"
|
msgid "PM"
|
||||||
msgstr "PM"
|
msgstr "PM"
|
||||||
|
|
||||||
|
#: data/ui/weather-settings.ui:12 data/ui/window.ui:407
|
||||||
|
msgid "_Weather"
|
||||||
|
msgstr "_Timp"
|
||||||
|
|
||||||
|
#: data/ui/weather-settings.ui:30
|
||||||
|
msgid "Show Weather"
|
||||||
|
msgstr "Mostre timp"
|
||||||
|
|
||||||
|
#: data/ui/weather-settings.ui:53
|
||||||
|
msgid "Automatic Location"
|
||||||
|
msgstr "Posizion automatiche"
|
||||||
|
|
||||||
#: data/ui/window.ui:67
|
#: data/ui/window.ui:67
|
||||||
msgid "Week"
|
msgid "Week"
|
||||||
msgstr "Setemane"
|
msgstr "Setemane"
|
||||||
@@ -520,8 +533,8 @@ msgstr "Mês"
|
|||||||
msgid "Year"
|
msgid "Year"
|
||||||
msgstr "An"
|
msgstr "An"
|
||||||
|
|
||||||
#: data/ui/window.ui:190 data/ui/year-view.ui:88 src/views/gcal-year-view.c:285
|
#: data/ui/window.ui:190 data/ui/year-view.ui:88 src/views/gcal-year-view.c:279
|
||||||
#: src/views/gcal-year-view.c:520
|
#: src/views/gcal-year-view.c:514
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr "Vuê"
|
msgstr "Vuê"
|
||||||
|
|
||||||
@@ -542,18 +555,6 @@ msgstr "_Zonte event"
|
|||||||
msgid "_Synchronize"
|
msgid "_Synchronize"
|
||||||
msgstr "_Sincronize"
|
msgstr "_Sincronize"
|
||||||
|
|
||||||
#: data/ui/window.ui:407 data/ui/window.ui:428
|
|
||||||
msgid "_Weather"
|
|
||||||
msgstr "_Timp"
|
|
||||||
|
|
||||||
#: data/ui/window.ui:446
|
|
||||||
msgid "Show Weather"
|
|
||||||
msgstr "Mostre timp"
|
|
||||||
|
|
||||||
#: data/ui/window.ui:469
|
|
||||||
msgid "Automatic Location"
|
|
||||||
msgstr "Posizion automatiche"
|
|
||||||
|
|
||||||
#: data/ui/year-view.ui:133
|
#: data/ui/year-view.ui:133
|
||||||
msgid "No events"
|
msgid "No events"
|
||||||
msgstr "Nissun event"
|
msgstr "Nissun event"
|
||||||
@@ -562,73 +563,73 @@ msgstr "Nissun event"
|
|||||||
msgid "Add Event…"
|
msgid "Add Event…"
|
||||||
msgstr "Zonte event…"
|
msgstr "Zonte event…"
|
||||||
|
|
||||||
#: src/gcal-application.c:90
|
#: src/gcal-application.c:88
|
||||||
msgid "Quit GNOME Calendar"
|
msgid "Quit GNOME Calendar"
|
||||||
msgstr "Jes di Calendari GNOME"
|
msgstr "Jes di Calendari GNOME"
|
||||||
|
|
||||||
#: src/gcal-application.c:95
|
#: src/gcal-application.c:93
|
||||||
msgid "Display version number"
|
msgid "Display version number"
|
||||||
msgstr "Mostre il numar di version"
|
msgstr "Mostre il numar di version"
|
||||||
|
|
||||||
#: src/gcal-application.c:100
|
#: src/gcal-application.c:98
|
||||||
msgid "Enable debug messages"
|
msgid "Enable debug messages"
|
||||||
msgstr "Abilite messaçs di debug"
|
msgstr "Abilite messaçs di debug"
|
||||||
|
|
||||||
#: src/gcal-application.c:105
|
#: src/gcal-application.c:103
|
||||||
msgid "Open calendar on the passed date"
|
msgid "Open calendar on the passed date"
|
||||||
msgstr "Vierç il calendari te zornade dade"
|
msgstr "Vierç il calendari te zornade dade"
|
||||||
|
|
||||||
#: src/gcal-application.c:110
|
#: src/gcal-application.c:108
|
||||||
msgid "Open calendar showing the passed event"
|
msgid "Open calendar showing the passed event"
|
||||||
msgstr "Vierç il calendari mostrant l'event dât"
|
msgstr "Vierç il calendari mostrant l'event dât"
|
||||||
|
|
||||||
#: src/gcal-application.c:497
|
#: src/gcal-application.c:595
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Copyright © 2012–%d The Calendar authors"
|
msgid "Copyright © 2012–%d The Calendar authors"
|
||||||
msgstr "Copyright © 2012–%d i autôrs di Calendari"
|
msgstr "Copyright © 2012–%d i autôrs di Calendari"
|
||||||
|
|
||||||
#: src/gcal-application.c:546
|
#: src/gcal-application.c:646
|
||||||
msgid "translator-credits"
|
msgid "translator-credits"
|
||||||
msgstr "Fabio Tomat <f.t.public@gmail.com>"
|
msgstr "Fabio Tomat <f.t.public@gmail.com>"
|
||||||
|
|
||||||
#: src/gcal-edit-dialog.c:275
|
#: src/gcal-edit-dialog.c:277
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Salve"
|
msgstr "Salve"
|
||||||
|
|
||||||
#: src/gcal-edit-dialog.c:1019
|
#: src/gcal-edit-dialog.c:1037
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d minute before"
|
msgid "%d minute before"
|
||||||
msgid_plural "%d minutes before"
|
msgid_plural "%d minutes before"
|
||||||
msgstr[0] "%d minût prime"
|
msgstr[0] "%d minût prime"
|
||||||
msgstr[1] "%d minûts prime"
|
msgstr[1] "%d minûts prime"
|
||||||
|
|
||||||
#: src/gcal-edit-dialog.c:1027
|
#: src/gcal-edit-dialog.c:1045
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d hour before"
|
msgid "%d hour before"
|
||||||
msgid_plural "%d hours before"
|
msgid_plural "%d hours before"
|
||||||
msgstr[0] "%d ore prime"
|
msgstr[0] "%d ore prime"
|
||||||
msgstr[1] "%d oris prime"
|
msgstr[1] "%d oris prime"
|
||||||
|
|
||||||
#: src/gcal-edit-dialog.c:1035
|
#: src/gcal-edit-dialog.c:1053
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d day before"
|
msgid "%d day before"
|
||||||
msgid_plural "%d days before"
|
msgid_plural "%d days before"
|
||||||
msgstr[0] "%d zornade prime"
|
msgstr[0] "%d zornade prime"
|
||||||
msgstr[1] "%d dîs prime"
|
msgstr[1] "%d dîs prime"
|
||||||
|
|
||||||
#: src/gcal-edit-dialog.c:1043
|
#: src/gcal-edit-dialog.c:1061
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d week before"
|
msgid "%d week before"
|
||||||
msgid_plural "%d weeks before"
|
msgid_plural "%d weeks before"
|
||||||
msgstr[0] "%d setemane prime"
|
msgstr[0] "%d setemane prime"
|
||||||
msgstr[1] "%d setemanis prime"
|
msgstr[1] "%d setemanis prime"
|
||||||
|
|
||||||
#: src/gcal-edit-dialog.c:1347 src/gcal-quick-add-popover.c:680
|
#: src/gcal-edit-dialog.c:1367 src/gcal-quick-add-popover.c:682
|
||||||
msgid "Unnamed event"
|
msgid "Unnamed event"
|
||||||
msgstr "Event cence non"
|
msgstr "Event cence non"
|
||||||
|
|
||||||
#. Translators: %s is the location of the event (e.g. "Downtown, 3rd Avenue")
|
#. Translators: %s is the location of the event (e.g. "Downtown, 3rd Avenue")
|
||||||
#: src/gcal-event-widget.c:420
|
#: src/gcal-event-widget.c:422
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "At %s"
|
msgid "At %s"
|
||||||
msgstr "A %s"
|
msgstr "A %s"
|
||||||
@@ -743,14 +744,17 @@ msgid "December"
|
|||||||
msgstr "Dicembar"
|
msgstr "Dicembar"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:286
|
#: src/gcal-quick-add-popover.c:286
|
||||||
|
#, c-format
|
||||||
msgid "from Today"
|
msgid "from Today"
|
||||||
msgstr "di vuê"
|
msgstr "di vuê"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:290
|
#: src/gcal-quick-add-popover.c:290
|
||||||
|
#, c-format
|
||||||
msgid "from Tomorrow"
|
msgid "from Tomorrow"
|
||||||
msgstr "di doman"
|
msgstr "di doman"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:294
|
#: src/gcal-quick-add-popover.c:294
|
||||||
|
#, c-format
|
||||||
msgid "from Yesterday"
|
msgid "from Yesterday"
|
||||||
msgstr "di îr"
|
msgstr "di îr"
|
||||||
|
|
||||||
@@ -764,14 +768,17 @@ msgid "from %1$s %2$s"
|
|||||||
msgstr "dal/dai %2$s di %1$s"
|
msgstr "dal/dai %2$s di %1$s"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:323
|
#: src/gcal-quick-add-popover.c:323
|
||||||
|
#, c-format
|
||||||
msgid "to Today"
|
msgid "to Today"
|
||||||
msgstr "a doman"
|
msgstr "a doman"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:327
|
#: src/gcal-quick-add-popover.c:327
|
||||||
|
#, c-format
|
||||||
msgid "to Tomorrow"
|
msgid "to Tomorrow"
|
||||||
msgstr "a doman"
|
msgstr "a doman"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:331
|
#: src/gcal-quick-add-popover.c:331
|
||||||
|
#, c-format
|
||||||
msgid "to Yesterday"
|
msgid "to Yesterday"
|
||||||
msgstr "a îr"
|
msgstr "a îr"
|
||||||
|
|
||||||
@@ -791,14 +798,17 @@ msgid "New Event %1$s %2$s"
|
|||||||
msgstr "Gnûf event %1$s %2$s"
|
msgstr "Gnûf event %1$s %2$s"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:373
|
#: src/gcal-quick-add-popover.c:373
|
||||||
|
#, c-format
|
||||||
msgid "New Event Today"
|
msgid "New Event Today"
|
||||||
msgstr "Gnûf event vuê"
|
msgstr "Gnûf event vuê"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:377
|
#: src/gcal-quick-add-popover.c:377
|
||||||
|
#, c-format
|
||||||
msgid "New Event Tomorrow"
|
msgid "New Event Tomorrow"
|
||||||
msgstr "Gnûf event doman"
|
msgstr "Gnûf event doman"
|
||||||
|
|
||||||
#: src/gcal-quick-add-popover.c:381
|
#: src/gcal-quick-add-popover.c:381
|
||||||
|
#, c-format
|
||||||
msgid "New Event Yesterday"
|
msgid "New Event Yesterday"
|
||||||
msgstr "Gnûf event îr"
|
msgstr "Gnûf event îr"
|
||||||
|
|
||||||
@@ -897,11 +907,11 @@ msgstr "Gnûf event al/ai %d di dicembar"
|
|||||||
msgid "%1$s, %2$s – %3$s"
|
msgid "%1$s, %2$s – %3$s"
|
||||||
msgstr "%1$s, %2$s – %3$s"
|
msgstr "%1$s, %2$s – %3$s"
|
||||||
|
|
||||||
#: src/gcal-search-view.c:358
|
#: src/gcal-search-popover.c:303
|
||||||
msgid "All day"
|
msgid "All day"
|
||||||
msgstr "Dut il dì"
|
msgstr "Dut il dì"
|
||||||
|
|
||||||
#: src/gcal-search-view.c:563
|
#: src/gcal-search-popover.c:563
|
||||||
msgid "Use the entry above to search for events."
|
msgid "Use the entry above to search for events."
|
||||||
msgstr "Dopre la casele di test parsore par cirî i events."
|
msgstr "Dopre la casele di test parsore par cirî i events."
|
||||||
|
|
||||||
@@ -942,17 +952,17 @@ msgstr "On"
|
|||||||
msgid "Expired"
|
msgid "Expired"
|
||||||
msgstr "Scjadût"
|
msgstr "Scjadût"
|
||||||
|
|
||||||
#: src/gcal-time-selector.c:84
|
#: src/gcal-time-selector.c:83
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s AM"
|
msgid "%s AM"
|
||||||
msgstr "%s AM"
|
msgstr "%s AM"
|
||||||
|
|
||||||
#: src/gcal-time-selector.c:86
|
#: src/gcal-time-selector.c:85
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s PM"
|
msgid "%s PM"
|
||||||
msgstr "%s PM"
|
msgstr "%s PM"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1090
|
#: src/gcal-utils.c:1120
|
||||||
msgid ""
|
msgid ""
|
||||||
"The event you are trying to modify is recurring. The changes you have "
|
"The event you are trying to modify is recurring. The changes you have "
|
||||||
"selected should be applied to:"
|
"selected should be applied to:"
|
||||||
@@ -960,42 +970,42 @@ msgstr ""
|
|||||||
"L'event che si sta cirint di modificâ al è ciclic. Lis modifichis "
|
"L'event che si sta cirint di modificâ al è ciclic. Lis modifichis "
|
||||||
"selezionadis e varessin di jessi aplicadis a:"
|
"selezionadis e varessin di jessi aplicadis a:"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1093
|
#: src/gcal-utils.c:1123
|
||||||
msgid "_Cancel"
|
msgid "_Cancel"
|
||||||
msgstr "_Anule"
|
msgstr "_Anule"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1095
|
#: src/gcal-utils.c:1125
|
||||||
msgid "_Only This Event"
|
msgid "_Only This Event"
|
||||||
msgstr "_Dome chest event"
|
msgstr "_Dome chest event"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1102
|
#: src/gcal-utils.c:1132
|
||||||
msgid "_Subsequent events"
|
msgid "_Subsequent events"
|
||||||
msgstr "_Events seguitîfs"
|
msgstr "_Events seguitîfs"
|
||||||
|
|
||||||
#: src/gcal-utils.c:1104
|
#: src/gcal-utils.c:1134
|
||||||
msgid "_All events"
|
msgid "_All events"
|
||||||
msgstr "_Ducj i events"
|
msgstr "_Ducj i events"
|
||||||
|
|
||||||
#: src/gcal-window.c:1272
|
#: src/gcal-window.c:1039
|
||||||
msgid "Another event deleted"
|
msgid "Another event deleted"
|
||||||
msgstr "Un altri event eliminât"
|
msgstr "Un altri event eliminât"
|
||||||
|
|
||||||
#: src/gcal-window.c:1276
|
#: src/gcal-window.c:1043
|
||||||
msgid "Event deleted"
|
msgid "Event deleted"
|
||||||
msgstr "Event eliminât"
|
msgstr "Event eliminât"
|
||||||
|
|
||||||
#: src/views/gcal-week-grid.c:755 src/views/gcal-week-view.c:284
|
#: src/views/gcal-week-grid.c:750 src/views/gcal-week-view.c:275
|
||||||
msgid "00 AM"
|
msgid "00 AM"
|
||||||
msgstr "00 AM"
|
msgstr "00 AM"
|
||||||
|
|
||||||
#: src/views/gcal-week-header.c:400
|
#: src/views/gcal-week-header.c:398
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Other event"
|
msgid "Other event"
|
||||||
msgid_plural "Other %d events"
|
msgid_plural "Other %d events"
|
||||||
msgstr[0] "Altri event"
|
msgstr[0] "Altri event"
|
||||||
msgstr[1] "Altris %d events"
|
msgstr[1] "Altris %d events"
|
||||||
|
|
||||||
#: src/views/gcal-week-header.c:933
|
#: src/views/gcal-week-header.c:934
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "week %d"
|
msgid "week %d"
|
||||||
msgstr "setemane %d"
|
msgstr "setemane %d"
|
||||||
@@ -1003,14 +1013,14 @@ msgstr "setemane %d"
|
|||||||
#. Translators: This is a date format in the sidebar of the year
|
#. Translators: This is a date format in the sidebar of the year
|
||||||
#. * view when the selection starts at the specified day and the
|
#. * view when the selection starts at the specified day and the
|
||||||
#. * end is unspecified.
|
#. * end is unspecified.
|
||||||
#: src/views/gcal-year-view.c:294
|
#: src/views/gcal-year-view.c:288
|
||||||
msgid "%B %d…"
|
msgid "%B %d…"
|
||||||
msgstr "%d di %B…"
|
msgstr "%d di %B…"
|
||||||
|
|
||||||
#. Translators: This is a date format in the sidebar of the year
|
#. Translators: This is a date format in the sidebar of the year
|
||||||
#. * view when there is only one specified day selected.
|
#. * view when there is only one specified day selected.
|
||||||
#. Translators: This is a date format in the sidebar of the year view.
|
#. Translators: This is a date format in the sidebar of the year view.
|
||||||
#: src/views/gcal-year-view.c:300 src/views/gcal-year-view.c:523
|
#: src/views/gcal-year-view.c:294 src/views/gcal-year-view.c:517
|
||||||
msgid "%B %d"
|
msgid "%B %d"
|
||||||
msgstr "%d di %B"
|
msgstr "%d di %B"
|
||||||
|
|
||||||
|
|||||||
+905
-434
File diff suppressed because it is too large
Load Diff
@@ -55,6 +55,8 @@ struct _GcalApplication
|
|||||||
GcalWeatherService *weather_service;
|
GcalWeatherService *weather_service;
|
||||||
|
|
||||||
GcalShellSearchProvider *search_provider;
|
GcalShellSearchProvider *search_provider;
|
||||||
|
|
||||||
|
GcalClock *clock;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void gcal_application_create_new_event (GSimpleAction *new_event,
|
static void gcal_application_create_new_event (GSimpleAction *new_event,
|
||||||
@@ -121,6 +123,7 @@ static const GActionEntry gcal_app_entries[] = {
|
|||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
PROP_0,
|
PROP_0,
|
||||||
|
PROP_CLOCK,
|
||||||
PROP_MANAGER,
|
PROP_MANAGER,
|
||||||
PROP_TIME_FORMAT,
|
PROP_TIME_FORMAT,
|
||||||
PROP_WEATHER_SERVICE,
|
PROP_WEATHER_SERVICE,
|
||||||
@@ -229,6 +232,7 @@ gcal_application_finalize (GObject *object)
|
|||||||
g_clear_pointer (&self->initial_date, g_free);
|
g_clear_pointer (&self->initial_date, g_free);
|
||||||
g_clear_pointer (&self->uuid, g_free);
|
g_clear_pointer (&self->uuid, g_free);
|
||||||
g_clear_object (&self->colors_provider);
|
g_clear_object (&self->colors_provider);
|
||||||
|
g_clear_object (&self->clock);
|
||||||
g_clear_object (&self->desktop_settings);
|
g_clear_object (&self->desktop_settings);
|
||||||
g_clear_object (&self->manager);
|
g_clear_object (&self->manager);
|
||||||
g_clear_object (&self->provider);
|
g_clear_object (&self->provider);
|
||||||
@@ -250,6 +254,10 @@ gcal_application_get_property (GObject *object,
|
|||||||
|
|
||||||
switch (property_id)
|
switch (property_id)
|
||||||
{
|
{
|
||||||
|
case PROP_CLOCK:
|
||||||
|
g_value_set_object (value, self->clock);
|
||||||
|
break;
|
||||||
|
|
||||||
case PROP_MANAGER:
|
case PROP_MANAGER:
|
||||||
g_value_set_object (value, self->manager);
|
g_value_set_object (value, self->manager);
|
||||||
break;
|
break;
|
||||||
@@ -506,6 +514,12 @@ gcal_application_class_init (GcalApplicationClass *klass)
|
|||||||
application_class->dbus_register = gcal_application_dbus_register;
|
application_class->dbus_register = gcal_application_dbus_register;
|
||||||
application_class->dbus_unregister = gcal_application_dbus_unregister;
|
application_class->dbus_unregister = gcal_application_dbus_unregister;
|
||||||
|
|
||||||
|
properties[PROP_CLOCK] = g_param_spec_object ("clock",
|
||||||
|
"Clock",
|
||||||
|
"The internal clock of Calendar",
|
||||||
|
GCAL_TYPE_CLOCK,
|
||||||
|
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
|
||||||
|
|
||||||
properties[PROP_MANAGER] = g_param_spec_object ("manager",
|
properties[PROP_MANAGER] = g_param_spec_object ("manager",
|
||||||
"The manager object",
|
"The manager object",
|
||||||
"The manager object",
|
"The manager object",
|
||||||
@@ -533,6 +547,7 @@ gcal_application_init (GcalApplication *self)
|
|||||||
{
|
{
|
||||||
g_application_add_main_option_entries (G_APPLICATION (self), gcal_application_goptions);
|
g_application_add_main_option_entries (G_APPLICATION (self), gcal_application_goptions);
|
||||||
|
|
||||||
|
self->clock = gcal_clock_new ();
|
||||||
self->manager = gcal_manager_new ();
|
self->manager = gcal_manager_new ();
|
||||||
g_signal_connect_swapped (self->manager, "source-added", G_CALLBACK (process_sources), self);
|
g_signal_connect_swapped (self->manager, "source-added", G_CALLBACK (process_sources), self);
|
||||||
g_signal_connect_swapped (self->manager, "source-changed", G_CALLBACK (process_sources), self);
|
g_signal_connect_swapped (self->manager, "source-changed", G_CALLBACK (process_sources), self);
|
||||||
@@ -729,3 +744,11 @@ gcal_application_set_initial_date (GcalApplication *self,
|
|||||||
g_clear_pointer (&self->initial_date, g_date_time_unref);
|
g_clear_pointer (&self->initial_date, g_date_time_unref);
|
||||||
self->initial_date = datetime_to_icaltime (initial_date);
|
self->initial_date = datetime_to_icaltime (initial_date);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GcalClock*
|
||||||
|
gcal_application_get_clock (GcalApplication *self)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (GCAL_IS_APPLICATION (self), NULL);
|
||||||
|
|
||||||
|
return self->clock;
|
||||||
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
#ifndef _GCAL_APPLICATION_H_
|
#ifndef _GCAL_APPLICATION_H_
|
||||||
#define _GCAL_APPLICATION_H_
|
#define _GCAL_APPLICATION_H_
|
||||||
|
|
||||||
|
#include "gcal-clock.h"
|
||||||
#include "gcal-weather-service.h"
|
#include "gcal-weather-service.h"
|
||||||
#include "gcal-manager.h"
|
#include "gcal-manager.h"
|
||||||
|
|
||||||
@@ -43,6 +44,8 @@ void gcal_application_set_uuid (GcalApplicatio
|
|||||||
void gcal_application_set_initial_date (GcalApplication *self,
|
void gcal_application_set_initial_date (GcalApplication *self,
|
||||||
GDateTime *initial_date);
|
GDateTime *initial_date);
|
||||||
|
|
||||||
|
GcalClock* gcal_application_get_clock (GcalApplication *self);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* _GCAL_APPLICATION_H_ */
|
#endif /* _GCAL_APPLICATION_H_ */
|
||||||
|
|||||||
+22
-6
@@ -22,6 +22,8 @@
|
|||||||
#include <glib/gi18n.h>
|
#include <glib/gi18n.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "gcal-application.h"
|
||||||
|
#include "gcal-clock.h"
|
||||||
#include "gcal-event-widget.h"
|
#include "gcal-event-widget.h"
|
||||||
#include "gcal-utils.h"
|
#include "gcal-utils.h"
|
||||||
|
|
||||||
@@ -310,9 +312,6 @@ gcal_event_widget_set_event_tooltip (GcalEventWidget *self,
|
|||||||
escaped_summary = g_markup_escape_text (gcal_event_get_summary (event), -1);
|
escaped_summary = g_markup_escape_text (gcal_event_get_summary (event), -1);
|
||||||
g_string_append_printf (tooltip_mesg, "<b>%s</b>", escaped_summary);
|
g_string_append_printf (tooltip_mesg, "<b>%s</b>", escaped_summary);
|
||||||
|
|
||||||
tooltip_start = g_date_time_to_local (gcal_event_get_date_start (event));
|
|
||||||
tooltip_end = g_date_time_to_local (gcal_event_get_date_end (event));
|
|
||||||
|
|
||||||
allday = gcal_event_get_all_day (event);
|
allday = gcal_event_get_all_day (event);
|
||||||
multiday = gcal_event_is_multiday (event);
|
multiday = gcal_event_is_multiday (event);
|
||||||
|
|
||||||
@@ -320,6 +319,10 @@ gcal_event_widget_set_event_tooltip (GcalEventWidget *self,
|
|||||||
|
|
||||||
if (allday)
|
if (allday)
|
||||||
{
|
{
|
||||||
|
/* All day events span from [ start, end - 1 day ] */
|
||||||
|
tooltip_start = g_date_time_ref (gcal_event_get_date_start (event));
|
||||||
|
tooltip_end = g_date_time_add_days (gcal_event_get_date_end (event), -1);
|
||||||
|
|
||||||
if (multiday)
|
if (multiday)
|
||||||
{
|
{
|
||||||
start = g_date_time_format (tooltip_start, "%x");
|
start = g_date_time_format (tooltip_start, "%x");
|
||||||
@@ -333,6 +336,9 @@ gcal_event_widget_set_event_tooltip (GcalEventWidget *self,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
tooltip_start = g_date_time_to_local (gcal_event_get_date_start (event));
|
||||||
|
tooltip_end = g_date_time_to_local (gcal_event_get_date_end (event));
|
||||||
|
|
||||||
if (multiday)
|
if (multiday)
|
||||||
{
|
{
|
||||||
if (self->clock_format_24h)
|
if (self->clock_format_24h)
|
||||||
@@ -395,9 +401,7 @@ gcal_event_widget_set_event_tooltip (GcalEventWidget *self,
|
|||||||
|
|
||||||
if (allday && !multiday)
|
if (allday && !multiday)
|
||||||
{
|
{
|
||||||
g_string_append_printf (tooltip_mesg,
|
g_string_append_printf (tooltip_mesg, "\n%s", start);
|
||||||
"\n%s",
|
|
||||||
start);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -948,6 +952,7 @@ gcal_event_widget_class_init (GcalEventWidgetClass *klass)
|
|||||||
static void
|
static void
|
||||||
gcal_event_widget_init (GcalEventWidget *self)
|
gcal_event_widget_init (GcalEventWidget *self)
|
||||||
{
|
{
|
||||||
|
GcalApplication *application;
|
||||||
GtkWidget *widget;
|
GtkWidget *widget;
|
||||||
|
|
||||||
widget = GTK_WIDGET (self);
|
widget = GTK_WIDGET (self);
|
||||||
@@ -964,6 +969,17 @@ gcal_event_widget_init (GcalEventWidget *self)
|
|||||||
/* Starts with horizontal */
|
/* Starts with horizontal */
|
||||||
self->orientation = GTK_ORIENTATION_HORIZONTAL;
|
self->orientation = GTK_ORIENTATION_HORIZONTAL;
|
||||||
gtk_style_context_add_class (gtk_widget_get_style_context (widget), "horizontal");
|
gtk_style_context_add_class (gtk_widget_get_style_context (widget), "horizontal");
|
||||||
|
|
||||||
|
/* Connect to the wall clock */
|
||||||
|
application = GCAL_APPLICATION (g_application_get_default ());
|
||||||
|
|
||||||
|
g_assert (application != NULL);
|
||||||
|
|
||||||
|
g_signal_connect_object (gcal_application_get_clock (application),
|
||||||
|
"minute-changed",
|
||||||
|
G_CALLBACK (update_color),
|
||||||
|
self,
|
||||||
|
G_CONNECT_SWAPPED);
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkWidget*
|
GtkWidget*
|
||||||
|
|||||||
+32
-25
@@ -1492,43 +1492,50 @@ gcal_event_get_uid (GcalEvent *self)
|
|||||||
* gcal_event_is_multiday:
|
* gcal_event_is_multiday:
|
||||||
* @self: a #GcalEvent
|
* @self: a #GcalEvent
|
||||||
*
|
*
|
||||||
* Whether the event spans more than 1 day.
|
* Whether the event visibly spans more than one day in the
|
||||||
|
* calendar.
|
||||||
|
*
|
||||||
|
* This function can return different values for the same event
|
||||||
|
* depending on your timezone. For example, an event that spans
|
||||||
|
* [ 02:00, 22:00 ) +0000 would assume the following values:
|
||||||
|
*
|
||||||
|
* |[
|
||||||
|
* D-1 D D+1
|
||||||
|
* -0600 [ ---][------- ][ ] (multiday)
|
||||||
|
* +0000 [ ][ ---------- ][ ] (single day)
|
||||||
|
* +0800 [ ][ -------][--- ] (multiday)
|
||||||
|
* ]|
|
||||||
*
|
*
|
||||||
* Returns: %TRUE if @self spans more than 1 day, %FALSE otherwise.
|
* Returns: %TRUE if @self spans more than 1 day, %FALSE otherwise.
|
||||||
*/
|
*/
|
||||||
gboolean
|
gboolean
|
||||||
gcal_event_is_multiday (GcalEvent *self)
|
gcal_event_is_multiday (GcalEvent *self)
|
||||||
{
|
{
|
||||||
g_autoptr (GDateTime) real_end_date = NULL;
|
g_autoptr (GDateTime) inclusive_end_date = NULL;
|
||||||
gboolean is_multiday;
|
g_autoptr (GDateTime) local_start_date = NULL;
|
||||||
gint n_days;
|
g_autoptr (GDateTime) local_end_date = NULL;
|
||||||
|
GDate start_dt;
|
||||||
|
GDate end_dt;
|
||||||
|
|
||||||
g_return_val_if_fail (GCAL_IS_EVENT (self), FALSE);
|
g_return_val_if_fail (GCAL_IS_EVENT (self), FALSE);
|
||||||
|
|
||||||
real_end_date = g_date_time_add_seconds (gcal_event_get_date_end (self), -1);
|
inclusive_end_date = g_date_time_add_seconds (gcal_event_get_date_end (self), -1);
|
||||||
n_days = g_date_time_difference (real_end_date, self->dt_start) / G_TIME_SPAN_DAY;
|
local_start_date = g_date_time_to_local (self->dt_start);
|
||||||
is_multiday = FALSE;
|
local_end_date = g_date_time_to_local (inclusive_end_date);
|
||||||
|
|
||||||
/*
|
g_date_clear (&start_dt, 1);
|
||||||
* An all-day event with only 1 day of time span is treated as a
|
g_date_set_dmy (&start_dt,
|
||||||
* single-day event.
|
g_date_time_get_day_of_month (local_start_date),
|
||||||
*/
|
g_date_time_get_month (local_start_date),
|
||||||
if (self->all_day && n_days == 1)
|
g_date_time_get_year (local_start_date));
|
||||||
is_multiday = FALSE;
|
|
||||||
|
|
||||||
/*
|
g_date_clear (&end_dt, 1);
|
||||||
* If any of the following fields are different, we're certain that
|
g_date_set_dmy (&end_dt,
|
||||||
* it's a multiday event. Otherwise, we're certain it's NOT a multiday
|
g_date_time_get_day_of_month (local_end_date),
|
||||||
* event.
|
g_date_time_get_month (local_end_date),
|
||||||
*/
|
g_date_time_get_year (local_end_date));
|
||||||
if (g_date_time_get_year (self->dt_start) != g_date_time_get_year (real_end_date) ||
|
|
||||||
g_date_time_get_month (self->dt_start) != g_date_time_get_month (real_end_date) ||
|
|
||||||
g_date_time_get_day_of_month (self->dt_start) != g_date_time_get_day_of_month (real_end_date))
|
|
||||||
{
|
|
||||||
is_multiday = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return is_multiday;
|
return g_date_days_between (&start_dt, &end_dt) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+1
-33
@@ -90,8 +90,6 @@ struct _GcalManager
|
|||||||
|
|
||||||
GoaClient *goa_client;
|
GoaClient *goa_client;
|
||||||
|
|
||||||
GcalClock *clock;
|
|
||||||
|
|
||||||
/* state flags */
|
/* state flags */
|
||||||
gboolean goa_client_ready;
|
gboolean goa_client_ready;
|
||||||
gint sources_at_launch;
|
gint sources_at_launch;
|
||||||
@@ -108,7 +106,6 @@ G_DEFINE_TYPE (GcalManager, gcal_manager, G_TYPE_OBJECT)
|
|||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_CLOCK,
|
|
||||||
PROP_DEFAULT_CALENDAR,
|
PROP_DEFAULT_CALENDAR,
|
||||||
PROP_LOADING,
|
PROP_LOADING,
|
||||||
PROP_SETTINGS,
|
PROP_SETTINGS,
|
||||||
@@ -776,7 +773,6 @@ gcal_manager_finalize (GObject *object)
|
|||||||
|
|
||||||
GCAL_ENTRY;
|
GCAL_ENTRY;
|
||||||
|
|
||||||
g_clear_object (&self->clock);
|
|
||||||
g_clear_object (&self->settings);
|
g_clear_object (&self->settings);
|
||||||
g_clear_object (&self->goa_client);
|
g_clear_object (&self->goa_client);
|
||||||
g_clear_object (&self->e_data_model);
|
g_clear_object (&self->e_data_model);
|
||||||
@@ -871,17 +867,6 @@ gcal_manager_class_init (GcalManagerClass *klass)
|
|||||||
object_class->set_property = gcal_manager_set_property;
|
object_class->set_property = gcal_manager_set_property;
|
||||||
object_class->get_property = gcal_manager_get_property;
|
object_class->get_property = gcal_manager_get_property;
|
||||||
|
|
||||||
/**
|
|
||||||
* GcalManager:clock:
|
|
||||||
*
|
|
||||||
* The internal clock of Calendar.
|
|
||||||
*/
|
|
||||||
properties[PROP_CLOCK] = g_param_spec_object ("clock",
|
|
||||||
"Clock",
|
|
||||||
"The internal clock of Calendar",
|
|
||||||
GCAL_TYPE_CLOCK,
|
|
||||||
G_PARAM_READWRITE);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GcalManager:default-calendar:
|
* GcalManager:default-calendar:
|
||||||
*
|
*
|
||||||
@@ -964,7 +949,6 @@ gcal_manager_class_init (GcalManagerClass *klass)
|
|||||||
static void
|
static void
|
||||||
gcal_manager_init (GcalManager *self)
|
gcal_manager_init (GcalManager *self)
|
||||||
{
|
{
|
||||||
self->clock = gcal_clock_new ();
|
|
||||||
self->settings = g_settings_new ("org.gnome.calendar");
|
self->settings = g_settings_new ("org.gnome.calendar");
|
||||||
self->system_timezone = e_cal_util_get_system_timezone ();
|
self->system_timezone = e_cal_util_get_system_timezone ();
|
||||||
}
|
}
|
||||||
@@ -1715,7 +1699,7 @@ gcal_manager_remove_event (GcalManager *self,
|
|||||||
(ECalObjModType) mod,
|
(ECalObjModType) mod,
|
||||||
self->async_ops,
|
self->async_ops,
|
||||||
on_event_removed,
|
on_event_removed,
|
||||||
event);
|
g_object_ref (event));
|
||||||
|
|
||||||
g_free (rid);
|
g_free (rid);
|
||||||
|
|
||||||
@@ -1856,22 +1840,6 @@ gcal_manager_get_loading (GcalManager *self)
|
|||||||
return !self->goa_client_ready || self->sources_at_launch > 0;
|
return !self->goa_client_ready || self->sources_at_launch > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* gcal_manager_get_clock:
|
|
||||||
* @self: a #GcalManager
|
|
||||||
*
|
|
||||||
* Retrieves the internal #GcalClock of @self.
|
|
||||||
*
|
|
||||||
* Returns: (transfer none): a #GcalClock.
|
|
||||||
*/
|
|
||||||
GcalClock*
|
|
||||||
gcal_manager_get_clock (GcalManager *self)
|
|
||||||
{
|
|
||||||
g_return_val_if_fail (GCAL_IS_MANAGER (self), NULL);
|
|
||||||
|
|
||||||
return self->clock;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gcal_manager_get_event_from_shell_search:
|
* gcal_manager_get_event_from_shell_search:
|
||||||
* @self: a #GcalManager
|
* @self: a #GcalManager
|
||||||
|
|||||||
@@ -20,7 +20,6 @@
|
|||||||
#define __GCAL_MANAGER_H__
|
#define __GCAL_MANAGER_H__
|
||||||
|
|
||||||
#include "e-cal-data-model.h"
|
#include "e-cal-data-model.h"
|
||||||
#include "gcal-clock.h"
|
|
||||||
#include "gcal-event.h"
|
#include "gcal-event.h"
|
||||||
|
|
||||||
#include <libical/icaltime.h>
|
#include <libical/icaltime.h>
|
||||||
@@ -107,9 +106,6 @@ GList* gcal_manager_get_events (GcalManager
|
|||||||
|
|
||||||
gboolean gcal_manager_get_loading (GcalManager *self);
|
gboolean gcal_manager_get_loading (GcalManager *self);
|
||||||
|
|
||||||
/* Clock */
|
|
||||||
GcalClock* gcal_manager_get_clock (GcalManager *self);
|
|
||||||
|
|
||||||
/* Online Accounts */
|
/* Online Accounts */
|
||||||
GoaClient* gcal_manager_get_goa_client (GcalManager *self);
|
GoaClient* gcal_manager_get_goa_client (GcalManager *self);
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,8 @@
|
|||||||
#define G_LOG_DOMAIN "GcalMonthCell"
|
#define G_LOG_DOMAIN "GcalMonthCell"
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "gcal-application.h"
|
||||||
|
#include "gcal-clock.h"
|
||||||
#include "gcal-event-widget.h"
|
#include "gcal-event-widget.h"
|
||||||
#include "gcal-utils.h"
|
#include "gcal-utils.h"
|
||||||
#include "gcal-month-cell.h"
|
#include "gcal-month-cell.h"
|
||||||
@@ -445,8 +447,9 @@ gcal_month_cell_class_init (GcalMonthCellClass *klass)
|
|||||||
static void
|
static void
|
||||||
gcal_month_cell_init (GcalMonthCell *self)
|
gcal_month_cell_init (GcalMonthCell *self)
|
||||||
{
|
{
|
||||||
gtk_widget_init_template (GTK_WIDGET (self));
|
GcalApplication *application;
|
||||||
|
|
||||||
|
gtk_widget_init_template (GTK_WIDGET (self));
|
||||||
|
|
||||||
/* Setup the month cell as a drag n' drop destination */
|
/* Setup the month cell as a drag n' drop destination */
|
||||||
gtk_drag_dest_set (GTK_WIDGET (self),
|
gtk_drag_dest_set (GTK_WIDGET (self),
|
||||||
@@ -454,6 +457,18 @@ gcal_month_cell_init (GcalMonthCell *self)
|
|||||||
NULL,
|
NULL,
|
||||||
0,
|
0,
|
||||||
GDK_ACTION_MOVE);
|
GDK_ACTION_MOVE);
|
||||||
|
|
||||||
|
/* Connect to the wall clock */
|
||||||
|
application = GCAL_APPLICATION (g_application_get_default ());
|
||||||
|
|
||||||
|
g_assert (application != NULL);
|
||||||
|
|
||||||
|
g_signal_connect_object (gcal_application_get_clock (application),
|
||||||
|
"day-changed",
|
||||||
|
G_CALLBACK (day_changed_cb),
|
||||||
|
self,
|
||||||
|
0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkWidget*
|
GtkWidget*
|
||||||
@@ -576,14 +591,7 @@ gcal_month_cell_set_manager (GcalMonthCell *self,
|
|||||||
g_return_if_fail (GCAL_IS_MONTH_CELL (self));
|
g_return_if_fail (GCAL_IS_MONTH_CELL (self));
|
||||||
|
|
||||||
if (g_set_object (&self->manager, manager))
|
if (g_set_object (&self->manager, manager))
|
||||||
{
|
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_MANAGER]);
|
||||||
g_signal_connect_swapped (gcal_manager_get_clock (manager),
|
|
||||||
"day-changed",
|
|
||||||
G_CALLBACK (day_changed_cb),
|
|
||||||
self);
|
|
||||||
|
|
||||||
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_MANAGER]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
guint
|
guint
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#define G_LOG_DOMAIN "GcalMonthPopover"
|
#define G_LOG_DOMAIN "GcalMonthPopover"
|
||||||
|
|
||||||
|
#include "gcal-debug.h"
|
||||||
#include "gcal-event-widget.h"
|
#include "gcal-event-widget.h"
|
||||||
#include "gcal-month-popover.h"
|
#include "gcal-month-popover.h"
|
||||||
#include "gcal-utils.h"
|
#include "gcal-utils.h"
|
||||||
@@ -25,6 +26,7 @@
|
|||||||
#include <dazzle.h>
|
#include <dazzle.h>
|
||||||
|
|
||||||
#define RATIO_TO_RELATIVE 1.25
|
#define RATIO_TO_RELATIVE 1.25
|
||||||
|
#define MIN_WIDTH 250
|
||||||
|
|
||||||
struct _GcalMonthPopover
|
struct _GcalMonthPopover
|
||||||
{
|
{
|
||||||
@@ -274,6 +276,8 @@ reposition_popover (GcalMonthPopover *self,
|
|||||||
|
|
||||||
gtk_window_move (GTK_WINDOW (self), alloc.x - diff_w / 2, alloc.y - diff_h / 2);
|
gtk_window_move (GTK_WINDOW (self), alloc.x - diff_w / 2, alloc.y - diff_h / 2);
|
||||||
|
|
||||||
|
alloc.width = MAX (MIN_WIDTH, alloc.width);
|
||||||
|
|
||||||
if (animate)
|
if (animate)
|
||||||
{
|
{
|
||||||
gtk_widget_set_size_request (GTK_WIDGET (self), alloc.width, alloc.height);
|
gtk_widget_set_size_request (GTK_WIDGET (self), alloc.width, alloc.height);
|
||||||
@@ -399,10 +403,16 @@ new_event_button_clicked_cb (GtkWidget *button,
|
|||||||
GActionMap *map;
|
GActionMap *map;
|
||||||
GAction *action;
|
GAction *action;
|
||||||
|
|
||||||
|
GCAL_ENTRY;
|
||||||
|
|
||||||
map = G_ACTION_MAP (g_application_get_default ());
|
map = G_ACTION_MAP (g_application_get_default ());
|
||||||
action = g_action_map_lookup_action (map, "new");
|
action = g_action_map_lookup_action (map, "new");
|
||||||
|
|
||||||
|
gcal_month_popover_popdown (self);
|
||||||
|
|
||||||
g_action_activate (action, NULL);
|
g_action_activate (action, NULL);
|
||||||
|
|
||||||
|
GCAL_EXIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -846,6 +856,8 @@ gcal_month_popover_popdown (GcalMonthPopover *self)
|
|||||||
gtk_widget_get_toplevel (self->relative_to), 0, 0, &alloc.x, &alloc.y);
|
gtk_widget_get_toplevel (self->relative_to), 0, 0, &alloc.x, &alloc.y);
|
||||||
adjust_margin (self, &alloc);
|
adjust_margin (self, &alloc);
|
||||||
|
|
||||||
|
alloc.width = MAX (MIN_WIDTH, alloc.width);
|
||||||
|
|
||||||
animate_opacity (self, 0.0);
|
animate_opacity (self, 0.0);
|
||||||
animate_position (self, 0.0, 0.0);
|
animate_position (self, 0.0, 0.0);
|
||||||
animate_size (self, alloc.width, alloc.height);
|
animate_size (self, alloc.width, alloc.height);
|
||||||
|
|||||||
+343
-303
@@ -21,6 +21,8 @@
|
|||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "e-cal-data-model-subscriber.h"
|
#include "e-cal-data-model-subscriber.h"
|
||||||
|
#include "gcal-application.h"
|
||||||
|
#include "gcal-clock.h"
|
||||||
#include "gcal-debug.h"
|
#include "gcal-debug.h"
|
||||||
#include "gcal-month-cell.h"
|
#include "gcal-month-cell.h"
|
||||||
#include "gcal-month-popover.h"
|
#include "gcal-month-popover.h"
|
||||||
@@ -124,14 +126,24 @@ struct _GcalMonthView
|
|||||||
gboolean pending_event_allocation;
|
gboolean pending_event_allocation;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static void gcal_view_interface_init (GcalViewInterface *iface);
|
static void gcal_view_interface_init (GcalViewInterface *iface);
|
||||||
|
|
||||||
static void gtk_buildable_interface_init (GtkBuildableIface *iface);
|
static void gtk_buildable_interface_init (GtkBuildableIface *iface);
|
||||||
|
|
||||||
static void e_data_model_subscriber_interface_init (ECalDataModelSubscriberInterface *iface);
|
static void e_data_model_subscriber_interface_init (ECalDataModelSubscriberInterface *iface);
|
||||||
|
|
||||||
static void update_weather (GcalMonthView *self,
|
static void on_event_activated_cb (GcalEventWidget *widget,
|
||||||
gboolean clear_old);
|
GcalMonthView *self);
|
||||||
|
|
||||||
|
static void on_event_widget_visibility_changed_cb (GtkWidget *event_widget,
|
||||||
|
GParamSpec *pspec,
|
||||||
|
GcalMonthView *self);
|
||||||
|
|
||||||
|
static void on_month_cell_show_overflow_popover_cb (GcalMonthCell *cell,
|
||||||
|
GtkWidget *button,
|
||||||
|
GcalMonthView *self);
|
||||||
|
|
||||||
|
|
||||||
G_DEFINE_TYPE_WITH_CODE (GcalMonthView, gcal_month_view, GTK_TYPE_CONTAINER,
|
G_DEFINE_TYPE_WITH_CODE (GcalMonthView, gcal_month_view, GTK_TYPE_CONTAINER,
|
||||||
G_IMPLEMENT_INTERFACE (GCAL_TYPE_VIEW, gcal_view_interface_init)
|
G_IMPLEMENT_INTERFACE (GCAL_TYPE_VIEW, gcal_view_interface_init)
|
||||||
@@ -162,28 +174,13 @@ cancel_selection (GcalMonthView *self)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
event_activated (GcalMonthView *self,
|
activate_event (GcalMonthView *self,
|
||||||
GcalEventWidget *widget,
|
GcalEventWidget *event_widget)
|
||||||
gpointer unused)
|
|
||||||
{
|
{
|
||||||
cancel_selection (self);
|
cancel_selection (self);
|
||||||
gcal_month_popover_popdown (self->overflow_popover);
|
gcal_month_popover_popdown (self->overflow_popover);
|
||||||
|
|
||||||
g_signal_emit_by_name (self, "event-activated", widget);
|
g_signal_emit_by_name (self, "event-activated", event_widget);
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
event_widget_visibility_changed_cb (GcalMonthView *self)
|
|
||||||
{
|
|
||||||
self->pending_event_allocation = TRUE;
|
|
||||||
gtk_widget_queue_resize (GTK_WIDGET (self));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
weather_changed_cb (GcalWeatherService *weather_service,
|
|
||||||
GcalMonthView *self)
|
|
||||||
{
|
|
||||||
update_weather (self, TRUE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -193,8 +190,8 @@ setup_child_widget (GcalMonthView *self,
|
|||||||
if (!gtk_widget_get_parent (widget))
|
if (!gtk_widget_get_parent (widget))
|
||||||
gtk_widget_set_parent (widget, GTK_WIDGET (self));
|
gtk_widget_set_parent (widget, GTK_WIDGET (self));
|
||||||
|
|
||||||
g_signal_connect_swapped (widget, "activate", G_CALLBACK (event_activated), self);
|
g_signal_connect (widget, "activate", G_CALLBACK (on_event_activated_cb), self);
|
||||||
g_signal_connect_swapped (widget, "notify::visible", G_CALLBACK (event_widget_visibility_changed_cb), self);
|
g_signal_connect (widget, "notify::visible", G_CALLBACK (on_event_widget_visibility_changed_cb), self);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
@@ -835,22 +832,6 @@ allocate_single_day_events (GcalMonthView *self,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
show_overflow_popover_cb (GcalMonthCell *cell,
|
|
||||||
GtkWidget *button,
|
|
||||||
GcalMonthView *self)
|
|
||||||
{
|
|
||||||
GcalMonthPopover *popover;
|
|
||||||
|
|
||||||
popover = GCAL_MONTH_POPOVER (self->overflow_popover);
|
|
||||||
|
|
||||||
cancel_selection (self);
|
|
||||||
|
|
||||||
gcal_month_popover_set_relative_to (popover, GTK_WIDGET (cell));
|
|
||||||
gcal_month_popover_set_date (popover, gcal_month_cell_get_date (cell));
|
|
||||||
gcal_month_popover_popup (popover);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
setup_header_widget (GcalMonthView *self,
|
setup_header_widget (GcalMonthView *self,
|
||||||
GtkWidget *widget)
|
GtkWidget *widget)
|
||||||
@@ -876,10 +857,7 @@ setup_month_grid (GcalMonthView *self,
|
|||||||
|
|
||||||
cell = gcal_month_cell_new ();
|
cell = gcal_month_cell_new ();
|
||||||
|
|
||||||
g_signal_connect (cell,
|
g_signal_connect (cell, "show-overflow", G_CALLBACK (on_month_cell_show_overflow_popover_cb), self);
|
||||||
"show-overflow",
|
|
||||||
G_CALLBACK (show_overflow_popover_cb),
|
|
||||||
self);
|
|
||||||
|
|
||||||
self->month_cell[row][col] = cell;
|
self->month_cell[row][col] = cell;
|
||||||
|
|
||||||
@@ -1040,7 +1018,7 @@ static void
|
|||||||
queue_update_month_cells (GcalMonthView *self)
|
queue_update_month_cells (GcalMonthView *self)
|
||||||
{
|
{
|
||||||
if (self->update_grid_id > 0)
|
if (self->update_grid_id > 0)
|
||||||
g_source_remove (self->update_grid_id);
|
return;
|
||||||
|
|
||||||
self->update_grid_id = g_idle_add ((GSourceFunc) update_month_cells, self);
|
self->update_grid_id = g_idle_add ((GSourceFunc) update_month_cells, self);
|
||||||
}
|
}
|
||||||
@@ -1071,164 +1049,11 @@ update_weekday_labels (GcalMonthView *self)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GtkWidget overrides
|
* Callbacks
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static gboolean
|
|
||||||
gcal_month_view_key_press (GtkWidget *widget,
|
|
||||||
GdkEventKey *event)
|
|
||||||
{
|
|
||||||
GcalMonthView *self;
|
|
||||||
gboolean create_event;
|
|
||||||
gboolean selection;
|
|
||||||
gboolean valid_key;
|
|
||||||
gboolean is_ltr;
|
|
||||||
gint min, max, diff, month_change, current_day;
|
|
||||||
gint row, col;
|
|
||||||
|
|
||||||
g_return_val_if_fail (GCAL_IS_MONTH_VIEW (widget), FALSE);
|
|
||||||
|
|
||||||
self = GCAL_MONTH_VIEW (widget);
|
|
||||||
selection = event->state & GDK_SHIFT_MASK;
|
|
||||||
create_event = FALSE;
|
|
||||||
valid_key = FALSE;
|
|
||||||
diff = 0;
|
|
||||||
month_change = 0;
|
|
||||||
current_day = self->keyboard_cell - self->days_delay + 1;
|
|
||||||
min = self->days_delay;
|
|
||||||
max = self->days_delay + icaltime_days_in_month (self->date->month, self->date->year) - 1;
|
|
||||||
is_ltr = gtk_widget_get_direction (widget) != GTK_TEXT_DIR_RTL;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If it's starting the selection right now, it should mark the current keyboard
|
|
||||||
* focused cell as the start, and then update the end mark after updating the
|
|
||||||
* focused cell.
|
|
||||||
*/
|
|
||||||
if (selection && self->start_mark_cell == NULL)
|
|
||||||
self->start_mark_cell = g_date_time_new_local (self->date->year, self->date->month, current_day, 0, 0, 0);
|
|
||||||
|
|
||||||
switch (event->keyval)
|
|
||||||
{
|
|
||||||
case GDK_KEY_Up:
|
|
||||||
valid_key = TRUE;
|
|
||||||
diff = -7;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GDK_KEY_Down:
|
|
||||||
valid_key = TRUE;
|
|
||||||
diff = 7;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GDK_KEY_Left:
|
|
||||||
valid_key = TRUE;
|
|
||||||
diff = is_ltr ? -1 : 1;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GDK_KEY_Right:
|
|
||||||
valid_key = TRUE;
|
|
||||||
diff = is_ltr ? 1 : -1;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GDK_KEY_Return:
|
|
||||||
/*
|
|
||||||
* If it's not on the selection mode (i.e. shift is not pressed), we should
|
|
||||||
* simulate it by changing the start & end selected cells = keyboard cell.
|
|
||||||
*/
|
|
||||||
if (!selection && !self->start_mark_cell && !self->end_mark_cell)
|
|
||||||
self->start_mark_cell = self->end_mark_cell = g_date_time_new_local (self->date->year, self->date->month, current_day, 0, 0, 0);
|
|
||||||
|
|
||||||
create_event = TRUE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GDK_KEY_Escape:
|
|
||||||
cancel_selection (GCAL_MONTH_VIEW (widget));
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return GDK_EVENT_PROPAGATE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (self->keyboard_cell + diff <= max && self->keyboard_cell + diff >= min)
|
|
||||||
{
|
|
||||||
self->keyboard_cell += diff;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
month_change = self->keyboard_cell + diff > max ? 1 : -1;
|
|
||||||
self->date->month += month_change;
|
|
||||||
*self->date = icaltime_normalize (*self->date);
|
|
||||||
|
|
||||||
self->days_delay = (time_day_of_week (1, self->date->month - 1, self->date->year) - self->first_weekday + 7) % 7;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set keyboard cell value to the sum or difference of days delay of successive
|
|
||||||
* month or last day of preceeding month and overload value depending on
|
|
||||||
* month_change. Overload value is the equal to the deviation of the value
|
|
||||||
* of keboard_cell from the min or max value of the current month depending
|
|
||||||
* on the overload point.
|
|
||||||
*/
|
|
||||||
if (month_change == 1)
|
|
||||||
self->keyboard_cell = self->days_delay + self->keyboard_cell + diff - max - 1;
|
|
||||||
else
|
|
||||||
self->keyboard_cell = self->days_delay + icaltime_days_in_month (self->date->month, self->date->year) - min + self->keyboard_cell + diff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Focus the selected month cell */
|
|
||||||
row = self->keyboard_cell / 7;
|
|
||||||
col = self->keyboard_cell % 7;
|
|
||||||
|
|
||||||
gtk_widget_grab_focus (self->month_cell[row][col]);
|
|
||||||
|
|
||||||
current_day = self->keyboard_cell - self->days_delay + 1;
|
|
||||||
self->date->day = current_day;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* We can only emit the :create-event signal ~after~ grabbing the focus, otherwise
|
|
||||||
* the popover is instantly hidden.
|
|
||||||
*/
|
|
||||||
if (create_event)
|
|
||||||
emit_create_event (self);
|
|
||||||
|
|
||||||
g_object_notify (G_OBJECT (widget), "active-date");
|
|
||||||
|
|
||||||
if (selection)
|
|
||||||
{
|
|
||||||
self->end_mark_cell = g_date_time_new_local (self->date->year, self->date->month, current_day, 0, 0, 0);
|
|
||||||
}
|
|
||||||
else if (!selection && valid_key)
|
|
||||||
{
|
|
||||||
/* Cancel selection if SHIFT is not pressed */
|
|
||||||
cancel_selection (GCAL_MONTH_VIEW (widget));
|
|
||||||
}
|
|
||||||
|
|
||||||
return GDK_EVENT_STOP;
|
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
|
||||||
gcal_month_view_scroll_event (GtkWidget *widget,
|
|
||||||
GdkEventScroll *scroll_event)
|
|
||||||
{
|
|
||||||
GcalMonthView *self = GCAL_MONTH_VIEW (widget);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If we accumulated enough scrolling, change the month. Otherwise, we'd scroll
|
|
||||||
* waaay too fast.
|
|
||||||
*/
|
|
||||||
if (should_change_date_for_scroll (&self->scroll_value, scroll_event))
|
|
||||||
{
|
|
||||||
self->date->month += self->scroll_value > 0 ? 1 : -1;
|
|
||||||
*self->date = icaltime_normalize (*self->date);
|
|
||||||
self->scroll_value = 0;
|
|
||||||
|
|
||||||
gtk_widget_queue_draw (widget);
|
|
||||||
|
|
||||||
g_object_notify (G_OBJECT (widget), "active-date");
|
|
||||||
}
|
|
||||||
|
|
||||||
return GDK_EVENT_STOP;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
add_new_event_button_cb (GtkWidget *button,
|
add_new_event_button_cb (GtkWidget *button,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
@@ -1249,7 +1074,58 @@ add_new_event_button_cb (GtkWidget *button,
|
|||||||
g_date_time_unref (start_date);
|
g_date_time_unref (start_date);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* GcalView Interface API */
|
static void
|
||||||
|
on_event_activated_cb (GcalEventWidget *widget,
|
||||||
|
GcalMonthView *self)
|
||||||
|
{
|
||||||
|
activate_event (self, widget);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
on_event_widget_visibility_changed_cb (GtkWidget *event_widget,
|
||||||
|
GParamSpec *pspec,
|
||||||
|
GcalMonthView *self)
|
||||||
|
{
|
||||||
|
self->pending_event_allocation = TRUE;
|
||||||
|
gtk_widget_queue_resize (GTK_WIDGET (self));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
on_month_cell_show_overflow_popover_cb (GcalMonthCell *cell,
|
||||||
|
GtkWidget *button,
|
||||||
|
GcalMonthView *self)
|
||||||
|
{
|
||||||
|
GcalMonthPopover *popover;
|
||||||
|
|
||||||
|
popover = GCAL_MONTH_POPOVER (self->overflow_popover);
|
||||||
|
|
||||||
|
cancel_selection (self);
|
||||||
|
|
||||||
|
gcal_month_popover_set_relative_to (popover, GTK_WIDGET (cell));
|
||||||
|
gcal_month_popover_set_date (popover, gcal_month_cell_get_date (cell));
|
||||||
|
gcal_month_popover_popup (popover);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
on_month_popover_event_activated_cb (GcalMonthPopover *month_popover,
|
||||||
|
GcalEventWidget *event_widget,
|
||||||
|
GcalMonthView *self)
|
||||||
|
{
|
||||||
|
activate_event (self, event_widget);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
on_weather_service_weather_changed_cb (GcalWeatherService *weather_service,
|
||||||
|
GcalMonthView *self)
|
||||||
|
{
|
||||||
|
update_weather (self, TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GcalView interface
|
||||||
|
*/
|
||||||
|
|
||||||
static icaltimetype*
|
static icaltimetype*
|
||||||
gcal_month_view_get_date (GcalView *view)
|
gcal_month_view_get_date (GcalView *view)
|
||||||
{
|
{
|
||||||
@@ -1348,6 +1224,7 @@ gtk_buildable_interface_init (GtkBuildableIface *iface)
|
|||||||
iface->add_child = gcal_month_view_add_child;
|
iface->add_child = gcal_month_view_add_child;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ECalDataModelSubscriber interface
|
* ECalDataModelSubscriber interface
|
||||||
*/
|
*/
|
||||||
@@ -1494,6 +1371,7 @@ e_data_model_subscriber_interface_init (ECalDataModelSubscriberInterface *iface)
|
|||||||
iface->thaw = gcal_month_view_thaw;
|
iface->thaw = gcal_month_view_thaw;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GtkContainer overrides
|
* GtkContainer overrides
|
||||||
*/
|
*/
|
||||||
@@ -1690,7 +1568,7 @@ gcal_month_view_forall (GtkContainer *container,
|
|||||||
if (self->header)
|
if (self->header)
|
||||||
(*callback) (self->header, callback_data);
|
(*callback) (self->header, callback_data);
|
||||||
|
|
||||||
/* Header */
|
/* Grid */
|
||||||
if (self->grid)
|
if (self->grid)
|
||||||
(*callback) (self->grid, callback_data);
|
(*callback) (self->grid, callback_data);
|
||||||
|
|
||||||
@@ -1716,107 +1594,9 @@ gcal_month_view_forall (GtkContainer *container,
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GObject overrides
|
* GtkWidget overrides
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void
|
|
||||||
gcal_month_view_set_property (GObject *object,
|
|
||||||
guint property_id,
|
|
||||||
const GValue *value,
|
|
||||||
GParamSpec *pspec)
|
|
||||||
{
|
|
||||||
GcalMonthView *self = (GcalMonthView *) object;
|
|
||||||
gint i;
|
|
||||||
|
|
||||||
switch (property_id)
|
|
||||||
{
|
|
||||||
case PROP_DATE:
|
|
||||||
gcal_view_set_date (GCAL_VIEW (object), g_value_get_boxed (value));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PROP_MANAGER:
|
|
||||||
self->manager = g_value_dup_object (value);
|
|
||||||
|
|
||||||
g_signal_connect_swapped (gcal_manager_get_clock (self->manager),
|
|
||||||
"day-changed",
|
|
||||||
G_CALLBACK (update_month_cells),
|
|
||||||
self);
|
|
||||||
|
|
||||||
for (i = 0; i < 42; i++)
|
|
||||||
gcal_month_cell_set_manager (GCAL_MONTH_CELL (self->month_cell[i / 7][i % 7]), self->manager);
|
|
||||||
|
|
||||||
g_object_notify (object, "manager");
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PROP_WEATHER_SERVICE:
|
|
||||||
gcal_view_set_weather_service_impl_helper (&self->weather_service,
|
|
||||||
g_value_get_object (value),
|
|
||||||
(GcalWeatherUpdateFunc) update_weather,
|
|
||||||
(GCallback) weather_changed_cb,
|
|
||||||
GTK_WIDGET (self));
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
gcal_month_view_get_property (GObject *object,
|
|
||||||
guint property_id,
|
|
||||||
GValue *value,
|
|
||||||
GParamSpec *pspec)
|
|
||||||
{
|
|
||||||
GcalMonthView *self = GCAL_MONTH_VIEW (object);
|
|
||||||
|
|
||||||
switch (property_id)
|
|
||||||
{
|
|
||||||
case PROP_DATE:
|
|
||||||
g_value_set_boxed (value, self->date);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PROP_MANAGER:
|
|
||||||
g_value_set_object (value, self->manager);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PROP_WEATHER_SERVICE:
|
|
||||||
g_value_set_boxed (value, self->weather_service);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
gcal_month_view_finalize (GObject *object)
|
|
||||||
{
|
|
||||||
GcalMonthView *self = GCAL_MONTH_VIEW (object);
|
|
||||||
|
|
||||||
if (self->weather_service)
|
|
||||||
g_signal_handlers_disconnect_by_func (self->weather_service, weather_changed_cb, self);
|
|
||||||
|
|
||||||
g_clear_pointer (&self->date, g_free);
|
|
||||||
g_clear_pointer (&self->children, g_hash_table_destroy);
|
|
||||||
g_clear_pointer (&self->single_cell_children, g_hash_table_destroy);
|
|
||||||
g_clear_pointer (&self->overflow_cells, g_hash_table_destroy);
|
|
||||||
g_clear_pointer (&self->multi_cell_children, g_list_free);
|
|
||||||
|
|
||||||
g_clear_object (&self->manager);
|
|
||||||
g_clear_object (&self->weather_service);
|
|
||||||
|
|
||||||
if (self->update_grid_id > 0)
|
|
||||||
{
|
|
||||||
g_source_remove (self->update_grid_id);
|
|
||||||
self->update_grid_id = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Chain up to parent's finalize() method. */
|
|
||||||
G_OBJECT_CLASS (gcal_month_view_parent_class)->finalize (object);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gcal_month_view_realize (GtkWidget *widget)
|
gcal_month_view_realize (GtkWidget *widget)
|
||||||
{
|
{
|
||||||
@@ -2132,6 +1912,255 @@ gcal_month_view_direction_changed (GtkWidget *widget,
|
|||||||
gtk_widget_queue_resize (widget);
|
gtk_widget_queue_resize (widget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gcal_month_view_key_press (GtkWidget *widget,
|
||||||
|
GdkEventKey *event)
|
||||||
|
{
|
||||||
|
GcalMonthView *self;
|
||||||
|
gboolean create_event;
|
||||||
|
gboolean selection;
|
||||||
|
gboolean valid_key;
|
||||||
|
gboolean is_ltr;
|
||||||
|
gint min, max, diff, month_change, current_day;
|
||||||
|
gint row, col;
|
||||||
|
|
||||||
|
g_return_val_if_fail (GCAL_IS_MONTH_VIEW (widget), FALSE);
|
||||||
|
|
||||||
|
self = GCAL_MONTH_VIEW (widget);
|
||||||
|
selection = event->state & GDK_SHIFT_MASK;
|
||||||
|
create_event = FALSE;
|
||||||
|
valid_key = FALSE;
|
||||||
|
diff = 0;
|
||||||
|
month_change = 0;
|
||||||
|
current_day = self->keyboard_cell - self->days_delay + 1;
|
||||||
|
min = self->days_delay;
|
||||||
|
max = self->days_delay + icaltime_days_in_month (self->date->month, self->date->year) - 1;
|
||||||
|
is_ltr = gtk_widget_get_direction (widget) != GTK_TEXT_DIR_RTL;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If it's starting the selection right now, it should mark the current keyboard
|
||||||
|
* focused cell as the start, and then update the end mark after updating the
|
||||||
|
* focused cell.
|
||||||
|
*/
|
||||||
|
if (selection && self->start_mark_cell == NULL)
|
||||||
|
self->start_mark_cell = g_date_time_new_local (self->date->year, self->date->month, current_day, 0, 0, 0);
|
||||||
|
|
||||||
|
switch (event->keyval)
|
||||||
|
{
|
||||||
|
case GDK_KEY_Up:
|
||||||
|
valid_key = TRUE;
|
||||||
|
diff = -7;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GDK_KEY_Down:
|
||||||
|
valid_key = TRUE;
|
||||||
|
diff = 7;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GDK_KEY_Left:
|
||||||
|
valid_key = TRUE;
|
||||||
|
diff = is_ltr ? -1 : 1;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GDK_KEY_Right:
|
||||||
|
valid_key = TRUE;
|
||||||
|
diff = is_ltr ? 1 : -1;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GDK_KEY_Return:
|
||||||
|
/*
|
||||||
|
* If it's not on the selection mode (i.e. shift is not pressed), we should
|
||||||
|
* simulate it by changing the start & end selected cells = keyboard cell.
|
||||||
|
*/
|
||||||
|
if (!selection && !self->start_mark_cell && !self->end_mark_cell)
|
||||||
|
self->start_mark_cell = self->end_mark_cell = g_date_time_new_local (self->date->year, self->date->month, current_day, 0, 0, 0);
|
||||||
|
|
||||||
|
create_event = TRUE;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GDK_KEY_Escape:
|
||||||
|
cancel_selection (GCAL_MONTH_VIEW (widget));
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return GDK_EVENT_PROPAGATE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (self->keyboard_cell + diff <= max && self->keyboard_cell + diff >= min)
|
||||||
|
{
|
||||||
|
self->keyboard_cell += diff;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
month_change = self->keyboard_cell + diff > max ? 1 : -1;
|
||||||
|
self->date->month += month_change;
|
||||||
|
*self->date = icaltime_normalize (*self->date);
|
||||||
|
|
||||||
|
self->days_delay = (time_day_of_week (1, self->date->month - 1, self->date->year) - self->first_weekday + 7) % 7;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set keyboard cell value to the sum or difference of days delay of successive
|
||||||
|
* month or last day of preceeding month and overload value depending on
|
||||||
|
* month_change. Overload value is the equal to the deviation of the value
|
||||||
|
* of keboard_cell from the min or max value of the current month depending
|
||||||
|
* on the overload point.
|
||||||
|
*/
|
||||||
|
if (month_change == 1)
|
||||||
|
self->keyboard_cell = self->days_delay + self->keyboard_cell + diff - max - 1;
|
||||||
|
else
|
||||||
|
self->keyboard_cell = self->days_delay + icaltime_days_in_month (self->date->month, self->date->year) - min + self->keyboard_cell + diff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Focus the selected month cell */
|
||||||
|
row = self->keyboard_cell / 7;
|
||||||
|
col = self->keyboard_cell % 7;
|
||||||
|
|
||||||
|
gtk_widget_grab_focus (self->month_cell[row][col]);
|
||||||
|
|
||||||
|
current_day = self->keyboard_cell - self->days_delay + 1;
|
||||||
|
self->date->day = current_day;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* We can only emit the :create-event signal ~after~ grabbing the focus, otherwise
|
||||||
|
* the popover is instantly hidden.
|
||||||
|
*/
|
||||||
|
if (create_event)
|
||||||
|
emit_create_event (self);
|
||||||
|
|
||||||
|
g_object_notify (G_OBJECT (widget), "active-date");
|
||||||
|
|
||||||
|
if (selection)
|
||||||
|
{
|
||||||
|
self->end_mark_cell = g_date_time_new_local (self->date->year, self->date->month, current_day, 0, 0, 0);
|
||||||
|
}
|
||||||
|
else if (!selection && valid_key)
|
||||||
|
{
|
||||||
|
/* Cancel selection if SHIFT is not pressed */
|
||||||
|
cancel_selection (GCAL_MONTH_VIEW (widget));
|
||||||
|
}
|
||||||
|
|
||||||
|
return GDK_EVENT_STOP;
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gcal_month_view_scroll_event (GtkWidget *widget,
|
||||||
|
GdkEventScroll *scroll_event)
|
||||||
|
{
|
||||||
|
GcalMonthView *self = GCAL_MONTH_VIEW (widget);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If we accumulated enough scrolling, change the month. Otherwise, we'd scroll
|
||||||
|
* waaay too fast.
|
||||||
|
*/
|
||||||
|
if (should_change_date_for_scroll (&self->scroll_value, scroll_event))
|
||||||
|
{
|
||||||
|
self->date->month += self->scroll_value > 0 ? 1 : -1;
|
||||||
|
*self->date = icaltime_normalize (*self->date);
|
||||||
|
self->scroll_value = 0;
|
||||||
|
|
||||||
|
gtk_widget_queue_draw (widget);
|
||||||
|
|
||||||
|
g_object_notify (G_OBJECT (widget), "active-date");
|
||||||
|
}
|
||||||
|
|
||||||
|
return GDK_EVENT_STOP;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GObject overrides
|
||||||
|
*/
|
||||||
|
|
||||||
|
static void
|
||||||
|
gcal_month_view_set_property (GObject *object,
|
||||||
|
guint property_id,
|
||||||
|
const GValue *value,
|
||||||
|
GParamSpec *pspec)
|
||||||
|
{
|
||||||
|
GcalMonthView *self = (GcalMonthView *) object;
|
||||||
|
gint i;
|
||||||
|
|
||||||
|
switch (property_id)
|
||||||
|
{
|
||||||
|
case PROP_DATE:
|
||||||
|
gcal_view_set_date (GCAL_VIEW (object), g_value_get_boxed (value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PROP_MANAGER:
|
||||||
|
self->manager = g_value_dup_object (value);
|
||||||
|
|
||||||
|
for (i = 0; i < 42; i++)
|
||||||
|
gcal_month_cell_set_manager (GCAL_MONTH_CELL (self->month_cell[i / 7][i % 7]), self->manager);
|
||||||
|
|
||||||
|
g_object_notify (object, "manager");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PROP_WEATHER_SERVICE:
|
||||||
|
gcal_view_set_weather_service_impl_helper (&self->weather_service,
|
||||||
|
g_value_get_object (value),
|
||||||
|
(GcalWeatherUpdateFunc) update_weather,
|
||||||
|
G_CALLBACK (on_weather_service_weather_changed_cb),
|
||||||
|
GTK_WIDGET (self));
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gcal_month_view_get_property (GObject *object,
|
||||||
|
guint property_id,
|
||||||
|
GValue *value,
|
||||||
|
GParamSpec *pspec)
|
||||||
|
{
|
||||||
|
GcalMonthView *self = GCAL_MONTH_VIEW (object);
|
||||||
|
|
||||||
|
switch (property_id)
|
||||||
|
{
|
||||||
|
case PROP_DATE:
|
||||||
|
g_value_set_boxed (value, self->date);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PROP_MANAGER:
|
||||||
|
g_value_set_object (value, self->manager);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PROP_WEATHER_SERVICE:
|
||||||
|
g_value_set_boxed (value, self->weather_service);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gcal_month_view_finalize (GObject *object)
|
||||||
|
{
|
||||||
|
GcalMonthView *self = GCAL_MONTH_VIEW (object);
|
||||||
|
|
||||||
|
g_clear_pointer (&self->date, g_free);
|
||||||
|
g_clear_pointer (&self->children, g_hash_table_destroy);
|
||||||
|
g_clear_pointer (&self->single_cell_children, g_hash_table_destroy);
|
||||||
|
g_clear_pointer (&self->overflow_cells, g_hash_table_destroy);
|
||||||
|
g_clear_pointer (&self->multi_cell_children, g_list_free);
|
||||||
|
|
||||||
|
g_clear_object (&self->manager);
|
||||||
|
g_clear_object (&self->weather_service);
|
||||||
|
|
||||||
|
if (self->update_grid_id > 0)
|
||||||
|
{
|
||||||
|
g_source_remove (self->update_grid_id);
|
||||||
|
self->update_grid_id = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Chain up to parent's finalize() method. */
|
||||||
|
G_OBJECT_CLASS (gcal_month_view_parent_class)->finalize (object);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gcal_month_view_class_init (GcalMonthViewClass *klass)
|
gcal_month_view_class_init (GcalMonthViewClass *klass)
|
||||||
{
|
{
|
||||||
@@ -2188,6 +2217,8 @@ gcal_month_view_class_init (GcalMonthViewClass *klass)
|
|||||||
static void
|
static void
|
||||||
gcal_month_view_init (GcalMonthView *self)
|
gcal_month_view_init (GcalMonthView *self)
|
||||||
{
|
{
|
||||||
|
GcalApplication *application;
|
||||||
|
|
||||||
gtk_widget_init_template (GTK_WIDGET (self));
|
gtk_widget_init_template (GTK_WIDGET (self));
|
||||||
|
|
||||||
gtk_widget_set_has_window (GTK_WIDGET (self), FALSE);
|
gtk_widget_set_has_window (GTK_WIDGET (self), FALSE);
|
||||||
@@ -2221,9 +2252,18 @@ gcal_month_view_init (GcalMonthView *self)
|
|||||||
"manager",
|
"manager",
|
||||||
G_BINDING_DEFAULT);
|
G_BINDING_DEFAULT);
|
||||||
|
|
||||||
g_signal_connect_swapped (self->overflow_popover,
|
g_signal_connect (self->overflow_popover, "event-activated", G_CALLBACK (on_month_popover_event_activated_cb), self);
|
||||||
"event-activated",
|
|
||||||
G_CALLBACK (event_activated),
|
|
||||||
self);
|
/* Connect to the wall clock */
|
||||||
|
application = GCAL_APPLICATION (g_application_get_default ());
|
||||||
|
|
||||||
|
g_assert (application != NULL);
|
||||||
|
|
||||||
|
g_signal_connect_object (gcal_application_get_clock (application),
|
||||||
|
"day-changed",
|
||||||
|
G_CALLBACK (update_month_cells),
|
||||||
|
self,
|
||||||
|
G_CONNECT_SWAPPED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -218,7 +218,7 @@ gcal_view_set_weather_service_impl_helper (GcalWeatherService **old_service,
|
|||||||
g_set_object (old_service, new_service);
|
g_set_object (old_service, new_service);
|
||||||
|
|
||||||
if (*old_service)
|
if (*old_service)
|
||||||
g_signal_connect (*old_service, "weather-changed", weather_changed_cb, data);
|
g_signal_connect_object (*old_service, "weather-changed", weather_changed_cb, data, 0);
|
||||||
|
|
||||||
update_func (data);
|
update_func (data);
|
||||||
g_object_notify (G_OBJECT (data), "weather-service");
|
g_object_notify (G_OBJECT (data), "weather-service");
|
||||||
|
|||||||
+19
-10
@@ -19,6 +19,8 @@
|
|||||||
|
|
||||||
#define G_LOG_DOMAIN "GcalWeekGrid"
|
#define G_LOG_DOMAIN "GcalWeekGrid"
|
||||||
|
|
||||||
|
#include "gcal-application.h"
|
||||||
|
#include "gcal-clock.h"
|
||||||
#include "gcal-debug.h"
|
#include "gcal-debug.h"
|
||||||
#include "gcal-week-grid.h"
|
#include "gcal-week-grid.h"
|
||||||
#include "gcal-week-view.h"
|
#include "gcal-week-view.h"
|
||||||
@@ -152,11 +154,12 @@ get_event_range (GcalWeekGrid *self,
|
|||||||
|
|
||||||
if (end)
|
if (end)
|
||||||
{
|
{
|
||||||
|
g_autoptr (GDateTime) inclusive_end_date = NULL;
|
||||||
GDateTime *event_end;
|
g_autoptr (GDateTime) event_end = NULL;
|
||||||
gboolean event_end_dst;
|
gboolean event_end_dst;
|
||||||
|
|
||||||
event_end = g_date_time_to_local (gcal_event_get_date_end (event));
|
inclusive_end_date = g_date_time_add_seconds (gcal_event_get_date_end (event), -1);
|
||||||
|
event_end = g_date_time_to_local (inclusive_end_date);
|
||||||
event_end_dst = g_date_time_is_daylight_savings (event_end);
|
event_end_dst = g_date_time_is_daylight_savings (event_end);
|
||||||
|
|
||||||
diff = g_date_time_difference (event_end, week_start);
|
diff = g_date_time_difference (event_end, week_start);
|
||||||
@@ -171,8 +174,6 @@ get_event_range (GcalWeekGrid *self,
|
|||||||
*/
|
*/
|
||||||
if (start && *start == *end)
|
if (start && *start == *end)
|
||||||
*end = *end + 1;
|
*end = *end + 1;
|
||||||
|
|
||||||
g_clear_pointer (&event_end, g_date_time_unref);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
g_clear_pointer (&week_start, g_date_time_unref);
|
g_clear_pointer (&week_start, g_date_time_unref);
|
||||||
@@ -1110,6 +1111,8 @@ gcal_week_grid_class_init (GcalWeekGridClass *klass)
|
|||||||
static void
|
static void
|
||||||
gcal_week_grid_init (GcalWeekGrid *self)
|
gcal_week_grid_init (GcalWeekGrid *self)
|
||||||
{
|
{
|
||||||
|
GcalApplication *application;
|
||||||
|
|
||||||
gtk_widget_set_has_window (GTK_WIDGET (self), FALSE);
|
gtk_widget_set_has_window (GTK_WIDGET (self), FALSE);
|
||||||
|
|
||||||
self->selection_start = -1;
|
self->selection_start = -1;
|
||||||
@@ -1124,6 +1127,17 @@ gcal_week_grid_init (GcalWeekGrid *self)
|
|||||||
NULL,
|
NULL,
|
||||||
0,
|
0,
|
||||||
GDK_ACTION_MOVE);
|
GDK_ACTION_MOVE);
|
||||||
|
|
||||||
|
/* Connect to the wall clock */
|
||||||
|
application = GCAL_APPLICATION (g_application_get_default ());
|
||||||
|
|
||||||
|
g_assert (application != NULL);
|
||||||
|
|
||||||
|
g_signal_connect_object (gcal_application_get_clock (application),
|
||||||
|
"minute-changed",
|
||||||
|
G_CALLBACK (gtk_widget_queue_draw),
|
||||||
|
self,
|
||||||
|
G_CONNECT_SWAPPED);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Public API */
|
/* Public API */
|
||||||
@@ -1134,11 +1148,6 @@ gcal_week_grid_set_manager (GcalWeekGrid *self,
|
|||||||
g_return_if_fail (GCAL_IS_WEEK_GRID (self));
|
g_return_if_fail (GCAL_IS_WEEK_GRID (self));
|
||||||
|
|
||||||
self->manager = manager;
|
self->manager = manager;
|
||||||
|
|
||||||
g_signal_connect_swapped (gcal_manager_get_clock (manager),
|
|
||||||
"minute-changed",
|
|
||||||
G_CALLBACK (gtk_widget_queue_draw),
|
|
||||||
self);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -21,6 +21,8 @@
|
|||||||
|
|
||||||
#define G_LOG_DOMAIN "GcalWeekHeader"
|
#define G_LOG_DOMAIN "GcalWeekHeader"
|
||||||
|
|
||||||
|
#include "gcal-application.h"
|
||||||
|
#include "gcal-clock.h"
|
||||||
#include "gcal-debug.h"
|
#include "gcal-debug.h"
|
||||||
#include "gcal-event-widget.h"
|
#include "gcal-event-widget.h"
|
||||||
#include "gcal-utils.h"
|
#include "gcal-utils.h"
|
||||||
@@ -1095,13 +1097,7 @@ gcal_week_header_finalize (GObject *object)
|
|||||||
for (i = 0; i < 7; i++)
|
for (i = 0; i < 7; i++)
|
||||||
g_list_free (self->events[i]);
|
g_list_free (self->events[i]);
|
||||||
|
|
||||||
if (self->weather_service != NULL)
|
g_clear_object (&self->weather_service);
|
||||||
{
|
|
||||||
g_signal_handlers_disconnect_by_func (self->weather_service,
|
|
||||||
(GCallback) on_weather_update,
|
|
||||||
self);
|
|
||||||
g_clear_object (&self->weather_service);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < G_N_ELEMENTS (self->weather_infos); i++)
|
for (i = 0; i < G_N_ELEMENTS (self->weather_infos); i++)
|
||||||
wid_clear (&self->weather_infos[i]);
|
wid_clear (&self->weather_infos[i]);
|
||||||
@@ -1670,6 +1666,8 @@ gcal_week_header_class_init (GcalWeekHeaderClass *kclass)
|
|||||||
static void
|
static void
|
||||||
gcal_week_header_init (GcalWeekHeader *self)
|
gcal_week_header_init (GcalWeekHeader *self)
|
||||||
{
|
{
|
||||||
|
GcalApplication *application;
|
||||||
|
|
||||||
self->expanded = FALSE;
|
self->expanded = FALSE;
|
||||||
self->selection_start = -1;
|
self->selection_start = -1;
|
||||||
self->selection_end = -1;
|
self->selection_end = -1;
|
||||||
@@ -1689,6 +1687,17 @@ G_GNUC_END_IGNORE_DEPRECATIONS
|
|||||||
NULL,
|
NULL,
|
||||||
0,
|
0,
|
||||||
GDK_ACTION_MOVE);
|
GDK_ACTION_MOVE);
|
||||||
|
|
||||||
|
/* Connect to the wall clock */
|
||||||
|
application = GCAL_APPLICATION (g_application_get_default ());
|
||||||
|
|
||||||
|
g_assert (application != NULL);
|
||||||
|
|
||||||
|
g_signal_connect_object (gcal_application_get_clock (application),
|
||||||
|
"day-changed",
|
||||||
|
G_CALLBACK (gtk_widget_queue_draw),
|
||||||
|
self,
|
||||||
|
G_CONNECT_SWAPPED);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Private API */
|
/* Private API */
|
||||||
@@ -1819,11 +1828,6 @@ gcal_week_header_set_manager (GcalWeekHeader *self,
|
|||||||
g_return_if_fail (GCAL_IS_WEEK_HEADER (self));
|
g_return_if_fail (GCAL_IS_WEEK_HEADER (self));
|
||||||
|
|
||||||
self->manager = manager;
|
self->manager = manager;
|
||||||
|
|
||||||
g_signal_connect_swapped (gcal_manager_get_clock (manager),
|
|
||||||
"day-changed",
|
|
||||||
G_CALLBACK (gtk_widget_queue_draw),
|
|
||||||
self);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
#define G_LOG_DOMAIN "GcalYearView"
|
#define G_LOG_DOMAIN "GcalYearView"
|
||||||
|
|
||||||
|
#include "gcal-application.h"
|
||||||
|
#include "gcal-clock.h"
|
||||||
#include "gcal-debug.h"
|
#include "gcal-debug.h"
|
||||||
#include "gcal-year-view.h"
|
#include "gcal-year-view.h"
|
||||||
#include "gcal-view.h"
|
#include "gcal-view.h"
|
||||||
@@ -1662,12 +1664,6 @@ gcal_year_view_set_property (GObject *object,
|
|||||||
|
|
||||||
case PROP_MANAGER:
|
case PROP_MANAGER:
|
||||||
self->manager = g_value_dup_object (value);
|
self->manager = g_value_dup_object (value);
|
||||||
|
|
||||||
g_signal_connect_swapped (gcal_manager_get_clock (self->manager),
|
|
||||||
"day-changed",
|
|
||||||
G_CALLBACK (gtk_widget_queue_draw),
|
|
||||||
self->navigator);
|
|
||||||
|
|
||||||
g_object_notify (object, "manager");
|
g_object_notify (object, "manager");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -2011,6 +2007,7 @@ gcal_year_view_class_init (GcalYearViewClass *klass)
|
|||||||
static void
|
static void
|
||||||
gcal_year_view_init (GcalYearView *self)
|
gcal_year_view_init (GcalYearView *self)
|
||||||
{
|
{
|
||||||
|
GcalApplication *application;
|
||||||
guint i;
|
guint i;
|
||||||
|
|
||||||
self->weather_service = NULL;
|
self->weather_service = NULL;
|
||||||
@@ -2053,6 +2050,17 @@ gcal_year_view_init (GcalYearView *self)
|
|||||||
NULL,
|
NULL,
|
||||||
0,
|
0,
|
||||||
GDK_ACTION_MOVE);
|
GDK_ACTION_MOVE);
|
||||||
|
|
||||||
|
/* Connect to the wall clock */
|
||||||
|
application = GCAL_APPLICATION (g_application_get_default ());
|
||||||
|
|
||||||
|
g_assert (application != NULL);
|
||||||
|
|
||||||
|
g_signal_connect_object (gcal_application_get_clock (application),
|
||||||
|
"day-changed",
|
||||||
|
G_CALLBACK (gtk_widget_queue_draw),
|
||||||
|
self,
|
||||||
|
G_CONNECT_SWAPPED);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
+1
-1
@@ -197,7 +197,7 @@ static void
|
|||||||
event_date_multiday (void)
|
event_date_multiday (void)
|
||||||
{
|
{
|
||||||
const gchar * const events[] = {
|
const gchar * const events[] = {
|
||||||
EVENT_STRING_FOR_DATE ("20160229T000000Z", "20160301T000001Z"),
|
EVENT_STRING_FOR_DATE ("20160229T000000Z", "20160302T000001Z"),
|
||||||
EVENT_STRING_FOR_DATE ("20160229T020000Z", "20160310T004500Z"),
|
EVENT_STRING_FOR_DATE ("20160229T020000Z", "20160310T004500Z"),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user