Compare commits

...

354 Commits

Author SHA1 Message Date
Cédric Valmary c797308244 Updated Occitan translation 2015-05-29 20:52:27 +00:00
Cédric Valmary 3459637532 Updated Occitan translation 2015-05-15 16:21:15 +00:00
Balázs Úr fc34cfa037 Updated Hungarian translation 2012-12-27 20:32:02 +01:00
Stéphane Démurget cd92b95b68 gtkmenushell: Fix an endless loop on focus cycle
This is a simple fallout from sealing gtkmenushell, which only appears
when F10 or Shift-F10 is used in a submenu.

https://bugzilla.gnome.org/show_bug.cgi?id=690266
2012-12-17 16:07:03 +01:00
YunQiang Su 6de1e38891 fix an typo in zh_CN translation 2012-08-18 11:18:03 +08:00
Funda Wang e756367081 fix bug#680901: translations of "even sheet" and "odd sheet" are wrong 2012-07-31 22:08:27 +00:00
Reinout van Schouwen 334905aed9 Updated Dutch translation by Rachid, reviewed by Reinout van Schouwen 2012-05-04 00:30:45 +02:00
Daniel Korostil f7e6d1b3a7 Uploaded Ukranian 2012-03-03 17:21:33 +02:00
Tommi Vainikainen 5a065b65d6 Fix typo in Finnish translation 2012-02-28 07:33:40 +02:00
Pin-hsien Li 0c29853e13 Updated Traditional Chinese translation(Hong Kong and Taiwan) 2012-01-15 08:11:18 +08:00
Matthias Clasen c1e16a40c9 Use the right icon-name for missing images
Patch by Erik van Pienbroek, bug 629878.
2012-01-05 14:10:25 -05:00
Matthias Clasen 338e908494 Fix problems with DND on some X servers
When the X server does not support the shape extension (as some
vnc implementations seem to), our DND code was always seeing
an empty input shape, so drops always missed their target.

http://bugzilla.gnome.org/show_bug.cgi?id=620240
2012-01-03 11:15:58 -05:00
Chun-wei Fan 4588df974b Bug 660730: Win32: Only use _fstat32 if available
_fstat32 is only introduced with msvcrt80.dll (i.e. Visual C++ 2005),
in which using this function will break compilation with MinGW,
which links against msvcrt.dll.  The msvcrt.lib in the Windows DDK
which links to a later incarnation of the msvcrt.dll in later Windows
systems may have this symbol defined, but that needs to be checked
upon to be sure.

Thanks to Dieter Verfaillie for pointing out this problem.
2011-10-12 11:41:29 +08:00
Chun-wei Fan 7df27e2c6e Bug 660730: Use GStatBuf for portability
Thanks to Kean Johnston for pointing this out.

There are a few places in GTK that use "struct stat",
and then g_stat(), rather than using GStatBuf.This breaks things on
Windows. Since the size of struct stat can vary depending on other
flags specified, this has the potential to cause overwrites and is
trivial to fix.

Based on patch submitted by Kean Johnston
2011-10-03 23:29:09 +08:00
Aputsiaq Janussen a928370bf6 Updated Danish translation 2011-09-30 11:15:29 +02:00
Javier Jardón fab1209b1d gail: use const instead G_CONST_RETURN 2011-09-26 13:54:03 +01:00
Javier Jardón 21e67a6760 gail/tests: Use const instead G_CONST_RETURN 2011-09-26 13:37:46 +01:00
Javier Jardón effef063b5 docs: Do not use G_CONST_RETURN 2011-09-26 13:34:26 +01:00
Javier Jardón 92f8639f7e gtk: Use const instead G_CONST_RETURN
[Alexandre Rostovtsev <tetromino@gmail.com>: backport to 3.0.12]
2011-09-26 13:29:26 +01:00
Javier Jardón 3d80b1d498 gdk: Use const instead G_CONST_RETURN
[Alexandre Rostovtsev <tetromino@gmail.com>: backport to 3.0.12]
2011-09-26 13:29:21 +01:00
ipraveen 37034f4fc9 Updated Telugu Translation 2011-09-25 12:38:56 +05:30
Javier Jardón 2e43f66c3b gtkcomboboxtext: documentation fixes 2011-09-19 14:10:39 +02:00
Xandru Armesto db4fd863cc Updated asturian translation 2011-09-17 19:04:36 +02:00
Bastien Nocera 47cbe528f0 link-button: Reset the mouse cursor when destroyed
If clicking on a link destroys the link button, and keeps the
same GdkWindow then the cursor stays as a hand in the rest of
the interface.

https://bugzilla.gnome.org/show_bug.cgi?id=659247
2011-09-16 17:41:18 +01:00
Federico Mena Quintero b64c41492e Merge branch 'bgo593793-filechooser-recent-folders' into gtk-3-0 2011-09-13 15:23:53 -05:00
Federico Mena Quintero 5734e2222e bgo#658600 - Don't try to focus the location entry in Recent-files mode
We don't ever start up in Search mode, so we don't need an extra check for that mode, yet.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-09-13 15:23:33 -05:00
John Ralls b368f50e05 bgo#514843 - [filechooser] Deal with corrupted .gtk-bookmarks gracefully
We weren't checking for the lines in that file being valid UTF-8 strings.
2011-09-12 14:30:03 -05:00
Jorge González 95191779f9 Updated Spanish translation 2011-09-05 20:39:12 +02:00
Jorge González 1808d5848c Updated Spanish translation 2011-09-05 20:38:18 +02:00
Og B. Maciel 08c6313553 Updated Brazilian Portuguese translation. 2011-09-02 10:34:33 -04:00
Micah Carrick f56e369f7e Fix annotation for Gtk.TreeView.enable_model_drag_source
https://bugzilla.gnome.org/show_bug.cgi?id=649979
2011-09-01 11:47:53 -05:00
Alexandre Franke 94ed69b500 Update French translation 2011-08-31 16:23:13 +02:00
Chun-wei Fan 2b93a74739 Update README.win32 and Visual C++ Readme.txt's
-Tell people about the GNOME Live! page which gives a more detailed
 outline on building the GTK+ stack with Visual C++.
-Tell people about the VS2008/2010 support that has been available
 for a while.
2011-08-31 14:49:02 +08:00
Fran Dieguez af8824a691 Updated galician translations 2011-08-28 17:15:49 +02:00
Federico Mena Quintero 52cfabefcf Merge branch 'bgo593793-filechooser-recent-folders' into gtk-3-0 2011-08-26 12:43:29 -05:00
Federico Mena Quintero fbe5f617b7 bgo#657186 - Sort the recent-files list in newest-to-oldest order
Otherwise it's not very useful... :)

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-26 12:32:00 -05:00
Federico Mena Quintero 0cb9ca38bb Load and populate the recent-items in a single pass
There's no real asynchronicity going on, anyway, so let's do both within
a single iteration of the idle handler.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-26 12:16:03 -05:00
Federico Mena Quintero aa7c4d1024 Don't sort the recent-items by hand
The mtime from GtkRecentManager may not the same as the file's actual
mtime, so the final result could appear unsorted to the user.  Instead,
we will let the view do the sorting.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-25 12:57:03 -05:00
Мирослав Николић b5c89152ac Updated Serbian translation 2011-08-23 19:39:19 +02:00
David Zeuthen d912049161 Bug 656851 – Allow use of GVariant in GtkListStore
Signed-off-by: David Zeuthen <davidz@redhat.com>
2011-08-18 17:50:19 -04:00
Chun-wei Fan 9afbfdc5f4 Update VS property sheets
Copy the Win32-specific GDK backend headers during the "install" stage
as well, as they were missed in the install, causing trouble when
building other projects like WebKitGTK+.

Thanks to greg.hellings for pointing this out in Bug 653964
2011-08-16 14:32:45 +08:00
Federico Mena Quintero 66b66ae973 Merge branch 'bgo593793-filechooser-recent-folders' into gtk-3-0 2011-08-02 11:45:18 -05:00
Federico Mena Quintero 46cd6316cb bgo#655822 - Put back the expand-folders schema in gsettings
Apparently schemas are part of the ABI contract; running apps crash if a
schema disapppears and they happen to access it.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-02 11:44:52 -05:00
Matthias Clasen 88687ddd42 post release bump 2011-07-27 23:09:55 -04:00
Matthias Clasen d20e61877a Fix distcheck 2011-07-27 22:03:18 -04:00
Federico Mena Quintero c9449b054d Merge branch 'bgo593793-filechooser-recent-folders' into gtk-3-0 2011-07-27 18:47:35 -05:00
Federico Mena Quintero ef19f731ea Set the location mode when changing the operation mode
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:46:27 -05:00
Federico Mena Quintero d9317d9caf Switch to OPERATION_MODE_BROWSE when switching to volume or file shortcuts
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:46:27 -05:00
Federico Mena Quintero 6b2cca9168 Remove the unused, initial-text logic from the location entry
Years ago, when the location entry only appeared in a popup window, it used to appear
populated with the current folder's path.  We had some logic to do this, but since now
the location entry appears in the main dialog, we can do away with that old code.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:46:27 -05:00
Federico Mena Quintero 4b49244388 Create the location_entry in a single function
We had duplicated code to create the entry in two cases, for Open and for Save modes.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:46:27 -05:00
Federico Mena Quintero a4927d05d8 Only unset the entry's contents if the entry exists
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:46:27 -05:00
Federico Mena Quintero 14b9b2f3e0 Discard the search widgets in a separate function
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:46:27 -05:00
Federico Mena Quintero f52cee3bd2 Move the widgets above the hpaned to their own box
This way we can re-create the contents of that box easily without disrupting
the rest of the file chooser.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:46:27 -05:00
Federico Mena Quintero 8e9d5e10d0 Make operation_mode_set() handle SEARCH and RECENT modes as well
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:46:26 -05:00
Federico Mena Quintero 9b0c174e10 Centralize changing the operation mode in operation_mode_set()
This will be the central function to switch operation modes:  stop searches or the recent-files
process; switch widgets, etc.

We factor out the common code from recent_switch_to_browse_mode() and search_switch_to_browse_mode(),
and remove those functions.  All the code that switched modes by hand now calls
the central operation_mode_set().

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:46:26 -05:00
Federico Mena Quintero 6a00a965c5 Remove duplicated code from *_switch_to_browse_mode()
That code indeed lives in operation_mode_stop(), so use it instead of
having inlined duplicates.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:46:26 -05:00
Federico Mena Quintero 3b2185cd8e Rename stop_operation() to operation_mode_stop()
We'll now prefix functions to change the impl->operation_mode with 'operation_mode',
for clarity.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:46:26 -05:00
Federico Mena Quintero 09cf0f73ec Save selection to recent-files in the asynchronous Save cases
Various paths in SAVE or CREATE_FOLDER return from ::should_respond() but
leave an asynchronous process running.  This process checks some things
in the user's selection, for example, 'does the file exist, and if so
do we need to bring up an overwrite-confirmation dialog?'.  When these
async processes complete *and* it is indeed time for the dialog to
be terminated (via the response-requested signal), we also need to
save the selection to the recently-used list - as ::should_respond() does
by itself in the cases when it can request a response immediately.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:45:26 -05:00
Federico Mena Quintero 1974406604 Log to recent-files when confirming the file chooser
To make life easier for users, when apps don't properly update the recently-used list
after choosing a file, we now do that directly from the file chooser.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:45:15 -05:00
Matthias Clasen 9e33f88677 Update NEWS for 3.0.12 2011-07-22 00:41:07 -04:00
Ryan Lortie 98513a02a2 GtkThemingEngine: increase the level of the hacks
GtkThemingEngine contains a rather fantastic hack that modifies-in-place
the structure of a GParamSpec.  Recent changes to GLib have caused this
hack to explode in a very bad way.

Modify the hack to check the GLib version and do the correct thing on
either side of the change.
2011-07-21 16:01:09 +02:00
Daniel Nylander dbefb01d45 Updated Swedish translation 2011-07-18 22:09:21 +02:00
Matej Urbančič bbb9c4a17a Updated Slovenian translation 2011-07-14 14:37:38 +02:00
Federico Mena Quintero cb314515a9 Save selection to recent-files in the asynchronous Save cases
Various paths in SAVE or CREATE_FOLDER return from ::should_respond() but
leave an asynchronous process running.  This process checks some things
in the user's selection, for example, 'does the file exist, and if so
do we need to bring up an overwrite-confirmation dialog?'.  When these
async processes complete *and* it is indeed time for the dialog to
be terminated (via the response-requested signal), we also need to
save the selection to the recently-used list - as ::should_respond() does
by itself in the cases when it can request a response immediately.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-13 16:38:26 -05:00
Mario Blättermann e46a7259c5 [l10n] Updated German translation 2011-07-13 20:13:23 +02:00
Piotr Drąg 64f772d9c8 Updated Polish translation 2011-07-13 08:45:20 +02:00
Federico Mena Quintero 2de2a9c3f6 Log to recent-files when confirming the file chooser
To make life easier for users, when apps don't properly update the recently-used list
after choosing a file, we now do that directly from the file chooser.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-12 11:35:57 -05:00
Marek Černocký 0f036ff55c Updated Czech translation 2011-07-10 19:00:09 +02:00
Gil Forcada b5fadbd747 [l10n]Updated Catalan translation 2011-07-10 00:22:50 +02:00
Jorge González add6bf5819 Updated Spanish translation 2011-07-09 14:21:41 +02:00
Ignacio Casal Quinteiro feeb0d4819 gtkaccelmap: the data gtk_accel_map_foreach needs to be annotated as allow-none 2011-07-09 13:11:35 +02:00
Piotr Drąg 7387319429 Updated Polish translation 2011-07-09 08:58:17 +02:00
Juan Pablo Ugarte f6110110e2 Fixed bug #654125 "gdkoffscreenwindow set any impl handlers to null but adhoc gdk_window_set_* do not cope" 2011-07-08 19:28:05 -03:00
Federico Mena Quintero d4a002ea62 Merge remote branch 'origin/bgo593793-filechooser-recent-folders' into gtk-3-0 2011-07-08 11:48:33 -05:00
Federico Mena Quintero 095eec84c0 Update the docs with the policies for Save dialogs
Basically, don't ever set the current folder, and only use
gtk_file_chooser_set_filename() for 'File/Save As'.  This is so
that the file chooser will be able to present its recently-used
lists as appropriate, giving the user good suggestions by default.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 18:04:25 -05:00
Federico Mena Quintero a06f1b3811 No need to highlight the file's basename when setting the base folder
None of the cases where _gtk_file_chooser_entry_set_base_folder() appear to require
the entry highlighting the file's basename.  Doing the highlighting actually makes
things look weird in Save/Recent mode if you

  1. type a filename
  2. click on a recent-folder,

as right after (2) your filename would get its basename highlighted for
no apparent reason.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 14:59:06 -05:00
Federico Mena Quintero f429598b65 Hide the Create Folder button in recent-files mode when the pathbar is on
The create-folder machinery doesn't handle that case yet; we may enable it later
once we figure out the implications for the GUI.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 14:54:11 -05:00
Federico Mena Quintero 09850ff87e Centralize the setting of the pathbar's widgets
It used to be that every part of the file chooser's code would show/hide the widgets
near the pathbar as needed.  Now we have two central functions:

  path_bar_update()
  path_bar_set_mode()

These take care of all the widget shuffling;  setting the visibility of the
pathbar, info bar, and Create Folder button as appropriate; setting the contents
of the info bar, etc. - based on the current operation_mode and action.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 14:36:52 -05:00
Federico Mena Quintero 345286d4a6 Create the recently-used widgets and infobar from the pathbar widgets as well
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 12:57:44 -05:00
Federico Mena Quintero d1b823aa8f Move the pathbar creation to its own function
We will centralize the place where all the pathbar-related widgets are created:
the location button, the pathbar itself, the Create Folder button, and in
subsequent commits, the info bar as well.  We will deal with the pathbar/infobar
as a unit, instead of swapping them in and out in an ad-hoc fashion.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 12:36:22 -05:00
Federico Mena Quintero c6df130f6a Warn the user when he still needs to type a filename or choose a folder
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-06-30 16:23:12 -05:00
Federico Mena Quintero b88acf80bc Return the recent-folder plus filename in Save mode from get_files()
Since the GtkFileChooserEntry already gets the recent-folder set upon it when a recent-folder
is selected, it already can give us the correct fully-formed path.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-06-30 14:38:27 -05:00
Matthias Clasen c5d26520d2 GdkKeymap: Prevent an infinite loop in the non-XKB case
Somehow the increment got lost, as comparison with the 2.x code
shows.
2011-06-30 14:47:02 -04:00
Federico Mena Quintero a7486df39f Allow resolving absolute paths even if there is no base_folder
This lets us do proper completion in GtkFileChooserEntry even when no base folder
has been set.  Completion for relative paths won't work, as usual, as expected.
2011-06-29 18:20:53 -05:00
Federico Mena Quintero 22723af060 Set the filename entry's base folder when a recent-folder is selected
This lets the filename entry do completion relative to the selected recent-folder.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-06-29 17:58:10 -05:00
Federico Mena Quintero e6ceb42289 Instruct the user to pick a folder when nothing is selected in the recent-folders list
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-06-29 17:04:14 -05:00
Federico Mena Quintero a3280339bd Put recently-used folders in the recently-used list
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-06-29 14:06:36 -05:00
Wouter Bolsterlee d184ef548c Updated Dutch translation by Wouter Bolsterlee 2011-06-29 19:32:10 +02:00
Juan Pablo Ugarte bbef902b61 Make GtkBuilder do not delay construct properties that can be resolved
(so construct is respected when possible) and skip construct only props that
can not.
2011-06-29 11:47:07 -03:00
Chun-wei Fan c80202dcec Update VS2010 README.txt
This file should also have Windows CRLF line endings
2011-06-29 13:54:15 +08:00
Chun-wei Fan 2b7aea4e13 Re-attempt to correct EOL on VS2010 solution
This time I realized that I needed to set autocrlf=false on my Windows side
... ugh...

This is one of those files that must have CRLF line endings to work
correctly :|
2011-06-29 12:50:57 +08:00
Federico Mena Quintero b33827ee8a Turn a struct field into a local variable
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-06-28 18:55:37 -05:00
Federico Mena Quintero 6c64af402c Remove unused struct field
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-06-28 18:53:48 -05:00
Federico Mena Quintero fc562d8052 Actually highlight the 'recently used' and 'search' items in the shortcuts bar
They weren't being selected in the shortcuts bar when those modes were
activated programmatically, instead of through the user selecting
them from the user interface.
2011-06-28 18:43:18 -05:00
Federico Mena Quintero ecdc08e2ec Start in recently-used mode when no folder is set
In RELOAD_EMPTY mode, when no folder has been selected by the calling app, we now
start showing the recently-used list.  The rationale is as follows:

  - In Open mode, the user is likely to pick a file he has used recently.

  - In Save mode, the user is likely to want a destination folder which
    he has used recently.

For the Save case, where we want to present the user with recent folders instead
of recent files, we will make the recent-list do so in subsequent commits.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-06-28 17:17:22 -05:00
Stéphane Maniaci 7d8e458677 Make GtkFileChoser remember the last directory opened
Introduces a 'last-folder-uri' GSettings key, where we remember the last-opened
folder from the previous instance of the file chooser.

The idea is that this works globally, across all applications, so it will be
easy to do things like

  1. Save an attachment from a mail (or some other file)
  2. Open another program
  3. Do File/Open and automatically get sent to the folder where (1) happened.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=644426
2011-06-28 16:49:49 -05:00
Federico Mena Quintero 8db961e19d Put the pathbar in the 'Save in folder:' row in Save mode
Now we reparent the browse_path_bar_hbox to that spot in Save mode,
or to be above the file lists in Open mode.  The pathbar makes for a very
clear indication of the location to save in.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-06-28 16:43:06 -05:00
Federico Mena Quintero 888a362071 Get rid of the save_folder_combo
And with this we get rid of the craziness of having a separate filter model
for the combobox's model.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-06-28 13:33:32 -05:00
Federico Mena Quintero 47f7581129 Remove the expander in Save mode, and the configuration key
This effectively makes the file chooser always be in 'expanded' mode.
Later, we'll move the pathbar to the 'Save in folder:' line.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-06-27 17:51:57 -05:00
Matthias Clasen e68448a49f Don't forget to initialize a variable
Pointed out by clang in bug 653333.
2011-06-27 16:49:05 -04:00
Federico Mena Quintero c2fc707b6a Utility function to extract folders from the recently-used list
This extracts the parent folders from the items in the recently-used
list.  We'll use it in the file chooser to present a list of
recently-used folders.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-06-27 15:30:59 -05:00
Mike Gorse daf4d9551a bgo#653191 - fix uninitialized variable in gtk_file_chooser_entry.c 2011-06-27 15:05:05 -05:00
Мирослав Николић 57657963f9 Updated Serbian translation 2011-06-24 22:20:03 +02:00
Милош Поповић b8d7446998 Revert "Updated Serbian translation"
This reverts commit e1d75e4977.
2011-06-24 22:18:43 +02:00
Мирослав Николић e1d75e4977 Updated Serbian translation 2011-06-24 20:59:36 +02:00
Chun-wei Fan da2326a36b Update VS projects distribution
Change gtk-demo items to gtk3-demo in EXTRA_DIST due to the name changes
2011-06-25 02:08:51 +08:00
Chun-wei Fan c677c819c4 Update VS project files
-Fix the VS2010 property sheet as the DefDir "macro" needs to be updated
 as well when the intermediate directories were seperated by project.

-Reinstate build/win32/vs10/gtk+.sln with the correct DOS/Windows EOL so
 that file can be correctly recognized by Windows, without the
 "Unrecognized Visual Studio Version" problem.

-Update solutions and projects where gtk-demo becomes gtk3-demo, to be
 consistent across the board.
2011-06-24 13:16:40 +08:00
Chun-wei Fan a956bd6d90 Temporarily remove build/win32/vs10/gtk+.sln
This file needs to have DOS/Windows-style EOL...
2011-06-24 13:13:01 +08:00
Chun-wei Fan 735a40eea7 Update VS property sheets
As Cairo and Cairo-GObject are often built as two seperate DLLs/modules,
set the property sheets to link to both libraries, instead of using the
previous approach where a monolithic Cairo DLL which contains GObject
support is used.
2011-06-20 17:07:17 +08:00
Chun-wei Fan 14dad8ca4c Refine Visual C++ 2010 projects
-Remove unneeded tags from projects
-Seperate intermediate directories for projects to avoid rebuilding/
 linking on every rebuild and MSBuild errors (et al.) for not being
 able to write into build log files as they are in use.
2011-06-20 12:15:44 +08:00
Chun-wei Fan 603e5f0c4a Update Visual C++ projects
Use G_ENABLE_DEBUG for all debug builds
2011-06-16 15:31:22 +08:00
Benjamin Otte 2c7846f63d toolbar: Handle the fact that size_allocate() != get_allocation()
size_allocate() allocates the available space for the margin box,
get_allocation() returns the actual space of the content box and those
can be different. And then animations never stop.
If that makes you go "huh?", you might want to read
http://www.w3.org/TR/CSS21/box.html
and the docs for gtk_widget_compute_align().
2011-06-15 20:16:06 +02:00
Benjamin Otte 65b4ab49de docs: Add Since tag to GtkWidget::draw 2011-06-13 18:32:09 +02:00
Michal Suchanek 982fc84a41 bgo#652045 - Initialize local_only in GtkFileChooserEntry
This has to be done also when we switch to the entry, otherwise completion for
non-local URIs won't work.
2011-06-08 16:25:26 -05:00
Chun-wei Fan a074955878 Update Windows Resource template information 2011-06-07 11:13:31 +08:00
Matthias Clasen bcdbe6593a Bump version 2011-06-06 16:47:21 -04:00
Matthias Clasen f9c127ea13 Updates 2011-06-06 16:13:12 -04:00
Matthias Clasen f1453862f1 Hacky support for combo boxes
This extends the current hacks in gailmenuitem to not only
recognize menuitems with labels in them, but also menuitems
which contain a GtkCellView, since those are used by GtkComboBox
nowadays.

Some of the AtkText apis are not fully supported.

https://bugzilla.gnome.org/show_bug.cgi?id=650302
2011-06-06 14:51:14 -04:00
Matthias Clasen 6f1fecf444 gail: Add back get_name for menu items
This was lost when GailItem was nuked. Not having it is leading
to problems, even though randomly poking strings out of your children
seems to be a less than perfect approach to naming...
2011-06-06 14:50:33 -04:00
Matthias Clasen 5c8a647a00 gtk-demo: Add an app chooser button demo
Add a 'Mail' app chooser to the 'Pickers' example.
2011-06-06 14:50:19 -04:00
Matthias Clasen 0c2ee42640 GtkCustomUnixPaperDialog: use an inline toolbar
This makes the dialog more similar to similar patterns,
e.g. in the file chooser.
2011-06-06 14:50:10 -04:00
Vincent Untz 2c79e57333 gtksearchenginetracker: Use non-case sensitive search for non-fts search
https://bugzilla.gnome.org/show_bug.cgi?id=642773
2011-06-06 16:24:13 +01:00
Matej Urbančič eadc05b2ce Updated Slovenian translation 2011-06-03 22:18:25 +02:00
Juan Pablo Ugarte 8f4352ca53 Fixed bug #576492 "GtkBuilder does not respect G_PARAM_CONSTRUCT properties"
Added G_PARAM_CONSTRUCT flag in gtk_builder_get_parameters() checks as suggested by Johan Dahlin.
2011-06-03 15:16:22 -03:00
Carles Ferrando c6d4284120 [l10n]Updated Catalan (Valencian) translation 2011-05-29 14:12:45 +02:00
Carles Ferrando f77884d092 [l10n]Updated Catalan (Valencian) translation 2011-05-29 14:09:13 +02:00
Carles Ferrando 43956f4eab [l10n]Updated Catalan (Valencian) translation 2011-05-29 14:08:53 +02:00
Matej Urbančič b7e777e7fa Updated Slovenian translation 2011-05-27 23:00:28 +02:00
Kjell Ahlstedt 219e82c9e7 bgo#642929 - Don't infinite-loop in GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
If the user pressed Enter to confirm the file chooser while the filename entry
was empty, then gtk_file_chooser_default_should_respond() would go back and forth
between the cases for handling the filename entry and the file list.
2011-05-23 15:02:25 -05:00
Benjamin Otte 847df205ed window: Only draw resize grip if its window exists
Don't rely on priv->resize_grip_visible as the code comment in the
variable declaration indicates.
This fixes warnings with GtkPlug, which can cause resize_grip_visible to
be TRUE but grid_window to be NULL - running tests/teststatusicon
reproduces this.

This broke with 0cf31b35eb
2011-05-23 16:08:37 +02:00
Matthias Clasen 750aca05ff bump version 2011-05-22 23:11:57 -04:00
Matthias Clasen 2c4b3ce8d6 Updates 2011-05-22 22:31:11 -04:00
Chun-wei Fan de8a45d7f0 Update Visual C++ README.txt
-Make the preparation instructions a bit more clear
-Tell people about the now-optional dependency on fontconfig on Visual C++
 builds
2011-05-18 12:34:07 +08:00
Carlos Garnacho 636cdd2b02 button: Fix typo in keyboard grab's evmask
https://bugzilla.gnome.org/show_bug.cgi?id=650382, spotted
by Alexander Larsson.
2011-05-17 13:25:47 +02:00
Friedel Wolff ab0875c020 Fix two small translation bugs 2011-05-10 12:46:19 +02:00
John Stowers b846363e24 Add missing gtk_widget_override_* annotations
https://bugzilla.gnome.org/show_bug.cgi?id=649779
2011-05-09 22:47:03 +12:00
Benjamin Otte 9917861cb1 label: Compute label offset properly for wrapped justified labels
label offsets were computed wrong for wrapped or ellipsized labels that
were right- or center-justified and had excess space available.
2011-05-05 18:00:58 +02:00
Martin Pitt 49a764f933 GdkWindow: Add missing (allow-none) annotations 2011-05-03 09:32:11 +02:00
Benjamin Otte d11c6e1beb cellarea: Fix warning messages to display the right type
The warning displayed the type of the area instead of the cell
renderer's type before.
2011-05-02 20:10:48 +02:00
Abduxukur Abdurixit e3717bc749 Added UG translation 2011-05-02 08:38:25 +02:00
Benjamin Otte c900fd1cd3 settings: Recompute styles when font name changes 2011-05-01 04:20:12 +02:00
Simos Xenitellis 82d517e829 l10n: Updated Greek translation for gtk+ 2011-04-27 23:22:19 +03:00
Giorgos Stephanakis 7835746ac3 l10n: Updated Greek translation for gtk+ 2011-04-27 23:20:51 +03:00
Chun-wei Fan 57a71d179b VS 2010 support updates
Sorry, accidently left ATK-2.0 stuff in this, should have been
ATK-1.0.  doh.

Only use ATK-2.x in the coming GTK+-3.2

Also mend for GDK-Pixbuf 2.0 include path in property file.
2011-04-27 01:00:07 +08:00
Chun-wei Fan 334ff9781e Bug 643270: VS 2010 support (autotools part)
-Added distribution for the VS 2010 project files
-Added rules in the GDK/GTK+ Makefile.am to fill in the template
 project/filter files during "make dist" to ensure the source file
 listing is up-to-date to simplify maintenance.

This was checked with "make dist" on Ubuntu.

Any comments on the use of the VS 2010 Projects are welcome.
2011-04-27 00:17:13 +08:00
Chun-wei Fan 7f6cc796cb Bug 643270: VS 2010 Project Files
These are the VS2010 project files to compile GDK and GTK+
with the Win32 backend, with a README.txt file to briefly
explain the steps to build this.

The main GDK and GTK+ project/filter files are templates
that are expanded during "make dist" so that the source
file listings in them will be up-to-date as far as
possible, simplifying maintenance.

Any comments and suggestions are welcome.
2011-04-27 00:14:01 +08:00
Chun-wei Fan 71f38cb958 VS 2008 support: Update README.txt again
Make the requirements for GDK-Pixbuf a bit more clear...
2011-04-27 00:06:12 +08:00
Benjamin Otte f85feed113 widget: Add hack to make label mnemonics work again
Mnemonics for characters that go beyond the baseline (q, y, g) were not
being shown, because they are drawn outside of the label's allocated
size.
This patch just disables the clip-to-size for labels, so that the label
can draw outsize of its allocation. In most cases, that works around
this bug.

