Tell about dialog who is its parent
[clawsker.git] / clawsker
index 9d09671d1c553053657365c8d48671d52b8ec763..db02b4219531b9a44cfc20613a0bee5690d2d3b1 100755 (executable)
--- a/clawsker
+++ b/clawsker
@@ -567,8 +567,8 @@ sub new_text_box_for_int($$$) {
         });
     set_widget_hint ($gentry, $$hash{$key}[DESC]);
     set_widget_sens ($gentry, $$hash{$key}[CMVER]);
-    $glabel->set_sensitive ($gentry->sensitive);
-    $gunits->set_sensitive ($gentry->sensitive) if ($gunits);
+    $glabel->set_sensitive ($gentry->get_sensitive);
+    $gunits->set_sensitive ($gentry->get_sensitive) if ($gunits);
     #
     return new_hbox_spaced_pack ($glabel, $gentry, $gunits) if ($gunits);
     return new_hbox_spaced_pack ($glabel, $gentry);
@@ -594,7 +594,7 @@ sub new_text_box_for_nchar($$$) {
         });
     set_widget_hint ($gentry, $$hash{$key}[DESC]);
     set_widget_sens ($gentry, $$hash{$key}[CMVER]);
-    $glabel->set_sensitive ($gentry->sensitive);
+    $glabel->set_sensitive ($gentry->get_sensitive);
     #
     return new_hbox_spaced_pack ($glabel, $gentry);
 }
@@ -617,7 +617,7 @@ sub new_color_button_for($$$) {
         });
     set_widget_hint ($button, $$hash{$key}[DESC]);
     set_widget_sens ($button, $$hash{$key}[CMVER]);
-    $glabel->set_sensitive ($button->sensitive);
+    $glabel->set_sensitive ($button->get_sensitive);
     #
     return new_hbox_spaced_pack ($button, $glabel);
 }
