| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
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]
|
|
|
|
| |
Or tests will fail on the runtime deprecation warning.
|
|
|
|
|
|
|
| |
These licenses are used in the new batch of image attributions coming
from eos-knowledge-apps.
[endlessm/eos-sdk#3052]
|
|
|
|
| |
[endlessm/eos-sdk#3052]
|
|
|
|
|
|
|
|
| |
Any strings read from external sources that are used as Pango markup
should be escaped before using. Also, add translator comments indicating
when a string is Pango markup.
[endlessm/eos-sdk#3052]
|
|
|
|
|
|
|
|
|
| |
This adds a fourth topbar button, to the left of the minimize button,
that is invisible by default. When you mouse over the space where it
would be, it appears. When you click on it, it activates the image
credits dialog.
[endlessm/eos-sdk#2934]
|
|
|
|
|
|
|
|
| |
Since the first thing we do is load the attribution information from the
file and the object is useless if that fails, then we may as well make
the file a construct property and implement GInitable.
[endlessm/eos-sdk#2934]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]
|
|
|
|
|
|
| |
It's unused, and we should put it on notice before removing it.
[endlessm/eos-sdk#2733]
|
|\
| |
| | |
Remove clamp_allocation
|
| |
| |
| |
| |
| |
| |
| | |
The function clamp_allocation is no longer necessary and has the possibility of
introducing new problems, as in the case with fullscreen WebKit videos.
[endlessm/eos-sdk#1893]
|
|/
|
|
|
|
|
| |
This changes the package version to 0.1 and adds versioning macros for
the 0.2 stable series.
[endlessm/eos-sdk#2736]
|
|
|
|
|
|
| |
600 pixels is bigger than our work area at our minimum resolution of
800x600 and it was giving us terminal warnings. The 30 pixels is
needed for the bottom bar to display properly
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]
|
|
|
|
|
|
| |
Flip the horizontal cell allocation when in RTL.
[endlessm/eos-sdk#2432]
|
|
|
|
|
|
|
| |
The first version is going to be version 0.0, after which we will
bump up to development version 0.1.
[endlessm/eos-sdk#418]
|
|
|
|
|
|
| |
As for new designs.
[endlessm/eos-shell#3386]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our size request clamping code would only work for size requests where width
and height would be handled independently, if height_for_width or
height_for_width is used the clamping would not work. Adapting the same
clamping isn't quite correct either, as its not wrong for a window to return
an overlarge height request when given a tiny width or vice versa
So instead just handle the clamping and the warning at the size allocation
level. This limits us from sizing windows greater than one monitors size in a
dual monitor setup. If we want that feature we can delete the clamp code,
though I'd prefer to keep it in for now, as our font scaling can blow up size
request without a limit like this
[endlessm/eos-sdk#1080]
|
|
|
|
|
|
|
|
|
| |
Set 'can-focus' properties to false for the buttons on the topbar
of the window (minimize, maximize, close). This was in response to
a bug in which the focus was being stolen by the maximize button
after clicking it and the eos-typing app was unable to regain,
now the behavior is consistent with all non-Endless applications.
[endlessm/eos-sdk#1043]
|
|
|
|
|
| |
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]
|
|
|
|
|
|
|
|
|
| |
Rather than keeping an internal stack. This saves us from a lot of
proxied container vfuncs, which had some bugs. Before we were
avoiding doing this for adding persistent overlays above the pages,
but don't think thats currently in the plans so we can take the
simpler approach of subclassing GtkStack
[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]
|
|\
| |
| | |
Fix font size CSS decimal point
|
| |
| |
| |
| |
| |
| | |
Changed the decimal point of the font size's CSS to always use a '.' so that the metric decimal point ',' is never used. This makes sure that GTK's CSS parser will always be able to parse the font-size CSS.
[endlessm/eos-sdk#544]
|
|\ \
| | |
| | | |
Dont block the default window-state-event handler
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We snoop on window state events to update the maximize button, but
we were accidentally blocking the default handler. Semi maximizing
wasn't working properly, maybe other things
[endlessm/eos-sdk#546]
|
|\ \ \
| |_|/
|/| | |
Rounded corners on unmaximized top bar
|
| |/
| |
| |
| |
| |
| | |
The window manager already does this for most programs. But we have
to do it ourselves in the SDK as we have self decorated windows
[endlessm/eos-sdk#551]
|
|/
|
|
|
|
|
| |
The pointer may be on empty space while still within the bounds of the
FlexyGrid widget.
[endlessm/eos-shell#1887]
|
|
|
|
|
|
|
|
|
|
|
|
| |
Users should not have be forced to call show all on the toplevel.
Calling show on all the widgets they create should be enough to
make things show on screen. Which means we need to call show on our
internals ourselves.
Added a test for this. Calls show on the window so will actually
make something pop on screen for a second. But so do other test we
have so I think thats OK
[endlessm/eos-sdk#535]
|
|
|
|
|
|
|
|
|
|
| |
EosWindow manages the page background transition and relies on a
stack internally to transition. The stack was not properly
flipping between its child widgets before show_all was called in
user code. This is because stack's set_visible_child method won't
work unless the children are actually visible. Calling show our
stacks children fixes the problem.
[endlessm/eos-sdk#535]
|
|
|
|
|
|
| |
Added a publicly available calculated font size property. This allows Endless applications to perform actions based on the calculated font size of an EosWindow. In particular, the WebHelper application now uses the property to update the 'default-font-size' property of a WebSettings object.
[endlessm/eos-sdk#484]
|
|
|
|
|
|
|
|
|
|
| |
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]
|
|
|
|
|
| |
Also update the topbar icon depending on window state.
[endlessm/eos-sdk#477]
|
|\
| |
| | |
Added a maximize button to eos-topbar
|
| |
| |
| |
| |
| |
| | |
Spacing fixes
[endlessm/eos-sdk#477]
|
| |
| |
| |
| |
| |
| | |
Which toggles the application between a maximized and unmaximized
state. All applications will still start maximized by default.
[endlessm/eos-sdk#477]
|
| |
| |
| |
| |
| |
| | |
Missing type cast in eoswindow.c.
[endlessm/eos-sdk#495]
|
|/
|
|
|
|
| |
In a couple of places, we would first access the private data of
and pointer, and then assert it was the type we were expecting
[endlessm/eos-sdk#469]
|
|
|
|
|
|
| |
The priv->current_background_css_props variable is sometimes assigned to a const gchar. Changing the const gchar to a malloc'd gchar pointer allows the existing g_free to free priv->current_background_css_props normally without checking for const values.
[endlessm/eos-sdk#478]
|
|
|
|
|
|
| |
Added configurable properties to EosWindow to allow turning on/off scaling, setting a custom base font, and setting a custom base resolution. EosWindow now has a base font-size that allows children widgets to scale font-size via using em. Also added font rescaling tests to both the automated test and smoke test.
[endlessm/eos-sdk#398]
|
|
|
|
|
|
| |
Fixed a number of gchar memory leaks. Also added eos_window_finalize to properly unreference GtkStyleProvider objects.
[endlessm/eos-sdk#466]
|
|
|
|
|
|
|
|
|
|
| |
GTK 3.10 has gtk_window_set_titlebar(), so we can remove a lot
of code that was necessary for treating the top bar as an internal
child and dragging the window by its top bar.
By setting the 'decorated' flag again, this also solves #375.
[endlessm/eos-sdk#28]
|
|
|
|
| |
[endlessm/eos-sdk#191]
|
|
|
|
|
|
|
|
| |
This clamping code should not be used in anything production. If
you see a warning about your minimal size request being to large
fix the size request
[endlessm/eos-sdk#191]
|
|
|
|
|
|
| |
test/smoke-tests/large-content.js shows the warnings in action
[endlessm/eos-sdk#191]
|