https://bugzilla.gnome.org/show_bug.cgi?id=648570
2011-04-26 14:11:04 +02:00
Chun-wei Fan 373b8de3ac VS2008 support: Process filechooser gsettings xml
This will copy the xml file and compile it so that the GTK+3 filechooser
can be used on Windows, especially the MSVC-compiled versions.
2011-04-25 15:12:10 +08:00
Michael Natterer 12cf577f66 gdk: add precondition checks to all GdkKeymap functions
so it warns instead of simply crashing. Also fix some whitespace
stuff.
(cherry picked from commit 6c24a25751)
2011-04-22 00:01:44 +02:00
Paolo Borelli 2143c1835e label: Always respect width-chars and max-width-chars
Not just when labels are set to ellipsize or wrap.

https://bugzilla.gnome.org/show_bug.cgi?id=647284
2011-04-20 16:02:52 +02:00
Gintautas Miliauskas 264539728c Updated Lithuanian translation. 2011-04-19 13:58:33 +02:00
David King 61f111fe76 widget: add Since tags for margin accessors 2011-04-18 08:21:59 +02:00
Matthias Clasen 9833fbd77a gtk_menu_shell_activate shall remain private, seriously
What a travesty ! And all because I forgot to include gtkmenuitem.c
in my first commit related to this.
2011-04-17 23:09:39 -04:00
Chun-wei Fan 4eac7f2417 Update gtk/gtkmenuitem.c...
Copy over the implementation of _gtk_menu_shell_activate
so that C4013 warning/error (aka gcc's "implicit
declaration of ...") can be avoided when compiling
with MSVC.

This is in response of the changes for bug 554057 in commit
f5eee56b56.
2011-04-18 02:04:24 +08:00
Chun-wei Fan 5f14831f7d Update build/win32/vs9/README.txt
Make the build instructions and information more
up-to-date and clearer to people

Please let me know if I have missed any details that
are needed.  Thank you!
2011-04-18 00:23:58 +08:00
Benjamin Otte be6d434f78 window: cast value so gcc shuts up 2011-04-16 22:51:28 +02:00
Benjamin Otte a07c41dc38 menushell: Include a function in the private header
Don't copy over the implementation. This avoids a copy of the function.
Reverts 0098344f84.
2011-04-16 22:47:40 +02:00
Benjamin Otte 83678a1c59 entry: Use the new get_frame_size() argument in gtk_entry_draw_frame() 2011-04-16 22:46:06 +02:00
Benjamin Otte 44b5fe2a60 entry: Fix gtk_entry_get_icon_at_pos()
The passed in coordinates are widget-relative, not window-relative.
2011-04-16 22:45:54 +02:00
Benjamin Otte 57fd192679 entry: Add the ability to query frame size in two ways
TRUE: relative to widget->window
FALSE: relative to widget

For now, no caller has beeen changed.
2011-04-16 22:45:48 +02:00
Benjamin Otte 0cf31b35eb window: Only draw the resize grip if it is actually visible
This issue can only be seen if someone calls gtk_widget_draw() on the
window as otherwise gtk_cairo_should_draw_window() would return FALSE.
2011-04-16 22:45:34 +02:00
Benjamin Otte f537ebf024 docs: Fix wrong description for query-tooltip
Coordinates are not relative to widget->window
2011-04-16 22:45:28 +02:00
Matthias Clasen 89fbd574ce Bump version 2011-04-15 11:48:22 -04:00
Matthias Clasen dafdcefd17 bump version 2011-04-15 09:32:08 -04:00
Paolo Borelli 8eabbe2220 Free MenuPopulateData struct in all the cases.
For clarity factor out create/free functions.

https://bugzilla.gnome.org/show_bug.cgi?id=646876
2011-04-15 11:17:13 +02:00
Matthias Clasen 6fdfc879c8 Don't leak a list when activating keybindings
Patch by Rui Matos,
https://bugzilla.gnome.org/show_bug.cgi?id=647790
2011-04-14 20:23:11 -04:00
Matthias Clasen e604efd8d3 Updates 2011-04-14 10:15:46 -04:00
Matthias Clasen f5eee56b56 GtkMenuShell: always 'activate' menu shells
Failing to do so can leave us with a stuck grab in some cases.
https://bugzilla.gnome.org/show_bug.cgi?id=554057
2011-04-14 09:01:08 -04:00
Matthias Clasen 8990ad6a20 GtkTimeline: don't look when animations are disabled
Otherwise, we end up doing maximal work with minimal effect, and
bring the X server to 100% CPU. Note that this makes spinner widgets
look really unclear, but they really have to be changed to adapt
to enable-animations == FALSE at the widget level.
2011-04-14 08:56:07 -04:00
Javier Jardón 15de4031bc docs: Fix a typo: gtk_style_get_context -> gtk_style_has_context 2011-04-13 13:54:45 +01:00
Cosimo Cecchi 713488ed50 combobox: always give the full allocation to the button in menu mode
The button is what draws the background/frame outline of the combobox,
and padding is defined as the spacing *inside* the widget between the
border and the content.

https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:06:20 -04:00
Cosimo Cecchi 503466c893 combobox: rename border->padding for code clarity
https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:06:20 -04:00
Cosimo Cecchi e94b311fbf combobox: allocate the right border to the arrow and not to the label
When the combobox is in menu mode, the right padding of the togglebutton
inside, should be allocated to its rightmost children, which is the
arrow.

https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:06:20 -04:00
Cosimo Cecchi 22eb1f5b91 combobox: don't use the border as a padding
This causes the combobox to behave badly from the theme.

https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:06:20 -04:00
Cosimo Cecchi 9f4183c453 combobox: don't add the button style class to the whole widget
It already has a toggle button inside, and this way we cannot theme them
separately.

https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:06:19 -04:00
Cosimo Cecchi 2c29311955 button: don't use the border values for padding
It's wrong, and makes it impossible to theme the button properly.

https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:06:19 -04:00
Cosimo Cecchi 29e45c4c89 button: make gtk_button_get_props() return the padding too
https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:06:19 -04:00
Dan Winship 00802c73e4 gtk_window_present_with_time: fix when window is not initially visible
When called on a hidden window, gtk_window_present_with_time() would
just fall back to gtk_widget_show(), completely ignoring the passed-in
timestamp. This ended up working anyway if the timestamp came from
in-process, since gdk_window_x11_show() would initialize its user_time
from the time of the most recent event. But if the timestamp came from
another process, this would result in the window being shown with an
out-of-date timestamp.

Fix this by remembering the timestamp from
gtk_window_present_with_time(), and then setting the GdkWindow's
user_time from that when it the window is realized.

https://bugzilla.gnome.org/show_bug.cgi?id=647275
2011-04-12 14:48:27 -04:00
Dan Winship 9404f77eb1 GdkDeviceManagerXI2: don't set user_time on ButtonRelease
The XI2 device manager was mistakenly setting the window user_time on
both ButtonPress and ButtonRelease, which meant that processes that
tried to launch another process based on the time of a ButtonPress
event would end up always focus-stealing-preventing the new app.

https://bugzilla.gnome.org/show_bug.cgi?id=647275
2011-04-12 14:48:02 -04:00
Dan Winship 94b9e819a0 GdkDeviceManagerXI2: process send_event core events
XSendEvent doesn't currently work with XI2 events, so add code to
translate core events when they have the send_event flag.

(We still don't actually select for core pointer/keyboard events, so
we will only receive send_event events that are sent with a 0
event_mask.)

https://bugzilla.gnome.org/show_bug.cgi?id=644847
2011-04-12 14:29:12 -04:00
Takayoshi OKANO a0d9da7454 Updated Japanese translation. 2011-04-11 23:17:23 +09:00
Tristan Van Berkom e21d72cf3a Fix some crashes caused by unimplemented functions in GdkOffscreenWindow
These crashes happen when accessing GtkWindow properties and the
GdkWindow is an offscreen (fixes https://bugzilla.gnome.org/show_bug.cgi?id=647244)
2011-04-09 02:03:25 +09:00
Matthias Clasen f14a1af30e Avoid a warning out of the print dialog
Reported in https://bugzilla.gnome.org/show_bug.cgi?id=647152
2011-04-08 20:46:57 -04:00
Cosimo Cecchi dcaafb1bc1 themingengine: don't set a line width before saving the cairo context
https://bugzilla.gnome.org/show_bug.cgi?id=647086
2011-04-08 20:34:16 -04:00
Cosimo Cecchi e5ae44bd1b separator: call gtk_style_context_restore() after drawing
https://bugzilla.gnome.org/show_bug.cgi?id=647086
2011-04-08 20:34:16 -04:00
Cosimo Cecchi ccc1739161 calendar: make sure to call gtk_style_context_restore()
https://bugzilla.gnome.org/show_bug.cgi?id=647086
2011-04-08 20:34:15 -04:00
Paolo Borelli 68c2bac9b1 Do not leak list when drawing notebook.
When we construct the list in the other order we must free it.

https://bugzilla.gnome.org/show_bug.cgi?id=646886
2011-04-08 20:20:33 -04:00
Manoj Kumar Giri f6cfd6a862 Updated Oriya Translation 2011-04-07 15:32:41 +05:30
Manoj Kumar Giri ffda85161c Updated Oriya Translation 2011-04-07 14:38:13 +05:30
Manoj Kumar Giri 4e514b5b62 Updated Oriya Translation 2011-04-07 14:36:31 +05:30
Matthias Clasen 32428d8c12 GtkColorButton: Don't leak references
https://bugzilla.gnome.org/show_bug.cgi?id=646815
2011-04-06 00:58:38 -04:00
Matthias Clasen be19d1ae14 GtkGrid: Add forgotten RTL flipping
How did we manage to add a non-RTL savy container in GTK+ 3.0 ?
2011-04-06 00:58:19 -04:00
Petr Kovar 0da77d180d Update Czech translation 2011-04-06 03:43:06 +02:00
Jordi Serratosa 845066293c [l10n]Fixes on Catalan translation 2011-04-04 21:53:00 +02:00
Jordi Serratosa 76a4f1ed31 [l10n]Fixes on Catalan translation 2011-04-04 21:50:08 +02:00
Jamil Ahmed 68653d113f Updated Bengali translation 2011-04-05 01:40:43 +06:00
Chao-Hsiung Liao e0b5853a0f Updated Traditional Chinese translation (Hong Kong and Taiwan) 2011-04-04 20:31:41 +08:00
Jamil Ahmed 234802e0df Updated Bengali translation 2011-04-04 16:44:56 +06:00
Amitakhya Phukan 56a53bb5ba Updated Assamese translations 2011-04-04 11:20:11 +05:30
Daniel Korostil 9ae29b3214 Uploaded Ukranian 2011-04-04 03:32:50 +03:00
Gil Forcada 0a0687a476 [l10n]Updated Catalan translation 2011-04-04 01:07:43 +02:00
Matthias Clasen fbf8bc4b51 Update for 3.0.8 2011-04-03 17:54:34 -04:00
Matthias Clasen 9c1b238bf9 Make gdk_x11_window_set_theme_variant do nothing for non-toplevels
This avoids problems when calling this e.g. on offscreen windows.
2011-04-03 17:41:29 -04:00
Matthias Clasen 62053dbe47 Keymap: properly initialize lock state
We need to get explicitly lock state initially, before we can
rely on state changed events to track it.
https://bugzilla.gnome.org/show_bug.cgi?id=645341
2011-04-03 17:38:55 -04:00
Tristan Van Berkom cc837f531b Fixed warning catch in gtk_window_compute_hints(). 2011-04-03 18:09:22 +09:00
Wolfgang Stöggl c551de2576 [l10n] Updated German translation, umlauts fixed 2011-04-03 19:19:30 +02:00
Yuri Kozlov 544d5820cc Updated Russian translation 2011-04-03 20:17:29 +04:00
Inaki Larranaga Murgoitio 0435283237 Updated Basque language 2011-04-03 13:36:57 +02:00
Inaki Larranaga Murgoitio e6a5ce0209 Updated Basque language 2011-04-03 13:25:26 +02:00
Carlos Garnacho 45f350bbfd theme: Fix prelight on selected rows' expanders
There was no prelight effect on selected rows' expanders with the
builtin theme, noticed by Kris Rietveld.
2011-04-03 12:35:39 +02:00
Daniel Nylander 5a340126cc Updated Swedish translation 2011-04-03 11:36:46 +02:00
Lucian Adrian Grijincu ca73bcf566 Updated Romanian translation 2011-04-03 02:12:32 +02:00
Lucian Adrian Grijincu 7ef205c52e Updated Romanian translation 2011-04-03 02:06:14 +02:00
Jorge González 88181d1cc2 Updated Spanish translation 2011-04-02 20:45:05 +02:00
Matthias Clasen c7f02139bf Revert "Added GTK_SIZE_REQUEST_CONSTANT_SIZE to GtkSizeRequestMode"
This reverts commit bb39638c4f.
2011-04-02 14:10:59 -04:00
Matthias Clasen c69d473a3b Revert "Reduce memory consumption of the size request cache."
This reverts commit 148d4cd3fa.
2011-04-02 14:10:59 -04:00
Matthias Clasen 7790f3091b Revert "Cache heights-for-range-of-widths instead of height for every width."
This reverts commit edb44589dc.
2011-04-02 14:10:59 -04:00
Ask H. Larsen 42ce306c8d Updated Danish translation 2011-04-02 19:44:22 +02:00
George Stefanakis eb45a064b3 l10n: Updated Greek translation for gtk+ 2011-04-02 17:56:17 +03:00
Gil Forcada ae4de72b55 [l10n]Updated Catalan translation 2011-04-02 09:09:35 +02:00
Matthias Clasen b9031f7bc8 GtkAppChooserButton: avoid some leaks
gtk_tree_model_get() returns a reference for objects.
https://bugzilla.gnome.org/show_bug.cgi?id=646462
2011-04-01 23:52:46 -04:00
Matthias Clasen c546cf5f59 Fix some refcounting issues in the print dialog
gtk_tree_model_get returns a reference for objects, but the
printers in the model can be NULL,
https://bugzilla.gnome.org/show_bug.cgi?id=646446
2011-04-01 22:05:44 -04:00
Benjamin Otte 53ae5a1c09 widget: Do the sanity checks earlier
This avoids a crash in broken applications, in particular the gdm
greeter.

https://bugzilla.gnome.org/show_bug.cgi?id=646498
2011-04-02 03:58:49 +02:00
Benjamin Otte 6647a73563 frame: Make sure the size we compute doesn't get unsigned-promoted 2011-04-02 03:58:49 +02:00
Fran Dieguez 51737af6fc Updated Galician translations 2011-04-02 01:17:02 +02:00
Matthias Clasen d031b3731e Bump version 2011-04-01 17:10:41 -04:00
Matthias Clasen 258be04514 Update 2011-04-01 15:36:22 -04:00
Gabor Kelemen 9f7ec82a4c Updated Hungarian translation 2011-04-01 15:16:57 +02:00
Gabor Kelemen 92679efbb3 Updated Hungarian translation 2011-04-01 15:12:56 +02:00
Gabriel F. Vilar 8f4a492d46 Updated Brazilian Portuguese translation 2011-04-01 09:12:41 -03:00
Bruno Brouard cef24481bc Updated French translation 2011-04-01 09:43:02 +02:00
Duarte Loreto ee8bbbc7be Updated Portuguese translation 2011-03-31 23:22:12 +01:00
Yaron Shahrabani 1187577c82 Updated Hebrew translation. 2011-03-31 21:30:59 +02:00
Mario Blättermann 38e304273f [l10n] Updated German translation 2011-03-31 21:30:12 +02:00
liwei fa13e719d4 Update Simplified Chinese translation. 2011-03-31 16:31:56 +00:00
Djavan Fagundes a91623a645 Updated Brazilian Portuguese translation 2011-03-31 11:06:29 -03:00
Piotr Drąg 28d3886b62 Updated Polish translation 2011-03-31 13:27:48 +02:00
Mario Blättermann 33af35a396 [l10n] Updated German translation 2011-03-31 09:40:22 +02:00
Alexander Shopov 39f60f1ed6 Updated Bulgarian translation 2011-03-31 06:34:51 +03:00
Miroslav Nikolić 1485443d13 Updated Serbian translation 2011-03-31 01:14:07 +02:00
Tristan Van Berkom edb44589dc Cache heights-for-range-of-widths instead of height for every width.
This patch optimizes window resizes by assuming that if a widget
has the same height at a width of 50 as with a width of 150, the
height for width 100 will also be the same.

The patch also further optimizes the cache allocator, now there
are 2 pointer arrays of up to a maximum of 5 requests, the arrays
will only be allocated if a request is ever made in that orientation
and the array will be sparse until each request is made (i.e. if a
label can only wrap to 3 lines, there will only be 3 out of a
possible 5 SizeRequest structures allocated to cache it).
2011-03-30 19:19:23 +09:00
Tristan Van Berkom 148d4cd3fa Reduce memory consumption of the size request cache.
This patch makes contextual height-for-width request caching
optional (the contextual cache is not allocated for widgets that
report GTK_SIZE_REQUEST_CONSTANT_SIZE).
2011-03-30 19:19:13 +09:00
Tristan Van Berkom bb39638c4f Added GTK_SIZE_REQUEST_CONSTANT_SIZE to GtkSizeRequestMode
The constant size request mode defines a request mode where
height-for-width geometry is unneeded, thus optimizing GTK+
by reducing the overall amount of requests that need to be
performed and cached while resizing an interface.
2011-03-30 19:19:03 +09:00
Og B. Maciel 99eb81b683 Partial update for Brazilian Portuguese. 2011-03-30 17:02:54 -04:00
Benjamin Otte b467d5fdbb widget: Propagate the right states to the widget when setting the parent 2011-03-30 16:47:10 +02:00
Benjamin Otte b948654d27 widget: Get rid of parent_sensitive flag
Instead rely on state_flags & GTK_STATE_FLAG_INSENSITIVE to tell us if a
widget is sensitive.
This has the huge benefit that the way the widget is actually rendered
corresponds to the return value of gtk_widget_is_sensitive().

As a side effect, we do not ever allow unsetting the
GTK_STATE_FLAG_INSENSITIVE for a widget the is set to not be sensitive
(via gtk_widget_set_sensitive()). This way we stop propagation of making
stuff sensitive at insensitive widgets.

https://bugzilla.gnome.org/show_bug.cgi?id=642918
2011-03-30 16:47:01 +02:00
Benjamin Otte 91d3a5ac7e widget: Don't override state data when recursing to children
Writing onto the passed-in GtkStateData could cause changes that would
propagate to siblings, as the data was not reset again.
By copying the data structure, this is avoided and the proper values are
passed to sibling widgets.
2011-03-30 16:44:58 +02:00
Benjamin Otte 63e261ed9f widget: Fix typo in docs 2011-03-30 16:44:55 +02:00
Benjamin Otte ae640f8eb4 tracker: Include gdk.h 2011-03-30 16:42:26 +02:00
Matthias Clasen 6121cb691f Make GtkWidget::halign RTL-save
This commit makes GTK_ALIGN_START/_END pay attention to
the text direction when used in horizontal context.

This is how similar parameters in GtkMisc and GtkAlignment work,
and is generally expected of GTK+ positioning parameters. And this
is new GTK+ 3 api, so it is basically still unused at this point.

If explicit right/left turn out to be needed at some point, we
can expand the enumeration with new values.
2011-03-30 10:34:35 -04:00
Bruce Cowan a91e01c86c Updated British English translation 2011-03-30 15:25:09 +01:00
Sandeep Shedmake a7f48fa6fd Updated Marathi Translations 2011-03-30 14:47:47 +05:30
Ask H. Larsen 78844cdf26 Updated Danish translation 2011-03-29 23:43:04 +02:00
Ask H. Larsen 63f5933ad1 Updated Danish translation 2011-03-29 23:39:44 +02:00
Ryan Lortie 856a7c63bc GtkStatusIcon: support fixed-sized icons
Use the _NET_SYSTEM_TRAY_ICON_SIZE property set by the tray mananger as
a hint that we should use a specific icon size.  This allows the tray to
instruct us that it expects 16x16 icons, for example.

Bug #645232
2011-03-30 00:28:22 +05:30
Aron Xu 51cd2a4f23 Update Simplified Chinese translation. 2011-03-29 11:10:03 +00:00
Alexander Larsson ca619031df Ensure we always grab the gdk lock in async callbacks
Async callbacks are delivered in idles, so we need to make sure
we get the gdk lock before calling any gdk/gtk stuff. This was
missing in a few places.
(cherry picked from commit e274dbbdce)
2011-03-28 14:05:26 +02:00
Rudolfs Mazurs bdd41d50a4 Updated Latvian translation. 2011-03-28 01:46:00 +03:00
Wolfgang Stöggl cc03ac2c42 Updated German translation 2011-03-27 22:49:54 +02:00
Yuri Kozlov 29ee1c302a Updated Russian translation 2011-03-27 14:27:45 +04:00
Benjamin Otte ef2cb57a13 widget: Call the non-deprecated function
Both functions are identical, just that one isn't deprecated.
2011-03-27 03:05:57 +02:00
Benjamin Otte 57140a79d3 widget: Update path unconditionally in gtk_widget_reset_style()
Also, don't set the new path twice on the style context.
2011-03-27 03:05:49 +02:00
Benjamin Otte 5a8bbf627c widget: Don't duplicate style context updates
The screen changes are done in do_screen_change(), the widget path is
updated in gtk_widget_reset_style().
2011-03-27 03:05:49 +02:00
Benjamin Otte bc6c6b749c paned: Remove unused variable 2011-03-27 01:02:55 +01:00
Benjamin Otte 6444f30e81 widget: Emit initial style-set signal in the same situations as GTK2
This ensures that widgets that aren't ported and rely on the style-set
signal being emitted work as well as before. They should not rely on
style-set being emitted however.

Note that this function is a no-op if the initial style has been set
already and is very cheap if it has not been set yet. It only becomes
relevant if the resulting style actually gets used.

https://bugzilla.gnome.org/show_bug.cgi?id=639584
2011-03-27 01:00:29 +01:00
Benjamin Otte f285dd49b5 widget: Create the widget's style lazily
That way we don't have to update the style's colors all the time on
theme changes when the widget is not actually using GtkStyle.
2011-03-27 01:00:29 +01:00
Benjamin Otte 2f0c819287 widget: Don't call gtk_style_attach() and gtk_style_detach() anymore 2011-03-27 01:00:29 +01:00
Benjamin Otte 2444b611f5 docs: Make clear that gtk_widget_set_style() does not do anything 2011-03-27 01:00:29 +01:00
Benjamin Otte ac43de26c6 widget: Use a priv variable 2011-03-27 01:00:28 +01:00
Benjamin Otte 7ef2c6a55f widget: Widgets always have a style, so no need to check for NULL 2011-03-27 01:00:28 +01:00
Benjamin Otte a4c9c4d7cd combobox: Don't set the menu's name twice 2011-03-27 01:00:28 +01:00
Benjamin Otte 5d3c52c60e notebook: Only reset style on tab labels when it actually changes 2011-03-27 01:00:28 +01:00
Benjamin Otte 52d27f712e widget: Reshuffle code for style context getter
The intention of this patch is to make the code clearer, shorter and
most of all to avoid recreating the widget path and setting it path
twice on the style context when the style context was recreated.
2011-03-27 01:00:28 +01:00
Benjamin Otte 866e37f57d widget: Don't create the style context if not necessary
If all we want to do is update the context's screen, we don't need to
create it if it doesn't exist yet.
2011-03-27 01:00:28 +01:00
Benjamin Otte 320730505b gtk: Reset children styles when changing name
Changing the name of a widget does not just change the current widget's
path, but also the path of all its children.
2011-03-27 00:59:41 +01:00
Benjamin Otte 622ce47aca widgetpath: Sanitize pos argument for iters correctly
The comparison done was off by one and would have caused invalid
reads or writes.
2011-03-27 00:59:41 +01:00
Benjamin Otte ebc83efb1b dnd: Use G_N_ELEMENTS()
Now that we have wesome macros in glib 2.0, we can use them. Woohoo, GTK
2.0 will be so awesome in the future.
(Did anybody touch dnd code this millenium?)
2011-03-27 00:59:40 +01:00
Claude Paroz 0133870fa8 Updated French translation of po-properties
Contributed by Gérard Baylard, Bruno Brouard and Claude Paroz
2011-03-26 17:17:03 +01:00
Rudolfs Mazurs cb54b994cc Updated Latvian translation. 2011-03-26 13:37:11 +02:00
Chun-wei Fan e31364a504 Update VS property sheet
Make GDK-Pixbuf include path consistent with the autofiscated builds
2011-03-26 15:28:19 +08:00
Daniel Nylander 1732def837 Updated Swedish translation 2011-03-25 22:29:34 +01:00
Alexander Shopov 2296dc089a Updated Bulgarian translation 2011-03-25 22:31:12 +02:00
Matthias Clasen 79628d4f18 Bump version 2011-03-25 14:15:25 -04:00
Matthias Clasen 21c2a52318 Updates for 3.0.6 2011-03-25 13:22:09 -04:00
Florian Müllner 7707c3bdc0 window: Use settings from screen rather than default
gtk_settings_get_default() was used to monitor the
"gtk-application-prefers-dark-theme" setting, rather
than the GtkSettings object associated with the window's
screen.
2011-03-25 17:02:44 +01:00
Florian Müllner e5f1871748 window: Export theme variant to X11
The metacity theme format allows to use colors from the current
GTK+ theme in window decorations. Since GTK+ now gained support
for dark theme variants, window managers using that theme format
(metacity, mutter, compiz via gtk-window-decorator) should be able
to use colors from the correct variant; so in case a variant is
requested, export it in the _GTK_THEME_VARIANT property on
toplevel windows.

https://bugzilla.gnome.org/show_bug.cgi?id=645354
2011-03-25 14:38:05 +01:00
Changwoo Ryu 91bce8e1cb Updated Korean translation 2011-03-25 22:01:43 +09:00
Amitakhya Phukan 34d2028da3 Updated Assamese translations 2011-03-25 14:34:24 +05:30
Friedel Wolff e6f0ed36bc Update translation for Afrikaans (af) 2011-03-24 23:14:57 +02:00
Matthias Clasen 1c581263da Make selectable labels work again
You can select something, but moving the focus somewhere else, or bringing up
the context menu makes the selection go away. This makes it impossible to
copy-paste the text.

The reason for this regression is that gtk_label_state_changed was sloppy and
assumed that it would only ever be called when a labels goes insensitive, which
is no longer the case.

The patch fixes things by explicitly checking if the widget is insensitive, and
only resetting the selection in that case, which is the same behaviour we have
for e.g. GtkEntry.
2011-03-24 12:46:38 -04:00
chiachen 6cee7e3056 Update simplified Chinese translation. 2011-03-24 16:29:02 +00:00
Matthias Clasen ebe04950b4 Bump version 2011-03-23 17:30:25 -04:00
Matthias Clasen bb82228b3d Updates for 3.0.5 2011-03-23 16:26:21 -04:00
Luca Ferretti e4fef8ce28 Updated Italian translation 2011-03-23 20:10:11 +01:00
Cosimo Cecchi e30a32cd1c switch: hardcode a smaller font size for the switch label
This should not really be done here, but we can't override font size
from the theme just yet.

https://bugzilla.gnome.org/show_bug.cgi?id=645458
2011-03-23 09:38:20 -04:00
Cosimo Cecchi d2ef917821 gtksettings: unset attributes set to normal from font description
So that they do not override values coming from the theme.

Based on a patch by Carlos Garnacho.

https://bugzilla.gnome.org/show_bug.cgi?id=645458
2011-03-22 14:56:29 -04:00
Cosimo Cecchi 3321b0b0b5 Revert "styleproperties: don't force replacing the font description"
It turns out the bug is more complicated than I originally understood.
Not replacing the font description fields while merging here makes it
impossible for application's CSS to override fonts.

This reverts commit 89c1d93b68.

https://bugzilla.gnome.org/show_bug.cgi?id=645458
2011-03-22 14:55:42 -04:00
Sweta Kothari 3a8f432d49 Updated Gujarati Translations 2011-03-22 15:51:03 +05:30
Sweta Kothari 1548587386 Updated Gujarati Translations 2011-03-22 15:36:50 +05:30
Matthias Clasen 73d8ed97dd Bump version 2011-03-21 13:15:41 -04:00
Matthias Clasen 1d9dbf6cbc Update NEWS 2011-03-21 11:13:37 -04:00
Marek Kasik 3dde093b71 Check whether a resolution has been set in GtkPrintSettings
If resolution has not been set then use default resolution from ppd.

https://bugzilla.gnome.org/show_bug.cgi?id=635254
2011-03-21 11:10:14 -04:00
Matthias Clasen 2af93a0b41 Update NEWS 2011-03-21 11:05:51 -04:00
Cosimo Cecchi 0032b1e88c themingengine: don't hardcode white to draw insensitive labels shadow
Use the background color instead.
I think the optimal solution would be delegating the shadow rendering to
the theme completely, and removing this in GtkThemingEngine, but for
now, this simple fix makes the dark variant more usable.

https://bugzilla.gnome.org/show_bug.cgi?id=645405
2011-03-21 11:00:04 -04:00
Cosimo Cecchi 8d0e30c4b5 filechooserdefault: fix a build warning 2011-03-21 10:59:42 -04:00
Garrett Regier 488241b3be Fix leaking calls to gdk_device_manager_list_devices()
gdk_device_manager_list_devices() returns a newly allocated list.

https://bugzilla.gnome.org/show_bug.cgi?id=645234
2011-03-21 10:37:49 -04:00
Matthias Clasen acbdd23d29 Fix portability issues in configure
Avoid using bash features unnecessarily.
Patch by Matteo Settenvini
https://bugzilla.gnome.org/show_bug.cgi?id=645057
2011-03-21 10:34:15 -04:00
Garrett Regier 4dc4740b69 Free the motion hint infos in GdkDisplay
https://bugzilla.gnome.org/show_bug.cgi?id=645235
2011-03-21 10:24:01 -04:00
Gintautas Miliauskas 6048d8c5e2 Updated Lithuanian translation. 2011-03-21 14:29:25 +01:00
Rudolfs Mazurs c6593fbf7a Updated Latvian translation. 2011-03-20 15:27:18 +02:00
Gabor Kelemen bc05fbd531 Updated Hungarian translation 2011-03-19 23:45:36 +01:00
Wouter Bolsterlee 8df5aad492 Updated Dutch translation by Wouter Bolsterlee 2011-03-19 17:58:06 +01:00
Cosimo Cecchi 64860e184a radiobutton: exclude states we set manually from the previous state
https://bugzilla.gnome.org/show_bug.cgi?id=645172
2011-03-18 15:14:25 -04:00
Cosimo Cecchi db4034ddd8 radiobutton: build the new state flags from the previous flags on click
This fixes e.g. sensitivity issues with GtkRadioButton on state update.

https://bugzilla.gnome.org/show_bug.cgi?id=645172
2011-03-18 15:10:30 -04:00
Мирослав Николић fdf7bb1f9a Updated Serbian Translation 2011-03-18 19:02:04 +01:00
Cosimo Cecchi 78051a6935 switch: fix boundaries for the switch motion
We were ignoring the focus ring padding, and we were incorrectly setting
handle_x to padding.left, while the draw handler already takes padding
into account while redrawing.

https://bugzilla.gnome.org/show_bug.cgi?id=645134
2011-03-18 09:51:53 -04:00
Cosimo Cecchi 0bc9efd230 notebook: don't forget to reset the style after setting show-tabs
This fixes a regression after commit
b04f4c536a
2011-03-17 17:26:15 -04:00
Cosimo Cecchi 6544532e51 treeview: add the separator style class to the tree view separator lines 2011-03-17 17:10:47 -04:00
William Jon McCann 0d7da653e8 filechooser: use the sidebar style class for the file chooser sidebar
https://bugzilla.gnome.org/show_bug.cgi?id=642712
2011-03-17 17:10:21 -04:00
Cosimo Cecchi 3652a771ab stylecontext: add a sidebar style class 2011-03-17 17:10:21 -04:00
William Jon McCann 882cdf3728 set initial pane position
https://bugzilla.gnome.org/show_bug.cgi?id=642712
2011-03-17 16:25:06 -04:00
Cosimo Cecchi 6c1524b48f filechooser: add the inline-toolbar style class to the bottom toolbar 2011-03-17 15:44:18 -04:00
Cosimo Cecchi 0e5b591a57 stylecontext: add an inline-toolbar style class 2011-03-17 15:44:03 -04:00
Cosimo Cecchi 89c1d93b68 styleproperties: don't force replacing the font description
Otherwise custom fonts will always get overridden by the default stored
in GtkSettings when merging them.

https://bugzilla.gnome.org/show_bug.cgi?id=644975
2011-03-17 14:34:24 -04:00
Bastien Nocera b04f4c536a notebook: Don't set notebook style with hidden tabs
When tabs are not shown, and the notebook is used as a container,
we should not set the notebook style, otherwise the theme has no
way to know whether tabs are shown or not, and which colour to draw
the background.

https://bugzilla.gnome.org/show_bug.cgi?id=640692
2011-03-17 17:59:46 +00:00
Frédéric Péters 31af690844 Update properties POTFILES 2011-03-17 14:41:43 +01:00
Bruce Cowan ec7a50f5f2 Updated British English properties translation 2011-03-17 12:50:44 +00:00
Mario Blättermann 8d680da023 [l10n] Updated German translation 2011-03-17 11:52:28 +01:00
Jasper St. Pierre 2dcfc1ebae Don't only use ch != 0 to check if a character is a control char.
https://bugzilla.gnome.org/show_bug.cgi?id=644976
2011-03-16 20:58:14 -04:00
Jasper St. Pierre 0164c69568 gdkkeyuni: Fix DEL for binary search
The list needs to be sorted in order for the binary search to work properly.

https://bugzilla.gnome.org/show_bug.cgi?id=644976
2011-03-16 20:58:13 -04:00
Cosimo Cecchi c96057e613 range: allow stepper-spacing > 0 and trough-under-steppers = TRUE
Commit 4bb3d64414 introduced a limitation
to GtkRange style properties; when stepper-spacing is > 0,
trough-under-steppers is automatically set to FALSE; this means that
setting a spacing between the steppers (e.g. the scrollbar buttons) and
the trough (i.e. the area over which the slider is free to move) would
make the buttons always get the full allocation on the !orientation
direction.
The rationale is without this limitation, you would get an area which
seems clickable, but it's actually not.

While this is true, and undesirable, for big stepper spacings, themes
that use trough-under-steppers (which is TRUE by default anyway),
might want to set smaller spacings to avoid drawing a double line between
the button and the slider borders.

To add confusion, the documentation got it flipped, i.e. it stated
setting a positive stepper-spacing would set trough-under-steppers to
TRUE (which would also make the behavior expected by commit
4bb3d64414 impossible).

I don't think hardcoding either of the two limitations is a good thing.
We should let themes handle this instead, and remove this limitation. If
you want the old behavior, you can manually set trough-under-steppers to
FALSE if you set a positive stepper-spacing in your theme.

https://bugzilla.gnome.org/show_bug.cgi?id=644777
2011-03-16 13:19:30 -04:00
Matthias Clasen ff412d2c5d Make gdk_keyval_to_unicode return more codes
Previously, we didn't map ASCII controls to their Unicode
counterparts. Fix that.

https://bugzilla.gnome.org/show_bug.cgi?id=644836
2011-03-16 12:54:16 -04:00
Cosimo Cecchi b9b535d7a2 widget: reset widget style after applying style classes from GtkBuilder
Otherwise, the parsed style classes do not get propagated to the
children.

https://bugzilla.gnome.org/show_bug.cgi?id=644925
2011-03-16 10:56:37 -04:00
Fran Diéguez c89f9d8da0 Updated Galician translations 2011-03-15 20:27:41 +01:00
Matthias Clasen fda0032d8a Bump version 2011-03-14 14:31:02 -04:00
Matthias Clasen 5b3d82176a Update NEWS 2011-03-14 12:31:13 -04:00
Cosimo Cecchi 565744d498 notebook: make GtkNotebook respect the focus-padding style property
https://bugzilla.gnome.org/show_bug.cgi?id=644348
2011-03-14 12:00:25 -04:00
Erdal Ronahi 318dbe7524 Updated Kurdish translation 2011-03-14 00:04:10 +01:00
Changwoo Ryu 80b6fd0978 Updated Korean translation 2011-03-13 23:27:02 +09:00
Matthias Clasen da22745fa2 Add annotations to gtk_window_get_position
Part of bug 644353, patch by Ulrik Sverdrup.
2011-03-12 21:33:21 -05:00
Matthias Clasen 7abeab8490 Fix annotations for gtk_accelerator_parse
Part of bug 644353, patch by Ulrik Sverdrup.
2011-03-12 21:33:04 -05:00
Cosimo Cecchi be3fc28e66 paned: don't set the "pane-separator" style class to all the container
Otherwise children inherit color properties specified for the pane
separator itself.

https://bugzilla.gnome.org/show_bug.cgi?id=644276
2011-03-12 20:38:49 -05:00
Carlos Garcia Campos 647f8fb2fb themingengine: Use render_background_internal() to render handle background
Instead of using always the background color. This fixes handles that
have a background image like gnome-panel applets in a transparent
panel.

https://bugzilla.gnome.org/show_bug.cgi?id=644570
2011-03-12 20:38:43 -05:00
Petr Kovar c65309b673 Update Czech translation 2011-03-12 23:33:53 +01:00
Matthias Clasen 6ff74f6e06 GtkAboutDialog: keep toggle button state in sync
When hiding the dialog, we hide the credits/license parts, so
we need to update the toggle buttons controlling them.
https://bugzilla.gnome.org/show_bug.cgi?id=644355
2011-03-12 13:44:03 -05:00
Bruno Brouard 021ba76ceb Updated French translation 2011-03-12 18:08:25 +01:00
Yaron Shahrabani 1859972b3b Updated Hebrew translation. 2011-03-12 06:21:40 +02:00
Luca Ferretti f17bed1eac Updated Italian translation 2011-03-12 02:09:30 +01:00
Daniel Nylander 6accf7bf16 Updated Swedish translation 2011-03-11 23:52:05 +01:00
Daniel Nylander a5d5edace1 Updated Swedish translation 2011-03-11 23:51:51 +01:00
Klemen Košir ed188c8b10 Updated Slovenian translation 2011-03-11 21:51:36 +01:00
Benjamin Otte fa8bd08f5d gtk: Queue a resize after state changes
Lots of style properties - border-width in this case - can change the
size of widgets, so we need to queue a resize instead of just redrawing.
2011-03-11 19:53:35 +01:00
Tristan Van Berkom 8ee894ae46 Fixed gdk_window_beep() to pass the toplevel instance to the toplevel's implementation vfunc.
This incorrect assignment would cause asynchronous aborts from the X server
(they would occur if for instance, an offscreen GtkTreeView calls
gtk_widget_error_bell()).
2011-03-10 14:11:41 +09:00
313 changed files with 130031 additions and 109925 deletions
+246
View File
@@ -1,3 +1,249 @@
Overview of Changes in GTK+ 3.0.12
==================================
* Assorted file chooser improvements/redesign:
- Remove the expander in Save mode
- Move the path bar up in Save mode
- Remember the last opened directory
- Start in recently-used mode when no folder is set
- Update recent-files when confirming in the file chooser
* Bugs fixed:
644426 GNOME-wide default to remember last folder
652045 file open dialog refuses to open or complete non-local...
653191 uninitialized variable in completion_match_func
653333 Assigned value is garbage or undefined in gtktool...
654125 gdkoffscreenwindow set any impl handlers to null but...
Fix problems with toolbar animations
Improve handling of construct properties in GtkBuilder
Fix an infinite loop in non-XKB keymap code
Fix GtkThemingEngine to work with recent GLib versions
Win32 build fixes
* Translation updates:
Catalan
Czech
Dutch
German
Polish
Serbian
Slovenian
Spanish
Swedish
Overview of Changes in GTK+ 3.0.11
==================================
* Modernize custom paper size dialog look
* Add an app chooser to the gtk-demo 'Pickers' example
* Bugs fixed:
642773 Make file search non-case sensitive
576492 GtkBuilder does not respect G_PARAM_CONSTRUCT properties
642929 Don't infinite-loop in GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
Only draw the resize grip if its window exists
Make menuitems show up with name in a11y tools again
Add some level of a11y support for combo boxes back
* Updated translations:
Catalan (Valencian)
Slovenian
Overview of Changes in GTK+ 3.0.10
==================================
* Bugs fixed:
649880 GtkEntry icon tooltip is never appearing
647284 GtkLabel does not honor width-chars anymore
648570 Mnemonics don't show under some letters
649779 Add missing gtk_widget_override_* annotations
650382 GtkButton uses wrong values in grab
* Translation updates:
Greek
Lithuanian
Uighur
Overview of Changes in GTK+ 3.0.9
=================================
* Fix some interference between XI2 and input methods, XEmbed
and user-time tracking
* Theming improvements
- Make it possible to give combo boxes, buttons, entries a
uniform height
* GtkGrid now does RTL flipping like other containers
* Translation updates:
Assamese
Bengali
Catalan
Czech
Japanese
Oriya
Traditional Chinese
Ukrainian
Overview of Changes in GTK+ 3.0.8
=================================
* The size negotiation optimizations turned out to have
problematic side effects in some applications, and have
been reverted for now
* Fix prelight of selected row expanders
* Bugs fixed:
645341 pre dialog set CAPSLOCK is ignored.
646446 gtkprintunixdialog.c: set_cell_sensitivity_func leaks badly
646462 in gtkappchooserbutton.c: select_application_func_cb
646498 GTK+ 3.0.7 causes gdm greeter to crash at startup
* Translation updates
Basque
Catalan
Danish
Galician
German
Greek
Romanian
Russian
Spanish
Swedish
Overview of Changes in GTK+ 3.0.7
=================================
* Performance improvements for theming and size allocation
* Thread-safety fixes in file chooser and app chooser code
* GtkStatusIcon can now receive icon size hints from the tray
it is embedded in
* RTL fixes for GtkGrid and GtkWidget::halign
* Bugs fixed
639584 initial emission of GtkWidget:style-set...
642918 Sensitivity of buttons sometimes screws up
645232 symbolic status icons are the wrong size
* Translation updates
Brazilian Portuguese
British English
Bulgarian
Danish
French
German
Hebrew
Hungarian
Latvian
Marathi
Polish
Portuguese
Russian
Serbian
Simplified Chinese
Swedish
Overview of Changes in GTK+ 3.0.6
=================================
* Export dark themes for the window manager
* Make selectable labels work again
* Translation updates:
Afrikaans
Assamese
Korean
Simplified Chinese
Overview of Changes in GTK+ 3.0.5
=================================
* Revert a font theming changes in 3.0.4 that caused
application-set fonts to be ignored
* Use a smaller font size in GtkSwitch
* Updated translations:
Gujarati
Overview of Changes in GTK+ 3.0.4
=================================
* New style classes for 'inline' toolbars and sidebars
have been added
* Theming fixes and enhancement in many widgets, including
GtkRange, GtkFileChooser, GtkNotebook, GtkTreeview and
GtkRadioButton
* Bugs fixed:
640692 GtkNotebook has wrong background colour when border and tabs...
642712 improve the file chooser design
644836 gdk_keyval_to_unicode returns incorrect value for keyval = Return
644975 styleproperties: make sure to merge the font descriptions right
644976 Fix "backspace", "enter", "escape" input.
645057 ./configure fails on gtk+3.0 git head
645134 switch: fix boundaries for the switch motion
645172 radiobutton: don't forget to set the insensitive state when...
645234 Leaky calls to gdk_device_manager_list_devices()
645235 Free the motion hint infos in GdkDisplay
645405 themingengine: don't hardcode white to draw insensitive...
635254 Check whether a resolution is set in GtkPrintSettings before...
* Translation updates:
British English
Dutch
Galician
German
Hungarian
Latvian
Lithuanian
Serbian
Overview of Changes in GTK+ 3.0.3
=================================
* Support for the GDK_NATIVE_WINDOWS environment variable has
been removed
* Bugs fixed:
642604 GtkCssProvider leaks GError
643416 Composited children of GtkScrolledWindow are drawn incorrectly...
644119 Remove support for GDK_NATIVE_WINDOWS
644248 stylecontext: add a raised style class
644276 don't set the "pane-separator" style class to all the container
644348 make GtkNotebook respect the focus-padding style property
644353 Missing annotations in Gtk/Gdk Window and gtk_accelerator_parse
644355 credits toggle inconsintency
644570 handles with a background image don't work
* Updated translations:
Czech
French
Italian
Hebrew
Korean
Kurdish
Slovenian
Swedish
Overview of Changes in GTK+ 3.0.2
=================================
+13
View File
@@ -147,6 +147,18 @@ Use the Microsoft compiler, cl and Make, nmake. Say nmake -f
makefile.msc in gdk and gtk. Be prepared to manually edit various
makefile.msc files, and the makefile snippets in build/win32.
There are also VS 2008/2010 solution and project files to build GTK+, which
are maintained by Chun-wei Fan. They should build GTK+ out of the box,
provided that the afore-mentioned dependencies are installed. They will
build GDK with the Win32 backend, GTK+ itself and the gtk-demo program.
(The GAIL and GAIL-util sources are not built by this method yet)
Please refer to the following GNOME Live! page for a more detailed ouline
on the process of building the GTK+ stack and its dependencies with Visual
C++:
https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack
Alternative 1 also generates Microsoft import libraries (.lib), if you
have lib.exe available. It might also work for cross-compilation from
Unix.
@@ -182,3 +194,4 @@ sources. Unfortunately it seems that only Wacom tablets come with
support for the Wintab API nowadays.
--Tor Lillqvist <tml@iki.fi>, <tml@novell.com>
--Updated by Fan, Chun-wei <fanc999@yahoo.com.tw>
+2 -1
View File
@@ -1,4 +1,5 @@
include $(top_srcdir)/Makefile.decl
SUBDIRS = \
vs9
vs9 \
vs10
+19
View File
@@ -0,0 +1,19 @@
include $(top_srcdir)/Makefile.decl
EXTRA_DIST += \
README.txt \
gtk+.sln \
gtk+.props \
gdk-win32.vcxproj \
gdk-win32.vcxproj.filters \
gdk.vcxproj \
gdk.vcxprojin \
gdk.vcxproj.filters \
gdk.vcxproj.filtersin \
gtk.vcxproj \
gtk.vcxprojin \
gtk.vcxproj.filters \
gtk.vcxproj.filtersin \
gtk3-demo.vcxproj \
gtk3-demo.vcxproj.filters \
install.vcxproj
+86
View File
@@ -0,0 +1,86 @@
Please do not compile this package (GTK+) in paths that contain
spaces in them-as strange problems may occur during compilation or during
the use of the library.
A more detailed outline for instructions on building the GTK+ with Visual
C++ can be found in the following GNOME Live! page:
https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack
This VS10 solution and the projects it includes are intented to be used
in a GTK+ source tree unpacked from a tarball. In a git checkout you
first need to use some Unix-like environment or manual work to expand
the files needed, like config.h.win32.in into config.h.win32 and the
.vcprojin files here into corresponding actual .vcproj files.
You will need the parts from below in the GTK+ stack: GDK-Pixbuf, Pango,
ATK and GLib. External dependencies are at least Cairo
(with Cairo-GObject support, meaning Cairo 1.10.x or later), zlib, libpng,
gettext-runtime, fontconfig*, freetype*, expat*. See the
build/win32/vs10/README.txt file in glib for details where to unpack them.
It is recommended that one builds the dependencies with VS10 as far as
possible, especially those from and using the GTK+ stack (i.e. GLib,
Cairo, ATK, Pango, GDK-Pixbuf), so that crashes caused by mixing calls
to different CRTs can be kept at a minimum.
zlib, libpng, and Cairo do contain support for compiling under VS10
using VS project files and/or makefiles at this time of writing, For the
GTK+ stack, VS10 project files are either available under
$(srcroot)/build/vs10 in the case of GLib (stable/unstable), ATK
(unstable) and GDK-Pixbuf (unstable), and should be in the next
unstable version of Pango. There is no known official VS10 build
support for fontconfig (along with freetype and expat) and
gettext-runtime, so please use the binaries from:
ftp://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32 bit)
ftp://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ (64 bit)
Unzip the binaries obtained from ftp.gnome.org in <root>\vs10\<PlatformName>,
and build the following, if not already done so:
Note: put the resulting zlib, libpng, pcre and Cairo files as follows:
.dll files: <root>\vs10\<PlatformName>\bin
.lib files: <root>\vs10\<PlatformName>\lib
.h files: <root>\vs10\<PlatformName>\include
The recommended build order for these dependencies:
(first unzip any dependent binaries downloaded from the ftp.gnome.org
as described in the README.txt file in the build/win32/vs10 folder)
-zlib
-libpng
-(for GDK-Pixbuf, if not using GDI+) IJG JPEG
-(for GDK-Pixbuf, if not using GDI+) libtiff
[libtiff requires zlib and IJG JPEG]
-(for GDK-Pixbuf, if not using GDI+) jasper [jpeg-2000 library]
-(optional for GLib) PCRE (version 8.12 or later, use of CMake to
build PCRE is recommended-see build/win32/vs10/README.txt of GLib)
-GLib **
-Cairo (inclusive of Cairo-GObject)
-ATK-2.x**
-Pango**
-GDK-Pixbuf**
(note the last 3 dependencies are not interdependent, so the last 3
dependencies can be built in any order)
The "install" project will copy build results and headers into their
appropriate location under <root>\vs10\<PlatformName>. For instance,
built DLLs go into <root>\vs10\<PlatformName>\bin, built LIBs into
<root>\vs10\<PlatformName>\lib and GTK+ headers into
<root>\vs10\<PlatformName>\include\gtk-3.0. This is then from where
project files higher in the stack are supposed to look for them, not
from a specific GLib source tree.
*About the dependencies marked with *: These dependencies are optional
as those are not compulsory components for building and running GTK+
itself, but note that they are needed for people running and building
GIMP or those who need complex script support via fontconfig. They
are referred to by components in Cairo and Pango mainly.
Decide whether you need fontconfig support prior to building Cairo
and Pango.
**:Put the sources of the packages marked with ** in <root>\<package-
source-tree>, and build with VS10 from there.
--Tor Lillqvist <tml@iki.fi>
--Updated by Chun-wei Fan <fanc999@yahoo.com.tw>
+140
View File
@@ -0,0 +1,140 @@
<?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="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}</ProjectGuid>
<RootNamespace>gdkwin32</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GdkDefines);INSIDE_GDK_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GdkDefines);INSIDE_GDK_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\gdk\win32\gdkcursor-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkdevice-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkdevice-wintab.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkdevicemanager-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkdisplay-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkdnd-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkevents-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkgeometry-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkglobals-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkinput.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkkeys-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkmain-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkproperty-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkscreen-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkselection-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdktestutils-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkvisual-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkdisplaymanager-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkwin32id.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkwindow-win32.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\gdk\win32\gdkcursor-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkdevice-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkdevice-wintab.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkdevicemanager-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkdisplay-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkdnd-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkevents-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkgeometry-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkglobals-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkinput.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkkeys-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkmain-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkproperty-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkscreen-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkselection-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdktestutils-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkvisual-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkdisplaymanager-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkwin32id.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkwindow-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
+29
View File
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\gdk\win32\rc\gdk.rc"><Filter>Resource Files</Filter></ResourceCompile>
</ItemGroup>
<ItemGroup>
#include "libgdk.vs10.sourcefiles.filters"
<ClCompile Include="..\..\..\gdk\gdkkeynames.c"><Filter>Source Files</Filter></ClCompile>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="..\..\..\gdk\gdk.symbols">
<Filter>Resource Files</Filter>
</CustomBuild>
</ItemGroup>
</Project>
+191
View File
@@ -0,0 +1,191 @@
<?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="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}</ProjectGuid>
<RootNamespace>gdk</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>imm32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gdk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>imm32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gdk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>imm32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gdk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>imm32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gdk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<CustomBuild Include="..\..\..\gdk\gdk.symbols">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating gdk.def</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GtkGenerateGdkDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)gdk.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating gdk.def</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GtkGenerateGdkDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)gdk.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating gdk.def</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GtkGenerateGdkDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)gdk.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating gdk.def</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GtkGenerateGdkDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)gdk.def;%(Outputs)</Outputs>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\gdk\win32\rc\gdk.rc" />
</ItemGroup>
<ItemGroup>
#include "libgdk.vs10.sourcefiles"
<ClCompile Include="..\..\..\gdk\gdkkeynames.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk-win32.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073fa}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+655
View File
@@ -0,0 +1,655 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="UserMacros">
<GlibEtcInstallRoot>..\..\..\..\..\vs10\$(Platform)</GlibEtcInstallRoot>
<CopyDir>$(GlibEtcInstallRoot)</CopyDir>
<DefDir>$(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)</DefDir>
<GtkApiVersion>3.0</GtkApiVersion>
<GtkBinaryVersion>2.10.0</GtkBinaryVersion>
<GtkDummyPrefix>\"/dummy\"</GtkDummyPrefix>
<GtkPrefixDefine>GTK_PREFIX="\"$(GtkDummyPrefix)\""</GtkPrefixDefine>
<GdkDefines>GDK_COMPILATION;G_LOG_DOMAIN="\"Gdk\""</GdkDefines>
<GtkIncludedImmodulesDefines>INCLUDE_IM_am_et;INCLUDE_IM_cedilla;INCLUDE_IM_cyrillic_translit;INCLUDE_IM_ime;INCLUDE_IM_inuktitut;INCLUDE_IM_ipa;INCLUDE_IM_multipress;INCLUDE_IM_thai;INCLUDE_IM_ti_er;INCLUDE_IM_ti_et;INCLUDE_IM_viqr</GtkIncludedImmodulesDefines>
<GtkDefines>GTK_COMPILATION;G_LOG_DOMAIN="\"Gtk\"";GTK_HOST="\"i686-pc-vs10\"";GTK_PRINT_BACKENDS="\"file\"";GTK_PRINT_PREVIEW_COMMAND="\"undefined-gtk-print-preview-command\"";$(GtkIncludedImmodulesDefines);GTK_LIBDIR="\"$(GtkDummyPrefix)/lib\"";GTK_DATADIR="\"$(GtkDummyPrefix)/share\"";GTK_DATA_PREFIX="\"$(GtkDummyPrefix)\"";GTK_SYSCONFDIR="\"$(GtkDummyPrefix)/etc\"";MULTIPRESS_CONFDIR="\"$(GtkDummyPrefix)/etc/gtk-$(GtkApiVersion)\"";MULTIPRESS_LOCALEDIR="\"$(GtkDummyPrefix)/share/locale\"";GTK_VERSION="\"$(GtkVersion)/etc\"";GTK_BINARY_VERSION="\"$(GtkBinaryVersion)/etc\"";GDK_DISABLE_DEPRECATED</GtkDefines>
<GtkDoInstall>
echo on
mkdir $(CopyDir)\bin
copy $(Configuration)\$(Platform)\bin\*.dll $(CopyDir)\bin
mkdir $(CopyDir)\bin\gtk3-demo
copy $(Configuration)\$(Platform)\bin\*.exe $(CopyDir)\bin\gtk3-demo
copy ..\..\..\demos\gtk-demo\*.c $(CopyDir)\bin\gtk3-demo
copy ..\..\..\demos\gtk-demo\*.h $(CopyDir)\bin\gtk3-demo
copy ..\..\..\demos\gtk-demo\*.ui $(CopyDir)\bin\gtk3-demo
copy ..\..\..\demos\gtk-demo\*.jpg $(CopyDir)\bin\gtk3-demo
copy ..\..\..\demos\gtk-demo\*.png $(CopyDir)\bin\gtk3-demo
copy ..\..\..\demos\gtk-demo\*.gif $(CopyDir)\bin\gtk3-demo
mkdir $(CopyDir)\lib
copy $(Configuration)\$(Platform)\bin\*-$(GtkApiVersion).lib $(CopyDir)\lib
mkdir $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdk.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkapplaunchcontext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkcairo.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkcolor.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkcursor.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkdevice.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkdevicemanager.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkdisplay.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkdisplaymanager.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkdnd.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkenumtypes.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkevents.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkkeys.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkkeysyms.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkmain.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkpango.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkpixbuf.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkprivate.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkproperty.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkrectangle.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkrgba.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkscreen.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkselection.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdktestutils.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkthreads.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdktypes.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkvisual.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\win32\gdkwin32.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkwindow.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
mkdir $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk\win32
copy ..\..\..\gdk\win32\gdkwin32cursor.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk\win32
copy ..\..\..\gdk\win32\gdkwin32display.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk\win32
copy ..\..\..\gdk\win32\gdkwin32displaymanager.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk\win32
copy ..\..\..\gdk\win32\gdkwin32dnd.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk\win32
copy ..\..\..\gdk\win32\gdkwin32keys.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk\win32
copy ..\..\..\gdk\win32\gdkwin32screen.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk\win32
copy ..\..\..\gdk\win32\gdkwin32window.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk\win32
mkdir $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtk.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkaboutdialog.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkaccelgroup.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkaccelgroupprivate.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkaccellabel.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkaccelmap.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkaccessible.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkaction.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkactiongroup.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkactivatable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkadjustment.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkalignment.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkappchooser.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkappchooserbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkappchooserdialog.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkappchooserwidget.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkapplication.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkarrow.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkaspectframe.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkassistant.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkbbox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkbin.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkbindings.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkbox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkborder.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkbuildable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkbuilder.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcalendar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellarea.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellareabox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellareacontext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcelleditable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcelllayout.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrenderer.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrendereraccel.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrenderercombo.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrendererpixbuf.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrendererprogress.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrendererspin.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrendererspinner.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrenderertext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrenderertoggle.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellview.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcheckbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcheckmenuitem.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkclipboard.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcolorbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcolorsel.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcolorseldialog.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcombobox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcomboboxtext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcontainer.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcssprovider.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkdebug.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkdialog.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkdnd.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkdrawingarea.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkeditable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkentry.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkentrybuffer.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkentrycompletion.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkenums.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkeventbox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkexpander.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkfilechooser.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkfilechooserbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkfilechooserdialog.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkfilechooserwidget.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkfilefilter.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkfixed.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkfontbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkfontsel.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkframe.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkgradient.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkgrid.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkhandlebox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkhbbox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkhbox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkhpaned.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkhscale.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkhscrollbar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkhseparator.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkhsv.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkiconfactory.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkicontheme.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkiconview.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkimage.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkimagemenuitem.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkimcontext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkimcontextsimple.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkimmodule.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkimmulticontext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkinfobar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkinvisible.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtklabel.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtklayout.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtklinkbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkliststore.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmain.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmenu.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmenubar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmenuitem.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmenushell.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmenutoolbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmessagedialog.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmisc.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmodules.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmountoperation.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtknotebook.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtknumerableicon.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkoffscreenwindow.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkorientable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkpagesetup.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkpaned.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkpapersize.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkplug.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkprintcontext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkprintoperation.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkprintoperationpreview.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkprintsettings.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkprivate.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkprogressbar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkradioaction.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkradiobutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkradiomenuitem.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkradiotoolbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrange.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrc.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrecentaction.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrecentchooser.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrecentchooserdialog.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrecentchoosermenu.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrecentchooserwidget.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrecentfilter.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrecentmanager.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkscale.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkscalebutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkscrollable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkscrollbar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkscrolledwindow.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkselection.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkseparator.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkseparatormenuitem.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkseparatortoolitem.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtksettings.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkshow.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtksizegroup.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtksizerequest.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtksocket.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkspinbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkspinner.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkstatusbar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkstatusicon.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkstock.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkstyle.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkstylecontext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkstyleproperties.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkstyleprovider.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkswitch.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtksymboliccolor.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktearoffmenuitem.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktestutils.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextattributes.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextbuffer.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextbufferrichtext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextchild.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextdisplay.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextiter.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextlayout.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextmark.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktexttag.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktexttagtable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextview.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkthemingengine.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktoggleaction.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktogglebutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktoggletoolbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktoolbar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktoolbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktoolitem.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktoolitemgroup.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktoolpalette.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktoolshell.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktooltip.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreednd.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreemodel.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreemodelfilter.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreemodelsort.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreeselection.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreesortable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreestore.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreeview.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreeviewcolumn.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktypebuiltins.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkuimanager.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkvbbox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkvbox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkversion.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkviewport.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkvolumebutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkvpaned.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkvscale.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkvscrollbar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkvseparator.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkwidget.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkwidgetpath.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkwindow.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gdk\gdkconfig.h $(CopyDir)\include\gtk-3.0\gdk
copy $(Configuration)\$(Platform)\bin\*-$(GtkApiVersion).lib $(CopyDir)\lib
mkdir $(CopyDir)\share\glib-2.0\schemas
copy ..\..\..\gtk\org.gtk.Settings.FileChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas
echo "Compiling gsettings XML File(s)..."
$(CopyDir)\bin\glib-compile-schemas.exe $(CopyDir)\share\glib-2.0\schemas
</GtkDoInstall>
<GtkGenerateGdkDef>echo EXPORTS &gt;"$(DefDir)\gdk.def" &amp;&amp; cl /EP -DGDK_WINDOWING_WIN32 -DALL_FILES -DG_GNUC_CONST= ..\..\..\gdk\gdk.symbols &gt;&gt;"$(DefDir)\gdk.def"</GtkGenerateGdkDef>
<GtkGenerateGtkDef>echo EXPORTS &gt;"$(DefDir)\gtk.def" &amp;&amp; cl /EP -DGDK_WINDOWING_WIN32 -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_PRINTF=;G_GNUC_PRINTF ..\..\..\gtk\gtk.symbols &gt;&gt;"$(DefDir)\gtk.def"</GtkGenerateGtkDef>
<GtkLibtoolCompatibleDllPrefix>lib</GtkLibtoolCompatibleDllPrefix>
<GtkLibtoolCompatibleDllSuffix>-$(GtkApiVersion)-0</GtkLibtoolCompatibleDllSuffix>
<GtkSeparateVS10DllPrefix />
<GtkSeparateVS10DllSuffix>-3-vs10</GtkSeparateVS10DllSuffix>
<GtkDllPrefix>$(GtkSeparateVS10DllPrefix)</GtkDllPrefix>
<GtkDllSuffix>$(GtkSeparateVS10DllSuffix)</GtkDllSuffix>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>gtk+props</_PropertySheetDisplayName>
<OutDir>$(SolutionDir)$(Configuration)\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)$(Configuration)\$(PlatformName)\obj\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\atk-1.0;$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\gdk-pixbuf-2.0;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_CONFIG_H;G_DISABLE_DEPRECATED;G_DISABLE_SINGLE_INCLUDES;ATK_DISABLE_SINGLE_INCLUDES;GDK_PIXBUF_DISABLE_SINGLE_INCLUDES;GTK_DISABLE_SINGLE_INCLUDES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
</ClCompile>
<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;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(GlibEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PreBuildEvent>
<Command>
if exist ..\..\..\config.h goto DONE_CONFIG_H
copy ..\..\..\config.h.win32 ..\..\..\config.h
:DONE_CONFIG_H
copy ..\..\..\gdk\gdkconfig.h.win32 ..\..\..\gdk\gdkconfig.h
</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<BuildMacro Include="GlibEtcInstallRoot">
<Value>$(GlibEtcInstallRoot)</Value>
</BuildMacro>
<BuildMacro Include="CopyDir">
<Value>$(CopyDir)</Value>
</BuildMacro>
<BuildMacro Include="DefDir">
<Value>$(DefDir)</Value>
</BuildMacro>
<BuildMacro Include="GtkApiVersion">
<Value>$(GtkApiVersion)</Value>
</BuildMacro>
<BuildMacro Include="GtkBinaryVersion">
<Value>$(GtkBinaryVersion)</Value>
</BuildMacro>
<BuildMacro Include="GtkDummyPrefix">
<Value>$(GtkDummyPrefix)</Value>
</BuildMacro>
<BuildMacro Include="GtkPrefixDefine">
<Value>$(GtkPrefixDefine)</Value>
</BuildMacro>
<BuildMacro Include="GdkDefines">
<Value>$(GdkDefines)</Value>
</BuildMacro>
<BuildMacro Include="GtkIncludedImmodulesDefines">
<Value>$(GtkIncludedImmodulesDefines)</Value>
</BuildMacro>
<BuildMacro Include="GtkDefines">
<Value>$(GtkDefines)</Value>
</BuildMacro>
<BuildMacro Include="GtkDoInstall">
<Value>$(GtkDoInstall)</Value>
</BuildMacro>
<BuildMacro Include="GtkGenerateGdkDef">
<Value>$(GtkGenerateGdkDef)</Value>
</BuildMacro>
<BuildMacro Include="GtkGenerateGtkDef">
<Value>$(GtkGenerateGtkDef)</Value>
</BuildMacro>
<BuildMacro Include="GtkLibtoolCompatibleDllPrefix">
<Value>$(GtkLibtoolCompatibleDllPrefix)</Value>
</BuildMacro>
<BuildMacro Include="GtkLibtoolCompatibleDllSuffix">
<Value>$(GtkLibtoolCompatibleDllSuffix)</Value>
</BuildMacro>
<BuildMacro Include="GtkSeparateVS10DllPrefix">
<Value>$(GtkSeparateVS10DllPrefix)</Value>
</BuildMacro>
<BuildMacro Include="GtkSeparateVS10DllSuffix">
<Value>$(GtkSeparateVS10DllSuffix)</Value>
</BuildMacro>
<BuildMacro Include="GtkDllPrefix">
<Value>$(GtkDllPrefix)</Value>
</BuildMacro>
<BuildMacro Include="GtkDllSuffix">
<Value>$(GtkDllSuffix)</Value>
</BuildMacro>
</ItemGroup>
</Project>
+65
View File
@@ -0,0 +1,65 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C++ Express 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk-win32", "gdk-win32.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk", "gdk.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk", "gtk.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-demo", "gtk3-demo.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
+43
View File
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\gtk\gtk-win32.rc"><Filter>Resource Files</Filter></ResourceCompile>
</ItemGroup>
<ItemGroup>
#include "libgtk.vs10.sourcefiles.filters"
<ClCompile Include="..\..\..\modules\input\gtkimcontextime.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\gtkimcontextmultipress.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\gtkimcontextthai.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imam-et.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imcedilla.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imcyrillic-translit.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imime.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\iminuktitut.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imipa.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\immultipress.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imthai.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imti-er.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imti-et.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imviqr.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\thai-charprop.c"><Filter>Source Files</Filter></ClCompile>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="..\..\..\gdk\gtk.symbols">
<Filter>Resource Files</Filter>
</CustomBuild>
</ItemGroup>
</Project>
+205
View File
@@ -0,0 +1,205 @@
<?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="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}</ProjectGuid>
<RootNamespace>gtk</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>atk-1.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gtk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>atk-1.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gtk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>atk-1.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gtk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>atk-1.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gtk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<CustomBuild Include="..\..\..\gdk\gtk.symbols">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating gtk.def</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GtkGenerateGtkDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)gtk.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating gtk.def</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GtkGenerateGtkDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)gtk.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating gtk.def</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GtkGenerateGtkDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)gtk.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating gtk.def</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GtkGenerateGtkDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)gtk.def;%(Outputs)</Outputs>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\gtk\gtk-win32.rc" />
</ItemGroup>
<ItemGroup>
#include "libgtk.vs10.sourcefiles"
<ClCompile Include="..\..\..\modules\input\gtkimcontextime.c" />
<ClCompile Include="..\..\..\modules\input\gtkimcontextmultipress.c" />
<ClCompile Include="..\..\..\modules\input\gtkimcontextthai.c" />
<ClCompile Include="..\..\..\modules\input\imam-et.c" />
<ClCompile Include="..\..\..\modules\input\imcedilla.c" />
<ClCompile Include="..\..\..\modules\input\imcyrillic-translit.c" />
<ClCompile Include="..\..\..\modules\input\imime.c" />
<ClCompile Include="..\..\..\modules\input\iminuktitut.c" />
<ClCompile Include="..\..\..\modules\input\imipa.c" />
<ClCompile Include="..\..\..\modules\input\immultipress.c" />
<ClCompile Include="..\..\..\modules\input\imthai.c" />
<ClCompile Include="..\..\..\modules\input\imti-er.c" />
<ClCompile Include="..\..\..\modules\input\imti-et.c" />
<ClCompile Include="..\..\..\modules\input\imviqr.c" />
<ClCompile Include="..\..\..\modules\input\thai-charprop.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f7}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+219
View File
@@ -0,0 +1,219 @@
<?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="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}</ProjectGuid>
<RootNamespace>gtkdemo</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\demos\gtk-demo\appwindow.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\assistant.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\builder.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\button_box.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\changedisplay.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\clipboard.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\colorsel.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\combobox.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\dialog.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\drawingarea.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\editable_cells.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\entry_buffer.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\entry_completion.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\expander.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\hypertext.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\iconview.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\iconview_edit.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\images.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\infobar.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\links.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\list_store.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\main.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\menus.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\offscreen_window.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\offscreen_window2.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\panes.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\pickers.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\pixbufs.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\printing.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\rotated_text.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\search_entry.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\sizegroup.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\spinner.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\stock_browser.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\textscroll.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\textview.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\toolpalette.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\tree_store.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\ui_manager.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f7}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f5}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+132
View File
@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\demos\gtk-demo\appwindow.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\assistant.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\builder.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\button_box.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\changedisplay.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\clipboard.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\colorsel.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\combobox.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\dialog.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\drawingarea.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\editable_cells.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\entry_buffer.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\entry_completion.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\expander.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\hypertext.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\iconview.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\iconview_edit.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\images.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\infobar.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\links.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\list_store.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\main.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\menus.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\offscreen_window.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\offscreen_window2.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\panes.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\pickers.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\pixbufs.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\printing.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\rotated_text.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\search_entry.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\sizegroup.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\spinner.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\stock_browser.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\textscroll.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\textview.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\toolpalette.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\tree_store.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\ui_manager.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
+112
View File
@@ -0,0 +1,112 @@
<?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="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}</ProjectGuid>
<RootNamespace>install</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<PreBuildEvent>
<Command>$(GtkDoInstall)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<PreBuildEvent>
<Command>$(GtkDoInstall)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PreBuildEvent>
<Command>$(GtkDoInstall)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<PreBuildEvent>
<Command>$(GtkDoInstall)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="gdk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f7}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk-demo.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073fc}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f5}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+1 -1
View File
@@ -9,5 +9,5 @@ EXTRA_DIST += \
gdk.vcprojin \
gtk.vcproj \
gtk.vcprojin \
gtk-demo.vcproj \
gtk3-demo.vcproj \
install.vcproj
+69 -6
View File
@@ -1,4 +1,11 @@
Note that all this is rather experimental.
Please do not compile this package (GTK+) in paths that contain
spaces in them-as strange problems may occur during compilation or during
the use of the library.
A more detailed outline for instructions on building the GTK+ with Visual
C++ can be found in the following GNOME Live! page:
https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack
This VS9 solution and the projects it includes are intented to be used
in a GTK+ source tree unpacked from a tarball. In a git checkout you
@@ -6,10 +13,55 @@ first need to use some Unix-like environment or manual work to expand
the files needed, like config.h.win32.in into config.h.win32 and the
.vcprojin files here into corresponding actual .vcproj files.
You will need the parts from below in the GTK+ stack: gdk-pixbuf, pango,
atk and glib. External dependencies are at least zlib, libpng,
proxy-libintl, fontconfig, freetype, expat. See the corresponding
README.txt file in glib for details where to unpack them.
You will need the parts from below in the GTK+ stack: GDK-Pixbuf, Pango,
ATK and GLib. External dependencies are at least Cairo
(with Cairo-GObject support, meaning Cairo 1.10.x or later), zlib, libpng,
gettext-runtime, fontconfig*, freetype*, expat*. See the
build/win32/vs9/README.txt file in glib for details where to unpack them.
It is recommended that one builds the dependencies with VS9 as far as
possible, especially those from and using the GTK+ stack (i.e. GLib,
Cairo, ATK, Pango, GDK-Pixbuf), so that crashes caused by mixing calls
to different CRTs can be kept at a minimum.
zlib, libpng, and Cairo do contain support for compiling under VS9
using VS project files and/or makefiles at this time of writing, For the
GTK+ stack, VS9 project files are either available under
$(srcroot)/build/vs9 in the case of GLib (stable/unstable), ATK
(unstable) and GDK-Pixbuf (unstable), and should be in the next
unstable version of Pango. There is no known official VS9 build
support for fontconfig (along with freetype and expat) and
gettext-runtime, so please use the binaries from:
ftp://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32 bit)
ftp://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ (64 bit)
Unzip the binaries obtained from ftp.gnome.org in <root>\vs9\<PlatformName>,
and build the following, if not already done so:
Note: put the resulting zlib, libpng, pcre and Cairo files as follows:
.dll files: <root>\vs9\<PlatformName>\bin
.lib files: <root>\vs9\<PlatformName>\lib
.h files: <root>\vs9\<PlatformName>\include
The recommended build order for these dependencies:
(first unzip any dependent binaries downloaded from the ftp.gnome.org
as described in the README.txt file in the build/win32/vs9 folder)
-zlib
-libpng
-(for GDK-Pixbuf, if not using GDI+) IJG JPEG
-(for GDK-Pixbuf, if not using GDI+) libtiff
[libtiff requires zlib and IJG JPEG]
-(for GDK-Pixbuf, if not using GDI+) jasper [jpeg-2000 library])
-(optional for GLib) PCRE (version 8.12 or later, use of CMake to
build PCRE is recommended-see build/win32/vs9/README.txt of GLib)
-GLib **
-Cairo (inclusive of Cairo-GObject)
-ATK **
-Pango**
-GDK-Pixbuf **
(note the last 3 dependencies are not interdependent, so the last 3
dependencies can be built in any order)
The "install" project will copy build results and headers into their
appropriate location under <root>\vs9\<PlatformName>. For instance,
@@ -19,5 +71,16 @@ 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.
*About the dependencies marked with *: These dependencies are optional
as those are not compulsory components for building and running GTK+
itself, but note that they are needed for people running and building
GIMP or those who need complex script support via fontconfig. They
are referred to by components in Cairo and Pango mainly.
Decide whether you need fontconfig support prior to building Cairo
and Pango.
**:Put the sources of the packages marked with ** in <root>\<package-
source-tree>, and build with VS9 from there.
--Tor Lillqvist <tml@iki.fi>
--Updated by Chun-wei Fan <fanc999 --at-- yahoo --dot-- com --dot-- tw>
--Updated by Chun-wei Fan <fanc999@yahoo.com.tw>
+2 -2
View File
@@ -32,7 +32,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
@@ -73,7 +73,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
+2 -2
View File
@@ -32,7 +32,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;$(GdkDefines)"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GdkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
@@ -97,7 +97,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;$(GdkDefines)"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GdkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
+1 -1
View File
@@ -12,7 +12,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk", "gtk.vcproj", "{FC5AA
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk-demo", "gtk-demo.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-demo", "gtk3-demo.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"
ProjectSection(ProjectDependencies) = postProject
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}
+17 -3
View File
@@ -4,17 +4,17 @@
Version="8.00"
Name="gtk+props"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin"
IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj"
IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)\"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\atk-1.0;$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\GdkPixbuf-2.0"
AdditionalIncludeDirectories="..\..\..;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\atk-1.0;$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\gdk-pixbuf-2.0"
PreprocessorDefinitions="HAVE_CONFIG_H;G_DISABLE_DEPRECATED;G_DISABLE_SINGLE_INCLUDES;ATK_DISABLE_SINGLE_INCLUDES;GDK_PIXBUF_DISABLE_SINGLE_INCLUDES;GTK_DISABLE_SINGLE_INCLUDES"
ForcedIncludeFiles="msvc_recommended_pragmas.h"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="gdk_pixbuf-2.0.lib pangocairo-1.0.lib pango-1.0.lib cairo.lib gio-2.0.lib gmodule-2.0.lib gobject-2.0.lib glib-2.0.lib intl.lib"
AdditionalDependencies="gdk_pixbuf-2.0.lib pangocairo-1.0.lib pango-1.0.lib cairo.lib cairo-gobject.lib gio-2.0.lib gmodule-2.0.lib gobject-2.0.lib glib-2.0.lib intl.lib"
AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib"
/>
<Tool
@@ -105,6 +105,15 @@ copy ..\..\..\gdk\gdkvisual.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#
copy ..\..\..\gdk\win32\gdkwin32.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkwindow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
mkdir $(OutDir)\include\gtk-$(GtkApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32cursor.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32display.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32displaymanager.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32dnd.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32keys.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32screen.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32window.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk\win32&#x0D;&#x0A;
mkdir $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtk.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaboutdialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
@@ -319,6 +328,11 @@ copy ..\..\..\gtk\gtkwindow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#
copy ..\..\..\gdk\gdkconfig.h $(OutDir)\include\gtk-3.0\gdk&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\*-$(GtkApiVersion).lib $(OutDir)\lib&#x0D;&#x0A;
mkdir $(OutDir)\share\glib-2.0\schemas&#x0D;&#x0A;
copy ..\..\..\gtk\org.gtk.Settings.FileChooser.gschema.xml $(OutDir)\share\glib-2.0\schemas&#x0D;&#x0A;
echo &quot;Compiling gsettings XML File(s)...&quot;&#x0D;&#x0A;
$(OutDir)\bin\glib-compile-schemas.exe $(OutDir)\share\glib-2.0\schemas&#x0D;&#x0A;
"
/>
<UserMacro
+2 -2
View File
@@ -32,7 +32,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="_DEBUG;$(GtkDefines)"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
@@ -97,7 +97,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;$(GtkDefines)"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -1,212 +1,212 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gtk-demo"
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"
RootNamespace="gtkdemo"
Keyword="Win32Proj"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="_DEBUG;$(GtkPrefixDefine)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Debug|x64"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="_DEBUG;$(GtkPrefixDefine)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
</Configuration>
<Configuration
Name="Release|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="$(GtkPrefixDefine)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Release|x64"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="$(GtkPrefixDefine)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File RelativePath="..\..\..\demos\gtk-demo\appwindow.c" />
<File RelativePath="..\..\..\demos\gtk-demo\assistant.c" />
<File RelativePath="..\..\..\demos\gtk-demo\builder.c" />
<File RelativePath="..\..\..\demos\gtk-demo\button_box.c" />
<File RelativePath="..\..\..\demos\gtk-demo\changedisplay.c" />
<File RelativePath="..\..\..\demos\gtk-demo\clipboard.c" />
<File RelativePath="..\..\..\demos\gtk-demo\colorsel.c" />
<File RelativePath="..\..\..\demos\gtk-demo\combobox.c" />
<File RelativePath="..\..\..\demos\gtk-demo\dialog.c" />
<File RelativePath="..\..\..\demos\gtk-demo\drawingarea.c" />
<File RelativePath="..\..\..\demos\gtk-demo\editable_cells.c" />
<File RelativePath="..\..\..\demos\gtk-demo\entry_buffer.c" />
<File RelativePath="..\..\..\demos\gtk-demo\entry_completion.c" />
<File RelativePath="..\..\..\demos\gtk-demo\expander.c" />
<File RelativePath="..\..\..\demos\gtk-demo\hypertext.c" />
<File RelativePath="..\..\..\demos\gtk-demo\iconview.c" />
<File RelativePath="..\..\..\demos\gtk-demo\iconview_edit.c" />
<File RelativePath="..\..\..\demos\gtk-demo\images.c" />
<File RelativePath="..\..\..\demos\gtk-demo\infobar.c" />
<File RelativePath="..\..\..\demos\gtk-demo\links.c" />
<File RelativePath="..\..\..\demos\gtk-demo\list_store.c" />
<File RelativePath="..\..\..\demos\gtk-demo\main.c" />
<File RelativePath="..\..\..\demos\gtk-demo\menus.c" />
<File RelativePath="..\..\..\demos\gtk-demo\offscreen_window.c" />
<File RelativePath="..\..\..\demos\gtk-demo\offscreen_window2.c" />
<File RelativePath="..\..\..\demos\gtk-demo\panes.c" />
<File RelativePath="..\..\..\demos\gtk-demo\pickers.c" />
<File RelativePath="..\..\..\demos\gtk-demo\pixbufs.c" />
<File RelativePath="..\..\..\demos\gtk-demo\printing.c" />
<File RelativePath="..\..\..\demos\gtk-demo\rotated_text.c" />
<File RelativePath="..\..\..\demos\gtk-demo\search_entry.c" />
<File RelativePath="..\..\..\demos\gtk-demo\sizegroup.c" />
<File RelativePath="..\..\..\demos\gtk-demo\spinner.c" />
<File RelativePath="..\..\..\demos\gtk-demo\stock_browser.c" />
<File RelativePath="..\..\..\demos\gtk-demo\textscroll.c" />
<File RelativePath="..\..\..\demos\gtk-demo\textview.c" />
<File RelativePath="..\..\..\demos\gtk-demo\toolpalette.c" />
<File RelativePath="..\..\..\demos\gtk-demo\tree_store.c" />
<File RelativePath="..\..\..\demos\gtk-demo\ui_manager.c" />
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gtk3-demo"
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"
RootNamespace="gtk3demo"
Keyword="Win32Proj"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkPrefixDefine)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Debug|x64"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkPrefixDefine)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
</Configuration>
<Configuration
Name="Release|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="$(GtkPrefixDefine)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Release|x64"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="$(GtkPrefixDefine)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File RelativePath="..\..\..\demos\gtk-demo\appwindow.c" />
<File RelativePath="..\..\..\demos\gtk-demo\assistant.c" />
<File RelativePath="..\..\..\demos\gtk-demo\builder.c" />
<File RelativePath="..\..\..\demos\gtk-demo\button_box.c" />
<File RelativePath="..\..\..\demos\gtk-demo\changedisplay.c" />
<File RelativePath="..\..\..\demos\gtk-demo\clipboard.c" />
<File RelativePath="..\..\..\demos\gtk-demo\colorsel.c" />
<File RelativePath="..\..\..\demos\gtk-demo\combobox.c" />
<File RelativePath="..\..\..\demos\gtk-demo\dialog.c" />
<File RelativePath="..\..\..\demos\gtk-demo\drawingarea.c" />
<File RelativePath="..\..\..\demos\gtk-demo\editable_cells.c" />
<File RelativePath="..\..\..\demos\gtk-demo\entry_buffer.c" />
<File RelativePath="..\..\..\demos\gtk-demo\entry_completion.c" />
<File RelativePath="..\..\..\demos\gtk-demo\expander.c" />
<File RelativePath="..\..\..\demos\gtk-demo\hypertext.c" />
<File RelativePath="..\..\..\demos\gtk-demo\iconview.c" />
<File RelativePath="..\..\..\demos\gtk-demo\iconview_edit.c" />
<File RelativePath="..\..\..\demos\gtk-demo\images.c" />
<File RelativePath="..\..\..\demos\gtk-demo\infobar.c" />
<File RelativePath="..\..\..\demos\gtk-demo\links.c" />
<File RelativePath="..\..\..\demos\gtk-demo\list_store.c" />
<File RelativePath="..\..\..\demos\gtk-demo\main.c" />
<File RelativePath="..\..\..\demos\gtk-demo\menus.c" />
<File RelativePath="..\..\..\demos\gtk-demo\offscreen_window.c" />
<File RelativePath="..\..\..\demos\gtk-demo\offscreen_window2.c" />
<File RelativePath="..\..\..\demos\gtk-demo\panes.c" />
<File RelativePath="..\..\..\demos\gtk-demo\pickers.c" />
<File RelativePath="..\..\..\demos\gtk-demo\pixbufs.c" />
<File RelativePath="..\..\..\demos\gtk-demo\printing.c" />
<File RelativePath="..\..\..\demos\gtk-demo\rotated_text.c" />
<File RelativePath="..\..\..\demos\gtk-demo\search_entry.c" />
<File RelativePath="..\..\..\demos\gtk-demo\sizegroup.c" />
<File RelativePath="..\..\..\demos\gtk-demo\spinner.c" />
<File RelativePath="..\..\..\demos\gtk-demo\stock_browser.c" />
<File RelativePath="..\..\..\demos\gtk-demo\textscroll.c" />
<File RelativePath="..\..\..\demos\gtk-demo\textview.c" />
<File RelativePath="..\..\..\demos\gtk-demo\toolpalette.c" />
<File RelativePath="..\..\..\demos\gtk-demo\tree_store.c" />
<File RelativePath="..\..\..\demos\gtk-demo\ui_manager.c" />
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
+13 -12
View File
@@ -10,8 +10,8 @@
m4_define([gtk_major_version], [3])
m4_define([gtk_minor_version], [0])
m4_define([gtk_micro_version], [3])
m4_define([gtk_interface_age], [3])
m4_define([gtk_micro_version], [13])
m4_define([gtk_interface_age], [13])
m4_define([gtk_binary_age],
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
m4_define([gtk_version],
@@ -315,7 +315,7 @@ GDK_WINDOWING=
GIO_PACKAGE=gio-2.0
PANGO_PACKAGES="pango pangocairo"
if test "x$enable_x11_backend" == xyes; then
if test "x$enable_x11_backend" = xyes; then
# GDK calls the xlib backend "x11," cairo calls it "xlib." Other
# backend names are identical.
cairo_backends="$cairo_backends cairo-xlib"
@@ -328,7 +328,7 @@ if test "x$enable_x11_backend" == xyes; then
#define GDK_WINDOWING_X11"
fi
if test "x$enable_win32_backend" == xyes; then
if test "x$enable_win32_backend" = xyes; then
cairo_backends="$cairo_backends cairo-win32"
GDK_BACKENDS="$GDK_BACKENDS win32"
backend_immodules="$backend_immodules,ime"
@@ -341,7 +341,7 @@ else
AM_CONDITIONAL(USE_WIN32, false)
fi
if test "x$enable_quartz_backend" == xyes; then
if test "x$enable_quartz_backend" = xyes; then
cairo_backends="$cairo_backends cairo-quartz"
GDK_BACKENDS="$GDK_BACKENDS quartz"
GDK_WINDOWING="$GDK_WINDOWING
@@ -353,7 +353,7 @@ else
fi
# strip leading space
GDK_BACKENDS=${GDK_BACKENDS/# }
GDK_BACKENDS=${GDK_BACKENDS#* }
AC_SUBST(GDK_BACKENDS)
@@ -478,7 +478,7 @@ case $enable_explicit_deps in
auto)
export SED
deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
if test "x$deplibs_check_method" != xpass_all || test "x$enable_static" = xyes ; then
enable_explicit_deps=yes
else
enable_explicit_deps=no
@@ -873,7 +873,7 @@ GTK_DEP_PACKAGES_FOR_X=
GTK_DEP_LIBS_FOR_X=
X_EXTENSIONS=
if test "x$enable_x11_backend" == xyes; then
if test "x$enable_x11_backend" = xyes; then
X_PACKAGES=fontconfig
#
@@ -1166,7 +1166,7 @@ if test "x$enable_x11_backend" == xyes; then
AM_CONDITIONAL(USE_X11, true)
# strip leading space
X_EXTENSIONS=${X_EXTENSIONS/# }
X_EXTENSIONS=${X_EXTENSIONS#* }
else
XPACKAGES=
@@ -1258,7 +1258,7 @@ else
fi
GTK_PACKAGES="atk cairo cairo-gobject gdk-pixbuf-2.0 gio-2.0"
if test "x$enable_x11_backend" == xyes; then
if test "x$enable_x11_backend" = xyes; then
GTK_PACKAGES="$GTK_PACKAGES pangoft2"
fi
GTK_EXTRA_LIBS=
@@ -1629,6 +1629,7 @@ docs/tools/Makefile
build/Makefile
build/win32/Makefile
build/win32/vs9/Makefile
build/win32/vs10/Makefile
gdk/Makefile
gdk/x11/Makefile
gdk/win32/Makefile
@@ -1664,8 +1665,8 @@ perf/Makefile
AC_OUTPUT
# beautify the immodule list a bit
included_immodules=${included_immodules//,/ }
included_immodules=${included_immodules:-none}
included_immodules=$(echo "${included_immodules}" | $SED 's/,/ /g')
if test -z "${included_immodules}"; then included_immodules="none"; fi
echo ""
echo " GTK+ $GTK_VERSION"
+15 -8
View File
@@ -1,7 +1,7 @@
/* Pickers
/* Pickers
*
* These widgets are mainly intended for use in preference dialogs.
* They allow to select colors, fonts, files and directories.
* They allow to select colors, fonts, files, directories and applications.
*/
#include <gtk/gtk.h>
@@ -18,14 +18,14 @@ do_pickers (GtkWidget *do_widget)
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Pickers");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed),
&window);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
table = gtk_table_new (4, 2, FALSE);
table = gtk_table_new (5, 2, FALSE);
gtk_table_set_col_spacing (GTK_TABLE (table), 0, 10);
gtk_table_set_row_spacings (GTK_TABLE (table), 3);
gtk_container_add (GTK_CONTAINER (window), table);
@@ -46,17 +46,24 @@ do_pickers (GtkWidget *do_widget)
label = gtk_label_new ("File:");
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
picker = gtk_file_chooser_button_new ("Pick a File",
picker = gtk_file_chooser_button_new ("Pick a File",
GTK_FILE_CHOOSER_ACTION_OPEN);
gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 2, 3);
gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 2, 3);
label = gtk_label_new ("Folder:");
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
picker = gtk_file_chooser_button_new ("Pick a Folder",
picker = gtk_file_chooser_button_new ("Pick a Folder",
GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 3, 4);
gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 3, 4);
label = gtk_label_new ("Mail:");
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
picker = gtk_app_chooser_button_new ("x-scheme-handler/mailto");
gtk_app_chooser_button_set_show_dialog_item (GTK_APP_CHOOSER_BUTTON (picker), TRUE);
gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 4, 5);
gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 4, 5);
}
if (!gtk_widget_get_visible (window))
@@ -64,7 +71,7 @@ do_pickers (GtkWidget *do_widget)
gtk_widget_show_all (window);
}
else
{
{
gtk_widget_destroy (window);
window = NULL;
}
+4 -4
View File
@@ -421,10 +421,10 @@ definitions should be vertically aligned in three columns:
The maximum width of each column is given by the longest element in the
column:
void gtk_type_set_property (GtkType *type,
const gchar *value,
GError **error);
G_CONST_RETURN gchar *gtk_type_get_property (GtkType *type);
void gtk_type_set_property (GtkType *type,
const gchar *value,
GError **error);
const gchar *gtk_type_get_property (GtkType *type);
It is also possible to align the columns to the next tab:
+1
View File
@@ -949,6 +949,7 @@ gdk_x11_screen_supports_net_wm_hint
gdk_x11_window_foreign_new_for_display
gdk_x11_window_lookup_for_display
gdk_x11_window_get_xid
gdk_x11_window_set_theme_variant_gtk_only
gdk_x11_window_set_user_time
gdk_x11_window_move_to_current_desktop
gdk_x11_get_default_root_xwindow
+1 -1
View File
@@ -178,7 +178,7 @@ HTML_IMAGES = \
$(top_srcdir)/gtk/stock-icons/32/gtk-dnd-multiple.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-edit.png \
$(top_srcdir)/gtk/stock-icons/24/system-run.png \
$(top_srcdir)/gtk/stock-icons/24/document-x-generic.png \
$(top_srcdir)/gtk/stock-icons/24/text-x-generic.png \
$(top_srcdir)/gtk/stock-icons/24/edit-find.png \
$(top_srcdir)/gtk/stock-icons/24/edit-find-replace.png \
$(top_srcdir)/gtk/stock-icons/24/go-bottom.png \
+1 -1
View File
@@ -5755,7 +5755,7 @@ gtk_style_new
gtk_style_copy
gtk_style_attach
gtk_style_detach
gtk_style_get_context
gtk_style_has_context
gtk_style_set_background
gtk_style_apply_default_background
gtk_style_lookup_color
+2 -2
View File
@@ -102,8 +102,8 @@ state (explained in its documentation).
</para>
<para>
For strings returned from functions, they will be declared "const" (using
#G_CONST_RETURN) if they should not be freed. Non-const strings should be
For strings returned from functions, they will be declared "const"
if they should not be freed. Non-const strings should be
freed with g_free(). Arrays follow the same rule. If you find an
undocumented exception to the rules, please report a bug to <ulink
url="http://bugzilla.gnome.org">http://bugzilla.gnome.org</ulink>.
@@ -66,14 +66,10 @@ dialog = gtk_file_chooser_dialog_new ("Save File",
gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
if (user_edited_a_new_document)
{
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), default_folder_for_saving);
gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), "Untitled document");
}
gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), "Untitled document");
else
gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (dialog), filename_for_existing_document);
if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
{
char *filename;
@@ -87,6 +83,66 @@ gtk_widget_destroy (dialog);
</programlisting>
</example>
<section id="gtkfilechooserdialog-setting-up">
<title>Setting up a file chooser dialog</title>
<para>
There are various cases in which you may need to use a
#GtkFileChooserDialog:
</para>
<itemizedlist>
<listitem>
<para>
To select a file for opening, as for a
<guimenuitem>File/Open</guimenuitem> command. Use
#GTK_FILE_CHOOSER_ACTION_OPEN.
</para>
</listitem>
<listitem>
<para>
To save a file for the first time, as for a
<guimenuitem>File/Save</guimenuitem> command. Use
#GTK_FILE_CHOOSER_ACTION_SAVE, and suggest a name such as
"Untitled" with gtk_file_chooser_set_current_name().
</para>
</listitem>
<listitem>
<para>
To save a file under a different name, as for a
<guimenuitem>File/Save As</guimenuitem> command. Use
#GTK_FILE_CHOOSER_ACTION_SAVE, and set the existing filename
with gtk_file_chooser_set_filename().
</para>
</listitem>
<listitem>
<para>
To choose a folder instead of a file. Use
#GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.
</para>
</listitem>
</itemizedlist>
<note>
<para>
Old versions of the file chooser's documentation suggested
using gtk_file_chooser_set_current_folder() in various
situations, with the intention of letting the application
suggest a reasonable default folder. This is no longer
considered to be a good policy, as now the file chooser is
able to make good suggestions on its own. In general, you
should only cause the file chooser to show a specific folder
when it is appropriate to use gtk_file_chooser_set_filename()
- i.e. when you are doing a <guimenuitem>File/Save
As</guimenuitem> command <emphasis>and</emphasis> you already
have a file saved somewhere.
</para>
</note>
</section>
<section id="gtkfilechooserdialog-response-codes">
<title>Response Codes</title>
@@ -168,7 +224,7 @@ dialog = gtk_file_chooser_dialog_new ("Open File",
@parent:
@action:
@first_button_text:
@Varargs:
@...:
@Returns:
+3 -3
View File
@@ -181,7 +181,7 @@ and common wisdom is to separate the two, as far as possible.
</para>
@n_columns:
@Varargs:
@...:
@Returns:
@@ -212,7 +212,7 @@ and common wisdom is to separate the two, as far as possible.
@list_store:
@iter:
@Varargs:
@...:
<!-- ##### FUNCTION gtk_list_store_set_valist ##### -->
@@ -296,7 +296,7 @@ and common wisdom is to separate the two, as far as possible.
@list_store:
@iter:
@position:
@Varargs:
@...:
<!-- ##### FUNCTION gtk_list_store_insert_with_valuesv ##### -->
+18
View File
@@ -324,3 +324,21 @@ Emits the "toggle_size_allocate" signal on the given item.
@allocation: the allocation to use as signal data.
<!-- ##### FUNCTION gtk_menu_item_get_reserve_indicator ##### -->
<para>
</para>
@menu_item:
@Returns:
<!-- ##### FUNCTION gtk_menu_item_set_reserve_indicator ##### -->
<para>
</para>
@menu_item:
@reserve:
+3 -3
View File
@@ -289,7 +289,7 @@ types related to the text widget and how they work together.
@text:
@len:
@first_tag:
@Varargs:
@...:
<!-- ##### FUNCTION gtk_text_buffer_insert_with_tags_by_name ##### -->
@@ -302,7 +302,7 @@ types related to the text widget and how they work together.
@text:
@len:
@first_tag_name:
@Varargs:
@...:
<!-- ##### FUNCTION gtk_text_buffer_delete ##### -->
@@ -581,7 +581,7 @@ types related to the text widget and how they work together.
@buffer:
@tag_name:
@first_property_name:
@Varargs:
@...:
@Returns:
+21 -1
View File
@@ -341,7 +341,7 @@ stamp-gc-h: $(top_builddir)/config.status
$(AM_V_at) cd $(top_builddir) && $(SHELL) ./config.status gdk/gdkconfig.h
echo timestamp > stamp-gc-h
dist-hook: ../build/win32/vs9/gdk.vcproj
dist-hook: ../build/win32/vs9/gdk.vcproj ../build/win32/vs10/gdk.vcxproj ../build/win32/vs10/gdk.vcxproj.filters
../build/win32/vs9/gdk.vcproj: ../build/win32/vs9/gdk.vcprojin
for F in $(libgdk_3_la_SOURCES); do \
@@ -352,6 +352,26 @@ dist-hook: ../build/win32/vs9/gdk.vcproj
done >libgdk.sourcefiles
$(CPP) -P - <$(top_srcdir)/build/win32/vs9/gdk.vcprojin >$@
rm libgdk.sourcefiles
../build/win32/vs10/gdk.vcxproj: ../build/win32/vs10/gdk.vcxprojin
for F in $(libgdk_3_la_SOURCES); do \
case $$F in \
*.c) echo ' <ClCompile Include="..\..\..\gdk\'$$F'" />' \
;; \
esac; \
done >libgdk.vs10.sourcefiles
$(CPP) -P - <$(top_srcdir)/build/win32/vs10/gdk.vcxprojin >$@
rm libgdk.vs10.sourcefiles
../build/win32/vs10/gdk.vcxproj.filters: ../build/win32/vs10/gdk.vcxproj.filtersin
for F in $(libgdk_3_la_SOURCES); do \
case $$F in \
*.c) echo ' <ClCompile Include="..\..\..\gdk\'$$F'"><Filter>Source Files</Filter></ClCompile>' \
;; \
esac; \
done >libgdk.vs10.sourcefiles.filters
$(CPP) -P - <$(top_srcdir)/build/win32/vs10/gdk.vcxproj.filtersin >$@
rm libgdk.vs10.sourcefiles.filters
DISTCLEANFILES = gdkconfig.h stamp-gc-h
+2 -2
View File
@@ -306,7 +306,7 @@ gdk_parse_args (int *argc,
*
* Since: 2.2
*/
G_CONST_RETURN gchar *
const gchar *
gdk_get_display_arg_name (void)
{
if (!_gdk_display_arg_name)
@@ -1039,7 +1039,7 @@ gdk_threads_add_timeout_seconds (guint interval,
*
* Returns: the program class.
*/
G_CONST_RETURN char *
const char *
gdk_get_program_class (void)
{
return gdk_progclass;
+1
View File
@@ -564,6 +564,7 @@ gdk_x11_window_lookup_for_display
gdk_x11_window_get_type
gdk_x11_window_get_xid
gdk_x11_window_move_to_current_desktop
gdk_x11_window_set_theme_variant_gtk_only
gdk_x11_window_set_user_time
gdk_x11_xatom_to_atom
gdk_x11_xatom_to_atom_for_display
+1 -1
View File
@@ -156,7 +156,7 @@ struct _GdkTimeCoord
GType gdk_device_get_type (void) G_GNUC_CONST;
G_CONST_RETURN gchar *gdk_device_get_name (GdkDevice *device);
const gchar * gdk_device_get_name (GdkDevice *device);
gboolean gdk_device_get_has_cursor (GdkDevice *device);
/* Functions to configure a device */
+2 -1
View File
@@ -237,6 +237,7 @@ gdk_display_finalize (GObject *object)
NULL);
g_hash_table_destroy (display->device_grabs);
g_hash_table_destroy (display->motion_hint_info);
g_hash_table_destroy (display->pointers_info);
g_hash_table_destroy (display->multiple_click_info);
@@ -1335,7 +1336,7 @@ gdk_display_get_device_manager (GdkDisplay *display)
*
* Since: 2.2
*/
G_CONST_RETURN gchar *
const gchar *
gdk_display_get_name (GdkDisplay *display)
{
g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
+1 -1
View File
@@ -44,7 +44,7 @@ G_BEGIN_DECLS
GType gdk_display_get_type (void) G_GNUC_CONST;
GdkDisplay *gdk_display_open (const gchar *display_name);
G_CONST_RETURN gchar * gdk_display_get_name (GdkDisplay *display);
const gchar * gdk_display_get_name (GdkDisplay *display);
gint gdk_display_get_n_screens (GdkDisplay *display);
GdkScreen * gdk_display_get_screen (GdkDisplay *display,
+1 -1
View File
@@ -120,7 +120,7 @@ struct _GdkDisplayClass
GType window_type; /* type for native windows for this display, set in class_init */
G_CONST_RETURN gchar * (*get_name) (GdkDisplay *display);
const gchar * (*get_name) (GdkDisplay *display);
gint (*get_n_screens) (GdkDisplay *display);
GdkScreen * (*get_screen) (GdkDisplay *display,
gint screen_num);
+44 -20
View File
@@ -21,7 +21,7 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
#include "config.h"
@@ -120,9 +120,9 @@ gdk_keymap_class_init (GdkKeymapClass *klass)
/**
* GdkKeymap::direction-changed:
* @keymap: the object on which the signal is emitted
*
*
* The ::direction-changed signal gets emitted when the direction of
* the keymap changes.
* the keymap changes.
*
* Since: 2.0
*/
@@ -171,7 +171,7 @@ gdk_keymap_class_init (GdkKeymapClass *klass)
G_STRUCT_OFFSET (GdkKeymapClass, state_changed),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE,
G_TYPE_NONE,
0);
}
@@ -215,7 +215,7 @@ guint
gdk_keyval_to_upper (guint keyval)
{
guint result;
gdk_keyval_convert_case (keyval, NULL, &result);
return result;
@@ -234,7 +234,7 @@ guint
gdk_keyval_to_lower (guint keyval)
{
guint result;
gdk_keyval_convert_case (keyval, &result, NULL);
return result;
@@ -255,7 +255,7 @@ gdk_keyval_is_upper (guint keyval)
if (keyval)
{
guint upper_val = 0;
gdk_keyval_convert_case (keyval, NULL, &upper_val);
return upper_val == keyval;
}
@@ -277,7 +277,7 @@ gdk_keyval_is_lower (guint keyval)
if (keyval)
{
guint lower_val = 0;
gdk_keyval_convert_case (keyval, &lower_val, NULL);
return lower_val == keyval;
}
@@ -310,7 +310,9 @@ gdk_keymap_get_default (void)
PangoDirection
gdk_keymap_get_direction (GdkKeymap *keymap)
{
return GDK_KEYMAP_GET_CLASS(keymap)->get_direction (keymap);
g_return_val_if_fail (GDK_IS_KEYMAP (keymap), PANGO_DIRECTION_LTR);
return GDK_KEYMAP_GET_CLASS (keymap)->get_direction (keymap);
}
/**
@@ -327,7 +329,9 @@ gdk_keymap_get_direction (GdkKeymap *keymap)
gboolean
gdk_keymap_have_bidi_layouts (GdkKeymap *keymap)
{
return GDK_KEYMAP_GET_CLASS(keymap)->have_bidi_layouts (keymap);
g_return_val_if_fail (GDK_IS_KEYMAP (keymap), FALSE);
return GDK_KEYMAP_GET_CLASS (keymap)->have_bidi_layouts (keymap);
}
/**
@@ -343,7 +347,9 @@ gdk_keymap_have_bidi_layouts (GdkKeymap *keymap)
gboolean
gdk_keymap_get_caps_lock_state (GdkKeymap *keymap)
{
return GDK_KEYMAP_GET_CLASS(keymap)->get_caps_lock_state (keymap);
g_return_val_if_fail (GDK_IS_KEYMAP (keymap), FALSE);
return GDK_KEYMAP_GET_CLASS (keymap)->get_caps_lock_state (keymap);
}
/**
@@ -359,7 +365,9 @@ gdk_keymap_get_caps_lock_state (GdkKeymap *keymap)
gboolean
gdk_keymap_get_num_lock_state (GdkKeymap *keymap)
{
return GDK_KEYMAP_GET_CLASS(keymap)->get_num_lock_state (keymap);
g_return_val_if_fail (GDK_IS_KEYMAP (keymap), FALSE);
return GDK_KEYMAP_GET_CLASS (keymap)->get_num_lock_state (keymap);
}
/**
@@ -390,7 +398,10 @@ gdk_keymap_get_entries_for_keyval (GdkKeymap *keymap,
GdkKeymapKey **keys,
gint *n_keys)
{
return GDK_KEYMAP_GET_CLASS(keymap)->get_entries_for_keyval (keymap, keyval, keys, n_keys);
g_return_val_if_fail (GDK_IS_KEYMAP (keymap), FALSE);
return GDK_KEYMAP_GET_CLASS (keymap)->get_entries_for_keyval (keymap, keyval,
keys, n_keys);
}
/**
@@ -419,7 +430,10 @@ gdk_keymap_get_entries_for_keycode (GdkKeymap *keymap,
guint **keyvals,
gint *n_entries)
{
return GDK_KEYMAP_GET_CLASS(keymap)->get_entries_for_keycode (keymap, hardware_keycode, keys, keyvals, n_entries);
g_return_val_if_fail (GDK_IS_KEYMAP (keymap), FALSE);
return GDK_KEYMAP_GET_CLASS (keymap)->get_entries_for_keycode (keymap, hardware_keycode,
keys, keyvals, n_entries);
}
/**
@@ -439,7 +453,9 @@ guint
gdk_keymap_lookup_key (GdkKeymap *keymap,
const GdkKeymapKey *key)
{
return GDK_KEYMAP_GET_CLASS(keymap)->lookup_key (keymap, key);
g_return_val_if_fail (GDK_IS_KEYMAP (keymap), 0);
return GDK_KEYMAP_GET_CLASS (keymap)->lookup_key (keymap, key);
}
/**
@@ -521,7 +537,9 @@ gdk_keymap_translate_keyboard_state (GdkKeymap *keymap,
gint *level,
GdkModifierType *consumed_modifiers)
{
return GDK_KEYMAP_GET_CLASS(keymap)->translate_keyboard_state (keymap,
g_return_val_if_fail (GDK_IS_KEYMAP (keymap), FALSE);
return GDK_KEYMAP_GET_CLASS (keymap)->translate_keyboard_state (keymap,
hardware_keycode,
state,
group,
@@ -554,7 +572,9 @@ void
gdk_keymap_add_virtual_modifiers (GdkKeymap *keymap,
GdkModifierType *state)
{
GDK_KEYMAP_GET_CLASS(keymap)->add_virtual_modifiers (keymap, state);
g_return_if_fail (GDK_IS_KEYMAP (keymap));
GDK_KEYMAP_GET_CLASS (keymap)->add_virtual_modifiers (keymap, state);
}
/**
@@ -580,6 +600,8 @@ gboolean
gdk_keymap_map_virtual_modifiers (GdkKeymap *keymap,
GdkModifierType *state)
{
g_return_val_if_fail (GDK_IS_KEYMAP (keymap), FALSE);
return GDK_KEYMAP_GET_CLASS(keymap)->map_virtual_modifiers (keymap, state);
}
@@ -597,12 +619,13 @@ gdk_keymap_map_virtual_modifiers (GdkKeymap *keymap,
* or %NULL if @keyval is not a valid key. The string should not be
* modified.
*/
gchar*
gchar *
gdk_keyval_name (guint keyval)
{
GdkDisplayManager *manager = gdk_display_manager_get ();
return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->get_keyval_name (manager, keyval);
return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->get_keyval_name (manager,
keyval);
}
/**
@@ -623,5 +646,6 @@ gdk_keyval_from_name (const gchar *keyval_name)
{
GdkDisplayManager *manager = gdk_display_manager_get ();
return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->lookup_keyval (manager, keyval_name);
return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->lookup_keyval (manager,
keyval_name);
}
+18 -7
View File
@@ -831,15 +831,24 @@ static const struct {
/* Following items added to GTK, not in the xterm table */
/* A few ASCII control characters */
{ 0xFF08 /* Backspace */, '\b' },
{ 0xFF09 /* Tab */, '\t' },
{ 0xFF0A /* Linefeed */, '\n' },
{ 0xFF0B /* Vert. Tab */, '\v' },
{ 0xFF0D /* Return */, '\r' },
{ 0xFF1B /* Escape */, '\033' },
/* Numeric keypad */
{ 0xFF80 /* Space */, ' ' },
{ 0xFFAA /* Multiply */, '*' },
{ 0xFFAB /* Add */, '+' },
{ 0xFF80 /* Space */, ' ' },
{ 0xFFAA /* Multiply */, '*' },
{ 0xFFAB /* Add */, '+' },
{ 0xFFAC /* Separator */, ',' },
{ 0xFFAD /* Subtract */, '-' },
{ 0xFFAE /* Decimal */, '.' },
{ 0xFFAF /* Divide */, '/' },
{ 0xFFAD /* Subtract */, '-' },
{ 0xFFAE /* Decimal */, '.' },
{ 0xFFAF /* Divide */, '/' },
{ 0xFFB0 /* 0 */, '0' },
{ 0xFFB1 /* 1 */, '1' },
{ 0xFFB2 /* 2 */, '2' },
@@ -853,6 +862,8 @@ static const struct {
{ 0xFFBD /* Equal */, '=' },
/* End numeric keypad */
{ 0xFFFF /* Delete */, '\177' }
};
/**
+2 -2
View File
@@ -50,7 +50,7 @@ gboolean gdk_init_check (gint *argc,
void gdk_add_option_entries_libgtk_only (GOptionGroup *group);
void gdk_pre_parse_libgtk_only (void);
G_CONST_RETURN gchar *gdk_get_program_class (void);
const gchar * gdk_get_program_class (void);
void gdk_set_program_class (const gchar *program_class);
void gdk_notify_startup_complete (void);
@@ -64,7 +64,7 @@ G_GNUC_WARN_UNUSED_RESULT gint gdk_error_trap_pop (void);
void gdk_error_trap_pop_ignored (void);
G_CONST_RETURN gchar *gdk_get_display_arg_name (void);
const gchar * gdk_get_display_arg_name (void);
/**
* gdk_get_display:
+26 -9
View File
@@ -684,6 +684,24 @@ gdk_offscreen_window_set_boolean (GdkWindow *window,
{
}
static void
gdk_offscreen_window_set_string (GdkWindow *window,
const gchar *setting)
{
}
static void
gdk_offscreen_window_set_list (GdkWindow *window,
GList *list)
{
}
static void
gdk_offscreen_window_set_wmfunctions (GdkWindow *window,
GdkWMFunction functions)
{
}
static void
gdk_offscreen_window_set_transient_for (GdkWindow *window,
GdkWindow *another)
@@ -740,19 +758,19 @@ gdk_offscreen_window_class_init (GdkOffscreenWindowClass *klass)
impl_class->set_modal_hint = NULL;
impl_class->set_skip_taskbar_hint = gdk_offscreen_window_set_boolean;
impl_class->set_skip_pager_hint = gdk_offscreen_window_set_boolean;
impl_class->set_urgency_hint = NULL;
impl_class->set_urgency_hint = gdk_offscreen_window_set_boolean;
impl_class->set_geometry_hints = NULL;
impl_class->set_title = NULL;
impl_class->set_role = NULL;
impl_class->set_startup_id = NULL;
impl_class->set_title = gdk_offscreen_window_set_string;
impl_class->set_role = gdk_offscreen_window_set_string;
impl_class->set_startup_id = gdk_offscreen_window_set_string;
impl_class->set_transient_for = gdk_offscreen_window_set_transient_for;
impl_class->get_root_origin = NULL;
impl_class->get_frame_extents = NULL;
impl_class->set_override_redirect = NULL;
impl_class->set_accept_focus = NULL;
impl_class->set_focus_on_map = NULL;
impl_class->set_icon_list = NULL;
impl_class->set_icon_name = NULL;
impl_class->set_focus_on_map = gdk_offscreen_window_set_boolean;
impl_class->set_icon_list = gdk_offscreen_window_set_list;
impl_class->set_icon_name = gdk_offscreen_window_set_string;
impl_class->iconify = gdk_offscreen_window_do_nothing;
impl_class->deiconify = gdk_offscreen_window_do_nothing;
impl_class->stick = gdk_offscreen_window_do_nothing;
@@ -767,8 +785,7 @@ gdk_offscreen_window_class_init (GdkOffscreenWindowClass *klass)
impl_class->set_group = NULL;
impl_class->set_decorations = NULL;
impl_class->get_decorations = NULL;
impl_class->set_functions = NULL;
impl_class->set_functions = NULL;
impl_class->set_functions = gdk_offscreen_window_set_wmfunctions;
impl_class->begin_resize_drag = NULL;
impl_class->begin_move_drag = NULL;
impl_class->enable_synchronized_configure = gdk_offscreen_window_do_nothing;
+13 -11
View File
@@ -1758,7 +1758,7 @@ gdk_window_ensure_native (GdkWindow *window)
/**
* _gdk_event_filter_unref:
* @window: A #GdkWindow, or %NULL to be the global window
* @window: (allow-none): A #GdkWindow, or %NULL to be the global window
* @filter: A window filter
*
* Release a reference to @filter. Note this function may
@@ -2043,7 +2043,7 @@ gdk_window_destroy (GdkWindow *window)
/**
* gdk_window_set_user_data:
* @window: a #GdkWindow
* @user_data: user data
* @user_data: (allow-none): user data
*
* For most purposes this function is deprecated in favor of
* g_object_set_data(). However, for historical reasons GTK+ stores
@@ -2398,7 +2398,7 @@ gdk_window_peek_children (GdkWindow *window)
/**
* gdk_window_add_filter: (skip)
* @window: a #GdkWindow
* @window: (allow-none): a #GdkWindow
* @function: filter callback
* @data: data to pass to filter callback
*
@@ -4417,8 +4417,8 @@ gdk_window_invalidate_maybe_recurse_full (GdkWindow *window,
* gdk_window_invalidate_maybe_recurse:
* @window: a #GdkWindow
* @region: a #cairo_region_t
* @child_func: (scope call): function to use to decide if to recurse
* to a child, %NULL means never recurse.
* @child_func: (scope call) (allow-none): function to use to decide if to
* recurse to a child, %NULL means never recurse.
* @user_data: data passed to @child_func
*
* Adds @region to the update area for @window. The update area is the
@@ -7047,7 +7047,7 @@ gdk_window_coords_from_parent (GdkWindow *window,
/**
* gdk_window_shape_combine_region:
* @window: a #GdkWindow
* @shape_region: region of window to be non-transparent
* @shape_region: (allow-none): region of window to be non-transparent
* @offset_x: X position of @shape_region in @window coordinates
* @offset_y: Y position of @shape_region in @window coordinates
*
@@ -7968,7 +7968,7 @@ gdk_window_beep (GdkWindow *window)
if (toplevel)
{
if (GDK_WINDOW_IMPL_GET_CLASS (toplevel->impl)->beep (window))
if (GDK_WINDOW_IMPL_GET_CLASS (toplevel->impl)->beep (toplevel))
return;
}
@@ -8570,11 +8570,11 @@ _gdk_display_set_window_under_pointer (GdkDisplay *display,
* @event_mask: specifies the event mask, which is used in accordance with
* @owner_events. Note that only pointer events (i.e. button and motion events)
* may be selected.
* @confine_to: If non-%NULL, the pointer will be confined to this
* @confine_to: (allow-none): If non-%NULL, the pointer will be confined to this
* window during the grab. If the pointer is outside @confine_to, it will
* automatically be moved to the closest edge of @confine_to and enter
* and leave events will be generated as necessary.
* @cursor: the cursor to display while the grab is active. If this is %NULL then
* @cursor: (allow-none): the cursor to display while the grab is active. If this is %NULL then
* the normal cursors are used for @window and its descendants, and the cursor
* for @window is used for all other windows.
* @time_: the timestamp of the event which led to this pointer grab. This usually
@@ -8902,6 +8902,8 @@ gdk_window_set_source_events (GdkWindow *window,
gdk_window_set_device_events (window, device, event_mask);
}
g_list_free (devices);
/* Update accounting */
if (G_UNLIKELY (!window->source_event_masks))
window->source_event_masks = g_hash_table_new (NULL, NULL);
@@ -10095,7 +10097,7 @@ gdk_window_set_icon_list (GdkWindow *window,
/**
* gdk_window_set_icon_name:
* @window: a toplevel #GdkWindow
* @name: name of window while iconified (minimized)
* @name: (allow-none): name of window while iconified (minimized)
*
* Windows may have a name used while minimized, distinct from the
* name they display in their titlebar. Most of the time this is a bad
@@ -10345,7 +10347,7 @@ gdk_window_get_group (GdkWindow *window)
/**
* gdk_window_set_group:
* @window: a toplevel #GdkWindow
* @leader: group leader window, or %NULL to restore the default group leader window
* @leader: (allow-none): group leader window, or %NULL to restore the default group leader window
*
* Sets the group leader window for @window. By default,
* GDK sets the group leader for all toplevel windows
+1 -1
View File
@@ -236,7 +236,7 @@ struct _GdkWin32DisplayClass
G_DEFINE_TYPE (GdkWin32Display, gdk_win32_display, GDK_TYPE_DISPLAY)
static G_CONST_RETURN gchar *
static const gchar *
gdk_win32_display_get_name (GdkDisplay *display)
{
HDESK hdesk = GetThreadDesktop (GetCurrentThreadId ());
+1 -1
View File
@@ -19,7 +19,7 @@ VS_VERSION_INFO VERSIONINFO
VALUE "FileDescription", "GIMP Drawing Kit"
VALUE "FileVersion", "@GTK_VERSION@.0"
VALUE "InternalName", "libgdk-win32-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@"
VALUE "LegalCopyright", "Copyright © 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald. Modified by the GTK+ Team and others 1997-2005."
VALUE "LegalCopyright", "Copyright © 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald. Modified by the GTK+ Team and others 1997-2011."
VALUE "OriginalFilename", "libgdk-win32-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@.dll"
VALUE "ProductName", "GTK+"
VALUE "ProductVersion", "@GTK_VERSION@"
+74 -25
View File
@@ -926,6 +926,76 @@ get_event_window (GdkEventTranslator *translator,
return window;
}
static gboolean
gdk_x11_device_manager_xi2_translate_core_event (GdkEventTranslator *translator,
GdkDisplay *display,
GdkEvent *event,
XEvent *xevent)
{
GdkEventTranslatorIface *parent_iface;
gboolean keyboard = FALSE;
GdkDevice *device;
if (xevent->type == KeyPress && xevent->xkey.keycode == 0)
{
/* The X input methods (when triggered via XFilterEvent)
* generate a core key press event with keycode 0 to signal the
* end of a key sequence. We use the core translate_event
* implementation to translate this event.
*
* This is just a bandaid fix to keep xim working with a single
* keyboard until XFilterEvent learns about XI2.
*/
keyboard = TRUE;
}
else if (xevent->xany.send_event)
{
/* If another process sends us core events, process them; we
* assume that it won't send us redundant core and XI2 events.
* (At the moment, it's not possible to send XI2 events anyway.
* In the future, an app that was trying to decide whether to
* send core or XI2 events could look at the event mask on the
* window to see which kind we are listening to.)
*/
switch (xevent->type)
{
case KeyPress:
case KeyRelease:
case FocusIn:
case FocusOut:
keyboard = TRUE;
break;
case ButtonPress:
case ButtonRelease:
case MotionNotify:
case EnterNotify:
case LeaveNotify:
break;
default:
return FALSE;
}
}
else
return FALSE;
parent_iface = g_type_interface_peek_parent (GDK_EVENT_TRANSLATOR_GET_IFACE (translator));
if (!parent_iface->translate_event (translator, display, event, xevent))
return FALSE;
/* The core device manager sets a core device on the event.
* We need to override that with an XI2 device, since we are
* using XI2.
*/
device = gdk_x11_device_manager_xi2_get_client_pointer ((GdkDeviceManager *)translator);
if (keyboard)
device = gdk_device_get_associated_device (device);
gdk_event_set_device (event, device);
return TRUE;
}
static gboolean
gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
GdkDisplay *display,
@@ -933,7 +1003,6 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
XEvent *xevent)
{
GdkX11DeviceManagerXI2 *device_manager;
GdkEventTranslatorIface *parent_iface;
XGenericEventCookie *cookie;
gboolean return_val = TRUE;
GdkWindow *window;
@@ -944,29 +1013,8 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
device_manager = (GdkX11DeviceManagerXI2 *) translator;
cookie = &xevent->xcookie;
parent_iface = g_type_interface_peek_parent (GDK_EVENT_TRANSLATOR_GET_IFACE (translator));
/* The X input methods (when triggered via XFilterEvent) generate
* a core key press event with keycode 0 to signal the end of a
* key sequence. We use the core translate_event implementation
* to translate this event.
*
* This is just a bandaid fix to keep xim working with a single
* keyboard until XFilterEvent learns about XI2.
*/
if (xevent->type == KeyPress && xevent->xkey.keycode == 0 &&
parent_iface->translate_event (translator, display, event, xevent))
{
GdkDevice *device;
/* The core device manager sets a core device on the event.
* We need to override that with an XI2 device, since we are
* using XI2.
*/
device = gdk_x11_device_manager_xi2_get_client_pointer ((GdkDeviceManager *)device_manager);
gdk_event_set_device (event, gdk_device_get_associated_device (device));
return TRUE;
}
if (xevent->type != GenericEvent)
return gdk_x11_device_manager_xi2_translate_core_event (translator, display, event, xevent);
if (!XGetEventData (dpy, cookie))
return FALSE;
@@ -1156,7 +1204,8 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
break;
}
set_user_time (event);
if (ev->evtype == XI_ButtonPress)
set_user_time (event);
break;
}
+2 -2
View File
@@ -1502,7 +1502,7 @@ gdk_internal_connection_watch (Display *display,
}
#endif /* HAVE_X11R6 */
static G_CONST_RETURN gchar *
static const gchar *
gdk_x11_display_get_name (GdkDisplay *display)
{
return (gchar *) DisplayString (GDK_X11_DISPLAY (display)->xdisplay);
@@ -2185,7 +2185,7 @@ gdk_x11_display_supports_input_shapes (GdkDisplay *display)
*
* Since: 2.12
*/
G_CONST_RETURN gchar *
const gchar *
gdk_x11_display_get_startup_notification_id (GdkDisplay *display)
{
return GDK_X11_DISPLAY (display)->startup_notification_id;
+9 -4
View File
@@ -663,11 +663,16 @@ is_pointer_within_shape (GdkDisplay *display,
GdkX11Display *display_x11 = GDK_X11_DISPLAY (display);
cairo_region_t *input_shape;
child->shape = _gdk_x11_xwindow_get_shape (display_x11->xdisplay,
child->xid, ShapeBounding);
child->shape = NULL;
if (gdk_display_supports_shapes (display))
child->shape = _gdk_x11_xwindow_get_shape (display_x11->xdisplay,
child->xid, ShapeBounding);
#ifdef ShapeInput
input_shape = _gdk_x11_xwindow_get_shape (display_x11->xdisplay,
child->xid, ShapeInput);
input_shape = NULL;
if (gdk_display_supports_input_shapes (display))
input_shape = _gdk_x11_xwindow_get_shape (display_x11->xdisplay,
child->xid, ShapeInput);
if (child->shape && input_shape)
{
cairo_region_intersect (child->shape, input_shape);
+41 -5
View File
@@ -75,6 +75,7 @@ struct _GdkX11Keymap
PangoDirection current_direction;
guint sun_keypad : 1;
guint have_direction : 1;
guint have_lock_state : 1;
guint caps_lock_state : 1;
guint num_lock_state : 1;
guint current_serial;
@@ -118,6 +119,7 @@ gdk_x11_keymap_init (GdkX11Keymap *keymap)
keymap->group_switch_mask = 0;
keymap->lock_keysym = GDK_KEY_Caps_Lock;
keymap->have_direction = FALSE;
keymap->have_lock_state = FALSE;
keymap->current_serial = 0;
#ifdef HAVE_XKB
@@ -482,7 +484,7 @@ get_effective_keymap (GdkKeymap *keymap,
return keymap;
}
#if HAVE_XKB
#ifdef HAVE_XKB
static PangoDirection
get_direction (XkbDescRec *xkb,
gint group)
@@ -617,17 +619,25 @@ static gboolean
update_lock_state (GdkX11Keymap *keymap_x11,
gint locked_mods)
{
XkbDescPtr xkb G_GNUC_UNUSED;
gboolean have_lock_state;
gboolean caps_lock_state;
gboolean num_lock_state;
/* ensure keymap_x11->num_lock_mask is initialized */
xkb = get_xkb (keymap_x11);
have_lock_state = keymap_x11->have_lock_state;
caps_lock_state = keymap_x11->caps_lock_state;
num_lock_state = keymap_x11->num_lock_state;
keymap_x11->have_lock_state = TRUE;
keymap_x11->caps_lock_state = (locked_mods & GDK_LOCK_MASK) != 0;
keymap_x11->num_lock_state = (locked_mods & keymap_x11->num_lock_mask) != 0;
return (caps_lock_state != keymap_x11->caps_lock_state)
|| (num_lock_state != keymap_x11->num_lock_state);
return !have_lock_state
|| (caps_lock_state != keymap_x11->caps_lock_state)
|| (num_lock_state != keymap_x11->num_lock_state);
}
/* keep this in sync with the XkbSelectEventDetails()
@@ -654,6 +664,26 @@ _gdk_x11_keymap_state_changed (GdkDisplay *display,
#endif /* HAVE_XKB */
static void
ensure_lock_state (GdkKeymap *keymap)
{
#ifdef HAVE_XKB
if (KEYMAP_USE_XKB (keymap))
{
GdkX11Keymap *keymap_x11 = GDK_X11_KEYMAP (keymap);
if (!keymap_x11->have_lock_state)
{
GdkDisplay *display = keymap->display;
XkbStateRec state_rec;
XkbGetState (GDK_DISPLAY_XDISPLAY (display), XkbUseCoreKbd, &state_rec);
update_lock_state (keymap_x11, state_rec.locked_mods);
}
}
#endif /* HAVE_XKB */
}
void
_gdk_x11_keymap_keys_changed (GdkDisplay *display)
{
@@ -670,7 +700,7 @@ gdk_x11_keymap_get_direction (GdkKeymap *keymap)
{
keymap = GET_EFFECTIVE_KEYMAP (keymap);
#if HAVE_XKB
#ifdef HAVE_XKB
if (KEYMAP_USE_XKB (keymap))
{
GdkX11Keymap *keymap_x11 = GDK_X11_KEYMAP (keymap);
@@ -697,7 +727,7 @@ gdk_x11_keymap_have_bidi_layouts (GdkKeymap *keymap)
{
keymap = GET_EFFECTIVE_KEYMAP (keymap);
#if HAVE_XKB
#ifdef HAVE_XKB
if (KEYMAP_USE_XKB (keymap))
{
GdkX11Keymap *keymap_x11 = GDK_X11_KEYMAP (keymap);
@@ -728,6 +758,8 @@ gdk_x11_keymap_get_caps_lock_state (GdkKeymap *keymap)
{
keymap = GET_EFFECTIVE_KEYMAP (keymap);
ensure_lock_state (keymap);
return GDK_X11_KEYMAP (keymap)->caps_lock_state;
}
@@ -736,6 +768,8 @@ gdk_x11_keymap_get_num_lock_state (GdkKeymap *keymap)
{
keymap = GET_EFFECTIVE_KEYMAP (keymap);
ensure_lock_state (keymap);
return GDK_X11_KEYMAP (keymap)->num_lock_state;
}
@@ -847,6 +881,8 @@ gdk_x11_keymap_get_entries_for_keyval (GdkKeymap *keymap,
++i;
}
++keycode;
}
}
+2 -2
View File
@@ -503,7 +503,7 @@ gdk_x11_get_xatom_by_name (const gchar *atom_name)
*
* Since: 2.2
**/
G_CONST_RETURN gchar *
const gchar *
gdk_x11_get_xatom_name_for_display (GdkDisplay *display,
Atom xatom)
{
@@ -525,7 +525,7 @@ gdk_x11_get_xatom_name_for_display (GdkDisplay *display,
* Return value: name of the X atom; this string is owned by GTK+,
* so it shouldn't be modifed or freed.
**/
G_CONST_RETURN gchar *
const gchar *
gdk_x11_get_xatom_name (Atom xatom)
{
return get_atom_name (gdk_x11_xatom_to_atom (xatom));
+57 -8
View File
@@ -3086,6 +3086,48 @@ gdk_x11_window_set_user_time (GdkWindow *window,
toplevel->user_time = timestamp_long;
}
/*
* gdk_x11_window_set_theme_variant_gtk_only:
* @window: a #GdkWindow
* @variant: the theme variant to export
*
* GTK+ applications can request a dark theme variant. In order to
* make other applications - namely window managers using GTK+ for
* themeing - aware of this choice, GTK+ uses this function to
* export the requested theme variant as _GTK_THEME_VARIANT property
* on toplevel windows.
*
* Note that this property is automatically updated by GTK+, so this
* function should only be used by applications which do not use GTK+
* to create toplevel windows.
*/
void
gdk_x11_window_set_theme_variant_gtk_only (GdkWindow *window,
char *variant)
{
GdkDisplay *display;
if (!WINDOW_IS_TOPLEVEL (window))
return;
display = gdk_window_get_display (window);
if (variant != NULL)
{
XChangeProperty (GDK_DISPLAY_XDISPLAY (display),
GDK_WINDOW_XID (window),
gdk_x11_get_xatom_by_name_for_display (display, "_GTK_THEME_VARIANT"),
gdk_x11_get_xatom_by_name_for_display (display, "UTF8_STRING"), 8,
PropModeReplace, (guchar *)variant, strlen (variant));
}
else
{
XDeleteProperty (GDK_DISPLAY_XDISPLAY (display),
GDK_WINDOW_XID (window),
gdk_x11_get_xatom_by_name_for_display (display, "_GTK_THEME_VARIANT"));
}
}
#define GDK_SELECTION_MAX_SIZE(display) \
MIN(262144, \
XExtendedMaxRequestSize (GDK_DISPLAY_XDISPLAY (display)) == 0 \
@@ -3785,17 +3827,24 @@ _gdk_x11_xwindow_get_shape (Display *xdisplay,
shape = NULL;
rn = 0;
xrl = XShapeGetRectangles (xdisplay,
window,
shape_type, &rn, &ord);
/* Note that XShapeGetRectangles returns NULL in two situations:
* - the server doesn't support the SHAPE extension
* - the shape is empty
*
* Since we can't discriminate these here, we always return
* an empty shape. It is the callers responsibility to check
* whether the server supports the SHAPE extensions beforehand.
*/
xrl = XShapeGetRectangles (xdisplay, window, shape_type, &rn, &ord);
if (xrl == NULL || rn == 0)
if (rn == 0)
return cairo_region_create (); /* Empty */
if (ord != YXBanded)
{
/* This really shouldn't happen with any xserver, as they
generally convert regions to YXBanded internally */
* generally convert regions to YXBanded internally
*/
g_warning ("non YXBanded shape masks not supported");
XFree (xrl);
return NULL;
@@ -3810,10 +3859,10 @@ _gdk_x11_xwindow_get_shape (Display *xdisplay,
rl[i].height = xrl[i].height;
}
XFree (xrl);
shape = cairo_region_create_rectangles (rl, rn);
g_free (rl);
return shape;
}
@@ -3835,7 +3884,7 @@ gdk_x11_window_get_input_shape (GdkWindow *window)
{
#if defined(ShapeInput)
if (!GDK_WINDOW_DESTROYED (window) &&
gdk_display_supports_shapes (GDK_WINDOW_DISPLAY (window)))
gdk_display_supports_input_shapes (GDK_WINDOW_DISPLAY (window)))
return _gdk_x11_xwindow_get_shape (GDK_WINDOW_XDISPLAY (window),
GDK_WINDOW_XID (window),
ShapeInput);
+1 -1
View File
@@ -60,7 +60,7 @@ Display *gdk_x11_display_get_xdisplay (GdkDisplay *display);
guint32 gdk_x11_display_get_user_time (GdkDisplay *display);
G_CONST_RETURN gchar *gdk_x11_display_get_startup_notification_id (GdkDisplay *display);
const gchar * gdk_x11_display_get_startup_notification_id (GdkDisplay *display);
void gdk_x11_display_set_startup_notification_id (GdkDisplay *display,
const gchar *startup_id);
+2 -2
View File
@@ -45,13 +45,13 @@ GdkAtom gdk_x11_xatom_to_atom_for_display (GdkDisplay *display,
Atom xatom);
Atom gdk_x11_get_xatom_by_name_for_display (GdkDisplay *display,
const gchar *atom_name);
G_CONST_RETURN gchar *gdk_x11_get_xatom_name_for_display (GdkDisplay *display,
const gchar * gdk_x11_get_xatom_name_for_display (GdkDisplay *display,
Atom xatom);
#ifndef GDK_MULTIHEAD_SAFE
Atom gdk_x11_atom_to_xatom (GdkAtom atom);
GdkAtom gdk_x11_xatom_to_atom (Atom xatom);
Atom gdk_x11_get_xatom_by_name (const gchar *atom_name);
G_CONST_RETURN gchar *gdk_x11_get_xatom_name (Atom xatom);
const gchar * gdk_x11_get_xatom_name (Atom xatom);
#endif
G_END_DECLS
+2
View File
@@ -57,6 +57,8 @@ GType gdk_x11_window_get_type (void);
Window gdk_x11_window_get_xid (GdkWindow *window);
void gdk_x11_window_set_user_time (GdkWindow *window,
guint32 timestamp);
void gdk_x11_window_set_theme_variant_gtk_only (GdkWindow *window,
char *variant);
void gdk_x11_window_move_to_current_desktop (GdkWindow *window);
/**
+21 -1
View File
@@ -917,7 +917,7 @@ install-mac-key-theme:
uninstall-mac-key-theme:
endif
dist-hook: ../build/win32/vs9/gtk.vcproj
dist-hook: ../build/win32/vs9/gtk.vcproj ../build/win32/vs10/gtk.vcxproj ../build/win32/vs10/gtk.vcxproj.filters
../build/win32/vs9/gtk.vcproj: ../build/win32/vs9/gtk.vcprojin
for F in $(gtk_base_c_sources) $(gtk_os_win32_c_sources) $(gtk_use_win32_c_sources); do \
@@ -928,6 +928,26 @@ dist-hook: ../build/win32/vs9/gtk.vcproj
done >libgtk.sourcefiles
$(CPP) -P - <$(top_srcdir)/build/win32/vs9/gtk.vcprojin >$@
rm libgtk.sourcefiles
../build/win32/vs10/gtk.vcxproj: ../build/win32/vs10/gtk.vcxprojin
for F in $(gtk_base_c_sources) $(gtk_os_win32_c_sources) $(gtk_use_win32_c_sources); do \
case $$F in \
*.c) echo ' <ClCompile Include="..\..\..\gtk\'$$F'" />' \
;; \
esac; \
done >libgtk.vs10.sourcefiles
$(CPP) -P - <$(top_srcdir)/build/win32/vs10/gtk.vcxprojin >$@
rm libgtk.vs10.sourcefiles
../build/win32/vs10/gtk.vcxproj.filters: ../build/win32/vs10/gtk.vcxproj.filtersin
for F in $(gtk_base_c_sources) $(gtk_os_win32_c_sources) $(gtk_use_win32_c_sources); do \
case $$F in \
*.c) echo ' <ClCompile Include="..\..\..\gtk\'$$F'"><Filter>Source Files</Filter></ClCompile>' \
;; \
esac; \
done >libgtk.vs10.sourcefiles.filters
$(CPP) -P - <$(top_srcdir)/build/win32/vs10/gtk.vcxproj.filtersin >$@
rm libgtk.vs10.sourcefiles.filters
# Install a RC file for the default GTK+ theme, and key themes
install-data-local: install-ms-lib install-def-file install-mac-key-theme
+1 -1
View File
@@ -17,7 +17,7 @@ VS_VERSION_INFO VERSIONINFO
VALUE "FileDescription", "GIMP Toolkit"
VALUE "FileVersion", "@GTK_VERSION@.0"
VALUE "InternalName", "libgtk-win32-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@"
VALUE "LegalCopyright", "Copyright © 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald. Modified by the GTK+ Team and others 1997-2005."
VALUE "LegalCopyright", "Copyright © 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald. Modified by the GTK+ Team and others 1997-2011."
VALUE "OriginalFilename", "libgtk-win32-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@.dll"
VALUE "ProductName", "GTK+"
VALUE "ProductVersion", "@GTK_VERSION@"
+20 -14
View File
@@ -731,8 +731,8 @@ gtk_about_dialog_init (GtkAboutDialog *about)
gtk_widget_show (hbox);
/* Add the close button */
close_button = gtk_dialog_add_button (GTK_DIALOG (about), GTK_STOCK_CLOSE,
GTK_RESPONSE_CANCEL);
close_button = gtk_dialog_add_button (GTK_DIALOG (about),
GTK_STOCK_CLOSE, GTK_RESPONSE_CANCEL);
gtk_dialog_set_default_response (GTK_DIALOG (about), GTK_RESPONSE_CANCEL);
/* Add the credits button */
@@ -1025,7 +1025,7 @@ gtk_about_dialog_show (GtkWidget *widget)
*
* Since: 2.12
*/
G_CONST_RETURN gchar *
const gchar *
gtk_about_dialog_get_program_name (GtkAboutDialog *about)
{
GtkAboutDialogPrivate *priv;
@@ -1105,7 +1105,7 @@ gtk_about_dialog_set_program_name (GtkAboutDialog *about,
*
* Since: 2.6
*/
G_CONST_RETURN gchar *
const gchar *
gtk_about_dialog_get_version (GtkAboutDialog *about)
{
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
@@ -1153,7 +1153,7 @@ gtk_about_dialog_set_version (GtkAboutDialog *about,
*
* Since: 2.6
*/
G_CONST_RETURN gchar *
const gchar *
gtk_about_dialog_get_copyright (GtkAboutDialog *about)
{
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
@@ -1212,7 +1212,7 @@ gtk_about_dialog_set_copyright (GtkAboutDialog *about,
*
* Since: 2.6
*/
G_CONST_RETURN gchar *
const gchar *
gtk_about_dialog_get_comments (GtkAboutDialog *about)
{
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
@@ -1269,7 +1269,7 @@ gtk_about_dialog_set_comments (GtkAboutDialog *about,
*
* Since: 2.6
*/
G_CONST_RETURN gchar *
const gchar *
gtk_about_dialog_get_license (GtkAboutDialog *about)
{
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
@@ -1380,7 +1380,7 @@ gtk_about_dialog_set_wrap_license (GtkAboutDialog *about,
*
* Since: 2.6
*/
G_CONST_RETURN gchar *
const gchar *
gtk_about_dialog_get_website (GtkAboutDialog *about)
{
GtkAboutDialogPrivate *priv;
@@ -1432,7 +1432,7 @@ gtk_about_dialog_set_website (GtkAboutDialog *about,
*
* Since: 2.6
*/
G_CONST_RETURN gchar *
const gchar *
gtk_about_dialog_get_website_label (GtkAboutDialog *about)
{
GtkAboutDialogPrivate *priv;
@@ -1486,7 +1486,7 @@ gtk_about_dialog_set_website_label (GtkAboutDialog *about,
*
* Since: 2.6
*/
G_CONST_RETURN gchar * G_CONST_RETURN *
const gchar * const *
gtk_about_dialog_get_authors (GtkAboutDialog *about)
{
GtkAboutDialogPrivate *priv;
@@ -1541,7 +1541,7 @@ gtk_about_dialog_set_authors (GtkAboutDialog *about,
*
* Since: 2.6
*/
G_CONST_RETURN gchar * G_CONST_RETURN *
const gchar * const *
gtk_about_dialog_get_documenters (GtkAboutDialog *about)
{
GtkAboutDialogPrivate *priv;
@@ -1596,7 +1596,7 @@ gtk_about_dialog_set_documenters (GtkAboutDialog *about,
*
* Since: 2.6
*/
G_CONST_RETURN gchar * G_CONST_RETURN *
const gchar * const *
gtk_about_dialog_get_artists (GtkAboutDialog *about)
{
GtkAboutDialogPrivate *priv;
@@ -1650,7 +1650,7 @@ gtk_about_dialog_set_artists (GtkAboutDialog *about,
*
* Since: 2.6
*/
G_CONST_RETURN gchar *
const gchar *
gtk_about_dialog_get_translator_credits (GtkAboutDialog *about)
{
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
@@ -1806,7 +1806,7 @@ gtk_about_dialog_set_logo (GtkAboutDialog *about,
*
* Since: 2.6
*/
G_CONST_RETURN gchar *
const gchar *
gtk_about_dialog_get_logo_icon_name (GtkAboutDialog *about)
{
GtkAboutDialogPrivate *priv;
@@ -2052,6 +2052,8 @@ text_view_visibility_notify_event (GtkWidget *text_view,
set_cursor_if_appropriate (about, GTK_TEXT_VIEW (text_view), dev, bx, by);
}
g_list_free (devices);
return FALSE;
}
@@ -2467,7 +2469,11 @@ gtk_about_dialog_new (void)
static void
close_cb (GtkAboutDialog *about)
{
GtkAboutDialogPrivate *priv = about->priv;
switch_page (about, 0);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->credits_button), FALSE);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->license_button), FALSE);
gtk_widget_hide (GTK_WIDGET (about));
}
+12 -12
View File
@@ -112,19 +112,19 @@ GtkWidget *gtk_about_dialog_new (void);
void gtk_show_about_dialog (GtkWindow *parent,
const gchar *first_property_name,
...) G_GNUC_NULL_TERMINATED;
G_CONST_RETURN gchar *gtk_about_dialog_get_program_name (GtkAboutDialog *about);
const gchar * gtk_about_dialog_get_program_name (GtkAboutDialog *about);
void gtk_about_dialog_set_program_name (GtkAboutDialog *about,
const gchar *name);
G_CONST_RETURN gchar *gtk_about_dialog_get_version (GtkAboutDialog *about);
const gchar * gtk_about_dialog_get_version (GtkAboutDialog *about);
void gtk_about_dialog_set_version (GtkAboutDialog *about,
const gchar *version);
G_CONST_RETURN gchar *gtk_about_dialog_get_copyright (GtkAboutDialog *about);
const gchar * gtk_about_dialog_get_copyright (GtkAboutDialog *about);
void gtk_about_dialog_set_copyright (GtkAboutDialog *about,
const gchar *copyright);
G_CONST_RETURN gchar *gtk_about_dialog_get_comments (GtkAboutDialog *about);
const gchar * gtk_about_dialog_get_comments (GtkAboutDialog *about);
void gtk_about_dialog_set_comments (GtkAboutDialog *about,
const gchar *comments);
G_CONST_RETURN gchar *gtk_about_dialog_get_license (GtkAboutDialog *about);
const gchar * gtk_about_dialog_get_license (GtkAboutDialog *about);
void gtk_about_dialog_set_license (GtkAboutDialog *about,
const gchar *license);
void gtk_about_dialog_set_license_type (GtkAboutDialog *about,
@@ -135,28 +135,28 @@ gboolean gtk_about_dialog_get_wrap_license (GtkAboutDialog
void gtk_about_dialog_set_wrap_license (GtkAboutDialog *about,
gboolean wrap_license);
G_CONST_RETURN gchar *gtk_about_dialog_get_website (GtkAboutDialog *about);
const gchar * gtk_about_dialog_get_website (GtkAboutDialog *about);
void gtk_about_dialog_set_website (GtkAboutDialog *about,
const gchar *website);
G_CONST_RETURN gchar *gtk_about_dialog_get_website_label (GtkAboutDialog *about);
const gchar * gtk_about_dialog_get_website_label (GtkAboutDialog *about);
void gtk_about_dialog_set_website_label (GtkAboutDialog *about,
const gchar *website_label);
G_CONST_RETURN gchar* G_CONST_RETURN * gtk_about_dialog_get_authors (GtkAboutDialog *about);
const gchar* const * gtk_about_dialog_get_authors (GtkAboutDialog *about);
void gtk_about_dialog_set_authors (GtkAboutDialog *about,
const gchar **authors);
G_CONST_RETURN gchar* G_CONST_RETURN * gtk_about_dialog_get_documenters (GtkAboutDialog *about);
const gchar* const * gtk_about_dialog_get_documenters (GtkAboutDialog *about);
void gtk_about_dialog_set_documenters (GtkAboutDialog *about,
const gchar **documenters);
G_CONST_RETURN gchar* G_CONST_RETURN * gtk_about_dialog_get_artists (GtkAboutDialog *about);
const gchar* const * gtk_about_dialog_get_artists (GtkAboutDialog *about);
void gtk_about_dialog_set_artists (GtkAboutDialog *about,
const gchar **artists);
G_CONST_RETURN gchar *gtk_about_dialog_get_translator_credits (GtkAboutDialog *about);
const gchar * gtk_about_dialog_get_translator_credits (GtkAboutDialog *about);
void gtk_about_dialog_set_translator_credits (GtkAboutDialog *about,
const gchar *translator_credits);
GdkPixbuf *gtk_about_dialog_get_logo (GtkAboutDialog *about);
void gtk_about_dialog_set_logo (GtkAboutDialog *about,
GdkPixbuf *logo);
G_CONST_RETURN gchar *gtk_about_dialog_get_logo_icon_name (GtkAboutDialog *about);
const gchar * gtk_about_dialog_get_logo_icon_name (GtkAboutDialog *about);
void gtk_about_dialog_set_logo_icon_name (GtkAboutDialog *about,
const gchar *icon_name);
+5 -3
View File
@@ -1141,9 +1141,11 @@ is_hyper (const gchar *string)
/**
* gtk_accelerator_parse:
* @accelerator: string representing an accelerator
* @accelerator_key: (out): return location for accelerator keyval
* @accelerator_mods: (out): return location for accelerator modifier mask
* @accelerator: string representing an accelerator
* @accelerator_key: (out) (allow-none): return location for accelerator
* keyval, or %NULL
* @accelerator_mods: (out) (allow-none): return location for accelerator
* modifier mask, %NULL
*
* Parses a string representing an accelerator. The
* format looks like "&lt;Control&gt;a" or "&lt;Shift&gt;&lt;Alt&gt;F1" or
+1 -1
View File
@@ -806,7 +806,7 @@ gtk_accel_map_save (const gchar *file_name)
/**
* gtk_accel_map_foreach:
* @data: data to be passed into @foreach_func
* @data: (allow-none): data to be passed into @foreach_func
* @foreach_func: (scope call): function to be executed for each accel
* map entry which is not filtered out
*
+7 -7
View File
@@ -995,7 +995,7 @@ gtk_action_get_proxies (GtkAction *action)
*
* Since: 2.4
**/
G_CONST_RETURN gchar *
const gchar *
gtk_action_get_name (GtkAction *action)
{
g_return_val_if_fail (GTK_IS_ACTION (action), NULL);
@@ -1292,7 +1292,7 @@ gtk_action_set_label (GtkAction *action,
*
* Since: 2.16
*/
G_CONST_RETURN gchar *
const gchar *
gtk_action_get_label (GtkAction *action)
{
g_return_val_if_fail (GTK_IS_ACTION (action), NULL);
@@ -1338,7 +1338,7 @@ gtk_action_set_short_label (GtkAction *action,
*
* Since: 2.16
*/
G_CONST_RETURN gchar *
const gchar *
gtk_action_get_short_label (GtkAction *action)
{
g_return_val_if_fail (GTK_IS_ACTION (action), NULL);
@@ -1470,7 +1470,7 @@ gtk_action_set_tooltip (GtkAction *action,
*
* Since: 2.16
*/
G_CONST_RETURN gchar *
const gchar *
gtk_action_get_tooltip (GtkAction *action)
{
g_return_val_if_fail (GTK_IS_ACTION (action), NULL);
@@ -1528,7 +1528,7 @@ gtk_action_set_stock_id (GtkAction *action,
*
* Since: 2.16
*/
G_CONST_RETURN gchar *
const gchar *
gtk_action_get_stock_id (GtkAction *action)
{
g_return_val_if_fail (GTK_IS_ACTION (action), NULL);
@@ -1570,7 +1570,7 @@ gtk_action_set_icon_name (GtkAction *action,
*
* Since: 2.16
*/
G_CONST_RETURN gchar *
const gchar *
gtk_action_get_icon_name (GtkAction *action)
{
g_return_val_if_fail (GTK_IS_ACTION (action), NULL);
@@ -1687,7 +1687,7 @@ gtk_action_set_accel_path (GtkAction *action,
* if none is set. The returned string is owned by GTK+
* and must not be freed or modified.
*/
G_CONST_RETURN gchar *
const gchar *
gtk_action_get_accel_path (GtkAction *action)
{
g_return_val_if_fail (GTK_IS_ACTION (action), NULL);
+7 -7
View File
@@ -90,7 +90,7 @@ GtkAction *gtk_action_new (const gchar *name,
const gchar *label,
const gchar *tooltip,
const gchar *stock_id);
G_CONST_RETURN gchar* gtk_action_get_name (GtkAction *action);
const gchar* gtk_action_get_name (GtkAction *action);
gboolean gtk_action_is_sensitive (GtkAction *action);
gboolean gtk_action_get_sensitive (GtkAction *action);
void gtk_action_set_sensitive (GtkAction *action,
@@ -108,7 +108,7 @@ GtkWidget * gtk_action_create_menu (GtkAction *action);
GSList * gtk_action_get_proxies (GtkAction *action);
void gtk_action_connect_accelerator (GtkAction *action);
void gtk_action_disconnect_accelerator (GtkAction *action);
G_CONST_RETURN gchar *gtk_action_get_accel_path (GtkAction *action);
const gchar *gtk_action_get_accel_path (GtkAction *action);
GClosure *gtk_action_get_accel_closure (GtkAction *action);
void gtk_action_block_activate (GtkAction *action);
void gtk_action_unblock_activate (GtkAction *action);
@@ -133,22 +133,22 @@ void _gtk_action_sync_menu_visible (GtkAction *action,
void gtk_action_set_label (GtkAction *action,
const gchar *label);
G_CONST_RETURN gchar *gtk_action_get_label (GtkAction *action);
const gchar * gtk_action_get_label (GtkAction *action);
void gtk_action_set_short_label (GtkAction *action,
const gchar *short_label);
G_CONST_RETURN gchar *gtk_action_get_short_label (GtkAction *action);
const gchar * gtk_action_get_short_label (GtkAction *action);
void gtk_action_set_tooltip (GtkAction *action,
const gchar *tooltip);
G_CONST_RETURN gchar *gtk_action_get_tooltip (GtkAction *action);
const gchar * gtk_action_get_tooltip (GtkAction *action);
void gtk_action_set_stock_id (GtkAction *action,
const gchar *stock_id);
G_CONST_RETURN gchar *gtk_action_get_stock_id (GtkAction *action);
const gchar * gtk_action_get_stock_id (GtkAction *action);
void gtk_action_set_gicon (GtkAction *action,
GIcon *icon);
GIcon *gtk_action_get_gicon (GtkAction *action);
void gtk_action_set_icon_name (GtkAction *action,
const gchar *icon_name);
G_CONST_RETURN gchar *gtk_action_get_icon_name (GtkAction *action);
const gchar * gtk_action_get_icon_name (GtkAction *action);
void gtk_action_set_visible_horizontal (GtkAction *action,
gboolean visible_horizontal);
gboolean gtk_action_get_visible_horizontal (GtkAction *action);
+2 -2
View File
@@ -645,7 +645,7 @@ gtk_action_group_real_get_action (GtkActionGroup *self,
*
* Since: 2.4
*/
G_CONST_RETURN gchar *
const gchar *
gtk_action_group_get_name (GtkActionGroup *action_group)
{
GtkActionGroupPrivate *private;
@@ -1442,7 +1442,7 @@ gtk_action_group_set_translation_domain (GtkActionGroup *action_group,
*
* Since: 2.6
**/
G_CONST_RETURN gchar *
const gchar *
gtk_action_group_translate_string (GtkActionGroup *action_group,
const gchar *string)
{
+2 -2
View File
@@ -160,7 +160,7 @@ struct _GtkRadioActionEntry
GType gtk_action_group_get_type (void) G_GNUC_CONST;
GtkActionGroup *gtk_action_group_new (const gchar *name);
G_CONST_RETURN gchar *gtk_action_group_get_name (GtkActionGroup *action_group);
const gchar *gtk_action_group_get_name (GtkActionGroup *action_group);
gboolean gtk_action_group_get_sensitive (GtkActionGroup *action_group);
void gtk_action_group_set_sensitive (GtkActionGroup *action_group,
gboolean sensitive);
@@ -214,7 +214,7 @@ void gtk_action_group_set_translate_func (GtkActionGroup
GDestroyNotify notify);
void gtk_action_group_set_translation_domain (GtkActionGroup *action_group,
const gchar *domain);
G_CONST_RETURN gchar *gtk_action_group_translate_string (GtkActionGroup *action_group,
const gchar * gtk_action_group_translate_string (GtkActionGroup *action_group,
const gchar *string);
/* Protected for use by GtkAction */
+10 -6
View File
@@ -153,25 +153,29 @@ select_application_func_cb (GtkTreeModel *model,
SelectAppData *data = user_data;
GAppInfo *app_to_match = data->info, *app = NULL;
gboolean custom;
gboolean result;
gtk_tree_model_get (model, iter,
COLUMN_APP_INFO, &app,
COLUMN_CUSTOM, &custom,
-1);
/* cutsom items are always after GAppInfos, so iterating further here
/* custom items are always after GAppInfos, so iterating further here
* is just useless.
*/
if (custom)
return TRUE;
if (g_app_info_equal (app, app_to_match))
result = TRUE;
else if (g_app_info_equal (app, app_to_match))
{
gtk_combo_box_set_active_iter (GTK_COMBO_BOX (data->self), iter);
return TRUE;
result = TRUE;
}
else
result = FALSE;
return FALSE;
g_object_unref (app);
return result;
}
static void
+8
View File
@@ -121,6 +121,8 @@ search_for_mimetype_ready_cb (GObject *source,
GtkAppChooserDialog *self = user_data;
GError *error = NULL;
gdk_threads_enter ();
_gtk_app_chooser_online_search_for_mimetype_finish (online, res, &error);
if (error != NULL)
@@ -133,6 +135,8 @@ search_for_mimetype_ready_cb (GObject *source,
{
gtk_app_chooser_refresh (GTK_APP_CHOOSER (self->priv->app_chooser_widget));
}
gdk_threads_leave ();
}
static void
@@ -155,6 +159,8 @@ app_chooser_online_get_default_ready_cb (GObject *source,
{
GtkAppChooserDialog *self = user_data;
gdk_threads_enter ();
self->priv->online = _gtk_app_chooser_online_get_default_finish (source, res);
if (self->priv->online != NULL)
@@ -176,6 +182,8 @@ app_chooser_online_get_default_ready_cb (GObject *source,
gtk_widget_show (self->priv->online_button);
}
gdk_threads_leave ();
}
static void
+1 -1
View File
@@ -2089,7 +2089,7 @@ gtk_assistant_set_page_title (GtkAssistant *assistant,
*
* Since: 2.10
*/
G_CONST_RETURN gchar*
const gchar*
gtk_assistant_get_page_title (GtkAssistant *assistant,
GtkWidget *page)
{
+1 -1
View File
@@ -151,7 +151,7 @@ GtkAssistantPageType gtk_assistant_get_page_type (GtkAssistant
void gtk_assistant_set_page_title (GtkAssistant *assistant,
GtkWidget *page,
const gchar *title);
G_CONST_RETURN gchar *gtk_assistant_get_page_title (GtkAssistant *assistant,
const gchar * gtk_assistant_get_page_title (GtkAssistant *assistant,
GtkWidget *page);
void gtk_assistant_set_page_header_image (GtkAssistant *assistant,
GtkWidget *page,
+11 -11
View File
@@ -503,29 +503,29 @@ gtk_builder_get_parameters (GtkBuilder *builder,
if (G_IS_PARAM_SPEC_OBJECT (pspec) &&
(G_PARAM_SPEC_VALUE_TYPE (pspec) != GDK_TYPE_PIXBUF))
{
if (pspec->flags & G_PARAM_CONSTRUCT_ONLY)
GObject *object = gtk_builder_get_object (builder, prop->data);
if (object)
{
GObject *object;
object = gtk_builder_get_object (builder, prop->data);
if (!object)
g_value_init (&parameter.value, G_OBJECT_TYPE (object));
g_value_set_object (&parameter.value, object);
}
else
{
if (pspec->flags & G_PARAM_CONSTRUCT_ONLY)
{
g_warning ("Failed to get constuct only property "
"%s of %s with value `%s'",
prop->name, object_name, prop->data);
continue;
}
g_value_init (&parameter.value, G_OBJECT_TYPE (object));
g_value_set_object (&parameter.value, object);
}
else
{
/* Delay setting property */
property = g_slice_new (DelayedProperty);
property->object = g_strdup (object_name);
property->name = g_strdup (prop->name);
property->value = g_strdup (prop->data);
builder->priv->delayed_properties =
g_slist_prepend (builder->priv->delayed_properties, property);
continue;
}
}
@@ -540,7 +540,7 @@ gtk_builder_get_parameters (GtkBuilder *builder,
continue;
}
if (pspec->flags & G_PARAM_CONSTRUCT_ONLY)
if (pspec->flags & (G_PARAM_CONSTRUCT | G_PARAM_CONSTRUCT_ONLY))
g_array_append_val (*construct_parameters, parameter);
else
g_array_append_val (*parameters, parameter);
+19 -27
View File
@@ -1398,12 +1398,15 @@ gtk_button_get_props (GtkButton *button,
GtkBorder *default_border,
GtkBorder *default_outside_border,
GtkBorder *inner_border,
GtkBorder *padding,
gboolean *interior_focus)
{
GtkStyleContext *context;
GtkStateFlags state;
GtkBorder *tmp_border;
context = gtk_widget_get_style_context (GTK_WIDGET (button));
state = gtk_style_context_get_state (context);
if (default_border)
{
@@ -1456,6 +1459,9 @@ gtk_button_get_props (GtkButton *button,
"interior-focus", interior_focus,
NULL);
}
if (padding)
gtk_style_context_get_padding (context, state, padding);
}
static void
@@ -1470,23 +1476,19 @@ gtk_button_size_allocate (GtkWidget *widget,
GtkWidget *child;
GtkBorder default_border;
GtkBorder inner_border;
GtkBorder *border;
GtkBorder padding;
gint focus_width;
gint focus_pad;
context = gtk_widget_get_style_context (widget);
state = gtk_widget_get_state_flags (widget);
gtk_button_get_props (button, &default_border, NULL, &inner_border, NULL);
gtk_button_get_props (button, &default_border, NULL, &inner_border, &padding, NULL);
gtk_style_context_get_style (context,
"focus-line-width", &focus_width,
"focus-padding", &focus_pad,
NULL);
gtk_style_context_get (context, state,
"border-width", &border,
NULL);
gtk_widget_set_allocation (widget, allocation);
if (gtk_widget_get_realized (widget))
@@ -1499,18 +1501,18 @@ gtk_button_size_allocate (GtkWidget *widget,
child = gtk_bin_get_child (GTK_BIN (button));
if (child && gtk_widget_get_visible (child))
{
child_allocation.x = allocation->x + inner_border.left + border->left;
child_allocation.y = allocation->y + inner_border.top + border->top;
child_allocation.x = allocation->x + inner_border.left + padding.left;
child_allocation.y = allocation->y + inner_border.top + padding.top;
child_allocation.width =
allocation->width -
(border->left + border->right) -
(padding.left + padding.right) -
inner_border.left -
inner_border.right;
child_allocation.height =
allocation->height -
(border->top + border->bottom) -
(padding.top + padding.bottom) -
inner_border.top -
inner_border.bottom;
@@ -1548,8 +1550,6 @@ gtk_button_size_allocate (GtkWidget *widget,
gtk_widget_size_allocate (child, &child_allocation);
}
gtk_border_free (border);
}
void
@@ -1576,7 +1576,7 @@ _gtk_button_paint (GtkButton *button,
gtk_style_context_save (context);
gtk_style_context_set_state (context, state);
gtk_button_get_props (button, &default_border, &default_outside_border, NULL, &interior_focus);
gtk_button_get_props (button, &default_border, &default_outside_border, NULL, NULL, &interior_focus);
gtk_style_context_get_style (context,
"focus-line-width", &focus_width,
"focus-padding", &focus_pad,
@@ -1871,7 +1871,7 @@ gtk_real_button_activate (GtkButton *button)
{
if (gdk_device_grab (device, priv->event_window,
GDK_OWNERSHIP_WINDOW, TRUE,
GDK_KEY_PRESS | GDK_KEY_RELEASE,
GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK,
NULL, time) == GDK_GRAB_SUCCESS)
{
gtk_device_grab_add (widget, device, TRUE);
@@ -1928,7 +1928,7 @@ gtk_button_get_size (GtkWidget *widget,
GtkWidget *child;
GtkBorder default_border;
GtkBorder inner_border;
GtkBorder *border;
GtkBorder padding;
gint focus_width;
gint focus_pad;
gint minimum, natural;
@@ -1936,28 +1936,22 @@ gtk_button_get_size (GtkWidget *widget,
context = gtk_widget_get_style_context (widget);
state = gtk_widget_get_state_flags (widget);
gtk_button_get_props (button, &default_border, NULL, &inner_border, NULL);
gtk_button_get_props (button, &default_border, NULL, &inner_border, &padding, NULL);
gtk_style_context_get_style (context,
"focus-line-width", &focus_width,
"focus-padding", &focus_pad,
NULL);
gtk_style_context_get (context, state,
"border-width", &border,
NULL);
if (orientation == GTK_ORIENTATION_HORIZONTAL)
{
minimum = (border->left + border->right +
inner_border.left + inner_border.right);
minimum = inner_border.left + inner_border.right + padding.left + padding.right;
if (gtk_widget_get_can_default (GTK_WIDGET (widget)))
minimum += default_border.left + default_border.right;
}
else
{
minimum = (border->top + border->bottom +
inner_border.top + inner_border.bottom);
minimum = inner_border.top + inner_border.bottom + padding.top + padding.bottom;
if (gtk_widget_get_can_default (GTK_WIDGET (widget)))
minimum += default_border.top + default_border.bottom;
@@ -1985,8 +1979,6 @@ gtk_button_get_size (GtkWidget *widget,
if (natural_size)
*natural_size = natural;
gtk_border_free (border);
}
static void
@@ -2049,7 +2041,7 @@ gtk_button_set_label (GtkButton *button,
* Return value: The text of the label widget. This string is owned
* by the widget and must not be modified or freed.
**/
G_CONST_RETURN gchar *
const gchar *
gtk_button_get_label (GtkButton *button)
{
g_return_val_if_fail (GTK_IS_BUTTON (button), NULL);
+1 -1
View File
@@ -96,7 +96,7 @@ void gtk_button_set_relief (GtkButton *button,
GtkReliefStyle gtk_button_get_relief (GtkButton *button);
void gtk_button_set_label (GtkButton *button,
const gchar *label);
G_CONST_RETURN gchar *gtk_button_get_label (GtkButton *button);
const gchar * gtk_button_get_label (GtkButton *button);
void gtk_button_set_use_underline (GtkButton *button,
gboolean use_underline);
gboolean gtk_button_get_use_underline (GtkButton *button);
+2
View File
@@ -2827,6 +2827,8 @@ gtk_calendar_draw (GtkWidget *widget,
gtk_render_frame (context, cr, 0, 0,
gtk_widget_get_allocated_width (widget),
gtk_widget_get_allocated_height (widget));
gtk_style_context_restore (context);
}
calendar_paint_main (calendar, cr);
+3 -3
View File
@@ -2266,7 +2266,7 @@ gtk_cell_area_attribute_connect (GtkCellArea *area,
g_warning ("Cannot connect attribute `%s' for cell renderer class `%s' "
"since `%s' is already attributed to column %d",
attribute,
g_type_name (G_TYPE_FROM_INSTANCE (area)),
G_OBJECT_TYPE_NAME (renderer),
attribute, cell_attribute->column);
return;
}
@@ -2279,7 +2279,7 @@ gtk_cell_area_attribute_connect (GtkCellArea *area,
g_warning ("Cannot connect attribute `%s' for cell renderer class `%s' "
"since attribute does not exist",
attribute,
g_type_name (G_TYPE_FROM_INSTANCE (area)));
G_OBJECT_TYPE_NAME (renderer));
return;
}
@@ -2376,7 +2376,7 @@ gtk_cell_area_apply_attributes (GtkCellArea *area,
*
* Since: 3.0
*/
G_CONST_RETURN gchar *
const gchar *
gtk_cell_area_get_current_path_string (GtkCellArea *area)
{
GtkCellAreaPrivate *priv;
+2 -2
View File
@@ -353,7 +353,7 @@ void gtk_cell_area_get_preferred_width_for_height (GtkCellArea
gint height,
gint *minimum_width,
gint *natural_width);
G_CONST_RETURN gchar *gtk_cell_area_get_current_path_string (GtkCellArea *area);
const gchar * gtk_cell_area_get_current_path_string (GtkCellArea *area);
/* Attributes */
@@ -432,7 +432,7 @@ void gtk_cell_area_remove_focus_sibling (GtkCellArea
gboolean gtk_cell_area_is_focus_sibling (GtkCellArea *area,
GtkCellRenderer *renderer,
GtkCellRenderer *sibling);
G_CONST_RETURN GList *gtk_cell_area_get_focus_siblings (GtkCellArea *area,
const GList * gtk_cell_area_get_focus_siblings (GtkCellArea *area,
GtkCellRenderer *renderer);
GtkCellRenderer *gtk_cell_area_get_focus_from_sibling (GtkCellArea *area,
GtkCellRenderer *renderer);
+4 -1
View File
@@ -664,6 +664,9 @@ gtk_color_button_clicked (GtkButton *button)
G_CALLBACK (dialog_cancel_clicked), color_button);
g_signal_connect (color_dialog, "destroy",
G_CALLBACK (dialog_destroy), color_button);
g_object_unref (ok_button);
g_object_unref (cancel_button);
}
color_dialog = GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog);
@@ -894,7 +897,7 @@ gtk_color_button_set_title (GtkColorButton *color_button,
*
* Since: 2.4
*/
G_CONST_RETURN gchar *
const gchar *
gtk_color_button_get_title (GtkColorButton *color_button)
{
g_return_val_if_fail (GTK_IS_COLOR_BUTTON (color_button), NULL);
+1 -1
View File
@@ -93,7 +93,7 @@ void gtk_color_button_get_rgba (GtkColorButton *color_button,
GdkRGBA *rgba);
void gtk_color_button_set_title (GtkColorButton *color_button,
const gchar *title);
G_CONST_RETURN gchar *gtk_color_button_get_title (GtkColorButton *color_button);
const gchar *gtk_color_button_get_title (GtkColorButton *color_button);
G_END_DECLS
+71 -83
View File
@@ -1691,21 +1691,16 @@ gtk_combo_box_set_popup_widget (GtkComboBox *combo_box,
}
static void
get_widget_border (GtkWidget *widget,
GtkBorder *border)
get_widget_padding (GtkWidget *widget,
GtkBorder *padding)
{
GtkStyleContext *context;
GtkBorder *border_width;
GtkStateFlags state;
context = gtk_widget_get_style_context (widget);
state = gtk_style_context_get_state (context);
gtk_style_context_get (context,
gtk_widget_get_state_flags (widget),
"border-width", &border_width,
NULL);
*border = *border_width;
gtk_border_free (border_width);
gtk_style_context_get_padding (context, state, padding);
}
static void
@@ -1723,7 +1718,7 @@ gtk_combo_box_menu_position_below (GtkMenu *menu,
GdkScreen *screen;
gint monitor_num;
GdkRectangle monitor;
GtkBorder border;
GtkBorder padding;
/* FIXME: is using the size request here broken? */
child = gtk_bin_get_child (GTK_BIN (combo_box));
@@ -1740,8 +1735,8 @@ gtk_combo_box_menu_position_below (GtkMenu *menu,
gdk_window_get_root_coords (gtk_widget_get_window (child),
sx, sy, &sx, &sy);
get_widget_border (GTK_WIDGET (combo_box), &border);
sx -= border.left;
get_widget_padding (GTK_WIDGET (combo_box), &padding);
sx -= padding.left;
if (combo_box->priv->popup_fixed_width)
gtk_widget_get_preferred_size (GTK_WIDGET (menu), &req, NULL);
@@ -2380,13 +2375,13 @@ gtk_combo_box_popdown (GtkComboBox *combo_box)
&req, NULL); \
\
if (is_rtl) \
child.x = allocation->x + border.right; \
child.x = allocation->x + padding.right; \
else \
child.x = allocation->x + allocation->width - req.width - border.left; \
child.x = allocation->x + allocation->width - req.width - padding.left; \
\
child.y = allocation->y + border.top; \
child.y = allocation->y + padding.top; \
child.width = req.width; \
child.height = allocation->height - (border.top + border.bottom); \
child.height = allocation->height - (padding.top + padding.bottom); \
child.width = MAX (1, child.width); \
child.height = MAX (1, child.height); \
\
@@ -2404,11 +2399,11 @@ gtk_combo_box_size_allocate (GtkWidget *widget,
GtkAllocation child;
GtkRequisition req;
gboolean is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL;
GtkBorder border;
GtkBorder padding;
gtk_widget_set_allocation (widget, allocation);
child_widget = gtk_bin_get_child (GTK_BIN (widget));
get_widget_border (widget, &border);
get_widget_padding (widget, &padding);
gtk_widget_style_get (widget,
"focus-line-width", &focus_width,
@@ -2419,21 +2414,21 @@ gtk_combo_box_size_allocate (GtkWidget *widget,
{
if (priv->cell_view)
{
GtkBorder button_border;
GtkBorder button_padding;
gint width;
guint border_width;
/* menu mode */
allocation->x += border.left;
allocation->y += border.top;
allocation->width -= border.left + border.right;
allocation->height -= border.top + border.bottom;
gtk_widget_size_allocate (priv->button, allocation);
/* menu mode */
allocation->x += padding.left;
allocation->y += padding.top;
allocation->width -= padding.left + padding.right;
allocation->height -= padding.top + padding.bottom;
/* set some things ready */
border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->button));
get_widget_border (priv->button, &button_border);
get_widget_padding (priv->button, &button_padding);
child.x = allocation->x;
child.y = allocation->y;
@@ -2442,19 +2437,19 @@ gtk_combo_box_size_allocate (GtkWidget *widget,
if (!priv->is_cell_renderer)
{
child.x += border_width + button_border.left + focus_width + focus_pad;
child.y += border_width + button_border.top + focus_width + focus_pad;
child.x += border_width + button_padding.left + focus_width + focus_pad;
child.y += border_width + button_padding.top + focus_width + focus_pad;
width -= (2 * (border_width + focus_width + focus_pad)) +
button_border.left + button_border.right;
button_padding.left + button_padding.right;
child.height -= (2 * (border_width + focus_width + focus_pad)) +
button_border.top + button_border.bottom;
button_padding.top + button_padding.bottom;
}
/* handle the children */
gtk_widget_get_preferred_size (priv->arrow, &req, NULL);
child.width = req.width;
if (!is_rtl)
child.x += width - req.width;
child.x += width - req.width - button_padding.right;
child.width = MAX (1, child.width);
child.height = MAX (1, child.height);
gtk_widget_size_allocate (priv->arrow, &child);
@@ -2472,14 +2467,14 @@ gtk_combo_box_size_allocate (GtkWidget *widget,
{
child.x += req.width;
child.width = allocation->x + allocation->width
- (border_width + button_border.right + focus_width + focus_pad)
- (border_width + focus_width + focus_pad)
- child.x;
}
else
{
child.width = child.x;
child.x = allocation->x
+ border_width + button_border.left + focus_width + focus_pad;
+ border_width + button_padding.left + focus_width + focus_pad;
child.width -= child.x;
}
@@ -2517,11 +2512,11 @@ gtk_combo_box_size_allocate (GtkWidget *widget,
GTK_COMBO_BOX_SIZE_ALLOCATE_BUTTON
if (is_rtl)
child.x = allocation->x + req.width + border.right;
child.x = allocation->x + req.width + padding.right;
else
child.x = allocation->x + border.left;
child.y = allocation->y + border.top;
child.width = allocation->width - req.width - (border.left + border.right);
child.x = allocation->x + padding.left;
child.y = allocation->y + padding.top;
child.width = allocation->width - req.width - (padding.left + padding.right);
child.width = MAX (1, child.width);
child.height = MAX (1, child.height);
gtk_widget_size_allocate (child_widget, &child);
@@ -2547,32 +2542,32 @@ gtk_combo_box_size_allocate (GtkWidget *widget,
if (priv->cell_view_frame)
{
child.x += border.left + border_width;
child.y += border.top + border_width;
child.width = MAX (1, child.width - (2 * border_width) - (border.left + border.right));
child.height = MAX (1, child.height - (2 * border_width) - (border.top + border.bottom));
child.x += padding.left + border_width;
child.y += padding.top + border_width;
child.width = MAX (1, child.width - (2 * border_width) - (padding.left + padding.right));
child.height = MAX (1, child.height - (2 * border_width) - (padding.top + padding.bottom));
gtk_widget_size_allocate (priv->cell_view_frame, &child);
/* the sample */
if (priv->has_frame)
{
GtkBorder frame_border;
GtkBorder frame_padding;
border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame));
get_widget_border (priv->cell_view_frame, &frame_border);
get_widget_padding (priv->cell_view_frame, &frame_padding);
child.x += border_width + frame_border.left;
child.y += border_width + frame_border.right;
child.width -= (2 * border_width) + frame_border.left + frame_border.right;
child.height -= (2 * border_width) + frame_border.top + frame_border.bottom;
child.x += border_width + frame_padding.left;
child.y += border_width + frame_padding.right;
child.width -= (2 * border_width) + frame_padding.left + frame_padding.right;
child.height -= (2 * border_width) + frame_padding.top + frame_padding.bottom;
}
}
else
{
child.x += border.left + border_width;
child.y += border.top + border_width;
child.width -= (2 * border_width) - (border.left + border.right);
child.height -= (2 * border_width) - (border.top + border.bottom);
child.x += padding.left + border_width;
child.y += padding.top + border_width;
child.width -= (2 * border_width) - (padding.left + padding.right);
child.height -= (2 * border_width) - (padding.top + padding.bottom);
}
if (gtk_widget_get_visible (priv->popup_window))
@@ -3046,8 +3041,6 @@ gtk_combo_box_menu_setup (GtkComboBox *combo_box,
(GtkTreeMenuHeaderFunc)gtk_combo_box_header_func,
combo_box, NULL);
gtk_widget_set_name (menu, "gtk-combobox-popup-menu");
g_signal_connect (menu, "key-press-event",
G_CALLBACK (gtk_combo_box_menu_key_press), combo_box);
gtk_combo_box_set_popup_widget (combo_box, menu);
@@ -4581,7 +4574,6 @@ gtk_combo_box_constructor (GType type,
GObject *object;
GtkComboBox *combo_box;
GtkComboBoxPrivate *priv;
GtkStyleContext *context;
object = G_OBJECT_CLASS (gtk_combo_box_parent_class)->constructor
(type, n_construct_properties, construct_properties);
@@ -4604,9 +4596,6 @@ gtk_combo_box_constructor (GType type,
gtk_combo_box_check_appearance (combo_box);
context = gtk_widget_get_style_context (GTK_WIDGET (combo_box));
gtk_style_context_add_class (context, GTK_STYLE_CLASS_BUTTON);
if (priv->has_entry)
{
GtkWidget *entry;
@@ -4857,7 +4846,7 @@ gtk_combo_box_set_add_tearoffs (GtkComboBox *combo_box,
*
* Since: 2.10
*/
G_CONST_RETURN gchar*
const gchar*
gtk_combo_box_get_title (GtkComboBox *combo_box)
{
g_return_val_if_fail (GTK_IS_COMBO_BOX (combo_box), NULL);
@@ -5280,7 +5269,7 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget,
gint child_min, child_nat;
GtkStyleContext *style_context;
GtkStateFlags state;
GtkBorder *border;
GtkBorder padding;
gfloat arrow_scaling;
child = gtk_bin_get_child (GTK_BIN (widget));
@@ -5298,9 +5287,9 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget,
style_context = gtk_widget_get_style_context (widget);
state = gtk_widget_get_state_flags (widget);
get_widget_padding (widget, &padding);
gtk_style_context_get (style_context, state,
"font", &font_desc,
"border-width", &border,
NULL);
context = gtk_widget_get_pango_context (GTK_WIDGET (widget));
@@ -5322,16 +5311,16 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget,
{
gint sep_width, arrow_width;
gint border_width, xpad;
GtkBorder button_border;
GtkBorder button_padding;
border_width = gtk_container_get_border_width (GTK_CONTAINER (combo_box));
get_widget_border (priv->button, &button_border);
get_widget_padding (priv->button, &button_padding);
gtk_widget_get_preferred_width (priv->separator, &sep_width, NULL);
gtk_widget_get_preferred_width (priv->arrow, &arrow_width, NULL);
xpad = 2 * (border_width + focus_width + focus_pad) +
button_border.left + button_border.right;
button_padding.left + button_padding.right + padding.left + padding.right;
minimum_width = child_min + sep_width + arrow_width + xpad;
natural_width = child_nat + sep_width + arrow_width + xpad;
@@ -5364,11 +5353,11 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget,
if (priv->has_frame)
{
gint border_width, xpad;
GtkBorder frame_border;
GtkBorder frame_padding;
border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame));
get_widget_border (priv->cell_view_frame, &frame_border);
xpad = (2 * border_width) + frame_border.left + frame_border.right;
get_widget_padding (priv->cell_view_frame, &frame_padding);
xpad = (2 * border_width) + frame_padding.left + frame_padding.right;
minimum_width += xpad;
natural_width += xpad;
@@ -5383,9 +5372,8 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget,
natural_width += button_nat_width;
}
minimum_width += border->left + border->right;
natural_width += border->left + border->right;
gtk_border_free (border);
minimum_width += padding.left + padding.right;
natural_width += padding.left + padding.right;
if (minimum_size)
*minimum_size = minimum_width;
@@ -5431,7 +5419,7 @@ gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget,
gint min_height = 0, nat_height = 0;
gint size;
GtkWidget *child;
GtkBorder border;
GtkBorder padding;
gtk_widget_style_get (GTK_WIDGET (widget),
"focus-line-width", &focus_width,
@@ -5440,8 +5428,8 @@ gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget,
child = gtk_bin_get_child (GTK_BIN (widget));
get_widget_border (widget, &border);
size = avail_size - border.left;
get_widget_padding (widget, &padding);
size = avail_size;
if (!priv->tree_view)
{
@@ -5451,10 +5439,10 @@ gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget,
/* calculate x/y padding and separator/arrow size */
gint sep_width, arrow_width, sep_height, arrow_height;
gint border_width, xpad, ypad;
GtkBorder button_border;
GtkBorder button_padding;
border_width = gtk_container_get_border_width (GTK_CONTAINER (combo_box));
get_widget_border (priv->button, &button_border);
get_widget_padding (priv->button, &button_padding);
gtk_widget_get_preferred_width (priv->separator, &sep_width, NULL);
gtk_widget_get_preferred_width (priv->arrow, &arrow_width, NULL);
@@ -5464,9 +5452,9 @@ gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget,
arrow_width, &arrow_height, NULL);
xpad = 2 * (border_width + focus_width + focus_pad) +
button_border.left + button_border.right;
button_padding.left + button_padding.right;
ypad = 2 * (border_width + focus_width + focus_pad) +
button_border.top + button_border.bottom;
button_padding.top + button_padding.bottom;
size -= sep_width + arrow_width + xpad;
@@ -5512,14 +5500,14 @@ gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget,
if (priv->cell_view_frame && priv->has_frame)
{
GtkBorder frame_border;
GtkBorder frame_padding;
gint border_width;
border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame));
get_widget_border (GTK_WIDGET (priv->cell_view_frame), &frame_border);
get_widget_padding (GTK_WIDGET (priv->cell_view_frame), &frame_padding);
xpad = (2 * border_width) + border.left + frame_border.right;
ypad = (2 * border_width) + border.top + frame_border.bottom;
xpad = (2 * border_width) + padding.left + frame_padding.right;
ypad = (2 * border_width) + padding.top + frame_padding.bottom;
}
size -= but_width;
@@ -5537,8 +5525,8 @@ gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget,
nat_height += ypad;
}
min_height += border.top + border.bottom;
nat_height += border.top + border.bottom;
min_height += padding.top + padding.bottom;
nat_height += padding.top + padding.bottom;
if (minimum_size)
*minimum_size = min_height;
+2 -2
View File
@@ -88,8 +88,8 @@ gboolean gtk_combo_box_get_add_tearoffs (GtkComboBox *combo_box);
void gtk_combo_box_set_add_tearoffs (GtkComboBox *combo_box,
gboolean add_tearoffs);
G_CONST_RETURN gchar *gtk_combo_box_get_title (GtkComboBox *combo_box);
void gtk_combo_box_set_title (GtkComboBox *combo_box,
const gchar * gtk_combo_box_get_title (GtkComboBox *combo_box);
void gtk_combo_box_set_title (GtkComboBox *combo_box,
const gchar *title);
gboolean gtk_combo_box_get_focus_on_click (GtkComboBox *combo);
+2 -2
View File
@@ -53,8 +53,8 @@
* <title>GtkComboBoxText as GtkBuildable</title>
* <para>
* The GtkComboBoxText implementation of the GtkBuildable interface
* supports adding items directly using the &lt;items&gt element
* and specifying &lt;item&gt elements for each item. Each &lt;item&gt
* supports adding items directly using the &lt;items&gt; element
* and specifying &lt;item&gt; elements for each item. Each &lt;item&gt;
* element supports the regular translation attributes "translatable",
* "context" and "comments".
*
+2 -1
View File
@@ -3804,7 +3804,8 @@ gtk_css_provider_get_default (void)
" color: #fff;\n"
"}\n"
"\n"
".expander:prelight {\n"
".expander:prelight,\n"
"GtkTreeView.view.expander:selected:prelight {\n"
" color: @text_color;\n"
"}\n"
"\n"
+55 -27
View File
@@ -376,6 +376,7 @@ _gtk_custom_paper_unix_dialog_new (GtkWindow *parent,
"transient-for", parent,
"modal", parent != NULL,
"destroy-with-parent", TRUE,
//"resizable", FALSE,
NULL);
return result;
@@ -957,19 +958,45 @@ wrap_in_frame (const gchar *label,
return frame;
}
static GtkWidget *
toolbutton_new (GtkCustomPaperUnixDialog *dialog,
GIcon *icon,
gboolean sensitive,
gboolean show,
GCallback callback)
{
GtkToolItem *item;
GtkWidget *image;
item = gtk_tool_button_new (NULL, NULL);
image = gtk_image_new_from_gicon (icon, GTK_ICON_SIZE_SMALL_TOOLBAR);
gtk_widget_show (image);
gtk_tool_button_set_icon_widget (GTK_TOOL_BUTTON (item), image);
gtk_widget_set_sensitive (GTK_WIDGET (item), sensitive);
g_signal_connect_swapped (item, "clicked", callback, dialog);
if (show)
gtk_widget_show (GTK_WIDGET (item));
return GTK_WIDGET (item);
}
static void
populate_dialog (GtkCustomPaperUnixDialog *dialog)
{
GtkCustomPaperUnixDialogPrivate *priv = dialog->priv;
GtkDialog *cpu_dialog = GTK_DIALOG (dialog);
GtkWidget *action_area, *content_area;
GtkWidget *image, *table, *label, *widget, *frame, *combo;
GtkWidget *hbox, *vbox, *treeview, *scrolled, *button_box, *button;
GtkWidget *table, *label, *widget, *frame, *combo;
GtkWidget *hbox, *vbox, *treeview, *scrolled, *toolbar, *button;
GtkCellRenderer *cell;
GtkTreeViewColumn *column;
GtkTreeIter iter;
GtkTreeSelection *selection;
GtkUnit user_units;
GIcon *icon;
GtkStyleContext *context;
content_area = gtk_dialog_get_content_area (cpu_dialog);
action_area = gtk_dialog_get_action_area (cpu_dialog);
@@ -984,19 +1011,21 @@ populate_dialog (GtkCustomPaperUnixDialog *dialog)
gtk_box_pack_start (GTK_BOX (content_area), hbox, TRUE, TRUE, 0);
gtk_widget_show (hbox);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
gtk_widget_show (vbox);
scrolled = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled),
GTK_SHADOW_IN);
GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (vbox), scrolled, TRUE, TRUE, 0);
gtk_widget_show (scrolled);
context = gtk_widget_get_style_context (scrolled);
gtk_style_context_set_junction_sides (context, GTK_JUNCTION_BOTTOM);
treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (priv->custom_paper_list));
priv->treeview = treeview;
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE);
@@ -1008,11 +1037,10 @@ populate_dialog (GtkCustomPaperUnixDialog *dialog)
cell = gtk_cell_renderer_text_new ();
g_object_set (cell, "editable", TRUE, NULL);
g_signal_connect (cell, "edited",
G_CALLBACK (custom_size_name_edited), dialog);
g_signal_connect (cell, "edited",
G_CALLBACK (custom_size_name_edited), dialog);
priv->text_column = column =
gtk_tree_view_column_new_with_attributes ("paper", cell,
NULL);
gtk_tree_view_column_new_with_attributes ("paper", cell, NULL);
gtk_tree_view_column_set_cell_data_func (column, cell, custom_name_func, NULL, NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
@@ -1020,27 +1048,27 @@ populate_dialog (GtkCustomPaperUnixDialog *dialog)
gtk_container_add (GTK_CONTAINER (scrolled), treeview);
gtk_widget_show (treeview);
button_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
gtk_box_pack_start (GTK_BOX (vbox), button_box, FALSE, FALSE, 0);
gtk_widget_show (button_box);
toolbar = gtk_toolbar_new ();
gtk_toolbar_set_icon_size (GTK_TOOLBAR (toolbar), GTK_ICON_SIZE_MENU);
button = gtk_button_new ();
image = gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_BUTTON);
gtk_widget_show (image);
gtk_container_add (GTK_CONTAINER (button), image);
gtk_box_pack_start (GTK_BOX (button_box), button, FALSE, FALSE, 0);
gtk_widget_show (button);
context = gtk_widget_get_style_context (toolbar);
gtk_style_context_set_junction_sides (context, GTK_JUNCTION_TOP);
gtk_style_context_add_class (context, GTK_STYLE_CLASS_INLINE_TOOLBAR);
g_signal_connect_swapped (button, "clicked", G_CALLBACK (add_custom_paper), dialog);
gtk_box_pack_start (GTK_BOX (vbox), toolbar, FALSE, FALSE, 0);
gtk_widget_show (toolbar);
button = gtk_button_new ();
image = gtk_image_new_from_stock (GTK_STOCK_REMOVE, GTK_ICON_SIZE_BUTTON);
gtk_widget_show (image);
gtk_container_add (GTK_CONTAINER (button), image);
gtk_box_pack_start (GTK_BOX (button_box), button, FALSE, FALSE, 0);
gtk_widget_show (button);
icon = g_themed_icon_new_with_default_fallbacks ("list-add-symbolic");
button = toolbutton_new (dialog, icon, TRUE, TRUE, G_CALLBACK (add_custom_paper));
g_object_unref (icon);
g_signal_connect_swapped (button, "clicked", G_CALLBACK (remove_custom_paper), dialog);
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (button), 0);
icon = g_themed_icon_new_with_default_fallbacks ("list-remove-symbolic");
button = toolbutton_new (dialog, icon, TRUE, TRUE, G_CALLBACK (remove_custom_paper));
g_object_unref (icon);
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (button), 1);
user_units = _gtk_print_get_default_user_units ();
+5 -7
View File
@@ -305,8 +305,6 @@ static struct {
{ 0 , "dnd-none", dnd_cursor_none, NULL, NULL },
};
static const gint n_drag_cursors = sizeof (drag_cursors) / sizeof (drag_cursors[0]);
/*********************
* Utility functions *
*********************/
@@ -731,7 +729,7 @@ gtk_drag_get_cursor (GdkDisplay *display,
*/
if (!info)
{
for (i = 0 ; i < n_drag_cursors - 1; i++)
for (i = 0 ; i < G_N_ELEMENTS (drag_cursors) - 1; i++)
if (drag_cursors[i].cursor != NULL)
{
g_object_unref (drag_cursors[i].cursor);
@@ -739,7 +737,7 @@ gtk_drag_get_cursor (GdkDisplay *display,
}
}
for (i = 0 ; i < n_drag_cursors - 1; i++)
for (i = 0 ; i < G_N_ELEMENTS (drag_cursors) - 1; i++)
if (drag_cursors[i].action == action)
break;
@@ -930,12 +928,12 @@ gtk_drag_update_cursor (GtkDragSourceInfo *info)
if (!info->have_grab)
return;
for (i = 0 ; i < n_drag_cursors - 1; i++)
for (i = 0 ; i < G_N_ELEMENTS (drag_cursors) - 1; i++)
if (info->cursor == drag_cursors[i].cursor ||
info->cursor == info->drag_cursors[i])
break;
if (i == n_drag_cursors)
if (i == G_N_ELEMENTS (drag_cursors))
return;
cursor = gtk_drag_get_cursor (gdk_cursor_get_display (info->cursor),
@@ -3879,7 +3877,7 @@ gtk_drag_source_info_destroy (GtkDragSourceInfo *info)
{
gint i;
for (i = 0; i < n_drag_cursors; i++)
for (i = 0; i < G_N_ELEMENTS (drag_cursors); i++)
{
if (info->drag_cursors[i] != NULL)
{
+19 -15
View File
@@ -559,6 +559,7 @@ static void get_text_area_size (GtkEntry *entry,
gint *width,
gint *height);
static void get_frame_size (GtkEntry *entry,
gboolean relative_to_window,
gint *x,
gint *y,
gint *width,
@@ -2846,7 +2847,7 @@ gtk_entry_realize (GtkWidget *widget)
get_text_area_size (entry, &attributes.x, &attributes.y, &attributes.width, &attributes.height);
get_frame_size (entry, &frame_x, &frame_y, NULL, NULL);
get_frame_size (entry, TRUE, &frame_x, &frame_y, NULL, NULL);
attributes.x += frame_x;
attributes.y += frame_y;
@@ -3067,7 +3068,7 @@ place_windows (GtkEntry *entry)
GtkAllocation secondary;
EntryIconInfo *icon_info = NULL;
get_frame_size (entry, &frame_x, &frame_y, NULL, NULL);
get_frame_size (entry, TRUE, &frame_x, &frame_y, NULL, NULL);
get_text_area_size (entry, &x, &y, &width, &height);
get_icon_allocations (entry, &primary, &secondary);
@@ -3119,7 +3120,7 @@ gtk_entry_get_text_area_size (GtkEntry *entry,
_gtk_entry_get_borders (entry, &xborder, &yborder);
if (gtk_widget_get_realized (widget))
get_frame_size (entry, NULL, NULL, NULL, &frame_height);
get_frame_size (entry, TRUE, NULL, NULL, NULL, &frame_height);
else
frame_height = requisition.height;
@@ -3159,6 +3160,7 @@ get_text_area_size (GtkEntry *entry,
static void
get_frame_size (GtkEntry *entry,
gboolean relative_to_window,
gint *x,
gint *y,
gint *width,
@@ -3173,14 +3175,17 @@ get_frame_size (GtkEntry *entry,
gtk_widget_get_allocation (widget, &allocation);
if (x)
*x = allocation.x;
*x = relative_to_window ? allocation.x : 0;
if (y)
{
if (priv->is_cell_renderer)
*y = allocation.y;
*y = 0;
else
*y = allocation.y + (allocation.height - requisition.height) / 2;
*y = (allocation.height - requisition.height) / 2;
if (relative_to_window)
*y += allocation.y;
}
if (width)
@@ -3347,15 +3352,13 @@ gtk_entry_draw_frame (GtkWidget *widget,
GtkEntry *entry = GTK_ENTRY (widget);
GtkEntryPrivate *priv = entry->priv;
gint x = 0, y = 0, width, height;
GtkAllocation allocation;
gint frame_x, frame_y;
cairo_save (cr);
get_frame_size (GTK_ENTRY (widget), &frame_x, &frame_y, &width, &height);
gtk_widget_get_allocation (widget, &allocation);
get_frame_size (GTK_ENTRY (widget), FALSE, &frame_x, &frame_y, &width, &height);
cairo_translate (cr, frame_x - allocation.x, frame_y - allocation.y);
cairo_translate (cr, frame_x, frame_y);
/* Fix a problem with some themes which assume that entry->text_area's
* width equals widget->window's width
@@ -7102,7 +7105,7 @@ gtk_entry_get_overwrite_mode (GtkEntry *entry)
* storage in the widget and must not be freed, modified or
* stored.
**/
G_CONST_RETURN gchar*
const gchar*
gtk_entry_get_text (GtkEntry *entry)
{
g_return_val_if_fail (GTK_IS_ENTRY (entry), NULL);
@@ -7367,7 +7370,7 @@ gtk_entry_set_inner_border (GtkEntry *entry,
*
* Since: 2.10
**/
G_CONST_RETURN GtkBorder *
const GtkBorder *
gtk_entry_get_inner_border (GtkEntry *entry)
{
g_return_val_if_fail (GTK_IS_ENTRY (entry), NULL);
@@ -8159,10 +8162,11 @@ gtk_entry_get_icon_storage_type (GtkEntry *entry,
/**
* gtk_entry_get_icon_at_pos:
* @entry: a #GtkEntry
* @x: the x coordinate of the position to find
* @x: the x coordinate of the position to fine
* @y: the y coordinate of the position to find
*
* Finds the icon at the given position and return its index.
* Finds the icon at the given position and return its index. The
* position's coordinates are relative to the @entry's top left corner.
* If @x, @y doesn't lie inside an icon, -1 is returned.
* This function is intended for use in a #GtkWidget::query-tooltip
* signal handler.
@@ -8182,7 +8186,7 @@ gtk_entry_get_icon_at_pos (GtkEntry *entry,
g_return_val_if_fail (GTK_IS_ENTRY (entry), -1);
get_frame_size (entry, &frame_x, &frame_y, NULL, NULL);
get_frame_size (entry, FALSE, &frame_x, &frame_y, NULL, NULL);
x -= frame_x;
y -= frame_y;
+4 -4
View File
@@ -149,9 +149,9 @@ void gtk_entry_set_has_frame (GtkEntry *entry,
gboolean setting);
gboolean gtk_entry_get_has_frame (GtkEntry *entry);
void gtk_entry_set_inner_border (GtkEntry *entry,
const GtkBorder *border);
G_CONST_RETURN GtkBorder* gtk_entry_get_inner_border (GtkEntry *entry);
void gtk_entry_set_inner_border (GtkEntry *entry,
const GtkBorder *border);
const GtkBorder* gtk_entry_get_inner_border (GtkEntry *entry);
void gtk_entry_set_overwrite_mode (GtkEntry *entry,
gboolean overwrite);
@@ -176,7 +176,7 @@ gint gtk_entry_get_width_chars (GtkEntry *entry);
void gtk_entry_set_text (GtkEntry *entry,
const gchar *text);
/* returns a reference to the text */
G_CONST_RETURN gchar* gtk_entry_get_text (GtkEntry *entry);
const gchar* gtk_entry_get_text (GtkEntry *entry);
PangoLayout* gtk_entry_get_layout (GtkEntry *entry);
void gtk_entry_get_layout_offsets (GtkEntry *entry,
+1 -1
View File
@@ -519,7 +519,7 @@ gtk_entry_buffer_get_bytes (GtkEntryBuffer *buffer)
*
* Since: 2.18
**/
G_CONST_RETURN gchar*
const gchar*
gtk_entry_buffer_get_text (GtkEntryBuffer *buffer)
{
GtkEntryBufferClass *klass;
+1 -1
View File
@@ -101,7 +101,7 @@ gsize gtk_entry_buffer_get_bytes (GtkEntryBuffe
guint gtk_entry_buffer_get_length (GtkEntryBuffer *buffer);
G_CONST_RETURN gchar* gtk_entry_buffer_get_text (GtkEntryBuffer *buffer);
const gchar* gtk_entry_buffer_get_text (GtkEntryBuffer *buffer);
void gtk_entry_buffer_set_text (GtkEntryBuffer *buffer,
const gchar *chars,
+3
View File
@@ -63,6 +63,9 @@ G_BEGIN_DECLS
* you have for example a 16x16 icon inside a 32x32 space, the icon
* could be scaled and stretched, it could be centered, or it could be
* positioned to one side of the space.
*
* Note that in horizontal context @GTK_ALIGN_START and @GTK_ALIGN_END
* are interpreted relative to text direction.
*/
typedef enum
{
+1 -1
View File
@@ -1797,7 +1797,7 @@ gtk_expander_set_label (GtkExpander *expander,
*
* Since: 2.4
*/
G_CONST_RETURN char *
const char *
gtk_expander_get_label (GtkExpander *expander)
{
GtkExpanderPrivate *priv;
+1 -1
View File
@@ -82,7 +82,7 @@ gint gtk_expander_get_spacing (GtkExpander *expander);
void gtk_expander_set_label (GtkExpander *expander,
const gchar *label);
G_CONST_RETURN gchar *gtk_expander_get_label (GtkExpander *expander);
const gchar * gtk_expander_get_label (GtkExpander *expander);
void gtk_expander_set_use_underline (GtkExpander *expander,
gboolean use_underline);
+48 -45
View File
@@ -1070,31 +1070,26 @@ gtk_file_chooser_get_filename (GtkFileChooser *chooser)
* @chooser: a #GtkFileChooser
* @filename: (type filename): the filename to set as current
*
* Sets @filename as the current filename for the file chooser, by changing
* to the file's parent folder and actually selecting the file in list. If
* the @chooser is in %GTK_FILE_CHOOSER_ACTION_SAVE mode, the file's base name
* will also appear in the dialog's file name entry.
*
* If the file name isn't in the current folder of @chooser, then the current
* folder of @chooser will be changed to the folder containing @filename. This
* is equivalent to a sequence of gtk_file_chooser_unselect_all() followed by
* gtk_file_chooser_select_filename().
* Sets @filename as the current filename for the file chooser, by changing to
* the file's parent folder and actually selecting the file in list; all other
* files will be unselected. If the @chooser is in
* %GTK_FILE_CHOOSER_ACTION_SAVE mode, the file's base name will also appear in
* the dialog's file name entry.
*
* Note that the file must exist, or nothing will be done except
* for the directory change.
*
* If you are implementing a <guimenuitem>File/Save As...</guimenuitem> dialog,
* you should use this function if you already have a file name to which the
* user may save; for example, when the user opens an existing file and then
* does <guimenuitem>File/Save As...</guimenuitem> on it. If you don't have
* a file name already &mdash; for example, if the user just created a new
* file and is saving it for the first time, do not call this function.
* Instead, use something similar to this:
* You should use this function only when implementing a <guimenuitem>File/Save
* As...</guimenuitem> dialog for which you already have a file name to which
* the user may save. For example, when the user opens an existing file and
* then does <guimenuitem>File/Save As...</guimenuitem> on it to save a copy or
* a modified version. If you don't have a file name already &mdash; for
* example, if the user just created a new file and is saving it for the first
* time, do not call this function. Instead, use something similar to this:
* |[
* if (document_is_new)
* {
* /&ast; the user just created a new document &ast;/
* gtk_file_chooser_set_current_folder (chooser, default_folder_for_saving);
* gtk_file_chooser_set_current_name (chooser, "Untitled document");
* }
* else
@@ -1103,9 +1098,12 @@ gtk_file_chooser_get_filename (GtkFileChooser *chooser)
* gtk_file_chooser_set_filename (chooser, existing_filename);
* }
* ]|
*
* In the first case, the file chooser will present the user with useful suggestions
* as to where to save his new file. In the second case, the file's existing location
* is already known, so the file chooser will use it.
*
* Return value: %TRUE if both the folder could be changed and the file was
* selected successfully, %FALSE otherwise.
* Return value: Not useful.
*
* Since: 2.4
**/
@@ -1128,8 +1126,9 @@ gtk_file_chooser_set_filename (GtkFileChooser *chooser,
* folder of @chooser, then the current folder of @chooser will
* be changed to the folder containing @filename.
*
* Return value: %TRUE if both the folder could be changed and the file was
* selected successfully, %FALSE otherwise.
* Return value: Not useful.
*
* See also: gtk_file_chooser_set_filename()
*
* Since: 2.4
**/
@@ -1240,8 +1239,11 @@ gtk_file_chooser_get_filenames (GtkFileChooser *chooser)
* The user will be shown the full contents of the current folder,
* plus user interface elements for navigating to other folders.
*
* Return value: %TRUE if the folder could be changed successfully, %FALSE
* otherwise.
* In general, you should not use this function. See the <link
* linkend="gtkfilechooserdialog-setting-up">section on setting up a file
* chooser dialog</link> for the rationale behind this.
*
* Return value: Not useful.
*
* Since: 2.4
**/
@@ -1312,7 +1314,8 @@ gtk_file_chooser_get_current_folder (GtkFileChooser *chooser)
* Sets the current name in the file selector, as if entered
* by the user. Note that the name passed in here is a UTF-8
* string rather than a filename. This function is meant for
* such uses as a suggested name in a "Save As..." dialog.
* such uses as a suggested name in a "Save As..." dialog. You can
* pass "Untitled.doc" or a similarly suitable suggestion for the @name.
*
* If you want to preselect a particular existing file, you should use
* gtk_file_chooser_set_filename() or gtk_file_chooser_set_uri() instead.
@@ -1375,25 +1378,20 @@ gtk_file_chooser_get_uri (GtkFileChooser *chooser)
* list. If the @chooser is %GTK_FILE_CHOOSER_ACTION_SAVE mode, the URI's base
* name will also appear in the dialog's file name entry.
*
* If the URI isn't in the current folder of @chooser, then the current folder
* of @chooser will be changed to the folder containing @uri. This is equivalent
* to a sequence of gtk_file_chooser_unselect_all() followed by
* gtk_file_chooser_select_uri().
*
* Note that the URI must exist, or nothing will be done except for the
* directory change.
* If you are implementing a <guimenuitem>File/Save As...</guimenuitem> dialog,
* you should use this function if you already have a file name to which the
* user may save; for example, when the user opens an existing file and then
* does <guimenuitem>File/Save As...</guimenuitem> on it. If you don't have
* a file name already &mdash; for example, if the user just created a new
* file and is saving it for the first time, do not call this function.
* Instead, use something similar to this:
*
* You should use this function only when implementing a <guimenuitem>File/Save
* As...</guimenuitem> dialog for which you already have a file name to which
* the user may save. For example, whenthe user opens an existing file and then
* does <guimenuitem>File/Save As...</guimenuitem> on it to save a copy or a
* modified version. If you don't have a file name already &mdash; for example,
* if the user just created a new file and is saving it for the first time, do
* not call this function. Instead, use something similar to this:
* |[
* if (document_is_new)
* {
* /&ast; the user just created a new document &ast;/
* gtk_file_chooser_set_current_folder_uri (chooser, default_folder_for_saving);
* gtk_file_chooser_set_current_name (chooser, "Untitled document");
* }
* else
@@ -1403,8 +1401,12 @@ gtk_file_chooser_get_uri (GtkFileChooser *chooser)
* }
* ]|
*
* Return value: %TRUE if both the folder could be changed and the URI was
* selected successfully, %FALSE otherwise.
*
* In the first case, the file chooser will present the user with useful suggestions
* as to where to save his new file. In the second case, the file's existing location
* is already known, so the file chooser will use it.
*
* Return value: Not useful.
*
* Since: 2.4
**/
@@ -1427,8 +1429,7 @@ gtk_file_chooser_set_uri (GtkFileChooser *chooser,
* file in the current folder of @chooser, then the current folder of
* @chooser will be changed to the folder containing @filename.
*
* Return value: %TRUE if both the folder could be changed and the URI was
* selected successfully, %FALSE otherwise.
* Return value: Not useful.
*
* Since: 2.4
**/
@@ -1545,6 +1546,10 @@ gtk_file_chooser_get_uris (GtkFileChooser *chooser)
* The user will be shown the full contents of the current folder,
* plus user interface elements for navigating to other folders.
*
* In general, you should not use this function. See the <link
* linkend="gtkfilechooserdialog-setting-up">section on setting up a file
* chooser dialog</link> for the rationale behind this.
*
* Return value: %TRUE if the folder could be changed successfully, %FALSE
* otherwise.
*
@@ -1661,8 +1666,7 @@ gtk_file_chooser_get_current_folder_file (GtkFileChooser *chooser)
* Selects the file referred to by @file. An internal function. See
* _gtk_file_chooser_select_uri().
*
* Return value: %TRUE if both the folder could be changed and the path was
* selected successfully, %FALSE otherwise.
* Return value: Not useful.
*
* Since: 2.14
**/
@@ -1760,8 +1764,7 @@ gtk_file_chooser_get_files (GtkFileChooser *chooser)
* }
* ]|
*
* Return value: %TRUE if both the folder could be changed and the file was
* selected successfully, %FALSE otherwise.
* Return value: Not useful.
*
* Since: 2.14
**/
+1 -1
View File
@@ -2773,7 +2773,7 @@ gtk_file_chooser_button_set_title (GtkFileChooserButton *button,
*
* Since: 2.6
**/
G_CONST_RETURN gchar *
const gchar *
gtk_file_chooser_button_get_title (GtkFileChooserButton *button)
{
g_return_val_if_fail (GTK_IS_FILE_CHOOSER_BUTTON (button), NULL);
+1 -1
View File
@@ -68,7 +68,7 @@ GType gtk_file_chooser_button_get_type (void) G_GNUC_CON
GtkWidget * gtk_file_chooser_button_new (const gchar *title,
GtkFileChooserAction action);
GtkWidget * gtk_file_chooser_button_new_with_dialog (GtkWidget *dialog);
G_CONST_RETURN gchar *gtk_file_chooser_button_get_title (GtkFileChooserButton *button);
const gchar * gtk_file_chooser_button_get_title (GtkFileChooserButton *button);
void gtk_file_chooser_button_set_title (GtkFileChooserButton *button,
const gchar *title);
gint gtk_file_chooser_button_get_width_chars (GtkFileChooserButton *button);
File diff suppressed because it is too large Load Diff
+1 -3
View File
@@ -369,7 +369,7 @@ completion_match_func (GtkEntryCompletion *comp,
gpointer data)
{
GtkFileChooserEntry *chooser_entry;
char *name;
char *name = NULL;
gboolean result;
char *norm_file_part;
char *norm_name;
@@ -1568,7 +1568,6 @@ refresh_current_folder_and_file_part (GtkFileChooserEntry *chooser_entry,
error = NULL;
if (!chooser_entry->file_system ||
!chooser_entry->base_folder ||
!_gtk_file_system_parse (chooser_entry->file_system,
chooser_entry->base_folder, text,
&folder_file, &file_part, &error))
@@ -1836,7 +1835,6 @@ _gtk_file_chooser_entry_set_base_folder (GtkFileChooserEntry *chooser_entry,
g_object_ref (chooser_entry->base_folder);
clear_completions (chooser_entry);
_gtk_file_chooser_entry_select_filename (chooser_entry);
}
/**
+8 -11
View File
@@ -162,13 +162,13 @@ struct _GtkFileChooserDefault
/* Save mode widgets */
GtkWidget *save_widgets;
GtkWidget *save_widgets_table;
GtkWidget *save_folder_label;
GtkWidget *save_folder_combo;
GtkWidget *save_expander;
/* The file browsing widgets */
GtkWidget *browse_widgets;
GtkWidget *browse_widgets_box;
GtkWidget *browse_header_box;
GtkWidget *browse_shortcuts_tree_view;
GtkWidget *browse_shortcuts_add_button;
GtkWidget *browse_shortcuts_remove_button;
@@ -184,6 +184,11 @@ struct _GtkFileChooserDefault
GtkWidget *browse_path_bar_hbox;
GtkSizeGroup *browse_path_bar_size_group;
GtkWidget *browse_path_bar;
GtkWidget *browse_special_mode_icon;
GtkWidget *browse_special_mode_label;
GtkWidget *browse_select_a_folder_info_bar;
GtkWidget *browse_select_a_folder_label;
GtkWidget *browse_select_a_folder_icon;
GtkFileSystemModel *browse_files_model;
char *browse_files_last_selected_name;
@@ -196,7 +201,6 @@ struct _GtkFileChooserDefault
GtkFileSystemModel *search_model;
/* OPERATION_MODE_RECENT */
GtkWidget *recent_hbox;
GtkRecentManager *recent_manager;
GtkFileSystemModel *recent_model;
guint load_recent_id;
@@ -222,11 +226,6 @@ struct _GtkFileChooserDefault
*/
GtkTreeModel *shortcuts_pane_filter_model;
/* Filter for the "Save in folder" combo. We filter out the Search row and
* its separator.
*/
GtkTreeModel *shortcuts_combo_filter_model;
/* Handles */
GSList *loading_shortcuts;
GSList *reload_icon_cancellables;
@@ -298,11 +297,9 @@ struct _GtkFileChooserDefault
guint list_sort_ascending : 1;
guint changing_folder : 1;
guint shortcuts_current_folder_active : 1;
guint expand_folders : 1;
guint has_home : 1;
guint has_desktop : 1;
guint has_search : 1;
guint has_recent : 1;
guint show_size_column : 1;
guint create_folders : 1;
+56
View File
@@ -360,3 +360,59 @@ delegate_confirm_overwrite (GtkFileChooser *chooser,
g_signal_emit_by_name (data, "confirm-overwrite", &conf);
return conf;
}
static GFile *
get_parent_for_uri (const char *uri)
{
GFile *file;
GFile *parent;
file = g_file_new_for_uri (uri);
parent = g_file_get_parent (file);
g_object_unref (file);
return parent;
}
/* Extracts the parent folders out of the supplied list of GtkRecentInfo* items, and returns
* a list of GFile* for those unique parents.
*/
GList *
_gtk_file_chooser_extract_recent_folders (GList *infos)
{
GList *l;
GList *result;
GHashTable *folders;
result = NULL;
folders = g_hash_table_new (g_file_hash, (GEqualFunc) g_file_equal);
for (l = infos; l; l = l->next)
{
GtkRecentInfo *info = l->data;
const char *uri;
GFile *parent;
uri = gtk_recent_info_get_uri (info);
parent = get_parent_for_uri (uri);
if (parent)
{
if (!g_hash_table_lookup (folders, parent))
{
g_hash_table_insert (folders, parent, (gpointer) 1);
result = g_list_prepend (result, g_object_ref (parent));
}
g_object_unref (parent);
}
}
result = g_list_reverse (result);
g_hash_table_destroy (folders);
return result;
}

Some files were not shown because too many files have changed in this diff Show More