Commit Graph

1073 Commits

Author SHA1 Message Date
Matthias Clasen
0f3a211d35 gtk-demo: Simplify ui files a bit
Strip unneeded IDs.
2016-02-28 00:00:03 -05:00
Matthias Clasen
492fec6294 gtk-demo: Put hte app menu in a separate file
No need to cram it in the same file as the main window.
2016-02-27 23:43:06 -05:00
Matthias Clasen
9d5ad67c91 gtk-demo: Add some padding in sidebar
Add some padding on the right, to avoid the scrollbar and make
the sidebar appear balanced.
2016-02-27 23:35:33 -05:00
Matthias Clasen
87554eb57a widget-factory: Make the sliding opt-in
The sliding is a little disorienting, so turn it off by default
and add a checkbutton for it in the gear menu.
2016-02-27 23:12:15 -05:00
Matthias Clasen
a7a934a60c gtk3-demo: Update css
Clean up any deprecation warnings from the css examples in
gtk3-demo.
2016-02-27 22:39:09 -05:00
Matt Watson
a051e5677e widget-factory: transition pages
https://bugzilla.gnome.org/show_bug.cgi?id=762642
2016-02-25 19:49:45 -05:00
Benjamin Otte
d10bd41e43 widget-factory: Add myself
Actually, I wanted to have a radio toggle cell renderer for testing. But
hey, the commit message is supposed to say the important things!
2016-02-15 18:17:11 +01:00
Caolán McNamara
1d65e8b601 gtk-demo: add menu separator demo
doesn't much look like the menu separator in a real menu though.

https://bugzilla.gnome.org/show_bug.cgi?id=762080
2016-02-15 10:19:49 -05:00
Caolán McNamara
ee9c1c1449 gtk-demo: add combobox demos
https://bugzilla.gnome.org/show_bug.cgi?id=762080
2016-02-15 08:41:22 -05:00
Caolán McNamara
1131ae27a0 gtk-demo: add menu check and radio examples
note that if the "menu" context has no parent then the GTK_STATE_FLAG_NORMAL
menu entries are invisible against the white background.

https://bugzilla.gnome.org/show_bug.cgi?id=762080
2016-02-15 08:41:22 -05:00
Matthias Clasen
e0bf1289b9 gtk3-demo: Fontify all source files 2016-02-14 10:56:26 -05:00
Matthias Clasen
c0a61c2da3 gtk-demo: Streamline application
Avoid the odd #ifdef STANDALONE construction; we can show
multiple source files nowadays.
2016-02-14 10:56:26 -05:00
Matthias Clasen
fc90bd5e30 gtk-demo: Fix the size saving for CSD
We need to use gtk_window_get_size to get the correct size that
we can pass to gtk_window_set_default_size regardless of CSD
or not.
2016-02-14 10:56:26 -05:00
Matthias Clasen
3a499d61dc gtk-demo: Add window size saving example
Implement the recommendations from
https://wiki.gnome.org/HowDoI/SaveWindowState
in the Application Class example.
2016-02-13 23:03:18 -05:00
Matthias Clasen
7bca66e1ff gtk-demo: modernize the application demo
Subclass GtkApplication and GtkApplicationWindow
and use a template.
2016-02-13 23:03:18 -05:00
Matthias Clasen
29a7373802 widget-factory: Add an inline toolbar example
This pattern is still used in applications, so we should have it
represented here to keep it working well.
2016-02-13 17:11:59 -05:00
Caolán McNamara
5562f4f273 gtk-demo: spinbutton and menubar examples
https://bugzilla.gnome.org/show_bug.cgi?id=761900
2016-02-12 10:02:31 -05:00
Matthias Clasen
bfd254c932 gtk-demo: Add more foreign drawing examples
Add a notebook with an active tab.
Based on a patch by Caolan McNamara.
2016-02-10 21:20:34 -05:00
Caolán McNamara
671552043c gtk-demo: attempt at a notebook with active box-shadow in tab 2016-02-10 17:26:12 -05:00
Caolán McNamara
701cdda3dc gtk-demo: Add a menu to foreigndrawing
and demo that the block arrows require GTK_STATE_FLAG_DIR_LTR or
GTK_STATE_FLAG_DIR_RTL set to appear

