time-selector: make it GtkMenuButton descendant

With it, it is up to Gtk+ to handle the popover.
This commit is contained in:
Georges Basile Stavracas Neto
2015-01-03 15:11:20 -02:00
parent ecb4cb24d6
commit fa014972bc
3 changed files with 91 additions and 109 deletions
+76 -55
View File
@@ -1,74 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="GcalTimeSelector" parent="GtkMenuButton">
<property name="use_popover">True</property>
<property name="popover">time_selector_popover</property>
<child>
<object class="GtkLabel" id="time_label">
<property name="visible">True</property>
<property name="label" translatable="yes">00:00</property>
</object>
</child>
</template>
<object class="GtkAdjustment" id="hour_adjustment">
<property name="upper">23</property>
<property name="step_increment">1</property>
<property name="page_increment">5</property>
<signal name="value-changed" handler="time_changed" object="GcalTimeSelector" swapped="no"/>
</object>
<object class="GtkAdjustment" id="minute_adjustment">
<property name="upper">59</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
<signal name="value-changed" handler="time_changed" object="GcalTimeSelector" swapped="no"/>
</object>
<object class="GtkGrid" id="grid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">12</property>
<property name="column_spacing">6</property>
<object class="GtkPopover" id="time_selector_popover">
<property name="visible">False</property>
<property name="position">bottom</property>
<child>
<object class="GtkSpinButton" id="hour_spin">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="xalign">0.5</property>
<property name="input_purpose">number</property>
<property name="orientation">vertical</property>
<property name="adjustment">hour_adjustment</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="minute_spin">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="xalign">0.5</property>
<property name="input_purpose">number</property>
<property name="orientation">vertical</property>
<property name="adjustment">minute_adjustment</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label1">
<object class="GtkGrid" id="grid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">:</property>
<property name="border_width">12</property>
<property name="column_spacing">6</property>
<child>
<object class="GtkSpinButton" id="hour_spin">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="xalign">0.5</property>
<property name="input_purpose">number</property>
<property name="orientation">vertical</property>
<property name="adjustment">hour_adjustment</property>
<signal name="output" handler="on_output" object="GcalTimeSelector" swapped="no"/>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="minute_spin">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="xalign">0.5</property>
<property name="input_purpose">number</property>
<property name="orientation">vertical</property>
<property name="adjustment">minute_adjustment</property>
<signal name="output" handler="on_output" object="GcalTimeSelector" swapped="no"/>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">:</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="period_combo">
<property name="visible">False</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
<property name="active">0</property>
<signal name="changed" handler="period_changed" object="GcalTimeSelector" swapped="no"/>
<items>
<item translatable="yes">AM</item>
<item translatable="yes">PM</item>
</items>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="period_combo">
<property name="visible">False</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
<property name="active">0</property>
<items>
<item translatable="yes">AM</item>
<item translatable="yes">PM</item>
</items>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">0</property>
</packing>
</child>
</object>
</interface>