Compare commits
18 Commits
wip/smcv/a
...
wip/gtk4
Author | SHA1 | Date | |
---|---|---|---|
|
6a272c0bfb | ||
|
e9d1df4ced | ||
|
09d689be28 | ||
|
d4db34b2b7 | ||
|
ba70527f7a | ||
|
909fc0fbb6 | ||
|
b2b7e7190f | ||
|
e325740169 | ||
|
86b62be5e6 | ||
|
138662d3b4 | ||
|
ddd1ac0934 | ||
|
3da324fbce | ||
|
f2eda1acc5 | ||
|
81cad59aeb | ||
|
83efaaf64a | ||
|
870af2b7c6 | ||
|
fac9d59303 | ||
|
51fb56504e |
@@ -1,18 +0,0 @@
|
||||
image: lazka/gitlab-gtk-3-22:v1
|
||||
|
||||
stages:
|
||||
- build
|
||||
|
||||
before_script:
|
||||
- mkdir -p _ccache
|
||||
- export CCACHE_BASEDIR=${PWD}
|
||||
- export CCACHE_DIR=${PWD}/_ccache
|
||||
|
||||
cache:
|
||||
paths:
|
||||
- _ccache/
|
||||
|
||||
build:
|
||||
stage: build
|
||||
script:
|
||||
- bash -x ./.gitlab-ci/test-docker.sh
|
@@ -1,60 +0,0 @@
|
||||
FROM fedora:27
|
||||
|
||||
RUN dnf -y install \
|
||||
adwaita-icon-theme \
|
||||
atk-devel \
|
||||
at-spi2-atk-devel \
|
||||
avahi-gobject-devel \
|
||||
cairo-devel \
|
||||
cairo-gobject-devel \
|
||||
ccache \
|
||||
colord-devel \
|
||||
cups-devel \
|
||||
fribidi-devel \
|
||||
gcc \
|
||||
gcc-c++ \
|
||||
gdk-pixbuf2-devel \
|
||||
gdk-pixbuf2-modules \
|
||||
gettext \
|
||||
gettext-devel \
|
||||
git \
|
||||
glib2-devel \
|
||||
gobject-introspection-devel \
|
||||
graphene-devel \
|
||||
gtk-doc \
|
||||
hicolor-icon-theme \
|
||||
itstool \
|
||||
json-glib-devel \
|
||||
libepoxy-devel \
|
||||
libmount-devel \
|
||||
librsvg2 \
|
||||
libXcomposite-devel \
|
||||
libXcursor-devel \
|
||||
libXcursor-devel \
|
||||
libXdamage-devel \
|
||||
libXfixes-devel \
|
||||
libXi-devel \
|
||||
libXinerama-devel \
|
||||
libxkbcommon-devel \
|
||||
libXrandr-devel \
|
||||
libXrender-devel \
|
||||
make \
|
||||
mesa-libEGL-devel \
|
||||
mesa-libwayland-egl-devel \
|
||||
meson \
|
||||
pango-devel \
|
||||
redhat-rpm-config \
|
||||
vulkan-devel \
|
||||
wayland-devel \
|
||||
wayland-protocols-devel \
|
||||
xorg-x11-server-Xvfb
|
||||
|
||||
ARG HOST_USER_ID=5555
|
||||
ENV HOST_USER_ID ${HOST_USER_ID}
|
||||
RUN useradd -u $HOST_USER_ID -ms /bin/bash user
|
||||
|
||||
USER user
|
||||
WORKDIR /home/user
|
||||
|
||||
ENV LANG C.utf8
|
||||
ENV PATH="/usr/lib64/ccache:${PATH}"
|
@@ -1,19 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# This script builds an image from the Dockerfile, starts a container with
|
||||
# the parent directory mounted as working directory and start a bash session
|
||||
# there so you can test things.
|
||||
# Once you are happy you can push it to the docker hub:
|
||||
# sudo docker push "${TAG}"
|
||||
|
||||
set -e
|
||||
|
||||
TAG="lazka/gitlab-gtk-3-22:v1"
|
||||
|
||||
# HOST_USER_ID gets used to create a user with the same ID so that files
|
||||
# created in the mounted volume have the same owner
|
||||
sudo docker build \
|
||||
--build-arg HOST_USER_ID="$UID" --tag "${TAG}" --file "Dockerfile" .
|
||||
sudo docker run --security-opt label=disable \
|
||||
--rm --volume "$(pwd)/..:/home/user/app" --workdir "/home/user/app" \
|
||||
--tty --interactive "${TAG}" bash
|
@@ -1,6 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
./autogen.sh
|
||||
make -j8
|
50
Makefile.am
@@ -36,40 +36,40 @@ MAINTAINERCLEANFILES = \
|
||||
|
||||
|
||||
## Copy .pc files to target-specific names
|
||||
gtk+-x11-3.0.pc gtk+-win32-3.0.pc gtk+-quartz-3.0.pc gtk+-broadway-3.0.pc gtk+-wayland-3.0.pc gtk+-mir-3.0.pc: gtk+-3.0.pc
|
||||
gtk+-x11-4.0.pc gtk+-win32-4.0.pc gtk+-quartz-4.0.pc gtk+-broadway-4.0.pc gtk+-wayland-4.0.pc gtk+-mir-4.0.pc: gtk+-4.0.pc
|
||||
rm -f $@ && \
|
||||
cp gtk+-3.0.pc $@
|
||||
cp gtk+-4.0.pc $@
|
||||
|
||||
gdk-x11-3.0.pc gdk-win32-3.0.pc gdk-quartz-3.0.pc gdk-broadway-3.0.pc gdk-wayland-3.0.pc gdk-mir-3.0.pc: gdk-3.0.pc
|
||||
gdk-x11-4.0.pc gdk-win32-4.0.pc gdk-quartz-4.0.pc gdk-broadway-4.0.pc gdk-wayland-4.0.pc gdk-mir-4.0.pc: gdk-4.0.pc
|
||||
rm -f $@ && \
|
||||
cp gdk-3.0.pc $@
|
||||
cp gdk-4.0.pc $@
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = gdk-3.0.pc gtk+-3.0.pc gail-3.0.pc
|
||||
pkgconfig_DATA += ${GDK_BACKENDS:%=gtk+-%-3.0.pc}
|
||||
pkgconfig_DATA += ${GDK_BACKENDS:%=gdk-%-3.0.pc}
|
||||
pkgconfig_DATA = gdk-4.0.pc gtk+-4.0.pc gail-4.0.pc
|
||||
pkgconfig_DATA += ${GDK_BACKENDS:%=gtk+-%-4.0.pc}
|
||||
pkgconfig_DATA += ${GDK_BACKENDS:%=gdk-%-4.0.pc}
|
||||
|
||||
if OS_UNIX
|
||||
pkgconfig_DATA += gtk+-unix-print-3.0.pc
|
||||
pkgconfig_DATA += gtk+-unix-print-4.0.pc
|
||||
endif
|
||||
|
||||
DISTCLEANFILES = \
|
||||
gtk+-unix-print-3.0.pc \
|
||||
gtk+-3.0.pc \
|
||||
gtk+-x11-3.0.pc \
|
||||
gtk+-win32-3.0.pc \
|
||||
gtk+-quartz-3.0.pc \
|
||||
gtk+-broadway-3.0.pc \
|
||||
gtk+-wayland-3.0.pc \
|
||||
gtk+-mir-3.0.pc \
|
||||
gdk-3.0.pc \
|
||||
gdk-x11-3.0.pc \
|
||||
gdk-win32-3.0.pc \
|
||||
gdk-quartz-3.0.pc \
|
||||
gdk-broadway-3.0.pc \
|
||||
gdk-wayland-3.0.pc \
|
||||
gdk-mir-3.0.pc \
|
||||
gail-3.0.pc \
|
||||
gtk+-unix-print-4.0.pc \
|
||||
gtk+-4.0.pc \
|
||||
gtk+-x11-4.0.pc \
|
||||
gtk+-win32-4.0.pc \
|
||||
gtk+-quartz-4.0.pc \
|
||||
gtk+-broadway-4.0.pc \
|
||||
gtk+-wayland-4.0.pc \
|
||||
gtk+-mir-4.0.pc \
|
||||
gdk-4.0.pc \
|
||||
gdk-x11-4.0.pc \
|
||||
gdk-win32-4.0.pc \
|
||||
gdk-quartz-4.0.pc \
|
||||
gdk-broadway-4.0.pc \
|
||||
gdk-wayland-4.0.pc \
|
||||
gdk-mir-4.0.pc \
|
||||
gail-4.0.pc \
|
||||
config.lt
|
||||
|
||||
distclean-local:
|
||||
@@ -93,7 +93,7 @@ ChangeLog:
|
||||
.PHONY: ChangeLog
|
||||
|
||||
uninstall-local:
|
||||
rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-3.0.pc
|
||||
rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-4.0.pc
|
||||
|
||||
AM_DISTCHECK_CONFIGURE_FLAGS = \
|
||||
--enable-gtk-doc \
|
||||
|
839
NEWS
@@ -1,842 +1,3 @@
|
||||
Overview of Changes in GTK+ 3.22.29
|
||||
====================================
|
||||
|
||||
* Wayland
|
||||
- add an input method based on the text protocol
|
||||
|
||||
* File chooser
|
||||
- Stop activating without double-click
|
||||
|
||||
* Bugs fixed:
|
||||
710888 GtkInfoBar not shown after calling gtk_widget_show
|
||||
743975 Better deprecation information for GtkStatusIcon
|
||||
775546 gdkscreen-x11: Don't try to calculate a refresh rate for RandR 1.3...
|
||||
794008 GtkListBoxRow signal poorly documented
|
||||
|
||||
* Translation updates:
|
||||
Brazilian Portuguese
|
||||
British English
|
||||
Catalan
|
||||
Croatian
|
||||
Czech
|
||||
Danish
|
||||
Dutch
|
||||
Esperanto
|
||||
Estonian
|
||||
French
|
||||
Friulian
|
||||
Galician
|
||||
German
|
||||
Hungarian
|
||||
Icelandic
|
||||
Indonesian
|
||||
Italian
|
||||
Kazakh
|
||||
Korean
|
||||
Latvian
|
||||
Lithuanian
|
||||
Polish
|
||||
Russian
|
||||
Scottish Gaelic
|
||||
Serbian
|
||||
Serbian Latin
|
||||
Slovak
|
||||
Swedish
|
||||
Turkish
|
||||
|
||||
|
||||
2Overview of Changes in GTK+ 3.22.28
|
||||
===================================
|
||||
|
||||
* Fix the build
|
||||
|
||||
* Improve frame clock accuracy (#787665)
|
||||
|
||||
|
||||
2Overview of Changes in GTK+ 3.22.27
|
||||
===================================
|
||||
|
||||
* Require libcloudproviders 0.2.0
|
||||
|
||||
* The Emoji chooser can now be used with GtkTextView as well
|
||||
|
||||
* The Emoji chooser avoids fallback sequences that break the grid
|
||||
|
||||
* GTK+ is now using ~/.config/gtk-3.0/settings.ini when using
|
||||
Wayland without dconf
|
||||
|
||||
* Make fuse-mounted network filesystems show up in Other Locations
|
||||
|
||||
* The font chooser dialog supports search now
|
||||
|
||||
* Bugs fixed:
|
||||
737175 most horizontal sliders are inverted when scrolled with mouse wheel
|
||||
741633 GtkListBoxRow should implement GtkActionable
|
||||
771986 Inconsistent 'row-activated' signal emission before drag'n'drop, 'acti...
|
||||
774248 Desktop-wide text scaling factor is ignored by gtk_widget_override_fon...
|
||||
779009 Missing property-change::accessible-description events when the toolti...
|
||||
786123 GtkPlacesSidebar: Add support for libcloudproviders
|
||||
786509 GDK W32: OLE2 DnD is completely broken
|
||||
786528 Please make the output deterministic
|
||||
787089 win32: GtkWindow of type GTK_WINDOW_POPUP/GDK_WINDOW_TEMP leaks memory...
|
||||
787128 Re-add FUSE network mounts in local-only mode
|
||||
789054 Firefox crashes @gdk_window_begin_move_drag() on WM without _NET_WM_MO...
|
||||
789160 Add Windows compatible emoji shortcuts
|
||||
789268 Keyboard grab by popup window causes a session-modal shortcut-inhibiti...
|
||||
790029 GtkTextView: Support gtk 3.22.19's emoji chooser
|
||||
790031 GtkClipboardClearFunc is not being called
|
||||
790033 Add support for third stylus button on Wacom's new Pro Pen 3D
|
||||
790201 Settings in ~/.config/gtk-3.0/settings.ini ignored with GDK_BACKEND=wa...
|
||||
790270 avoid copy of CSS data from resources
|
||||
790862 Addition of insert_emoji breaks ABI on gtk-3-22
|
||||
790963 Thread safety issue in gtk_application_impl_dbus_startup
|
||||
791039 Emit enter+motion after GDK_CROSSING_TOUCH_END leave
|
||||
791062 Fix mapping window with complete xdg-foreign state
|
||||
791234 autocleanups: allow g_autoptr() usage with GtkTreePath
|
||||
791281 Backport size allocation optimization from master to 3.22
|
||||
791363 Shadow vertical offset is wrong when scaling is > 2
|
||||
791549 gtklistbox: Crash on page-up on GtkListBox
|
||||
791650 Do not warn about missing colord systemd service unit
|
||||
791710 css documentation, non-breaking spaces/hyphens, and other details
|
||||
791943 gnome-shell built with meson hangs when opening more than one window
|
||||
792279 Use portable sed syntax in gdk/wayland/Makefile.am
|
||||
792459 gtk_tree_model_sort_set_sort_column_id() ignores change to sort order
|
||||
792624 Critical due to gtk_widget_reset_controllers() passing NULL to gtk_e...
|
||||
|
||||
* Translation updates:
|
||||
Africaans
|
||||
Catalan
|
||||
Chinese (Taiwan)
|
||||
Esperanto
|
||||
Finnish
|
||||
Friulian
|
||||
Galician
|
||||
Hebrew
|
||||
Hungarian
|
||||
Icelandic
|
||||
Indonesian
|
||||
Italian
|
||||
Lithuanian
|
||||
Norwegian bokmål
|
||||
Polish
|
||||
Russian
|
||||
Serbian
|
||||
Slovenian
|
||||
Spanish
|
||||
Turkish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.26
|
||||
===================================
|
||||
|
||||
* Bugs fixed:
|
||||
789630 Distribute protocol/server-decoration.xml in tarballs
|
||||
787142 input/IME: Defer the emit of the "commit" signal
|
||||
789134 icon-browser: Centre Copy button in dialog again
|
||||
789678 AboutDialog: Fix accepting GTK_LICENSE_AGPL_3_0
|
||||
788898 Inspector: better default split of CSS nodes/props
|
||||
789733 Fix GtkEntry:has-frame not working
|
||||
789213 gdk/win32: Fix Win32 GL Context switching
|
||||
785176 placessidebar: add starred location item
|
||||
|
||||
* Translation updates:
|
||||
Arabic
|
||||
Brazilian Portuguese
|
||||
Czech
|
||||
Dutch
|
||||
German
|
||||
Norwegian bokmål
|
||||
Polish
|
||||
Slovak
|
||||
Swedish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.25
|
||||
===================================
|
||||
|
||||
* The HighContrast theme has received numerous improvements
|
||||
|
||||
* Middle-click on scrollbars jumps to the position again
|
||||
|
||||
* Wayland:
|
||||
- Terminal sizing problems are fixed
|
||||
- The Wayland backend now implemented the KDE server-side decorations protocol
|
||||
|
||||
* X11:
|
||||
- Problems with menus on several X servers are fixed
|
||||
|
||||
* Bugs fixed:
|
||||
701296 gtkfixed accepts toplevel windows into its children list after gtk_w...
|
||||
728452 gtk_tree_view_column_create_button creates button which is leaked
|
||||
738387 ComboBox in appears-as-list-mode: popup is not hidden when focus is ...
|
||||
763517 Selected then unselected Label in ListBox gets wrong colour until ho...
|
||||
769877 [HighContrast(|Inverse)] dual-headerbars broken
|
||||
769879 [HighContrast(|Inverse)] tooltips problems
|
||||
771279 Segfault due to gtk_event_controller_get_widget() returning NULL but...
|
||||
775217 Warning message "gdkcursor-wayland.c:170: Unable to load blank_curso...
|
||||
776793 GtkComboBox with appears-as-list doesn't receive mouse events from a...
|
||||
777072 window shrinks when restored from maximized
|
||||
778811 Enter submenus when activating their parent item
|
||||
778930 gtk3-icon-browser: Add scalable icons to icon detail modal window
|
||||
780101 Menus do not display over remote X11
|
||||
781909 Implement KDE's server-decoration protocol
|
||||
782396 Inconsistent deprecation documentation for gtk_paint_spinner
|
||||
783995 Monitor API inconsistencies across X11 & Wayland
|
||||
784314 entry completion regression on wayland
|
||||
784509 wrong coordinates given to at-spi layer from GTK3 entries
|
||||
786220 Sometimes the volume icon is replaced with image-missing
|
||||
786794 Print dialogue has a printer called "printer"
|
||||
787274 ComboBox in appears-as-list-mode: Gtk-CRITICAL when popping down wit...
|
||||
787669 Middle mouse click on scrollbar is ignored
|
||||
787866 Untranslated key labels in the Keyboard panel of Settings
|
||||
788053 Window position wrong in HiDPI mode
|
||||
788458 (style) Array index 'i' is used before limits check.
|
||||
788496 HighContrast/win32: CSD Windows have missing border and shadows floa...
|
||||
788505 ComboBox in appears-as-list mode: Clicking a TreeView expander also ...
|
||||
788516 dialogs in gtk+ 3.22.24 have square borders.
|
||||
788573 HighContrast: titlebar separator is too wide and joined to buttons, ...
|
||||
788574 HighContrast: Ugly solid black corners at bottom of MessageDialog
|
||||
788575 HighContrastInverse: Windows lack visible borders, merge into each o...
|
||||
788577 Global -GtkComboBox-appears-as-list breaks opening menu-mode CBs by ...
|
||||
788580 HighContrast: .flat buttons become non-flat when their window is :ba...
|
||||
788614 Trying to reuse a TreeViewColumn causes criticals and a segfault (e....
|
||||
788841 Fix gtk_actionable_set_detailed_action_name API inconsistency
|
||||
788905 GtkRange horizontal scrolling causes movement in the wrong direction
|
||||
789141 Segmentation fault when adding Google online account
|
||||
789149 GtkGestureZoom leaks the list of sequences while calculating the dis...
|
||||
789327 appchooserwidget: Don't limit application list unconditionally
|
||||
789357 Regression in 3.22.23: GDK_WINDOW_STATE_TILED flag is never set
|
||||
|
||||
* Translation updates:
|
||||
Brazilian Portuguese
|
||||
Catalan (Valencian)
|
||||
Croatian
|
||||
Czech
|
||||
German
|
||||
Hungarian
|
||||
Italian
|
||||
Indonesian
|
||||
Lithuanian
|
||||
Polish
|
||||
Slovak
|
||||
Slovenian
|
||||
Swedish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.24
|
||||
===================================
|
||||
|
||||
* Bugs fixed:
|
||||
Combobox: Don't try to remove grabs on NULL devices
|
||||
Fix some issues with the new resizable tiling
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.23
|
||||
===================================
|
||||
|
||||
* Bugs fixed:
|
||||
783669 Allow resizing tiled windows
|
||||
784562 "Printer Details" dialog has no title bar...
|
||||
|
||||
Overview of Changes in GTK+ 3.22.22
|
||||
===================================
|
||||
|
||||
* Bugs fixed:
|
||||
639931 gtk_application_add_window() docs should mention window destruction
|
||||
644248 stylecontext: add a raised style class
|
||||
775126 memory leak in gdk_wayland_window_ensure_cairo_surface
|
||||
780758 flowbox: bind_model passes wrong reference to create_widget_func in bindings
|
||||
781757 gdk_seat_grab() not working for touchscreen events
|
||||
787021 GtkFlowBox: the orthogonal orientation always requests the most size it could...
|
||||
787302 gtk+-3.22.20/gtk/gtkmountoperation-x11.c:669:sanity check after use ?
|
||||
787303 gtk+-3.22.20/gtk/gtknotebook.c: 2 * redundant conditions ?
|
||||
787444 The color-selection dialog which is opened by a GtkColorButton should not be...
|
||||
787531 The tick button is not/barely visible on light colors with Dark theme
|
||||
787600 PlacesSidebar/SidebarRow: CloudProvider singleton/accounts are never unrefd
|
||||
787757 Focus outline easily disappears around color chooser swatches
|
||||
|
||||
* Translation updates:
|
||||
Chinese (Taiwan)
|
||||
Dutch
|
||||
Greek
|
||||
Persian
|
||||
Polish
|
||||
Russian
|
||||
Swedish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.21
|
||||
===================================
|
||||
|
||||
* Bugs fixed:
|
||||
738893 ComboBox in appears-as-list mode: Finishing scroll with mouse causes...
|
||||
786613 Adwaita: provide a generic sidebar icon and label styling
|
||||
787172 EmojiChooser: Improve selection of section buttons
|
||||
787279 EmojiChooser: Hovered emoji become impossible to see in HighContrast...
|
||||
787280 HighContrast: Fix regression in vertical separator in titlebar headerbar
|
||||
787410 entry: fix memory leak
|
||||
|
||||
* Translation updates:
|
||||
Basque
|
||||
Catalan
|
||||
Croatian
|
||||
Czech
|
||||
Danish
|
||||
Finnish
|
||||
German
|
||||
Polish
|
||||
Slovenian
|
||||
Spanish
|
||||
Swedish
|
||||
Turkish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.20
|
||||
===================================
|
||||
|
||||
* Add input hints for Emoji, that let applications indicate whether
|
||||
entries would benefit from Emoji support or not
|
||||
|
||||
* Add support for cloud services in GtkPlacesSidebar. This adds a new,
|
||||
optional dependency on libcloudproviders
|
||||
|
||||
* Bugs fixed:
|
||||
468868 Popup of "appears-as-list" ComboBox does not change screen with its top...
|
||||
618160 Documentation for gtk_combo_box_get_active_iter is unclear
|
||||
705640 GtkWindow incorrectly requires a default screen
|
||||
729651 Crash in GtkFileChooserButton with appears-as-list
|
||||
759725 Setting Container:border-width on TextView breaks gesture positions
|
||||
766909 Tooltip of the eject button is a bit confusing - or just missing
|
||||
774134 GtkExpander: input window of title extends over child, if :expanded is ...
|
||||
775074 GtkScrolledWindow does not disconnect all GtkAdjustment signal handlers...
|
||||
776937 GtkExpander is incorrectly hiding content.
|
||||
780750 Shift + click in GtkEntry doesn't select
|
||||
783649 negative content width warning in GtkLevelbar
|
||||
785306 FileChooserNativeQuartz: two fixes
|
||||
785736 textview: fix bug on DnD displaced limits of selection
|
||||
786029 clicking on gtk-slider makes the parent disappear
|
||||
786123 GtkPlacesSidebar: Add support for libcloudproviders
|
||||
786209 X11: GtkPopover positioning doesn't "avoid" CSD window shadows
|
||||
786492 Incorrect scaling factor with Vulkan on Wayland
|
||||
786553 Wrong example number in Gtk Tutorial
|
||||
786771 Critical about mismatched GdkDisplays when opening Inspector combobox
|
||||
786841 Emoji categories are always in English
|
||||
786885 Add explanatory tooltip to emoji icon
|
||||
786932 Let the "type-func" override the object's "class" attribute when gettin...
|
||||
786938 Emoji picker wrongly opens when clicking on primary icon too
|
||||
786940 ::icon-pressed handler stays connected when setting :show-emoji-icon to...
|
||||
786960 Emoji chooser: don't show 'insert Emoji' item in emoji chooser context ...
|
||||
786964 Emoji Chooser: Can't scroll clicking on the scroll bar
|
||||
786966 Emoji chooser: unnecessary spacing b/w some rows in search result
|
||||
786986 text_window_to_widget_coords broken when Container:border-width > 0
|
||||
787103 gtk3-widget-factory crashes on exit after inserting an emote on page3
|
||||
787158 gtk_widget_get_preferred_width on GtkToolbar gives wrong minimum width
|
||||
787195 gtk_toolbar_set_show_arrow does not show an arrow
|
||||
786956 EmojiChooser: Fix theming on Adwaita:dark, HighContrast, etc
|
||||
|
||||
* Translation updates:
|
||||
Brazilian Portuguese
|
||||
Catalan
|
||||
Chinese (Taiwan)
|
||||
Croatian
|
||||
Czech
|
||||
Danish
|
||||
Friulian
|
||||
Galician
|
||||
German
|
||||
Hungarian
|
||||
Indonesian
|
||||
Italian
|
||||
Kazakh
|
||||
Latvian
|
||||
Lithuanian
|
||||
Korean
|
||||
Polish
|
||||
Serbian
|
||||
Serbian Latin
|
||||
Slovak
|
||||
Slovenian
|
||||
Swedish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.19
|
||||
===================================
|
||||
|
||||
* Add support for Emoji input, with an Emoji chooser
|
||||
|
||||
* Bug fixes:
|
||||
773299 Ensure GTK+-4.x builds and works on Windows (MSVC in particular)
|
||||
784016 Crash in gnome-terminal due to calling a GdkDisplayClass vfunc on a display...
|
||||
784421 Tooltips: Fix docs/theming for custom tooltip windows
|
||||
785999 Windows: Fix AeroSnap on HiDPI
|
||||
786144 GtkInfoBar Example - Wrong at developer.gnome.org (looks like typo/copy/paste)
|
||||
786209 X11: GtkPopover positioning doesn't "avoid" CSD window shadows
|
||||
786287 configure.ac: Missing quote for AC_MSG_ERROR in AS_IF for WAYLAND_SCANNER
|
||||
786400 "Art pen" named "Grip pen" in the Gnome Control Center
|
||||
786469 gdkwindow: Avoid re-setting the opaque region if it doesn't change
|
||||
786480 Button grabs unintendedly cause shortcut inhibition dialog
|
||||
786594 Broken Ctrl+Tab behaviour inside text widget since 3.22.18
|
||||
|
||||
* Translation updates:
|
||||
Brazilian Portuguese
|
||||
Croatian
|
||||
Czech
|
||||
French
|
||||
Friulian
|
||||
Galician
|
||||
German
|
||||
Indonesian
|
||||
Kazakh
|
||||
Lithuanian
|
||||
Nepali
|
||||
Polish
|
||||
Serbian
|
||||
Slovak
|
||||
Spanish
|
||||
Turkish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.18
|
||||
===================================
|
||||
|
||||
* Support entering emoji by name, using Ctrl-Shift-E
|
||||
|
||||
* Wayland:
|
||||
- Add support for the shortcut inhibitor protocol
|
||||
- Support Wacome tablet wheel scrolling
|
||||
|
||||
* Bug fixes:
|
||||
771959 gtk_init_with_args fails when no display is found / does not comply w...
|
||||
776903 Label with hyperlinks cannot be opened with touch on wayland
|
||||
776909 gtk_adjustment_clamp_page: Conditional jump or move depends on uninit...
|
||||
777333 In a GNOME Wayland session, gnome-terminal windows cannot be moved ar...
|
||||
777515 gtk3-icon-browser doesn't list document-edit-symbolic icon
|
||||
778188 VTE crashes on multiple repeated BELL chars
|
||||
780938 No icon tooltip shown in GtkEntry
|
||||
781246 Return value of gtk_widget_get_parent_window should be marked (nullable)
|
||||
782870 X11 Grabbing Broken with GtkScrolledWindow
|
||||
783343 Wayland: RFC - add shortcut inhibitor support
|
||||
783649 negative content width warning in GtkLevelbar
|
||||
783716 Support wayland-tablet wheel events
|
||||
783906 gtk_accelerator_get_label broken
|
||||
784624 process-stop-symbolic hardcoded as app menu fallback
|
||||
785255 Quitting world's simplest program containing a single GtkEntry causes...
|
||||
785375 Cursors for Wacom tablets are not always updated correctly under Wayland
|
||||
785423 Missing nullable annotation for gtk_bin_get_child
|
||||
785672 Entry: Setting icon tooltip to empty disables tooltip on whole widget
|
||||
|
||||
* Translation updates:
|
||||
Finnish
|
||||
Slovenian
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.17
|
||||
===================================
|
||||
|
||||
* Add native file chooser support for OS X
|
||||
|
||||
* Bug fixes:
|
||||
766517 GtkAboutDialog should use https:// license URLs
|
||||
781583 gtk_image_new_from_resource does not work
|
||||
781935 Add nullable return annotation to gtk_notebook_get_tab_label
|
||||
781936 Add nullable return annotation to gtk_text_mark_get_name
|
||||
782040 Wacom pen calibration application responds to mouse input
|
||||
782325 wayland: Add possibility to get the exported handle multiple times
|
||||
784323 Quartz backend: gtk_clipboard_get_default not implemented
|
||||
784723 macOS: native file chooser dialog
|
||||
784888 gtkapplication: Mark gtk_application_get_active_window() as nullable
|
||||
|
||||
* Translation updates:
|
||||
Friulian
|
||||
Kazakh
|
||||
|
||||
Overview of Changes in GTK+ 3.22.16
|
||||
===================================
|
||||
|
||||
* GtkEntryBuffer no longer emits changed events when input is truncated
|
||||
|
||||
* gtk3-icon-browser now offers to copy the icon name to the clipboard
|
||||
|
||||
* Bugs fixed:
|
||||
745289 wayland: do not use g_error() on connection errors
|
||||
759308 Instant apply in printing dialog (number of copies)
|
||||
770513 MainToolbar in full-screen mode has rounded corners, which show video pixel...
|
||||
778853 propagate-natural-width/height request too much with !overlay-scrolling && ...
|
||||
779078 Adwaita: last treeview header button adds border on hover
|
||||
781285 Key repeat cancel under Wayland should depend on which key is repeating
|
||||
781945 SIGSEGV dragging window on Wayland when toplevel window set_transient_for i...
|
||||
782117 If a window was initially shown undecorated and set_decorated(True) is call...
|
||||
782283 Wayland: Crash when dismissing a menu when a tooltip is visible
|
||||
782325 wayland: Add possibility to get the exported handle multiple times
|
||||
783047 Many apps crash in gdk_event_source_prepare when logging out of GNOME
|
||||
783347 gtkfilechoosernativewin32: Fix support for non-ASCII paths
|
||||
783397 Remove unused code in gtktextdisplay.c
|
||||
783587 Crash when NULL is passed to GtkActionHelper to unset action-name
|
||||
|
||||
* Translation updates
|
||||
Czech
|
||||
Lithuanian
|
||||
Norwegian bokmål
|
||||
Serbian
|
||||
Spanish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.15
|
||||
===================================
|
||||
|
||||
* Revert an unexpected change in listbox behavior
|
||||
|
||||
* Improve the Adwaita style for tagged entries
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.14
|
||||
===================================
|
||||
|
||||
* Bug fixes:
|
||||
- Fix build without sassc
|
||||
- Fix clipboard handling of UTF8 text
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.13
|
||||
===================================
|
||||
|
||||
* Bug fixes:
|
||||
358970 gtk_scale_set_digits does not cause value to be rounded if draw-value is false...
|
||||
771269 Open in new tab / window doesn't work on unmounted file systems
|
||||
773814 attempt to allocate widget with width -700975964 and height 400
|
||||
778301 GtkTooltip doesn't clear source ID in all circumstances
|
||||
778617 GtkListBox: placeholder is not removed properly
|
||||
779570 popover: Add more padding between checkbox and label
|
||||
780301 wayland: Fix harmless clang warnings
|
||||
781118 gtk 3.22.12 quartz backend segfault
|
||||
781162 Make GtkPlacesView monitor network
|
||||
781195 Fix testsuite for GtkPlacesView
|
||||
781214 define entry-tag in Adwaita.
|
||||
781422 translate_wm_button_layout_to_gtk() is licensed under the GPL
|
||||
781605 GtkVolumeButton limited to 10 values
|
||||
781622 gtkplacesview.ui: Update helper label to include IPv6 addresses
|
||||
781737 Drag icon is always postioned in the top left corner
|
||||
781767 Wayland: increase key delivery verbosity
|
||||
781814 Applications don't receive clipboard when data source mimetype is "text/plain;...
|
||||
781992 GtkMenuButton with no popover retains prelight state when no longer selected
|
||||
782109 wayland: memory leak when exporting handle
|
||||
782180 commit "Improve GContentType" usage breaks apps on win32 (example: virt-viewer)
|
||||
782202 linkbutton: Fix memory leak
|
||||
|
||||
* Translation updates:
|
||||
Brazilian Portuguese
|
||||
Croatian
|
||||
German
|
||||
Hungarian
|
||||
Indonesian
|
||||
Italian
|
||||
Latvian
|
||||
Polish
|
||||
Russian
|
||||
Serbian
|
||||
Slovak
|
||||
Swedish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.12
|
||||
===================================
|
||||
|
||||
* Bugs:
|
||||
686838 gtk_enumerate_printers() hangs
|
||||
734946 Implement GContentType on OSX
|
||||
773228 third parameter of gtk_widget_intersect not listed as 'out'
|
||||
776472 Crash in gnome-terminal due to gdk_window_process_all_updates calling...
|
||||
778853 propagate-natural-width/height request too much with !overlay-scrolling...
|
||||
779081 GtkTextView: expose API to get Pango line direction
|
||||
779184 Gtk+4 (3.89.4) with Quartz backend: all apps segfault
|
||||
780041 Optionally depend on sassc to generate the theme CSS
|
||||
780234 gtk_print_job_set_page_ranges() has unclear ownership transfer
|
||||
780734 flowbox: don’t try to focus or draw NULL widgets
|
||||
780735 flowbox: don’t select when rubberbanding over nothing
|
||||
780878 docs: Point links to correct versions
|
||||
780994 Icons are blurry
|
||||
|
||||
* Translation updates:
|
||||
Catalan
|
||||
Greek
|
||||
Hebrew
|
||||
Indonesian
|
||||
Norwegian bokmål
|
||||
Polish
|
||||
Russian
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.11
|
||||
===================================
|
||||
|
||||
* Quartz:
|
||||
- Fix build on < 10.12
|
||||
|
||||
* Cosmetic fixes
|
||||
|
||||
* Avoid a critical warning in the filechooser portal
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.10
|
||||
===================================
|
||||
|
||||
* Theme: Improve styling for flow boxes
|
||||
|
||||
* Quartz:
|
||||
- Support fullscreen CSD windows
|
||||
- Implement backdrop
|
||||
- Implement gdk_window_set_functions
|
||||
|
||||
* Bugs fixed:
|
||||
778905 Frame: documented flat style class is not usable
|
||||
779073 style flowbox tiles
|
||||
779074 style selectionmode checkboxes for flowbox
|
||||
779317 gtk_pad_controllerpad_set_action issue with incorrect assert
|
||||
779374 Unprovoked key repeat in gnome-terminal after in 3.22.9
|
||||
779383 quartz: Let CSD windows be fullscreen
|
||||
779392 Implement backdrop for Quartz
|
||||
|
||||
* Translation updates:
|
||||
Basque
|
||||
Czech
|
||||
Danish
|
||||
Icelandic
|
||||
Indonesian
|
||||
Korean
|
||||
Scottish Gaelic
|
||||
Slovak
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.9
|
||||
==================================
|
||||
|
||||
* Bugs fixed:
|
||||
136059 Ctrl-navigation works in opposite direction in right-to-left text
|
||||
776821 Scale factor not properly propagated upon reparent
|
||||
778203 icon shown at top left corner when dnd begins
|
||||
778328 Pressure sensitivity lost after removing pen from screen (Surface Book/MyPaint)
|
||||
778534 Widget: Document signal mnemonic-activate
|
||||
778678 gtkshow: Prefer gtk_show_uri_on_window() which works for sandboxed apps
|
||||
778726 Use gtk_show_uri_on_window()
|
||||
778746 Rename popover is sometimes misplaced
|
||||
778835 Wrong screen size returned when in HiDPI mode
|
||||
778905 Frame: documented flat style class is not usable
|
||||
779005 GtkFrame: Fix shadow after theme changes
|
||||
136059 Ctrl-navigation works in opposite direction in right-to-left text
|
||||
772505 Wayland: menu does not resize after disabling an action
|
||||
774148 Gtk.Popover misplacement in Wayland
|
||||
778019 Key repeat under wayland behaves differently, making keyboard navigation e.g. in
|
||||
vim annoyingly unreliable
|
||||
|
||||
* Translation updates:
|
||||
Brazilian Portuguese
|
||||
Chinese
|
||||
Chinese (Taiwan)
|
||||
Galician
|
||||
German
|
||||
Hungarian
|
||||
Italian
|
||||
Lithuanian
|
||||
Polish
|
||||
Serbian
|
||||
Spanish
|
||||
Swedish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.8
|
||||
==================================
|
||||
|
||||
* Wayland:
|
||||
- Avoid overlap between Alt and Meta
|
||||
|
||||
* Mir:
|
||||
- Implement window properties
|
||||
- Track window focus
|
||||
- Connect to content-hub and use it for copy/paste
|
||||
- Use modal hint
|
||||
|
||||
* Bugs fixed:
|
||||
358970 gtk_scale_set_digits does not cause value to be rounded if draw-value...
|
||||
765161 on win32 maximized window position wrong when windows toolbar is on l...
|
||||
765410 Scrollbar does not update since 3.20
|
||||
770112 The documented <alt>left shortcut doesn’t work on Wayland
|
||||
773686 Software when launched shows in dash with wrong icon, name and menu
|
||||
775732 mir: clipboard support missing
|
||||
775864 getting-started: typo tie->the
|
||||
777527 GDK W32: Invisible drop-down menus in GTK apps when working via RDP
|
||||
777547 Notebook arrow icon wrong color after closing final tab
|
||||
|
||||
* Translation updates:
|
||||
Simplified Chinese
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.7
|
||||
==================================
|
||||
|
||||
* Bugs fixed:
|
||||
165385 Win32 keyboard handling still incomplete
|
||||
769214 keyval field not filled correctly for Pause key
|
||||
769835 On Wayland, application containing GtkGLArea stops responding if it's not...
|
||||
774726 GtkTreeView dnd: gtk_drag_finish remove row when reorder sinse 3.20
|
||||
775846 gdk/wayland: Add support for the gtk-enable-primary-paste gsetting
|
||||
776031 W32: Winkey+down minimizes maximized window instead of restoring it
|
||||
776225 [wayland] dropdown placed somewhere in the screen
|
||||
776485 GDK W32: Impossible to restore maximized window via system menu
|
||||
776807 GtkInspector doesn't show up when Gtk is initialized through option group
|
||||
777031 win32 HiDPI assert
|
||||
777176 [wayland] gedit killed by protocol error "Invalid anchor rectangle size"
|
||||
|
||||
* Translation updates:
|
||||
Lithuanian
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.6
|
||||
==================================
|
||||
|
||||
* Bugs fixed:
|
||||
774534 776132 776187 776012 774784 776187 776306 775808 776524 776560
|
||||
774534 input shape and opaque region not applied without begin_paint()/end_paint()
|
||||
774784 Failed to get desktop session proxy is not an error!
|
||||
775808 win32 maximized window is larger than the extended screen in dual monitor
|
||||
776012 GtkFlowBox, GtkListBox: Don't emit signals etc. during destruction
|
||||
776132 Mention the difference between gdk_window_create_similar_image_surface and...
|
||||
776187 flowbox: Add gtk_flow_box_get_child_at_pos to gtk3
|
||||
776306 flowbox: Sometimes emits child-activated during rubberband selection
|
||||
776524 GtkAboutDialog: Fix formatting of example email address in html documentation
|
||||
776560 icon-browser: window opens at very narrow size, only showing 1 column of icons
|
||||
Fix GL checks to work better on OpenGL ES 2.0
|
||||
Avoid a possible crash in ::activate-url handlers
|
||||
scrolledwindow: Fix func summary being cut off in bindings using doxygen
|
||||
|
||||
* Translation updates:
|
||||
German
|
||||
Russian
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.5
|
||||
==================================
|
||||
|
||||
* gtk3-demo now has an example for using PangoTabArray to create a multi-column layout
|
||||
|
||||
* Bug fixes:
|
||||
771242 opening menu for certain types of GtkComboBox causes Gdk-CRITICAL assertion...
|
||||
774114 Window shadows are repainted even if only the contents of the window change
|
||||
774265 No tilt for wintab devices
|
||||
774379 gdk: mingw64 builds segfault during initialization of Huion H610PRO wintab
|
||||
774686 GtkMenu does not unref all GtkCheckMenuItem it creates
|
||||
774695 GtkProgressbar needs full and empty classes
|
||||
774699 list iteration regression causes odd-indexed devices to be ignored during l...
|
||||
774743 GtkNotebook does not unref all GtkBuiltinIcon it creates
|
||||
774760 inspector: ensure controller is a GtkGesture
|
||||
774790 GtkTextHandle does not unref all GtkAdjustment it references
|
||||
774893 Application font sizes scaling gets clamped to 1.00 when starting GtkInspector
|
||||
774915 Destroying the parent of a subsurface causes _gdk_window_destroy_hierarchy:...
|
||||
774917 [wayland] child subsurfaces need to be placed relative to their parent
|
||||
774939 GtkLabelAccessible: Initialize link before setting parent
|
||||
775212 GtkScaleButton does not unref all GtkAdjustment it references
|
||||
775316 gtk_drag_source_set_icon_pixbuf references the pixbuf received once too much
|
||||
775319 gdk_window_get_toplevel() fails to return the toplevel of a child subsurface
|
||||
775525 gtk_flow_box_get_child_at_index shouldn't crash with an invalid index
|
||||
|
||||
* Translation updates:
|
||||
Hungarian
|
||||
Italian
|
||||
Kazakh
|
||||
Russian
|
||||
Swedish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.4
|
||||
==================================
|
||||
|
||||
* Bug fixes:
|
||||
767713 Fullscreen in wayland is buggy
|
||||
768081 Enable HiDPI support for GDK-Win32
|
||||
768531 wayland: Startup notification doesn't work on some apps (eg. gnome-terminal)...
|
||||
772075 GTK+ uses a lot more CPU under Wayland than under X11
|
||||
772202 Handling of scaled monitors is broken
|
||||
773587 recent-manager: Add a limit to the list's size
|
||||
773916 GtkComposeTable caches broken: using a same ~/.XCompose does not work twice...
|
||||
773979 GdkGLContext does not chain finalize handler
|
||||
774046 GtkSpinButton does not always unref priv->{up,down}_button
|
||||
774066 GtkHeaderBar does not unref all GtkBox and GtkSeparator it creates
|
||||
774097 GtkPrintOperation should not truncate job names
|
||||
774185 GtkPlacesSidebar does not unref itsel as many times as it references
|
||||
774352 GtkAppChooserWidget does not unref all GAppInfo it references
|
||||
|
||||
* Translation updates:
|
||||
Czech
|
||||
Dutch
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.3
|
||||
==================================
|
||||
|
||||
* Deprecations have been added for APIs that will be removed
|
||||
in GTK+ 4
|
||||
|
||||
* gtk-demo has gained a new demo for showing (and testing)
|
||||
rendering preformance
|
||||
|
||||
* Windows:
|
||||
- The GL support has been improved. Legacy contexts can now
|
||||
be created, and anti-aliasing is possible
|
||||
- Hi-DPI is now supported
|
||||
|
||||
* Bugs fixed:
|
||||
768081 Enable HiDPI support for GDK-Win32
|
||||
773274 [Wayland] Crash under gdk_wayland_window_attach_image()
|
||||
773474 Color chooser dialog opened with show-editor=TRUE has black header bar
|
||||
773479 Typo in GtkShortcutType developer docs
|
||||
773528 Improve GL support on Windows
|
||||
773799 GtkLevelBar doesn't update blocks on discrete mode
|
||||
773857 gdkwindow-x11: Add support for gdk_window_fullscreen_on_monitor
|
||||
773885 pop down GtkPopover on pressing escape
|
||||
|
||||
* Translation updates:
|
||||
Serbian
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.2
|
||||
==================================
|
||||
|
||||
* Several improvements to the win32 theme
|
||||
|
||||
* Deprecations have been added for APIs that will be removed
|
||||
in GTK+ 4
|
||||
|
||||
* Bug fixes:
|
||||
767713 Fullscreen in wayland is buggy
|
||||
771320 Maps widget is displayed at wrong position inside gnome-contacts
|
||||
772345 placesviewrow: busy_spinner when visible offsets the rest of the...
|
||||
772389 Appending a character to a GtkEntry control in overwrite mode ri...
|
||||
772415 Avoid calling eglGetDisplay
|
||||
772552 Deprecate gtk_menu_popup
|
||||
772683 Usage of FALSE instead of gint in glarea demo
|
||||
772695 Show the keyboard shortcuts from left to right even in RTL
|
||||
772775 menu bindings needs attribute to force LTR for horizontal-button...
|
||||
772859 Fix memory leaks in implementations of common widgets
|
||||
772922 GtkMenu: Try using gdk_window_move_to_rect() more often
|
||||
772926 shortcutswindow: working version of set_section_name()
|
||||
773029 style-set signal problem
|
||||
773082 overlay: Document availability of properties
|
||||
773113 tests: fix clipboard test by loading correct icon
|
||||
773180 Don't second-guess whether our GDK GL context is GLES
|
||||
773246 Typo in css color definitions documentation
|
||||
|
||||
* Translation updates:
|
||||
Croatian
|
||||
Danish
|
||||
Dutch
|
||||
German
|
||||
Greek
|
||||
Italian
|
||||
Latvian
|
||||
Lithuanian
|
||||
Norwegian bokmal
|
||||
Polish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.22.1
|
||||
==================================
|
||||
|
||||
|
@@ -9,17 +9,9 @@
|
||||
# Author: Fan, Chun-wei
|
||||
# November 05, 2012
|
||||
|
||||
# MSVC_VER_LONG: Long Version of target Visual Studio (2012, 2013, 14 and so on)
|
||||
# MSVC_VER: Short Version of target Visual Studio (110 for 2012, 120 for 2013, 140 for 2015, 141 for 2017)
|
||||
# MSVC_TOOLSET: Use if target MSVC toolsett is not in the form v $(MSVC_VER)0, meaning v$(MSVC_TOOLSET)
|
||||
|
||||
if MSVC_BASE_NO_TOOLSET_SET
|
||||
MSVC_BASE_TOOLSET = $(MSVC_BASE_VER)0
|
||||
endif
|
||||
|
||||
if MSVC_NO_TOOLSET_SET
|
||||
MSVC_TOOLSET = $(MSVC_VER)0
|
||||
endif
|
||||
# MSVC_VER_LONG: Long Version of Visual Studio (2012, 2013, 14 and so on)
|
||||
# MSVC_VER: Short Version of Visual Studio (11 for 2012, 12 for 2013, 14 for 2015 and so on)
|
||||
# MSVC_FORMAT_VER: Use 12 for MSVC 2012 through 2015
|
||||
|
||||
%.sln:
|
||||
sed 's/11\.00/$(MSVC_FORMAT_VER)\.00/g' < $(top_srcdir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@.tmp
|
||||
@@ -33,12 +25,12 @@ endif
|
||||
|
||||
%.vcxproj:
|
||||
if test -e $(top_srcdir)/build/win32/vs10/$@; then \
|
||||
sed 's/v100/v$(MSVC_TOOLSET)/g' < $(top_srcdir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@; \
|
||||
sed 's/v100/v$(MSVC_VER)0/g' < $(top_srcdir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@; \
|
||||
else \
|
||||
sed 's/v100/v$(MSVC_TOOLSET)/g' < $(top_builddir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@; \
|
||||
sed 's/v100/v$(MSVC_VER)0/g' < $(top_builddir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@; \
|
||||
fi
|
||||
|
||||
%.props: $(top_builddir)/build/win32/vs10/Makefile
|
||||
%.props:
|
||||
if test -e $(top_srcdir)/build/win32/vs10/$@; then \
|
||||
sed 's/<VSVer>10<\/VSVer>/<VSVer>$(MSVC_VER)<\/VSVer>/g' < $(top_srcdir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@; \
|
||||
else \
|
||||
|
@@ -60,19 +60,10 @@ $(1).sourcefiles: $(top_builddir)/build/win32/vs9/$(1).vcproj
|
||||
$(1).vs10.sourcefiles: $(top_builddir)/build/win32/vs9/$(1).vcproj
|
||||
$(1).vs10.sourcefiles.filters: $(top_builddir)/build/win32/vs9/$(1).vcproj
|
||||
|
||||
$(top_builddir)/build/win32/vs9/$(1).vcproj: Makefile
|
||||
$(top_builddir)/build/win32/vs9/$(1).vcproj:
|
||||
-$(RM) $(top_builddir)/build/win32/vs9/$(1).vcproj
|
||||
-$(RM) $(top_builddir)/build/win32/vs10/$(1).vcxproj
|
||||
-$(RM) $(top_builddir)/build/win32/vs10/$(1).vcxproj.filters
|
||||
-$(RM) $(top_builddir)/build/win32/vs11/$(1).vcxproj
|
||||
-$(RM) $(top_builddir)/build/win32/vs11/$(1).vcxproj.filters
|
||||
-$(RM) $(top_builddir)/build/win32/vs12/$(1).vcxproj
|
||||
-$(RM) $(top_builddir)/build/win32/vs12/$(1).vcxproj.filters
|
||||
-$(RM) $(top_builddir)/build/win32/vs14/$(1).vcxproj
|
||||
-$(RM) $(top_builddir)/build/win32/vs14/$(1).vcxproj.filters
|
||||
-$(RM) $(top_builddir)/build/win32/vs15/$(1).vcxproj
|
||||
-$(RM) $(top_builddir)/build/win32/vs15/$(1).vcxproj.filters
|
||||
|
||||
|
||||
for F in $(_proj_files); do \
|
||||
case $$$$F in \
|
||||
@@ -96,7 +87,7 @@ $(top_builddir)/build/win32/vs9/$(1).vcproj: Makefile
|
||||
|
||||
$(top_builddir)/build/win32/vs10/$(1).vs10.headers: $(top_builddir)/build/win32/vs9/$(1).headers
|
||||
|
||||
$(top_builddir)/build/win32/vs9/$(1).headers: Makefile
|
||||
$(top_builddir)/build/win32/vs9/$(1).headers:
|
||||
-$(RM) $(top_builddir)/build/win32/vs9/$(1).headers
|
||||
-$(RM) $(top_builddir)/build/win32/vs10/$(1).vs10.headers
|
||||
|
||||
|
@@ -31,8 +31,7 @@ SUBDIRS = \
|
||||
vs10 \
|
||||
vs11 \
|
||||
vs12 \
|
||||
vs14 \
|
||||
vs15
|
||||
vs14
|
||||
|
||||
EXTRA_DIST += \
|
||||
detectenv-msvc.mak \
|
||||
|
@@ -40,10 +40,8 @@ VSVER = 10
|
||||
VSVER = 11
|
||||
!elseif $(VCVERSION) > 1799 && $(VCVERSION) < 1900
|
||||
VSVER = 12
|
||||
!elseif $(VCVERSION) > 1899 && $(VCVERSION) < 1910
|
||||
!elseif $(VCVERSION) > 1899 && $(VCVERSION) < 2000
|
||||
VSVER = 14
|
||||
!elseif $(VCVERSION) > 1909 && $(VCVERSION) < 2000
|
||||
VSVER = 15
|
||||
!else
|
||||
VSVER = 0
|
||||
!endif
|
||||
|
@@ -29,9 +29,9 @@ setgirbuildenv:
|
||||
|
||||
!include introspection.body.mak
|
||||
|
||||
install-introspection: all
|
||||
@-copy *.gir "$(G_IR_INCLUDEDIR)"
|
||||
@-copy /b *.typelib "$(G_IR_TYPELIBDIR)"
|
||||
install-introspection: all
|
||||
@-copy *.gir $(G_IR_INCLUDEDIR)
|
||||
@-copy /b *.typelib $(G_IR_TYPELIBDIR)
|
||||
|
||||
!else
|
||||
all:
|
||||
|
@@ -30,10 +30,10 @@ def main(argv):
|
||||
atk_min_ver = '2.15.1'
|
||||
cairo_min_ver = '1.14.0'
|
||||
gdk_pixbuf_min_ver = '2.30.0'
|
||||
gdk_win32_sys_libs = '-lgdi32 -limm32 -lshell32 -lole32 -lwinmm -ldwmapi'
|
||||
cairo_libs = '-lcairo-gobject -lcairo '
|
||||
gdk_win32_sys_libs = '-lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -ldwmapi'
|
||||
glib_min_ver = '2.45.8'
|
||||
|
||||
cairo_backends = 'cairo-win32'
|
||||
gdk_backends = 'win32'
|
||||
gio_package = 'gio-2.0 >= ' + glib_min_ver
|
||||
broadway_extra_libs = ''
|
||||
@@ -41,19 +41,22 @@ def main(argv):
|
||||
gdk_args = gdk_parser.parse_args()
|
||||
if getattr(gdk_args, 'broadway', None) is 1:
|
||||
# On Visual Studio, we link to zlib1.lib
|
||||
broadway_extra_libs = ' -lzlib1'
|
||||
broadway_extra_libs = '-lzlib1'
|
||||
gdk_backends += ' broadway'
|
||||
cairo_backends += ' cairo'
|
||||
|
||||
pkg_replace_items = {'@GTK_API_VERSION@': '3.0',
|
||||
'@GDK_BACKENDS@': gdk_backends}
|
||||
|
||||
pkg_required_packages = 'gdk-pixbuf-2.0 >= ' + gdk_pixbuf_min_ver
|
||||
pkg_required_packages = 'gdk-pixbuf >= ' + gdk_pixbuf_min_ver + ' ' + \
|
||||
'cairo >= ' + cairo_min_ver + ' ' + \
|
||||
'cairo-gobject >= ' + cairo_min_ver
|
||||
|
||||
gdk_pc_replace_items = {'@GDK_PACKAGES@': gio_package + ' ' + \
|
||||
'pangowin32 pangocairo' + ' ' + \
|
||||
pkg_required_packages,
|
||||
'@GDK_PRIVATE_PACKAGES@': gio_package,
|
||||
'@GDK_EXTRA_LIBS@': cairo_libs + gdk_win32_sys_libs + broadway_extra_libs,
|
||||
'@GDK_PRIVATE_PACKAGES@': gio_package + ' ' + cairo_backends,
|
||||
'@GDK_EXTRA_LIBS@': gdk_win32_sys_libs + broadway_extra_libs,
|
||||
'@GDK_EXTRA_CFLAGS@': '',
|
||||
'gdk-3': 'gdk-3.0'}
|
||||
|
||||
|
@@ -21,15 +21,9 @@ valid_actions = ['remove-prefix',
|
||||
'replace-str',
|
||||
'remove-str']
|
||||
|
||||
def open_file(filename, mode):
|
||||
if sys.version_info[0] < 3:
|
||||
return open(filename, mode=mode)
|
||||
else:
|
||||
return open(filename, mode=mode, encoding='utf-8')
|
||||
|
||||
def replace_multi(src, dest, replace_items):
|
||||
with open_file(src, 'r') as s:
|
||||
with open_file(dest, 'w') as d:
|
||||
with open(src, 'r') as s:
|
||||
with open(dest, 'w') as d:
|
||||
for line in s:
|
||||
replace_dict = dict((re.escape(key), value) \
|
||||
for key, value in replace_items.items())
|
||||
|
@@ -62,7 +62,6 @@ EXTRA_DIST += \
|
||||
gailutil-3.vcxproj.filtersin \
|
||||
gtk3-install.vcxproj \
|
||||
gtk3-install.vcxproj.filters \
|
||||
gtk3-introspect.vcxproj \
|
||||
gtk3-build-defines.props \
|
||||
gtk3-copy-gdk-broadway.props \
|
||||
gtk3-gen-srcs.props \
|
||||
@@ -75,10 +74,6 @@ DISTCLEANFILES = \
|
||||
$(GENERATED_ITEMS)
|
||||
|
||||
gtk3-install.props: $(top_srcdir)/build/win32/vs10/gtk3-install.propsin $(MSVC10_HEADERS_LISTS)
|
||||
-$(RM) $(top_builddir)/build/win32/vs11/gtk3-install.props
|
||||
-$(RM) $(top_builddir)/build/win32/vs12/gtk3-install.props
|
||||
-$(RM) $(top_builddir)/build/win32/vs14/gtk3-install.props
|
||||
-$(RM) $(top_builddir)/build/win32/vs15/gtk3-install.props
|
||||
$(CPP) -P - <$(top_srcdir)/build/win32/vs10/gtk3-install.propsin >$@
|
||||
rm $(MSVC10_HEADERS_LISTS)
|
||||
|
||||
|
@@ -24,8 +24,8 @@ You will also need a Python 2.6+/3.x interpretor installed on your system,
|
||||
which can be obtained from the official installers available from
|
||||
http://www.python.org. Please note that the Python interpretor (python.exe)
|
||||
either needs to be in your PATH before attempting the build of GTK+, or it
|
||||
can be found in the path specified by PythonDir in gtk-version-paths.props.
|
||||
If you happen to change the PythonDir setting in gtk-version-paths.props after
|
||||
can be found in the path specified by PythonPath in gtk-version-paths.props.
|
||||
If you happen to change the PythonPath setting in gtk-version-paths.props after
|
||||
opening gtk+.sln with Visual Studio, you will need to close the gtk+.sln solution,
|
||||
delete all the *.sdf, *.suo and *.user files before re-attempting the build.
|
||||
|
||||
@@ -81,21 +81,6 @@ built DLLs go into <root>\vs10\<PlatformName>\bin, built LIBs into
|
||||
project files higher in the stack are supposed to look for them, not
|
||||
from a specific GLib source tree.
|
||||
|
||||
There is now a "gtk3-introspect" project that is used to build the
|
||||
introspection files. In order for this to work, check that the paths for
|
||||
PythonDir (32-bit builds) and PythonDirX64 (x64 builds) are correct for your
|
||||
system. Note that it must be the same Python installation that was used to
|
||||
build GObject-Introspection (G-I), and a complete G-I build/installation
|
||||
needs to be found in <root>\vs10\<PlatformName>\, with the introspection files
|
||||
for ATK, Pango and GDK-Pixbuf. Note also that this is not built by default,
|
||||
so you will need to right-click on the project to build it, which will build
|
||||
and "install" the other projects that are normally built, if those were not yet
|
||||
built. The introspection files that are built will be "installed" to
|
||||
<root>\vs10\<PlatformName>\share\gir-1.0 (the .gir file(s)) and
|
||||
<root>\vs10\<PlatformName>\lib\girepository-1.0 (the .typelib files(s)) upon
|
||||
successful build. for building this in a different configuration, therefore,
|
||||
you will need to clean this project specifically and then rebuild.
|
||||
|
||||
Please note, as GTK+ uses the Adwaita theme for all platforms by default,
|
||||
most icons used are not included with GTK+ (which *are* needed), so please see
|
||||
https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack (under the
|
||||
|
@@ -30,8 +30,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk-query-settings", "gtk-q
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-install", "gtk3-install.vcxproj", "{23BBF35F-78AF-4E8C-983F-7B90448CD7DF}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-introspect", "gtk3-introspect.vcxproj", "{A8092C4E-0A21-4B1D-AC82-16764E418D1F}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
@@ -276,14 +274,6 @@ Global
|
||||
{9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|Win32.Build.0 = Release|Win32
|
||||
{9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|x64.ActiveCfg = Release|x64
|
||||
{9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|x64.Build.0 = Release|x64
|
||||
{A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release|x64.ActiveCfg = Release|x64
|
||||
{A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32
|
||||
{A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug_Broadway|x64.ActiveCfg = Debug|x64
|
||||
{A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release_Broadway|Win32.ActiveCfg = Release|Win32
|
||||
{A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release_Broadway|x64.ActiveCfg = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@@ -20,7 +20,7 @@
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{7D2397CF-4C25-45BC-A1BB-CB4B6E154BBD}</ProjectGuid>
|
||||
<RootNamespace>gtkbuildertool</RootNamespace>
|
||||
<RootNamespace>gtkencodesymbolicsvg</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
|
@@ -20,7 +20,7 @@
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{9F22107A-3EF7-4B52-B269-747B65307F36}</ProjectGuid>
|
||||
<RootNamespace>gtkquerysettings</RootNamespace>
|
||||
<RootNamespace>gtkencodesymbolicsvg</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
|
@@ -20,7 +20,7 @@
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{FC98AF16-4C68-42DF-906B-93A6804C198A}</ProjectGuid>
|
||||
<RootNamespace>gtkupdateiconcache</RootNamespace>
|
||||
<RootNamespace>gtkencodesymbolicsvg</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
|
@@ -14,10 +14,6 @@
|
||||
<GdkAdditionalLibs>winmm.lib;dwmapi.lib;setupapi.lib;$(GtkGdkCommonLibs)</GdkAdditionalLibs>
|
||||
<GdkBroadwayAdditionalLibs>ws2_32.lib</GdkBroadwayAdditionalLibs>
|
||||
<GtkAdditionalLibs>atk-1.0.lib;pangowin32-1.0.lib;winspool.lib;comctl32.lib;$(GtkGdkCommonLibs)</GtkAdditionalLibs>
|
||||
<GtkIntrospectNMakeCmd>cd ..
|
||||
set VCInstallDir=$(VCInstallDir)
|
||||
nmake -f gtk-introspection-msvc.mak CFG=$(Configuration) PREFIX=$(GlibEtcInstallRoot)</GtkIntrospectNMakeCmd>
|
||||
<GtkIntrospectBuiltFiles>$(SolutionDir)\..\Gtk-3.0.gir;$(SolutionDir)\..\Gtk-3.0.typelib</GtkIntrospectBuiltFiles>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<_PropertySheetDisplayName>gtk3builddefinesprops</_PropertySheetDisplayName>
|
||||
@@ -35,10 +31,6 @@ nmake -f gtk-introspection-msvc.mak CFG=$(Configuration) PREFIX=$(GlibEtcInstall
|
||||
<Link>
|
||||
<AdditionalDependencies>pangocairo-1.0.lib;cairo.lib;cairo-gobject.lib;pango-1.0.lib;gdk_pixbuf-2.0.lib;gio-2.0.lib;gmodule-2.0.lib;gobject-2.0.lib;glib-2.0.lib;intl.lib;epoxy.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(GlibEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalOptions Condition="'$(VisualStudioVersion)|$(Platform)'=='11.0|x64'">/HIGHENTROPYVA %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalOptions Condition="'$(VisualStudioVersion)|$(Platform)'=='12.0|x64'">/HIGHENTROPYVA %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalOptions Condition="'$(VisualStudioVersion)|$(Platform)'=='14.0|x64'">/HIGHENTROPYVA %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalOptions Condition="'$(VisualStudioVersion)|$(Platform)'=='15.0|x64'">/HIGHENTROPYVA %(AdditionalOptions)</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
@@ -72,11 +64,5 @@ nmake -f gtk-introspection-msvc.mak CFG=$(Configuration) PREFIX=$(GlibEtcInstall
|
||||
<BuildMacro Include="GtkAdditionalLibs">
|
||||
<Value>$(GtkAdditionalLibs)</Value>
|
||||
</BuildMacro>
|
||||
<BuildMacro Include="GtkIntrospectNMakeCmd">
|
||||
<Value>$(GtkIntrospectNMakeCmd)</Value>
|
||||
</BuildMacro>
|
||||
<BuildMacro Include="GtkIntrospectBuiltFiles">
|
||||
<Value>$(GtkIntrospectBuiltFiles)</Value>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
@@ -25,7 +25,7 @@ if "$(Configuration)" == "Debug_Broadway" goto DoDebug
|
||||
|
||||
mkdir .\Release\$(Platform)\bin
|
||||
|
||||
copy /b $(Configuration)\$(Platform)\bin\$(GtkDllPrefix)gdk-3$(GtkDllSuffix).dll .\Release\$(Platform)\bin\
|
||||
copy /b $(Configuration)\$(Platform)\bin\$(GtkDllPrefix)gdk$(GtkDllSuffix).dll .\Release\$(Platform)\bin\
|
||||
|
||||
copy /b $(Configuration)\$(Platform)\bin\gdk-$(ApiVersion).lib .\Release\$(Platform)\bin\
|
||||
|
||||
|
@@ -90,6 +90,7 @@
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
@@ -113,6 +114,7 @@
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
@@ -136,6 +138,7 @@
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
@@ -159,6 +162,7 @@
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
|
@@ -39,10 +39,10 @@ echo $(Configuration) > ..\..\..\MSVC_$(Configuration)_Broadway
|
||||
:DONE_GDKCONFIG_H
|
||||
</GenGdkConfigHBroadway>
|
||||
<GDbusCodeGenCmd>$(GlibEtcInstallRoot)\bin\gdbus-codegen --interface-prefix org.Gtk. --c-namespace _Gtk --generate-c-code gtkdbusgenerated ./gtkdbusinterfaces.xml</GDbusCodeGenCmd>
|
||||
<GenerateGtkDbusBuiltSources>cd ..\..\..\gtk & $(PythonDir)\python $(GDbusCodeGenCmd) & cd $(SolutionDir)</GenerateGtkDbusBuiltSources>
|
||||
<GenerateGtkDbusBuiltSourcesX64>cd ..\..\..\gtk & $(PythonDirX64)\python $(GDbusCodeGenCmd) & cd $(SolutionDir)</GenerateGtkDbusBuiltSourcesX64>
|
||||
<GenerateGtkDbusBuiltSources>cd ..\..\..\gtk & $(PythonPath)\python $(GDbusCodeGenCmd) & cd $(SolutionDir)</GenerateGtkDbusBuiltSources>
|
||||
<GenerateGtkDbusBuiltSourcesX64>cd ..\..\..\gtk & $(PythonPathX64)\python $(GDbusCodeGenCmd) & cd $(SolutionDir)</GenerateGtkDbusBuiltSourcesX64>
|
||||
<CopyGtkWin32RC>copy ..\..\..\gtk\gtk-win32.rc.body ..\..\..\gtk\gtk-win32.rc</CopyGtkWin32RC>
|
||||
<GenerateGtkWin32Manifest>$(PythonDir)\python ..\replace.py --action=replace-var --input=..\..\..\gtk\libgtk3.manifest.in --output=..\..\..\gtk\libgtk3.manifest --var=EXE_MANIFEST_ARCHITECTURE --outstring=*</GenerateGtkWin32Manifest>
|
||||
<GenerateGtkWin32Manifest>$(PythonPath)\python ..\replace.py --action=replace-var --input=..\..\..\gtk\libgtk3.manifest.in --output=..\..\..\gtk\libgtk3.manifest --var=EXE_MANIFEST_ARCHITECTURE --outstring=*</GenerateGtkWin32Manifest>
|
||||
<CopyDemosH>copy ..\..\..\demos\gtk-demo\demos.h.win32 ..\..\..\demos\gtk-demo\demos.h</CopyDemosH>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
|
@@ -92,9 +92,7 @@ copy .\Debug\$(Platform)\bin\gtk-builder-tool.pdb $(CopyDir)\bin
|
||||
:DONE_BIN
|
||||
|
||||
copy ..\gdk-3.0.pc $(CopyDir)\lib\pkgconfig
|
||||
copy ..\gdk-3.0.pc $(CopyDir)\lib\pkgconfig\gdk-win32-3.0.pc
|
||||
copy "..\gtk+-3.0.pc" $(CopyDir)\lib\pkgconfig
|
||||
copy "..\gtk+-3.0.pc" "$(CopyDir)\lib\pkgconfig\gtk+-3.0.pc"
|
||||
copy ..\gail-3.0.pc $(CopyDir)\lib\pkgconfig
|
||||
</GtkDoInstallBin>
|
||||
<GtkDoInstall>
|
||||
@@ -112,14 +110,22 @@ mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated
|
||||
mkdir $(CopyDir)\include\gail-$(ApiVersion)\libgail-util
|
||||
#include "gailutil-3.vs10.headers"
|
||||
|
||||
|
||||
for %%s in (16 22 24 32 48 256) do ((mkdir $(CopyDir)\share\icons\hicolor\%%sx%%s\apps) & (copy /b ..\..\..\demos\gtk-demo\data\%%sx%%s\gtk3-demo.png $(CopyDir)\share\icons\hicolor\%%sx%%s\apps))
|
||||
|
||||
mkdir $(CopyDir)\share\icons\hicolor\16x16\apps
|
||||
copy ..\..\..\demos\gtk-demo\data\16x16\gtk3-demo.png $(CopyDir)\share\icons\hicolor\16x16\apps
|
||||
mkdir $(CopyDir)\share\icons\hicolor\22x22\apps
|
||||
copy ..\..\..\demos\gtk-demo\data\22x22\gtk3-demo.png $(CopyDir)\share\icons\hicolor\22x22\apps
|
||||
mkdir $(CopyDir)\share\icons\hicolor\24x24\apps
|
||||
copy ..\..\..\demos\gtk-demo\data\24x24\gtk3-demo.png $(CopyDir)\share\icons\hicolor\24x24\apps
|
||||
mkdir $(CopyDir)\share\icons\hicolor\32x32\apps
|
||||
copy ..\..\..\demos\gtk-demo\data\32x32\gtk3-demo.png $(CopyDir)\share\icons\hicolor\32x32\apps
|
||||
mkdir $(CopyDir)\share\icons\hicolor\48x48\apps
|
||||
copy ..\..\..\demos\gtk-demo\data\48x48\gtk3-demo.png $(CopyDir)\share\icons\hicolor\48x48\apps
|
||||
mkdir $(CopyDir)\share\icons\hicolor\256x256\apps
|
||||
copy ..\..\..\demos\gtk-demo\data\256x256\gtk3-demo.png $(CopyDir)\share\icons\hicolor\256x256\apps
|
||||
mkdir $(CopyDir)\share\glib-2.0\schemas
|
||||
copy ..\..\..\gtk\org.gtk.Settings.FileChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas
|
||||
copy ..\..\..\gtk\org.gtk.Settings.ColorChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas
|
||||
copy ..\..\..\gtk\org.gtk.Settings.Debug.gschema.xml $(CopyDir)\share\glib-2.0\schemas
|
||||
copy ..\..\..\gtk\org.gtk.Settings.EmojiChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas
|
||||
copy ..\..\..\gtk\org.gtk.Settings.FileChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas
|
||||
copy ..\..\..\demos\gtk-demo\org.gtk.Demo.gschema.xml $(CopyDir)\share\glib-2.0\schemas
|
||||
</GtkDoInstall>
|
||||
<GtkDoInstallBroadwayHeaders>
|
||||
@@ -134,8 +140,8 @@ $(GlibEtcInstallRoot)\bin\glib-compile-schemas.exe $(CopyDir)\share\glib-2.0\sch
|
||||
echo "Generating icon cache......"
|
||||
$(CopyDir)\bin\gtk-update-icon-cache.exe --ignore-theme-index --force "$(CopyDir)\share\icons\hicolor"
|
||||
</GtkPostInstall>
|
||||
<GenerateGtkPC>$(PythonDir)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) --host=i686-pc-vs$(VSVer)</GenerateGtkPC>
|
||||
<GenerateGtkPCX64>$(PythonDirX64)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) --host=x86_64-pc-vs$(VSVer)</GenerateGtkPCX64>
|
||||
<GenerateGtkPC>$(PythonPath)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) --host=i686-pc-vs$(VSVer)</GenerateGtkPC>
|
||||
<GenerateGtkPCX64>$(PythonPathX64)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) --host=x86_64-pc-vs$(VSVer)</GenerateGtkPCX64>
|
||||
<GtkPCFiles>..\gdk-3.0.pc;..\gtk+-3.0.pc;..\gail-3.0.pc</GtkPCFiles>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
|
@@ -249,7 +249,7 @@
|
||||
<Project>{f280bf1a-777a-4fb5-8005-dfbe04621edb}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="gtk-update-icon-cache.vcxproj">
|
||||
<ProjectReference Include="gtk-udpate-icon-cache.vcxproj">
|
||||
<Project>{fc98af16-4c68-42df-906b-93a6804c198a}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
|
@@ -1,103 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{A8092C4E-0A21-4B1D-AC82-16764E418D1F}</ProjectGuid>
|
||||
<RootNamespace>gtk3introspect</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v100</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v100</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v100</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v100</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="gtk3-build-defines.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="gtk3-build-defines.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="gtk3-build-defines.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="gtk3-build-defines.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) install-introspection</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean install-introspection</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
|
||||
<NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) install-introspection</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean install-introspection</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
|
||||
<NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) install-introspection</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean install-introspection</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>
|
||||
<NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) install-introspection</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean install-introspection</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>
|
||||
<NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="gtk3-install.vcxproj">
|
||||
<Project>{23bbf35f-78af-4e8c-983f-7b90448cd7df}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@@ -12,14 +12,8 @@
|
||||
<GtkSeparateVSDllSuffix>-vs$(VSVer)</GtkSeparateVSDllSuffix>
|
||||
<GtkDllPrefix>$(GtkSeparateVSDllPrefix)</GtkDllPrefix>
|
||||
<GtkDllSuffix>$(GtkSeparateVSDllSuffix)</GtkDllSuffix>
|
||||
<PythonDir Condition="'$(VisualStudioVersion)' == '10.0'">c:\python34</PythonDir>
|
||||
<PythonDir Condition="'$(VisualStudioVersion)' == '11.0'">c:\python34</PythonDir>
|
||||
<PythonDir Condition="'$(VisualStudioVersion)' == '12.0'">c:\python34</PythonDir>
|
||||
<PythonDir Condition="'$(VisualStudioVersion)' == '14.0'">c:\python36</PythonDir>
|
||||
<PythonDir Condition="'$(VisualStudioVersion)' == '15.0'">c:\python36</PythonDir>
|
||||
<PythonDirX64>$(PythonDir).x64</PythonDirX64>
|
||||
<IntrospectPythonParam>PYTHON=$(PythonDir)\python.exe</IntrospectPythonParam>
|
||||
<IntrospectPythonParamX64>PYTHON=$(PythonDirX64)\python.exe</IntrospectPythonParamX64>
|
||||
<PythonPath>c:\python34</PythonPath>
|
||||
<PythonPathX64>$(PythonPath).x64</PythonPathX64>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<_PropertySheetDisplayName>gtk3versionpathsprops</_PropertySheetDisplayName>
|
||||
@@ -58,17 +52,11 @@
|
||||
<BuildMacro Include="GtkDllSuffix">
|
||||
<Value>$(GtkDllSuffix)</Value>
|
||||
</BuildMacro>
|
||||
<BuildMacro Include="PythonDir">
|
||||
<Value>$(PythonDir)</Value>
|
||||
<BuildMacro Include="PythonPath">
|
||||
<Value>$(PythonPath)</Value>
|
||||
</BuildMacro>
|
||||
<BuildMacro Include="PythonDirX64">
|
||||
<Value>$(PythonDirX64)</Value>
|
||||
</BuildMacro>
|
||||
<BuildMacro Include="IntrospectPythonParam">
|
||||
<Value>$(IntrospectPythonParam)</Value>
|
||||
</BuildMacro>
|
||||
<BuildMacro Include="IntrospectPythonParamX64">
|
||||
<Value>$(IntrospectPythonParamX64)</Value>
|
||||
<BuildMacro Include="PythonPathX64">
|
||||
<Value>$(PythonPathX64)</Value>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
@@ -29,7 +29,6 @@ EXTRA_DIST += \
|
||||
gailutil-3.vcxproj.filters \
|
||||
gtk3-install.vcxproj \
|
||||
gtk3-install.vcxproj.filters \
|
||||
gtk3-introspect.vcxproj \
|
||||
broadwayd.vcxproj \
|
||||
broadwayd.vcxproj.filters \
|
||||
gdk3-broadway.vcxproj \
|
||||
|
@@ -29,7 +29,6 @@ EXTRA_DIST += \
|
||||
gailutil-3.vcxproj.filters \
|
||||
gtk3-install.vcxproj \
|
||||
gtk3-install.vcxproj.filters \
|
||||
gtk3-introspect.vcxproj \
|
||||
broadwayd.vcxproj \
|
||||
broadwayd.vcxproj.filters \
|
||||
gdk3-broadway.vcxproj \
|
||||
|
@@ -29,7 +29,6 @@ EXTRA_DIST += \
|
||||
gailutil-3.vcxproj.filters \
|
||||
gtk3-install.vcxproj \
|
||||
gtk3-install.vcxproj.filters \
|
||||
gtk3-introspect.vcxproj \
|
||||
broadwayd.vcxproj \
|
||||
broadwayd.vcxproj.filters \
|
||||
gdk3-broadway.vcxproj \
|
||||
|
@@ -1,53 +0,0 @@
|
||||
include $(top_srcdir)/Makefile.decl
|
||||
|
||||
EXTRA_DIST += \
|
||||
README.txt \
|
||||
gtk+.sln \
|
||||
gtk3-prebuild.vcxproj \
|
||||
gtk3-prebuild.vcxproj.filters \
|
||||
gdk3-win32.vcxproj \
|
||||
gdk3-win32.vcxproj.filters \
|
||||
gdk-3.vcxproj \
|
||||
gdk-3.vcxproj.filters \
|
||||
gtk-3.vcxproj \
|
||||
gtk-3.vcxproj.filters \
|
||||
gtk-builder-tool.vcxproj \
|
||||
gtk-builder-tool.vcxproj.filters \
|
||||
gtk-encode-symbolic-svg.vcxproj \
|
||||
gtk-encode-symbolic-svg.vcxproj.filters \
|
||||
gtk-query-settings.vcxproj \
|
||||
gtk-query-settings.vcxproj.filters \
|
||||
gtk-update-icon-cache.vcxproj \
|
||||
gtk-update-icon-cache.vcxproj.filters \
|
||||
gtk3-demo.vcxproj \
|
||||
gtk3-demo.vcxproj.filters \
|
||||
gtk3-demo-application.vcxproj \
|
||||
gtk3-demo-application.vcxproj.filters \
|
||||
gtk3-icon-browser.vcxproj \
|
||||
gtk3-icon-browser.vcxproj.filters \
|
||||
gailutil-3.vcxproj \
|
||||
gailutil-3.vcxproj.filters \
|
||||
gtk3-install.vcxproj \
|
||||
gtk3-install.vcxproj.filters \
|
||||
gtk3-introspect.vcxproj \
|
||||
broadwayd.vcxproj \
|
||||
broadwayd.vcxproj.filters \
|
||||
gdk3-broadway.vcxproj \
|
||||
gdk3-broadway.vcxproj.filters \
|
||||
gtk3-build-defines.props \
|
||||
gtk3-copy-gdk-broadway.props \
|
||||
gtk3-gen-srcs.props \
|
||||
gtk3-ignore-broadway.props \
|
||||
gtk3-install.props \
|
||||
gtk3-version-paths.props
|
||||
|
||||
DISTCLEANFILES = $(EXTRA_DIST)
|
||||
|
||||
MSVC_VER = 15
|
||||
MSVC_VER_LONG = 15
|
||||
MSVC_TOOLSET = 141
|
||||
MSVC_FORMAT_VER = 12
|
||||
|
||||
include $(top_srcdir)/build/Makefile-newvs.am
|
||||
|
||||
-include $(top_srcdir)/git.mk
|
@@ -36,7 +36,6 @@ EXTRA_DIST += \
|
||||
gtk3-icon-browser.vcprojin \
|
||||
gailutil-3.vcprojin \
|
||||
gtk3-install.vcproj \
|
||||
gtk3-introspect.vcproj \
|
||||
broadwayd.vcprojin \
|
||||
gdk3-broadway.vcprojin \
|
||||
gtk3-build-defines.vsprops \
|
||||
|
@@ -23,8 +23,8 @@ You will also need a Python 2.6+/3.x interpretor installed on your system,
|
||||
which can be obtained from the official installers available from
|
||||
http://www.python.org. Please note that the Python interpretor (python.exe)
|
||||
either needs to be in your PATH before attempting the build of GTK+, or it
|
||||
can be found in the path specified by PythonDir in gtk-version-paths.vsprops.
|
||||
If you happen to change the PythonDir setting in gtk-version-paths.vsprops after
|
||||
can be found in the path specified by PythonPath in gtk-version-paths.vsprops.
|
||||
If you happen to change the PythonPath setting in gtk-version-paths.vsprops after
|
||||
opening gtk+.sln with Visual Studio, you will need to close the gtk+.sln solution,
|
||||
delete all the *.ncb, *.suo and *.user files before re-attempting the build.
|
||||
|
||||
@@ -80,21 +80,6 @@ built DLLs go into <root>\vs9\<PlatformName>\bin, built LIBs into
|
||||
project files higher in the stack are supposed to look for them, not
|
||||
from a specific GLib source tree.
|
||||
|
||||
There is now a "gtk3-introspect" project that is used to build the
|
||||
introspection files. In order for this to work, check that the paths for
|
||||
PythonDir (32-bit builds) and PythonDirX64 (x64 builds) are correct for your
|
||||
system. Note that it must be the same Python installation that was used to
|
||||
build GObject-Introspection (G-I), and a complete G-I build/installation
|
||||
needs to be found in <root>\vs9\<PlatformName>\, with the introspection files
|
||||
for ATK, Pango and GDK-Pixbuf. Note also that this is not built by default,
|
||||
so you will need to right-click on the project to build it, which will build
|
||||
and "install" the other projects that are normally built, if those were not yet
|
||||
built. The introspection files that are built will be "installed" to
|
||||
<root>\vs9\<PlatformName>\share\gir-1.0 (the .gir file(s)) and
|
||||
<root>\vs9\<PlatformName>\lib\girepository-1.0 (the .typelib files(s)) upon
|
||||
successful build. for building this in a different configuration, therefore,
|
||||
you will need to clean this project specifically and then rebuild.
|
||||
|
||||
Please note, as GTK+ uses the Adwaita theme for all platforms by default,
|
||||
most icons used are not included with GTK+ (which *are* needed), so please see
|
||||
https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack (under the
|
||||
|
@@ -89,11 +89,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-install", "gtk3-instal
|
||||
{9F22107A-3EF7-4B52-B269-747B65307F36} = {9F22107A-3EF7-4B52-B269-747B65307F36}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-introspect", "gtk3-introspect.vcproj", "{A8092C4E-0A21-4B1D-AC82-16764E418D1F}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{23BBF35F-78AF-4E8C-983F-7B90448CD7DF} = {23BBF35F-78AF-4E8C-983F-7B90448CD7DF}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
@@ -330,14 +325,6 @@ Global
|
||||
{9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|Win32.Build.0 = Release|Win32
|
||||
{9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|x64.ActiveCfg = Release|x64
|
||||
{9F22107A-3EF7-4B52-B269-747B65307F36}.Release_Broadway|x64.Build.0 = Release|x64
|
||||
{A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release|x64.ActiveCfg = Release|x64
|
||||
{A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32
|
||||
{A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Debug_Broadway|x64.ActiveCfg = Debug|x64
|
||||
{A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release_Broadway|Win32.ActiveCfg = Release|Win32
|
||||
{A8092C4E-0A21-4B1D-AC82-16764E418D1F}.Release_Broadway|x64.ActiveCfg = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@@ -59,12 +59,4 @@
|
||||
Name="GtkAdditionalLibs"
|
||||
Value="atk-1.0.lib pangowin32-1.0.lib winspool.lib comctl32.lib $(GtkGdkCommonLibs)"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="GtkIntrospectNMakeCmd"
|
||||
Value="cd ..
set VCInstallDir=$(VCInstallDir)
nmake -f gtk-introspection-msvc.mak CFG=$(ConfigurationName) PREFIX=$(GlibEtcInstallRoot)"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="GtkIntrospectBuiltFiles"
|
||||
Value="$(SolutionDir)\..\Gtk-3.0.gir;$(SolutionDir)\..\Gtk-3.0.typelib;$(SolutionDir)\..\GdkWin32-3.0.gir;$(SolutionDir)\..\GdkWin32-3.0.typelib;$(SolutionDir)\..\Gdk-3.0.gir;$(SolutionDir)\..\Gdk-3.0.typelib"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
||||
|
@@ -17,7 +17,7 @@ if "$(ConfigurationName)" == "Debug_Broadway" goto DoDebug&#
|
||||
|
||||
:DoRelease

|
||||
mkdir .\Release\$(PlatformName)\bin

|
||||
copy /b $(ConfigurationName)\$(PlatformName)\bin\$(GtkDllPrefix)gdk-3$(GtkDllSuffix).dll .\Release\$(PlatformName)\bin\

|
||||
copy /b $(ConfigurationName)\$(PlatformName)\bin\$(GtkDllPrefix)gdk$(GtkDllSuffix).dll .\Release\$(PlatformName)\bin\

|
||||
copy /b $(ConfigurationName)\$(PlatformName)\bin\gdk-$(ApiVersion).lib .\Release\$(PlatformName)\bin\

|
||||
goto END

|
||||
|
||||
|
@@ -47,6 +47,7 @@
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
@@ -79,6 +80,7 @@
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
@@ -111,6 +113,7 @@
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
@@ -143,6 +146,7 @@
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
|
@@ -60,11 +60,11 @@ echo $(ConfigurationName) > ..\..\..\MSVC_$(ConfigurationName)_Broadway
|
||||
/>
|
||||
<UserMacro
|
||||
Name="GenerateGtkDbusBuiltSources"
|
||||
Value="cd ..\..\..\gtk & $(PythonDir)\python $(GDbusCodeGenCmd) & cd $(SolutionDir)"
|
||||
Value="cd ..\..\..\gtk & $(PythonPath)\python $(GDbusCodeGenCmd) & cd $(SolutionDir)"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="GenerateGtkDbusBuiltSourcesX64"
|
||||
Value="cd ..\..\..\gtk & $(PythonDirX64)\python $(GDbusCodeGenCmd) & cd $(SolutionDir)"
|
||||
Value="cd ..\..\..\gtk & $(PythonPathX64)\python $(GDbusCodeGenCmd) & cd $(SolutionDir)"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="CopyGtkWin32RC"
|
||||
@@ -72,7 +72,7 @@ echo $(ConfigurationName) > ..\..\..\MSVC_$(ConfigurationName)_Broadway
|
||||
/>
|
||||
<UserMacro
|
||||
Name="GenerateGtkWin32Manifest"
|
||||
Value="$(PythonDir)\python ..\replace.py --action=replace-var --input=..\..\..\gtk\libgtk3.manifest.in --output=..\..\..\gtk\libgtk3.manifest --var=EXE_MANIFEST_ARCHITECTURE --outstring=*"
|
||||
Value="$(PythonPath)\python ..\replace.py --action=replace-var --input=..\..\..\gtk\libgtk3.manifest.in --output=..\..\..\gtk\libgtk3.manifest --var=EXE_MANIFEST_ARCHITECTURE --outstring=*"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="CopyDemosH"
|
||||
|
@@ -92,9 +92,7 @@ copy .\Debug\$(PlatformName)\bin\gtk-builder-tool.pdb $(CopyDir)\bin

|
||||
:DONE_BIN

|
||||
|
||||
copy ..\gdk-3.0.pc $(CopyDir)\lib\pkgconfig

|
||||
copy ..\gdk-3.0.pc $(CopyDir)\lib\pkgconfig\gdk-win32-3.0.pc

|
||||
copy "..\gtk+-3.0.pc" $(CopyDir)\lib\pkgconfig

|
||||
copy "..\gtk+-3.0.pc" "$(CopyDir)\lib\pkgconfig\gtk+-win32-3.0.pc"

|
||||
copy ..\gail-3.0.pc $(CopyDir)\lib\pkgconfig

|
||||
"
|
||||
/>
|
||||
@@ -130,10 +128,9 @@ mkdir $(CopyDir)\share\icons\hicolor\256x256\apps

|
||||
copy ..\..\..\demos\gtk-demo\data\256x256\gtk3-demo.png $(CopyDir)\share\icons\hicolor\256x256\apps\

|
||||
|
||||
mkdir $(CopyDir)\share\glib-2.0\schemas

|
||||
copy ..\..\..\gtk\org.gtk.Settings.FileChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas

|
||||
copy ..\..\..\gtk\org.gtk.Settings.ColorChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas

|
||||
copy ..\..\..\gtk\org.gtk.Settings.Debug.gschema.xml $(CopyDir)\share\glib-2.0\schemas

|
||||
copy ..\..\..\gtk\org.gtk.Settings.EmojiChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas

|
||||
copy ..\..\..\gtk\org.gtk.Settings.FileChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas

|
||||
copy ..\..\..\demos\gtk-demo\org.gtk.Demo.gschema.xml $(CopyDir)\share\glib-2.0\schemas

|
||||
"
|
||||
/>
|
||||
@@ -157,10 +154,10 @@ mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\broadway

|
||||
/>
|
||||
<UserMacro
|
||||
Name="GenerateGtkPC"
|
||||
Value="$(PythonDir)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) --host=i686-pc-vs$(VSVer)"
|
||||
Value="$(PythonPath)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) --host=i686-pc-vs$(VSVer)"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="GenerateGtkPCX64"
|
||||
Value="$(PythonDirX64)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) --host=x86_64-pc-vs$(VSVer)"
|
||||
Value="$(PythonPathX64)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) --host=x86_64-pc-vs$(VSVer)"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
||||
|
@@ -1,76 +0,0 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="gtk3-introspect"
|
||||
ProjectGUID="{A8092C4E-0A21-4B1D-AC82-16764E418D1F}"
|
||||
Keyword="MakeFileProj"
|
||||
TargetFrameworkVersion="196613"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
ConfigurationType="0"
|
||||
InheritedPropertySheets=".\gtk3-build-defines.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCNMakeTool"
|
||||
BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) install-introspection"
|
||||
ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean install-introspection"
|
||||
CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean"
|
||||
Output="$(GtkIntrospectBuiltFiles)"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
ConfigurationType="0"
|
||||
InheritedPropertySheets=".\gtk3-build-defines.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCNMakeTool"
|
||||
BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) install-introspection"
|
||||
ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean install-introspection"
|
||||
CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean"
|
||||
Output="$(GtkIntrospectBuiltFiles)"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
ConfigurationType="0"
|
||||
InheritedPropertySheets=".\gtk3-build-defines.vsprops"
|
||||
CharacterSet="2"
|
||||
DeleteExtensionsOnClean=""
|
||||
>
|
||||
<Tool
|
||||
Name="VCNMakeTool"
|
||||
BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) install-introspection"
|
||||
ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean install-introspection"
|
||||
CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean"
|
||||
Output="$(GtkIntrospectBuiltFiles)"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
ConfigurationType="0"
|
||||
InheritedPropertySheets=".\gtk3-build-defines.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCNMakeTool"
|
||||
BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) install-introspection"
|
||||
ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean install-introspection"
|
||||
CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean"
|
||||
Output="$(GtkIntrospectBuiltFiles)"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
</VisualStudioProject>
|
@@ -51,19 +51,11 @@
|
||||
Value="$(GtkSeparateVSDllSuffix)"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="PythonDir"
|
||||
Name="PythonPath"
|
||||
Value="c:\python27"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="PythonDirX64"
|
||||
Value="$(PythonDir).x64"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="IntrospectPythonParam"
|
||||
Value="PYTHON=$(PythonDir)\python.exe"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="IntrospectPythonParamX64"
|
||||
Value="PYTHON=$(PythonDirX64)\python.exe"
|
||||
Name="PythonPathX64"
|
||||
Value="$(PythonPath).x64"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
||||
|
76
configure.ac
@@ -9,15 +9,15 @@
|
||||
# set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
|
||||
|
||||
m4_define([gtk_major_version], [3])
|
||||
m4_define([gtk_minor_version], [22])
|
||||
m4_define([gtk_micro_version], [29])
|
||||
m4_define([gtk_interface_age], [29])
|
||||
m4_define([gtk_minor_version], [89])
|
||||
m4_define([gtk_micro_version], [0])
|
||||
m4_define([gtk_interface_age], [0])
|
||||
m4_define([gtk_binary_age],
|
||||
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
|
||||
m4_define([gtk_version],
|
||||
[gtk_major_version.gtk_minor_version.gtk_micro_version])
|
||||
# This is the X.Y used in -lgtk-FOO-X.Y
|
||||
m4_define([gtk_api_version], [3.0])
|
||||
# This is the X.Y used in -lgtk-X.Y
|
||||
m4_define([gtk_api_version], [4.0])
|
||||
|
||||
AC_PREREQ([2.62])
|
||||
AC_INIT([gtk+], [gtk_version],
|
||||
@@ -38,7 +38,7 @@ AC_CANONICAL_HOST
|
||||
# for GTK+.
|
||||
#
|
||||
#GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
|
||||
m4_define([gtk_binary_version], [3.0.0])
|
||||
m4_define([gtk_binary_version], [4.0.0])
|
||||
|
||||
# required versions of other packages
|
||||
m4_define([glib_required_major], [2])
|
||||
@@ -60,11 +60,10 @@ m4_define([cairo_required_version], [1.14.0])
|
||||
m4_define([gdk_pixbuf_required_version], [2.30.0])
|
||||
m4_define([introspection_required_version], [1.39.0])
|
||||
m4_define([wayland_required_version], [1.9.91])
|
||||
m4_define([wayland_protocols_required_version], [1.12])
|
||||
m4_define([wayland_protocols_required_version], [1.7])
|
||||
m4_define([mirclient_required_version], [0.22.0])
|
||||
m4_define([mircookie_required_version], [0.17.0])
|
||||
m4_define([epoxy_required_version], [1.0])
|
||||
m4_define([cloudproviders_required_version], [0.2.5])
|
||||
GLIB_REQUIRED_VERSION=glib_required_version
|
||||
PANGO_REQUIRED_VERSION=pango_required_version
|
||||
ATK_REQUIRED_VERSION=atk_required_version
|
||||
@@ -82,7 +81,7 @@ AC_SUBST(INTROSPECTION_REQUIRED_VERSION)
|
||||
# Save this value here, since automake will set cflags later
|
||||
cflags_set=${CFLAGS+set}
|
||||
|
||||
AM_INIT_AUTOMAKE([1.11 -Wall subdir-objects no-define -Wno-portability tar-ustar no-dist-gzip dist-xz])
|
||||
AM_INIT_AUTOMAKE([1.11 -Wall no-define -Wno-portability tar-ustar no-dist-gzip dist-xz])
|
||||
AM_MAINTAINER_MODE([enable])
|
||||
|
||||
# Support silent build rules. Disable
|
||||
@@ -347,11 +346,6 @@ AC_ARG_ENABLE(mir-backend,
|
||||
[enable the Mir gdk backend])],
|
||||
[backend_set=yes])
|
||||
|
||||
AC_ARG_ENABLE(cloudproviders,
|
||||
[AS_HELP_STRING([--enable-cloudproviders],
|
||||
[enable libcloudproviders integration])],
|
||||
[cloudproviders_set=yes])
|
||||
|
||||
if test -z "$backend_set"; then
|
||||
if test "$platform_win32" = yes; then
|
||||
enable_win32_backend=yes
|
||||
@@ -459,11 +453,10 @@ if test "$enable_wayland_backend" = "yes"; then
|
||||
GDK_BACKENDS="$GDK_BACKENDS wayland"
|
||||
GDK_WINDOWING="$GDK_WINDOWING
|
||||
#define GDK_WINDOWING_WAYLAND"
|
||||
backend_immodules="$backend_immodules,wayland"
|
||||
WAYLAND_PACKAGES="$WAYLAND_DEPENDENCIES"
|
||||
AC_PATH_PROG([WAYLAND_SCANNER],[wayland-scanner],[no])
|
||||
AS_IF([test "x$WAYLAND_SCANNER" = "xno"],
|
||||
[AC_MSG_ERROR([Could not find wayland-scanner in your PATH, required for parsing wayland extension protocols])])
|
||||
AC_MSG_ERROR([Could not find wayland-scanner in your PATH, required for parsing wayland extension protocols]))
|
||||
AC_SUBST([WAYLAND_SCANNER])
|
||||
|
||||
AM_CONDITIONAL(USE_WAYLAND, true)
|
||||
@@ -471,7 +464,7 @@ else
|
||||
AM_CONDITIONAL(USE_WAYLAND, false)
|
||||
fi
|
||||
|
||||
MIR_DEPENDENCIES="mirclient >= mirclient_required_version mircookie >= mircookie_required_version libcontent-hub-glib"
|
||||
MIR_DEPENDENCIES="mirclient >= mirclient_required_version mircookie >= mircookie_required_version"
|
||||
if test "$enable_mir_backend" = "maybe" ; then
|
||||
PKG_CHECK_EXISTS($MIR_DEPENDENCIES, [have_mir_deps=yes], [have_mir_deps=no])
|
||||
AC_MSG_CHECKING([for MIR_DEPENDENCIES])
|
||||
@@ -991,7 +984,6 @@ AM_CONDITIONAL(INCLUDE_IM_TI_ER, [test x"$INCLUDE_ti_er" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_IM_TI_ET, [test x"$INCLUDE_ti_et" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_IM_VIQR, [test x"$INCLUDE_viqr" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_IM_XIM, [test x"$INCLUDE_xim" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_IM_WAYLAND, [test x"$INCLUDE_wayland" = xyes])
|
||||
|
||||
# Checks to see whether we should include mediaLib
|
||||
# support.
|
||||
@@ -1349,26 +1341,11 @@ else
|
||||
LIBS="$gtk_save_LIBS"
|
||||
fi
|
||||
|
||||
# Check for libcloudproviders
|
||||
|
||||
CLOUDPROVIDER_PACKAGES=""
|
||||
if test "x$cloudproviders_set" = "xyes"; then
|
||||
CLOUDPROVIDER_PACKAGES="cloudproviders >= cloudproviders_required_version"
|
||||
if $PKG_CONFIG --exists $CLOUDPROVIDER_PACKAGES ; then
|
||||
AC_DEFINE(HAVE_CLOUDPROVIDERS, [1],
|
||||
[Define if libcloudproviders is available]
|
||||
)
|
||||
else
|
||||
AC_MSG_ERROR([
|
||||
*** libcloudproviders not found.])
|
||||
fi
|
||||
fi
|
||||
|
||||
CFLAGS="$saved_cflags"
|
||||
LDFLAGS="$saved_ldflags"
|
||||
|
||||
GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0 >= gdk_pixbuf_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version"
|
||||
GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $cairo_backends epoxy >= epoxy_required_version $CLOUDPROVIDER_PACKAGES"
|
||||
GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $cairo_backends epoxy >= epoxy_required_version"
|
||||
|
||||
PKG_CHECK_MODULES(GDK_DEP, $GDK_PACKAGES $GDK_PRIVATE_PACKAGES)
|
||||
GDK_DEP_LIBS="$GDK_EXTRA_LIBS $GDK_DEP_LIBS $MATH_LIB"
|
||||
@@ -1822,7 +1799,7 @@ case "$host" in
|
||||
SAVED_CFLAGS="${CFLAGS}"
|
||||
CFLAGS="-fvisibility=hidden"
|
||||
AC_MSG_CHECKING([for -fvisibility=hidden compiler flag])
|
||||
AC_TRY_COMPILE([], [return 0],
|
||||
AC_TRY_COMPILE([], [int main (void) { return 0; }],
|
||||
AC_MSG_RESULT(yes)
|
||||
enable_fvisibility_hidden=yes,
|
||||
AC_MSG_RESULT(no)
|
||||
@@ -1838,14 +1815,6 @@ case "$host" in
|
||||
esac
|
||||
AC_SUBST(GDK_HIDDEN_VISIBILITY_CFLAGS)
|
||||
|
||||
##################################################
|
||||
# Theming
|
||||
##################################################
|
||||
|
||||
AC_PATH_PROG([SASSC], [sassc])
|
||||
AC_ARG_VAR(SASSC)
|
||||
AM_CONDITIONAL([REBUILD_SCSS], [test "x$SASSC" != x])
|
||||
|
||||
##################################################
|
||||
# Output commands
|
||||
##################################################
|
||||
@@ -1903,7 +1872,8 @@ AC_ARG_ENABLE(Bsymbolic,
|
||||
[SAVED_LDFLAGS="${LDFLAGS}"
|
||||
AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
|
||||
LDFLAGS=-Wl,-Bsymbolic-functions
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[return 0]])],
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],
|
||||
[[int main (void) { return 0; }]])],
|
||||
[AC_MSG_RESULT(yes)
|
||||
enable_Bsymbolic=yes],
|
||||
[AC_MSG_RESULT(no)
|
||||
@@ -1915,23 +1885,16 @@ if test "x${enable_Bsymbolic}" = "xyes" ; then
|
||||
fi
|
||||
AC_SUBST(GTK_LINK_FLAGS)
|
||||
|
||||
dnl
|
||||
dnl Check whether MSVC toolset is explicitly set
|
||||
dnl
|
||||
|
||||
AM_CONDITIONAL(MSVC_BASE_NO_TOOLSET_SET, [test x$MSVC_BASE_TOOLSET = x])
|
||||
AM_CONDITIONAL(MSVC_NO_TOOLSET_SET, [test x$MSVC_TOOLSET = x])
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
README
|
||||
INSTALL
|
||||
config.h.win32
|
||||
gtk-zip.sh
|
||||
Makefile
|
||||
gdk-3.0.pc
|
||||
gtk+-3.0.pc
|
||||
gtk+-unix-print-3.0.pc
|
||||
gail-3.0.pc
|
||||
gdk-4.0.pc
|
||||
gtk+-4.0.pc
|
||||
gtk+-unix-print-4.0.pc
|
||||
gail-4.0.pc
|
||||
m4macros/Makefile
|
||||
po/Makefile.in
|
||||
po-properties/Makefile.in
|
||||
@@ -1970,7 +1933,7 @@ docs/reference/Makefile
|
||||
docs/reference/gdk/Makefile
|
||||
docs/reference/gdk/version.xml
|
||||
docs/reference/gtk/Makefile
|
||||
docs/reference/gtk/gtk3.types
|
||||
docs/reference/gtk/gtk4.types
|
||||
docs/reference/gtk/version.xml
|
||||
docs/reference/libgail-util/Makefile
|
||||
docs/reference/libgail-util/version.xml
|
||||
@@ -1984,7 +1947,6 @@ build/win32/vs10/gtk3-version-paths.props
|
||||
build/win32/vs11/Makefile
|
||||
build/win32/vs12/Makefile
|
||||
build/win32/vs14/Makefile
|
||||
build/win32/vs15/Makefile
|
||||
gdk/Makefile
|
||||
gdk/broadway/Makefile
|
||||
gdk/x11/Makefile
|
||||
|
@@ -27,8 +27,6 @@ demos_base = \
|
||||
event_axes.c \
|
||||
expander.c \
|
||||
filtermodel.c \
|
||||
fishbowl.c \
|
||||
widgetbowl.c \
|
||||
foreigndrawing.c \
|
||||
gestures.c \
|
||||
glarea.c \
|
||||
@@ -65,7 +63,6 @@ demos_base = \
|
||||
spinbutton.c \
|
||||
spinner.c \
|
||||
stack.c \
|
||||
tabs.c \
|
||||
textmask.c \
|
||||
textview.c \
|
||||
textscroll.c \
|
||||
@@ -95,11 +92,11 @@ AM_CPPFLAGS = \
|
||||
$(GTK_DEP_CFLAGS)
|
||||
|
||||
DEPS = \
|
||||
$(top_builddir)/gtk/libgtk-3.la
|
||||
$(top_builddir)/gtk/libgtk-4.la
|
||||
|
||||
LDADDS = \
|
||||
$(top_builddir)/gtk/libgtk-3.la \
|
||||
$(top_builddir)/gdk/libgdk-3.la \
|
||||
$(top_builddir)/gtk/libgtk-4.la \
|
||||
$(top_builddir)/gdk/libgdk-4.la \
|
||||
$(GTK_DEP_LIBS) \
|
||||
$(GDK_DEP_LIBS) \
|
||||
-lm
|
||||
@@ -109,10 +106,10 @@ AM_CPPFLAGS += $(FONTDEMO_CFLAGS)
|
||||
LDADDS += $(FONTDEMO_LIBS)
|
||||
endif
|
||||
|
||||
bin_PROGRAMS = gtk3-demo gtk3-demo-application
|
||||
bin_PROGRAMS = gtk4-demo gtk4-demo-application
|
||||
|
||||
desktopdir = $(datadir)/applications
|
||||
dist_desktop_DATA = gtk3-demo.desktop
|
||||
dist_desktop_DATA = gtk4-demo.desktop
|
||||
|
||||
BUILT_SOURCES = demos.h demo_resources.c
|
||||
|
||||
@@ -135,26 +132,24 @@ demos.h: $(demos) geninclude.pl
|
||||
demos.h.win32: $(demos_base) geninclude.pl
|
||||
$(AM_V_GEN) (here=`pwd` ; cd $(srcdir) && $(PERL) $$here/geninclude.pl $(demos_base)) > demos.h.win32
|
||||
|
||||
nodist_gtk3_demo_SOURCES = demos.h
|
||||
nodist_gtk4_demo_SOURCES = demos.h
|
||||
|
||||
gtk3_demo_SOURCES = \
|
||||
gtk4_demo_SOURCES = \
|
||||
$(demos) \
|
||||
gtkfishbowl.c \
|
||||
gtkfishbowl.h \
|
||||
demo_resources.c \
|
||||
main.c
|
||||
|
||||
gtk3_demo_DEPENDENCIES = $(DEPS)
|
||||
gtk3_demo_LDADD = $(LDADDS)
|
||||
gtk3_demo_LDFLAGS = -export-dynamic
|
||||
gtk4_demo_DEPENDENCIES = $(DEPS)
|
||||
gtk4_demo_LDADD = $(LDADDS)
|
||||
gtk4_demo_LDFLAGS = -export-dynamic
|
||||
|
||||
gtk3_demo_application_SOURCES = \
|
||||
gtk4_demo_application_SOURCES = \
|
||||
application.c \
|
||||
demo_resources.c
|
||||
|
||||
gtk3_demo_application_LDADD = $(LDADDS)
|
||||
gtk4_demo_application_LDADD = $(LDADDS)
|
||||
|
||||
resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/demo.gresource.xml)
|
||||
resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(builddir)/demo.gresource.xml)
|
||||
|
||||
demo_resources.c: demo.gresource.xml $(resource_files)
|
||||
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate-source $(srcdir)/demo.gresource.xml
|
||||
@@ -169,12 +164,12 @@ appsicon48dir = $(iconthemedir)/48x48/apps
|
||||
appsicon256dir = $(iconthemedir)/256x256/apps
|
||||
appsiconscalabledir = $(iconthemedir)/scalable/apps
|
||||
|
||||
dist_appsicon16_DATA = data/16x16/gtk3-demo.png data/16x16/gtk3-demo-symbolic.symbolic.png
|
||||
dist_appsicon22_DATA = data/22x22/gtk3-demo.png data/22x22/gtk3-demo-symbolic.symbolic.png
|
||||
dist_appsicon24_DATA = data/24x24/gtk3-demo.png data/24x24/gtk3-demo-symbolic.symbolic.png
|
||||
dist_appsicon32_DATA = data/32x32/gtk3-demo.png data/32x32/gtk3-demo-symbolic.symbolic.png
|
||||
dist_appsicon48_DATA = data/48x48/gtk3-demo.png data/48x48/gtk3-demo-symbolic.symbolic.png
|
||||
dist_appsicon256_DATA = data/256x256/gtk3-demo.png data/256x256/gtk3-demo-symbolic.symbolic.png
|
||||
dist_appsicon16_DATA = data/16x16/gtk4-demo.png data/16x16/gtk4-demo-symbolic.symbolic.png
|
||||
dist_appsicon22_DATA = data/22x22/gtk4-demo.png data/22x22/gtk4-demo-symbolic.symbolic.png
|
||||
dist_appsicon24_DATA = data/24x24/gtk4-demo.png data/24x24/gtk4-demo-symbolic.symbolic.png
|
||||
dist_appsicon32_DATA = data/32x32/gtk4-demo.png data/32x32/gtk4-demo-symbolic.symbolic.png
|
||||
dist_appsicon48_DATA = data/48x48/gtk4-demo.png data/48x48/gtk4-demo-symbolic.symbolic.png
|
||||
dist_appsicon256_DATA = data/256x256/gtk4-demo.png data/256x256/gtk4-demo-symbolic.symbolic.png
|
||||
|
||||
update_icon_cache = $(top_builddir)/gtk/gtk-update-icon-cache$(EXEEXT) --ignore-theme-index --force
|
||||
|
||||
@@ -190,19 +185,19 @@ uninstall-update-icon-cache:
|
||||
test -n "$(DESTDIR)" || $(update_icon_cache) "$(iconthemedir)"
|
||||
|
||||
# ------------------- MSVC Build Items ----------------
|
||||
MSVCPROJS = gtk3-demo gtk3-demo-application
|
||||
MSVCPROJS = gtk4-demo gtk4-demo-application
|
||||
|
||||
gtk3_demo_FILES = $(gtk3_demo_SOURCES)
|
||||
gtk3_demo_EXCLUDES = font_features.c|pagesetup.c
|
||||
gtk4_demo_FILES = $(gtk4_demo_SOURCES)
|
||||
gtk4_demo_EXCLUDES = font_features.c|pagesetup.c
|
||||
|
||||
gtk3_demo_application_FILES = $(gtk3_demo_application_SOURCES)
|
||||
gtk3_demo_application_EXCLUDES = dummy
|
||||
gtk4_demo_application_FILES = $(gtk4_demo_application_SOURCES)
|
||||
gtk4_demo_application_EXCLUDES = dummy
|
||||
|
||||
include $(top_srcdir)/build/Makefile.msvcproj
|
||||
|
||||
dist-hook: \
|
||||
$(top_builddir)/build/win32/vs9/gtk3-demo.vcproj \
|
||||
$(top_builddir)/build/win32/vs9/gtk3-demo-application.vcproj
|
||||
$(top_builddir)/build/win32/vs9/gtk4-demo.vcproj \
|
||||
$(top_builddir)/build/win42/vs9/gtk4-demo-application.vcproj
|
||||
|
||||
DISTCLEANFILES = demos.h demos.h.win32
|
||||
|
||||
|
Before Width: | Height: | Size: 324 B |
Before Width: | Height: | Size: 874 B |
Before Width: | Height: | Size: 437 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 465 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 581 B |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 854 B |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 41 KiB |
@@ -94,11 +94,6 @@
|
||||
<file>zoom_in_cursor.png</file>
|
||||
<file>zoom_out_cursor.png</file>
|
||||
</gresource>
|
||||
<gresource prefix="/fishbowl">
|
||||
<file>fishbowl.ui</file>
|
||||
<file>gtkfishbowl.c</file>
|
||||
<file>gtkfishbowl.h</file>
|
||||
</gresource>
|
||||
<gresource prefix="/iconview">
|
||||
<file preprocess="to-pixdata">gnome-fs-directory.png</file>
|
||||
<file preprocess="to-pixdata">gnome-fs-regular.png</file>
|
||||
@@ -155,8 +150,6 @@
|
||||
<file>event_axes.c</file>
|
||||
<file>expander.c</file>
|
||||
<file>filtermodel.c</file>
|
||||
<file>fishbowl.c</file>
|
||||
<file>widgetbowl.c</file>
|
||||
<file>flowbox.c</file>
|
||||
<file>foreigndrawing.c</file>
|
||||
<file>font_features.c</file>
|
||||
@@ -195,7 +188,6 @@
|
||||
<file>stack.c</file>
|
||||
<file>spinbutton.c</file>
|
||||
<file>spinner.c</file>
|
||||
<file>tabs.c</file>
|
||||
<file>textview.c</file>
|
||||
<file>textscroll.c</file>
|
||||
<file>theming_style_classes.c</file>
|
||||
|
@@ -1,178 +0,0 @@
|
||||
/* Benchmark/Fishbowl
|
||||
*
|
||||
* This demo models the fishbowl demos seen on the web in a GTK way.
|
||||
* It's also a neat little tool to see how fast your computer (or
|
||||
* your GTK version) is.
|
||||
*/
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include "gtkfishbowl.h"
|
||||
|
||||
GtkWidget *allow_changes;
|
||||
|
||||
#define N_STATS 5
|
||||
|
||||
#define STATS_UPDATE_TIME G_USEC_PER_SEC
|
||||
|
||||
typedef struct _Stats Stats;
|
||||
struct _Stats {
|
||||
gint64 last_stats;
|
||||
gint64 last_frame;
|
||||
gint last_suggestion;
|
||||
guint frame_counter_max;
|
||||
|
||||
guint stats_index;
|
||||
guint frame_counter[N_STATS];
|
||||
guint item_counter[N_STATS];
|
||||
};
|
||||
|
||||
static Stats *
|
||||
get_stats (GtkWidget *widget)
|
||||
{
|
||||
static GQuark stats_quark = 0;
|
||||
Stats *stats;
|
||||
|
||||
if (G_UNLIKELY (stats_quark == 0))
|
||||
stats_quark = g_quark_from_static_string ("stats");
|
||||
|
||||
stats = g_object_get_qdata (G_OBJECT (widget), stats_quark);
|
||||
if (stats == NULL)
|
||||
{
|
||||
stats = g_new0 (Stats, 1);
|
||||
g_object_set_qdata_full (G_OBJECT (widget), stats_quark, stats, g_free);
|
||||
stats->last_frame = gdk_frame_clock_get_frame_time (gtk_widget_get_frame_clock (widget));
|
||||
stats->last_stats = stats->last_frame;
|
||||
}
|
||||
|
||||
return stats;
|
||||
}
|
||||
|
||||
static void
|
||||
do_stats (GtkWidget *widget,
|
||||
GtkWidget *info_label,
|
||||
gint *suggested_change)
|
||||
{
|
||||
Stats *stats;
|
||||
gint64 frame_time;
|
||||
|
||||
stats = get_stats (widget);
|
||||
frame_time = gdk_frame_clock_get_frame_time (gtk_widget_get_frame_clock (widget));
|
||||
|
||||
if (stats->last_stats + STATS_UPDATE_TIME < frame_time)
|
||||
{
|
||||
char *new_label;
|
||||
guint i, n_frames;
|
||||
|
||||
n_frames = 0;
|
||||
for (i = 0; i < N_STATS; i++)
|
||||
{
|
||||
n_frames += stats->frame_counter[i];
|
||||
}
|
||||
|
||||
new_label = g_strdup_printf ("icons - %.1f fps",
|
||||
(double) G_USEC_PER_SEC * n_frames
|
||||
/ (N_STATS * STATS_UPDATE_TIME));
|
||||
gtk_label_set_label (GTK_LABEL (info_label), new_label);
|
||||
g_free (new_label);
|
||||
|
||||
if (stats->frame_counter[stats->stats_index] >= 19 * stats->frame_counter_max / 20)
|
||||
{
|
||||
if (stats->last_suggestion > 0)
|
||||
stats->last_suggestion *= 2;
|
||||
else
|
||||
stats->last_suggestion = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (stats->last_suggestion < 0)
|
||||
stats->last_suggestion--;
|
||||
else
|
||||
stats->last_suggestion = -1;
|
||||
stats->last_suggestion = MAX (stats->last_suggestion, 1 - (int) stats->item_counter[stats->stats_index]);
|
||||
}
|
||||
|
||||
stats->stats_index = (stats->stats_index + 1) % N_STATS;
|
||||
stats->frame_counter[stats->stats_index] = 0;
|
||||
stats->item_counter[stats->stats_index] = stats->item_counter[(stats->stats_index + N_STATS - 1) % N_STATS];
|
||||
stats->last_stats = frame_time;
|
||||
|
||||
if (suggested_change)
|
||||
*suggested_change = stats->last_suggestion;
|
||||
else
|
||||
stats->last_suggestion = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (suggested_change)
|
||||
*suggested_change = 0;
|
||||
}
|
||||
|
||||
stats->last_frame = frame_time;
|
||||
stats->frame_counter[stats->stats_index]++;
|
||||
stats->frame_counter_max = MAX (stats->frame_counter_max, stats->frame_counter[stats->stats_index]);
|
||||
}
|
||||
|
||||
static void
|
||||
stats_update (GtkWidget *widget)
|
||||
{
|
||||
Stats *stats;
|
||||
|
||||
stats = get_stats (widget);
|
||||
|
||||
stats->item_counter[stats->stats_index] = gtk_fishbowl_get_count (GTK_FISHBOWL (widget));
|
||||
}
|
||||
|
||||
static gboolean
|
||||
move_fish (GtkWidget *bowl,
|
||||
GdkFrameClock *frame_clock,
|
||||
gpointer info_label)
|
||||
{
|
||||
gint suggested_change = 0;
|
||||
|
||||
do_stats (bowl,
|
||||
info_label,
|
||||
!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (allow_changes)) ? &suggested_change : NULL);
|
||||
|
||||
gtk_fishbowl_set_count (GTK_FISHBOWL (bowl),
|
||||
gtk_fishbowl_get_count (GTK_FISHBOWL (bowl)) + suggested_change);
|
||||
stats_update (bowl);
|
||||
|
||||
return G_SOURCE_CONTINUE;
|
||||
}
|
||||
|
||||
GtkWidget *
|
||||
do_fishbowl (GtkWidget *do_widget)
|
||||
{
|
||||
static GtkWidget *window = NULL;
|
||||
|
||||
if (!window)
|
||||
{
|
||||
GtkBuilder *builder;
|
||||
GtkWidget *bowl, *info_label;
|
||||
|
||||
g_type_ensure (GTK_TYPE_FISHBOWL);
|
||||
|
||||
builder = gtk_builder_new_from_resource ("/fishbowl/fishbowl.ui");
|
||||
gtk_builder_connect_signals (builder, NULL);
|
||||
window = GTK_WIDGET (gtk_builder_get_object (builder, "window"));
|
||||
bowl = GTK_WIDGET (gtk_builder_get_object (builder, "bowl"));
|
||||
info_label = GTK_WIDGET (gtk_builder_get_object (builder, "info_label"));
|
||||
allow_changes = GTK_WIDGET (gtk_builder_get_object (builder, "changes_allow"));
|
||||
gtk_window_set_screen (GTK_WINDOW (window),
|
||||
gtk_widget_get_screen (do_widget));
|
||||
g_signal_connect (window, "destroy",
|
||||
G_CALLBACK (gtk_widget_destroyed), &window);
|
||||
|
||||
gtk_widget_realize (window);
|
||||
gtk_widget_add_tick_callback (bowl, move_fish, info_label, NULL);
|
||||
}
|
||||
|
||||
if (!gtk_widget_get_visible (window))
|
||||
gtk_widget_show (window);
|
||||
else
|
||||
gtk_widget_destroy (window);
|
||||
|
||||
|
||||
return window;
|
||||
}
|
@@ -1,69 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<!-- interface-requires gtk+ 3.6 -->
|
||||
<object class="GtkWindow" id="window">
|
||||
<property name="title" translatable="yes">Fishbowl</property>
|
||||
<child type="titlebar">
|
||||
<object class="GtkHeaderBar" id="">
|
||||
<property name="visible">True</property>
|
||||
<property name="show-close-button">True</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="info_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">icons - 0 fps</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="pack_type">end</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" bind-source="bowl" bind-property="count">0</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="pack_type">end</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToggleButton" id="changes_allow">
|
||||
<property name="active">False</property>
|
||||
<property name="visible" bind-source="changes_allow" bind-property="active" bind-flags="invert-boolean">True</property>
|
||||
<property name="relief">none</property>
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">changes-allow</property>
|
||||
<property name="visible">True</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="pack_type">end</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToggleButton" id="changes_prevent">
|
||||
<property name="active" bind-source="changes_allow" bind-property="active" bind-flags="bidirectional|invert-boolean">True</property>
|
||||
<property name="visible" bind-source="changes_prevent" bind-property="active" bind-flags="invert-boolean">False</property>
|
||||
<property name="relief">none</property>
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">changes-prevent</property>
|
||||
<property name="visible">True</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="pack_type">end</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkFishbowl" id="bowl">
|
||||
<property name="visible">True</property>
|
||||
<property name="animating">True</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
@@ -836,7 +836,7 @@ draw_spinbutton (GtkWidget *widget,
|
||||
|
||||
/* This information is taken from the GtkSpinButton docs, see "CSS nodes" */
|
||||
spin_context = get_style (NULL, "spinbutton.horizontal:focus");
|
||||
entry_context = get_style (spin_context, "entry:focus");
|
||||
entry_context = get_style (NULL, "entry:focus");
|
||||
up_context = get_style (spin_context, "button.up:focus:active");
|
||||
down_context = get_style (spin_context, "button.down:focus");
|
||||
|
||||
|
@@ -13,17 +13,6 @@ static gdouble swipe_x = 0;
|
||||
static gdouble swipe_y = 0;
|
||||
static gboolean long_pressed = FALSE;
|
||||
|
||||
static gboolean
|
||||
touchpad_swipe_gesture_begin (GtkGesture *gesture,
|
||||
GdkEventSequence *sequence,
|
||||
GtkWidget *widget)
|
||||
{
|
||||
/* Disallow touchscreen events here */
|
||||
if (sequence != NULL)
|
||||
gtk_gesture_set_state (gesture, GTK_EVENT_SEQUENCE_DENIED);
|
||||
return sequence == NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
swipe_gesture_swept (GtkGestureSwipe *gesture,
|
||||
gdouble velocity_x,
|
||||
@@ -172,19 +161,6 @@ do_gestures (GtkWidget *do_widget)
|
||||
GTK_PHASE_BUBBLE);
|
||||
g_object_weak_ref (G_OBJECT (drawing_area), (GWeakNotify) g_object_unref, gesture);
|
||||
|
||||
/* 3fg swipe for touchpads */
|
||||
gesture = g_object_new (GTK_TYPE_GESTURE_SWIPE,
|
||||
"widget", drawing_area,
|
||||
"n-points", 3,
|
||||
NULL);
|
||||
g_signal_connect (gesture, "begin",
|
||||
G_CALLBACK (touchpad_swipe_gesture_begin), drawing_area);
|
||||
g_signal_connect (gesture, "swipe",
|
||||
G_CALLBACK (swipe_gesture_swept), drawing_area);
|
||||
gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (gesture),
|
||||
GTK_PHASE_BUBBLE);
|
||||
g_object_weak_ref (G_OBJECT (drawing_area), (GWeakNotify) g_object_unref, gesture);
|
||||
|
||||
/* Long press */
|
||||
gesture = gtk_gesture_long_press_new (drawing_area);
|
||||
g_signal_connect (gesture, "pressed",
|
||||
|
@@ -1,7 +1,7 @@
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
void main() {
|
||||
float lerpVal = gl_FragCoord.y / 500.0;
|
||||
float lerpVal = gl_FragCoord.y / 500.0f;
|
||||
|
||||
gl_FragColor = mix(vec4(1.0, 0.85, 0.35, 1.0), vec4(0.2, 0.2, 0.2, 1.0), lerpVal);
|
||||
gl_FragColor = mix(vec4(1.0f, 0.85f, 0.35f, 1.0f), vec4(0.2f, 0.2f, 0.2f, 1.0f), lerpVal);
|
||||
}
|
||||
|
@@ -333,7 +333,7 @@ create_axis_slider (int axis)
|
||||
GtkAdjustment *adj;
|
||||
const char *text;
|
||||
|
||||
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE);
|
||||
|
||||
switch (axis)
|
||||
{
|
||||
|
@@ -1,10 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=GTK+ Demo
|
||||
Comment=GTK+ code examples and demonstrations
|
||||
Exec=gtk3-demo
|
||||
Icon=gtk3-demo
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=true
|
||||
Categories=Development;GTK;
|
||||
NoDisplay=true
|
@@ -1,581 +0,0 @@
|
||||
/* GTK - The GIMP Toolkit
|
||||
* Copyright (C) 2017 Benjamin Otte <otte@gnome.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "gtkfishbowl.h"
|
||||
|
||||
#include "gtk/fallback-c89.c"
|
||||
|
||||
typedef struct _GtkFishbowlPrivate GtkFishbowlPrivate;
|
||||
typedef struct _GtkFishbowlChild GtkFishbowlChild;
|
||||
|
||||
struct _GtkFishbowlPrivate
|
||||
{
|
||||
GList *children;
|
||||
guint count;
|
||||
|
||||
gint64 last_frame_time;
|
||||
guint tick_id;
|
||||
};
|
||||
|
||||
struct _GtkFishbowlChild
|
||||
{
|
||||
GtkWidget *widget;
|
||||
double x;
|
||||
double y;
|
||||
double dx;
|
||||
double dy;
|
||||
};
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_ANIMATING,
|
||||
PROP_COUNT,
|
||||
NUM_PROPERTIES
|
||||
};
|
||||
|
||||
static GParamSpec *props[NUM_PROPERTIES] = { NULL, };
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (GtkFishbowl, gtk_fishbowl, GTK_TYPE_CONTAINER)
|
||||
|
||||
static void
|
||||
gtk_fishbowl_init (GtkFishbowl *fishbowl)
|
||||
{
|
||||
gtk_widget_set_has_window (GTK_WIDGET (fishbowl), FALSE);
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_fishbowl_new:
|
||||
*
|
||||
* Creates a new #GtkFishbowl.
|
||||
*
|
||||
* Returns: a new #GtkFishbowl.
|
||||
*/
|
||||
GtkWidget*
|
||||
gtk_fishbowl_new (void)
|
||||
{
|
||||
return g_object_new (GTK_TYPE_FISHBOWL, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_widget_measure (GtkWidget *widget,
|
||||
GtkOrientation orientation,
|
||||
gint size,
|
||||
gint *minimum,
|
||||
gint *natural,
|
||||
gint *minimum_baseline,
|
||||
gint *natural_baseline)
|
||||
{
|
||||
g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||
g_return_if_fail (size >= -1);
|
||||
|
||||
if (orientation == GTK_ORIENTATION_HORIZONTAL)
|
||||
{
|
||||
if (size < 0)
|
||||
gtk_widget_get_preferred_width (widget, minimum, natural);
|
||||
else
|
||||
gtk_widget_get_preferred_width_for_height (widget, size, minimum, natural);
|
||||
|
||||
if (minimum_baseline)
|
||||
*minimum_baseline = -1;
|
||||
if (natural_baseline)
|
||||
*natural_baseline = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_widget_get_preferred_height_and_baseline_for_width (widget,
|
||||
size,
|
||||
minimum,
|
||||
natural,
|
||||
minimum_baseline,
|
||||
natural_baseline);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_fishbowl_measure (GtkWidget *widget,
|
||||
GtkOrientation orientation,
|
||||
int for_size,
|
||||
int *minimum,
|
||||
int *natural,
|
||||
int *minimum_baseline,
|
||||
int *natural_baseline)
|
||||
{
|
||||
GtkFishbowl *fishbowl = GTK_FISHBOWL (widget);
|
||||
GtkFishbowlPrivate *priv = gtk_fishbowl_get_instance_private (fishbowl);
|
||||
GtkFishbowlChild *child;
|
||||
GList *children;
|
||||
gint child_min, child_nat;
|
||||
|
||||
*minimum = 0;
|
||||
*natural = 0;
|
||||
|
||||
for (children = priv->children; children; children = children->next)
|
||||
{
|
||||
child = children->data;
|
||||
|
||||
if (!gtk_widget_get_visible (child->widget))
|
||||
continue;
|
||||
|
||||
gtk_widget_measure (child->widget, orientation, -1, &child_min, &child_nat, NULL, NULL);
|
||||
|
||||
*minimum = MAX (*minimum, child_min);
|
||||
*natural = MAX (*natural, child_nat);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_fishbowl_get_preferred_width (GtkWidget *widget,
|
||||
int *minimum,
|
||||
int *natural)
|
||||
{
|
||||
gtk_fishbowl_measure (widget, GTK_ORIENTATION_HORIZONTAL, -1, minimum, natural, NULL, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_fishbowl_get_preferred_height (GtkWidget *widget,
|
||||
int *minimum,
|
||||
int *natural)
|
||||
{
|
||||
gtk_fishbowl_measure (widget, GTK_ORIENTATION_VERTICAL, -1, minimum, natural, NULL, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_fishbowl_get_preferred_width_for_height (GtkWidget *widget,
|
||||
int for_size,
|
||||
int *minimum,
|
||||
int *natural)
|
||||
{
|
||||
gtk_fishbowl_measure (widget, GTK_ORIENTATION_HORIZONTAL, for_size, minimum, natural, NULL, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_fishbowl_get_preferred_height_and_baseline_for_width (GtkWidget *widget,
|
||||
int for_size,
|
||||
int *minimum,
|
||||
int *natural,
|
||||
int *minimum_baseline,
|
||||
int *natural_baseline)
|
||||
{
|
||||
gtk_fishbowl_measure (widget, GTK_ORIENTATION_VERTICAL, for_size, minimum, natural, minimum_baseline, natural_baseline);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_fishbowl_size_allocate (GtkWidget *widget,
|
||||
GtkAllocation *allocation)
|
||||
{
|
||||
GtkFishbowl *fishbowl = GTK_FISHBOWL (widget);
|
||||
GtkFishbowlPrivate *priv = gtk_fishbowl_get_instance_private (fishbowl);
|
||||
GtkFishbowlChild *child;
|
||||
GtkAllocation child_allocation;
|
||||
GtkRequisition child_requisition;
|
||||
GList *children;
|
||||
|
||||
gtk_widget_set_allocation (widget, allocation);
|
||||
|
||||
for (children = priv->children; children; children = children->next)
|
||||
{
|
||||
child = children->data;
|
||||
|
||||
if (!gtk_widget_get_visible (child->widget))
|
||||
continue;
|
||||
|
||||
gtk_widget_get_preferred_size (child->widget, &child_requisition, NULL);
|
||||
child_allocation.x = allocation->x + round (child->x * (allocation->width - child_requisition.width));
|
||||
child_allocation.y = allocation->y + round (child->y * (allocation->height - child_requisition.height));
|
||||
child_allocation.width = child_requisition.width;
|
||||
child_allocation.height = child_requisition.height;
|
||||
|
||||
gtk_widget_size_allocate (child->widget, &child_allocation);
|
||||
}
|
||||
}
|
||||
|
||||
static double
|
||||
new_speed (void)
|
||||
{
|
||||
/* 5s to 50s to cross screen seems fair */
|
||||
return g_random_double_range (0.02, 0.2);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_fishbowl_add (GtkContainer *container,
|
||||
GtkWidget *widget)
|
||||
{
|
||||
GtkFishbowl *fishbowl = GTK_FISHBOWL (container);
|
||||
GtkFishbowlPrivate *priv = gtk_fishbowl_get_instance_private (fishbowl);
|
||||
GtkFishbowlChild *child_info;
|
||||
|
||||
g_return_if_fail (GTK_IS_FISHBOWL (fishbowl));
|
||||
g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||
|
||||
child_info = g_new0 (GtkFishbowlChild, 1);
|
||||
child_info->widget = widget;
|
||||
child_info->x = 0;
|
||||
child_info->y = 0;
|
||||
child_info->dx = new_speed ();
|
||||
child_info->dy = new_speed ();
|
||||
|
||||
gtk_widget_set_parent (widget, GTK_WIDGET (fishbowl));
|
||||
|
||||
priv->children = g_list_prepend (priv->children, child_info);
|
||||
priv->count++;
|
||||
g_object_notify_by_pspec (G_OBJECT (fishbowl), props[PROP_COUNT]);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_fishbowl_remove (GtkContainer *container,
|
||||
GtkWidget *widget)
|
||||
{
|
||||
GtkFishbowl *fishbowl = GTK_FISHBOWL (container);
|
||||
GtkFishbowlPrivate *priv = gtk_fishbowl_get_instance_private (fishbowl);
|
||||
GtkFishbowlChild *child;
|
||||
GtkWidget *widget_container = GTK_WIDGET (container);
|
||||
GList *children;
|
||||
|
||||
for (children = priv->children; children; children = children->next)
|
||||
{
|
||||
child = children->data;
|
||||
|
||||
if (child->widget == widget)
|
||||
{
|
||||
gboolean was_visible = gtk_widget_get_visible (widget);
|
||||
|
||||
gtk_widget_unparent (widget);
|
||||
|
||||
priv->children = g_list_remove_link (priv->children, children);
|
||||
g_list_free (children);
|
||||
g_free (child);
|
||||
|
||||
if (was_visible && gtk_widget_get_visible (widget_container))
|
||||
gtk_widget_queue_resize (widget_container);
|
||||
|
||||
priv->count--;
|
||||
g_object_notify_by_pspec (G_OBJECT (fishbowl), props[PROP_COUNT]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_fishbowl_forall (GtkContainer *container,
|
||||
gboolean include_internals,
|
||||
GtkCallback callback,
|
||||
gpointer callback_data)
|
||||
{
|
||||
GtkFishbowl *fishbowl = GTK_FISHBOWL (container);
|
||||
GtkFishbowlPrivate *priv = gtk_fishbowl_get_instance_private (fishbowl);
|
||||
GtkFishbowlChild *child;
|
||||
GList *children;
|
||||
|
||||
if (!include_internals)
|
||||
return;
|
||||
|
||||
children = priv->children;
|
||||
while (children)
|
||||
{
|
||||
child = children->data;
|
||||
children = children->next;
|
||||
|
||||
(* callback) (child->widget, callback_data);
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_fishbowl_draw (GtkWidget *widget,
|
||||
cairo_t *cr)
|
||||
{
|
||||
GtkFishbowl *fishbowl = GTK_FISHBOWL (widget);
|
||||
GtkFishbowlPrivate *priv = gtk_fishbowl_get_instance_private (fishbowl);
|
||||
GtkFishbowlChild *child;
|
||||
GList *list;
|
||||
|
||||
for (list = priv->children;
|
||||
list;
|
||||
list = list->next)
|
||||
{
|
||||
child = list->data;
|
||||
|
||||
gtk_container_propagate_draw (GTK_CONTAINER (fishbowl),
|
||||
child->widget,
|
||||
cr);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_fishbowl_dispose (GObject *object)
|
||||
{
|
||||
GtkFishbowl *fishbowl = GTK_FISHBOWL (object);
|
||||
|
||||
gtk_fishbowl_set_animating (fishbowl, FALSE);
|
||||
gtk_fishbowl_set_count (fishbowl, 0);
|
||||
|
||||
G_OBJECT_CLASS (gtk_fishbowl_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_fishbowl_set_property (GObject *object,
|
||||
guint prop_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
GtkFishbowl *fishbowl = GTK_FISHBOWL (object);
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_ANIMATING:
|
||||
gtk_fishbowl_set_animating (fishbowl, g_value_get_boolean (value));
|
||||
break;
|
||||
|
||||
case PROP_COUNT:
|
||||
gtk_fishbowl_set_count (fishbowl, g_value_get_uint (value));
|
||||
break;
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_fishbowl_get_property (GObject *object,
|
||||
guint prop_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
GtkFishbowl *fishbowl = GTK_FISHBOWL (object);
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_ANIMATING:
|
||||
g_value_set_boolean (value, gtk_fishbowl_get_animating (fishbowl));
|
||||
break;
|
||||
|
||||
case PROP_COUNT:
|
||||
g_value_set_uint (value, gtk_fishbowl_get_count (fishbowl));
|
||||
break;
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_fishbowl_class_init (GtkFishbowlClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
|
||||
GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass);
|
||||
|
||||
object_class->dispose = gtk_fishbowl_dispose;
|
||||
object_class->set_property = gtk_fishbowl_set_property;
|
||||
object_class->get_property = gtk_fishbowl_get_property;
|
||||
|
||||
widget_class->get_preferred_width = gtk_fishbowl_get_preferred_width;
|
||||
widget_class->get_preferred_height = gtk_fishbowl_get_preferred_height;
|
||||
widget_class->get_preferred_width_for_height = gtk_fishbowl_get_preferred_width_for_height;
|
||||
widget_class->get_preferred_height_and_baseline_for_width = gtk_fishbowl_get_preferred_height_and_baseline_for_width;
|
||||
widget_class->size_allocate = gtk_fishbowl_size_allocate;
|
||||
widget_class->draw = gtk_fishbowl_draw;
|
||||
|
||||
container_class->add = gtk_fishbowl_add;
|
||||
container_class->remove = gtk_fishbowl_remove;
|
||||
container_class->forall = gtk_fishbowl_forall;
|
||||
|
||||
props[PROP_ANIMATING] =
|
||||
g_param_spec_boolean ("animating",
|
||||
"animating",
|
||||
"Whether children are moving around",
|
||||
FALSE,
|
||||
G_PARAM_READWRITE);
|
||||
|
||||
props[PROP_COUNT] =
|
||||
g_param_spec_uint ("count",
|
||||
"Count",
|
||||
"Number of widgets",
|
||||
0, G_MAXUINT,
|
||||
0,
|
||||
G_PARAM_READABLE);
|
||||
|
||||
g_object_class_install_properties (object_class, NUM_PROPERTIES, props);
|
||||
}
|
||||
|
||||
guint
|
||||
gtk_fishbowl_get_count (GtkFishbowl *fishbowl)
|
||||
{
|
||||
GtkFishbowlPrivate *priv = gtk_fishbowl_get_instance_private (fishbowl);
|
||||
|
||||
return priv->count;
|
||||
}
|
||||
|
||||
char **icon_names = NULL;
|
||||
gsize n_icon_names = 0;
|
||||
|
||||
static void
|
||||
init_icon_names (GtkIconTheme *theme)
|
||||
{
|
||||
GPtrArray *icons;
|
||||
GList *l, *icon_list;
|
||||
|
||||
if (icon_names)
|
||||
return;
|
||||
|
||||
icon_list = gtk_icon_theme_list_icons (theme, NULL);
|
||||
icons = g_ptr_array_new ();
|
||||
|
||||
for (l = icon_list; l; l = l->next)
|
||||
{
|
||||
if (g_str_has_suffix (l->data, "symbolic"))
|
||||
continue;
|
||||
|
||||
g_ptr_array_add (icons, g_strdup (l->data));
|
||||
}
|
||||
|
||||
n_icon_names = icons->len;
|
||||
g_ptr_array_add (icons, NULL); /* NULL-terminate the array */
|
||||
icon_names = (char **) g_ptr_array_free (icons, FALSE);
|
||||
|
||||
/* don't free strings, we assigned them to the array */
|
||||
g_list_free_full (icon_list, g_free);
|
||||
}
|
||||
|
||||
static const char *
|
||||
get_random_icon_name (GtkIconTheme *theme)
|
||||
{
|
||||
init_icon_names (theme);
|
||||
|
||||
return icon_names[g_random_int_range(0, n_icon_names)];
|
||||
}
|
||||
|
||||
void
|
||||
gtk_fishbowl_set_count (GtkFishbowl *fishbowl,
|
||||
guint count)
|
||||
{
|
||||
GtkFishbowlPrivate *priv = gtk_fishbowl_get_instance_private (fishbowl);
|
||||
|
||||
g_object_freeze_notify (G_OBJECT (fishbowl));
|
||||
|
||||
while (priv->count > count)
|
||||
{
|
||||
gtk_container_remove (GTK_CONTAINER (fishbowl),
|
||||
((GtkFishbowlChild *) priv->children->data)->widget);
|
||||
}
|
||||
|
||||
while (priv->count < count)
|
||||
{
|
||||
GtkWidget *new_widget;
|
||||
|
||||
new_widget = gtk_image_new_from_icon_name (get_random_icon_name (gtk_icon_theme_get_default ()),
|
||||
GTK_ICON_SIZE_DIALOG);
|
||||
gtk_widget_show (new_widget);
|
||||
gtk_container_add (GTK_CONTAINER (fishbowl), new_widget);
|
||||
}
|
||||
|
||||
g_object_thaw_notify (G_OBJECT (fishbowl));
|
||||
}
|
||||
|
||||
gboolean
|
||||
gtk_fishbowl_get_animating (GtkFishbowl *fishbowl)
|
||||
{
|
||||
GtkFishbowlPrivate *priv = gtk_fishbowl_get_instance_private (fishbowl);
|
||||
|
||||
return priv->tick_id != 0;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_fishbowl_tick (GtkWidget *widget,
|
||||
GdkFrameClock *frame_clock,
|
||||
gpointer unused)
|
||||
{
|
||||
GtkFishbowl *fishbowl = GTK_FISHBOWL (widget);
|
||||
GtkFishbowlPrivate *priv = gtk_fishbowl_get_instance_private (fishbowl);
|
||||
GtkFishbowlChild *child;
|
||||
GList *l;
|
||||
gint64 frame_time, elapsed;
|
||||
|
||||
frame_time = gdk_frame_clock_get_frame_time (gtk_widget_get_frame_clock (widget));
|
||||
elapsed = frame_time - priv->last_frame_time;
|
||||
priv->last_frame_time = frame_time;
|
||||
|
||||
/* last frame was 0, so we're just starting to animate */
|
||||
if (elapsed == frame_time)
|
||||
return G_SOURCE_CONTINUE;
|
||||
|
||||
for (l = priv->children; l; l = l->next)
|
||||
{
|
||||
child = l->data;
|
||||
|
||||
child->x += child->dx * ((double) elapsed / G_USEC_PER_SEC);
|
||||
child->y += child->dy * ((double) elapsed / G_USEC_PER_SEC);
|
||||
|
||||
if (child->x <= 0)
|
||||
{
|
||||
child->x = 0;
|
||||
child->dx = new_speed ();
|
||||
}
|
||||
else if (child->x >= 1)
|
||||
{
|
||||
child->x = 1;
|
||||
child->dx = - new_speed ();
|
||||
}
|
||||
|
||||
if (child->y <= 0)
|
||||
{
|
||||
child->y = 0;
|
||||
child->dy = new_speed ();
|
||||
}
|
||||
else if (child->y >= 1)
|
||||
{
|
||||
child->y = 1;
|
||||
child->dy = - new_speed ();
|
||||
}
|
||||
}
|
||||
|
||||
gtk_widget_queue_allocate (widget);
|
||||
|
||||
return G_SOURCE_CONTINUE;
|
||||
}
|
||||
|
||||
void
|
||||
gtk_fishbowl_set_animating (GtkFishbowl *fishbowl,
|
||||
gboolean animating)
|
||||
{
|
||||
GtkFishbowlPrivate *priv = gtk_fishbowl_get_instance_private (fishbowl);
|
||||
|
||||
if (gtk_fishbowl_get_animating (fishbowl) == animating)
|
||||
return;
|
||||
|
||||
if (animating)
|
||||
{
|
||||
priv->tick_id = gtk_widget_add_tick_callback (GTK_WIDGET (fishbowl),
|
||||
gtk_fishbowl_tick,
|
||||
NULL,
|
||||
NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
priv->last_frame_time = 0;
|
||||
gtk_widget_remove_tick_callback (GTK_WIDGET (fishbowl), priv->tick_id);
|
||||
priv->tick_id = 0;
|
||||
}
|
||||
|
||||
g_object_notify_by_pspec (G_OBJECT (fishbowl), props[PROP_ANIMATING]);
|
||||
}
|
||||
|
@@ -1,58 +0,0 @@
|
||||
/* GTK - The GIMP Toolkit
|
||||
* Copyright (C) 2017 Benjamin Otte <otte@gnome.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __GTK_FISHBOWL_H__
|
||||
#define __GTK_FISHBOWL_H__
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GTK_TYPE_FISHBOWL (gtk_fishbowl_get_type ())
|
||||
#define GTK_FISHBOWL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FISHBOWL, GtkFishbowl))
|
||||
#define GTK_FISHBOWL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_FISHBOWL, GtkFishbowlClass))
|
||||
#define GTK_IS_FISHBOWL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FISHBOWL))
|
||||
#define GTK_IS_FISHBOWL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FISHBOWL))
|
||||
#define GTK_FISHBOWL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_FISHBOWL, GtkFishbowlClass))
|
||||
|
||||
typedef struct _GtkFishbowl GtkFishbowl;
|
||||
typedef struct _GtkFishbowlClass GtkFishbowlClass;
|
||||
|
||||
struct _GtkFishbowl
|
||||
{
|
||||
GtkContainer container;
|
||||
};
|
||||
|
||||
struct _GtkFishbowlClass
|
||||
{
|
||||
GtkContainerClass parent_class;
|
||||
};
|
||||
|
||||
GType gtk_fishbowl_get_type (void) G_GNUC_CONST;
|
||||
|
||||
GtkWidget* gtk_fishbowl_new (void);
|
||||
|
||||
guint gtk_fishbowl_get_count (GtkFishbowl *fishbowl);
|
||||
void gtk_fishbowl_set_count (GtkFishbowl *fishbowl,
|
||||
guint count);
|
||||
gboolean gtk_fishbowl_get_animating (GtkFishbowl *fishbowl);
|
||||
void gtk_fishbowl_set_animating (GtkFishbowl *fishbowl,
|
||||
gboolean animating);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GTK_FISHBOWL_H__ */
|
@@ -1,7 +1,7 @@
|
||||
/* Links
|
||||
*
|
||||
* GtkLabel can show hyperlinks. The default action is to call
|
||||
* gtk_show_uri_on_window() on their URI, but it is possible to override
|
||||
* gtk_show_uri() on their URI, but it is possible to override
|
||||
* this with a custom handler.
|
||||
*/
|
||||
|
||||
|
@@ -53,7 +53,6 @@ do_pickers (GtkWidget *do_widget)
|
||||
gtk_widget_set_hexpand (label, TRUE);
|
||||
picker = gtk_file_chooser_button_new ("Pick a File",
|
||||
GTK_FILE_CHOOSER_ACTION_OPEN);
|
||||
gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (picker), FALSE);
|
||||
gtk_grid_attach (GTK_GRID (table), label, 0, 2, 1, 1);
|
||||
gtk_grid_attach (GTK_GRID (table), picker, 1, 2, 1, 1);
|
||||
|
||||
|
@@ -1,63 +0,0 @@
|
||||
/* Text View/Tabs
|
||||
*
|
||||
* GtkTextView can position text at fixed positions, using tabs.
|
||||
*/
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <gdk/gdkkeysyms.h>
|
||||
|
||||
GtkWidget *
|
||||
do_tabs (GtkWidget *do_widget)
|
||||
{
|
||||
static GtkWidget *window = NULL;
|
||||
|
||||
if (!window)
|
||||
{
|
||||
GtkWidget *view;
|
||||
GtkWidget *sw;
|
||||
GtkTextBuffer *buffer;
|
||||
PangoTabArray *tabs;
|
||||
|
||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
gtk_window_set_title (GTK_WINDOW (window), "Tabs");
|
||||
gtk_window_set_screen (GTK_WINDOW (window),
|
||||
gtk_widget_get_screen (do_widget));
|
||||
gtk_window_set_default_size (GTK_WINDOW (window), 450, 450);
|
||||
|
||||
g_signal_connect (window, "destroy",
|
||||
G_CALLBACK (gtk_widget_destroyed), &window);
|
||||
|
||||
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
|
||||
|
||||
view = gtk_text_view_new ();
|
||||
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (view), GTK_WRAP_WORD);
|
||||
gtk_text_view_set_left_margin (GTK_TEXT_VIEW (view), 20);
|
||||
gtk_text_view_set_right_margin (GTK_TEXT_VIEW (view), 20);
|
||||
|
||||
tabs = pango_tab_array_new (3, TRUE);
|
||||
pango_tab_array_set_tab (tabs, 0, PANGO_TAB_LEFT, 0);
|
||||
pango_tab_array_set_tab (tabs, 1, PANGO_TAB_LEFT, 150);
|
||||
pango_tab_array_set_tab (tabs, 2, PANGO_TAB_LEFT, 300);
|
||||
gtk_text_view_set_tabs (GTK_TEXT_VIEW (view), tabs);
|
||||
pango_tab_array_free (tabs);
|
||||
|
||||
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
|
||||
gtk_text_buffer_set_text (buffer, "one\ttwo\tthree\nfour\tfive\tsix\nseven\teight\tnine", -1);
|
||||
|
||||
sw = gtk_scrolled_window_new (NULL, NULL);
|
||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
|
||||
GTK_POLICY_AUTOMATIC,
|
||||
GTK_POLICY_AUTOMATIC);
|
||||
gtk_container_add (GTK_CONTAINER (window), sw);
|
||||
gtk_container_add (GTK_CONTAINER (sw), view);
|
||||
|
||||
gtk_widget_show_all (sw);
|
||||
}
|
||||
|
||||
if (!gtk_widget_get_visible (window))
|
||||
gtk_widget_show (window);
|
||||
else
|
||||
gtk_widget_destroy (window);
|
||||
|
||||
return window;
|
||||
}
|
@@ -61,7 +61,7 @@
|
||||
<property name="label" translatable="yes">Raised</property>
|
||||
<property name="use_underline">1</property>
|
||||
<property name="is_important">1</property>
|
||||
<property name="icon_name">edit-find</property>
|
||||
<property name="icon_name">edit-find-symbolic</property>
|
||||
<style>
|
||||
<class name="raised"/>
|
||||
</style>
|
||||
@@ -77,7 +77,7 @@
|
||||
<property name="label" translatable="yes">Raised Active</property>
|
||||
<property name="use_underline">1</property>
|
||||
<property name="is_important">1</property>
|
||||
<property name="icon_name">edit-find</property>
|
||||
<property name="icon_name">edit-find-symbolic</property>
|
||||
<property name="active">1</property>
|
||||
<style>
|
||||
<class name="raised"/>
|
||||
|
@@ -1,365 +0,0 @@
|
||||
/* Benchmark/Widgetbowl
|
||||
*
|
||||
* This is a version of the Fishbowl demo that instead shows different
|
||||
* kinds of widgets, which is useful for comparing the rendering performance
|
||||
* of theme specifics.
|
||||
*/
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include "gtkfishbowl.h"
|
||||
|
||||
const char *const css =
|
||||
".blurred-button {"
|
||||
" box-shadow: 0px 0px 5px 10px rgba(0, 0, 0, 0.5);"
|
||||
"}"
|
||||
"";
|
||||
|
||||
GtkWidget *fishbowl;
|
||||
|
||||
static GtkWidget *
|
||||
create_button (void)
|
||||
{
|
||||
return gtk_button_new_with_label ("Button");
|
||||
}
|
||||
static GtkWidget *
|
||||
create_blurred_button (void)
|
||||
{
|
||||
GtkWidget *w = gtk_button_new ();
|
||||
|
||||
gtk_style_context_add_class (gtk_widget_get_style_context (w), "blurred-button");
|
||||
|
||||
return w;
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
create_font_button (void)
|
||||
{
|
||||
return gtk_font_button_new ();
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
create_level_bar (void)
|
||||
{
|
||||
GtkWidget *w = gtk_level_bar_new_for_interval (0, 100);
|
||||
|
||||
gtk_level_bar_set_value (GTK_LEVEL_BAR (w), 50);
|
||||
|
||||
/* Force them to be a bit larger */
|
||||
gtk_widget_set_size_request (w, 200, -1);
|
||||
|
||||
return w;
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
create_spinner (void)
|
||||
{
|
||||
GtkWidget *w = gtk_spinner_new ();
|
||||
|
||||
gtk_spinner_start (GTK_SPINNER (w));
|
||||
|
||||
return w;
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
create_spinbutton (void)
|
||||
{
|
||||
GtkWidget *w = gtk_spin_button_new_with_range (0, 10, 1);
|
||||
|
||||
return w;
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
create_label (void)
|
||||
{
|
||||
GtkWidget *w = gtk_label_new ("pLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.");
|
||||
|
||||
gtk_label_set_line_wrap (GTK_LABEL (w), TRUE);
|
||||
gtk_label_set_max_width_chars (GTK_LABEL (w), 100);
|
||||
|
||||
return w;
|
||||
}
|
||||
|
||||
static const struct {
|
||||
const char *name;
|
||||
GtkWidget * (*create_func) (void);
|
||||
} widget_types[] = {
|
||||
{ "Button", create_button },
|
||||
{ "Blurbutton", create_blurred_button },
|
||||
{ "Fontbutton", create_font_button },
|
||||
{ "Levelbar" , create_level_bar },
|
||||
{ "Label" , create_label },
|
||||
{ "Spinner" , create_spinner },
|
||||
{ "Spinbutton", create_spinbutton },
|
||||
};
|
||||
|
||||
static int selected_widget_type = -1;
|
||||
static const int N_WIDGET_TYPES = G_N_ELEMENTS (widget_types);
|
||||
|
||||
#define N_STATS 5
|
||||
|
||||
#define STATS_UPDATE_TIME G_USEC_PER_SEC
|
||||
|
||||
static void
|
||||
set_widget_type (GtkWidget *headerbar,
|
||||
int widget_type_index)
|
||||
{
|
||||
if (widget_type_index == selected_widget_type)
|
||||
return;
|
||||
|
||||
/* Remove everything */
|
||||
gtk_fishbowl_set_count (GTK_FISHBOWL (fishbowl), 0);
|
||||
|
||||
selected_widget_type = widget_type_index;
|
||||
|
||||
gtk_header_bar_set_title (GTK_HEADER_BAR (headerbar),
|
||||
widget_types[selected_widget_type].name);
|
||||
}
|
||||
|
||||
|
||||
typedef struct _Stats Stats;
|
||||
struct _Stats {
|
||||
gint64 last_stats;
|
||||
gint64 last_frame;
|
||||
gint last_suggestion;
|
||||
guint frame_counter_max;
|
||||
|
||||
guint stats_index;
|
||||
guint frame_counter[N_STATS];
|
||||
guint item_counter[N_STATS];
|
||||
};
|
||||
|
||||
static Stats *
|
||||
get_stats (GtkWidget *widget)
|
||||
{
|
||||
static GQuark stats_quark = 0;
|
||||
Stats *stats;
|
||||
|
||||
if (G_UNLIKELY (stats_quark == 0))
|
||||
stats_quark = g_quark_from_static_string ("stats");
|
||||
|
||||
stats = g_object_get_qdata (G_OBJECT (widget), stats_quark);
|
||||
if (stats == NULL)
|
||||
{
|
||||
stats = g_new0 (Stats, 1);
|
||||
g_object_set_qdata_full (G_OBJECT (widget), stats_quark, stats, g_free);
|
||||
stats->last_frame = gdk_frame_clock_get_frame_time (gtk_widget_get_frame_clock (widget));
|
||||
stats->last_stats = stats->last_frame;
|
||||
}
|
||||
|
||||
return stats;
|
||||
}
|
||||
|
||||
static void
|
||||
do_stats (GtkWidget *widget,
|
||||
GtkWidget *info_label,
|
||||
gint *suggested_change)
|
||||
{
|
||||
Stats *stats;
|
||||
gint64 frame_time;
|
||||
|
||||
stats = get_stats (widget);
|
||||
frame_time = gdk_frame_clock_get_frame_time (gtk_widget_get_frame_clock (widget));
|
||||
|
||||
if (stats->last_stats + STATS_UPDATE_TIME < frame_time)
|
||||
{
|
||||
char *new_label;
|
||||
guint i, n_frames;
|
||||
|
||||
n_frames = 0;
|
||||
for (i = 0; i < N_STATS; i++)
|
||||
{
|
||||
n_frames += stats->frame_counter[i];
|
||||
}
|
||||
|
||||
new_label = g_strdup_printf ("widgets - %.1f fps",
|
||||
(double) G_USEC_PER_SEC * n_frames
|
||||
/ (N_STATS * STATS_UPDATE_TIME));
|
||||
gtk_label_set_label (GTK_LABEL (info_label), new_label);
|
||||
g_free (new_label);
|
||||
|
||||
if (stats->frame_counter[stats->stats_index] >= 19 * stats->frame_counter_max / 20)
|
||||
{
|
||||
if (stats->last_suggestion > 0)
|
||||
stats->last_suggestion *= 2;
|
||||
else
|
||||
stats->last_suggestion = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (stats->last_suggestion < 0)
|
||||
stats->last_suggestion--;
|
||||
else
|
||||
stats->last_suggestion = -1;
|
||||
stats->last_suggestion = MAX (stats->last_suggestion, 1 - (int) stats->item_counter[stats->stats_index]);
|
||||
}
|
||||
|
||||
stats->stats_index = (stats->stats_index + 1) % N_STATS;
|
||||
stats->frame_counter[stats->stats_index] = 0;
|
||||
stats->item_counter[stats->stats_index] = stats->item_counter[(stats->stats_index + N_STATS - 1) % N_STATS];
|
||||
stats->last_stats = frame_time;
|
||||
|
||||
if (suggested_change)
|
||||
*suggested_change = stats->last_suggestion;
|
||||
else
|
||||
stats->last_suggestion = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (suggested_change)
|
||||
*suggested_change = 0;
|
||||
}
|
||||
|
||||
stats->last_frame = frame_time;
|
||||
stats->frame_counter[stats->stats_index]++;
|
||||
stats->frame_counter_max = MAX (stats->frame_counter_max, stats->frame_counter[stats->stats_index]);
|
||||
}
|
||||
|
||||
static void
|
||||
stats_update (GtkWidget *widget)
|
||||
{
|
||||
Stats *stats;
|
||||
|
||||
stats = get_stats (widget);
|
||||
|
||||
stats->item_counter[stats->stats_index] = gtk_fishbowl_get_count (GTK_FISHBOWL (widget));
|
||||
}
|
||||
|
||||
static gboolean
|
||||
move_fish (GtkWidget *bowl,
|
||||
GdkFrameClock *frame_clock,
|
||||
gpointer info_label)
|
||||
{
|
||||
gint suggested_change = 0;
|
||||
|
||||
do_stats (bowl, info_label, &suggested_change);
|
||||
|
||||
if (suggested_change > 0)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < suggested_change; i ++)
|
||||
{
|
||||
GtkWidget *new_widget = widget_types[selected_widget_type].create_func ();
|
||||
|
||||
gtk_widget_show (new_widget);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (fishbowl), new_widget);
|
||||
|
||||
}
|
||||
}
|
||||
else if (suggested_change < 0)
|
||||
{
|
||||
gtk_fishbowl_set_count (GTK_FISHBOWL (fishbowl),
|
||||
gtk_fishbowl_get_count (GTK_FISHBOWL (fishbowl)) + suggested_change);
|
||||
}
|
||||
|
||||
stats_update (bowl);
|
||||
|
||||
return G_SOURCE_CONTINUE;
|
||||
}
|
||||
|
||||
static void
|
||||
next_button_clicked_cb (GtkButton *source,
|
||||
gpointer user_data)
|
||||
{
|
||||
GtkWidget *headerbar = user_data;
|
||||
int new_index;
|
||||
|
||||
if (selected_widget_type + 1 >= N_WIDGET_TYPES)
|
||||
new_index = 0;
|
||||
else
|
||||
new_index = selected_widget_type + 1;
|
||||
|
||||
set_widget_type (headerbar, new_index);
|
||||
}
|
||||
|
||||
static void
|
||||
prev_button_clicked_cb (GtkButton *source,
|
||||
gpointer user_data)
|
||||
{
|
||||
GtkWidget *headerbar = user_data;
|
||||
int new_index;
|
||||
|
||||
if (selected_widget_type - 1 < 0)
|
||||
new_index = N_WIDGET_TYPES - 1;
|
||||
else
|
||||
new_index = selected_widget_type - 1;
|
||||
|
||||
set_widget_type (headerbar, new_index);
|
||||
}
|
||||
|
||||
GtkWidget *
|
||||
do_widgetbowl (GtkWidget *do_widget)
|
||||
{
|
||||
static GtkWidget *window = NULL;
|
||||
static GtkCssProvider *provider = NULL;
|
||||
|
||||
if (provider == NULL)
|
||||
{
|
||||
provider = gtk_css_provider_new ();
|
||||
gtk_css_provider_load_from_data (provider, css, -1, NULL);
|
||||
gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
|
||||
GTK_STYLE_PROVIDER (provider),
|
||||
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
}
|
||||
|
||||
if (!window)
|
||||
{
|
||||
GtkWidget *info_label;
|
||||
GtkWidget *count_label;
|
||||
GtkWidget *titlebar;
|
||||
GtkWidget *title_box;
|
||||
GtkWidget *left_box;
|
||||
GtkWidget *next_button;
|
||||
GtkWidget *prev_button;
|
||||
|
||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
titlebar = gtk_header_bar_new ();
|
||||
gtk_header_bar_set_show_close_button (GTK_HEADER_BAR (titlebar), TRUE);
|
||||
info_label = gtk_label_new ("widget - 00.0 fps");
|
||||
count_label = gtk_label_new ("0");
|
||||
fishbowl = gtk_fishbowl_new ();
|
||||
title_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
|
||||
prev_button = gtk_button_new_from_icon_name ("pan-start-symbolic", GTK_ICON_SIZE_BUTTON);
|
||||
next_button = gtk_button_new_from_icon_name ("pan-end-symbolic", GTK_ICON_SIZE_BUTTON);
|
||||
left_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||
|
||||
g_object_bind_property (fishbowl, "count", count_label, "label", 0);
|
||||
g_signal_connect (next_button, "clicked", G_CALLBACK (next_button_clicked_cb), titlebar);
|
||||
g_signal_connect (prev_button, "clicked", G_CALLBACK (prev_button_clicked_cb), titlebar);
|
||||
|
||||
gtk_fishbowl_set_animating (GTK_FISHBOWL (fishbowl), TRUE);
|
||||
|
||||
gtk_widget_set_hexpand (title_box, TRUE);
|
||||
gtk_widget_set_halign (title_box, GTK_ALIGN_END);
|
||||
|
||||
gtk_window_set_titlebar (GTK_WINDOW (window), titlebar);
|
||||
gtk_container_add (GTK_CONTAINER (title_box), count_label);
|
||||
gtk_container_add (GTK_CONTAINER (title_box), info_label);
|
||||
gtk_header_bar_pack_end (GTK_HEADER_BAR (titlebar), title_box);
|
||||
gtk_container_add (GTK_CONTAINER (window), fishbowl);
|
||||
|
||||
|
||||
gtk_style_context_add_class (gtk_widget_get_style_context (left_box), "linked");
|
||||
gtk_container_add (GTK_CONTAINER (left_box), prev_button);
|
||||
gtk_container_add (GTK_CONTAINER (left_box), next_button);
|
||||
gtk_header_bar_pack_start (GTK_HEADER_BAR (titlebar), left_box);
|
||||
|
||||
g_signal_connect (window, "destroy",
|
||||
G_CALLBACK (gtk_widget_destroyed), &window);
|
||||
|
||||
gtk_widget_realize (window);
|
||||
gtk_widget_add_tick_callback (fishbowl, move_fish, info_label, NULL);
|
||||
|
||||
set_widget_type (titlebar, 0);
|
||||
}
|
||||
|
||||
if (!gtk_widget_get_visible (window))
|
||||
gtk_widget_show_all (window);
|
||||
else
|
||||
gtk_widget_destroy (window);
|
||||
|
||||
|
||||
return window;
|
||||
}
|
@@ -6,17 +6,17 @@ AM_CPPFLAGS = \
|
||||
$(GTK_DEP_CFLAGS)
|
||||
|
||||
LDADD = \
|
||||
$(top_builddir)/gtk/libgtk-3.la \
|
||||
$(top_builddir)/gdk/libgdk-3.la \
|
||||
$(top_builddir)/gtk/libgtk-4.la \
|
||||
$(top_builddir)/gdk/libgdk-4.la \
|
||||
$(GTK_DEP_LIBS)
|
||||
|
||||
|
||||
bin_PROGRAMS = gtk3-icon-browser
|
||||
bin_PROGRAMS = gtk4-icon-browser
|
||||
|
||||
desktopdir = $(datadir)/applications
|
||||
dist_desktop_DATA = gtk3-icon-browser.desktop
|
||||
dist_desktop_DATA = gtk4-icon-browser.desktop
|
||||
|
||||
gtk3_icon_browser_SOURCES = \
|
||||
gtk4_icon_browser_SOURCES = \
|
||||
main.c \
|
||||
iconbrowserapp.c iconbrowserapp.h \
|
||||
iconbrowserwin.c iconbrowserwin.h \
|
||||
@@ -33,17 +33,16 @@ resources.c: iconbrowser.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourc
|
||||
EXTRA_DIST = \
|
||||
menus.ui \
|
||||
iconbrowser.gresource.xml \
|
||||
window.ui \
|
||||
icon.list
|
||||
window.ui
|
||||
|
||||
# ------------------- MSVC Build Items ----------------
|
||||
MSVCPROJS = gtk3-icon-browser
|
||||
MSVCPROJS = gtk4-icon-browser
|
||||
|
||||
gtk3_icon_browser_FILES = $(gtk3_icon_browser_SOURCES)
|
||||
gtk3_icon_browser_EXCLUDES = dummy
|
||||
gtk4_icon_browser_FILES = $(gtk4_icon_browser_SOURCES)
|
||||
gtk4_icon_browser_EXCLUDES = dummy
|
||||
|
||||
include $(top_srcdir)/build/Makefile.msvcproj
|
||||
|
||||
dist-hook: $(top_builddir)/build/win32/vs9/gtk3-icon-browser.vcproj
|
||||
dist-hook: $(top_builddir)/build/win32/vs9/gtk4-icon-browser.vcproj
|
||||
|
||||
-include $(top_srcdir)/git.mk
|
||||
|
@@ -1,10 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=Icon Browser
|
||||
Comment=An application that shows themed icons
|
||||
Exec=gtk3-icon-browser
|
||||
Icon=gtk3-icon-browser
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=true
|
||||
Categories=Development;GTK;
|
||||
NoDisplay=true
|
@@ -1,515 +0,0 @@
|
||||
[volume]
|
||||
Name=Volume
|
||||
Description=Icons related to audio input and output volume
|
||||
|
||||
audio-volume-high=The icon used to indicate high audio volume
|
||||
audio-volume-low=The icon used to indicate low audio volume
|
||||
audio-volume-medium=The icon used to indicate medium audio volume
|
||||
audio-volume-muted=The icon used to indicate the muted state for audio playback
|
||||
microphone-sensitivity-high=The icon used to indicate high microphone sensitivity
|
||||
microphone-sensitivity-low=The icon used to indicate low microphone sensitivity
|
||||
microphone-sensitivity-medium=The icon used to indicate medium microphone sensitivity
|
||||
microphone-sensitivity-muted=The icon used to indicate that a microphone is muted
|
||||
|
||||
[multimedia]
|
||||
Name=Multimedia
|
||||
Description=Icons related to playback of media
|
||||
|
||||
media-playlist-repeat=The icon for the repeat mode of a media player
|
||||
media-playlist-repeat-song=The icon for repeating a song in a media player
|
||||
media-playlist-shuffle=The icon for the shuffle mode of a media player
|
||||
media-playlist-consecutive=The icon for consecutive mode of a media player
|
||||
media-skip-backward=The icon for the skip backward action of a media player
|
||||
media-seek-backward=The icon for the seek backward action of a media player
|
||||
media-playback-start=The icon for the start playback action of a media player
|
||||
media-seek-forward=The icon for the seek forward action of a media player
|
||||
media-skip-forward=The icon for the skip forward action of a media player
|
||||
media-playback-stop=The icon for the stop action of a media player
|
||||
media-playback-pause=The icon for the pause action of a media player
|
||||
media-eject=The icon for the eject action of a media player or file manager
|
||||
media-record=The icon for the record action of a media application
|
||||
media-view-subtitles=The icon used to show subtitles in a media player
|
||||
|
||||
[network]
|
||||
Name=Network
|
||||
Description=Icons related to network status");
|
||||
|
||||
network-transmit-receive=The icon used data is being both transmitted and received simultaneously, while the computing device is connected to a network
|
||||
network-transmit=The icon used when data is being transmitted, while the computing device is connected to a network
|
||||
network-receive=The icon used when data is being received, while the computing device is connected to a network
|
||||
network-idle=The icon used when no data is being transmitted or received, while the computing device is connected to a network
|
||||
network-error=The icon used when an error occurs trying to intialize the network connection of the computing device
|
||||
network-offline=The icon used when the computing device is disconnected from the network
|
||||
|
||||
[weather]
|
||||
Name=Weather
|
||||
Description=Icons about weather conditions
|
||||
|
||||
weather-clear=The icon used while the weather for a region is “clear skies”
|
||||
weather-clear-night=The icon used while the weather for a region is “clear skies” during the night
|
||||
weather-few-clouds=The icon used while the weather for a region is “partly cloudy”
|
||||
weather-few-clouds-night=The icon used while the weather for a region is “partly cloudy” during the night
|
||||
weather-fog=The icon used while the weather for a region is “foggy”
|
||||
weather-overcast=The icon used while the weather for a region is “overcast”
|
||||
weather-severe-alert=The icon used while a sever weather alert is in effect for a region
|
||||
weather-showers=The icon used while rain showers are occurring in a region
|
||||
weather-showers-scattered=The icon used while scattered rain showers are occurring in a region
|
||||
weather-snow=The icon used while snow showers are occurring in a region
|
||||
weather-storm=The icon used while storms are occurring in a region
|
||||
weather-windy=The icon used while the weather is windy
|
||||
|
||||
[navigation]
|
||||
Name=Navigation
|
||||
Description=Icons for navigation in the user interface of a program
|
||||
|
||||
go-first=The icon for the go to the first item in a list
|
||||
go-previous=The icon for the go to the previous item in a list
|
||||
go-next=The icon for the go to the next item in a list
|
||||
go-last=The icon for the go to the last item in a list
|
||||
go-bottom=The icon for the go to bottom of a list
|
||||
go-down=The icon for the go down in a list
|
||||
go-up=The icon for the go up in a list
|
||||
go-top=The icon for the go to the top of a list
|
||||
go-home=The icon for the go to home location
|
||||
go-jump=The icon for the jump to action
|
||||
|
||||
[editing]
|
||||
Name=Editing
|
||||
Description=Icons related to editing a document
|
||||
format-indent-less=The icon for the decrease indent formatting action
|
||||
format-indent-more=The icon for the increase indent formatting action
|
||||
format-justify-center=The icon for the center justification formatting action
|
||||
format-justify-fill=The icon for the fill justification formatting action
|
||||
format-justify-left=The icon for the left justification formatting action
|
||||
format-justify-right=The icon for the right justification action
|
||||
format-text-direction-ltr=The icon for the left-to-right text formatting action
|
||||
format-text-direction-rtl=The icon for the right-to-left formatting action
|
||||
format-text-bold=The icon for the bold text formatting action
|
||||
format-text-italic=The icon for the italic text formatting action
|
||||
format-text-underline=The icon for the underlined text formatting action
|
||||
format-text-strikethrough=The icon for the strikethrough text formatting action
|
||||
edit-clear=The icon for the clear action
|
||||
edit-clear-all=
|
||||
edit-copy=The icon for the copy action
|
||||
edit-cut=The icon for the cut action
|
||||
edit-delete=The icon for the delete action
|
||||
edit-find-replace=The icon for the find and replace action
|
||||
edit-paste=The icon for the paste action
|
||||
edit-redo=The icon for the redo action
|
||||
edit-select-all=The icon for the select all action
|
||||
edit-select=
|
||||
edit-undo=The icon for the undo action
|
||||
error-correct=
|
||||
document-properties=The icon for the action to view the properties of a document in an application
|
||||
document-new=The icon used for the action to create a new document
|
||||
document-open=The icon used for the action to open a document
|
||||
document-open-recent=The icon used for the action to open a document that was recently opened
|
||||
document-save=The icon for the save action. Should be an arrow pointing down and toward a hard disk
|
||||
document-save-as=The icon for the save as action
|
||||
document-send=The icon for the send action. Should be an arrow pointing up and away from a hard disk
|
||||
document-page-setup=The icon for the page setup action of a document editor
|
||||
document-edit=The icon for the action to edit a document
|
||||
object-flip-horizontal=The icon for the action to flip an object horizontally
|
||||
object-flip-vertical=The icon for the action to flip an object vertically
|
||||
object-rotate-left=The icon for the rotate left action performed on an object
|
||||
object-rotate-right=The icon for the rotate rigt action performed on an object
|
||||
insert-image=The icon for the insert image action of an application
|
||||
insert-link=The icon for the insert link action of an application
|
||||
insert-object=The icon for the insert object action of an application
|
||||
insert-text=The icon for the insert text action of an application
|
||||
accessories-text-editor=The icon used for the desktop's text editing accessory program
|
||||
|
||||
[view]
|
||||
Name=View Controls
|
||||
Description=Icons for view controls in a user interface
|
||||
|
||||
view-list=The icon used for “List“ view mode
|
||||
view-grid=The icon used for “Grid“ view mode (as opposed to “List“)
|
||||
view-fullscreen=The icon used for the “Fullscreen” item in the application's “View” menu
|
||||
view-restore=The icon used by an application for leaving the fullscreen view, and returning to a normal windowed view
|
||||
zoom-fit-best=The icon used for the “Best Fit” item in the application's “View” menu
|
||||
zoom-in=The icon used for the “Zoom in” item in the application's “View” menu
|
||||
zoom-out=The icon used for the “Zoom Out” item in the application's “View” menu
|
||||
zoom-original=The icon used for the “Original Size” item in the application's “View” menu
|
||||
view-continuous=The icon used for a continuous view mode
|
||||
view-paged=The icon used for a paged view mode (as opposed to continuous)
|
||||
view-dual=The icon used for a side-by-side view of paginated content
|
||||
view-wrapped=The icon used to indicate a wrap-around to the beginning
|
||||
view-pin=The icon used for 'pin a view'
|
||||
|
||||
[calendar]
|
||||
Name=Calendar, Tasks and Alarms
|
||||
Description=Icons related to calendars, tasks and alarms
|
||||
|
||||
task-due=The icon used when a task is due soon
|
||||
task-past-due=The icon used when a task that was due, has been left incomplete
|
||||
appointment-soon=The icon used when an appointment will occur soon
|
||||
appointment-missed=The icon used when an appointment was missed
|
||||
alarm=The icon used for alarms when a task or appointment is due
|
||||
|
||||
[communication]
|
||||
Name=Communication
|
||||
Description=Icons related email, phone calls, IM and other forms of communication
|
||||
|
||||
mail-unread=The icon used for an electronic mail that is unread
|
||||
mail-read=The icon used for an electronic mail that is read
|
||||
mail-replied=The icon used for an electronic mail that has been replied to
|
||||
mail-attachment=The icon used for an electronic mail that contains attachments
|
||||
mail-mark-important=The icon for the mark as important action of an electronic mail application
|
||||
mail-send=The icon for the send action of an electronic mail application
|
||||
mail-send-receive=The icon for the send and receive action of an electronic mail application
|
||||
call-start=The icon used for initiating or accepting a call
|
||||
call-stop=The icon used for stopping a current call
|
||||
call-missed=The icon used to show a missed call
|
||||
user-available=The icon used when a user on a chat network is available to initiate a conversation with
|
||||
user-offline=The icon used when a user on a chat network is not available
|
||||
user-idle=The icon used when a user on a chat network has not been an active participant in any chats on the network, for an extended period of time
|
||||
user-invisible=The icon used when a user is on a chat network, but is invisible to others
|
||||
user-busy=The icon used when a user is on a chat network, and has marked himself as busy
|
||||
user-away=The icon used when a user on a chat network is away from their keyboard and the chat program
|
||||
user-status-pending=The icon used when the current user status on a chat network is not known
|
||||
|
||||
[devices]
|
||||
Name=Devices and Media
|
||||
Description=Icons for devices and media
|
||||
|
||||
audio-input-microphone=The icon used for the microphone audio input device
|
||||
camera-web=The fallback icon for web cameras
|
||||
camera-photo=The icon used for a digital still camera devices
|
||||
input-keyboard=The icon used for the keyboard input device
|
||||
printer=The icon used for a printer device
|
||||
video-display=The icon used for the monitor that video gets displayed to
|
||||
computer=The icon used for the computing device as a whole
|
||||
media-optical=The icon used for physical optical media such as CD and DVD
|
||||
phone=The icon used for phone devices which support connectivity to the PC, such as VoIP, cellular, or possibly landline phones
|
||||
input-dialpad=The icon used for dialpad input devices
|
||||
input-touchpad=The icon used for touchpad input devices
|
||||
scanner=The icon used for a scanner device
|
||||
audio-card=The icon used for the audio rendering device
|
||||
input-gaming=The icon used for the gaming input device
|
||||
input-mouse=The icon used for the mousing input device
|
||||
multimedia-player=The icon used for generic multimedia playing devices
|
||||
audio-headphones=The icon used for headphones
|
||||
audio-headset=The icon used for headsets
|
||||
display-projector=The icon used for projectors
|
||||
media-removable=The icon used for generic removable media
|
||||
printer-network=The icon used for printers which are connected via the network
|
||||
audio-speakers=The icon used for speakers
|
||||
camera-video=The fallback icon for video cameras
|
||||
drive-optical=The icon used for optical media drives such as CD and DVD
|
||||
drive-removable-media=The icon used for removable media drives
|
||||
input-tablet=The icon used for graphics tablet input devices
|
||||
network-wireless=The icon used for wireless network connections
|
||||
network-wired=The icon used for wired network connections
|
||||
media-floppy=The icon used for physical floppy disk media
|
||||
media-flash=The fallback icon used for flash media, such as memory stick and SD
|
||||
|
||||
[contenttypes]
|
||||
Name=Content Types
|
||||
Description=Icons for different types of data, such as audio or image files
|
||||
|
||||
application-certificate=
|
||||
application-rss+xml=
|
||||
application-x-appliance=
|
||||
audio-x-generic=The icon used for generic audio file types
|
||||
folder=The standard folder icon used to represent directories on local filesystems, mail folders, and other hierarchical groups
|
||||
text-x-generic=The icon used for generic text file types
|
||||
video-x-generic=The icon used for generic video file types
|
||||
x-office-calendar=The icon used for generic calendar file types
|
||||
|
||||
[emotes]
|
||||
Name=Emotes
|
||||
Description=Icons for emotions that are expressed through text chat applications such as :-) or :-P in IRC or instant messengers
|
||||
|
||||
face-angel=The icon used for the 0:-) emote
|
||||
face-angry=The icon used for the X-( emote
|
||||
face-cool=The icon used for the B-) emote
|
||||
face-crying=The icon used for the :'( emote
|
||||
face-devilish=The icon used for the >:-) emote
|
||||
face-embarrassed=The icon used for the :-[ emote
|
||||
face-kiss=The icon used for the :-* emote
|
||||
face-laugh=The icon used for the :-)) emote
|
||||
face-monkey=The icon used for the :-(|) emote
|
||||
face-plain=The icon used for the :-| emote
|
||||
face-raspberry=The icon used for the :-P emote
|
||||
face-sad=The icon used for the :-( emote
|
||||
face-shutmouth=The 'shut mouth' emote
|
||||
face-sick=The icon used for the :-& emote
|
||||
face-smile=The icon used for the :-) emote
|
||||
face-smile-big=The icon used for the :-D emote
|
||||
face-smirk=The icon used for the :-! emote
|
||||
face-surprise=The icon used for the :-0 emote
|
||||
face-tired=The icon used for the |-) emote
|
||||
face-uncertain=The icon used for the :-/ emote
|
||||
face-wink=The icon used for the ;-) emote
|
||||
face-worried=The icon used for the :-S emote
|
||||
face-yawn=
|
||||
|
||||
[general]
|
||||
Name=General
|
||||
Description=Generally useful icons that don't fit in a particular category
|
||||
|
||||
edit-find=The icon for generic search actions
|
||||
content-loading=The icon used to indicate that content is loading
|
||||
open-menu=The icon used for a menu button in the header bar
|
||||
view-more=The icon used for a “View More“ action
|
||||
tab-new=The icon used for a “New Tab“ action
|
||||
bookmark-new=The icon used for creating a new bookmark
|
||||
mark-location=The icon used to mark a location on a map
|
||||
find-location=The icon used for a “Search location“ action
|
||||
send-to=The icon used for a “Send to“ action
|
||||
object-select=The icon used for generic selection actions
|
||||
window-close=The icon used for actions that close a view, such as window or tab close button
|
||||
view-refresh=The icon used for the “Refresh” item in the application's “View” menu
|
||||
process-stop=The icon used for the “Stop” action in applications with actions that may take a while to process, such as web page loading in a browser
|
||||
action-unavailable=The icon used to indicate that an action is currently unavailable, such as “Pause“ when no media is playing
|
||||
document-print=The icon for the print action of an application
|
||||
printer-printing=The icon used while a print job is successfully being spooled to a printing device
|
||||
printer-warning=The icon used when a recoverable problem occurs while attempting to printing
|
||||
printer-error=The icon used when an error occurs while attempting to print
|
||||
dialog-information=The icon used when a dialog is opened to give information to the user that may be pertinent to the requested action
|
||||
dialog-question=The icon used when a dialog is opened to ask a simple question of the user
|
||||
dialog-warning=The icon used when a dialog is opened to warn the user of impending issues with the requested action
|
||||
dialog-password=The icon used when a dialog requesting the authentication credentials for a user is opened
|
||||
dialog-error=The icon used when a dialog is opened to explain an error condition to the user
|
||||
list-add=The icon for the add to list action
|
||||
list-remove=The icon for the remove from list action
|
||||
non-starred=The icon used to indicate that an object is not 'starred'
|
||||
semi-starred=The icon used to indicate that an object has is 'half-starred'
|
||||
starred=The icon used to indicate that an object is 'starred'
|
||||
star-new=The used for the “New Star“ action
|
||||
security-low=The icon used to indicate that the security level of a connection is presumed to be insecure, either by using weak encryption, or by using a certificate that the could not be automatically verified, and which the user has not chosent to trust
|
||||
security-medium=The icon used to indicate that the security level of a connection is presumed to be secure, using strong encryption, and a certificate that could not be automatically verified, but which the user has chosen to trust
|
||||
security-high=The icon used to indicate that the security level of a connection is known to be secure, using strong encryption and a valid certificate
|
||||
user-trash=The icon for the user's “Trash” place in the file system
|
||||
user-trash-full=The icon for the user's “Trash” in the file system, when there are items in the “Trash” waiting for disposal or recovery
|
||||
emblem-system=The icon used as an emblem for directories that contain system libraries, settings, and data
|
||||
avatar-default=The generic avatar icon, which is used to represent a user that doesn't have a personalized avatar
|
||||
emblem-synchronizing=The icon used as an emblem to indicate that a a synchronizing operation is in process
|
||||
emblem-shared=The icon used as an emblem for files and directories that are shared to other users
|
||||
help-browser=The icon used for the desktop's help browsing application
|
||||
|
||||
[other]
|
||||
Name=Other
|
||||
Description=Icons which have may be too specialized and not of general interest
|
||||
|
||||
changes-allow=
|
||||
changes-prevent=
|
||||
view-sort-ascending=The icon used for the “Sort Ascending” item in the application's “View” menu, or in a button for changing the sort method for a list
|
||||
view-sort-descending=The icon used for the “Sort Descending” item in the application's “View” menu, or in a button for changing the sort method for a list
|
||||
document-revert=The icon for the action of reverting to a previous version of a document
|
||||
address-book-new=The icon used for the action to create a new address book
|
||||
application-exit=The icon used for exiting an application. Typically this is seen in the application's menus as File->Quit
|
||||
appointment-new=The icon used for the action to create a new appointment in a calendaring application
|
||||
contact-new=The icon used for the action to create a new contact in an address book application
|
||||
document-print-preview=The icon for the print preview action of an application
|
||||
folder-new=The icon for creating a new folder
|
||||
help-about=The icon for the About item in the Help menu
|
||||
help-contents=The icon for Contents item in the Help menu
|
||||
help-faq=The icon for the FAQ item in the Help menu
|
||||
list-remove-all=
|
||||
mail-forward=The icon for the forward action of an electronic mail application
|
||||
mail-mark-junk=The icon for the mark as junk action of an electronic mail application
|
||||
mail-mark-notjunk=The icon for the mark as not junk action of an electronic mail application
|
||||
mail-mark-read=The icon for the mark as read action of an electronic mail application
|
||||
mail-mark-unread=The icon for the mark as unread action of an electronic mail application
|
||||
mail-message-new=The icon for the compose new mail action of an electronic mail application
|
||||
mail-reply-all=The icon for the reply to all action of an electronic mail application
|
||||
mail-reply-sender=The icon for the reply to sender action of an electronic mail application
|
||||
pan-down=
|
||||
pan-end=
|
||||
pan-start=
|
||||
pan-up=
|
||||
system-lock-screen=The icon used for the “Lock Screen” item in the desktop's panel application
|
||||
system-log-out=The icon used for the “Log Out” item in the desktop's panel application
|
||||
system-run=The icon used for the “Run Application...” item in the desktop's panel application
|
||||
system-search=The icon used for the “Search” item in the desktop's panel application
|
||||
system-reboot=The icon used for the “Reboot” item in the desktop's panel application
|
||||
system-shutdown=The icon used for the “Shutdown” item in the desktop's panel application
|
||||
tools-check-spelling=The icon used for the “Check Spelling” item in the application's “Tools” menu
|
||||
window-maximize=
|
||||
window-minimize=
|
||||
window-restore=
|
||||
window-new=The icon used for the “New Window” item in the application's “Windows” menu
|
||||
accessories-calculator=The icon used for the desktop's calculator accessory program
|
||||
accessories-character-map=The icon used for the desktop's international and extended text character accessory program
|
||||
accessories-dictionary=The icon used for the desktop's dictionary accessory program
|
||||
multimedia-volume-control=The icon used for the desktop's hardware volume control application
|
||||
preferences-desktop-accessibility=The icon used for the desktop's accessibility preferences
|
||||
preferences-desktop-display=
|
||||
preferences-desktop-font=The icon used for the desktop's font preferences
|
||||
preferences-desktop-keyboard=The icon used for the desktop's keyboard preferences
|
||||
preferences-desktop-keyboard-shortcuts=
|
||||
preferences-desktop-locale=The icon used for the desktop's locale preferences
|
||||
preferences-desktop-remote-desktop=
|
||||
preferences-desktop-multimedia=The icon used for the desktop's multimedia preferences
|
||||
preferences-desktop-screensaver=The icon used for the desktop's screen saving preferences
|
||||
preferences-desktop-theme=The icon used for the desktop's theme preferences
|
||||
preferences-desktop-wallpaper=The icon used for the desktop's wallpaper preferences
|
||||
preferences-system-privacy=
|
||||
preferences-system-windows=
|
||||
system-file-manager=The icon used for the desktop's file management application
|
||||
system-software-install=The icon used for the desktop's software installer application
|
||||
system-software-update=The icon used for the desktop's software updating application
|
||||
system-users=
|
||||
user-info=
|
||||
utilities-system-monitor=The icon used for the desktop's system resource monitor application
|
||||
utilities-terminal=The icon used for the desktop's terminal emulation application.
|
||||
application-x-addon=
|
||||
application-x-executable=The icon used for executable file types
|
||||
font-x-generic=The icon used for generic font file types
|
||||
image-x-generic=The icon used for generic image file types
|
||||
package-x-generic=The icon used for generic package file types
|
||||
text-html=The icon used for HTML text file types
|
||||
text-x-generic-template=The icon used for generic text templates
|
||||
text-x-preview=
|
||||
text-x-script=The icon used for script file types, such as shell scripts
|
||||
x-office-address-book=The icon used for generic address book file types
|
||||
x-office-document=The icon used for generic document and letter file types
|
||||
x-office-document-template=
|
||||
x-office-presentation=The icon used for generic presentation file types
|
||||
x-office-presentation-template=
|
||||
x-office-spreadsheet=The icon used for generic spreadsheet file types
|
||||
x-office-spreadsheet-template=
|
||||
x-package-repository=
|
||||
applications-accessories=The icon for the “Accessories” sub-menu of the Programs menu
|
||||
applications-development=The icon for the “Programming” sub-menu of the Programs menu
|
||||
applications-engineering=The icon for the “Engineering” sub-menu of the Programs menu
|
||||
applications-games=The icon for the “Games” sub-menu of the Programs menu
|
||||
applications-graphics=The icon for the “Graphics” sub-menu of the Programs menu
|
||||
applications-internet=The icon for the “Internet” sub-menu of the Programs menu
|
||||
applications-multimedia=The icon for the “Multimedia” sub-menu of the Programs menu
|
||||
applications-office=The icon for the “Office” sub-menu of the Programs menu
|
||||
applications-other=The icon for the “Other” sub-menu of the Programs menu
|
||||
applications-science=The icon for the “Science” sub-menu of the Programs menu
|
||||
applications-system=The icon for the “System Tools” sub-menu of the Programs menu
|
||||
applications-utilities=The icon for the “Utilities” sub-menu of the Programs menu
|
||||
preferences-desktop=The icon for the “Desktop Preferences” category
|
||||
preferences-desktop-peripherals=The icon for the “Peripherals” sub-category of the “Desktop Preferences” category
|
||||
preferences-desktop-personal=The icon for the “Personal” sub-category of the “Desktop Preferences” category
|
||||
preferences-other=The icon for the “Other” preferences category
|
||||
preferences-system=The icon for the “System Preferences” category
|
||||
preferences-system-network=The icon for the “Network” sub-category of the “System Preferences” category
|
||||
system-help=The icon for the “Help” system category
|
||||
battery=The icon used for the system battery device
|
||||
computer-apple-ipad=
|
||||
colorimeter-colorhug=
|
||||
drive-harddisk=The icon used for hard disk drives
|
||||
drive-harddisk-ieee1394=
|
||||
drive-harddisk-system=
|
||||
drive-multidisk=
|
||||
media-optical-bd=
|
||||
media-optical-cd-audio=
|
||||
media-optical-dvd=
|
||||
media-tape=The icon used for generic physical tape media
|
||||
media-zip=
|
||||
modem=The icon used for modem devices
|
||||
multimedia-player-apple-ipod-touch=
|
||||
network-vpn=
|
||||
pda=This is the fallback icon for Personal Digial Assistant devices. Primary use of this icon is for PDA devices connected to the PC. Connection medium is not an important aspect of the icon. The metaphor for this fallback icon should be a generic PDA device icon
|
||||
phone-apple-iphone=
|
||||
uninterruptible-power-supply=
|
||||
emblem-default=The icon used as an emblem to specify the default selection of a printer for example
|
||||
emblem-documents=The icon used as an emblem for the directory where a user's documents are stored
|
||||
emblem-downloads=The icon used as an emblem for the directory where a user's downloads from the internet are stored
|
||||
emblem-favorite=The icon used as an emblem for files and directories that the user marks as favorites
|
||||
emblem-generic=
|
||||
emblem-important=The icon used as an emblem for files and directories that are marked as important by the user
|
||||
emblem-mail=The icon used as an emblem to specify the directory where the user's electronic mail is stored
|
||||
emblem-new=
|
||||
emblem-ok=
|
||||
emblem-package=
|
||||
emblem-photos=The icon used as an emblem to specify the directory where the user stores photographs
|
||||
emblem-readonly=The icon used as an emblem for files and directories which can not be written to by the user
|
||||
emblem-symbolic-link=The icon used as an emblem for files and direcotires that are links to other files or directories on the filesystem
|
||||
emblem-synchronized=The icon used as an emblem for files or directories that are configured to be synchronized to another device
|
||||
emblem-unreadable=The icon used as an emblem for files and directories that are inaccessible.
|
||||
emblem-urgent=
|
||||
emblem-videos=
|
||||
emblem-web=
|
||||
folder-documents=
|
||||
folder-download=The icon representing the location in the file system where downloaded files are stored
|
||||
folder-music=
|
||||
folder-pictures=
|
||||
folder-publicshare=
|
||||
folder-remote=The icon used for normal directories on a remote filesystem
|
||||
folder-saved-search=
|
||||
folder-templates=
|
||||
folder-videos=
|
||||
network-server=The icon used for individual host machines under the “Network Servers” place in the file manager
|
||||
network-workgroup=The icon for the “Network Servers” place in the desktop's file manager, and workgroups within the network
|
||||
start-here=The icon used by the desktop's main menu for accessing places, applications, and other features
|
||||
user-bookmarks=The icon for the user's special “Bookmarks” place
|
||||
user-desktop=The icon for the special “Desktop” directory of the user
|
||||
user-home=The icon for the special “Home” directory of the user
|
||||
airplane-mode=
|
||||
battery-caution-charging=
|
||||
battery-caution=The icon used when the battery is below 40%
|
||||
battery-empty-charging=
|
||||
battery-empty=
|
||||
battery-full-charged=
|
||||
battery-full-charging=
|
||||
battery-full=
|
||||
battery-good-charging=
|
||||
battery-good=
|
||||
battery-low-charging=
|
||||
battery-low=The icon used when the battery is below 20%
|
||||
battery-missing=
|
||||
bluetooth-active=
|
||||
bluetooth-disabled=
|
||||
channel-insecure=
|
||||
channel-secure=
|
||||
computer-fail=
|
||||
display-brightness=
|
||||
keyboard-brightness=
|
||||
folder-drag-accept=The icon used for a folder while an object is being dragged onto it, that is of a type that the directory can contain
|
||||
folder-open=The icon used for folders, while their contents are being displayed within the same window. This icon would normally be shown in a tree or list view, next to the main view of a folder's contents
|
||||
folder-visiting=The icon used for folders, while their contents are being displayed in another window. This icon would typically be used when using multiple windows to navigate the hierarchy, such as in Nautilus's spatial mode
|
||||
image-loading=The icon used when another image is being loaded, such as thumnails for larger images in the file manager
|
||||
image-missing=The icon used when another image could not be loaded
|
||||
mail-signed=The icon used for an electronic mail that contains a signature
|
||||
mail-signed-verified=The icon used for an electronic mail that contains a signature which has also been verified by the security system
|
||||
network-cellular-3g=
|
||||
network-cellular-4g=
|
||||
network-cellular-edge=
|
||||
network-cellular-gprs=
|
||||
network-cellular-umts=
|
||||
network-cellular-acquiring=
|
||||
network-cellular-connected=
|
||||
network-cellular-no-route=
|
||||
network-cellular-offline=
|
||||
network-cellular-signal-excellent=
|
||||
network-cellular-signal-good=
|
||||
network-cellular-signal-ok=
|
||||
network-cellular-signal-weak=
|
||||
network-cellular-signal-none=
|
||||
network-vpn-acquiring=
|
||||
network-vpn=
|
||||
network-wired-acquiring=
|
||||
network-wired-disconnected=
|
||||
network-wired-no-route=
|
||||
network-wired-offline=
|
||||
network-wireless-acquiring=
|
||||
network-wireless-connected=
|
||||
network-wireless-encrypted=
|
||||
network-wireless-hotspot=
|
||||
network-wireless-no-route=
|
||||
network-wireless-offline=
|
||||
network-wireless-signal-excellent=
|
||||
network-wireless-signal-good=
|
||||
network-wireless-signal-ok=
|
||||
network-wireless-signal-weak=
|
||||
network-wireless-signal-none=
|
||||
rotation-allowed=
|
||||
rotation-locked=
|
||||
software-update-available=The icon used when an update is available for software installed on the computing device, through the system software update program
|
||||
software-update-urgent=The icon used when an urgent update is available through the system software update program
|
||||
sync-error=The icon used when an error occurs while attempting to synchronize data from the computing device, to another device
|
||||
sync-synchronizing=The icon used while data is successfully synchronizing to another device
|
||||
touchpad-disabled=
|
||||
trophy-bronze=
|
||||
trophy-silver=
|
||||
trophy-gold=
|
||||
night-light=
|
||||
daytime-sunrise=
|
||||
daytime-sunset=
|
@@ -3,6 +3,5 @@
|
||||
<gresource prefix="/org/gtk/iconbrowser/gtk">
|
||||
<file preprocess="xml-stripblanks">window.ui</file>
|
||||
<file preprocess="xml-stripblanks">menus.ui</file>
|
||||
<file>icon.list</file>
|
||||
</gresource>
|
||||
</gresources>
|
||||
|
@@ -4,29 +4,13 @@
|
||||
#include "iconstore.h"
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
/* Drag 'n Drop */
|
||||
static GtkTargetEntry target_table[] = {
|
||||
{ "text/uri-list", 0, 0 },
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
gchar *id;
|
||||
gchar *name;
|
||||
gchar *description;
|
||||
const gchar *id;
|
||||
const gchar *name;
|
||||
const gchar *description;
|
||||
} Context;
|
||||
|
||||
static void
|
||||
context_free (gpointer data)
|
||||
{
|
||||
Context *context = data;
|
||||
|
||||
g_free (context->id);
|
||||
g_free (context->name);
|
||||
g_free (context->description);
|
||||
g_free (context);
|
||||
}
|
||||
|
||||
struct _IconBrowserWindow
|
||||
{
|
||||
GtkApplicationWindow parent;
|
||||
@@ -51,8 +35,6 @@ struct _IconBrowserWindow
|
||||
GtkWidget *image3;
|
||||
GtkWidget *image4;
|
||||
GtkWidget *image5;
|
||||
GtkWidget *image6;
|
||||
GtkWidget *label6;
|
||||
GtkWidget *description;
|
||||
};
|
||||
|
||||
@@ -134,19 +116,6 @@ item_activated (GtkIconView *icon_view, GtkTreePath *path, IconBrowserWindow *wi
|
||||
set_image (win->image3, name, 32);
|
||||
set_image (win->image4, name, 48);
|
||||
set_image (win->image5, name, 64);
|
||||
if (win->symbolic)
|
||||
{
|
||||
gtk_widget_show (win->image6);
|
||||
gtk_widget_show (win->label6);
|
||||
gtk_widget_show (gtk_widget_get_parent (win->image6));
|
||||
set_image (win->image6, name, 64);
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_widget_hide (win->image6);
|
||||
gtk_widget_hide (win->label6);
|
||||
gtk_widget_hide (gtk_widget_get_parent (win->image6));
|
||||
}
|
||||
if (description && description[0])
|
||||
{
|
||||
gtk_label_set_text (GTK_LABEL (win->description), description);
|
||||
@@ -185,7 +154,6 @@ add_icon (IconBrowserWindow *win,
|
||||
g_free (symbolic_name);
|
||||
symbolic_name = NULL;
|
||||
}
|
||||
|
||||
gtk_list_store_insert_with_values (win->store, NULL, -1,
|
||||
ICON_STORE_NAME_COLUMN, regular_name,
|
||||
ICON_STORE_SYMBOLIC_NAME_COLUMN, symbolic_name,
|
||||
@@ -204,11 +172,11 @@ add_context (IconBrowserWindow *win,
|
||||
GtkWidget *row;
|
||||
|
||||
c = g_new (Context, 1);
|
||||
c->id = g_strdup (id);
|
||||
c->name = g_strdup (name);
|
||||
c->description = g_strdup (description);
|
||||
c->id = id;
|
||||
c->name = name;
|
||||
c->description = description;
|
||||
|
||||
g_hash_table_insert (win->contexts, c->id, c);
|
||||
g_hash_table_insert (win->contexts, (gpointer)id, c);
|
||||
|
||||
row = gtk_label_new (name);
|
||||
g_object_set_data (G_OBJECT (row), "context", c);
|
||||
@@ -245,50 +213,475 @@ selected_context_changed (GtkListBox *list, IconBrowserWindow *win)
|
||||
static void
|
||||
populate (IconBrowserWindow *win)
|
||||
{
|
||||
GFile *file;
|
||||
GKeyFile *kf;
|
||||
char *data;
|
||||
gsize length;
|
||||
char **groups;
|
||||
int i;
|
||||
add_context (win, "volume", "Volume", "Icons related to audio input and output volume");
|
||||
add_icon (win, "audio-volume-high", "The icon used to indicate high audio volume", "volume");
|
||||
add_icon (win, "audio-volume-low", "The icon used to indicate low audio volume", "volume");
|
||||
add_icon (win, "audio-volume-medium", "The icon used to indicate medium audio volume", "volume");
|
||||
add_icon (win, "audio-volume-muted", "The icon used to indicate the muted state for audio playback", "volume");
|
||||
add_icon (win, "microphone-sensitivity-high", "The icon used to indicate high microphone sensitivity", "volume");
|
||||
add_icon (win, "microphone-sensitivity-low", "The icon used to indicate low microphone sensitivity", "volume");
|
||||
add_icon (win, "microphone-sensitivity-medium", "The icon used to indicate medium microphone sensitivity", "volume");
|
||||
add_icon (win, "microphone-sensitivity-muted", "The icon used to indicate that a microphone is muted", "volume");
|
||||
|
||||
file = g_file_new_for_uri ("resource:/org/gtk/iconbrowser/gtk/icon.list");
|
||||
g_file_load_contents (file, NULL, &data, &length, NULL, NULL);
|
||||
add_context (win, "multimedia", "Multimedia", "Icons related to playback of media");
|
||||
add_icon (win, "media-playlist-repeat", "The icon for the repeat mode of a media player", "multimedia");
|
||||
add_icon (win, "media-playlist-repeat-song", "The icon for repeating a song in a media player", "multimedia");
|
||||
add_icon (win, "media-playlist-shuffle", "The icon for the shuffle mode of a media player", "multimedia");
|
||||
add_icon (win, "media-playlist-consecutive", "The icon for consecutive mode of a media player", "multimedia");
|
||||
add_icon (win, "media-skip-backward", "The icon for the skip backward action of a media player", "multimedia");
|
||||
add_icon (win, "media-seek-backward", "The icon for the seek backward action of a media player", "multimedia");
|
||||
add_icon (win, "media-playback-start", "The icon for the start playback action of a media player", "multimedia");
|
||||
add_icon (win, "media-seek-forward", "The icon for the seek forward action of a media player", "multimedia");
|
||||
add_icon (win, "media-skip-forward", "The icon for the skip forward action of a media player", "multimedia");
|
||||
add_icon (win, "media-playback-stop", "The icon for the stop action of a media player", "multimedia");
|
||||
add_icon (win, "media-playback-pause", "The icon for the pause action of a media player", "multimedia");
|
||||
add_icon (win, "media-eject", "The icon for the eject action of a media player or file manager", "multimedia");
|
||||
add_icon (win, "media-record", "The icon for the record action of a media application", "multimedia");
|
||||
add_icon (win, "media-view-subtitles", "The icon used to show subtitles in a media player", "multimedia");
|
||||
|
||||
kf = g_key_file_new ();
|
||||
g_key_file_load_from_data (kf, data, length, G_KEY_FILE_NONE, NULL);
|
||||
add_context (win, "network", "Network", "Icons related to network status");
|
||||
add_icon (win, "network-transmit-receive", "The icon used data is being both transmitted and received simultaneously, while the computing device is connected to a network", "network");
|
||||
add_icon (win, "network-transmit", "The icon used when data is being transmitted, while the computing device is connected to a network", "network");
|
||||
add_icon (win, "network-receive", "The icon used when data is being received, while the computing device is connected to a network", "network");
|
||||
add_icon (win, "network-idle", "The icon used when no data is being transmitted or received, while the computing device is connected to a network", "network");
|
||||
add_icon (win, "network-error", "The icon used when an error occurs trying to intialize the network connection of the computing device", "network");
|
||||
add_icon (win, "network-offline", "The icon used when the computing device is disconnected from the network", "network");
|
||||
|
||||
groups = g_key_file_get_groups (kf, &length);
|
||||
for (i = 0; i < length; i++)
|
||||
{
|
||||
const char *context;
|
||||
const char *name;
|
||||
const char *description;
|
||||
char **keys;
|
||||
gsize len;
|
||||
int j;
|
||||
add_context (win, "weather", "Weather", "Icons about weather conditions");
|
||||
add_icon (win, "weather-clear", "The icon used while the weather for a region is “clear skies”", "weather");
|
||||
add_icon (win, "weather-clear-night", "The icon used while the weather for a region is “clear skies” during the night", "weather");
|
||||
add_icon (win, "weather-few-clouds", "The icon used while the weather for a region is “partly cloudy”", "weather");
|
||||
add_icon (win, "weather-few-clouds-night", "The icon used while the weather for a region is “partly cloudy” during the night", "weather");
|
||||
add_icon (win, "weather-fog", "The icon used while the weather for a region is “foggy”", "weather");
|
||||
add_icon (win, "weather-overcast", "The icon used while the weather for a region is “overcast”", "weather");
|
||||
add_icon (win, "weather-severe-alert", "The icon used while a sever weather alert is in effect for a region", "weather");
|
||||
add_icon (win, "weather-showers", "The icon used while rain showers are occurring in a region", "weather");
|
||||
add_icon (win, "weather-showers-scattered", "The icon used while scattered rain showers are occurring in a region", "weather");
|
||||
add_icon (win, "weather-snow", "The icon used while snow showers are occurring in a region", "weather");
|
||||
add_icon (win, "weather-storm", "The icon used while storms are occurring in a region", "weather");
|
||||
|
||||
context = groups[i];
|
||||
name = g_key_file_get_string (kf, context, "Name", NULL);
|
||||
description = g_key_file_get_string (kf, context, "Description", NULL);
|
||||
add_context (win, context, name, description);
|
||||
add_context (win, "navigation", "Navigation", "Icons for navigation in the user interface of a program");
|
||||
add_icon (win, "go-first", "The icon for the go to the first item in a list", "navigation");
|
||||
add_icon (win, "go-previous", "The icon for the go to the previous item in a list", "navigation");
|
||||
add_icon (win, "go-next", "The icon for the go to the next item in a list", "navigation");
|
||||
add_icon (win, "go-last", "The icon for the go to the last item in a list", "navigation");
|
||||
add_icon (win, "go-bottom", "The icon for the go to bottom of a list", "navigation");
|
||||
add_icon (win, "go-down", "The icon for the go down in a list", "navigation");
|
||||
add_icon (win, "go-up", "The icon for the go up in a list", "navigation");
|
||||
add_icon (win, "go-top", "The icon for the go to the top of a list", "navigation");
|
||||
add_icon (win, "go-home", "The icon for the go to home location", "navigation");
|
||||
add_icon (win, "go-jump", "The icon for the jump to action", "navigation");
|
||||
|
||||
keys = g_key_file_get_keys (kf, context, &len, NULL);
|
||||
for (j = 0; j < len; j++)
|
||||
{
|
||||
const char *key = keys[j];
|
||||
const char *value;
|
||||
add_context (win, "editing", "Editing", "Icons related to editing a document");
|
||||
add_icon (win, "format-indent-less", "The icon for the decrease indent formatting action", "editing");
|
||||
add_icon (win, "format-indent-more", "The icon for the increase indent formatting action", "editing");
|
||||
add_icon (win, "format-justify-center", "The icon for the center justification formatting action", "editing");
|
||||
add_icon (win, "format-justify-fill", "The icon for the fill justification formatting action", "editing");
|
||||
add_icon (win, "format-justify-left", "The icon for the left justification formatting action", "editing");
|
||||
add_icon (win, "format-justify-right", "The icon for the right justification action", "editing");
|
||||
add_icon (win, "format-text-direction-ltr", "The icon for the left-to-right text formatting action", "editing");
|
||||
add_icon (win, "format-text-direction-rtl", "The icon for the right-to-left formatting action", "editing");
|
||||
add_icon (win, "format-text-bold", "The icon for the bold text formatting action", "editing");
|
||||
add_icon (win, "format-text-italic", "The icon for the italic text formatting action", "editing");
|
||||
add_icon (win, "format-text-underline", "The icon for the underlined text formatting action", "editing");
|
||||
add_icon (win, "format-text-strikethrough", "The icon for the strikethrough text formatting action", "editing");
|
||||
add_icon (win, "edit-clear", "The icon for the clear action", "editing");
|
||||
add_icon (win, "edit-clear-all", "", "editing");
|
||||
add_icon (win, "edit-copy", "The icon for the copy action", "editing");
|
||||
add_icon (win, "edit-cut", "The icon for the cut action", "editing");
|
||||
add_icon (win, "edit-delete", "The icon for the delete action", "editing");
|
||||
add_icon (win, "edit-find-replace", "The icon for the find and replace action", "editing");
|
||||
add_icon (win, "edit-paste", "The icon for the paste action", "editing");
|
||||
add_icon (win, "edit-redo", "The icon for the redo action", "editing");
|
||||
add_icon (win, "edit-select-all", "The icon for the select all action", "editing");
|
||||
add_icon (win, "edit-select", "", "editing");
|
||||
add_icon (win, "edit-undo", "The icon for the undo action", "editing");
|
||||
add_icon (win, "document-properties", "The icon for the action to view the properties of a document in an application", "editing");
|
||||
add_icon (win, "document-new", "The icon used for the action to create a new document", "editing");
|
||||
add_icon (win, "document-open", "The icon used for the action to open a document", "editing");
|
||||
add_icon (win, "document-open-recent", "The icon used for the action to open a document that was recently opened", "editing");
|
||||
add_icon (win, "document-save", "The icon for the save action. Should be an arrow pointing down and toward a hard disk", "editing");
|
||||
add_icon (win, "document-save-as", "The icon for the save as action", "editing");
|
||||
add_icon (win, "document-send", "The icon for the send action. Should be an arrow pointing up and away from a hard disk", "editing");
|
||||
add_icon (win, "document-page-setup", "The icon for the page setup action of a document editor", "editing");
|
||||
add_icon (win, "changes-allow", "", "other");
|
||||
add_icon (win, "changes-prevent", "", "other");
|
||||
add_icon (win, "object-flip-horizontal", "The icon for the action to flip an object horizontally", "editing");
|
||||
add_icon (win, "object-flip-vertical", "The icon for the action to flip an object vertically", "editing");
|
||||
add_icon (win, "object-rotate-left", "The icon for the rotate left action performed on an object", "editing");
|
||||
add_icon (win, "object-rotate-right", "The icon for the rotate rigt action performed on an object", "editing");
|
||||
add_icon (win, "insert-image", "The icon for the insert image action of an application", "editing");
|
||||
add_icon (win, "insert-link", "The icon for the insert link action of an application", "editing");
|
||||
add_icon (win, "insert-object", "The icon for the insert object action of an application", "editing");
|
||||
add_icon (win, "insert-text", "The icon for the insert text action of an application", "editing");
|
||||
add_icon (win, "accessories-text-editor", "The icon used for the desktop's text editing accessory program", "editing");
|
||||
|
||||
if (strcmp (key, "Name") == 0 || strcmp (key, "Description") == 0)
|
||||
continue;
|
||||
add_context (win, "view", "View Controls", "Icons for view controls in a user interface");
|
||||
add_icon (win, "view-list", "The icon used for “List“ view mode", "view");
|
||||
add_icon (win, "view-grid", "The icon used for “Grid“ view mode (as opposed to “List“)", "view");
|
||||
add_icon (win, "view-fullscreen", "The icon used for the “Fullscreen” item in the application's “View” menu", "view");
|
||||
add_icon (win, "view-restore", "The icon used by an application for leaving the fullscreen view, and returning to a normal windowed view", "view");
|
||||
add_icon (win, "zoom-fit-best", "The icon used for the “Best Fit” item in the application's “View” menu", "view");
|
||||
add_icon (win, "zoom-in", "The icon used for the “Zoom in” item in the application's “View” menu", "view");
|
||||
add_icon (win, "zoom-out", "The icon used for the “Zoom Out” item in the application's “View” menu ", "view");
|
||||
add_icon (win, "zoom-original", "The icon used for the “Original Size” item in the application's “View” menu", "view");
|
||||
add_icon (win, "view-continuous", "The icon used for a continuous view mode", "view");
|
||||
add_icon (win, "view-paged", "The icon used for a paged view mode (as opposed to continuous)", "view");
|
||||
add_icon (win, "view-dual", "The icon used for a side-by-side view of paginated content", "view");
|
||||
add_icon (win, "view-wrapped", "The icon used to indicate a wrap-around to the beginning", "view");
|
||||
|
||||
value = g_key_file_get_string (kf, context, key, NULL);
|
||||
add_context (win, "calendar", "Calendar, Tasks and Alarms", "Icons related to calendars, tasks and alarms");
|
||||
add_icon (win, "task-due", "The icon used when a task is due soon", "calendar");
|
||||
add_icon (win, "task-past-due", "The icon used when a task that was due, has been left incomplete", "calendar");
|
||||
add_icon (win, "appointment-soon", "The icon used when an appointment will occur soon", "calendar");
|
||||
add_icon (win, "appointment-missed", "The icon used when an appointment was missed", "calendar");
|
||||
add_icon (win, "alarm", "The icon used for alarms when a task or appointment is due", "calendar");
|
||||
|
||||
add_icon (win, key, value, context);
|
||||
}
|
||||
g_strfreev (keys);
|
||||
}
|
||||
g_strfreev (groups);
|
||||
add_context (win, "communication", "Communication", "Icons related email, phone calls, IM and other forms of communication");
|
||||
add_icon (win, "mail-unread", "The icon used for an electronic mail that is unread", "communication");
|
||||
add_icon (win, "mail-read", "The icon used for an electronic mail that is read", "communication");
|
||||
add_icon (win, "mail-replied", "The icon used for an electronic mail that has been replied to", "communication");
|
||||
add_icon (win, "mail-attachment", "The icon used for an electronic mail that contains attachments", "communication");
|
||||
add_icon (win, "mail-mark-important", "The icon for the mark as important action of an electronic mail application", "communication");
|
||||
add_icon (win, "mail-send", "The icon for the send action of an electronic mail application", "communication");
|
||||
add_icon (win, "mail-send-receive", "The icon for the send and receive action of an electronic mail application", "communication");
|
||||
add_icon (win, "call-start", "The icon used for initiating or accepting a call", "communication");
|
||||
add_icon (win, "call-stop", "The icon used for stopping a current call", "communication");
|
||||
add_icon (win, "call-missed", "The icon used to show a missed call", "communication");
|
||||
add_icon (win, "user-available", "The icon used when a user on a chat network is available to initiate a conversation with", "communication");
|
||||
add_icon (win, "user-offline", "The icon used when a user on a chat network is not available", "communication");
|
||||
add_icon (win, "user-idle", "The icon used when a user on a chat network has not been an active participant in any chats on the network, for an extended period of time", "communication");
|
||||
add_icon (win, "user-invisible", "The icon used when a user is on a chat network, but is invisible to others", "communication");
|
||||
add_icon (win, "user-busy", "The icon used when a user is on a chat network, and has marked himself as busy", "communication");
|
||||
add_icon (win, "user-away", "The icon used when a user on a chat network is away from their keyboard and the chat program", "communication");
|
||||
add_icon (win, "user-status-pending", "The icon used when the current user status on a chat network is not known", "communication");
|
||||
|
||||
add_context (win, "devices", "Devices and Media", "Icons for devices and media");
|
||||
add_icon (win, "audio-input-microphone", "The icon used for the microphone audio input device", "devices");
|
||||
add_icon (win, "camera-web", "The fallback icon for web cameras", "devices");
|
||||
add_icon (win, "camera-photo", "The icon used for a digital still camera devices", "devices");
|
||||
add_icon (win, "input-keyboard", "The icon used for the keyboard input device", "devices");
|
||||
add_icon (win, "printer", "The icon used for a printer device", "devices");
|
||||
add_icon (win, "video-display", "The icon used for the monitor that video gets displayed to", "devices");
|
||||
add_icon (win, "computer", "The icon used for the computing device as a whole", "devices");
|
||||
add_icon (win, "media-optical", "The icon used for physical optical media such as CD and DVD", "devices");
|
||||
add_icon (win, "phone", "The icon used for phone devices which support connectivity to the PC, such as VoIP, cellular, or possibly landline phones", "devices");
|
||||
add_icon (win, "input-dialpad", "The icon used for dialpad input devices", "devices");
|
||||
add_icon (win, "input-touchpad", "The icon used for touchpad input devices", "devices");
|
||||
add_icon (win, "scanner", "The icon used for a scanner device", "devices");
|
||||
add_icon (win, "audio-card", "The icon used for the audio rendering device", "devices");
|
||||
add_icon (win, "input-gaming", "The icon used for the gaming input device", "devices");
|
||||
add_icon (win, "input-mouse", "The icon used for the mousing input device", "devices");
|
||||
add_icon (win, "multimedia-player", "The icon used for generic multimedia playing devices", "devices");
|
||||
add_icon (win, "audio-headphones", "The icon used for headphones", "devices");
|
||||
add_icon (win, "audio-headset", "The icon used for headsets", "devices");
|
||||
add_icon (win, "display-projector", "The icon used for projectors", "devices");
|
||||
add_icon (win, "media-removable", "The icon used for generic removable media", "devices");
|
||||
add_icon (win, "printer-network", "The icon used for printers which are connected via the network", "devices");
|
||||
add_icon (win, "audio-speakers", "The icon used for speakers", "devices");
|
||||
add_icon (win, "camera-video", "The fallback icon for video cameras", "devices");
|
||||
add_icon (win, "drive-optical", "The icon used for optical media drives such as CD and DVD", "devices");
|
||||
add_icon (win, "drive-removable-media", "The icon used for removable media drives", "devices");
|
||||
add_icon (win, "input-tablet", "The icon used for graphics tablet input devices", "devices");
|
||||
add_icon (win, "network-wireless", "The icon used for wireless network connections", "devices");
|
||||
add_icon (win, "network-wired", "The icon used for wired network connections", "devices");
|
||||
add_icon (win, "media-floppy", "The icon used for physical floppy disk media", "devices");
|
||||
add_icon (win, "media-flash", "The fallback icon used for flash media, such as memory stick and SD", "devices");
|
||||
|
||||
add_context (win, "contenttypes", "Content Types", "Icons for different types of data, such as audio or image files");
|
||||
add_icon (win, "application-certificate", "", "contenttypes");
|
||||
add_icon (win, "application-rss+xml", "", "contenttypes");
|
||||
add_icon (win, "application-x-appliance", "", "contenttypes");
|
||||
add_icon (win, "audio-x-generic", "The icon used for generic audio file types", "contenttypes");
|
||||
add_icon (win, "folder", "The standard folder icon used to represent directories on local filesystems, mail folders, and other hierarchical groups", "contenttypes");
|
||||
add_icon (win, "text-x-generic", "The icon used for generic text file types", "contenttypes");
|
||||
add_icon (win, "video-x-generic", "The icon used for generic video file types", "contenttypes");
|
||||
add_icon (win, "x-office-calendar", "The icon used for generic calendar file types", "contenttypes");
|
||||
|
||||
add_context (win, "emotes", "Emotes", "Icons for emotions that are expressed through text chat applications such as :-) or :-P in IRC or instant messengers");
|
||||
add_icon (win, "face-angel", "The icon used for the 0:-) emote", "emotes");
|
||||
add_icon (win, "face-angry", "The icon used for the X-( emote", "emotes");
|
||||
add_icon (win, "face-cool", "The icon used for the B-) emote", "emotes");
|
||||
add_icon (win, "face-crying", "The icon used for the :'( emote", "emotes");
|
||||
add_icon (win, "face-devilish", "The icon used for the >:-) emote", "emotes");
|
||||
add_icon (win, "face-embarrassed", "The icon used for the :-[ emote", "emotes");
|
||||
add_icon (win, "face-kiss", "The icon used for the :-* emote", "emotes");
|
||||
add_icon (win, "face-laugh", "The icon used for the :-)) emote", "emotes");
|
||||
add_icon (win, "face-monkey", "The icon used for the :-(|) emote", "emotes");
|
||||
add_icon (win, "face-plain", "The icon used for the :-| emote", "emotes");
|
||||
add_icon (win, "face-raspberry", "The icon used for the :-P emote", "emotes");
|
||||
add_icon (win, "face-sad", "The icon used for the :-( emote", "emotes");
|
||||
add_icon (win, "face-shutmouth", "The 'shut mouth' emote", "emotes");
|
||||
add_icon (win, "face-sick", "The icon used for the :-& emote", "emotes");
|
||||
add_icon (win, "face-smile", "The icon used for the :-) emote", "emotes");
|
||||
add_icon (win, "face-smile-big", "The icon used for the :-D emote", "emotes");
|
||||
add_icon (win, "face-smirk", "The icon used for the :-! emote", "emotes");
|
||||
add_icon (win, "face-surprise", "The icon used for the :-0 emote", "emotes");
|
||||
add_icon (win, "face-tired", "The icon used for the |-) emote", "emotes");
|
||||
add_icon (win, "face-uncertain", "The icon used for the :-/ emote", "emotes");
|
||||
add_icon (win, "face-wink", "The icon used for the ;-) emote", "emotes");
|
||||
add_icon (win, "face-worried", "The icon used for the :-S emote", "emotes");
|
||||
add_icon (win, "face-yawn", "", "emotes");
|
||||
|
||||
add_context (win, "general", "General", "Generally useful icons that don't fit in a particular category");
|
||||
add_icon (win, "edit-find", "The icon for generic search actions", "general");
|
||||
add_icon (win, "content-loading", "The icon used to indicate that content is loading", "general");
|
||||
add_icon (win, "open-menu", "The icon used for a menu button in the header bar", "general");
|
||||
add_icon (win, "view-more", "The icon used for a “View More“ action", "general");
|
||||
add_icon (win, "tab-new", "The icon used for a “New Tab“ action", "general");
|
||||
add_icon (win, "bookmark-new", "The icon used for creating a new bookmark", "general");
|
||||
add_icon (win, "mark-location", "The icon used to mark a location on a map", "general");
|
||||
add_icon (win, "find-location", "The icon used for a “Search location“ action", "general");
|
||||
add_icon (win, "send-to", "The icon used for a “Send to“ action", "general");
|
||||
add_icon (win, "object-select", "The icon used for generic selection actions", "general");
|
||||
add_icon (win, "window-close", "The icon used for actions that close a view, such as window or tab close button", "general");
|
||||
add_icon (win, "view-refresh", "The icon used for the “Refresh” item in the application's “View” menu", "general");
|
||||
add_icon (win, "process-stop", "The icon used for the “Stop” action in applications with actions that may take a while to process, such as web page loading in a browser", "general");
|
||||
add_icon (win, "action-unavailable", "The icon used to indicate that an action is currently unavailable, such as “Pause“ when no media is playing", "general");
|
||||
add_icon (win, "document-print", "The icon for the print action of an application", "general");
|
||||
add_icon (win, "printer-printing", "The icon used while a print job is successfully being spooled to a printing device", "general");
|
||||
add_icon (win, "printer-warning", "The icon used when a recoverable problem occurs while attempting to printing", "general");
|
||||
add_icon (win, "printer-error", "The icon used when an error occurs while attempting to print", "general");
|
||||
add_icon (win, "dialog-information", "The icon used when a dialog is opened to give information to the user that may be pertinent to the requested action", "general");
|
||||
add_icon (win, "dialog-question", "The icon used when a dialog is opened to ask a simple question of the user", "general");
|
||||
add_icon (win, "dialog-warning", "The icon used when a dialog is opened to warn the user of impending issues with the requested action", "general");
|
||||
add_icon (win, "dialog-password", "The icon used when a dialog requesting the authentication credentials for a user is opened", "general");
|
||||
add_icon (win, "dialog-error", "The icon used when a dialog is opened to explain an error condition to the user", "general");
|
||||
add_icon (win, "list-add", "The icon for the add to list action", "general");
|
||||
add_icon (win, "list-remove", "The icon for the remove from list action", "general");
|
||||
add_icon (win, "non-starred", "The icon used to indicate that an object is not 'starred'", "general");
|
||||
add_icon (win, "semi-starred", "The icon used to indicate that an object has is 'half-starred'", "general");
|
||||
add_icon (win, "starred", "The icon used to indicate that an object is 'starred'", "general");
|
||||
add_icon (win, "star-new", "The used for the “New Star“ action", "general");
|
||||
add_icon (win, "security-low", "The icon used to indicate that the security level of a connection is presumed to be insecure, either by using weak encryption, or by using a certificate that the could not be automatically verified, and which the user has not chosent to trust", "general");
|
||||
add_icon (win, "security-medium", "The icon used to indicate that the security level of a connection is presumed to be secure, using strong encryption, and a certificate that could not be automatically verified, but which the user has chosen to trust", "general");
|
||||
add_icon (win, "security-high", "The icon used to indicate that the security level of a connection is known to be secure, using strong encryption and a valid certificate", "general");
|
||||
add_icon (win, "user-trash", "The icon for the user's “Trash” place in the file system", "other");
|
||||
add_icon (win, "user-trash-full", "The icon for the user's “Trash” in the file system, when there are items in the “Trash” waiting for disposal or recovery", "general");
|
||||
add_icon (win, "emblem-system", "The icon used as an emblem for directories that contain system libraries, settings, and data", "general");
|
||||
add_icon (win, "avatar-default", "The generic avatar icon, which is used to represent a user that doesn't have a personalized avatar", "general");
|
||||
add_icon (win, "emblem-synchronizing", "The icon used as an emblem to indicate that a a synchronizing operation is in process", "general");
|
||||
add_icon (win, "emblem-shared", "The icon used as an emblem for files and directories that are shared to other users", "general");
|
||||
add_icon (win, "folder-download", "The icon representing the location in the file system where downloaded files are stored", "general");
|
||||
add_icon (win, "help-browser", "The icon used for the desktop's help browsing application", "general");
|
||||
|
||||
add_context (win, "other", "Other", "Icons which have may be too specialized and not of general interest");
|
||||
add_icon (win, "view-sort-ascending", "The icon used for the “Sort Ascending” item in the application's “View” menu, or in a button for changing the sort method for a list", "other");
|
||||
add_icon (win, "view-sort-descending", "The icon used for the “Sort Descending” item in the application's “View” menu, or in a button for changing the sort method for a list", "other");
|
||||
add_icon (win, "document-revert", "The icon for the action of reverting to a previous version of a document", "other");
|
||||
add_icon (win, "address-book-new", "The icon used for the action to create a new address book", "other");
|
||||
add_icon (win, "application-exit", "The icon used for exiting an application. Typically this is seen in the application's menus as File->Quit", "other");
|
||||
add_icon (win, "appointment-new", "The icon used for the action to create a new appointment in a calendaring application", "other");
|
||||
add_icon (win, "contact-new", "The icon used for the action to create a new contact in an address book application", "other");
|
||||
add_icon (win, "document-print-preview", "The icon for the print preview action of an application", "other");
|
||||
add_icon (win, "folder-new", "The icon for creating a new folder", "other");
|
||||
add_icon (win, "help-about", "The icon for the About item in the Help menu", "other");
|
||||
add_icon (win, "help-contents", "The icon for Contents item in the Help menu", "other");
|
||||
add_icon (win, "help-faq", "The icon for the FAQ item in the Help menu", "other");
|
||||
add_icon (win, "list-remove-all", "", "other");
|
||||
add_icon (win, "mail-forward", "The icon for the forward action of an electronic mail application", "other");
|
||||
add_icon (win, "mail-mark-junk", "The icon for the mark as junk action of an electronic mail application", "other");
|
||||
add_icon (win, "mail-mark-notjunk", "The icon for the mark as not junk action of an electronic mail application", "other");
|
||||
add_icon (win, "mail-mark-read", "The icon for the mark as read action of an electronic mail application", "other");
|
||||
add_icon (win, "mail-mark-unread", "The icon for the mark as unread action of an electronic mail application", "other");
|
||||
add_icon (win, "mail-message-new", "The icon for the compose new mail action of an electronic mail application", "other");
|
||||
add_icon (win, "mail-reply-all", "The icon for the reply to all action of an electronic mail application", "other");
|
||||
add_icon (win, "mail-reply-sender", "The icon for the reply to sender action of an electronic mail application", "other");
|
||||
add_icon (win, "pan-down", "", "other");
|
||||
add_icon (win, "pan-end", "", "other");
|
||||
add_icon (win, "pan-start", "", "other");
|
||||
add_icon (win, "pan-up", "", "other");
|
||||
add_icon (win, "system-lock-screen", "The icon used for the “Lock Screen” item in the desktop's panel application", "other");
|
||||
add_icon (win, "system-log-out", "The icon used for the “Log Out” item in the desktop's panel application", "other");
|
||||
add_icon (win, "system-run", "The icon used for the “Run Application...” item in the desktop's panel application", "other");
|
||||
add_icon (win, "system-search", "The icon used for the “Search” item in the desktop's panel application", "other");
|
||||
add_icon (win, "system-reboot", "The icon used for the “Reboot” item in the desktop's panel application", "other");
|
||||
add_icon (win, "system-shutdown", "The icon used for the “Shutdown” item in the desktop's panel application", "other");
|
||||
add_icon (win, "tools-check-spelling", "The icon used for the “Check Spelling” item in the application's “Tools” menu", "other");
|
||||
add_icon (win, "window-maximize", "", "other");
|
||||
add_icon (win, "window-minimize", "", "other");
|
||||
add_icon (win, "window-restore", "", "other");
|
||||
add_icon (win, "window-new", "The icon used for the “New Window” item in the application's “Windows” menu", "other");
|
||||
add_icon (win, "accessories-calculator", "The icon used for the desktop's calculator accessory program", "other");
|
||||
add_icon (win, "accessories-character-map", "The icon used for the desktop's international and extended text character accessory program", "other");
|
||||
add_icon (win, "accessories-dictionary", "The icon used for the desktop's dictionary accessory program", "other");
|
||||
add_icon (win, "multimedia-volume-control", "The icon used for the desktop's hardware volume control application", "other");
|
||||
add_icon (win, "preferences-desktop-accessibility", "The icon used for the desktop's accessibility preferences", "other");
|
||||
add_icon (win, "preferences-desktop-display", "", "other");
|
||||
add_icon (win, "preferences-desktop-font", "The icon used for the desktop's font preferences", "other");
|
||||
add_icon (win, "preferences-desktop-keyboard", "The icon used for the desktop's keyboard preferences", "other");
|
||||
add_icon (win, "preferences-desktop-keyboard-shortcuts", "", "other");
|
||||
add_icon (win, "preferences-desktop-locale", "The icon used for the desktop's locale preferences", "other");
|
||||
add_icon (win, "preferences-desktop-remote-desktop", "", "other");
|
||||
add_icon (win, "preferences-desktop-multimedia", "The icon used for the desktop's multimedia preferences", "other");
|
||||
add_icon (win, "preferences-desktop-screensaver", "The icon used for the desktop's screen saving preferences", "other");
|
||||
add_icon (win, "preferences-desktop-theme", "The icon used for the desktop's theme preferences", "other");
|
||||
add_icon (win, "preferences-desktop-wallpaper", "The icon used for the desktop's wallpaper preferences", "other");
|
||||
add_icon (win, "preferences-system-privacy", "", "other");
|
||||
add_icon (win, "preferences-system-windows", "", "other");
|
||||
add_icon (win, "system-file-manager", "The icon used for the desktop's file management application", "other");
|
||||
add_icon (win, "system-software-install", "The icon used for the desktop's software installer application", "other");
|
||||
add_icon (win, "system-software-update", "The icon used for the desktop's software updating application", "other");
|
||||
add_icon (win, "system-users", "", "other");
|
||||
add_icon (win, "user-info", "", "other");
|
||||
add_icon (win, "utilities-system-monitor", "The icon used for the desktop's system resource monitor application", "other");
|
||||
add_icon (win, "utilities-terminal", "The icon used for the desktop's terminal emulation application. ", "other");
|
||||
add_icon (win, "application-x-addon", "", "other");
|
||||
add_icon (win, "application-x-executable", "The icon used for executable file types", "other");
|
||||
add_icon (win, "font-x-generic", "The icon used for generic font file types", "other");
|
||||
add_icon (win, "image-x-generic", "The icon used for generic image file types", "other");
|
||||
add_icon (win, "package-x-generic", "The icon used for generic package file types", "other");
|
||||
add_icon (win, "text-html", "The icon used for HTML text file types", "other");
|
||||
add_icon (win, "text-x-generic-template", "The icon used for generic text templates", "other");
|
||||
add_icon (win, "text-x-preview", "", "other");
|
||||
add_icon (win, "text-x-script", "The icon used for script file types, such as shell scripts", "other");
|
||||
add_icon (win, "x-office-address-book", "The icon used for generic address book file types", "other");
|
||||
add_icon (win, "x-office-document", "The icon used for generic document and letter file types", "other");
|
||||
add_icon (win, "x-office-document-template", "", "other");
|
||||
add_icon (win, "x-office-presentation", "The icon used for generic presentation file types", "other");
|
||||
add_icon (win, "x-office-presentation-template", "", "other");
|
||||
add_icon (win, "x-office-spreadsheet", "The icon used for generic spreadsheet file types", "other");
|
||||
add_icon (win, "x-office-spreadsheet-template", "", "other");
|
||||
add_icon (win, "x-package-repository", "", "other");
|
||||
add_icon (win, "applications-accessories", "The icon for the “Accessories” sub-menu of the Programs menu", "other");
|
||||
add_icon (win, "applications-development", "The icon for the “Programming” sub-menu of the Programs menu", "other");
|
||||
add_icon (win, "applications-engineering", "The icon for the “Engineering” sub-menu of the Programs menu", "other");
|
||||
add_icon (win, "applications-games", "The icon for the “Games” sub-menu of the Programs menu", "other");
|
||||
add_icon (win, "applications-graphics", "The icon for the “Graphics” sub-menu of the Programs menu", "other");
|
||||
add_icon (win, "applications-internet", "The icon for the “Internet” sub-menu of the Programs menu", "other");
|
||||
add_icon (win, "applications-multimedia", "The icon for the “Multimedia” sub-menu of the Programs menu", "other");
|
||||
add_icon (win, "applications-office", "The icon for the “Office” sub-menu of the Programs menu", "other");
|
||||
add_icon (win, "applications-other", "The icon for the “Other” sub-menu of the Programs menu", "other");
|
||||
add_icon (win, "applications-science", "The icon for the “Science” sub-menu of the Programs menu", "other");
|
||||
add_icon (win, "applications-system", "The icon for the “System Tools” sub-menu of the Programs menu", "other");
|
||||
add_icon (win, "applications-utilities", "The icon for the “Utilities” sub-menu of the Programs menu", "other");
|
||||
add_icon (win, "preferences-desktop", "The icon for the “Desktop Preferences” category", "other");
|
||||
add_icon (win, "preferences-desktop-peripherals", "The icon for the “Peripherals” sub-category of the “Desktop Preferences” category", "other");
|
||||
add_icon (win, "preferences-desktop-personal", "The icon for the “Personal” sub-category of the “Desktop Preferences” category", "other");
|
||||
add_icon (win, "preferences-other", "The icon for the “Other” preferences category", "other");
|
||||
add_icon (win, "preferences-system", "The icon for the “System Preferences” category", "other");
|
||||
add_icon (win, "preferences-system-network", "The icon for the “Network” sub-category of the “System Preferences” category", "other");
|
||||
add_icon (win, "system-help", "The icon for the “Help” system category", "other");
|
||||
add_icon (win, "battery", "The icon used for the system battery device", "other");
|
||||
add_icon (win, "computer-apple-ipad", "", "other");
|
||||
add_icon (win, "colorimeter-colorhug", "", "other");
|
||||
add_icon (win, "drive-harddisk", "The icon used for hard disk drives", "other");
|
||||
add_icon (win, "drive-harddisk-ieee1394", "", "other");
|
||||
add_icon (win, "drive-harddisk-system", "", "other");
|
||||
add_icon (win, "drive-multidisk", "", "other");
|
||||
add_icon (win, "media-optical-bd", "", "other");
|
||||
add_icon (win, "media-optical-cd-audio", "", "other");
|
||||
add_icon (win, "media-optical-dvd", "", "other");
|
||||
add_icon (win, "media-tape", "The icon used for generic physical tape media", "other");
|
||||
add_icon (win, "media-zip", "", "other");
|
||||
add_icon (win, "modem", "The icon used for modem devices", "other");
|
||||
add_icon (win, "multimedia-player-apple-ipod-touch", "", "other");
|
||||
add_icon (win, "network-vpn", "", "other");
|
||||
add_icon (win, "pda", "This is the fallback icon for Personal Digial Assistant devices. Primary use of this icon is for PDA devices connected to the PC. Connection medium is not an important aspect of the icon. The metaphor for this fallback icon should be a generic PDA device icon", "other");
|
||||
add_icon (win, "phone-apple-iphone", "", "other");
|
||||
add_icon (win, "uninterruptible-power-supply", "", "other");
|
||||
add_icon (win, "emblem-default", "The icon used as an emblem to specify the default selection of a printer for example", "other");
|
||||
add_icon (win, "emblem-documents", "The icon used as an emblem for the directory where a user's documents are stored", "other");
|
||||
add_icon (win, "emblem-downloads", "The icon used as an emblem for the directory where a user's downloads from the internet are stored", "other");
|
||||
add_icon (win, "emblem-favorite", "The icon used as an emblem for files and directories that the user marks as favorites", "other");
|
||||
add_icon (win, "emblem-generic", "", "other");
|
||||
add_icon (win, "emblem-important", "The icon used as an emblem for files and directories that are marked as important by the user", "other");
|
||||
add_icon (win, "emblem-mail", "The icon used as an emblem to specify the directory where the user's electronic mail is stored", "other");
|
||||
add_icon (win, "emblem-new", "", "other");
|
||||
add_icon (win, "emblem-ok", "", "other");
|
||||
add_icon (win, "emblem-package", "", "other");
|
||||
add_icon (win, "emblem-photos", "The icon used as an emblem to specify the directory where the user stores photographs", "other");
|
||||
add_icon (win, "emblem-readonly", "The icon used as an emblem for files and directories which can not be written to by the user", "other");
|
||||
add_icon (win, "emblem-symbolic-link", "The icon used as an emblem for files and direcotires that are links to other files or directories on the filesystem", "other");
|
||||
add_icon (win, "emblem-synchronized", "The icon used as an emblem for files or directories that are configured to be synchronized to another device", "other");
|
||||
add_icon (win, "emblem-unreadable", "The icon used as an emblem for files and directories that are inaccessible. ", "other");
|
||||
add_icon (win, "emblem-urgent", "", "other");
|
||||
add_icon (win, "emblem-videos", "", "other");
|
||||
add_icon (win, "emblem-web", "", "other");
|
||||
add_icon (win, "folder-documents", "", "other");
|
||||
add_icon (win, "folder-download", "", "other");
|
||||
add_icon (win, "folder-music", "", "other");
|
||||
add_icon (win, "folder-pictures", "", "other");
|
||||
add_icon (win, "folder-documents", "", "other");
|
||||
add_icon (win, "folder-publicshare", "", "other");
|
||||
add_icon (win, "folder-remote", "The icon used for normal directories on a remote filesystem", "other");
|
||||
add_icon (win, "folder-saved-search", "", "other");
|
||||
add_icon (win, "folder-templates", "", "other");
|
||||
add_icon (win, "folder-videos", "", "other");
|
||||
add_icon (win, "network-server", "The icon used for individual host machines under the “Network Servers” place in the file manager", "other");
|
||||
add_icon (win, "network-workgroup", "The icon for the “Network Servers” place in the desktop's file manager, and workgroups within the network", "other");
|
||||
add_icon (win, "start-here", "The icon used by the desktop's main menu for accessing places, applications, and other features", "other");
|
||||
add_icon (win, "user-bookmarks", "The icon for the user's special “Bookmarks” place", "other");
|
||||
add_icon (win, "user-desktop", "The icon for the special “Desktop” directory of the user", "other");
|
||||
add_icon (win, "user-home", "The icon for the special “Home” directory of the user", "other");
|
||||
add_icon (win, "airplane-mode", "", "other");
|
||||
add_icon (win, "battery-caution-charging", "", "other");
|
||||
add_icon (win, "battery-caution", "The icon used when the battery is below 40%", "other");
|
||||
add_icon (win, "battery-empty-charging", "", "other");
|
||||
add_icon (win, "battery-empty", "", "other");
|
||||
add_icon (win, "battery-full-charged", "", "other");
|
||||
add_icon (win, "battery-full-charging", "", "other");
|
||||
add_icon (win, "battery-full", "", "other");
|
||||
add_icon (win, "battery-good-charging", "", "other");
|
||||
add_icon (win, "battery-good", "", "other");
|
||||
add_icon (win, "battery-low-charging", "", "other");
|
||||
add_icon (win, "battery-low", "The icon used when the battery is below 20%", "other");
|
||||
add_icon (win, "battery-missing", "", "other");
|
||||
add_icon (win, "bluetooth-active", "", "other");
|
||||
add_icon (win, "bluetooth-disabled", "", "other");
|
||||
add_icon (win, "channel-insecure", "", "other");
|
||||
add_icon (win, "channel-secure", "", "other");
|
||||
add_icon (win, "computer-fail", "", "other");
|
||||
add_icon (win, "display-brightness", "", "other");
|
||||
add_icon (win, "keyboard-brightness", "", "other");
|
||||
add_icon (win, "folder-drag-accept", "The icon used for a folder while an object is being dragged onto it, that is of a type that the directory can contain", "other");
|
||||
add_icon (win, "folder-open", "The icon used for folders, while their contents are being displayed within the same window. This icon would normally be shown in a tree or list view, next to the main view of a folder's contents", "other");
|
||||
add_icon (win, "folder-visiting", "The icon used for folders, while their contents are being displayed in another window. This icon would typically be used when using multiple windows to navigate the hierarchy, such as in Nautilus's spatial mode", "other");
|
||||
add_icon (win, "image-loading", "The icon used when another image is being loaded, such as thumnails for larger images in the file manager", "other");
|
||||
add_icon (win, "image-missing", "The icon used when another image could not be loaded", "other");
|
||||
add_icon (win, "mail-signed", "The icon used for an electronic mail that contains a signature", "other");
|
||||
add_icon (win, "mail-signed-verified", "The icon used for an electronic mail that contains a signature which has also been verified by the security system", "other");
|
||||
add_icon (win, "network-cellular-3g", "", "other");
|
||||
add_icon (win, "network-cellular-4g", "", "other");
|
||||
add_icon (win, "network-cellular-edge", "", "other");
|
||||
add_icon (win, "network-cellular-gprs", "", "other");
|
||||
add_icon (win, "network-cellular-umts", "", "other");
|
||||
add_icon (win, "network-cellular-acquiring", "", "other");
|
||||
add_icon (win, "network-cellular-connected", "", "other");
|
||||
add_icon (win, "network-cellular-no-route", "", "other");
|
||||
add_icon (win, "network-cellular-offline", "", "other");
|
||||
add_icon (win, "network-cellular-signal-excellent", "", "other");
|
||||
add_icon (win, "network-cellular-signal-good", "", "other");
|
||||
add_icon (win, "network-cellular-signal-ok", "", "other");
|
||||
add_icon (win, "network-cellular-signal-weak", "", "other");
|
||||
add_icon (win, "network-cellular-signal-none", "", "other");
|
||||
add_icon (win, "network-vpn-acquiring", "", "other");
|
||||
add_icon (win, "network-vpn", "", "other");
|
||||
add_icon (win, "network-wired-acquiring", "", "other");
|
||||
add_icon (win, "network-wired-disconnected", "", "other");
|
||||
add_icon (win, "network-wired-no-route", "", "other");
|
||||
add_icon (win, "network-wired-offline", "", "other");
|
||||
add_icon (win, "network-wireless-acquiring", "", "other");
|
||||
add_icon (win, "network-wireless-connected", "", "other");
|
||||
add_icon (win, "network-wireless-encrypted", "", "other");
|
||||
add_icon (win, "network-wireless-hotspot", "", "other");
|
||||
add_icon (win, "network-wireless-no-route", "", "other");
|
||||
add_icon (win, "network-wireless-offline", "", "other");
|
||||
add_icon (win, "network-wireless-signal-excellent", "", "other");
|
||||
add_icon (win, "network-wireless-signal-good", "", "other");
|
||||
add_icon (win, "network-wireless-signal-ok", "", "other");
|
||||
add_icon (win, "network-wireless-signal-weak", "", "other");
|
||||
add_icon (win, "network-wireless-signal-none", "", "other");
|
||||
add_icon (win, "rotation-allowed", "", "other");
|
||||
add_icon (win, "rotation-locked", "", "other");
|
||||
add_icon (win, "software-update-available", "The icon used when an update is available for software installed on the computing device, through the system software update program", "other");
|
||||
add_icon (win, "software-update-urgent", "The icon used when an urgent update is available through the system software update program", "other");
|
||||
add_icon (win, "sync-error", "The icon used when an error occurs while attempting to synchronize data from the computing device, to another device", "other");
|
||||
add_icon (win, "sync-synchronizing", "The icon used while data is successfully synchronizing to another device", "other");
|
||||
add_icon (win, "touchpad-disabled", "", "other");
|
||||
add_icon (win, "trophy-bronze", "", "other");
|
||||
add_icon (win, "trophy-silver", "", "other");
|
||||
add_icon (win, "trophy-gold", "", "other");
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -301,16 +694,6 @@ key_press_event_cb (GtkWidget *widget,
|
||||
return gtk_search_bar_handle_event (GTK_SEARCH_BAR (win->searchbar), event);
|
||||
}
|
||||
|
||||
static void
|
||||
copy_to_clipboard (GtkButton *button,
|
||||
IconBrowserWindow *win)
|
||||
{
|
||||
GtkClipboard *clipboard;
|
||||
|
||||
clipboard = gtk_clipboard_get_default (gdk_display_get_default ());
|
||||
gtk_clipboard_set_text (clipboard, gtk_window_get_title (GTK_WINDOW (win->details)), -1);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
icon_visible_func (GtkTreeModel *model,
|
||||
GtkTreeIter *iter,
|
||||
@@ -365,7 +748,7 @@ symbolic_toggled (GtkToggleButton *toggle, IconBrowserWindow *win)
|
||||
|
||||
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (win->list), win->cell, "icon-name", column, NULL);
|
||||
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (win->list), win->text_cell, "text", column, NULL);
|
||||
|
||||
|
||||
gtk_tree_model_filter_refilter (win->filter_model);
|
||||
gtk_widget_queue_draw (win->list);
|
||||
}
|
||||
@@ -400,35 +783,6 @@ get_image_data (GtkWidget *widget,
|
||||
g_object_unref (pixbuf);
|
||||
}
|
||||
|
||||
static void
|
||||
get_scalable_image_data (GtkWidget *widget,
|
||||
GdkDragContext *context,
|
||||
GtkSelectionData *selection,
|
||||
guint target_info,
|
||||
guint time,
|
||||
gpointer data)
|
||||
{
|
||||
gchar *uris[2];
|
||||
GtkIconInfo *info;
|
||||
GtkWidget *image;
|
||||
GFile *file;
|
||||
const gchar *name;
|
||||
|
||||
image = gtk_bin_get_child (GTK_BIN (widget));
|
||||
gtk_image_get_icon_name (GTK_IMAGE (image), &name, NULL);
|
||||
|
||||
info = gtk_icon_theme_lookup_icon (gtk_icon_theme_get_default (), name, -1, 0);
|
||||
file = g_file_new_for_path (gtk_icon_info_get_filename (info));
|
||||
uris[0] = g_file_get_uri (file);
|
||||
uris[1] = NULL;
|
||||
|
||||
gtk_selection_data_set_uris (selection, uris);
|
||||
|
||||
g_free (uris[0]);
|
||||
g_object_unref (info);
|
||||
g_object_unref (file);
|
||||
}
|
||||
|
||||
static void
|
||||
setup_image_dnd (GtkWidget *image)
|
||||
{
|
||||
@@ -440,19 +794,6 @@ setup_image_dnd (GtkWidget *image)
|
||||
g_signal_connect (parent, "drag-data-get", G_CALLBACK (get_image_data), NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
setup_scalable_image_dnd (GtkWidget *image)
|
||||
{
|
||||
GtkWidget *parent;
|
||||
|
||||
parent = gtk_widget_get_parent (image);
|
||||
gtk_drag_source_set (parent, GDK_BUTTON1_MASK,
|
||||
target_table, G_N_ELEMENTS (target_table),
|
||||
GDK_ACTION_COPY);
|
||||
|
||||
g_signal_connect (parent, "drag-data-get", G_CALLBACK (get_scalable_image_data), NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
icon_browser_window_init (IconBrowserWindow *win)
|
||||
{
|
||||
@@ -479,9 +820,8 @@ icon_browser_window_init (IconBrowserWindow *win)
|
||||
setup_image_dnd (win->image3);
|
||||
setup_image_dnd (win->image4);
|
||||
setup_image_dnd (win->image5);
|
||||
setup_scalable_image_dnd (win->image6);
|
||||
|
||||
win->contexts = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, context_free);
|
||||
win->contexts = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_free);
|
||||
|
||||
gtk_tree_model_filter_set_visible_func (win->filter_model, icon_visible_func, win, NULL);
|
||||
gtk_window_set_transient_for (GTK_WINDOW (win->details), GTK_WINDOW (win));
|
||||
@@ -519,8 +859,6 @@ icon_browser_window_class_init (IconBrowserWindowClass *class)
|
||||
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, image3);
|
||||
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, image4);
|
||||
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, image5);
|
||||
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, image6);
|
||||
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, label6);
|
||||
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, description);
|
||||
|
||||
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), search_text_changed);
|
||||
@@ -528,7 +866,6 @@ icon_browser_window_class_init (IconBrowserWindowClass *class)
|
||||
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), selected_context_changed);
|
||||
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), symbolic_toggled);
|
||||
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), key_press_event_cb);
|
||||
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), copy_to_clipboard);
|
||||
}
|
||||
|
||||
IconBrowserWindow *
|
||||
|
@@ -8,8 +8,8 @@
|
||||
</object>
|
||||
<template class="IconBrowserWindow" parent="GtkApplicationWindow">
|
||||
<property name="title" translatable="yes">Icon Browser</property>
|
||||
<property name="default-width">1024</property>
|
||||
<property name="default-height">768</property>
|
||||
<property name="default-width">600</property>
|
||||
<property name="default-height">800</property>
|
||||
<signal name="key-press-event" handler="key_press_event_cb"/>
|
||||
<child type="titlebar">
|
||||
<object class="GtkHeaderBar" id="header">
|
||||
@@ -109,7 +109,7 @@
|
||||
<object class="GtkCellRendererPixbuf" id="cell">
|
||||
<property name="xpad">10</property>
|
||||
<property name="ypad">10</property>
|
||||
<property name="stock-size">6</property>
|
||||
<property name="stock-size">5</property>
|
||||
<property name="follow-state">True</property>
|
||||
</object>
|
||||
</child>
|
||||
@@ -150,7 +150,6 @@
|
||||
<property name="margin">10</property>
|
||||
<property name="row-spacing">18</property>
|
||||
<property name="column-spacing">18</property>
|
||||
<property name="halign">center</property>
|
||||
<child>
|
||||
<object class="GtkEventBox">
|
||||
<property name="visible">True</property>
|
||||
@@ -231,22 +230,6 @@
|
||||
<property name="top-attach">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEventBox">
|
||||
<property name="visible">True</property>
|
||||
<child>
|
||||
<object class="GtkImage" id="image6">
|
||||
<property name="visible">True</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">end</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">5</property>
|
||||
<property name="top-attach">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkLabel" id="label1">
|
||||
@@ -324,41 +307,21 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label6">
|
||||
<object class="GtkLabel" id="description">
|
||||
<property name="visible">True</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">baseline</property>
|
||||
<property name="label">scalable</property>
|
||||
<style>
|
||||
<class name="dim-label"/>
|
||||
</style>
|
||||
<property name="wrap">True</property>
|
||||
<property name="max-width-chars">60</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">5</property>
|
||||
<property name="top-attach">2</property>
|
||||
<property name="left-attach">0</property>
|
||||
<property name="top-attach">3</property>
|
||||
<property name="width">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Copy to Clipboard</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin">20</property>
|
||||
<signal name="clicked" handler="copy_to_clipboard"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="description">
|
||||
<property name="margin">10</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="wrap">True</property>
|
||||
<property name="max-width-chars">60</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
@@ -1,29 +1,29 @@
|
||||
include $(top_srcdir)/Makefile.decl
|
||||
|
||||
bin_PROGRAMS = gtk3-widget-factory
|
||||
bin_PROGRAMS = gtk4-widget-factory
|
||||
|
||||
desktopdir = $(datadir)/applications
|
||||
dist_desktop_DATA = gtk3-widget-factory.desktop
|
||||
dist_desktop_DATA = gtk4-widget-factory.desktop
|
||||
|
||||
gtk3_widget_factory_SOURCES = \
|
||||
gtk4_widget_factory_SOURCES = \
|
||||
widget-factory.c \
|
||||
widget_factory_resources.c
|
||||
|
||||
BUILT_SOURCES = \
|
||||
widget_factory_resources.c
|
||||
|
||||
gtk3_widget_factory_DEPENDENCIES = \
|
||||
$(top_builddir)/gtk/libgtk-3.la
|
||||
gtk4_widget_factory_DEPENDENCIES = \
|
||||
$(top_builddir)/gtk/libgtk-4.la
|
||||
|
||||
gtk3_widget_factory_CPPFLAGS = \
|
||||
gtk4_widget_factory_CPPFLAGS = \
|
||||
-I$(top_srcdir) \
|
||||
$(GTK_DEBUG_FLAGS) \
|
||||
$(GTK_DEP_CFLAGS) \
|
||||
$(NULL)
|
||||
|
||||
gtk3_widget_factory_LDADD = \
|
||||
$(top_builddir)/gdk/libgdk-3.la \
|
||||
$(top_builddir)/gtk/libgtk-3.la \
|
||||
gtk4_widget_factory_LDADD = \
|
||||
$(top_builddir)/gdk/libgdk-4.la \
|
||||
$(top_builddir)/gtk/libgtk-4.la \
|
||||
$(GTK_DEP_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
@@ -40,12 +40,12 @@ appsicon32dir = $(iconthemedir)/32x32/apps
|
||||
appsicon48dir = $(iconthemedir)/48x48/apps
|
||||
appsicon256dir = $(iconthemedir)/256x256/apps
|
||||
|
||||
dist_appsicon16_DATA = data/16x16/gtk3-widget-factory.png data/16x16/gtk3-widget-factory-symbolic.symbolic.png
|
||||
dist_appsicon22_DATA = data/22x22/gtk3-widget-factory.png data/22x22/gtk3-widget-factory-symbolic.symbolic.png
|
||||
dist_appsicon24_DATA = data/24x24/gtk3-widget-factory.png data/24x24/gtk3-widget-factory-symbolic.symbolic.png
|
||||
dist_appsicon32_DATA = data/32x32/gtk3-widget-factory.png data/32x32/gtk3-widget-factory-symbolic.symbolic.png
|
||||
dist_appsicon48_DATA = data/48x48/gtk3-widget-factory.png data/48x48/gtk3-widget-factory-symbolic.symbolic.png
|
||||
dist_appsicon256_DATA = data/256x256/gtk3-widget-factory.png data/256x256/gtk3-widget-factory-symbolic.symbolic.png
|
||||
dist_appsicon16_DATA = data/16x16/gtk4-widget-factory.png data/16x16/gtk4-widget-factory-symbolic.symbolic.png
|
||||
dist_appsicon22_DATA = data/22x22/gtk4-widget-factory.png data/22x22/gtk4-widget-factory-symbolic.symbolic.png
|
||||
dist_appsicon24_DATA = data/24x24/gtk4-widget-factory.png data/24x24/gtk4-widget-factory-symbolic.symbolic.png
|
||||
dist_appsicon32_DATA = data/32x32/gtk4-widget-factory.png data/32x32/gtk4-widget-factory-symbolic.symbolic.png
|
||||
dist_appsicon48_DATA = data/48x48/gtk4-widget-factory.png data/48x48/gtk4-widget-factory-symbolic.symbolic.png
|
||||
dist_appsicon256_DATA = data/256x256/gtk4-widget-factory.png data/256x256/gtk4-widget-factory-symbolic.symbolic.png
|
||||
|
||||
update_icon_cache = $(top_builddir)/gtk/gtk-update-icon-cache$(EXEEXT) --ignore-theme-index --force
|
||||
|
||||
|
Before Width: | Height: | Size: 237 B |
Before Width: | Height: | Size: 550 B |
Before Width: | Height: | Size: 332 B |
Before Width: | Height: | Size: 685 B |
Before Width: | Height: | Size: 336 B |
Before Width: | Height: | Size: 750 B |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 369 B |
Before Width: | Height: | Size: 963 B |
Before Width: | Height: | Size: 495 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 24 KiB |
@@ -1,10 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=Widget Factory
|
||||
Comment=A showcase for GTK+ widgets, designed for testing themes.
|
||||
Exec=gtk3-widget-factory
|
||||
Icon=gtk3-widget-factory
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=true
|
||||
Categories=Development;GTK;
|
||||
NoDisplay=true
|
@@ -1637,16 +1637,6 @@ scale_format_value (GtkScale *scale, gdouble value)
|
||||
return g_strdup_printf ("%0.*f", 1, value);
|
||||
}
|
||||
|
||||
static void
|
||||
adjustment3_value_changed (GtkAdjustment *adj, GtkProgressBar *pbar)
|
||||
{
|
||||
double fraction;
|
||||
|
||||
fraction = gtk_adjustment_get_value (adj) / (gtk_adjustment_get_upper (adj) - gtk_adjustment_get_lower (adj));
|
||||
|
||||
gtk_progress_bar_set_fraction (pbar, fraction);
|
||||
}
|
||||
|
||||
static void
|
||||
activate (GApplication *app)
|
||||
{
|
||||
@@ -1728,14 +1718,12 @@ activate (GApplication *app)
|
||||
|
||||
widget = (GtkWidget *)gtk_builder_get_object (builder, "statusbar");
|
||||
gtk_statusbar_push (GTK_STATUSBAR (widget), 0, "All systems are operating normally.");
|
||||
action = G_ACTION (g_property_action_new ("statusbar", widget, "visible"));
|
||||
g_action_map_add_action (G_ACTION_MAP (window), action);
|
||||
g_object_unref (G_OBJECT (action));
|
||||
g_action_map_add_action (G_ACTION_MAP (window),
|
||||
G_ACTION (g_property_action_new ("statusbar", widget, "visible")));
|
||||
|
||||
widget = (GtkWidget *)gtk_builder_get_object (builder, "toolbar");
|
||||
action = G_ACTION (g_property_action_new ("toolbar", widget, "visible"));
|
||||
g_action_map_add_action (G_ACTION_MAP (window), action);
|
||||
g_object_unref (G_OBJECT (action));
|
||||
g_action_map_add_action (G_ACTION_MAP (window),
|
||||
G_ACTION (g_property_action_new ("toolbar", widget, "visible")));
|
||||
|
||||
adj = (GtkAdjustment *)gtk_builder_get_object (builder, "adjustment1");
|
||||
|
||||
@@ -1922,12 +1910,6 @@ activate (GApplication *app)
|
||||
widget2 = (GtkWidget *)gtk_builder_get_object (builder, "decrease_button");
|
||||
g_object_set_data (G_OBJECT (widget), "decrease_button", widget2);
|
||||
|
||||
adj = (GtkAdjustment *)gtk_builder_get_object (builder, "adjustment3");
|
||||
widget = (GtkWidget *)gtk_builder_get_object (builder, "progressbar1");
|
||||
widget2 = (GtkWidget *)gtk_builder_get_object (builder, "progressbar2");
|
||||
g_signal_connect (adj, "value-changed", G_CALLBACK (adjustment3_value_changed), widget);
|
||||
g_signal_connect (adj, "value-changed", G_CALLBACK (adjustment3_value_changed), widget2);
|
||||
|
||||
gtk_widget_show_all (GTK_WIDGET (window));
|
||||
|
||||
g_object_unref (builder);
|
||||
|
@@ -1,26 +1,9 @@
|
||||
.circular-button {
|
||||
border-radius: 20px;
|
||||
-gtk-outline-radius: 20px;
|
||||
}
|
||||
|
||||
.small-button {
|
||||
padding: 0;
|
||||
outline-width: 0;
|
||||
}
|
||||
|
||||
frame.border-inset > border {
|
||||
border-style: inset;
|
||||
}
|
||||
|
||||
frame.border-outset > border {
|
||||
border-style: outset;
|
||||
}
|
||||
|
||||
frame.border-groove > border {
|
||||
border-style: groove;
|
||||
}
|
||||
|
||||
frame.border-ridge > border {
|
||||
border-style: ridge;
|
||||
}
|
||||
|
||||
/* These effects use 2 lines, so show them */
|
||||
frame.border-groove > border,
|
||||
frame.border-ridge > border {
|
||||
border-width: 2px;
|
||||
}
|
||||
|
@@ -103,9 +103,8 @@
|
||||
<property name="page_increment">10</property>
|
||||
</object>
|
||||
<object class="GtkAdjustment" id="adjustment3">
|
||||
<property name="lower">0</property>
|
||||
<property name="upper">4</property>
|
||||
<property name="value">2</property>
|
||||
<property name="value">1</property>
|
||||
<property name="step_increment">1</property>
|
||||
<property name="page_increment">1</property>
|
||||
</object>
|
||||
@@ -496,7 +495,6 @@ Suspendisse feugiat quam quis dolor accumsan cursus.</property>
|
||||
<property name="invisible_char">•</property>
|
||||
<property name="placeholder-text" translatable="yes">Click icon to change mode</property>
|
||||
<property name="secondary_icon_name">view-refresh-symbolic</property>
|
||||
<property name="secondary_icon_tooltip_text">Change mode</property>
|
||||
<signal name="icon-release" handler="on_entry_icon_release" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
@@ -1301,13 +1299,11 @@ Suspendisse feugiat quam quis dolor accumsan cursus.</property>
|
||||
<child>
|
||||
<object class="GtkFrame" id="frame1">
|
||||
<property name="visible">1</property>
|
||||
<style>
|
||||
<class name="border-inset"/>
|
||||
</style>
|
||||
<property name="shadow_type">in</property>
|
||||
<child type="label">
|
||||
<object class="GtkLabel" id="label1">
|
||||
<property name="visible">1</property>
|
||||
<property name="label" translatable="yes"><b>Inset</b></property>
|
||||
<property name="label" translatable="yes"><b>In</b></property>
|
||||
<property name="use_markup">1</property>
|
||||
</object>
|
||||
</child>
|
||||
@@ -1319,13 +1315,11 @@ Suspendisse feugiat quam quis dolor accumsan cursus.</property>
|
||||
<child>
|
||||
<object class="GtkFrame" id="frame2">
|
||||
<property name="visible">1</property>
|
||||
<style>
|
||||
<class name="border-outset"/>
|
||||
</style>
|
||||
<property name="shadow_type">out</property>
|
||||
<child type="label">
|
||||
<object class="GtkLabel" id="label2">
|
||||
<property name="visible">1</property>
|
||||
<property name="label" translatable="yes"><b>Outset</b></property>
|
||||
<property name="label" translatable="yes"><b>Out</b></property>
|
||||
<property name="use_markup">1</property>
|
||||
</object>
|
||||
</child>
|
||||
@@ -1338,13 +1332,10 @@ Suspendisse feugiat quam quis dolor accumsan cursus.</property>
|
||||
<child>
|
||||
<object class="GtkFrame" id="frame3">
|
||||
<property name="visible">1</property>
|
||||
<style>
|
||||
<class name="border-groove"/>
|
||||
</style>
|
||||
<child type="label">
|
||||
<object class="GtkLabel" id="label17">
|
||||
<property name="visible">1</property>
|
||||
<property name="label" translatable="yes"><b>Groove</b></property>
|
||||
<property name="label" translatable="yes"><b>Etched in</b></property>
|
||||
<property name="use_markup">1</property>
|
||||
</object>
|
||||
</child>
|
||||
@@ -1357,13 +1348,11 @@ Suspendisse feugiat quam quis dolor accumsan cursus.</property>
|
||||
<child>
|
||||
<object class="GtkFrame" id="frame4">
|
||||
<property name="visible">1</property>
|
||||
<style>
|
||||
<class name="border-ridge"/>
|
||||
</style>
|
||||
<property name="shadow_type">etched-out</property>
|
||||
<child type="label">
|
||||
<object class="GtkLabel" id="label18">
|
||||
<property name="visible">1</property>
|
||||
<property name="label" translatable="yes"><b>Ridge</b></property>
|
||||
<property name="label" translatable="yes"><b>Etched out</b></property>
|
||||
<property name="use_markup">1</property>
|
||||
</object>
|
||||
</child>
|
||||
@@ -3118,7 +3107,7 @@ microphone-sensitivity-medium-symbolic</property>
|
||||
<property name="visible">1</property>
|
||||
<style>
|
||||
<class name="image-button"/>
|
||||
<class name="circular"/>
|
||||
<class name="circular-button"/>
|
||||
</style>
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
@@ -3734,7 +3723,6 @@ microphone-sensitivity-medium-symbolic</property>
|
||||
<object class="GtkEntry">
|
||||
<property name="visible">1</property>
|
||||
<property name="can_focus">1</property>
|
||||
<property name="show_emoji_icon">1</property>
|
||||
<property name="placeholder_text" translatable="yes">Age…</property>
|
||||
</object>
|
||||
<packing>
|
||||
@@ -3761,7 +3749,6 @@ microphone-sensitivity-medium-symbolic</property>
|
||||
<property name="visible">1</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="popover">notebook_info_popover</property>
|
||||
<property name="relief">none</property>
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="visible">1</property>
|
||||
@@ -3772,6 +3759,7 @@ microphone-sensitivity-medium-symbolic</property>
|
||||
<style>
|
||||
<class name="image-button"/>
|
||||
<class name="circular"/>
|
||||
<class name="flat"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
|
@@ -3,7 +3,7 @@
|
||||
AUTOMAKE_OPTIONS = 1.6
|
||||
|
||||
# The name of the module.
|
||||
DOC_MODULE=gdk3
|
||||
DOC_MODULE=gdk4
|
||||
|
||||
# The top-level SGML file.
|
||||
DOC_MAIN_SGML_FILE=gdk-docs.sgml
|
||||
@@ -61,7 +61,7 @@ AM_CPPFLAGS = \
|
||||
$(GTK_DEBUG_FLAGS) \
|
||||
$(GDK_DEP_CFLAGS)
|
||||
|
||||
GTKDOC_LIBS = $(top_builddir)/gdk/libgdk-3.la $(GDK_DEP_LIBS)
|
||||
GTKDOC_LIBS = $(top_builddir)/gdk/libgdk-4.la $(GDK_DEP_LIBS)
|
||||
|
||||
# Extra options to supply to gtkdoc-mkdb
|
||||
MKDB_OPTIONS=--output-format=xml --name-space=gdk
|
||||
|
@@ -6,13 +6,13 @@
|
||||
]>
|
||||
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
|
||||
<bookinfo>
|
||||
<title>GDK 3 Reference Manual</title>
|
||||
<title>GDK 4 Reference Manual</title>
|
||||
<releaseinfo>
|
||||
This document is for the GDK 3 library, version &version;
|
||||
The latest versions can be found online at
|
||||
<ulink role="online-location" url="https://developer.gnome.org/gdk3/">https://developer.gnome.org/gdk3/</ulink>.
|
||||
<ulink role="online-location" url="http://developer.gnome.org/gdk3/">http://developer.gnome.org/gdk3/</ulink>.
|
||||
If you are looking for the older GDK 2 series of libraries,
|
||||
see <ulink role="online-location" url="https://developer.gnome.org/gdk2/">https://developer.gnome.org/gdk2/</ulink>.
|
||||
see <ulink role="online-location" url="http://developer.gnome.org/gdk2/">http://developer.gnome.org/gdk2/</ulink>.
|
||||
</releaseinfo>
|
||||
</bookinfo>
|
||||
|
||||
|
@@ -1270,7 +1270,6 @@ gdk_wayland_device_get_wl_seat
|
||||
gdk_wayland_display_get_wl_compositor
|
||||
gdk_wayland_display_get_wl_display
|
||||
gdk_wayland_display_get_xdg_shell
|
||||
gdk_wayland_display_query_registry
|
||||
gdk_wayland_window_get_wl_surface
|
||||
gdk_wayland_window_set_use_custom_surface
|
||||
GdkWaylandWindowExported
|