https://bugzilla.gnome.org/show_bug.cgi?id=761828
2016-02-10 16:07:51 -05:00
Matthias Clasen
7ad6043478 gtk-demo: Improve the tag implementation
Add margins and make it so that clicking on margins next to
links does not activate them.
2016-02-10 00:07:37 -05:00
Matthias Clasen
5f01e6924f widget-factory: Update levelbar example
Set reasonable level offsets.
2016-02-07 15:05:57 +01:00
Carlos Garnacho
2c0446917d demos: Modify "Change display" demo to use seat grabs
The window picking feature was done through a pointer grab, replace
it by a seat grab on pointing devices.
2016-01-28 12:50:49 +01:00
Emmanuele Bassi
02800033d4 build: Missing build flags
The compiler and linker flags variables were renamed in the previous
commit.
2016-01-26 13:32:47 +00:00
Emmanuele Bassi
c8686f0c47 demo: Link against Harfbuzz
The font features demo started calling the Harfbuzz API directly
starting from commit 9de3b24c20. Harfbuzz
is an implicit dependency of Pango on some platforms, but it's not part
of the public dependencies; this means that we cannot expect to link to
Pango and automatically get Harfbuzz symbols to link against —
especially when things like --as-needed are in play.

This change triggered build failures on non-Unix platforms, fixed by
commit 2a9967731a, as well as build
failures in Continuous, with this error message:

/usr/lib/gcc/x86_64-gnomeostree-linux/4.9.3/../../../../x86_64-gnomeostree-linux/bin/ld:
font_features.o: undefined reference to symbol 'hb_tag_to_string'
//lib/libharfbuzz.so.0: error adding symbols: DSO missing from command
line
collect2: error: ld returned 1 exit status

In order to get the font features demo to build everywhere we should
take an explicit, though optional, check on Harfbuzz, and conditionally
build the font features demo with the right compiler and linker flags.
2016-01-26 11:46:48 +00:00
Chun-wei Fan
2a9967731a demos: Don't build font features demo on non-UNIX
The fonts features demo now uses fontconfig APIs via PangoFT2, which makes
the code not build on non-Linux, so only include this demo in the build
on UNIX.
2016-01-26 15:56:07 +08:00
Matthias Clasen
9de3b24c20 gtk-demo: Expand font features demo
Add more features to the list, allow selecting script/language
from the set that is supported by the font, indicate which
features are present in the font for the selected script/language,
and expand the default specimen to cover latin, cyrillic and
greek.
2016-01-25 22:26:21 -05:00
Matthias Clasen
ba582a4a19 One forgotten rename
Rename app-menu.ui to menus.ui in EXTRA_DIST too.
2016-01-24 20:10:45 -05:00
Matthias Clasen
792857c7b8 icon browser: Load app menu automagically
No need to manually create a builder and pass the resource to it,
just follow the conventions and have GtkApplication do it for us.
2016-01-24 20:01:33 -05:00
Matthias Clasen
873a024f5b widget-factory: Add a color editor example 2016-01-23 22:30:59 -05:00
Matthias Clasen
770e308c9e widget-factory: Ensure spinbuttons are sized right
GtkEntry now respects the padding set by the theme, so we
need to ask the spin buttons to show 2 characters, otherwise
they will be clipped.
2016-01-23 18:16:51 -05:00
Matthias Clasen
e1068255b3 gtk-demo: Fix font features sources
The resources had the prefix, causing the ui file not
to show up.
2016-01-19 22:47:19 -05:00
Matthias Clasen
cba7b2c56b Simplify foreign drawing example
This is code will be copied, so take out unnecessary complication.
2016-01-19 08:36:27 -05:00
Matthias Clasen
3fea7f296e gtk-demo: Add a progress bar to foreigndrawing
This is another commonly requested widget.
2016-01-18 23:40:38 -05:00
Matthias Clasen
7ee65da0e3 Add foreigndrawing example to gtk3-demo
This makes it easier accessible and nicer to refer to
from the documentation.
2016-01-10 15:32:53 -05:00
Timm Bäder
feba047574 gtk3-demo: Remove unused GtkCellView 2016-01-08 13:30:43 +01:00
Matthias Clasen
b387a966ce widget-factory: Make the notebook action truly circular
The sidebar-button class doesn't work out so well for this
since it has horizontal padding.
2016-01-04 21:32:19 -05:00
Matthias Clasen
e9aea98969 widget-factory: Rename outline radius in css
Rename all outline*radius properties to -gtk-outline*radius.
2015-12-22 16:20:09 -05:00
Benjamin Otte
fe9301ac1b widget-factory: Make things compile again
1e1064398c broke the build.