@@ -628,11 +628,11 @@ sub new_selection_box_for($$$) {
     my $label = $$hash{$key}[LABEL];
     #
     my $glabel = Gtk3::Label->new ($label);
-    my $combo = Gtk3::ComboBox->new_text;
+    my $combo = Gtk3::ComboBoxText->new;
     my @options = split (';', $$hash{$key}[TYPE]);
     foreach my $opt (@options) {
         my ($index, $textkey) = split ('=', $opt);
-        $combo->insert_text ($index, $xl::s{$textkey});
+        $combo->insert (-1, $index, $xl::s{$textkey});
     }
     $combo->signal_connect ('changed' => sub {
             my ($w, $e) = @_;
@@ -643,7 +643,7 @@ sub new_selection_box_for($$$) {
     $combo->set_active ($value);
     set_widget_hint ($combo, $$hash{$key}[DESC]);
     set_widget_sens ($combo, $$hash{$key}[CMVER]);
-    $glabel->set_sensitive ($combo->sensitive);
+    $glabel->set_sensitive ($combo->get_sensitive);
     #
     return new_hbox_spaced_pack ($glabel, $combo);
 }
@@ -2001,16 +2001,26 @@ sub new_winpos_subpage_misc() {
 sub new_winpos_page() {
     my $winbook = Gtk3::Notebook->new;
     $winbook->set_tab_pos ('right');
-    $winbook->append_page (new_winpos_subpage_main, _('Main'));
-    $winbook->append_page (new_winpos_subpage_msgs, _('Message'));
-    $winbook->append_page (new_winpos_subpage_sendrecv, _('Send/Receive'));
-    $winbook->append_page (new_winpos_subpage_fold, _('Folder'));
-    $winbook->append_page (new_winpos_subpage_addrbook, _('Addressbook'));
-    $winbook->append_page (new_winpos_subpage_accounts, _('Accounts'));
-    $winbook->append_page (new_winpos_subpage_filtering, _('Filtering'));
-    $winbook->append_page (new_winpos_subpage_useractions, _('User Actions'));
-    $winbook->append_page (new_winpos_subpage_prefs, _('Preferences'));
-    $winbook->append_page (new_winpos_subpage_misc, _('Other'));
+    $winbook->append_page (new_winpos_subpage_main,
+        Gtk3::Label->new (_('Main')));
+    $winbook->append_page (new_winpos_subpage_msgs,
+        Gtk3::Label->new (_('Message')));
+    $winbook->append_page (new_winpos_subpage_sendrecv,
+        Gtk3::Label->new (_('Send/Receive')));
+    $winbook->append_page (new_winpos_subpage_fold,
+        Gtk3::Label->new (_('Folder')));
+    $winbook->append_page (new_winpos_subpage_addrbook,
+        Gtk3::Label->new (_('Addressbook')));
+    $winbook->append_page (new_winpos_subpage_accounts,
+        Gtk3::Label->new (_('Accounts')));
+    $winbook->append_page (new_winpos_subpage_filtering,
+        Gtk3::Label->new (_('Filtering')));
+    $winbook->append_page (new_winpos_subpage_useractions,
+        Gtk3::Label->new (_('User Actions')));
+    $winbook->append_page (new_winpos_subpage_prefs,
+        Gtk3::Label->new (_('Preferences')));
+    $winbook->append_page (new_winpos_subpage_misc,
+        Gtk3::Label->new (_('Other')));
     return $winbook;
 }
 
@@ -2054,7 +2064,8 @@ sub new_accounts_page() {
         my $name = $ACPREFS{$_}{'account_name'};
         my $isdef = ($ACPREFS{$_}{'is_default'} eq '1');
         my $page = new_account_subpage ($_);
-        $accbook->append_page ($page, $isdef? '<b>' . $name . '</b>': $name);
+        $accbook->append_page ($page,
+            Gtk3::Label->new ($isdef? '<b>' . $name . '</b>': $name));
         if ($isdef) {
             my $label = $accbook->get_tab_label ($page);
             $label->set_use_markup (TRUE);
@@ -2257,7 +2268,7 @@ sub new_hotkeys_list {
             my ($col, $renderer, $model, $iter, $data) = @_;
             my $hkey = $model->get_value ($iter, C_HOTKEY);
             $hkey =~ s/\"//g;
-            my ($acckey, $accmod) = Gtk3::Accelerator->parse ($hkey);
+            my ($acckey, $accmod) = Gtk3::accelerator_parse ($hkey);
             $renderer->set_property ('accel-key' => $acckey);
             $renderer->set_property ('accel-mods' => $accmod);
             $renderer->set_property (
@@ -2714,15 +2725,24 @@ sub save_preferences {
 sub new_notebook {
     my $nb = Gtk3::Notebook->new;
     #
-    $nb->append_page (new_behaviour_page (), $xl::s{tab_behaviour});
-    $nb->append_page (new_colours_page (), $xl::s{tab_colours});
-    $nb->append_page (new_gui_page (), $xl::s{tab_gui});
-    $nb->append_page (new_other_page (), $xl::s{tab_other});
-    $nb->append_page (new_winpos_page (), $xl::s{tab_winpos});
-    $nb->append_page (new_accounts_page (), $xl::s{tab_accounts});
-    $nb->append_page (new_plugins_page (), $xl::s{tab_plugins});
-    $nb->append_page (new_hotkeys_page (), $xl::s{tab_hotkeys});
-    $nb->append_page (new_info_page (), $xl::s{tab_info});
+    $nb->append_page (new_behaviour_page (),
+        Gtk3::Label->new ($xl::s{tab_behaviour}));
+    $nb->append_page (new_colours_page (),
+        Gtk3::Label->new ($xl::s{tab_colours}));
+    $nb->append_page (new_gui_page (),
+        Gtk3::Label->new ($xl::s{tab_gui}));
+    $nb->append_page (new_other_page (),
+        Gtk3::Label->new ($xl::s{tab_other}));
+    $nb->append_page (new_winpos_page (),
+        Gtk3::Label->new ($xl::s{tab_winpos}));
+    $nb->append_page (new_accounts_page (),
+        Gtk3::Label->new ($xl::s{tab_accounts}));
+    $nb->append_page (new_plugins_page (),
+        Gtk3::Label->new ($xl::s{tab_plugins}));
+    $nb->append_page (new_hotkeys_page (),
+        Gtk3::Label->new ($xl::s{tab_hotkeys}));
+    $nb->append_page (new_info_page (),
+        Gtk3::Label->new ($xl::s{tab_info}));
 
     return $nb;
 }
@@ -2813,7 +2833,7 @@ sub new_button_box {
 }
 
 sub get_app_icons {
-    return @APPICONS if (@APPICONS);
+    return \@APPICONS if (@APPICONS);
     my @names;
     if (-d $DATADIR) { # installed
         my $dir = $DATADIR . '/icons/hicolor';
@@ -2830,7 +2850,7 @@ sub get_app_icons {
         $icon = Gtk3::Gdk::Pixbuf->new_from_file($_) if (-f $_);
         push @APPICONS, $icon if ($icon);
     }
-    return @APPICONS;
+    return \@APPICONS;
 }
 
 sub escape_key_handler {
@@ -2849,7 +2869,7 @@ exit unless init_hidden_preferences ();
 # create main GUI
 my $box = Gtk3::VBox->new (FALSE, 5);
 $box->set_border_width(3);
-my $about = new_about_dialog ();
+my $about = new_about_dialog ($main_window);
 $box->pack_start (new_notebook (), TRUE, TRUE, 0);
 $box->pack_end (new_button_box ($main_window, $about), FALSE, FALSE, 0);
 $main_window->signal_connect (delete_event => sub { exit_handler($main_window) });