Commit Graph

19378 Commits

Author SHA1 Message Date
William Jon McCann
29f2578cca docs: add docs for GtkTargetPair 2014-01-20 15:18:21 -05:00
William Jon McCann
add1ca00f4 docs: add Gtk*Class docs
https://bugzilla.gnome.org/show_bug.cgi?id=81006
2014-01-20 12:31:21 -05:00
William Jon McCann
f3f7c385d9 Remove references to removed gtk_item_select api 2014-01-20 12:31:21 -05:00
Matthias Clasen
679883e098 Make sure title_bar_with is initialized
With a hidden custom title, we failed to initialize
the title_bar_width variables.
2014-01-18 17:58:44 -05:00
Matthias Clasen
7c08896384 path bar: Request enough natural width to fit all buttons
Otherwise, we are at the mercy of the container giving us
more space than we request, which does not always work.
2014-01-18 17:58:44 -05:00
Ryan Lortie
fdc66af5ce quartz: add a default application menu
When running on quartz, it is no longer expected for applications to
provide their own application menu.  Instead, they should simply ensure
that they provide "app.about", "app.preferences" and "app.quit" actions
(which many apps are already doing).

A default menu will be shown that looks like the one presented by all
other Mac OS applications, containing menu items for the above actions,
as well as the typical "Hide app", "Hide Others and "Show All" items and
the "Services" submenu.

If an application does explicitly set an application menu (via
gtk_application_set_app_menu()) then it will be respected, as before.

https://bugzilla.gnome.org/show_bug.cgi?id=720552
2014-01-17 23:14:20 -05:00
Ryan Lortie
3f1a413d0c extract-strings: support GMenu GtkBuilder markup
Add support for extracting strings from GMenu markup in GtkBuilder
files.

This means that we have to support translatable <attribute/> tags.

Unfortunately, <attribute> is also used by GtkTreeViewColumn and
GtkLabel for other purposes, and those other purposes use a value=''
(XML) attribute, so we must accept (and ignore) that in order not to
have errors.  Nothing will happen in those cases because they do not
also specify translatable='yes', so we ignore them.

https://bugzilla.gnome.org/show_bug.cgi?id=720552
2014-01-17 22:44:23 -05:00
Ryan Lortie
6da7b11ff6 application: new 'insert action group' private api
Add a new private API to GtkApplication akin to
gtk_widget_insert_action_group().

We'll use this to insert a few extra actions at the app level with a
separate namespace for the special items in the Mac OS application menu.

https://bugzilla.gnome.org/show_bug.cgi?id=720552
2014-01-17 22:40:50 -05:00
Ryan Lortie
5d63ee8e0e quartz menu: add a hack for application name
Add a private hack to allow the insertion of the name of the application
into the label of menu items.

If it appears in the label of any menu item, "%s" will be replaced with
the name of the application.

We will use this for the "Hide myapp", "Quit myapp" and "About myapp"
labels typically found on Mac OS programs.

https://bugzilla.gnome.org/show_bug.cgi?id=720552
2014-01-17 22:37:04 -05:00
Ryan Lortie
ceeef03004 quartz menu: add special items
Add support for the "Hide app", "Hide Others" and "Show All" special
items and for the "Services" submenu.

https://bugzilla.gnome.org/show_bug.cgi?id=720552
2014-01-17 22:37:04 -05:00
Volker Sobek
a4d69e7f14 docs/comments: Fix spelling of 'explicitly'
This replaces all occurrences of 'explicitely' with 'explicitly'. Only
code comments and gtk-doc statements are affected.

https://bugzilla.gnome.org/show_bug.cgi?id=722429
2014-01-18 03:47:46 +01:00
Ryan Lortie
ea0ede201e GtkMenuTracker: add 'special' items
Allow the possibility for items to be marked with a special attribute and
expose this via GtkTrackerMenuItem.  For internal use only.

We will use this to implement the special 'Hide', 'Hide Others' and 'Show All'
items and the 'Services' submenu in the Mac OS application menu.