When I run make, I should make sure to run it in the right directory.
And not in the gtk/ subdirectory that will never build widget-factory...
2015-12-16 16:28:34 +01:00
Benjamin Otte
1e1064398c widget-factory: Disconnect clipboard watcher on close
The clipboard emit events after the button we connected it to was
already destroyed (on application close for example), so make sure we
don't try to use that dead button.
2015-12-16 15:44:52 +01:00
Matthias Clasen
5d3f28192c gtk-demo: Add another shortcuts window example
The boxes shortcuts, taken straight from boxes.
This demonstrates a problem with view filtering.
2015-12-15 18:39:39 -05:00
Matthias Clasen
8dfad8e2f0 gtk-demo: Add an example for direction-dependent shortcuts 2015-12-08 12:32:00 -05:00
Matthias Clasen
63c4b9226c widget-factory: Add an entry completion
This was missing so far.
2015-12-05 14:11:06 -05:00
Matthias Clasen
6fdc6cb313 gtk-demo: Plug a memory leak 2015-12-05 13:53:23 -05:00
Matthias Clasen
8768c0b8ac shortcuts: Extend the accelerator syntax more
Cover cases like left+right control, and render them nicely.
The gtk3-demo builder shortcuts example shows the new
possibilities.
2015-12-04 10:56:48 -05:00
Timm Bäder
d505a1af68 icon-browser: Stop using GtkMisc properties
Instead of xpad/ypad of 4 for every widget, just increase the
row-spacing and column-spacing by 8.

https://bugzilla.gnome.org/show_bug.cgi?id=758790
2015-11-30 17:31:49 +01:00
Timm Bäder
624cb5e016 icon-browser: Use proper "times" character
https://bugzilla.gnome.org/show_bug.cgi?id=758790
2015-11-30 17:31:49 +01:00
Timm Bäder
91cafb8d08 icon-browser: baseline-align the icon size labels
https://bugzilla.gnome.org/show_bug.cgi?id=758790
2015-11-30 17:31:49 +01:00
Matthias Clasen
6dfcea304f gtk-demo: Stop using GtkShortcutsGesture
Use the new predefined gestures, and GtkShortcutsShortcut.
2015-11-23 08:37:14 -05:00
Matthias Clasen
576e68faba gtk-demo: Show all built-in gesture images
Show all the predefined gestures which have enum values
in GtkShortcutType. This also demonstrates the gesture
functionality of GtkShortcutsShortcut.
2015-11-22 22:41:48 -05:00
Timm Bäder
5fb10d25c1 gtk-demo: Fix selection in css basics demo 2015-11-21 21:04:02 +01:00
Matthias Clasen
527d6a6f34 gtk-demo: Fix the CSS examples
The CSS needs small adjustments after all the CSS node changes.
2015-11-17 20:02:05 -05:00
Matthias Clasen
1266c6d81a gtk-demo: Fix the assistant example
GtkEntry respects valign now, so we need to set it to something
other than fill.
2015-11-17 19:48:02 -05:00
Alexander Larsson
51dc4873fd Add gtk_native_dialog_destroy()
Its very easy to get extra references to the NativeDialog so that
when you release your last reference any visible dialog is not
hidden. We handle this by adding a destroy method similar to how
you destroy regular toplevels.
2015-11-11 16:06:44 +01:00
Alexander Larsson
0af457639d TextView: Use saner coordinate space in draw_layer.
When I added the draw_layer vfunc it accidentally got passed a cairo_t
that was configured with to draw in the viewport coordinate space (rather
than the buffer coordinate space). This makes things unnecessary complex,
because you have to convert between the two.

The pixel cache is shared between the text and the layers, so there is
no way to use draw_layer to get a stationary overlay effect. Thus it makes
much more sense for the draw_layer vfunc to draw in the buffer space.

Just changing this would break ABI for existing code, so this is fixed
by adding new layer types and deprecating the old ones.

Also, we use the new layer types to fix gtk3-widget-factory.

https://bugzilla.gnome.org/show_bug.cgi?id=757856
2015-11-10 08:39:47 +01:00
Matthias Clasen
306b6c6024 widget-factory: Add another notebook example
This example shows a scrollable notebook with action widgets.
2015-11-08 21:08:38 -05:00
Alexander Larsson
5744c757c2 gtk3-demo: Add open file to the application demo 2015-11-05 16:54:12 +01:00
Matthias Clasen
7b3cda2cd5 gtk3-demo: Drop .sidebar class
This makes no visual difference at all, and the .sidebar class
is causing some complications with the current CSS node transition.
2015-11-05 09:44:14 -05:00
Matthias Clasen
ef1bc737b0 widget-factory: Stop using deprecated API 2015-11-03 23:24:13 -05:00
Robert Ancell
aefa1ba611 gdk: Deprecate gdk_display_get_screen 2015-10-27 14:17:52 +13:00
Matthias Clasen
defd3146eb gtk-demo: Add a range example to the shortcuts demo
This shows off the new range display capability that I just added.
2015-10-22 14:32:50 -04:00
Matthias Clasen
3306ce6819 widget-factory: Add an automatic help overlay
This commit add some more keyboard shortcuts to gtk3-widget-factory,
and adds a help overlay documenting them. This examle uses the
automatic resource loading support in GtkApplication.
2015-10-21 15:33:22 -04:00
Matthias Clasen
310781ecdd gtk-demo: Add a GtkShortcutsWindow demo
This example implements the mockups from the help overlay design,
showing off the various features of GtkShortcutsWindow.
2015-10-21 15:32:33 -04:00
Matthias Clasen
ecf5c5ff6e Don't use g_list_next in gtk3-demo
We generally just use ->next directly.
2015-10-20 06:14:57 -04:00
Matthias Clasen
a9b069524c Return a value from ::command-line handler
The signal expects a return value, so give it one.

