Commit graph

941 commits

Author SHA1 Message Date
Robin Gareus
a83febb268 fix optimized build compilation 2016-08-19 22:38:10 +02:00
John Emmas
4ece16f348 For MSVC, 'using namespace whatever' doesn't help us to differentiate between ambiguous type names
so... given that 'Rectangle' is a type name that's commonly found in several different namespaces, we'll need to specify explicitly which one we want.
2016-08-19 14:11:00 +01:00
Paul Davis
45cd3482a2 fix failure to remove keyvalue from Keyboard::state on key release 2016-08-19 08:32:44 -04:00
Julien "_FrnchFrgg_" RIVAUD
08df4e1920 Fix anchored popups with separators in them
The code computing the position of the popup menu used to compare the
given string to each MenuItem::get_label() result, but that method
actually replaces the content (child) of the MenuItem if that child is
not already a Gtk::Label. In particular, this breaks menu separators.

Avoid the issue by checking by hand if the only child of the MenuItem is
a Label, and directly compare the label text.
2016-08-17 01:45:47 +02:00
Julien "_FrnchFrgg_" RIVAUD
6a985df81e Replace positioning function with popup helper
Because all uses of the function positioning menus anchored to a widget
were as callback argument to Gtk::Menu::popup() where the caller needed
to correctly bind arguments, this led to repeated and a bit obscure code.

Wrap the logic into an helper function that takes care of all that, and
update the callers.
2016-08-17 01:45:47 +02:00
nick_m
c62026b567 Ensure RelevantModifierKeyMask is updated on each modifier change.
- fixes bug where changing prefs in User Interaction
	  only took effect on restart.
2016-08-14 03:04:54 +10:00
Paul Davis
e9752ff93e remove debug output 2016-08-09 21:26:27 -04:00
Paul Davis
b9cab93fb1 fix definition of PrimaryModifier for Keyboard for OS X 2016-08-08 17:59:11 -04:00
Paul Davis
3d400f97dd fix display of modifiers on OS X in the bindings editor 2016-08-08 17:47:11 -04:00
Julien "_FrnchFrgg_" RIVAUD
a51cd8689f Move anchored menu placement strategy to Gtkmm2ext utils
So that it can be used by others.
2016-08-08 16:44:40 +02:00
Edgar Aichinger
595684ddf7 update german translation 2016-08-06 16:49:41 +02:00
Nils Philippsen
65c2e089ab workaround changes in glibmm 2.49.x
Glib::RefPtr defines the operator bool() as explicit which breaks
comparisons like "some_ref_ptr == 0" or "... != 0".

https://bugzilla.gnome.org/show_bug.cgi?id=769502
2016-08-04 09:52:22 +02:00
Robin Gareus
3953879d4d add a timeout to flush_pending()
In some circumstances UI::flush_pending never returns, and all UI
interactive ends up being driven by
   while (gtk_events_pending()) { gtk_main_iteration(); }