https://bugzilla.gnome.org/show_bug.cgi?id=720552
2014-01-17 20:32:55 -05:00
Ryan Lortie
e70f506e83 quartz menu: change sensitivity approach
By default, Mac OS scans menus as they are opened, updating the
sensitivity of each item in the menu.

The current code in gtkapplication-menu-quartz disables this behaviour,
preferring to manually control the sensitivity of each item in the menu
(when told by the tracker that it has changed internally).

Change the way that this works to more closely follow the usual Mac OS
regime.

This will allow us to construct a typical "application menu" on Mac OS
containing the items that are typically found there ("Hide", "Hide
Others", "Show All", "Services") and have the OS automatically update
their sensitivity.

https://bugzilla.gnome.org/show_bug.cgi?id=720552
2014-01-17 20:29:31 -05:00
Matthias Clasen
b73d291086 header bar: Make it possible to have no title
Add a custom title had the side-effect of showing the widget.
That is not right, adding children and managing their visibility
should be independent. The headerbar size allocation code also
made the assumption that a custom title is always visible.

With these changes, GtkHeaderBar should be usable in situations
where the centering functionality is not required, and it is
important to freely pack content at both ends, such as in nautilus.

https://bugzilla.gnome.org/show_bug.cgi?id=722340
2014-01-17 19:52:29 -05:00
Matthias Clasen
dc749c5a27 mount operation: Use headerbar
Make GtkMountOperation use a headerbar for its dialog
when desired.
2014-01-17 17:52:08 -05:00
William Jon McCann
066810ac00 recent chooser dialog: Use headerbar
Make the recent chooser dialog use a headerbar
when desired.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
William Jon McCann
bf14a334f4 file chooser dialog: Use headerbar
Make the file chooser dialog use a headerbar
when desired.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
William Jon McCann
b0caf23977 custom paper dialog: Use headerbar
Make the custom paper dialog use a headerbar when desired.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
William Jon McCann
f2d6ed3290 page setup dialog: Use headerbar
Make the page setup dialog use a headerbar when desired.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
William Jon McCann
bb951fe783 print dialog: Use headerbar
Make the print dialog use a headerbar when desired.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
William Jon McCann
dfaa4857f5 app chooser: Use headerbar
Use a GtkHeaderBar in the app chooser dialog when desired.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
William Jon McCann
9c443b4a3c color chooser: Use headerbar
Make GtkColorChooserDialog use a headerbar when desired.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
William Jon McCann
3eb2430a98 font dialog: Use headerbar
Make the font chooser dialog use a headerbar
when desired.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
William Jon McCann
a70f8f44b4 about dialog: Use headerbar
Use a GtkHeaderBar for the credits and about buttons.

It makes less sense here than in other places to go back to
the buttons on the bottom, considering we only have a close
button, so we always use a header bar.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
Matthias Clasen
54b1419952 dialog: Show the action area when needed
If we find that widgets are being added to the action area,
we should show it. Also warn in this situation.
2014-01-17 17:52:08 -05:00
Matthias Clasen
106bcc7f5e Make it possible to set use-header-bar from a setting
This commit introduces a private convenience API that derived
dialogs can call in their instance init. This is necessary to
make the setting work as intended in the face of 3rd party
dialogs derived e.g. from GtkFileChooserDialog, which are
created with g_object_new.
2014-01-17 17:52:08 -05:00
Matthias Clasen
3701de14a1 Add a setting for dialog headers
This setting will let us keep traditional appearance
of dialogs on platforms where this is expected.
The new setting is called gtk-dialogs-use-header, backed
by the Gtk/DialogsUseHeader xsetting.
2014-01-17 17:52:08 -05:00
William Jon McCann
f69de3c14a message dialog: Center text
https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:07 -05:00
William Jon McCann
a3b423ce5b message dialog: Don't show images
https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:07 -05:00
Matthias Clasen
c42b39a9db message dialog: Allow action area to extend to the edge
https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:07 -05:00
Matthias Clasen
38d8fdab80 message dialog: Don't use headerbar
https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:07 -05:00
Matthias Clasen
de90d5a4f8 dialog: Add style classes
These will be used in subsequent commits to better style
message dialogs.
2014-01-17 17:52:07 -05:00
William Jon McCann
9640eccd14 dialog: Add a headerbar
This change makes it possible for GtkDialog to pack
its action widgets into a header bar, instead of the
traditional action area. This change is controlled
by the use-header-bar construct-only property.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:07 -05:00
Matthias Clasen
25e6ba48e7 Update all internal users of alternative button order
We'll keep this code around for now to not regress
on Windows, but avoid deprecation warnings.
2014-01-17 17:52:07 -05:00
William Jon McCann
57139820c9 dialog: Mark alternate button order as deprecated
This feature was never implemented 100% correct, and
does not apply to action buttons in header bars.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:07 -05:00
Matthias Clasen
3d354026ca file chooser: Clean up direct action area interaction 2014-01-17 17:52:07 -05:00
Matthias Clasen
abe29dd188 Update all internal users of gtk_dialog_get_action_area
Some of these should be revisited and fixed. For now,
just avoid the deprecation warnings.
2014-01-17 17:52:07 -05:00
Matthias Clasen
32a2901294 dialog: Mark gtk_dialog_get_action_area as deprecated
Direct access to the action area by applications makes it much more
difficult to make changes to GtkDialog. Therefore, deprecate this
function.
2014-01-17 17:52:07 -05:00
Matthias Clasen
1258eadd75 button box: Set linked style for extend
This is needed for proper styling of the new extend-placement
in button boxes.
2014-01-17 17:52:07 -05:00
William Jon McCann
00326d3362 Add an expand button box type
https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:07 -05:00
William Jon McCann
8db2ba425a window: Allow unsetting custom titlebar
https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:06 -05:00
William Jon McCann
24aa40ed35 headerbar: Set a minimum size for the title
https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:06 -05:00
Paolo Borelli
4adc072952 Use gtk_window_close for gtk_dialog_close
We manually synthethized the delete event, but now we have the
corresponding method in GtkWindow
2014-01-17 19:24:27 +01:00
Debarshi Ray
a5ff70f949 widget: Add deprecation annotations for {get,set}_margin_{left,right}
Fallout from 9921bec63a
2014-01-17 18:03:52 +01:00
Paolo Borelli
609ddec1f8 Always return FALSE from the notebook leave_notify handler
As discussed on IRC with Benjamin, this should not make much
difference in practice, but it is more correct
2014-01-14 20:29:46 +01:00
Paolo Borelli
84b44dd2ac Readd line removed by mistake in the previous commit 2014-01-14 20:23:52 +01:00
Paolo Borelli
4a3f21b693 Prelight notebook tab
Set the prelight state when hovering a notebook tab with the mouse.

https://bugzilla.gnome.org/show_bug.cgi?id=711233
2014-01-14 20:18:54 +01:00
Ryan Lortie
bc3867eb85 GtkApplicationWindow: give up on handling dispose
Stop trying to deal with "theoretical possibilities".

We can't possibly continue to be a faithful GActionGroup implementation
across dispose because dispose has a side effect of removing everyone's
signal handlers.

The code that we ran after the dispose chainup to do all of the fancy
signal emulation was therefore dead.  The test that aimed to verify this
was buggy itself due to an uninitialised variable, so really, it never
worked at all.

We keep the re-ordering of the chainup from the original commit to avoid having
trouble with GtkActionMuxer and keep the checks in place that will prevent an
outright segfault in the case that someone else tries to use the interface
post-dispose.

https://bugzilla.gnome.org/show_bug.cgi?id=722189
2014-01-14 10:41:35 -05:00
Bastien Nocera
587f993444 treemodelfilter: Fix typo in API docs 2014-01-14 15:02:59 +01:00
Mike Gorse
e529dfe949 A11y: Fix text functions for table cells
Keep the PangoLayout around, and refresh in update_cache.

https://bugzilla.gnome.org/show_bug.cgi?id=707729
2014-01-13 23:51:26 -05:00