summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Port to meson build systemJonathan Kang2017-12-131-0/+49
| | | | | | | | According to this wiki[0], port Logs to meson build system. *[0] https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting https://bugzilla.gnome.org/show_bug.cgi?id=790276
* update boot timestamps when possibleJonathan Kang2017-11-026-3/+138
| | | | | | | | | | | | Previously, boot timestamps in the boot selection menu is generated when Logs is opened and won't be updated later. This causes a problem that the timestamp of the latest log entry might be newer than what's shown in the boot selection menu. Fix that by updating the boot selection menu when users change the category list or view logs from other boots. https://bugzilla.gnome.org/show_bug.cgi?id=762840
* Allow users to ignore insufficient permission warningJonathan Kang2017-07-311-0/+36
| | | | | | | | | | Currently, if an user don't have sufficient permission to view logs, a GtkInfoBar will show up to warn the user about it. And it shows up every time the user opens Logs until the user has sufficient permission. This can be quite annoying. Fix this by adding an "ignore" button to GtkInfoBar to give users the option to ignore the warning.
* Various improvements to event compression UIPranav Ganorkar2017-07-244-6/+182
| | | | | | | | | | | | | | | | | | | The UI improvements as suggested by Allan and Jakub are implemented in this commit: * Use color theme suggested by Jakub for expanded rows. * Use row separator to indicate boundaries of expanded header and it's group. * Add hover effect to the expanded rows. * Increase grid spacing and decrease label padding in popover grid. * Use regular text everywhere in the detailed popover. * Add padding for popover grid. * Highlight the row pointed by detailed popover. https://bugzilla.gnome.org/show_bug.cgi?id=709294
* Remove size group for the widgets in each rowJonathan Kang2017-07-073-34/+0
| | | | | | | | | | | | | | GtkSizeGroup is used to make sure widgets in diffirent rows request the same amount of space while implementing "Use a single row for each log entry" in commit 995bacac51ee84516e9d0c4950dcc1edd45cdd64. But adding too many widgets to GtkSizeGroup leads to poor performance, which make scrolling the list in Logs very slow. Fix that by removing the GtkSizeGroup. As there are not too many widgets in the "Important" category, keep the category size group to make category labels request the same amount of space. https://bugzilla.gnome.org/show_bug.cgi?id=784216
* Remove tooltip showing full log text from each rowJonathan Kang2017-06-301-3/+0
| | | | | | | | A popover has been used as a replacement to the previous details page to show detailed information for each row, so the tooltip that shows full log text is redundant. Remove the tooltip from each row. https://bugzilla.gnome.org/show_bug.cgi?id=709294
* Remove GlEventView typePranav Ganorkar2017-06-297-655/+21
| | | | | | | | | 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
* Display detailed event information in a GtkPopoverPranav Ganorkar2017-06-294-97/+12
| | | | | | | | | | A GtkPopover is shown when a row which is not a header is activated. For handling very long messages, the message text is wrapped to fit the size of the GtkPopover. Further, such long messages are shown in a GtkScrolledWindow. All the earlier available detail fields are shown in the GtkPopover. https://bugzilla.gnome.org/show_bug.cgi?id=709294
* Compress similar events in GlEventViewListPranav Ganorkar2017-06-293-26/+324
| | | | | | | | | | | | | | | | | | | | | | | The compression information is stored in GlRowEntry objects during population of the model array.The similarity criteria for grouping adjacent messages is: * Messages whose first word is same * Messages sent by the same process The compression information is then parsed in the view classes and accordingly the events to be compressed are hidden in GlEventViewList. The visibility of compressed events can be toggled by activating the header row representing those compressed events. When compressed events are expanded using the header, sorting order specified by 'sort-order' GSettings key is maintained in GlEventViewList. Headers are removed from the compressed rows to improve their visibility when they are shown by activating the header. https://bugzilla.gnome.org/show_bug.cgi?id=709294
* Pass GlRowEntry objects from model to viewPranav Ganorkar2017-06-298-24/+51
| | | | | | | | The model array is populated with GlRowEntry objects. The view classes now interact with GlJournalEntry through GlRowEntry objects. https://bugzilla.gnome.org/show_bug.cgi?id=709294
* Define GlRowEntry object and it's APIPranav Ganorkar2017-06-292-0/+86
| | | | | | | | | | | | | The GlRowEntry object includes flags/variables to store information about the compression of journal entries and pass it on from the model to view. There are three types of row entries: uncompressed, compressed, header. If a row entry is a header, then it also stores the compressed journal entries which are represented by the header. https://bugzilla.gnome.org/show_bug.cgi?id=709294
* Move sorting from view to modelPranav Ganorkar2017-05-303-83/+54
| | | | | | | | | The logs shown in GlEventViewList are now sorted from GlJournalModel. The logs can be sorted in ascending or descending order according to the timestamp. The sorting order can be controlled by setting the 'sort-order' GSettings key. https://bugzilla.gnome.org/show_bug.cgi?id=767995
* Avoid deprecated gtk_show_uri()Jonathan Kang2017-04-251-2/+2
| | | | Use gtk_show_uri_on_window() instead.
* Avoid deprecated gtk_show_uri()Jonathan Kang2017-03-231-2/+2
| | | | Use gtk_show_uri_on_window() instead.
* Fix crash when users don't have proper permissionsJonathan Kang2017-02-061-3/+12
| | | | | | | | | When users don't have permissions to view both system and user logs, priv->boot_match equals NULL. One common scenario is the journal storage type is volatile and there is no journal files under /var/log/journal. So don't add boot match under this scenario. https://bugzilla.gnome.org/show_bug.cgi?id=776818
* Fix crash when exact search type is selectedPranav Ganorkar2017-02-041-10/+17
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=777681
* Rename some functionsJonathan Kang2017-01-059-20/+20
| | | | | | Rename gl-*-get_current_boot_time to gl-*-get_boot_time. Since we pass boot_match to these functions, the return value is boot time regrading to a specific boot_match instead of the current boot time.
* Keep boot_match as a duplicated stringJonathan Kang2016-12-161-2/+4
| | | | | | GlEventViewListPrivate->boot_match should keep a copy of the state string of "view-boot" action instead of simply pointing to the state string to.
* Remember search results when switch back to listJonathan Kang2016-12-021-5/+0
| | | | | | | Don't hide search bar when entering detail view from search results, so we can still go to event list view with search results remembered. https://bugzilla.gnome.org/show_bug.cgi?id=766766
* Use Unicode in translatable stringsPiotr Drąg2016-11-101-4/+4
| | | | | | See https://developer.gnome.org/hig/stable/typography.html https://bugzilla.gnome.org/show_bug.cgi?id=772263
* Improve search performanceJonathan Kang2016-11-081-16/+27
| | | | | | | | While searching, tokenize_search_string() is call for every log entry. Because the results are exactly the same, so there is no need to call it repeatedly. Just call it once to get the expected value. https://bugzilla.gnome.org/show_bug.cgi?id=763747
* Connect search entry to the search barJonathan Kang2016-10-251-0/+3
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=773347
* Fix CSS parsing errorJonathan Kang2016-10-203-2/+133
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=768985
* Add custom journal timestamp range submenuPranav Ganorkar2016-10-203-4/+1002
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The custom timestamp range submenu is opened through the select timestamp range treeview. If the user doesn't specify any date, then today's date is taken as default. If the user doesn't specify any time, then 11:59:59 PM is taken as default start time and 12:00:00 AM is taken default end time. This is done so that if the user selects the same date in both the start and end date selection widgets, all the logs corresponding to that date will be shown in the window. The journal is filtered according to the entered start date-time and end date-time timestamp range and the logs are shown in window accordingly. Invalid values in time spinboxes are set to nearest correct values. Future dates fail silently. If the user selects any other filter, then the options in the custom timestamp range submenu are reset. Depending upon whether the user has selected start date-time or end date-time, we update the timestamp range button label accordingly. If time zone format is 24hr, we show only the hour-minute-second spinboxes in the custom timestamp range submenu. https://bugzilla.gnome.org/show_bug.cgi?id=767996
* Add journal timestamp range filtersPranav Ganorkar2016-10-207-62/+391
| | | | | | | | | | | | | | | | | | | The journal timestamp range filters in search popover can be used to set the timestamp range of journal model.The default journal timestamp range is the currently selected boot from the boot selection menu in toolbar. The query object was modified to include two new parameters for storing the start and end timestamps of the journal. The gl_journal_set_matches() function was modified to remove setting the boot match if no boot match is specified. The search popover range button label is made consistent when user selects boot through the toolbar boot selection menu. https://bugzilla.gnome.org/show_bug.cgi?id=767996
* Add search type option to search popoverPranav Ganorkar2016-10-205-55/+181
| | | | | | | | | | | | | | | | | | | | A radio button group was addded to select between "Exact" and "Substring" search types.The default search type is "Substring" search. We hide the search type radio button group if "All Available Fields" is selected as exact search doesn't make sense in that case. The GlJournalModel class was modified to handle the case when all search fields are exact and there are no substring matches.It was also modified to handle the case when the exact search match string has a null or empty value in which case we do not pass it to gl_journal_set_matches(). GL_QUERY_* prefix was added to the enum nicks for making it consistent with the enum name GlQuerySearchType. https://bugzilla.gnome.org/show_bug.cgi?id=767996
* Add search popover with journal field filteringPranav Ganorkar2016-10-203-12/+419
| | | | | | | | | | | | | | | | | The search popover can be selected from the drop down menu besides the search bar. Individual journal field or all available journal fields can be selected from the search popover.The default journal field filter is "All Available fields". The search popover is designed to look similar to the Nautilus search popover. If Nautilus implementation of search popover changes in future, gnome-logs implementation of search popover should be kept in sync with it. https://bugzilla.gnome.org/show_bug.cgi?id=767996
* Delete unused function in gl-eventviewlist.cJonathan Kang2016-10-172-20/+0
| | | | | In commit b86a50a312b08dadbd58e04db351c38c65927b46, search matches was moved to model. So gl_event_view_list_search is no longer needed.
* Fix crash when the journal is emptyDavid King2016-09-131-8/+13
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=770072
* Improve the check for journal permissionsDirk Maetens2016-08-103-23/+119
| | | | | | | There are mainly two kind of ways to storage journal files, one is persistent and the other is volatile. So both method should be considered when checking is the user has permissons to access journal files.
* Add support for additional journal parametersPranav Ganorkar2016-07-214-25/+200
| | | | | | | More parameters, including PID and GID, are added. The tokenizer was modified to detect characters encountered in these new parameters. https://bugzilla.gnome.org/show_bug.cgi?id=768848
* Change the "uid" variable type in GlJournalEntryPranav Ganorkar2016-07-213-11/+12
| | | | | | | | This variable was changed as we need to pass it as string for substring search in gl-journal-model. Also, GlEventViewRow was modified to reflect the change in the "uid" variable type. https://bugzilla.gnome.org/show_bug.cgi?id=768848
* Move search matches to model using query APIPranav Ganorkar2016-07-183-401/+488
| | | | | | | | | | | The querying for user entered search text is now done by parsing the query struct in journal model and it is populated accordingly. The query struct is populated in the view. Earlier,the searching work was done by listbox_search_filter_func() but now it is transferred to the query API. A new enum 'GlSearchQueryType' was introduced to differentiate between exact and substring matches.The search related functions from eventviewlist are also removed.
* Pass GPtrArray to gl_journal_set_matches()Pranav Ganorkar2016-07-183-19/+20
| | | | | The function argument is changed from const gchar * const * to GPtrArray.
* Move category matches to model using query APIPranav Ganorkar2016-07-183-71/+194
| | | | | | | Query struct is populated with the corresponding category matches. It is parsed in the journal model to finally apply the matches with gl_journal_set_matches(). After applying the matches, the model is repopulated accordingly.
* Define structs for query APIPranav Ganorkar2016-07-182-0/+60
| | | | | | These structs will be used for passing data from eventviewlist (view) to journal model. Also, the functions for allocating and freeing them are defined.
* Remove PROP_MATCHES property from journal modelPranav Ganorkar2016-07-181-22/+0
| | | | This property was removed as it was not used anywhere.
* Make comments to be seen by translatorsOvidiu Dancila2016-03-241-16/+16
| | | | | | | | | | | | The problem is that there are comments for translators which are two lines above the gettext call _("...") and these will not be seen by translators. To fix this rearrange lines in order to place the commentaries right after the parameter. Also keep the coding style by indenting the comments and having no more than 79 characters on a line. https://bugzilla.gnome.org/show_bug.cgi?id=763572
* Add support for displaying newline characterPranav Ganorkar2016-03-241-1/+47
| | | | | | Replace newline characters with Unicode newline substitutor. https://bugzilla.gnome.org/show_bug.cgi?id=762622
* Olny output search resultJonathan Kang2016-02-251-0/+9
| | | | | | | Only output search results that are shown in the list view. Search results are entries that are visible and child visible. https://bugzilla.gnome.org/show_bug.cgi?id=762621
* Do not return NULL if error fetching PRIORITYJonathan Kang2016-02-251-8/+3
| | | | | | | | Use g_debug instead of g_warning as debug information for fetching PRIORITY field. And do not return NULL as the return value of _gl_journal_query_entry while error fetching PRIORITY field. https://bugzilla.gnome.org/show_bug.cgi?id=762665
* Declare "GError *error" in gl_journal_get_bootsJonathan Kang2016-02-241-0/+1
|
* Use GError while calling gl_journal_get_dataJonathan Kang2016-02-241-5/+17
|
* Remove a couple of unused variablesDavid King2016-02-161-2/+0
|
* Avoid double frees on journal errorsDavid King2015-12-081-0/+6
| | | | | NULL out the pointers to already-freed data when an error occurs in _gl_journal_query_entry().
* Set default icon (for when app-menu is broken).Arnaud Bonatti2015-11-261-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=758408
* Show seconds in details view and exported logsJonathan Kang2015-11-245-29/+105
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=758108
* Add the full log text as a tooltip to each rowDavid King2015-11-121-0/+3
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=756899
* Only fetch the latest 5 boots to improve startup timeJonathan Kang2015-11-121-111/+72
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=757807
* Make the Support link in detail view clickableJonathan Kang2015-10-141-4/+20
| | | | | | Allow users to click the Support link directly to visit it. https://bugzilla.gnome.org/show_bug.cgi?id=756575