https://bugzilla.gnome.org/show_bug.cgi?id=755692
2015-09-28 06:29:51 -04:00
Benjamin Otte
7439a7efda widget-factory: Remove libcanberra support
GTK cannot depend on libcanberra-gtk which depends on GTK. This causes
a circular dependency and is especially neat if installed GTK is
different enough from uninstalled GTK.
2015-09-21 21:58:04 +02:00
Timm Bäder
7f673122d5 gtkdemo: Plug leaks in listbox demo 2015-09-19 20:04:37 +02:00
Matthias Clasen
28c9f3d5da Plug another memory leak 2015-09-15 19:33:49 -04:00
Matthias Clasen
3db98fe23c Plug a memory leak 2015-09-15 19:33:49 -04:00
Carlos Garnacho
d9a738dfac gtk-demo: Fix drawing of gestures demo feedback on CSD windows
It was wiping the translation initially applied to the cairo_t, so
pick that up first before applying our own matrix changes.
2015-09-15 13:23:53 +02:00
Chun-wei Fan
d836a52b68 build: Clean Up Visual Studio Project Generation
Use the common automake module from the previous commit in the
Makefile.am's, which means that the Makefile.am's in gdk/ and gtk/ can be
cleaned up as a result.  As a side effect, the property sheet that is used
to "install" the build results and headers can now be generated in terms of
the listing of headers to copy during 'make dist', where we can acquire
most of the list of headers to "install", so that we can largely avoid the
situation where the property sheet files are not updated in time for this,
causing missing headers when this build of GTK+ is being used.

Also use the Visual Studio Project file generation for the following
projects:
gtk3-demo
gtk3-demo-application
gtk3-icon-browser
gdk-win32
gdk-broadway
gail-util

So that the maintenace of these project files can be simplified as well.

https://bugzilla.gnome.org/show_bug.cgi?id=681965
2015-09-15 18:37:37 +08:00
Kouhei Sutou
921930907b Add missing $(EXEEXT)
https://bugzilla.gnome.org/show_bug.cgi?id=754629
2015-09-14 23:15:23 -04:00
Matthias Clasen
75057db990 gtk-demo: Fix builder example
This example is still using a GtkVBox, and it happened to be broken
by gtk-builder-tool simplify.
2015-09-14 11:15:12 -04:00
Matthias Clasen
b9322433d3 Update all ui files again
Replace translatable="1" by translatable="yes" so
xgettext stays happy and extracts the strings.
2015-09-13 23:26:16 -04:00
Matthias Clasen
3a503b7ba1 widget-factory: Simplify the ui file 2015-09-12 11:24:37 -04:00
Matthias Clasen
3b67184f86 gtk-demo: Simplify ui files 2015-09-12 11:24:37 -04:00
Matthias Clasen
23d7c3d435 gtk-demo:Add a --list option
This just shows the available examples and then exists.
2015-09-09 10:14:17 -04:00
Matthias Clasen
bce8d771a2 gtk-demo: Make --autoquit a simple option
No real need to specify the amount of delay, just make this
a plain boolean.
2015-09-09 08:07:20 -04:00
Matthias Clasen
e559a310c6 gtk-demo: Add a way to launch individual demos
Add a --run option which takes the name of an example and
launches it. Also add a --autoquit option which can be used
to quit after a given number of seconds.
2015-09-06 17:11:33 -04:00
Matthias Clasen
09567d19a7 gtk-demo: Change an accel
The application demo had a "Blue" and a "Bold" menuitem both with
the Ctrl-B accel. This is confusing, since only one of them works.
Change the accelerator for bold to Ctrl-Shift-B, so they both work.
2015-08-29 18:09:58 -04:00
Benjamin Otte
df5ee78c28 gtk-demo: Update listbox example with longer list
Add all 388 tweets of the @GTKtoolkit account. This shows the
performance behavior of the listbox (not good with that many rows) and
allows us to quickly notice when things get worse (or better).

