window: replace New Event with Today button
As Lapo rightfully explain, providing a button there for creating a new event is way to prominently and might divert users of the intended click on a cell behavior to create an event. New event will be also accessible from the hamburger icon on the left of the header-bar and Ctrl-N key shortcut. Also as Lapo suggestion Today button fall better on the header bar than between the navigation buttons.
This commit is contained in:
+1
-23
@@ -37,28 +37,6 @@
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="today_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="focus_on_click">False</property>
|
||||
<style>
|
||||
<class name="nav-button"/>
|
||||
</style>
|
||||
<child>
|
||||
<object class="GtkLabel" id="today_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Today</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="forward_button">
|
||||
<property name="visible">True</property>
|
||||
@@ -78,7 +56,7 @@
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
typedef struct
|
||||
{
|
||||
GtkWidget *back_button;
|
||||
GtkWidget *today_button;
|
||||
GtkWidget *forward_button;
|
||||
|
||||
GtkWidget *left_label;
|
||||
@@ -89,7 +88,6 @@ gcal_nav_bar_class_init (GcalNavBarClass *klass)
|
||||
|
||||
/* Bind internals widgets */
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GcalNavBar, back_button);
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GcalNavBar, today_button);
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GcalNavBar, forward_button);
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GcalNavBar, left_label);
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GcalNavBar, right_label);
|
||||
@@ -176,15 +174,6 @@ gcal_nav_bar_get_prev_button (GcalNavBar *nav_bar)
|
||||
return priv->back_button;
|
||||
}
|
||||
|
||||
GtkWidget*
|
||||
gcal_nav_bar_get_today_button (GcalNavBar *nav_bar)
|
||||
{
|
||||
GcalNavBarPrivate *priv;
|
||||
|
||||
priv = gcal_nav_bar_get_instance_private (nav_bar);
|
||||
return priv->today_button;
|
||||
}
|
||||
|
||||
GtkWidget*
|
||||
gcal_nav_bar_get_next_button (GcalNavBar *nav_bar)
|
||||
{
|
||||
|
||||
@@ -50,8 +50,6 @@ GtkWidget* gcal_nav_bar_new (void);
|
||||
|
||||
GtkWidget* gcal_nav_bar_get_prev_button (GcalNavBar *nav_bar);
|
||||
|
||||
GtkWidget* gcal_nav_bar_get_today_button (GcalNavBar *nav_bar);
|
||||
|
||||
GtkWidget* gcal_nav_bar_get_next_button (GcalNavBar *nav_bar);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
+10
-13
@@ -66,7 +66,7 @@ typedef struct
|
||||
GtkWidget *popover; /* short-lived */
|
||||
|
||||
/* header_bar widets */
|
||||
GtkWidget *new_button;
|
||||
GtkWidget *today_button;
|
||||
GtkWidget *search_entry;
|
||||
GtkWidget *views_switcher;
|
||||
|
||||
@@ -251,7 +251,7 @@ date_updated (GtkButton *button,
|
||||
|
||||
priv = gcal_window_get_instance_private (GCAL_WINDOW (user_data));
|
||||
|
||||
move_today = gcal_nav_bar_get_today_button (GCAL_NAV_BAR (priv->nav_bar)) == (GtkWidget*) button;
|
||||
move_today = priv->today_button == (GtkWidget*) button;
|
||||
move_back = gcal_nav_bar_get_prev_button (GCAL_NAV_BAR (priv->nav_bar)) == (GtkWidget*) button;
|
||||
|
||||
if (move_today)
|
||||
@@ -887,11 +887,8 @@ gcal_window_constructed (GObject *object)
|
||||
priv->header_bar = gtk_header_bar_new ();
|
||||
|
||||
/* header_bar: new */
|
||||
priv->new_button = gtk_button_new_with_label (_("New Event"));
|
||||
gtk_style_context_add_class (
|
||||
gtk_widget_get_style_context (priv->new_button),
|
||||
"suggested-action");
|
||||
gtk_header_bar_pack_start (GTK_HEADER_BAR (priv->header_bar), priv->new_button);
|
||||
priv->today_button = gtk_button_new_with_label (_("Today"));
|
||||
gtk_header_bar_pack_start (GTK_HEADER_BAR (priv->header_bar), priv->today_button);
|
||||
|
||||
priv->views_switcher = gtk_stack_switcher_new ();
|
||||
g_object_ref_sink (priv->views_switcher);
|
||||
@@ -1011,8 +1008,6 @@ gcal_window_constructed (GObject *object)
|
||||
g_signal_connect (object, "key-press-event",
|
||||
G_CALLBACK (key_pressed), object);
|
||||
|
||||
g_signal_connect_swapped (priv->new_button, "clicked",
|
||||
G_CALLBACK (gcal_window_new_event), object);
|
||||
for (i = 0; i < 4; ++i)
|
||||
{
|
||||
if (priv->views[i] != NULL)
|
||||
@@ -1031,10 +1026,12 @@ gcal_window_constructed (GObject *object)
|
||||
|
||||
g_signal_connect (priv->views_stack, "notify::visible-child",
|
||||
G_CALLBACK (view_changed), object);
|
||||
|
||||
g_signal_connect (priv->today_button, "clicked",
|
||||
G_CALLBACK (date_updated), object);
|
||||
|
||||
g_signal_connect (gcal_nav_bar_get_prev_button (GCAL_NAV_BAR (priv->nav_bar)),
|
||||
"clicked", G_CALLBACK (date_updated), object);
|
||||
g_signal_connect (gcal_nav_bar_get_today_button (GCAL_NAV_BAR (priv->nav_bar)),
|
||||
"clicked", G_CALLBACK (date_updated), object);
|
||||
g_signal_connect (gcal_nav_bar_get_next_button (GCAL_NAV_BAR (priv->nav_bar)),
|
||||
"clicked", G_CALLBACK (date_updated), object);
|
||||
}
|
||||
@@ -1177,7 +1174,7 @@ gcal_window_search_toggled (GObject *object,
|
||||
g_debug ("Entering search mode");
|
||||
|
||||
/* update headder_bar widget */
|
||||
gtk_widget_hide (priv->new_button);
|
||||
gtk_widget_hide (priv->today_button);
|
||||
gtk_header_bar_set_custom_title (GTK_HEADER_BAR (priv->header_bar),
|
||||
NULL);
|
||||
/* _prepare_for_search */
|
||||
@@ -1186,7 +1183,7 @@ gcal_window_search_toggled (GObject *object,
|
||||
{
|
||||
g_debug ("Leaving search mode");
|
||||
/* update header_bar */
|
||||
gtk_widget_show (priv->new_button);
|
||||
gtk_widget_show (priv->today_button);
|
||||
gtk_header_bar_set_custom_title (GTK_HEADER_BAR (priv->header_bar),
|
||||
priv->views_switcher);
|
||||
/* return to last active_view */
|
||||
|
||||
Reference in New Issue
Block a user