# # # patch "lib/perl/ManageServerBookmarks.pm" # from [d5f02f11915c8ae331935b51bd41a18d5ac3297d] # to [eacb0eaa6f72ad25eb816f8efa1f4bc6ed15fc74] # # patch "lib/perl/Preferences.pm" # from [12979ceaa5fe5a1e10253697b302a58f9f850797] # to [2619ce40fb3b2ee5ef64064aba385f72b0b4de90] # # patch "lib/ui/mtn-browse.glade" # from [969d7bc6d90ed297737fa7c5fbf027a3c5200b34] # to [70f487fdd041004d3c2c0dca64b2428fd8b146e7] # # patch "mtn-browse" # from [639c401c334db456171039a883b861d01a229d7f] # to [9b7faacea38fe15d95baab4948eef4134b06dc9c] # ============================================================ --- lib/perl/ManageServerBookmarks.pm d5f02f11915c8ae331935b51bd41a18d5ac3297d +++ lib/perl/ManageServerBookmarks.pm eacb0eaa6f72ad25eb816f8efa1f4bc6ed15fc74 @@ -424,8 +424,7 @@ sub get_manage_server_bookmarks_window($ register_help_callbacks ($instance, {widget => undef, - help_ref => __("mtnb-xxx")}); -# TBD + help_ref => __("mtnb-gsc-menus")}); } return $instance; ============================================================ --- lib/perl/Preferences.pm 12979ceaa5fe5a1e10253697b302a58f9f850797 +++ lib/perl/Preferences.pm 2619ce40fb3b2ee5ef64064aba385f72b0b4de90 @@ -1799,6 +1799,7 @@ sub upgrade_preferences($) } if ($preferences->{version} == 10) { + $preferences->{remote_connections} = 0; $preferences->{server_bookmarks} = []; } @@ -1872,6 +1873,7 @@ sub initialise_preferences() find_files_containing => [], find_files_modified_by => [], find_text => []}, + remote_connections => 0, server_bookmarks => []); return \%preferences; ============================================================ --- lib/ui/mtn-browse.glade 969d7bc6d90ed297737fa7c5fbf027a3c5200b34 +++ lib/ui/mtn-browse.glade 70f487fdd041004d3c2c0dca64b2428fd8b146e7 @@ -3775,7 +3775,8 @@ ids selected for comparison True False - Compare the two selected files + Compare the two selected +revisions or files True GTK_RELIEF_NONE False ============================================================ --- mtn-browse 639c401c334db456171039a883b861d01a229d7f +++ mtn-browse 9b7faacea38fe15d95baab4948eef4134b06dc9c @@ -133,11 +133,6 @@ my $window_type = "main_window"; my $window_type = "main_window"; -# Whether Monotone can handle remote connections to servers (undefined for -# don't know). - -my $mtn_supports_remote_connections; - # The large logo used for the about dialog window. my $large_logo; @@ -352,7 +347,7 @@ sub view_button_clicked_cb($$); setup_mtn_object($mtn, $browser->{window}); $browser->{mtn} = $mtn; $browser->{connect_to_server_menutiem}->set_sensitive(FALSE) - if (! $mtn_supports_remote_connections); + if (! $user_preferences->{remote_connections}); Glib::Idle->add (sub { my $browser = $_[0]; @@ -1575,13 +1570,9 @@ sub manifest_browser_treeselection_chang { $browser->{file_being_viewed} = {short_name => $short_name, manifest_entry => $manifest_entry}; + $browser->{appbar}->clear_stack(); + &{$browser->{update_handler}}($browser, FILE_CHANGED); } - else - { - $browser->{file_being_viewed} = {}; - } - $browser->{appbar}->clear_stack(); - &{$browser->{update_handler}}($browser, FILE_CHANGED); } # @@ -1790,6 +1781,7 @@ sub get_browser_window(;$$$$$) "directory_up_button", "find_files_button", "show_line_numbers_togglebutton", + "annotate_button", "manifest_browser_treeview", "file_view_scrolledwindow", "file_name_value_label", @@ -2991,6 +2983,8 @@ sub update_browser_state($$) { $widget->set_sensitive(TRUE); } + $browser->{annotate_button}->set_sensitive(FALSE) + if (defined($browser->{mtn}->get_service_name())); enable_find_text($browser->{file_view_sv}, 1); } @@ -3384,6 +3378,7 @@ sub setup_mtn_object($$) my($mtn, $parent) = @_; + my $save_prefs; my $wm = WindowManager->instance(); # Deal with branch suspend certificate settings. @@ -3407,6 +3402,7 @@ sub setup_mtn_object($$) $wm->allow_input(sub { $dialog->run(); }); $dialog->destroy(); $user_preferences->{show_suspended} = 0; + $save_prefs = 1; eval { save_preferences($user_preferences); @@ -3426,20 +3422,37 @@ sub setup_mtn_object($$) } } - # Determine whether remote connections to servers are supported if we don't - # already know. + # Determine whether remote connections to servers are supported. - if (! defined($mtn_supports_remote_connections)) + if (($mtn->supports(MTN_REMOTE_CONNECTIONS) + && ! $user_preferences->{remote_connections}) + || (! $mtn->supports(MTN_REMOTE_CONNECTIONS) + && $user_preferences->{remote_connections})) { - if ($mtn->supports(MTN_REMOTE_CONNECTIONS)) + $user_preferences->{remote_connections} = + $mtn->supports(MTN_REMOTE_CONNECTIONS) ? 1 : 0; + $save_prefs = 1; + } + + # Save the user's preferences if they have been changed. + + if ($save_prefs) + { + eval { - $mtn_supports_remote_connections = 1; - } - else + save_preferences($user_preferences); + }; + if ($@) { - $mtn_supports_remote_connections = 0; -# TBD -$mtn_supports_remote_connections = 1; + chomp($@); + my $dialog = Gtk2::MessageDialog->new + (undef, + ["modal"], + "warning", + "close", + __("Your preferences could not be saved:\n") . $@); + $wm->allow_input(sub { $dialog->run(); }); + $dialog->destroy(); } } @@ -3652,6 +3665,7 @@ sub setup_sigchld_handler($) my $buffer; sysread($reader, $buffer, 1); &$handler(); - return 1; }); + return 1; + }); }