And just so I have a place where I can dump how I generated this file:

First, I got Timm Bäder to download me the json for the twitter feed
into a file gtk.json, then I ran the jq tool on it like this:

jq ".[] | if .retweeted_status then .retweeted_status.user.name + \"|\"
+ .retweeted_status.user.screen_name else .user.name + \"|\" +
.user.screen_name end + \"|\" + .text" gtk.json | cat -n | sed
"s/\\s*\([0-9]*\)\t\"\(.*\)\"/\\1|\\2/" > messages.start

jq ".[] | .created_at" gtk.json | sed "s/\"\(.*\)\"/\1/" | while read
in; do date +%s -d "$in"; done > dates

jq ".[] | \"0|\" + if .retweeted_status then .user.screen_name else \"\"
end + \"|\" + (.favorite_count | tostring) + \"|\" + (.retweet_count |
tostring)" gtk.json | sed "s/\"\(.*\)\"/\\1/" > messages.end

paste -d\| messages.start dates messages.end > messages.txt

This whole machinery of going through 3 intermediate files was only
necessary to onvert the dates from ISO format to unix timestamps,
otherwise this could have been a single line.
2015-08-24 21:28:53 +02:00
Benjamin Otte
a7f40fc0ea gtk-demo: Order tweets newest first in listbox example 2015-08-24 21:28:53 +02:00
Matthias Clasen
4d9a943338 gtk-demo: Add a model button demo
This shows how to hook model buttons up to various action types,
or how to create them manually.
2015-08-19 23:18:01 -04:00
Matthias Clasen
ab09ffaa8c gtk-demo: Use top/bottom-margin for text views
This lets us replace the hack of inserting tags in the first
and last paragraph to set a above/below-paragraph space.
2015-08-17 01:40:32 -04:00
Matthias Clasen
cf237eccbe widget-factory: Add a lock button 2015-08-10 22:43:19 -04:00
Matthias Clasen
b048181157 gtk-demo: Add a scale example 2015-07-31 16:36:02 -04:00
Matthias Clasen
7d91ca3183 widget-factory: Test busy state
Makes it easy to test insensitive state of widgets.i
Also exposes brokenness in the shell busy indicator...
2015-07-30 10:36:34 -04:00
Matthias Clasen
6bf2e9e7a7 gtk-demo: Move the transparent example under Overlay 2015-07-29 21:43:28 -04:00
Matthias Clasen
1ce7c76cda gtk-demo: Rename textview demos to "Text View"
Fits better with "Tree View".
2015-07-29 21:43:20 -04:00
Matthias Clasen
94120094ab gtk-demo: Tweak the markup demo 2015-07-29 21:43:13 -04:00
Matthias Clasen
627886c682 gtk-demo: Add font features to markup demo 2015-07-29 21:43:07 -04:00
Matthias Clasen
3c2a759c21 gtk3-demo: Add a markup demo 2015-07-29 13:57:25 -04:00
Matthias Clasen
1fb154e62a gtk3-demo: Add a scrollbar context menu
Just to demonstrate the capability, not because this is
excellent UI.
2015-07-28 23:48:10 -04:00
Matthias Clasen
763bf27d9c gtk3-demo: Add another overlay demo 2015-07-28 22:47:57 -04:00
Matthias Clasen
5c2759af3c Use standard cursor names
This changes GTK+ to use gdk_cursor_new_from_name() with the
'standard' css names, instead of GdkCursorType.

https://bugzilla.gnome.org/show_bug.cgi?id=652085
2015-07-26 01:45:06 -04:00
Matthias Clasen
b847937772 gtk-demo: Expand the filter model example
Show normal filtering as well.
2015-07-24 14:27:08 -04:00
Matthias Clasen
13b4500f52 widget-factory: hook up callbacks to the tab close buttons
Just to show that buttons in notebook tabs work.
2015-07-24 12:22:19 -04:00
Timm Bäder
c28d0a7e0a gtk3-demo: Don't use xalign on GtkCheckButton 2015-07-23 17:37:49 +02:00
Matthias Clasen
6a5586a416 gtk-demo: Add a filter model example
This shows computed columns.
2015-07-22 10:59:53 -04:00
Timm Bäder
3fc5d09890 gtk3-demo: Don't set xalign of GtkCheckButton
It's deprecated and doesn't make a difference here.
2015-07-22 06:58:08 +02:00