Commit graph

52 commits

Author SHA1 Message Date
Markus Göllnitz
98c47cee10 mouse: ensure type CcListRowInfoButton is available to GtkBuilder
The newly introduced CcListRowInfoButton is not available
to GtkBuilder and henceforth building the mouse panel
currently fails.

Therefore, it CcListRowInfoButton has to be declared to
be a type that needs to be available to this panel.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
2023-05-16 20:49:28 +02:00
Felipe Borges
e0dc75bcfc mouse: Hide entire "Touchpad" row when touchpad cannot be disabled
The touchpad row has a switch suffix that allows enabling/disabling
touchpad.

To prevent users from being left with no pointer device, we were
hiding the suffix switch of the touchpad row, making the row look
weird with a label and no action.

Let's hide the entire row instead, as suggested by designers in
comment https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1649#note_1643002

Fixes #1649
2023-04-20 14:09:04 +00:00
Chris Mayo
92c4b6a706 Fix panel crashes due to unknown types in UI descriptions
Error building template class 'CcSearchPanel' for an instance of type 'CcSearchPanel': .:0:0 Invalid object type 'CcListRow'

Error building template class 'CcDisplayPanel' for an instance of type 'CcDisplayPanel': .:0:0 Invalid object type 'CcListRow'

Error building template class 'CcMousePanel' for an instance of type 'CcMousePanel': .:0:0 Invalid object type 'CcIllustratedRow'

Error building template class 'CcKeyboardPanel' for an instance of type 'CcKeyboardPanel': .:0:0 Invalid object type 'CcListRow'

Error building template class 'CcRegionPanel' for an instance of type 'CcRegionPanel': .:0:0 Invalid object type 'CcListRow'

Error building template class 'CcUaPanel' for an instance of type 'CcUaPanel': .:0:0 Invalid object type 'CcListRow'

Error building template class 'CcUserPanel' for an instance of type 'CcUserPanel': .:0:0 Invalid object type 'CcAvatarChooser'
Error building template class 'CcUserPanel' for an instance of type 'CcUserPanel': .:0:0 Invalid object type 'CcListRow'

Error building template class 'CcDateTimePanel' for an instance of type 'CcDateTimePanel': .:0:0 Invalid object type 'CcTzDialog'
cc_tz_dialog_get_selected_location: assertion 'CC_IS_TZ_DIALOG (self)' failed
dumped core
Error building template class 'CcDateTimePanel' for an instance of type 'CcDateTimePanel': .:0:0 Invalid object type 'CcListRow'

Error building template class 'CcInfoOverviewPanel' for an instance of type 'CcInfoOverviewPanel': .:0:0 Invalid object type 'CcHostnameEntry'
2023-04-17 12:14:58 +00:00
Marco Trevisan (Treviño)
7f97d9eb54 panels/mouse: Simplify binding of touchpad sensitive widgets
Instead of creating multiple and more complex GSetting bindings for the
sensitive state, just bind the sensitivity of the touchpad widgets to the
active state of the touchpad toggle switch
2023-03-22 13:49:20 +00:00
Marco Trevisan (Treviño)
087d2b8955 panels/mouse: Do not bind sensitivity to touchpad settings
If doing so, these options may be marked as sensitive by GSettingsBind,
ignoring the send-events global setting binding; and causing the widgets
to be always sensitive regardless the touchpad state.
2023-03-22 13:49:20 +00:00
Marco Trevisan (Treviño)
c20ed729f7 mouse: Prevent infinite loop on settings changes
We may get an infinite loop on mouse panel startup, in fact the scroll
method changed event emits a gsettings change that also leads to a
notify::use-default emission that again tries to writes to settings,
leading to another change: infinitely.

Closes: #2405
2023-03-17 16:42:50 +00:00
Felipe Borges
4e10ccb9ea mouse: Toggle visibility of Touchpad page based on device detection
Fixes #2355
2023-02-28 14:17:37 +00:00
Felipe Borges
9e0e6253e4 mouse: Move Mouse Test into its own window
Per discussion at
https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2250#note_1631136

