diff options
author | Pranav Ganorkar <pranavg189@gmail.com> | 2017-06-23 18:32:15 +0530 |
---|---|---|
committer | Jonathan Kang <jonathan121537@gmail.com> | 2017-06-29 15:56:18 +0800 |
commit | ba92386649efbfff25d1dff12b46ef9bf9db4db5 (patch) | |
tree | 96b14306ce2327454220aca21bf85b8bfdb5a9a4 | |
parent | 2391b02c0a4cbde9ac1cf313c6ce7741c96be781 (diff) | |
download | gnome-logs-ba92386649efbfff25d1dff12b46ef9bf9db4db5.tar.gz |
Remove GlEventView type
The GlEventViewDetail type now derives from GtkPopover instead of
GtkBin.Hence, The mode setting operation provided by GlEventView type
(which is derived from GtkStack) is no longer needed as a GtkStack
is not required to switch between GlEventViewList and GlEventViewDetail.
https://bugzilla.gnome.org/show_bug.cgi?id=709294
-rw-r--r-- | Makefile.am | 3 | ||||
-rw-r--r-- | data/gl-eventtoolbar.ui | 17 | ||||
-rw-r--r-- | data/gl-eventview.ui | 10 | ||||
-rw-r--r-- | data/gl-window.ui | 2 | ||||
-rw-r--r-- | data/org.gnome.Logs.gresource.xml | 1 | ||||
-rw-r--r-- | src/gl-application.c | 2 | ||||
-rw-r--r-- | src/gl-eventtoolbar.c | 181 | ||||
-rw-r--r-- | src/gl-eventtoolbar.h | 4 | ||||
-rw-r--r-- | src/gl-eventview.c | 279 | ||||
-rw-r--r-- | src/gl-eventview.h | 60 | ||||
-rw-r--r-- | src/gl-eventviewlist.c | 1 | ||||
-rw-r--r-- | src/gl-window.c | 149 |
12 files changed, 22 insertions, 687 deletions
diff --git a/Makefile.am b/Makefile.am index f69b099..8ad7465 100644 --- a/Makefile.am +++ b/Makefile.am @@ -27,7 +27,6 @@ gnome_logs_SOURCES = \ src/gl-application.c \ src/gl-categorylist.c \ src/gl-eventtoolbar.c \ - src/gl-eventview.c \ src/gl-eventviewdetail.c \ src/gl-eventviewlist.c \ src/gl-searchpopover.c \ @@ -49,7 +48,6 @@ enum_data = \ gnome_logs_enum_headers = \ $(srcdir)/src/gl-categorylist.h \ $(srcdir)/src/gl-eventtoolbar.h \ - $(srcdir)/src/gl-eventview.h \ $(srcdir)/src/gl-eventviewrow.h \ $(srcdir)/src/gl-util.h \ $(srcdir)/src/gl-searchpopover.h \ @@ -59,7 +57,6 @@ noinst_gnome_logs_headers = \ src/gl-application.h \ src/gl-categorylist.h \ src/gl-eventtoolbar.h \ - src/gl-eventview.h \ src/gl-eventviewdetail.h \ src/gl-eventviewlist.h \ src/gl-searchpopover.h \ diff --git a/data/gl-eventtoolbar.ui b/data/gl-eventtoolbar.ui index df90017..bb7983c 100644 --- a/data/gl-eventtoolbar.ui +++ b/data/gl-eventtoolbar.ui @@ -4,23 +4,6 @@ <property name="show-close-button">True</property> <property name="visible">True</property> <child> - <object class="GtkButton" id="back_button"> - <property name="tooltip-text" translatable="yes">Go back to the event view</property> - <property name="valign">center</property> - <signal name="clicked" handler="on_gl_event_toolbar_back_button_clicked" object="GlEventToolbar" swapped="yes"/> - <style> - <class name="image-button"/> - </style> - <child> - <object class="GtkImage" id="go_back_icon"> - <property name="icon-name">go-previous-symbolic</property> - <property name="icon-size">1</property> - <property name="visible">True</property> - </object> - </child> - </object> - </child> - <child> <object class="GtkButton" id="output_button"> <property name="action-name">win.export</property> <property name="tooltip-text" translatable="yes">Export logs to a file</property> diff --git a/data/gl-eventview.ui b/data/gl-eventview.ui deleted file mode 100644 index dde128a..0000000 --- a/data/gl-eventview.ui +++ /dev/null @@ -1,10 +0,0 @@ -<interface domain="gnome-logs"> - <template class="GlEventView" parent="GtkStack"> - <property name="visible">True</property> - <child> - <object class="GlEventViewList" id="events"> - <property name="visible">True</property> - </object> - </child> - </template> -</interface> diff --git a/data/gl-window.ui b/data/gl-window.ui index 1fcd880..ac55eaa 100644 --- a/data/gl-window.ui +++ b/data/gl-window.ui @@ -41,7 +41,7 @@ </object> </child> <child> - <object class="GlEventView" id="event"> + <object class="GlEventViewList" id="event_list"> <property name="visible">True</property> </object> </child> diff --git a/data/org.gnome.Logs.gresource.xml b/data/org.gnome.Logs.gresource.xml index 291fd85..31dde3c 100644 --- a/data/org.gnome.Logs.gresource.xml +++ b/data/org.gnome.Logs.gresource.xml @@ -2,7 +2,6 @@ <gresources> <gresource prefix='/org/gnome/Logs'> <file preprocess='xml-stripblanks'>gl-categorylist.ui</file> - <file preprocess='xml-stripblanks'>gl-eventview.ui</file> <file preprocess="xml-stripblanks">gl-eventviewlist.ui</file> <file preprocess='xml-stripblanks'>gl-eventtoolbar.ui</file> <file preprocess='xml-stripblanks'>gl-eventviewdetail.ui</file> diff --git a/src/gl-application.c b/src/gl-application.c index fdf0a76..3455a1b 100644 --- a/src/gl-application.c +++ b/src/gl-application.c @@ -23,7 +23,6 @@ #include "gl-categorylist.h" #include "gl-eventtoolbar.h" -#include "gl-eventview.h" #include "gl-eventviewlist.h" #include "gl-util.h" #include "gl-window.h" @@ -214,7 +213,6 @@ gl_application_startup (GApplication *application) gl_window_get_type (); gl_category_list_get_type (); gl_event_toolbar_get_type (); - gl_event_view_get_type (); gl_event_view_list_get_type (); } diff --git a/src/gl-eventtoolbar.c b/src/gl-eventtoolbar.c index 805efcc..b68f2c2 100644 --- a/src/gl-eventtoolbar.c +++ b/src/gl-eventtoolbar.c @@ -25,13 +25,6 @@ #include "gl-eventviewlist.h" #include "gl-util.h" -enum -{ - PROP_0, - PROP_MODE, - N_PROPERTIES -}; - struct _GlEventToolbar { /*< private >*/ @@ -41,7 +34,6 @@ struct _GlEventToolbar typedef struct { GtkWidget *current_boot; - GtkWidget *back_button; GtkWidget *output_button; GtkWidget *menu_button; GtkWidget *search_button; @@ -50,8 +42,6 @@ typedef struct G_DEFINE_TYPE_WITH_PRIVATE (GlEventToolbar, gl_event_toolbar, GTK_TYPE_HEADER_BAR) -static GParamSpec *obj_properties[N_PROPERTIES] = { NULL, }; - void gl_event_toolbar_change_current_boot (GlEventToolbar *toolbar, const gchar *current_boot) @@ -143,137 +133,18 @@ gl_event_toolbar_add_boots (GlEventToolbar *toolbar, } static void -on_gl_event_toolbar_back_button_clicked (GlEventToolbar *toolbar, - GtkButton *button) -{ - gl_event_toolbar_set_mode (toolbar, GL_EVENT_TOOLBAR_MODE_LIST); -} - -static void -on_notify_mode (GlEventToolbar *toolbar, - GParamSpec *pspec, - gpointer user_data) -{ - GlEventToolbarPrivate *priv; - GtkWidget *toplevel; - - priv = gl_event_toolbar_get_instance_private (toolbar); - - switch (priv->mode) - { - case GL_EVENT_TOOLBAR_MODE_LIST: - gtk_widget_hide (priv->back_button); - gtk_widget_show (priv->output_button); - gtk_widget_show (priv->menu_button); - gtk_widget_show (priv->search_button); - break; - case GL_EVENT_TOOLBAR_MODE_DETAIL: - gtk_widget_show (priv->back_button); - gtk_widget_hide (priv->output_button); - gtk_widget_hide (priv->menu_button); - gtk_widget_hide (priv->search_button); - break; - default: - g_assert_not_reached (); - break; - } - - /* Propagate change to GlWindow. */ - toplevel = gtk_widget_get_toplevel (GTK_WIDGET (toolbar)); - - if (gtk_widget_is_toplevel (toplevel)) - { - GAction *mode; - GEnumClass *eclass; - GEnumValue *evalue; - - mode = g_action_map_lookup_action (G_ACTION_MAP (toplevel), - "toolbar-mode"); - eclass = g_type_class_ref (GL_TYPE_EVENT_TOOLBAR_MODE); - evalue = g_enum_get_value (eclass, priv->mode); - - g_action_activate (mode, g_variant_new_string (evalue->value_nick)); - - g_type_class_unref (eclass); - } - else - { - g_error ("Widget not in toplevel window, not switching toolbar mode"); - } -} - -static void -gl_event_toolbar_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - GlEventToolbar *toolbar = GL_EVENT_TOOLBAR (object); - GlEventToolbarPrivate *priv = gl_event_toolbar_get_instance_private (toolbar); - - switch (prop_id) - { - case PROP_MODE: - g_value_set_enum (value, priv->mode); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -gl_event_toolbar_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - GlEventToolbar *view = GL_EVENT_TOOLBAR (object); - GlEventToolbarPrivate *priv = gl_event_toolbar_get_instance_private (view); - - switch (prop_id) - { - case PROP_MODE: - priv->mode = g_value_get_enum (value); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void gl_event_toolbar_class_init (GlEventToolbarClass *klass) { - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); - gobject_class->get_property = gl_event_toolbar_get_property; - gobject_class->set_property = gl_event_toolbar_set_property; - - obj_properties[PROP_MODE] = g_param_spec_enum ("mode", "Mode", - "Mode to determine which buttons to show", - GL_TYPE_EVENT_TOOLBAR_MODE, - GL_EVENT_TOOLBAR_MODE_LIST, - G_PARAM_READWRITE | - G_PARAM_STATIC_STRINGS); - - g_object_class_install_properties (gobject_class, N_PROPERTIES, - obj_properties); - gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/Logs/gl-eventtoolbar.ui"); gtk_widget_class_bind_template_child_private (widget_class, GlEventToolbar, output_button); gtk_widget_class_bind_template_child_private (widget_class, GlEventToolbar, - back_button); - gtk_widget_class_bind_template_child_private (widget_class, GlEventToolbar, menu_button); gtk_widget_class_bind_template_child_private (widget_class, GlEventToolbar, search_button); - - gtk_widget_class_bind_template_callback (widget_class, - on_gl_event_toolbar_back_button_clicked); } static void @@ -286,58 +157,6 @@ gl_event_toolbar_init (GlEventToolbar *toolbar) gtk_widget_init_template (GTK_WIDGET (toolbar)); priv->current_boot = gtk_label_new (NULL); - - g_signal_connect (toolbar, "notify::mode", G_CALLBACK (on_notify_mode), - NULL); -} - -gboolean -gl_event_toolbar_handle_back_button_event (GlEventToolbar *toolbar, - GdkEventKey *event) -{ - GlEventToolbarPrivate *priv; - GdkModifierType state; - GdkKeymap *keymap; - gboolean is_rtl; - - g_return_val_if_fail (toolbar != NULL && event != NULL, - GDK_EVENT_PROPAGATE); - - priv = gl_event_toolbar_get_instance_private (toolbar); - - state = event->state; - keymap = gdk_keymap_get_default (); - gdk_keymap_add_virtual_modifiers (keymap, &state); - state = state & gtk_accelerator_get_default_mod_mask (); - is_rtl = gtk_widget_get_direction (priv->back_button) == GTK_TEXT_DIR_RTL; - - if ((!is_rtl && state == GDK_MOD1_MASK && event->keyval == GDK_KEY_Left) - || (is_rtl && state == GDK_MOD1_MASK && event->keyval == GDK_KEY_Right) - || event->keyval == GDK_KEY_Back) - { - return GDK_EVENT_STOP; - } - else - { - return GDK_EVENT_PROPAGATE; - } -} - -void -gl_event_toolbar_set_mode (GlEventToolbar *toolbar, GlEventToolbarMode mode) -{ - GlEventToolbarPrivate *priv; - - g_return_if_fail (GL_EVENT_TOOLBAR (toolbar)); - - priv = gl_event_toolbar_get_instance_private (toolbar); - - if (priv->mode != mode) - { - priv->mode = mode; - g_object_notify_by_pspec (G_OBJECT (toolbar), - obj_properties[PROP_MODE]); - } } GtkWidget * diff --git a/src/gl-eventtoolbar.h b/src/gl-eventtoolbar.h index ef6e104..a6bca45 100644 --- a/src/gl-eventtoolbar.h +++ b/src/gl-eventtoolbar.h @@ -40,10 +40,6 @@ typedef enum G_DECLARE_FINAL_TYPE (GlEventToolbar, gl_event_toolbar, GL, EVENT_TOOLBAR, GtkHeaderBar) GtkWidget * gl_event_toolbar_new (void); -gboolean gl_event_toolbar_handle_back_button_event (GlEventToolbar *toolbar, - GdkEventKey *event); -void gl_event_toolbar_set_mode (GlEventToolbar *toolbar, - GlEventToolbarMode mode); void gl_event_toolbar_add_boots (GlEventToolbar *toolbar, GArray *boot_ids); void gl_event_toolbar_change_current_boot (GlEventToolbar *toolbar, const gchar *current_boot); diff --git a/src/gl-eventview.c b/src/gl-eventview.c deleted file mode 100644 index e9b914b..0000000 --- a/src/gl-eventview.c +++ /dev/null @@ -1,279 +0,0 @@ -/* - * GNOME Logs - View and search logs - * Copyright (C) 2014, 2015 Red Hat, Inc. - * Copyright (C) 2014 Jonathan Kang - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include "gl-eventview.h" - -#include <glib/gi18n.h> -#include <glib-unix.h> -#include <stdlib.h> - -#include "gl-categorylist.h" -#include "gl-enums.h" -#include "gl-eventtoolbar.h" -#include "gl-eventviewdetail.h" -#include "gl-eventviewlist.h" -#include "gl-journal.h" -#include "gl-util.h" - -enum -{ - PROP_0, - PROP_MODE, - N_PROPERTIES -}; - -struct _GlEventView -{ - /*< private >*/ - GtkStack parent_instance; -}; - -typedef struct -{ - GtkWidget *events; - GlRowEntry *entry; - GlUtilClockFormat clock_format; - GlEventViewMode mode; -} GlEventViewPrivate; - -G_DEFINE_TYPE_WITH_PRIVATE (GlEventView, gl_event_view, GTK_TYPE_STACK) - -static GParamSpec *obj_properties[N_PROPERTIES] = { NULL, }; -static const gchar DESKTOP_SCHEMA[] = "org.gnome.desktop.interface"; -static const gchar CLOCK_FORMAT[] = "clock-format"; - -gchar * -gl_event_view_get_output_logs (GlEventView *view) -{ - GlEventViewPrivate *priv; - GlEventViewList *events; - - priv = gl_event_view_get_instance_private (view); - events = GL_EVENT_VIEW_LIST (priv->events); - - return gl_event_view_list_get_output_logs (events); -} - -gchar * -gl_event_view_get_boot_time (GlEventView *view, - const gchar *boot_match) -{ - GlEventViewPrivate *priv; - GlEventViewList *events; - - priv = gl_event_view_get_instance_private (view); - events = GL_EVENT_VIEW_LIST (priv->events); - - return gl_event_view_list_get_boot_time (events, boot_match); -} - -GArray * -gl_event_view_get_boot_ids (GlEventView *view) -{ - GlEventViewPrivate *priv; - GlEventViewList *events; - - priv = gl_event_view_get_instance_private (view); - events = GL_EVENT_VIEW_LIST (priv->events); - - return gl_event_view_list_get_boot_ids (events); -} - -void -gl_event_view_view_boot (GlEventView *view, const gchar *match) -{ - GlEventViewList *events; - GlEventViewPrivate *priv; - - g_return_if_fail (GL_EVENT_VIEW (view)); - - priv = gl_event_view_get_instance_private (view); - events = GL_EVENT_VIEW_LIST (priv->events); - - gl_event_view_list_view_boot (events, match); -} - -void -gl_event_view_show_detail (GlEventView *view) -{ - GlEventViewList *events; - GlEventViewPrivate *priv; - - g_return_if_fail (GL_EVENT_VIEW (view)); - - priv = gl_event_view_get_instance_private (view); - events = GL_EVENT_VIEW_LIST (priv->events); - priv->entry = gl_event_view_list_get_detail_entry (events); -} - -gboolean -gl_event_view_handle_search_event (GlEventView *view, - GAction *action, - GdkEvent *event) -{ - GlEventViewPrivate *priv; - GlEventViewList *events; - - priv = gl_event_view_get_instance_private (view); - events = GL_EVENT_VIEW_LIST (priv->events); - - if (gl_event_view_list_handle_search_event (events, action, - event) == GDK_EVENT_STOP) - { - return GDK_EVENT_STOP; - } - - return GDK_EVENT_PROPAGATE; -} - -void -gl_event_view_set_search_mode (GlEventView *view, - gboolean state) -{ - GlEventViewPrivate *priv; - GlEventViewList *events; - - g_return_if_fail (GL_EVENT_VIEW (view)); - - priv = gl_event_view_get_instance_private (view); - events = GL_EVENT_VIEW_LIST (priv->events); - - gl_event_view_list_set_search_mode (events, state); -} - -void -gl_event_view_set_sort_order (GlEventView *view, - GlSortOrder sort_order) -{ - GlEventViewPrivate *priv; - GlEventViewList *events; - - g_return_if_fail (GL_EVENT_VIEW (view)); - - priv = gl_event_view_get_instance_private (view); - events = GL_EVENT_VIEW_LIST (priv->events); - - gl_event_view_list_set_sort_order (events, sort_order); -} - -static void -gl_event_view_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - GlEventView *view = GL_EVENT_VIEW (object); - GlEventViewPrivate *priv = gl_event_view_get_instance_private (view); - - switch (prop_id) - { - case PROP_MODE: - g_value_set_enum (value, priv->mode); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -gl_event_view_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - GlEventView *view = GL_EVENT_VIEW (object); - GlEventViewPrivate *priv = gl_event_view_get_instance_private (view); - - switch (prop_id) - { - case PROP_MODE: - priv->mode = g_value_get_enum (value); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -gl_event_view_class_init (GlEventViewClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); - - gobject_class->get_property = gl_event_view_get_property; - gobject_class->set_property = gl_event_view_set_property; - - obj_properties[PROP_MODE] = g_param_spec_enum ("mode", "Mode", - "Event display mode", - GL_TYPE_EVENT_VIEW_MODE, - GL_EVENT_VIEW_MODE_LIST, - G_PARAM_READWRITE | - G_PARAM_STATIC_STRINGS); - - g_object_class_install_properties (gobject_class, N_PROPERTIES, - obj_properties); - - gtk_widget_class_set_template_from_resource (widget_class, - "/org/gnome/Logs/gl-eventview.ui"); - gtk_widget_class_bind_template_child_private (widget_class, GlEventView, - events); -} - -static void -gl_event_view_init (GlEventView *view) -{ - GlEventViewPrivate *priv; - GSettings *settings; - - gtk_widget_init_template (GTK_WIDGET (view)); - - priv = gl_event_view_get_instance_private (view); - - /* TODO: Monitor and propagate any GSettings changes. */ - settings = g_settings_new (DESKTOP_SCHEMA); - priv->clock_format = g_settings_get_enum (settings, CLOCK_FORMAT); - - g_object_unref (settings); -} - -void -gl_event_view_set_mode (GlEventView *view, - GlEventViewMode mode) -{ - GlEventViewPrivate *priv; - - g_return_if_fail (GL_EVENT_VIEW (view)); - - priv = gl_event_view_get_instance_private (view); - - if (priv->mode != mode) - { - priv->mode = mode; - g_object_notify_by_pspec (G_OBJECT (view), - obj_properties[PROP_MODE]); - } -} - -GtkWidget * -gl_event_view_new (void) -{ - return g_object_new (GL_TYPE_EVENT_VIEW, NULL); -} diff --git a/src/gl-eventview.h b/src/gl-eventview.h deleted file mode 100644 index 1b59395..0000000 --- a/src/gl-eventview.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * GNOME Logs - View and search logs - * Copyright (C) 2014, 2015 Red Hat, Inc. - * Copyright (C) 2014 Jonathan Kang - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#ifndef GL_EVENT_VIEW_H_ -#define GL_EVENT_VIEW_H_ - -#include <gtk/gtk.h> - -#include "gl-application.h" - -G_BEGIN_DECLS - -/* - * GlEventViewMode: - * @GL_EVENT_VIEW_MODE_LIST: - * @GL_EVENT_VIEW_MODE_DETAIL: - * - * The mode, mirroring the GlEventToolbar mode, used to show events. - */ -typedef enum -{ - GL_EVENT_VIEW_MODE_LIST, - GL_EVENT_VIEW_MODE_DETAIL -} GlEventViewMode; - -#define GL_TYPE_EVENT_VIEW (gl_event_view_get_type ()) -G_DECLARE_FINAL_TYPE (GlEventView, gl_event_view, GL, EVENT_VIEW, GtkStack) - -GtkWidget * gl_event_view_new (void); -void gl_event_view_search (GlEventView *view, const gchar *needle); -void gl_event_view_set_mode (GlEventView *view, GlEventViewMode mode); -void gl_event_view_show_detail (GlEventView *view); -gboolean gl_event_view_handle_search_event (GlEventView *view, GAction *action, GdkEvent *event); -void gl_event_view_set_search_mode (GlEventView *view, gboolean state); -void gl_event_view_set_sort_order (GlEventView *view, GlSortOrder sort_order); -GArray * gl_event_view_get_boot_ids (GlEventView *view); -void gl_event_view_view_boot (GlEventView *view, const gchar *match); -gchar * gl_event_view_get_output_logs (GlEventView *view); -gchar * gl_event_view_get_boot_time (GlEventView *view, - const gchar *boot_match); - -G_END_DECLS - -#endif /* GL_EVENT_VIEW_H_ */ diff --git a/src/gl-eventviewlist.c b/src/gl-eventviewlist.c index 9225214..59af348 100644 --- a/src/gl-eventviewlist.c +++ b/src/gl-eventviewlist.c @@ -25,7 +25,6 @@ #include "gl-categorylist.h" #include "gl-enums.h" #include "gl-eventtoolbar.h" -#include "gl-eventview.h" #include "gl-eventviewdetail.h" #include "gl-eventviewrow.h" #include "gl-journal-model.h" diff --git a/src/gl-window.c b/src/gl-window.c index 62cc718..3f303aa 100644 --- a/src/gl-window.c +++ b/src/gl-window.c @@ -22,7 +22,6 @@ #include "gl-categorylist.h" #include "gl-eventtoolbar.h" -#include "gl-eventview.h" #include "gl-eventviewlist.h" #include "gl-enums.h" #include "gl-util.h" @@ -36,7 +35,7 @@ struct _GlWindow typedef struct { GtkWidget *event_toolbar; - GtkWidget *event; + GtkWidget *event_list; GtkWidget *info_bar; } GlWindowPrivate; @@ -77,89 +76,19 @@ on_close (GSimpleAction *action, } static void -on_toolbar_mode (GSimpleAction *action, - GVariant *variant, - gpointer user_data) -{ - GlWindowPrivate *priv; - const gchar *mode; - GEnumClass *eclass; - GEnumValue *evalue; - GAction *search; - - priv = gl_window_get_instance_private (GL_WINDOW (user_data)); - mode = g_variant_get_string (variant, NULL); - eclass = g_type_class_ref (GL_TYPE_EVENT_TOOLBAR_MODE); - evalue = g_enum_get_value_by_nick (eclass, mode); - search = g_action_map_lookup_action (G_ACTION_MAP (user_data), "search"); - - if (evalue->value == GL_EVENT_TOOLBAR_MODE_LIST) - { - /* Switch the event view back to list mode if the back button is - * clicked. */ - GlEventView *view; - - view = GL_EVENT_VIEW (priv->event); - - gl_event_view_set_mode (view, GL_EVENT_VIEW_MODE_LIST); - - g_simple_action_set_enabled (G_SIMPLE_ACTION (search), TRUE); - } - - g_simple_action_set_state (action, variant); - - g_type_class_unref (eclass); -} - -static void -on_view_mode (GSimpleAction *action, - GVariant *variant, - gpointer user_data) -{ - GlWindowPrivate *priv; - const gchar *mode; - GlEventToolbar *toolbar; - GlEventView *event; - GEnumClass *eclass; - GEnumValue *evalue; - - priv = gl_window_get_instance_private (GL_WINDOW (user_data)); - mode = g_variant_get_string (variant, NULL); - event = GL_EVENT_VIEW (priv->event); - toolbar = GL_EVENT_TOOLBAR (priv->event_toolbar); - eclass = g_type_class_ref (GL_TYPE_EVENT_VIEW_MODE); - evalue = g_enum_get_value_by_nick (eclass, mode); - - switch (evalue->value) - { - case GL_EVENT_VIEW_MODE_LIST: - gl_event_toolbar_set_mode (toolbar, GL_EVENT_TOOLBAR_MODE_LIST); - break; - case GL_EVENT_VIEW_MODE_DETAIL: - gl_event_toolbar_set_mode (toolbar, GL_EVENT_TOOLBAR_MODE_DETAIL); - gl_event_view_set_mode (event, GL_EVENT_VIEW_MODE_DETAIL); - break; - } - - g_simple_action_set_state (action, variant); - - g_type_class_unref (eclass); -} - -static void on_search (GSimpleAction *action, GVariant *variant, gpointer user_data) { gboolean state; GlWindowPrivate *priv; - GlEventView *view; + GlEventViewList *event_list; state = g_variant_get_boolean (variant); priv = gl_window_get_instance_private (GL_WINDOW (user_data)); - view = GL_EVENT_VIEW (priv->event); + event_list = GL_EVENT_VIEW_LIST (priv->event_list); - gl_event_view_set_search_mode (view, state); + gl_event_view_list_set_search_mode (event_list, state); g_simple_action_set_state (action, variant); } @@ -170,13 +99,13 @@ on_export (GSimpleAction *action, gpointer user_data) { GlWindowPrivate *priv; - GlEventView *event; + GlEventViewList *event_list; GtkFileChooser *file_chooser; GtkWidget *dialog; gint res; priv = gl_window_get_instance_private (GL_WINDOW (user_data)); - event = GL_EVENT_VIEW (priv->event); + event_list = GL_EVENT_VIEW_LIST (priv->event_list); dialog = gtk_file_chooser_dialog_new (_("Save logs"), GTK_WINDOW (user_data), @@ -199,7 +128,7 @@ on_export (GSimpleAction *action, GError *error = NULL; GtkWidget *error_dialog; - file_content = gl_event_view_get_output_logs (event); + file_content = gl_event_view_list_get_output_logs (event_list); output_file = gtk_file_chooser_get_file (file_chooser); file_ostream = g_file_replace (output_file, NULL, TRUE, G_FILE_CREATE_NONE, NULL, &error); @@ -259,20 +188,20 @@ on_view_boot (GSimpleAction *action, gpointer user_data) { GlWindowPrivate *priv; - GlEventView *event; + GlEventViewList *event_list; GlEventToolbar *toolbar; gchar *current_boot; const gchar *boot_match; priv = gl_window_get_instance_private (GL_WINDOW (user_data)); - event = GL_EVENT_VIEW (priv->event); + event_list = GL_EVENT_VIEW_LIST (priv->event_list); toolbar = GL_EVENT_TOOLBAR (priv->event_toolbar); boot_match = g_variant_get_string (variant, NULL); - gl_event_view_view_boot (event, boot_match); + gl_event_view_list_view_boot (event_list, boot_match); - current_boot = gl_event_view_get_boot_time (event, boot_match); + current_boot = gl_event_view_list_get_boot_time (event_list, boot_match); if (current_boot == NULL) { g_debug ("Error fetching the time using boot_match"); @@ -291,52 +220,18 @@ on_gl_window_key_press_event (GlWindow *window, gpointer user_data) { GlWindowPrivate *priv; - GlEventView *view; + GlEventViewList *event_list; GAction *action; - GVariant *variant; - const gchar *mode; - GEnumClass *eclass; - GEnumValue *evalue; priv = gl_window_get_instance_private (window); action = g_action_map_lookup_action (G_ACTION_MAP (window), "search"); - view = GL_EVENT_VIEW (priv->event); + event_list = GL_EVENT_VIEW_LIST (priv->event_list); - if (gl_event_view_handle_search_event (view, action, event) == GDK_EVENT_STOP) + if (gl_event_view_list_handle_search_event (event_list, action, event) == GDK_EVENT_STOP) { return GDK_EVENT_STOP; } - action = g_action_map_lookup_action (G_ACTION_MAP (window), "view-mode"); - variant = g_action_get_state (action); - mode = g_variant_get_string (variant, NULL); - eclass = g_type_class_ref (GL_TYPE_EVENT_VIEW_MODE); - evalue = g_enum_get_value_by_nick (eclass, mode); - - g_variant_unref (variant); - - switch (evalue->value) - { - case GL_EVENT_VIEW_MODE_LIST: - break; /* Ignored, as there is no back button. */ - case GL_EVENT_VIEW_MODE_DETAIL: - if (gl_event_toolbar_handle_back_button_event (GL_EVENT_TOOLBAR (priv->event_toolbar), - (GdkEventKey*)event) - == GDK_EVENT_STOP) - { - GlEventView *view; - - view = GL_EVENT_VIEW (priv->event); - gl_event_view_set_mode (view, GL_EVENT_VIEW_MODE_LIST); - g_type_class_unref (eclass); - - return GDK_EVENT_STOP; - } - break; - } - - g_type_class_unref (eclass); - return GDK_EVENT_PROPAGATE; } @@ -369,19 +264,17 @@ gl_window_set_sort_order (GlWindow *window, GlSortOrder sort_order) { GlWindowPrivate *priv; - GlEventView *event; + GlEventViewList *event_list; g_return_if_fail (GL_WINDOW (window)); priv = gl_window_get_instance_private (window); - event = GL_EVENT_VIEW (priv->event); + event_list = GL_EVENT_VIEW_LIST (priv->event_list); - gl_event_view_set_sort_order (event, sort_order); + gl_event_view_list_set_sort_order (event_list, sort_order); } static GActionEntry actions[] = { - { "view-mode", on_action_radio, "s", "'list'", on_view_mode }, - { "toolbar-mode", on_action_radio, "s", "'list'", on_toolbar_mode }, { "search", on_action_toggle, NULL, "false", on_search }, { "view-boot", on_action_radio, "s", "''", on_view_boot }, { "export", on_export }, @@ -398,7 +291,7 @@ gl_window_class_init (GlWindowClass *klass) gtk_widget_class_bind_template_child_private (widget_class, GlWindow, event_toolbar); gtk_widget_class_bind_template_child_private (widget_class, GlWindow, - event); + event_list); gtk_widget_class_bind_template_child_private (widget_class, GlWindow, info_bar); @@ -415,7 +308,7 @@ gl_window_init (GlWindow *window) GdkScreen *screen; GlWindowPrivate *priv; GlEventToolbar *toolbar; - GlEventView *event; + GlEventViewList *event_list; GAction *action_view_boot; GArray *boot_ids; GlJournalStorage storage_type; @@ -426,10 +319,10 @@ gl_window_init (GlWindow *window) gtk_widget_init_template (GTK_WIDGET (window)); priv = gl_window_get_instance_private (window); - event = GL_EVENT_VIEW (priv->event); + event_list = GL_EVENT_VIEW_LIST (priv->event_list); toolbar = GL_EVENT_TOOLBAR (priv->event_toolbar); - boot_ids = gl_event_view_get_boot_ids (event); + boot_ids = gl_event_view_list_get_boot_ids (event_list); g_action_map_add_action_entries (G_ACTION_MAP (window), actions, G_N_ELEMENTS (actions), window); |