<property name="visible">True</property>
</object>
</child>
+ <child>
+ <object class="GtkCheckMenuItem" id="main_menu_view_fullscreen">
+ <property name="visible">True</property>
+ <property name="related_action">fullscreen</property>
+ <property name="use_action_appearance">True</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparatorMenuItem" id="main_menu_view_1">
+ <property name="visible">True</property>
+ </object>
+ </child>
<child>
<object class="GtkImageMenuItem" id="main_menu_view_refresh">
<property name="visible">True</property>
<property name="homogeneous">True</property>
</packing>
</child>
+ <child>
+ <object class="GtkToggleToolButton" id="main_tb_fullscreen">
+ <property name="visible">True</property>
+ <property name="related_action">fullscreen</property>
+ <property name="use_action_appearance">True</property>
+ <property name="label" translatable="yes">toolbutton1</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparatorToolItem" id="main_tb_1">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
<child>
<object class="GtkToggleToolButton" id="main_tb_offline">
<property name="visible">True</property>
</packing>
</child>
<child>
- <object class="GtkSeparatorToolItem" id="main_tb_1">
+ <object class="GtkSeparatorToolItem" id="main_tb_2">
<property name="visible">True</property>
</object>
<packing>
</packing>
</child>
<child>
- <object class="GtkVBox" id="main_1">
+ <object class="GtkVBox" id="main_sidebar">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<property name="border_width">5</property>
<property name="title" translatable="yes">Preferences - AWeather</property>
<property name="type_hint">normal</property>
- <property name="has_separator">False</property>
- <signal name="response" handler="gtk_widget_hide" object="prefs_window"/>
<signal name="delete_event" handler="gtk_widget_hide_on_delete"/>
+ <signal name="response" handler="gtk_widget_hide" object="prefs_window"/>
<child internal-child="vbox">
<object class="GtkVBox" id="prefs_0">
<property name="visible">True</property>
<property name="title" translatable="yes">About - AWeather</property>
<property name="window_position">center-on-parent</property>
<property name="type_hint">dialog</property>
- <property name="has_separator">False</property>
<property name="program_name">AWeather</property>
<property name="version">@VERSION@</property>
<property name="copyright" translatable="yes">Copyright ©2008-2009 Andy Spencer</property>
</property>
<property name="authors">Andy Spencer <andy753421@gmail.com></property>
<property name="wrap_license">True</property>
- <signal name="response" handler="gtk_widget_hide"/>
<signal name="delete_event" handler="gtk_widget_hide_on_delete"/>
+ <signal name="response" handler="gtk_widget_hide"/>
<child internal-child="vbox">
<object class="GtkVBox" id="about_0">
<property name="visible">True</property>
<property name="stock_id">gtk-clear</property>
<signal name="activate" handler="on_cleancache"/>
</object>
+ <object class="GtkToggleAction" id="fullscreen">
+ <property name="label">Fullscreen</property>
+ <property name="stock_id">gtk-fullscreen</property>
+ <signal name="toggled" handler="on_fullscreen"/>
+ </object>
</interface>
{
g_debug("AWeatherGui: on_gui_key_press - key=%x, state=%x",
event->keyval, event->state);
+ GObject *action = aweather_gui_get_object(self, "fullscreen");
+ gboolean full = gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(action));
if (event->keyval == GDK_q)
gtk_widget_destroy(GTK_WIDGET(self));
+ else if (event->keyval == GDK_F11 ||
+ (event->keyval == GDK_Escape && full))
+ gtk_action_activate(GTK_ACTION(action));
else if (event->keyval == GDK_r && event->state & GDK_CONTROL_MASK)
grits_viewer_refresh(self->viewer);
else if (event->keyval == GDK_Tab || event->keyval == GDK_ISO_Left_Tab) {
grits_viewer_zoom(self->viewer, 4./3);
}
+G_MODULE_EXPORT void on_fullscreen(GtkToggleAction *action, AWeatherGui *self)
+{
+ g_message("fullscreen");
+ gchar *hide[] = {"main_menu", "main_sidebar", "main_tabs"};
+ if (gtk_toggle_action_get_active(action)) {
+ gtk_window_fullscreen(GTK_WINDOW(self));
+ for (int i = 0; i < G_N_ELEMENTS(hide); i++)
+ gtk_widget_hide(aweather_gui_get_widget(self, hide[i]));
+ } else {
+ gtk_window_unfullscreen(GTK_WINDOW(self));
+ for (int i = 0; i < G_N_ELEMENTS(hide); i++)
+ gtk_widget_show(aweather_gui_get_widget(self, hide[i]));
+ }
+}
+
G_MODULE_EXPORT void on_refresh(GtkAction *action, AWeatherGui *self)
{
grits_viewer_refresh(self->viewer);
gtk_tree_store_append(store, &state, NULL);
gtk_tree_store_set (store, &state, 0, cities[i].code,
1, cities[i].name, -1);
- } else if (cities[i].type == LOCATION_CITY) {
+ } else {
gtk_tree_store_append(store, &city, &state);
gtk_tree_store_set (store, &city, 0, cities[i].code,
1, cities[i].name, -1);