This has various implications depending on the caller and usually results
in a crash at session-close or exit.
2016-07-25 14:13:52 +02:00
Paul Davis
81211a91b1 minor safety fix for the Pane 2016-07-20 10:48:07 -04:00
Paul Davis
82d3afb851 Gtkmm2ext::Pane: attempt to track child lifetime, since Gtkmm 2.4 doesn't do this correctly 2016-07-20 10:48:07 -04:00
Paul Davis
727613b4b7 fix a compile of annoying compiler warnings with elcap clang 2016-07-18 14:42:34 -04:00
Paul Davis
9f3a9ef02d before pushing keybindings to GTK for menu display, make sure that we add back the META modifer that GTK expects 2016-07-18 14:42:13 -04:00
Paul Davis
1a55e83e98 move show_gdk_event_state() utility function from gtk2_ardour to libs/gtkmm2ext 2016-07-18 14:41:25 -04:00
Paul Davis
b8f5306d5b fix incorrect restoration of pane positions on Apple.
Code to check if we were to close to an edge (for window resizing) blocked all divider setting,
because it would be called with a current widget allocation of 1x1
2016-07-18 12:49:36 -04:00
Paul Davis
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
Paul Davis
81a10a26e0 regenerate and manually fix all PO files so that ./waf i18n doesn't generate unnecessary errors 2016-07-14 06:19:19 -04:00
Paul Davis
5335763f98 use initialization, not explicit assignment 2016-06-30 17:41:11 -04:00
Paul Davis
37156d6761 more tweaks to HTML output when printing key bindings 2016-06-23 08:37:24 -04:00
Paul Davis
791cff6f46 use new keyboard modifier names, and replace GDK names with better versions 2016-06-21 08:59:39 -04:00
Paul Davis
ae4e84fd51 provide some Keyboard:: methods to get access to other versions of modifier names 2016-06-21 08:58:38 -04:00
Paul Davis
10a4de1550 some modest improvements in the html rendering of key bindings, plus use of normal modifier names 2016-06-20 17:19:31 -04:00
Paul Davis
0eb509ac2e remove debug output from Pane code 2016-06-14 11:46:24 -04:00
Paul Davis
9142d1edf5 working version of pane position mgmt for OS X 2016-06-13 09:52:54 -04:00
Paul Davis
ceb0bce971 write some code to limit pane handle positions on OS X.
So far untested, and uncompiled
2016-06-13 09:10:47 -04:00
Paul Davis
8d17465016 give WindowProxy its own map/unmap signals so that other things can track map/unmap without accessing the Window 2016-06-12 22:49:15 -04:00
Paul Davis
9a1c24dda7 fix thinko in Pane expose event handler.
There are always less dividers than children
2016-06-08 12:26:24 -04:00
Paul Davis
83770f839b minor optimization when search for actions 2016-06-07 19:25:11 -04:00
Paul Davis
73f3abedea make it possible to disable VisibilityTracker's use of WM visibility 2016-06-07 18:29:03 -04:00
Paul Davis
9a50d15c7f fix crashing bug in Pane when accessing dividers 2016-06-06 16:05:43 -04:00
Paul Davis
5700296cb6 add a destructor for Gtkmm2ext::Pane that unparents the children.
This seems to be required, although there is confusion in Gtkmm3 about this.
2016-06-06 16:05:25 -04:00
Paul Davis
1550f3af35 NOOP: space required 2016-06-02 19:19:22 -04:00
Paul Davis
a047d814f6 fix case where pane divider is not redrawn after a leave event. 2016-06-01 22:30:17 -04:00
Paul Davis
d680c1f1db fix styling of pane dividers (the original reason for the "*Pane*" widget=>style spec) 2016-06-01 22:23:34 -04:00
John Emmas
7d770293e9 Accommodate recently introduced source(s) in our MSVC project (gtkmm2ext) 2016-06-01 14:30:27 +01:00
Robin Gareus
761ce9c914 allow StripWidth icon to draw properly on non-square buttons 2016-06-01 03:06:14 +02:00
Paul Davis
8c74a1b99c make pane divider placement a little safer 2016-05-31 15:30:45 -04:00
Paul Davis
47b85c3845 fix default pane divider cursor for vertical panes 2016-05-31 15:30:45 -04:00
Paul Davis
4ef8e862b3 shrink down pane divider/handle width 2016-05-31 15:30:45 -04:00
Paul Davis
0baedac4f4 fix pane behaviour when children are hidden/shown 2016-05-31 15:30:45 -04:00
Paul Davis
229b026356 explicitly expose dividers
hmm, seems important to understand how this worked before
2016-05-31 15:30:45 -04:00
Paul Davis
7c6cfd9fa0 more sensible API for Pane::set_child_minsize 2016-05-31 15:30:45 -04:00
Paul Davis
d8b02be745 provide a mechanism to avoid allocating too small of a space to a Pane child
Gtk::Notebook throws an assertion if allocated too small a space during drawing (at least with Clearlooks)
2016-05-31 15:30:45 -04:00
Paul Davis
067616a84f various work on Pane, including cursors, more styling stuff, and making the forall_vfunc safe against gtk_container_remove 2016-05-31 15:30:45 -04:00
Paul Davis
9694a3181b Pane: use style-provided colors, and change colors on enter/leave/dragging 2016-05-31 15:30:45 -04:00
Paul Davis
3c4503a849 fix use of widget allocation origin in Gtkm2mext::Pane 2016-05-31 15:30:45 -04:00