Fixes #2250
2023-02-14 18:10:46 +00:00
Felipe Borges
b5ce0f08b9 mouse: Redesign Mouse panel
See
https://gitlab.gnome.org/Teams/Design/settings-mockups/-/raw/master/mouse-and-touchpad/mouse-and-touchpad.png
2023-02-14 13:31:23 -03:00
Felipe Borges
7ba1afc647 mouse: Add mouse "acceleration profile" row
Fixes #94
2023-02-14 12:13:30 +01:00
Marco Melorio
de00794e1a mouse: Remove deprecated gtk_widget_show/hide usage 2023-01-02 22:10:39 +00:00
Georges Basile Stavracas Neto
4300a4a290 panels: Use new CcPanel helpers for title widgets
This should significantly simplify these panels, by not forcing
them to override GObject.constructed all the time. Most panels
were quite straightfoward.
2022-01-20 02:23:42 +00:00
Christopher Davis
7aae515cf6 mouse: Use AdwPreferencesGroup's listboxes
We don't need our own listboxes, because our rows
here aren't dynamic.
2022-01-18 09:51:01 +00:00
Georges Basile Stavracas Neto
25edfb4a4b mouse: Port to GTK4
This one is an interesting case. It was easier to simply switch
to AdwPreferencesPage than actually port all the GtkFrames in
there.

In addition to that, the mouse test page now uses a GtkPicture
instead of a GtkImage, and the GtkDrawingArea API changes are
reflected in the code.
2021-12-14 22:34:21 -03:00
Mohammed Sadiq
e09ecc41aa mouse: Use content style for listboxes 2021-05-19 03:25:47 +00:00
Felipe Borges
d980e0ffee mouse: Prevent direction change for primary mouse button box
In Right-to-left locales GNOME Settings presents a button on the
left with the translated label "Right" and a button on the right
with the translated label "Left".

These changes prevent the flip of the direction buttons in RTL
locales.

Fixes #1101
2021-04-13 10:36:10 +02:00
Carlos Garnacho
fe9b66c387 mouse: Drop unused g-s-d GSettings
This went unnoticed, till g-s-d did actually drop that schema. Stop
referencing this unused schema.
2021-01-27 13:17:03 +01:00
Robert Ancell
591cd14b57 mouse: Connect signals with g_signal_connect_object in swapped form 2020-03-30 16:18:49 +13:00
Robert Ancell
bfa0f80882 mouse: Use GTK+ widget types 2019-09-10 11:44:23 +12:00
Robert Ancell
ef6c7c03ca mouse: Merge CcMouseProperties into CcMousePanel 2019-09-10 11:26:15 +12:00
Robert Ancell
20614e98ac mouse: Rename CcMouseTest files to match class name 2019-09-10 11:26:15 +12:00
Robert Ancell
37e7fd6ada mouse: Make a GtkTemplate for the panel 2019-09-10 11:26:15 +12:00
Robert Ancell
354c297c85 mouse: Remove unused enum 2019-09-10 11:25:22 +12:00
Georges Basile Stavracas Neto
75f150d5a2 shell: Add position to cc_shell_embed_widget_in_header()
So we can control where the widget should be added to. The
main window only supports left and right positions.

https://gitlab.gnome.org/GNOME/gnome-control-center/issues/528
2019-05-21 12:59:36 -03:00
Robert Ancell
38bbaeb8fa mouse: Replace GObject boilerplace with G_DECLARE_TYPE 2018-05-28 23:47:59 +00:00
Rui Matos
d3252400a9 mouse: Fix initial widget visibility
We're showing all widgets on panel start up instead of selectively
hiding non-relevant widgets since the gtk_widget_show_all() on the
stack after creating the panel widget and adding it to the stack
overrides the visibility decisions done while constructing the panel.

https://bugzilla.gnome.org/show_bug.cgi?id=764257
2016-04-05 21:04:57 +02:00
Felipe Borges
1896fafef6 mouse: port panel to the new design
https://wiki.gnome.org/Design/SystemSettings/Mouse

https://bugzilla.gnome.org/show_bug.cgi?id=756863
2015-10-23 14:16:09 +02:00
Yosef Or Boczko
2ca3540019 mouse: Use header bar in the test settings dialog
https://bugzilla.gnome.org/show_bug.cgi?id=724299
2014-04-28 17:29:17 +03:00
Daniel Mustieles
2c5951819d Updated FSF's address 2014-01-29 11:27:38 +01:00
Yosef Or Boczko
089266fd0a mouse: Use margin-start/end instead of margin-left/right
https://bugzilla.gnome.org/show_bug.cgi?id=712661
2013-11-19 22:27:42 +02:00
Rui Matos
98719f3659 mouse: Remove unused variable
https://bugzilla.gnome.org/show_bug.cgi?id=708286
2013-10-01 10:05:02 +02:00
Yosef Or Boczko
50488b1ea0 mouse: Make the test button align better
https://bugzilla.gnome.org/show_bug.cgi?id=708000
2013-09-28 22:16:58 +03:00
Yosef Or Boczko
ca61b4dce9 mouse: Fix stretched "Test Your Settings" button 2013-08-21 20:42:09 +03:00
Yosef Or Boczko
4678863a0f mouse: Fix the look of test button
https://bugzilla.gnome.org/show_bug.cgi?id=703769
2013-07-12 11:18:46 +03:00
Thomas Wood
a98b939e47 mouse: use a dialog window for the mouse test
This avoids using a toggle button to switch to the test area and makes the
interaction more consistent with other panels.

