Skip to content

Commit

Permalink
Implement option to invert scroll direction.
Browse files Browse the repository at this point in the history
  • Loading branch information
wojciech-graj committed Apr 5, 2023
1 parent fd86086 commit 86dfcaf
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 7 deletions.
20 changes: 18 additions & 2 deletions res/ui/ui.glade
Original file line number Diff line number Diff line change
Expand Up @@ -1672,6 +1672,22 @@
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="invert_scroll">
<property name="label" translatable="yes">Invert Scroll Direction</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="xalign">0</property>
<property name="draw-indicator">True</property>
<signal name="toggled" handler="on_setting_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
Expand Down Expand Up @@ -1728,7 +1744,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
<property name="position">4</property>
</packing>
</child>
<child>
Expand All @@ -1743,7 +1759,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
<property name="position">5</property>
</packing>
</child>
</object>
Expand Down
3 changes: 2 additions & 1 deletion src/ui/input.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include "gfx.h"
#include "satellite.h"
#include "search.h"
#include "setting.h"
#include "type.h"
#include "ui.h"

Expand Down Expand Up @@ -134,7 +135,7 @@ gboolean on_glarea_scroll_event(GtkWidget *widget, GdkEvent *event, gpointer use
(void)user_data;
GdkEventScroll *scroll = &event->scroll;

camera_zoom(&e_camera, scroll->delta_y * 0.2);
camera_zoom(&e_camera, scroll->delta_y * 0.2 * (gs_invert_scroll ? 1 : -1));

return TRUE;
}
13 changes: 9 additions & 4 deletions src/ui/setting.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ struct Setting {
gboolean *val;
};

struct Setting settings[3] = {
struct Setting settings[] = {
{
.id = "lighting",
.val = &gs_lighting,
Expand All @@ -38,11 +38,16 @@ struct Setting settings[3] = {
.id = "local_time",
.val = &gs_gmt,
},
{
.id = "invert_scroll",
.val = &gs_invert_scroll,
},
};

gboolean gs_gmt = FALSE;
gboolean gs_clouds = TRUE;
gboolean gs_lighting = TRUE;
gboolean gs_invert_scroll = FALSE;
enum ReferenceFrame gs_reference_frame = REFERENCE_FRAME_FIXED;

static GtkWindow *window_settings;
Expand Down Expand Up @@ -75,9 +80,9 @@ void on_setting_toggled(GtkToggleButton *togglebutton, gpointer user_data)
{
(void)user_data;
unsigned i;
for (i = 0; i < 3 && settings[i].button != togglebutton; i++)
for (i = 0; i < 4 && settings[i].button != togglebutton; i++)
;
*settings[i].val = !*settings[i].val;
*settings[i].val = gtk_toggle_button_get_active(togglebutton);
}

void on_fetch_data_clicked(GtkButton *button, gpointer user_data)
Expand Down Expand Up @@ -116,6 +121,6 @@ void setting_init(GtkBuilder *builder)
gtk_label_set_text(about, ABOUT_STRING);

unsigned i;
for (i = 0; i < 3; i++)
for (i = 0; i < 4; i++)
settings[i].button = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, settings[i].id));
}
1 change: 1 addition & 0 deletions src/ui/setting.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ enum ReferenceFrame {
extern gboolean gs_gmt;
extern gboolean gs_clouds;
extern gboolean gs_lighting;
extern gboolean gs_invert_scroll;
extern enum ReferenceFrame gs_reference_frame;

void setting_init(GtkBuilder *builder);
Expand Down

0 comments on commit 86dfcaf

Please sign in to comment.