| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The EosProfileProbe API allows defining profiling probes that can be
used to efficiently measure the time spent in a critical section.
The Profiling API is meant to collect samples and generate a report
at the end of the lifetime of the process, either by printing out the
results once the process terminates; or by saving the raw data in a
binary file that can be loaded at a later date.
This profiling API is meant to be as close as possible to a zero cost
abstraction:
- probes are only allocated if profiling is enabled
- all profiling API is a no-op if profiling isn't enabled
- the C API is meant to be easily tied to a scope, through the
use of auto-cleanup macros provided by GLib
This allows projects using the Endless SDK to keep the profiling probes
in place, instead of conditionally compile them in.
https://phabricator.endlessm.com/T18514
|
|
|
|
|
|
| |
since global AM_CPPFLAGS is ignored in those cases.
https://phabricator.endlessm.com/T12150
|
|
|
|
|
|
|
|
| |
We have one utility function currently living in eosinit.c. Since we are
about to have another one, we should put them in a file for utility
functions.
[endlessm/eos-sdk#3930]
|
|
|
|
|
|
|
|
|
| |
The apiversion.h header provides symbols that are used in the public
headers, so it definitely needs to be installed. Ignore it in the gtk-doc
makefile, however, so we don't have to document its symbols, which are
not for public consumption.
[endlessm/eos-sdk#3071]
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds EOS_SDK_MAJOR_VERSION, EOS_SDK_MINOR_VERSION and
EOS_SDK_MICRO_VERSION as macros in eosversion.h whose values are
generated from configure with AC_SUBST, rather than in config.h using
AC_DEFINE.
They are also public API, so they get documenation and Since:
annotations.
[endlessm/eos-sdk#3071]
|
|
|
|
|
|
|
|
|
|
| |
Added a new API to serve locally-stored copies of Creative Commons' license
files, for a specified license level. This method uses the user's locale
to serve the appropriate version of the file.
(Philip & Fernando)
[endlessm/eos-sdk#3111]
|
|
|
|
|
|
|
| |
We need to add more than one file to it, in more than one Makefile, and
this is susceptible to confusion.
[endlessm/eos-sdk#291]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a rough implementation of an "About"-like dialog for image
attribution in SDK applications. You can press the 'secret' hotkey
Shift+Ctrl+A to get a dialog with thumbnails and attribution information
for the images in the app's GResource. Clicking on the thumbnail opens
the image's original URI in the browser, if known. Clicking on the text
opens the image's license text in the browser, if known.
For this, you need to add a JSON file to the app's GResource and pass its
GResource path to the EosApplication:image-attribution-file property. The
format of this JSON file is described in the documentation for
EosApplication.
The dialog uses GtkTreeView because we didn't have GtkListBox when I
started implementing it over a year ago. This places some limitations on
the UI; the links behave weirdly and the mouse pointer doesn't change to
a hand when hovering over the links.
[endlessm/eos-sdk#2934]
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We now provide a new m4 module eos-coverage.m4, which is installed
into the system aclocal directory. This macro provides three
new commands for SDK consumers to use:
EOS_COVERAGE_REPORT([languages]) - Enables a "coverage report".
The first argument is a space separated list of unquoted
languages to collect coverage information for. Valid values
at the moment are "c" and "js". For each language specified,
the macro will check for support for collecting coverage and
enable reporting accordingly. Raw coverage output goes in
$(abs_top_builddir)/_coverage/output/$language accordingly.
The macro then checks to see if a coverage reporter, either
genhtml, or cobertura, is available and enables them. A reporter
must be installed and available for coverage reports to be
generated.
The coverage-genhtml is enabled if lcov is installed and available.
This is generally used by developers themselves as it creates a
self-contained report.
The coverage-covertura is enabled if a program called
lcov-result-merger is installed and a python module called
lcov_cobertura are installed. lcov-result-merger can be
installed from Node Package Manager. lcov_cobertura
can be installed from PyPI.
lcov-result-merger is necessary because each test suite is run
in a separate subprocess and so there will be multiple entries
per source file in the coverage.lcov file generated by gjs.
lcov_cobertura doesn't handle that properly and so the
results need to be merged together properly.
JavaScript Coverage Details
===========================
A variable called EOS_JS_COVERAGE_FILES should be defined
containing a list of all javascript files to be considered
a "part of" the coverage report, before EOS_COVERAGE_RULES
are substituted. For example:
EOS_JS_COVERAGE_FILES = $(SRCS)
@EOS_COVERAGE_RULES@
AM_JS_LOG_FLAGS += @EOS_COVERAGE_JS_LOG_FLAGS@
C/C++ Coverage Details
======================
Certain additions also need to be made for Makefiles where
coverage reporting is enabled on a C project:
@EOS_COVERAGE_RULES@
AM_CFLAGS += @EOS_C_COVERAGE_CFLAGS@
AM_LDFLAGS += @EOS_C_COVERAGE_LDFLAGS@
If a target's CFLAGS is overridden and AM_CFLAGS is not used,
then @EOS_C_COVERAGE_CFLAGS@ must be added to its CFLAGS.
Blacklisting patterns
=====================
If a path should not appear in the coverage report, then it can
be blacklisted by adding a glob expression to
EOS_COVERAGE_BLACKLIST_PATTERNS.
Clean rules
===========
A clean-coverage target is added to the dependencies for
the clean-local target automatically by EOS_COVERAGE_RULES.
[endlessm/eos-shell#2264]
|
|
|
|
|
| |
Wasn't getting used in any apps so we are taking it out
[endlessm/eos-sdk#985]
|
|
|
|
|
| |
Wasn't getting used in any apps so we are taking it out
[endlessm/eos-sdk#985]
|
|
|
|
|
| |
Was not getting used in any apps so we are taking it out
[endlessm/eos-sdk#985]
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the visible-child and visible-child-name properties of GtkStack
in lieu of visible-page and visible-page-name. Use the
transition-duration, transition-type and name properties of GtkStack
instead of proxying in page manager with properties of that same name.
The page manger becomes nothing more than a stack with custom child
properties for use in EosWindow, and becomes a lot simpler.
This breaks the page manager api and will require changes in the
apps as well
[endlessm/eos-sdk#985]
|
|
|
|
|
|
|
|
|
|
| |
This has been totally unused in all our applications and has been
having sizing problem with height for width and width for height
request.
We had grand plans for this, but since its unclear if there's a
future in which this widget is used think it makes sense to remove
[endlessm/eos-sdk#985]
|
|
|
|
|
|
|
|
|
|
| |
forall cannot be overridden in gjs. There's an upstream bug here
https://bugzilla.gnome.org/show_bug.cgi?id=701567
but that does not look like it will be fixed soon. So for now
added a small c class that take care of GtkContainers add, remove
and forall methods. This makes it possible to write generic containers
in gjs. See docs for an example
[endlessm/eos-sdk#481]
|
|
|
|
|
|
|
| |
The personality file is moving to /etc/EndlessOS/personality.txt
for OSTree, since /usr/share is read-only.
[endlessm/eos-shell#1157]
|
|
|
|
|
|
|
|
|
| |
We will use it in the app store, and other applications, to determine
the content to be displayed.
[endlessm/eos-sdk#326]
[endlessm/eos-sdk#326]
|
|
|
|
|
|
|
| |
A layout manager for flexible grid layouts using the same algorithm of
the Discovery Center. The UI pattern is going to be used in the app
store and other native applications, so it makes sense to have this
widget in the SDK.
|
|\
| |
| | |
#125 Reset the GTK theme
|
| |
| |
| |
| |
| |
| |
| |
| | |
resource:///com/endlessm/sdk/ is now the official GResource path for SDK
resources. Right now the GResource contains reset.css (from GTK) and
endless-widgets.css (from eos-theme).
[endlessm/eos-sdk#125]
|
|/
|
|
|
|
|
|
| |
Rename eosactionbutton-private.h to eosactionbutton.h, make sure it gets picked
up in the documentation, include it in endless.h, make all the new public API
documentation complete, and put the EosActionButtonSize enum documentation on
the EosActionButton page.
[endlessm/eos-sdk#133]
|
|
|
|
| |
[endlessm/eos-sdk#79]
|
|
|
|
|
| |
EosWindow will always use this type when transitioning the background.
[endlessm/eos-sdk#88]
|
|
|
|
|
|
|
| |
Splash page and main page widget properties with getters and setters.
Ability to switch between the splash and main page. Added splash-
page.js smoke test.
[endlessm/eos-sdk#62]
|
|
|
|
| |
[endlessm/eos-sdk#30]
|
|
|
|
|
|
|
| |
The widget extends GtkButton and implements its own draw() method.
It holds a GtkLabel and a GtkImage internally.
EosActionButtonSize : an enum that is used to indicate the desired size of the EosActionButton.
[endlessm/eos-sdk#30]
|
|
|
|
|
|
|
|
| |
- Style fixes
- Add API to documentation
- Add header to private headers
[endlessm/eos-sdk#60]
|
|
|
|
|
|
|
| |
Has private getters/setters for two areas. Functioning container.
Only shows the content widget. Added all the virtual functions for
size requests and allocations.
[endlessm/eos-sdk#10]
|
|
|
|
|
|
|
| |
Minimum functionality for EosPageManager. Currently uses a
GtkNotebook internally until we decide what to do regarding GtkStack.
(Philip; map/unmap Matt, Patrick)
|
|
|
|
| |
[endlessm/eos-sdk#7]
|
|
|
|
|
|
|
|
|
| |
Improvement to the build system: this allows you to turn on debug
messages from the SDK by running
G_MESSAGES_DEBUG=EndlessSDK ./myprogram
Use G_MESSAGES_DEBUG=all to turn on messages from other libraries too.
|
|
|
|
|
|
| |
For consistency with GTK, blah.[ch] should be named eosblah.[ch].
[#23]
|
|
|
|
|
|
|
|
|
| |
Add an EosApplication class. Functionality:
- present main application window when activated
- warn if more than one application window is added
Also add a stub EosWindow class that overrides GtkWindow's
"application" property to be a construct-only property.
[#4]
|
|
|
|
|
|
|
| |
There are automated tests which run when you do 'make check', and also
smoke tests which demonstrate one piece of functionality, which can be
used as a sort of sanity check or demo.
[#1]
|
|
|
|
|
|
| |
Add infrastructure for translating the single string in the shared
library.
[#1]
|
|
Builds a dummy shared library that exports one symbol for testing,
eos_hello_sample_function().
[#1]
|