https://bugzilla.gnome.org/show_bug.cgi?id=702986
2013-06-25 16:29:58 +01:00
Ondrej Holy
af812426de mouse: Mouse preferences as a proper widget
https://bugzilla.gnome.org/show_bug.cgi?id=695902
2013-05-24 15:12:22 +02:00
Ondrej Holy
1d7f7858b2 mouse: Mouse test area as a proper widget
To avoid using global variables.
2013-05-24 15:12:17 +02:00
Jeremy Bicha
bcc1cc2a5a mouse: Fix conflicting mnemonic
'Test Your Settings' and 'Disable while typing' both were set to 't'

https://bugzilla.gnome.org/show_bug.cgi?id=692767
2013-01-29 09:32:03 -05:00
Cosimo Cecchi
db5aba75a1 mouse: use a GResource for GtkBuilder UI definition and icons
https://bugzilla.gnome.org/show_bug.cgi?id=691132
2013-01-07 10:57:05 +01:00
Matthias Clasen
3d27d8caaf shell: Fittsify panels
Make it possible for panels to go all the way to the edge of the
shell. This is particularly important for panels that scroll, such
as the new power panel. All other panels are changed to compensate
for the loss of external padding.

https://bugzilla.gnome.org/show_bug.cgi?id=691229
2013-01-07 10:51:29 +01:00
Cosimo Cecchi
77a26f95f1 mouse: remove unused code
https://bugzilla.gnome.org/show_bug.cgi?id=691132
2013-01-04 20:34:38 +01:00
Bastien Nocera
3686cf7eb8 shell: Make all control-center plugins static
This makes loading faster, with less I/O, avoids unnecessary
code duplication (around 1k lines shaved), and ensures that
all the panels link and work appropriately.

By the same token, it will stop external panels from being
created, and loaded.

https://bugzilla.gnome.org/show_bug.cgi?id=690036
2012-12-11 17:07:39 +01:00
Cosimo Cecchi
8bf26a0b91 mouse: don't add the header widget in an idle
Add it in constructed() instead, since we need the value of the
construct-only shell property in order for it to work.

https://bugzilla.gnome.org/show_bug.cgi?id=687863
2012-11-07 12:32:06 -05:00
Bastien Nocera
3d7e215024 mouse: Reset test area to the bottom at every try
This prevents window resizes from making the first visit to the
mouse test area one that doesn't scroll all the way to the bottom.

1. Open System Settings
2. Open a panel that's smaller than the mouse one (eg. Background)
3. Back to overview
4. Open Mouse panel, click on test button

https://bugzilla.gnome.org/show_bug.cgi?id=684817
2012-09-26 22:55:18 +02:00
Bastien Nocera
03a88bbba5 mouse: Remove unused variable 2012-08-22 10:38:34 +01:00
Ray Strode
b0e7a5efa8 panels: add register macro
Bastien says he doesn't like the blank class_finalize
functions in every panel and he would like a wrapper
macro to hide them.

This commit does that.
2012-08-21 14:32:33 -04:00
Ondrej Holy
544a8ff889 mouse: Add mouse test toggle
https://bugzilla.gnome.org/show_bug.cgi?id=677206
2012-08-20 19:21:00 +01:00
Florian Müllner
164d8b54a0 mouse: Add get_help_uri() implementation
https://bugzilla.gnome.org/show_bug.cgi?id=675471
2012-05-18 18:48:37 +02:00
Bastien Nocera
e98b32d369 mouse: Use newly implemented dispose 2011-03-16 13:41:00 +00:00
Rodrigo Moya
aaf6540236 mouse: Remove GConf usage in cc-mouse-panel.c 2010-10-20 15:59:16 +02:00