diff --git a/alluvion-gtk.pl b/alluvion-gtk.pl
index 37f3275..6eba60a 100755
--- a/alluvion-gtk.pl
+++ b/alluvion-gtk.pl
@@ -157,7 +157,6 @@ sub main {
# get top level objects
$window = $builder->get_object( 'window' );
- $preferences = $builder->get_object( 'preferences' );
$filechooser = $builder->get_object( 'filechooserdialog' );
$builder->connect_signals( undef );
@@ -581,9 +580,41 @@ ($$$$$$)
}
sub on_menu_edit_preferences_activate {
- $preferences->show; # not implemented
+ my $preferences = $builder->get_object( 'preferences' );
+
+ $builder->get_object( 'entry_timeout' )->set_text($settings{"timeout"});
+
+ if ($settings{"proxy_enabled"} eq 1) {
+ $builder->get_object( 'checkbutton_proxy' )->set_active(1);
+ } else {
+ $builder->get_object( 'checkbutton_proxy' )->set_active(0);
+ }
+
+ $builder->get_object( 'entry_proxy_addr' )->set_text($settings{"proxy_addr"});
+ $builder->get_object( 'entry_proxy_port' )->set_text($settings{"proxy_port"});
+
+ $preferences->run;
+ $preferences->hide;
}
+sub on_button_pref_ok_clicked {
+ $settings{"timeout"} = $builder->get_object( 'entry_timeout' )->get_text();
+
+ if ($builder->get_object( 'checkbutton_proxy' )->get_active() == TRUE) {
+ $settings{"proxy_enabled"} = 1;
+ } else {
+ $settings{"proxy_enabled"} = 0;
+ }
+
+ $settings{"proxy_addr"} = $builder->get_object( 'entry_proxy_addr' )->get_text();
+ $settings{"proxy_port"} = $builder->get_object( 'entry_proxy_port' )->get_text();
+}
+
+sub on_button_pref_cancel_clicked {
+ $builder->get_object( 'preferences' )->hide;
+}
+
+
sub on_about_clicked {
# launch about dialog
my $about = $builder->get_object( 'aboutdialog' );
@@ -640,6 +671,7 @@ sub on_combobox_subcategory_changed {
$subcategory_filter = $subcategory;
}
+
sub on_view_statusbar_toggled {
my $check = $builder->get_object( 'view_statusbar' );
my $statusbar = $builder->get_object( 'statusbar' );
diff --git a/data/alluvion.glade b/data/alluvion.glade
index da2a0c6..9b22997 100644
--- a/data/alluvion.glade
+++ b/data/alluvion.glade
@@ -422,7 +422,7 @@ for making this possible.
center-on-parent
True
alluvion_48.png
- dialog
+ utility
window
True
@@ -442,6 +442,7 @@ for making this possible.
True
True
True
+
False
@@ -456,6 +457,7 @@ for making this possible.
True
True
True
+
False
@@ -503,6 +505,7 @@ for making this possible.
-
+
True
True
●
+ True
False
False
True