wacom: Implement basic display mapping dialogue
This commit is contained in:
parent
2d0bf044e5
commit
5743f2098c
1 changed files with 49 additions and 1 deletions
|
@ -27,6 +27,7 @@
|
||||||
|
|
||||||
#include "cc-wacom-page.h"
|
#include "cc-wacom-page.h"
|
||||||
#include "cc-wacom-nav-button.h"
|
#include "cc-wacom-nav-button.h"
|
||||||
|
#include "cc-wacom-mapping-panel.h"
|
||||||
#include "cc-wacom-stylus-page.h"
|
#include "cc-wacom-stylus-page.h"
|
||||||
#include "gsd-enums.h"
|
#include "gsd-enums.h"
|
||||||
#include "gui_gtk.h"
|
#include "gui_gtk.h"
|
||||||
|
@ -63,8 +64,13 @@ struct _CcWacomPagePrivate
|
||||||
GtkWidget *notebook;
|
GtkWidget *notebook;
|
||||||
CalibArea *area;
|
CalibArea *area;
|
||||||
GSettings *wacom_settings;
|
GSettings *wacom_settings;
|
||||||
|
|
||||||
|
/* Button mapping */
|
||||||
GtkBuilder *mapping_builder;
|
GtkBuilder *mapping_builder;
|
||||||
/* The UI doesn't support cursor/pad at the moment */
|
|
||||||
|
/* Display mapping */
|
||||||
|
GtkWidget *mapping;
|
||||||
|
GtkWidget *dialog;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Button combo box storage columns */
|
/* Button combo box storage columns */
|
||||||
|
@ -549,6 +555,45 @@ map_buttons_button_clicked_cb (GtkButton *button,
|
||||||
gtk_widget_show (dialog);
|
gtk_widget_show (dialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
display_mapping_dialog_closed (GtkDialog *dialog,
|
||||||
|
int response_id,
|
||||||
|
CcWacomPage *page)
|
||||||
|
{
|
||||||
|
CcWacomPagePrivate *priv;
|
||||||
|
|
||||||
|
priv = page->priv;
|
||||||
|
gtk_widget_destroy (priv->dialog);
|
||||||
|
priv->dialog = NULL;
|
||||||
|
priv->mapping = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
display_mapping_button_clicked_cb (GtkButton *button,
|
||||||
|
CcWacomPage *page)
|
||||||
|
{
|
||||||
|
CcWacomPagePrivate *priv;
|
||||||
|
|
||||||
|
priv = page->priv;
|
||||||
|
|
||||||
|
g_assert (priv->mapping == NULL);
|
||||||
|
|
||||||
|
priv->dialog = gtk_dialog_new_with_buttons (_("Display Mapping"),
|
||||||
|
GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (page))),
|
||||||
|
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||||
|
GTK_STOCK_CLOSE,
|
||||||
|
GTK_RESPONSE_ACCEPT,
|
||||||
|
NULL);
|
||||||
|
priv->mapping = cc_wacom_mapping_panel_new ();
|
||||||
|
cc_wacom_mapping_panel_set_device (CC_WACOM_MAPPING_PANEL (priv->mapping),
|
||||||
|
priv->stylus);
|
||||||
|
gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (priv->dialog))),
|
||||||
|
priv->mapping);
|
||||||
|
g_signal_connect (G_OBJECT (priv->dialog), "response",
|
||||||
|
G_CALLBACK (display_mapping_dialog_closed), page);
|
||||||
|
gtk_widget_show_all (priv->dialog);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
tabletmode_changed_cb (GtkComboBox *combo, gpointer user_data)
|
tabletmode_changed_cb (GtkComboBox *combo, gpointer user_data)
|
||||||
{
|
{
|
||||||
|
@ -737,6 +782,9 @@ cc_wacom_page_init (CcWacomPage *self)
|
||||||
g_signal_connect (G_OBJECT (WID ("display-link")), "activate-link",
|
g_signal_connect (G_OBJECT (WID ("display-link")), "activate-link",
|
||||||
G_CALLBACK (display_clicked_cb), self);
|
G_CALLBACK (display_clicked_cb), self);
|
||||||
|
|
||||||
|
g_signal_connect (G_OBJECT (WID ("display-mapping-button")), "clicked",
|
||||||
|
G_CALLBACK (display_mapping_button_clicked_cb), self);
|
||||||
|
|
||||||
priv->nav = cc_wacom_nav_button_new ();
|
priv->nav = cc_wacom_nav_button_new ();
|
||||||
gtk_grid_attach (GTK_GRID (box), priv->nav, 0, 0, 1, 1);
|
gtk_grid_attach (GTK_GRID (box), priv->nav, 0, 0, 1, 1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue