summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPranav Ganorkar <pranavg189@gmail.com>2017-06-23 18:32:15 +0530
committerJonathan Kang <jonathan121537@gmail.com>2017-06-29 15:56:18 +0800
commitba92386649efbfff25d1dff12b46ef9bf9db4db5 (patch)
tree96b14306ce2327454220aca21bf85b8bfdb5a9a4
parent2391b02c0a4cbde9ac1cf313c6ce7741c96be781 (diff)
downloadgnome-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.am3
-rw-r--r--data/gl-eventtoolbar.ui17
-rw-r--r--data/gl-eventview.ui10
-rw-r--r--data/gl-window.ui2
-rw-r--r--data/org.gnome.Logs.gresource.xml1
-rw-r--r--src/gl-application.c2
-rw-r--r--src/gl-eventtoolbar.c181
-rw-r--r--src/gl-eventtoolbar.h4
-rw-r--r--src/gl-eventview.c279
-rw-r--r--src/gl-eventview.h60
-rw-r--r--src/gl-eventviewlist.c1
-rw-r--r--src/gl-window.c149
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);