st: Use StSettings for primary-paste setting
If middle-click happens, check whether the setting is enabled and paste primary selection if so. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317
This commit is contained in:
parent
df3068d9ca
commit
8647922df9
@ -56,6 +56,7 @@
|
|||||||
|
|
||||||
#include "st-icon.h"
|
#include "st-icon.h"
|
||||||
#include "st-label.h"
|
#include "st-label.h"
|
||||||
|
#include "st-settings.h"
|
||||||
#include "st-widget.h"
|
#include "st-widget.h"
|
||||||
#include "st-texture-cache.h"
|
#include "st-texture-cache.h"
|
||||||
#include "st-clipboard.h"
|
#include "st-clipboard.h"
|
||||||
@ -644,29 +645,32 @@ clutter_text_button_press_event (ClutterActor *actor,
|
|||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
StEntryPrivate *priv = ST_ENTRY_PRIV (user_data);
|
StEntryPrivate *priv = ST_ENTRY_PRIV (user_data);
|
||||||
GtkSettings *settings = gtk_settings_get_default ();
|
|
||||||
gboolean primary_paste_enabled;
|
|
||||||
|
|
||||||
g_object_get (settings,
|
if (event->button == 2 &&
|
||||||
"gtk-enable-primary-paste", &primary_paste_enabled,
|
clutter_text_get_editable (CLUTTER_TEXT (priv->entry)))
|
||||||
NULL);
|
|
||||||
|
|
||||||
if (primary_paste_enabled && event->button == 2
|
|
||||||
&& clutter_text_get_editable (CLUTTER_TEXT (priv->entry)))
|
|
||||||
{
|
{
|
||||||
StClipboard *clipboard;
|
StSettings *settings;
|
||||||
|
gboolean primary_paste_enabled;
|
||||||
|
|
||||||
clipboard = st_clipboard_get_default ();
|
settings = st_settings_get ();
|
||||||
|
g_object_get (settings, "primary-paste", &primary_paste_enabled, NULL);
|
||||||
|
|
||||||
/* By the time the clipboard callback is called,
|
if (primary_paste_enabled)
|
||||||
* the rest of the signal handlers will have
|
{
|
||||||
* run, making the text cursor to be in the correct
|
StClipboard *clipboard;
|
||||||
* place.
|
|
||||||
*/
|
clipboard = st_clipboard_get_default ();
|
||||||
st_clipboard_get_text (clipboard,
|
|
||||||
ST_CLIPBOARD_TYPE_PRIMARY,
|
/* By the time the clipboard callback is called,
|
||||||
st_entry_clipboard_callback,
|
* the rest of the signal handlers will have
|
||||||
user_data);
|
* run, making the text cursor to be in the correct
|
||||||
|
* place.
|
||||||
|
*/
|
||||||
|
st_clipboard_get_text (clipboard,
|
||||||
|
ST_CLIPBOARD_TYPE_PRIMARY,
|
||||||
|
st_entry_clipboard_callback,
|
||||||
|
user_data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
Loading…
Reference in New Issue
Block a user