summaryrefslogtreecommitdiff
path: root/endless/eoswindow.c
Commit message (Collapse)AuthorAge
* Make image credits discoverablePhilip Chimento2015-03-25
| | | | | | | | | 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]
* Remove clamp_allocationPatrick Ward2015-02-11
| | | | | | | 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]
* Make our default height 570 pixelsMatt Watson2015-01-19
| | | | | | 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
* Fix size request clamping for height_for_width width_for_heightMatt Watson2014-06-17
| | | | | | | | | | | | | | | 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]
* EosPageManager uses GtkStack properties directlyMatt Watson2014-05-13
| | | | | | | | | | | | | 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]
* Remove the main area widgetMatt Watson2014-05-12
| | | | | | | | | | 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]
* Merge pull request #555 from endlessm/issues/544mattdangerw2014-02-07
|\ | | | | Fix font size CSS decimal point
| * Fix font size CSS decimal pointPatrick Ward2014-02-07
| | | | | | | | | | | | 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 handlerMatt Watson2014-02-05
|/ | | | | | | 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]
* Show our internal widgets in eos-windowMatt Watson2014-01-29
| | | | | | | | | | | | 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]
* Updating page background props works before show_all calledMatt Watson2014-01-29
| | | | | | | | | | 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]
* Add publicly available font size propertyPatrick Ward2014-01-29
| | | | | | 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]
* Use proper assets for maximize button in top barMatt Watson2014-01-21
| | | | | Also update the topbar icon depending on window state. [endlessm/eos-sdk#477]
* Merge pull request #486 from endlessm/issues/477Will Greenberg2014-01-17
|\ | | | | Added a maximize button to eos-topbar
| * Implement code review commentsPhilip Chimento2014-01-17
| | | | | | | | | | | | Spacing fixes [endlessm/eos-sdk#477]
| * Added a maximize button to eos-topbarMatt Watson2014-01-16
| | | | | | | | | | | | Which toggles the application between a maximized and unmaximized state. All applications will still start maximized by default. [endlessm/eos-sdk#477]
* | Fix compile warningPhilip Chimento2014-01-17
| | | | | | | | | | | | Missing type cast in eoswindow.c. [endlessm/eos-sdk#495]
* | Fixed ordering of type checking in public C methodsMatt Watson2014-01-15
|/ | | | | | 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]
* Fix invalid free on gchar pointerPatrick Ward2014-01-15
| | | | | | 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]
* Add configurable properties for font scalingPatrick Ward2014-01-13
| | | | | | 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]
* Fix memory leaksPatrick Ward2014-01-13
| | | | | | Fixed a number of gchar memory leaks. Also added eos_window_finalize to properly unreference GtkStyleProvider objects. [endlessm/eos-sdk#466]
* Remove internal child codePhilip Chimento2013-12-17
| | | | | | | | | | 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]
* Added nicer warning message when clamping size requestMatt Watson2013-12-10
| | | | [endlessm/eos-sdk#191]
* Clamp minimal size request for windows to fit inside screenMatt Watson2013-12-10
| | | | | | | | 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]
* Warn when window minimal size is greater than screen sizeMatt Watson2013-12-10
| | | | | | test/smoke-tests/large-content.js shows the warnings in action [endlessm/eos-sdk#191]
* Use the new way to define private gobject dataMatt Watson2013-12-09
| | | | | Simpler and has a nicer memory layout. Needed glib 2.38 to do this. [endlessm/eos-sdk#421]
* Merge pull request #381 from endlessm/issues/376Rory MacQueen2013-12-05
|\ | | | | Issues/376
| * Fixed size request of eos-windowMatt Watson2013-12-05
| | | | | | | | | | | | | | Since the entire main area of the window is actually in the "over" layer of an overlay, we needed a size group to make sure the background widget underneath had the right size request. [endlessm/eos-sdk#376]
* | Merge pull request #428 from endlessm/issues/417P. F. Chimento2013-12-05
|\ \ | |/ |/| #417 Removed PStack from sdk
| * Removed PStack from sdkMatt Watson2013-12-05
| | | | | | | | | | | | | | We used this for our page manager, now we can just use GtkStack with Gtk 3.10 [endlessm/eos-sdk#417]
* | Remove {GTK,GLIB}_CHECK_VERSIONPhilip Chimento2013-12-03
|/ | | | | | | This removes all conditionally compiled parts for GTK < 3.10 and GLib < 2.38. [endlessm/eos-sdk#420]
* Added a default size to our windowPatrick Ward2013-10-31
| | | | | | | | | | Webkit apps like translation and english have no natural size, so when unmaximized they would size tiny. Adding a default size fixes this. It doesn't affect the minimum size so windows could still be downsized (if we had a resize corner) just controls the size they first appear at when not fullscreen. [endlessm/eos-sdk#376]
* Remove unused argumentsEmmanuele Bassi2013-09-28
| | | | | Also, do not cast from the macro otherwise, once we drop the macro, we'll have to modify the call site to do the cast anyway.
* Use gtk_widget_get_toplevel()Emmanuele Bassi2013-09-27
|
* Let GTK emit the GtkWidget::delete-eventEmmanuele Bassi2013-09-27
| | | | | Emitting the ::delete-event signal ourselves is not supported, and will inevitably lead to undefined behaviour.
* Merge pull request #286 from endlessm/issues/284P. F. Chimento2013-08-30
|\ | | | | #284 Emit delete-event on x button click
| * Emit delete-event on x button clickMatt Watson2013-08-30
| | | | | | | | | | | | | | | | This gives the apps a chance to intercept the delete event and prompt the user before closing the app. We synthesize the delete-event in eos-window and connect a default handler which destroys the window [endlessm/eos-sdk#284]
* | Merge pull request #281 from endlessm/issues/178P. F. Chimento2013-08-30
|\ \ | | | | | | #178 Drag EosWindows by topbar
| * | window: don't call gtk_widget_show() on the top bar againCosimo Cecchi2013-08-29
| |/ | | | | | | | | | | | | This breaks window sizing for some reason. It shouldn't be needed anyway, so just remove it. [endlessm/eos-sdk#178]
* / Set prgname rather than wmclass directlyRoddy Shuler2013-08-30
|/ | | | | | | | | Changes were made by Cosimo. Per Cosimo, applications should not call gtk_window_set_wmclass directly. Calls to g_set_prgname will indirectly set the wmclass. [endlessm/eos-shell#853]
* WM_CLASS is application's unique IDPhilip Chimento2013-08-28
| | | | | | | | We set the window manager's WM_CLASS hint to the application's unique ID, e.g. com.endlessm.typing, in order to prevent the WM_CLASS from being set to "Gjs". [endlessm/eos-shell#853]
* Create private method for setting 'EosWindow:application'Philip Chimento2013-08-28
| | | | | | | In order to avoid lots of code in the switch statement in eos_window_set_property() [endlessm/eos-shell#853]
* Fixed the cairo line drawing locationMatt Watson2013-08-01
| | | | | | Tiny changes so each line draws over an exact row of pixels on the screen, and not between rows [endlessm/eos-sdk#197]
* Add top bar edge finishingPhilip Chimento2013-08-01
| | | | | | | | | | | Add a highlight and shadow, on the bottom of the top bar; two pixels go over the top bar, and two pixels go over the app content. Added a smoke test with a button that turns red on press, in order to test that the two pixels on top of the app content do not catch input events. [endlessm/eos-sdk#197]
* Internal frame in eos window always has no borderMatt Watson2013-07-31
| | | | | | | | | Before, if no background_uri property was set per page, the internal frame would have a one pixel border. We needed to set an initial css provider that styled our internal frames as borderless [endlessm/eos-sdk#189] [endlessm/eos-sdk#189]
* Bug fix. Window detects properly when two backgrounds the sameMatt Watson2013-06-18
| | | | | And does not transtion between them if they are equal. [endlessm/eos-sdk#102]
* Window updates if any background prop changes on visible page.Matt Watson2013-06-18
| | | | | | Before EosWindow just updated if the background_uri changed. Now it also catches size position and repeat changes. [endlessm/eos-sdk#102]
* Window background drawing uses new page background propsMatt Watson2013-06-18
| | | | [endlessm/eos-sdk#102]
* Corrected assertion failures.Fernando Farfan2013-06-17
| | | | | Modified EosTopbar to remove a handful of assertion failures when adding left/center topbar widgets. [endlessm/eos-sdk#97]
* Added support for left topbar and center topbar.Fernando Farfan2013-06-17
| | | | | | | Modified EosPageManager, EosTopbar and EosWindow to have support for the two new topbars. app-window.js includes some tests for these two widgets. [endlessm/eos-sdk#97]